From 55df40a03cd38348a488ec8336cf58237ce34a62 Mon Sep 17 00:00:00 2001 From: Amir Nathoo Date: Mon, 8 Sep 2025 23:02:33 -0700 Subject: [PATCH 1/2] publish demo --- .../dist/assets/index-42125c84.js | 176 --------------- .../dist/assets/index-643462ad.js | 210 ++++++++++++++++++ examples/realtime-video/dist/index.html | 2 +- 3 files changed, 211 insertions(+), 177 deletions(-) delete mode 100644 examples/realtime-video/dist/assets/index-42125c84.js create mode 100644 examples/realtime-video/dist/assets/index-643462ad.js diff --git a/examples/realtime-video/dist/assets/index-42125c84.js b/examples/realtime-video/dist/assets/index-42125c84.js deleted file mode 100644 index b8840edd0..000000000 --- a/examples/realtime-video/dist/assets/index-42125c84.js +++ /dev/null @@ -1,176 +0,0 @@ -var cv=Object.defineProperty;var uv=(et,tt,nt)=>tt in et?cv(et,tt,{enumerable:!0,configurable:!0,writable:!0,value:nt}):et[tt]=nt;var _r=(et,tt,nt)=>(uv(et,typeof tt!="symbol"?tt+"":tt,nt),nt);function _mergeNamespaces(et,tt){for(var nt=0;ntit[ot]})}}}return Object.freeze(Object.defineProperty(et,Symbol.toStringTag,{value:"Module"}))}(function(){const tt=document.createElement("link").relList;if(tt&&tt.supports&&tt.supports("modulepreload"))return;for(const ot of document.querySelectorAll('link[rel="modulepreload"]'))it(ot);new MutationObserver(ot=>{for(const Ut of ot)if(Ut.type==="childList")for(const Ft of Ut.addedNodes)Ft.tagName==="LINK"&&Ft.rel==="modulepreload"&&it(Ft)}).observe(document,{childList:!0,subtree:!0});function nt(ot){const Ut={};return ot.integrity&&(Ut.integrity=ot.integrity),ot.referrerPolicy&&(Ut.referrerPolicy=ot.referrerPolicy),ot.crossOrigin==="use-credentials"?Ut.credentials="include":ot.crossOrigin==="anonymous"?Ut.credentials="omit":Ut.credentials="same-origin",Ut}function it(ot){if(ot.ep)return;ot.ep=!0;const Ut=nt(ot);fetch(ot.href,Ut)}})();var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(et){return et&&et.__esModule&&Object.prototype.hasOwnProperty.call(et,"default")?et.default:et}var jsxRuntimeExports={},jsxRuntime={get exports(){return jsxRuntimeExports},set exports(et){jsxRuntimeExports=et}},reactJsxRuntime_production_min={},reactExports={},react={get exports(){return reactExports},set exports(et){reactExports=et}},react_production_min={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var l$3=Symbol.for("react.element"),n$2=Symbol.for("react.portal"),p$3=Symbol.for("react.fragment"),q$3=Symbol.for("react.strict_mode"),r$2=Symbol.for("react.profiler"),t$1=Symbol.for("react.provider"),u=Symbol.for("react.context"),v$2=Symbol.for("react.forward_ref"),w$1=Symbol.for("react.suspense"),x$2=Symbol.for("react.memo"),y$2=Symbol.for("react.lazy"),z$3=Symbol.iterator;function A$2(et){return et===null||typeof et!="object"?null:(et=z$3&&et[z$3]||et["@@iterator"],typeof et=="function"?et:null)}var B$2={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$1=Object.assign,D$1={};function E$2(et,tt,nt){this.props=et,this.context=tt,this.refs=D$1,this.updater=nt||B$2}E$2.prototype.isReactComponent={};E$2.prototype.setState=function(et,tt){if(typeof et!="object"&&typeof et!="function"&&et!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,et,tt,"setState")};E$2.prototype.forceUpdate=function(et){this.updater.enqueueForceUpdate(this,et,"forceUpdate")};function F$1(){}F$1.prototype=E$2.prototype;function G$2(et,tt,nt){this.props=et,this.context=tt,this.refs=D$1,this.updater=nt||B$2}var H$2=G$2.prototype=new F$1;H$2.constructor=G$2;C$1(H$2,E$2.prototype);H$2.isPureReactComponent=!0;var I$2=Array.isArray,J=Object.prototype.hasOwnProperty,K$2={current:null},L$2={key:!0,ref:!0,__self:!0,__source:!0};function M$2(et,tt,nt){var it,ot={},Ut=null,Ft=null;if(tt!=null)for(it in tt.ref!==void 0&&(Ft=tt.ref),tt.key!==void 0&&(Ut=""+tt.key),tt)J.call(tt,it)&&!L$2.hasOwnProperty(it)&&(ot[it]=tt[it]);var Qt=arguments.length-2;if(Qt===1)ot.children=nt;else if(1>>1,Vn=Sn[bn];if(0>>1;bnot(In,cn))Cnot(kn,In)?(Sn[bn]=kn,Sn[Cn]=cn,bn=Cn):(Sn[bn]=In,Sn[Zn]=cn,bn=Zn);else if(Cnot(kn,cn))Sn[bn]=kn,Sn[Cn]=cn,bn=Cn;else break e}}return fn}function ot(Sn,fn){var cn=Sn.sortIndex-fn.sortIndex;return cn!==0?cn:Sn.id-fn.id}if(typeof performance=="object"&&typeof performance.now=="function"){var Ut=performance;et.unstable_now=function(){return Ut.now()}}else{var Ft=Date,Qt=Ft.now();et.unstable_now=function(){return Ft.now()-Qt}}var Bt=[],Vt=[],Wt=1,Xt=null,Zt=3,Yt=!1,Mt=!1,Gt=!1,en=typeof setTimeout=="function"?setTimeout:null,tn=typeof clearTimeout=="function"?clearTimeout:null,ln=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function nn(Sn){for(var fn=nt(Vt);fn!==null;){if(fn.callback===null)it(Vt);else if(fn.startTime<=Sn)it(Vt),fn.sortIndex=fn.expirationTime,tt(Bt,fn);else break;fn=nt(Vt)}}function sn(Sn){if(Gt=!1,nn(Sn),!Mt)if(nt(Bt)!==null)Mt=!0,pn(Kt);else{var fn=nt(Vt);fn!==null&&Rn(sn,fn.startTime-Sn)}}function Kt(Sn,fn){Mt=!1,Gt&&(Gt=!1,tn(En),En=-1),Yt=!0;var cn=Zt;try{for(nn(fn),Xt=nt(Bt);Xt!==null&&(!(Xt.expirationTime>fn)||Sn&&!gn());){var bn=Xt.callback;if(typeof bn=="function"){Xt.callback=null,Zt=Xt.priorityLevel;var Vn=bn(Xt.expirationTime<=fn);fn=et.unstable_now(),typeof Vn=="function"?Xt.callback=Vn:Xt===nt(Bt)&&it(Bt),nn(fn)}else it(Bt);Xt=nt(Bt)}if(Xt!==null)var Mn=!0;else{var Zn=nt(Vt);Zn!==null&&Rn(sn,Zn.startTime-fn),Mn=!1}return Mn}finally{Xt=null,Zt=cn,Yt=!1}}var dn=!1,Qn=null,En=-1,an=5,rn=-1;function gn(){return!(et.unstable_now()-rnSn||125bn?(Sn.sortIndex=cn,tt(Vt,Sn),nt(Bt)===null&&Sn===nt(Vt)&&(Gt?(tn(En),En=-1):Gt=!0,Rn(sn,cn-bn))):(Sn.sortIndex=Vn,tt(Bt,Sn),Mt||Yt||(Mt=!0,pn(Kt))),Sn},et.unstable_shouldYield=gn,et.unstable_wrapCallback=function(Sn){var fn=Zt;return function(){var cn=Zt;Zt=fn;try{return Sn.apply(this,arguments)}finally{Zt=cn}}}})(scheduler_production_min);(function(et){et.exports=scheduler_production_min})(scheduler);/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var aa=reactExports,ca=schedulerExports;function p$1(et){for(var tt="https://reactjs.org/docs/error-decoder.html?invariant="+et,nt=1;nt"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,la={},ma={};function oa(et){return ja.call(ma,et)?!0:ja.call(la,et)?!1:ka.test(et)?ma[et]=!0:(la[et]=!0,!1)}function pa(et,tt,nt,it){if(nt!==null&&nt.type===0)return!1;switch(typeof tt){case"function":case"symbol":return!0;case"boolean":return it?!1:nt!==null?!nt.acceptsBooleans:(et=et.toLowerCase().slice(0,5),et!=="data-"&&et!=="aria-");default:return!1}}function qa(et,tt,nt,it){if(tt===null||typeof tt>"u"||pa(et,tt,nt,it))return!0;if(it)return!1;if(nt!==null)switch(nt.type){case 3:return!tt;case 4:return tt===!1;case 5:return isNaN(tt);case 6:return isNaN(tt)||1>tt}return!1}function v$1(et,tt,nt,it,ot,Ut,Ft){this.acceptsBooleans=tt===2||tt===3||tt===4,this.attributeName=it,this.attributeNamespace=ot,this.mustUseProperty=nt,this.propertyName=et,this.type=tt,this.sanitizeURL=Ut,this.removeEmptyString=Ft}var z$2={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(et){z$2[et]=new v$1(et,0,!1,et,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(et){var tt=et[0];z$2[tt]=new v$1(tt,1,!1,et[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(et){z$2[et]=new v$1(et,2,!1,et.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(et){z$2[et]=new v$1(et,2,!1,et,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(et){z$2[et]=new v$1(et,3,!1,et.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(et){z$2[et]=new v$1(et,3,!0,et,null,!1,!1)});["capture","download"].forEach(function(et){z$2[et]=new v$1(et,4,!1,et,null,!1,!1)});["cols","rows","size","span"].forEach(function(et){z$2[et]=new v$1(et,6,!1,et,null,!1,!1)});["rowSpan","start"].forEach(function(et){z$2[et]=new v$1(et,5,!1,et.toLowerCase(),null,!1,!1)});var ra=/[\-:]([a-z])/g;function sa(et){return et[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(et){var tt=et.replace(ra,sa);z$2[tt]=new v$1(tt,1,!1,et,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(et){var tt=et.replace(ra,sa);z$2[tt]=new v$1(tt,1,!1,et,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(et){var tt=et.replace(ra,sa);z$2[tt]=new v$1(tt,1,!1,et,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(et){z$2[et]=new v$1(et,1,!1,et.toLowerCase(),null,!1,!1)});z$2.xlinkHref=new v$1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(et){z$2[et]=new v$1(et,1,!1,et.toLowerCase(),null,!0,!0)});function ta(et,tt,nt,it){var ot=z$2.hasOwnProperty(tt)?z$2[tt]:null;(ot!==null?ot.type!==0:it||!(2Qt||ot[Ft]!==Ut[Qt]){var Bt=` -`+ot[Ft].replace(" at new "," at ");return et.displayName&&Bt.includes("")&&(Bt=Bt.replace("",et.displayName)),Bt}while(1<=Ft&&0<=Qt);break}}}finally{Na=!1,Error.prepareStackTrace=nt}return(et=et?et.displayName||et.name:"")?Ma(et):""}function Pa(et){switch(et.tag){case 5:return Ma(et.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return et=Oa(et.type,!1),et;case 11:return et=Oa(et.type.render,!1),et;case 1:return et=Oa(et.type,!0),et;default:return""}}function Qa(et){if(et==null)return null;if(typeof et=="function")return et.displayName||et.name||null;if(typeof et=="string")return et;switch(et){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof et=="object")switch(et.$$typeof){case Ca:return(et.displayName||"Context")+".Consumer";case Ba:return(et._context.displayName||"Context")+".Provider";case Da:var tt=et.render;return et=et.displayName,et||(et=tt.displayName||tt.name||"",et=et!==""?"ForwardRef("+et+")":"ForwardRef"),et;case Ga:return tt=et.displayName||null,tt!==null?tt:Qa(et.type)||"Memo";case Ha:tt=et._payload,et=et._init;try{return Qa(et(tt))}catch{}}return null}function Ra(et){var tt=et.type;switch(et.tag){case 24:return"Cache";case 9:return(tt.displayName||"Context")+".Consumer";case 10:return(tt._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return et=tt.render,et=et.displayName||et.name||"",tt.displayName||(et!==""?"ForwardRef("+et+")":"ForwardRef");case 7:return"Fragment";case 5:return tt;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(tt);case 8:return tt===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof tt=="function")return tt.displayName||tt.name||null;if(typeof tt=="string")return tt}return null}function Sa(et){switch(typeof et){case"boolean":case"number":case"string":case"undefined":return et;case"object":return et;default:return""}}function Ta(et){var tt=et.type;return(et=et.nodeName)&&et.toLowerCase()==="input"&&(tt==="checkbox"||tt==="radio")}function Ua(et){var tt=Ta(et)?"checked":"value",nt=Object.getOwnPropertyDescriptor(et.constructor.prototype,tt),it=""+et[tt];if(!et.hasOwnProperty(tt)&&typeof nt<"u"&&typeof nt.get=="function"&&typeof nt.set=="function"){var ot=nt.get,Ut=nt.set;return Object.defineProperty(et,tt,{configurable:!0,get:function(){return ot.call(this)},set:function(Ft){it=""+Ft,Ut.call(this,Ft)}}),Object.defineProperty(et,tt,{enumerable:nt.enumerable}),{getValue:function(){return it},setValue:function(Ft){it=""+Ft},stopTracking:function(){et._valueTracker=null,delete et[tt]}}}}function Va(et){et._valueTracker||(et._valueTracker=Ua(et))}function Wa(et){if(!et)return!1;var tt=et._valueTracker;if(!tt)return!0;var nt=tt.getValue(),it="";return et&&(it=Ta(et)?et.checked?"true":"false":et.value),et=it,et!==nt?(tt.setValue(et),!0):!1}function Xa(et){if(et=et||(typeof document<"u"?document:void 0),typeof et>"u")return null;try{return et.activeElement||et.body}catch{return et.body}}function Ya(et,tt){var nt=tt.checked;return A$1({},tt,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:nt??et._wrapperState.initialChecked})}function Za(et,tt){var nt=tt.defaultValue==null?"":tt.defaultValue,it=tt.checked!=null?tt.checked:tt.defaultChecked;nt=Sa(tt.value!=null?tt.value:nt),et._wrapperState={initialChecked:it,initialValue:nt,controlled:tt.type==="checkbox"||tt.type==="radio"?tt.checked!=null:tt.value!=null}}function ab(et,tt){tt=tt.checked,tt!=null&&ta(et,"checked",tt,!1)}function bb(et,tt){ab(et,tt);var nt=Sa(tt.value),it=tt.type;if(nt!=null)it==="number"?(nt===0&&et.value===""||et.value!=nt)&&(et.value=""+nt):et.value!==""+nt&&(et.value=""+nt);else if(it==="submit"||it==="reset"){et.removeAttribute("value");return}tt.hasOwnProperty("value")?cb(et,tt.type,nt):tt.hasOwnProperty("defaultValue")&&cb(et,tt.type,Sa(tt.defaultValue)),tt.checked==null&&tt.defaultChecked!=null&&(et.defaultChecked=!!tt.defaultChecked)}function db(et,tt,nt){if(tt.hasOwnProperty("value")||tt.hasOwnProperty("defaultValue")){var it=tt.type;if(!(it!=="submit"&&it!=="reset"||tt.value!==void 0&&tt.value!==null))return;tt=""+et._wrapperState.initialValue,nt||tt===et.value||(et.value=tt),et.defaultValue=tt}nt=et.name,nt!==""&&(et.name=""),et.defaultChecked=!!et._wrapperState.initialChecked,nt!==""&&(et.name=nt)}function cb(et,tt,nt){(tt!=="number"||Xa(et.ownerDocument)!==et)&&(nt==null?et.defaultValue=""+et._wrapperState.initialValue:et.defaultValue!==""+nt&&(et.defaultValue=""+nt))}var eb=Array.isArray;function fb(et,tt,nt,it){if(et=et.options,tt){tt={};for(var ot=0;ot"+tt.valueOf().toString()+"",tt=mb.firstChild;et.firstChild;)et.removeChild(et.firstChild);for(;tt.firstChild;)et.appendChild(tt.firstChild)}});function ob(et,tt){if(tt){var nt=et.firstChild;if(nt&&nt===et.lastChild&&nt.nodeType===3){nt.nodeValue=tt;return}}et.textContent=tt}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(et){qb.forEach(function(tt){tt=tt+et.charAt(0).toUpperCase()+et.substring(1),pb[tt]=pb[et]})});function rb(et,tt,nt){return tt==null||typeof tt=="boolean"||tt===""?"":nt||typeof tt!="number"||tt===0||pb.hasOwnProperty(et)&&pb[et]?(""+tt).trim():tt+"px"}function sb(et,tt){et=et.style;for(var nt in tt)if(tt.hasOwnProperty(nt)){var it=nt.indexOf("--")===0,ot=rb(nt,tt[nt],it);nt==="float"&&(nt="cssFloat"),it?et.setProperty(nt,ot):et[nt]=ot}}var tb=A$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(et,tt){if(tt){if(tb[et]&&(tt.children!=null||tt.dangerouslySetInnerHTML!=null))throw Error(p$1(137,et));if(tt.dangerouslySetInnerHTML!=null){if(tt.children!=null)throw Error(p$1(60));if(typeof tt.dangerouslySetInnerHTML!="object"||!("__html"in tt.dangerouslySetInnerHTML))throw Error(p$1(61))}if(tt.style!=null&&typeof tt.style!="object")throw Error(p$1(62))}}function vb(et,tt){if(et.indexOf("-")===-1)return typeof tt.is=="string";switch(et){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(et){return et=et.target||et.srcElement||window,et.correspondingUseElement&&(et=et.correspondingUseElement),et.nodeType===3?et.parentNode:et}var yb=null,zb=null,Ab=null;function Bb(et){if(et=Cb(et)){if(typeof yb!="function")throw Error(p$1(280));var tt=et.stateNode;tt&&(tt=Db(tt),yb(et.stateNode,et.type,tt))}}function Eb(et){zb?Ab?Ab.push(et):Ab=[et]:zb=et}function Fb(){if(zb){var et=zb,tt=Ab;if(Ab=zb=null,Bb(et),tt)for(et=0;et>>=0,et===0?32:31-(pc(et)/qc|0)|0}var rc=64,sc=4194304;function tc(et){switch(et&-et){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return et&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return et&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return et}}function uc(et,tt){var nt=et.pendingLanes;if(nt===0)return 0;var it=0,ot=et.suspendedLanes,Ut=et.pingedLanes,Ft=nt&268435455;if(Ft!==0){var Qt=Ft&~ot;Qt!==0?it=tc(Qt):(Ut&=Ft,Ut!==0&&(it=tc(Ut)))}else Ft=nt&~ot,Ft!==0?it=tc(Ft):Ut!==0&&(it=tc(Ut));if(it===0)return 0;if(tt!==0&&tt!==it&&!(tt&ot)&&(ot=it&-it,Ut=tt&-tt,ot>=Ut||ot===16&&(Ut&4194240)!==0))return tt;if(it&4&&(it|=nt&16),tt=et.entangledLanes,tt!==0)for(et=et.entanglements,tt&=it;0nt;nt++)tt.push(et);return tt}function Ac(et,tt,nt){et.pendingLanes|=tt,tt!==536870912&&(et.suspendedLanes=0,et.pingedLanes=0),et=et.eventTimes,tt=31-oc(tt),et[tt]=nt}function Bc(et,tt){var nt=et.pendingLanes&~tt;et.pendingLanes=tt,et.suspendedLanes=0,et.pingedLanes=0,et.expiredLanes&=tt,et.mutableReadLanes&=tt,et.entangledLanes&=tt,tt=et.entanglements;var it=et.eventTimes;for(et=et.expirationTimes;0=be$1),ee$1=String.fromCharCode(32),fe=!1;function ge$1(et,tt){switch(et){case"keyup":return $d.indexOf(tt.keyCode)!==-1;case"keydown":return tt.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he(et){return et=et.detail,typeof et=="object"&&"data"in et?et.data:null}var ie$1=!1;function je$1(et,tt){switch(et){case"compositionend":return he(tt);case"keypress":return tt.which!==32?null:(fe=!0,ee$1);case"textInput":return et=tt.data,et===ee$1&&fe?null:et;default:return null}}function ke$1(et,tt){if(ie$1)return et==="compositionend"||!ae$1&&ge$1(et,tt)?(et=nd(),md=ld=kd=null,ie$1=!1,et):null;switch(et){case"paste":return null;case"keypress":if(!(tt.ctrlKey||tt.altKey||tt.metaKey)||tt.ctrlKey&&tt.altKey){if(tt.char&&1=tt)return{node:nt,offset:tt-et};et=it}e:{for(;nt;){if(nt.nextSibling){nt=nt.nextSibling;break e}nt=nt.parentNode}nt=void 0}nt=Je$1(nt)}}function Le$1(et,tt){return et&&tt?et===tt?!0:et&&et.nodeType===3?!1:tt&&tt.nodeType===3?Le$1(et,tt.parentNode):"contains"in et?et.contains(tt):et.compareDocumentPosition?!!(et.compareDocumentPosition(tt)&16):!1:!1}function Me$1(){for(var et=window,tt=Xa();tt instanceof et.HTMLIFrameElement;){try{var nt=typeof tt.contentWindow.location.href=="string"}catch{nt=!1}if(nt)et=tt.contentWindow;else break;tt=Xa(et.document)}return tt}function Ne$1(et){var tt=et&&et.nodeName&&et.nodeName.toLowerCase();return tt&&(tt==="input"&&(et.type==="text"||et.type==="search"||et.type==="tel"||et.type==="url"||et.type==="password")||tt==="textarea"||et.contentEditable==="true")}function Oe$2(et){var tt=Me$1(),nt=et.focusedElem,it=et.selectionRange;if(tt!==nt&&nt&&nt.ownerDocument&&Le$1(nt.ownerDocument.documentElement,nt)){if(it!==null&&Ne$1(nt)){if(tt=it.start,et=it.end,et===void 0&&(et=tt),"selectionStart"in nt)nt.selectionStart=tt,nt.selectionEnd=Math.min(et,nt.value.length);else if(et=(tt=nt.ownerDocument||document)&&tt.defaultView||window,et.getSelection){et=et.getSelection();var ot=nt.textContent.length,Ut=Math.min(it.start,ot);it=it.end===void 0?Ut:Math.min(it.end,ot),!et.extend&&Ut>it&&(ot=it,it=Ut,Ut=ot),ot=Ke$2(nt,Ut);var Ft=Ke$2(nt,it);ot&&Ft&&(et.rangeCount!==1||et.anchorNode!==ot.node||et.anchorOffset!==ot.offset||et.focusNode!==Ft.node||et.focusOffset!==Ft.offset)&&(tt=tt.createRange(),tt.setStart(ot.node,ot.offset),et.removeAllRanges(),Ut>it?(et.addRange(tt),et.extend(Ft.node,Ft.offset)):(tt.setEnd(Ft.node,Ft.offset),et.addRange(tt)))}}for(tt=[],et=nt;et=et.parentNode;)et.nodeType===1&&tt.push({element:et,left:et.scrollLeft,top:et.scrollTop});for(typeof nt.focus=="function"&&nt.focus(),nt=0;nt=document.documentMode,Qe$1=null,Re$1=null,Se$1=null,Te$1=!1;function Ue$1(et,tt,nt){var it=nt.window===nt?nt.document:nt.nodeType===9?nt:nt.ownerDocument;Te$1||Qe$1==null||Qe$1!==Xa(it)||(it=Qe$1,"selectionStart"in it&&Ne$1(it)?it={start:it.selectionStart,end:it.selectionEnd}:(it=(it.ownerDocument&&it.ownerDocument.defaultView||window).getSelection(),it={anchorNode:it.anchorNode,anchorOffset:it.anchorOffset,focusNode:it.focusNode,focusOffset:it.focusOffset}),Se$1&&Ie$1(Se$1,it)||(Se$1=it,it=oe$1(Re$1,"onSelect"),0Tf||(et.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G$1(et,tt){Tf++,Sf[Tf]=et.current,et.current=tt}var Vf={},H$1=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(et,tt){var nt=et.type.contextTypes;if(!nt)return Vf;var it=et.stateNode;if(it&&it.__reactInternalMemoizedUnmaskedChildContext===tt)return it.__reactInternalMemoizedMaskedChildContext;var ot={},Ut;for(Ut in nt)ot[Ut]=tt[Ut];return it&&(et=et.stateNode,et.__reactInternalMemoizedUnmaskedChildContext=tt,et.__reactInternalMemoizedMaskedChildContext=ot),ot}function Zf(et){return et=et.childContextTypes,et!=null}function $f(){E$1(Wf),E$1(H$1)}function ag(et,tt,nt){if(H$1.current!==Vf)throw Error(p$1(168));G$1(H$1,tt),G$1(Wf,nt)}function bg(et,tt,nt){var it=et.stateNode;if(tt=tt.childContextTypes,typeof it.getChildContext!="function")return nt;it=it.getChildContext();for(var ot in it)if(!(ot in tt))throw Error(p$1(108,Ra(et)||"Unknown",ot));return A$1({},nt,it)}function cg(et){return et=(et=et.stateNode)&&et.__reactInternalMemoizedMergedChildContext||Vf,Xf=H$1.current,G$1(H$1,et),G$1(Wf,Wf.current),!0}function dg(et,tt,nt){var it=et.stateNode;if(!it)throw Error(p$1(169));nt?(et=bg(et,tt,Xf),it.__reactInternalMemoizedMergedChildContext=et,E$1(Wf),E$1(H$1),G$1(H$1,et)):E$1(Wf),G$1(Wf,nt)}var eg=null,fg=!1,gg=!1;function hg(et){eg===null?eg=[et]:eg.push(et)}function ig(et){fg=!0,hg(et)}function jg(){if(!gg&&eg!==null){gg=!0;var et=0,tt=C;try{var nt=eg;for(C=1;et>=Ft,ot-=Ft,rg=1<<32-oc(tt)+ot|nt<En?(an=Qn,Qn=null):an=Qn.sibling;var rn=Zt(tn,Qn,nn[En],sn);if(rn===null){Qn===null&&(Qn=an);break}et&&Qn&&rn.alternate===null&&tt(tn,Qn),ln=Ut(rn,ln,En),dn===null?Kt=rn:dn.sibling=rn,dn=rn,Qn=an}if(En===nn.length)return nt(tn,Qn),I$1&&tg(tn,En),Kt;if(Qn===null){for(;EnEn?(an=Qn,Qn=null):an=Qn.sibling;var gn=Zt(tn,Qn,rn.value,sn);if(gn===null){Qn===null&&(Qn=an);break}et&&Qn&&gn.alternate===null&&tt(tn,Qn),ln=Ut(gn,ln,En),dn===null?Kt=gn:dn.sibling=gn,dn=gn,Qn=an}if(rn.done)return nt(tn,Qn),I$1&&tg(tn,En),Kt;if(Qn===null){for(;!rn.done;En++,rn=nn.next())rn=Xt(tn,rn.value,sn),rn!==null&&(ln=Ut(rn,ln,En),dn===null?Kt=rn:dn.sibling=rn,dn=rn);return I$1&&tg(tn,En),Kt}for(Qn=it(tn,Qn);!rn.done;En++,rn=nn.next())rn=Yt(Qn,tn,En,rn.value,sn),rn!==null&&(et&&rn.alternate!==null&&Qn.delete(rn.key===null?En:rn.key),ln=Ut(rn,ln,En),dn===null?Kt=rn:dn.sibling=rn,dn=rn);return et&&Qn.forEach(function(un){return tt(tn,un)}),I$1&&tg(tn,En),Kt}function en(tn,ln,nn,sn){if(typeof nn=="object"&&nn!==null&&nn.type===ya&&nn.key===null&&(nn=nn.props.children),typeof nn=="object"&&nn!==null){switch(nn.$$typeof){case va:e:{for(var Kt=nn.key,dn=ln;dn!==null;){if(dn.key===Kt){if(Kt=nn.type,Kt===ya){if(dn.tag===7){nt(tn,dn.sibling),ln=ot(dn,nn.props.children),ln.return=tn,tn=ln;break e}}else if(dn.elementType===Kt||typeof Kt=="object"&&Kt!==null&&Kt.$$typeof===Ha&&uh(Kt)===dn.type){nt(tn,dn.sibling),ln=ot(dn,nn.props),ln.ref=sh(tn,dn,nn),ln.return=tn,tn=ln;break e}nt(tn,dn);break}else tt(tn,dn);dn=dn.sibling}nn.type===ya?(ln=Ah(nn.props.children,tn.mode,sn,nn.key),ln.return=tn,tn=ln):(sn=yh(nn.type,nn.key,nn.props,null,tn.mode,sn),sn.ref=sh(tn,ln,nn),sn.return=tn,tn=sn)}return Ft(tn);case wa:e:{for(dn=nn.key;ln!==null;){if(ln.key===dn)if(ln.tag===4&&ln.stateNode.containerInfo===nn.containerInfo&&ln.stateNode.implementation===nn.implementation){nt(tn,ln.sibling),ln=ot(ln,nn.children||[]),ln.return=tn,tn=ln;break e}else{nt(tn,ln);break}else tt(tn,ln);ln=ln.sibling}ln=zh(nn,tn.mode,sn),ln.return=tn,tn=ln}return Ft(tn);case Ha:return dn=nn._init,en(tn,ln,dn(nn._payload),sn)}if(eb(nn))return Mt(tn,ln,nn,sn);if(Ka(nn))return Gt(tn,ln,nn,sn);th(tn,nn)}return typeof nn=="string"&&nn!==""||typeof nn=="number"?(nn=""+nn,ln!==null&&ln.tag===6?(nt(tn,ln.sibling),ln=ot(ln,nn),ln.return=tn,tn=ln):(nt(tn,ln),ln=xh(nn,tn.mode,sn),ln.return=tn,tn=ln),Ft(tn)):nt(tn,ln)}return en}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(et){if(et===Dh)throw Error(p$1(174));return et}function Ih(et,tt){switch(G$1(Gh,tt),G$1(Fh,et),G$1(Eh,Dh),et=tt.nodeType,et){case 9:case 11:tt=(tt=tt.documentElement)?tt.namespaceURI:lb(null,"");break;default:et=et===8?tt.parentNode:tt,tt=et.namespaceURI||null,et=et.tagName,tt=lb(tt,et)}E$1(Eh),G$1(Eh,tt)}function Jh(){E$1(Eh),E$1(Fh),E$1(Gh)}function Kh(et){Hh(Gh.current);var tt=Hh(Eh.current),nt=lb(tt,et.type);tt!==nt&&(G$1(Fh,et),G$1(Eh,nt))}function Lh(et){Fh.current===et&&(E$1(Eh),E$1(Fh))}var M$1=Uf(0);function Mh(et){for(var tt=et;tt!==null;){if(tt.tag===13){var nt=tt.memoizedState;if(nt!==null&&(nt=nt.dehydrated,nt===null||nt.data==="$?"||nt.data==="$!"))return tt}else if(tt.tag===19&&tt.memoizedProps.revealOrder!==void 0){if(tt.flags&128)return tt}else if(tt.child!==null){tt.child.return=tt,tt=tt.child;continue}if(tt===et)break;for(;tt.sibling===null;){if(tt.return===null||tt.return===et)return null;tt=tt.return}tt.sibling.return=tt.return,tt=tt.sibling}return null}var Nh=[];function Oh(){for(var et=0;etnt?nt:4,et(!0);var it=Qh.transition;Qh.transition={};try{et(!1),tt()}finally{C=nt,Qh.transition=it}}function Fi(){return di().memoizedState}function Gi(et,tt,nt){var it=lh(et);if(nt={lane:it,action:nt,hasEagerState:!1,eagerState:null,next:null},Hi(et))Ii(tt,nt);else if(nt=Yg(et,tt,nt,it),nt!==null){var ot=L$1();mh(nt,et,it,ot),Ji(nt,tt,it)}}function ri(et,tt,nt){var it=lh(et),ot={lane:it,action:nt,hasEagerState:!1,eagerState:null,next:null};if(Hi(et))Ii(tt,ot);else{var Ut=et.alternate;if(et.lanes===0&&(Ut===null||Ut.lanes===0)&&(Ut=tt.lastRenderedReducer,Ut!==null))try{var Ft=tt.lastRenderedState,Qt=Ut(Ft,nt);if(ot.hasEagerState=!0,ot.eagerState=Qt,He$1(Qt,Ft)){var Bt=tt.interleaved;Bt===null?(ot.next=ot,Xg(tt)):(ot.next=Bt.next,Bt.next=ot),tt.interleaved=ot;return}}catch{}finally{}nt=Yg(et,tt,ot,it),nt!==null&&(ot=L$1(),mh(nt,et,it,ot),Ji(nt,tt,it))}}function Hi(et){var tt=et.alternate;return et===N$1||tt!==null&&tt===N$1}function Ii(et,tt){Th=Sh=!0;var nt=et.pending;nt===null?tt.next=tt:(tt.next=nt.next,nt.next=tt),et.pending=tt}function Ji(et,tt,nt){if(nt&4194240){var it=tt.lanes;it&=et.pendingLanes,nt|=it,tt.lanes=nt,Cc(et,nt)}}var ai={readContext:Vg,useCallback:Q$1,useContext:Q$1,useEffect:Q$1,useImperativeHandle:Q$1,useInsertionEffect:Q$1,useLayoutEffect:Q$1,useMemo:Q$1,useReducer:Q$1,useRef:Q$1,useState:Q$1,useDebugValue:Q$1,useDeferredValue:Q$1,useTransition:Q$1,useMutableSource:Q$1,useSyncExternalStore:Q$1,useId:Q$1,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(et,tt){return ci().memoizedState=[et,tt===void 0?null:tt],et},useContext:Vg,useEffect:vi,useImperativeHandle:function(et,tt,nt){return nt=nt!=null?nt.concat([et]):null,ti(4194308,4,yi.bind(null,tt,et),nt)},useLayoutEffect:function(et,tt){return ti(4194308,4,et,tt)},useInsertionEffect:function(et,tt){return ti(4,2,et,tt)},useMemo:function(et,tt){var nt=ci();return tt=tt===void 0?null:tt,et=et(),nt.memoizedState=[et,tt],et},useReducer:function(et,tt,nt){var it=ci();return tt=nt!==void 0?nt(tt):tt,it.memoizedState=it.baseState=tt,et={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:et,lastRenderedState:tt},it.queue=et,et=et.dispatch=Gi.bind(null,N$1,et),[it.memoizedState,et]},useRef:function(et){var tt=ci();return et={current:et},tt.memoizedState=et},useState:qi,useDebugValue:Ai,useDeferredValue:function(et){return ci().memoizedState=et},useTransition:function(){var et=qi(!1),tt=et[0];return et=Ei.bind(null,et[1]),ci().memoizedState=et,[tt,et]},useMutableSource:function(){},useSyncExternalStore:function(et,tt,nt){var it=N$1,ot=ci();if(I$1){if(nt===void 0)throw Error(p$1(407));nt=nt()}else{if(nt=tt(),R$1===null)throw Error(p$1(349));Rh&30||ni(it,tt,nt)}ot.memoizedState=nt;var Ut={value:nt,getSnapshot:tt};return ot.queue=Ut,vi(ki.bind(null,it,Ut,et),[et]),it.flags|=2048,li(9,mi.bind(null,it,Ut,nt,tt),void 0,null),nt},useId:function(){var et=ci(),tt=R$1.identifierPrefix;if(I$1){var nt=sg,it=rg;nt=(it&~(1<<32-oc(it)-1)).toString(32)+nt,tt=":"+tt+"R"+nt,nt=Uh++,0<\/script>",et=et.removeChild(et.firstChild)):typeof it.is=="string"?et=Ft.createElement(nt,{is:it.is}):(et=Ft.createElement(nt),nt==="select"&&(Ft=et,it.multiple?Ft.multiple=!0:it.size&&(Ft.size=it.size))):et=Ft.createElementNS(et,nt),et[Of]=tt,et[Pf]=it,Aj(et,tt,!1,!1),tt.stateNode=et;e:{switch(Ft=vb(nt,it),nt){case"dialog":D("cancel",et),D("close",et),ot=it;break;case"iframe":case"object":case"embed":D("load",et),ot=it;break;case"video":case"audio":for(ot=0;otHj&&(tt.flags|=128,it=!0,Ej(Ut,!1),tt.lanes=4194304)}else{if(!it)if(et=Mh(Ft),et!==null){if(tt.flags|=128,it=!0,nt=et.updateQueue,nt!==null&&(tt.updateQueue=nt,tt.flags|=4),Ej(Ut,!0),Ut.tail===null&&Ut.tailMode==="hidden"&&!Ft.alternate&&!I$1)return S$1(tt),null}else 2*B$1()-Ut.renderingStartTime>Hj&&nt!==1073741824&&(tt.flags|=128,it=!0,Ej(Ut,!1),tt.lanes=4194304);Ut.isBackwards?(Ft.sibling=tt.child,tt.child=Ft):(nt=Ut.last,nt!==null?nt.sibling=Ft:tt.child=Ft,Ut.last=Ft)}return Ut.tail!==null?(tt=Ut.tail,Ut.rendering=tt,Ut.tail=tt.sibling,Ut.renderingStartTime=B$1(),tt.sibling=null,nt=M$1.current,G$1(M$1,it?nt&1|2:nt&1),tt):(S$1(tt),null);case 22:case 23:return Ij(),it=tt.memoizedState!==null,et!==null&&et.memoizedState!==null!==it&&(tt.flags|=8192),it&&tt.mode&1?gj&1073741824&&(S$1(tt),tt.subtreeFlags&6&&(tt.flags|=8192)):S$1(tt),null;case 24:return null;case 25:return null}throw Error(p$1(156,tt.tag))}function Jj(et,tt){switch(wg(tt),tt.tag){case 1:return Zf(tt.type)&&$f(),et=tt.flags,et&65536?(tt.flags=et&-65537|128,tt):null;case 3:return Jh(),E$1(Wf),E$1(H$1),Oh(),et=tt.flags,et&65536&&!(et&128)?(tt.flags=et&-65537|128,tt):null;case 5:return Lh(tt),null;case 13:if(E$1(M$1),et=tt.memoizedState,et!==null&&et.dehydrated!==null){if(tt.alternate===null)throw Error(p$1(340));Ig()}return et=tt.flags,et&65536?(tt.flags=et&-65537|128,tt):null;case 19:return E$1(M$1),null;case 4:return Jh(),null;case 10:return Rg(tt.type._context),null;case 22:case 23:return Ij(),null;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=typeof WeakSet=="function"?WeakSet:Set,V$1=null;function Mj(et,tt){var nt=et.ref;if(nt!==null)if(typeof nt=="function")try{nt(null)}catch(it){W$1(et,tt,it)}else nt.current=null}function Nj(et,tt,nt){try{nt()}catch(it){W$1(et,tt,it)}}var Oj=!1;function Pj(et,tt){if(Cf=dd,et=Me$1(),Ne$1(et)){if("selectionStart"in et)var nt={start:et.selectionStart,end:et.selectionEnd};else e:{nt=(nt=et.ownerDocument)&&nt.defaultView||window;var it=nt.getSelection&&nt.getSelection();if(it&&it.rangeCount!==0){nt=it.anchorNode;var ot=it.anchorOffset,Ut=it.focusNode;it=it.focusOffset;try{nt.nodeType,Ut.nodeType}catch{nt=null;break e}var Ft=0,Qt=-1,Bt=-1,Vt=0,Wt=0,Xt=et,Zt=null;t:for(;;){for(var Yt;Xt!==nt||ot!==0&&Xt.nodeType!==3||(Qt=Ft+ot),Xt!==Ut||it!==0&&Xt.nodeType!==3||(Bt=Ft+it),Xt.nodeType===3&&(Ft+=Xt.nodeValue.length),(Yt=Xt.firstChild)!==null;)Zt=Xt,Xt=Yt;for(;;){if(Xt===et)break t;if(Zt===nt&&++Vt===ot&&(Qt=Ft),Zt===Ut&&++Wt===it&&(Bt=Ft),(Yt=Xt.nextSibling)!==null)break;Xt=Zt,Zt=Xt.parentNode}Xt=Yt}nt=Qt===-1||Bt===-1?null:{start:Qt,end:Bt}}else nt=null}nt=nt||{start:0,end:0}}else nt=null;for(Df={focusedElem:et,selectionRange:nt},dd=!1,V$1=tt;V$1!==null;)if(tt=V$1,et=tt.child,(tt.subtreeFlags&1028)!==0&&et!==null)et.return=tt,V$1=et;else for(;V$1!==null;){tt=V$1;try{var Mt=tt.alternate;if(tt.flags&1024)switch(tt.tag){case 0:case 11:case 15:break;case 1:if(Mt!==null){var Gt=Mt.memoizedProps,en=Mt.memoizedState,tn=tt.stateNode,ln=tn.getSnapshotBeforeUpdate(tt.elementType===tt.type?Gt:Lg(tt.type,Gt),en);tn.__reactInternalSnapshotBeforeUpdate=ln}break;case 3:var nn=tt.stateNode.containerInfo;nn.nodeType===1?nn.textContent="":nn.nodeType===9&&nn.documentElement&&nn.removeChild(nn.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$1(163))}}catch(sn){W$1(tt,tt.return,sn)}if(et=tt.sibling,et!==null){et.return=tt.return,V$1=et;break}V$1=tt.return}return Mt=Oj,Oj=!1,Mt}function Qj(et,tt,nt){var it=tt.updateQueue;if(it=it!==null?it.lastEffect:null,it!==null){var ot=it=it.next;do{if((ot.tag&et)===et){var Ut=ot.destroy;ot.destroy=void 0,Ut!==void 0&&Nj(tt,nt,Ut)}ot=ot.next}while(ot!==it)}}function Rj(et,tt){if(tt=tt.updateQueue,tt=tt!==null?tt.lastEffect:null,tt!==null){var nt=tt=tt.next;do{if((nt.tag&et)===et){var it=nt.create;nt.destroy=it()}nt=nt.next}while(nt!==tt)}}function Sj(et){var tt=et.ref;if(tt!==null){var nt=et.stateNode;switch(et.tag){case 5:et=nt;break;default:et=nt}typeof tt=="function"?tt(et):tt.current=et}}function Tj(et){var tt=et.alternate;tt!==null&&(et.alternate=null,Tj(tt)),et.child=null,et.deletions=null,et.sibling=null,et.tag===5&&(tt=et.stateNode,tt!==null&&(delete tt[Of],delete tt[Pf],delete tt[of],delete tt[Qf],delete tt[Rf])),et.stateNode=null,et.return=null,et.dependencies=null,et.memoizedProps=null,et.memoizedState=null,et.pendingProps=null,et.stateNode=null,et.updateQueue=null}function Uj(et){return et.tag===5||et.tag===3||et.tag===4}function Vj(et){e:for(;;){for(;et.sibling===null;){if(et.return===null||Uj(et.return))return null;et=et.return}for(et.sibling.return=et.return,et=et.sibling;et.tag!==5&&et.tag!==6&&et.tag!==18;){if(et.flags&2||et.child===null||et.tag===4)continue e;et.child.return=et,et=et.child}if(!(et.flags&2))return et.stateNode}}function Wj(et,tt,nt){var it=et.tag;if(it===5||it===6)et=et.stateNode,tt?nt.nodeType===8?nt.parentNode.insertBefore(et,tt):nt.insertBefore(et,tt):(nt.nodeType===8?(tt=nt.parentNode,tt.insertBefore(et,nt)):(tt=nt,tt.appendChild(et)),nt=nt._reactRootContainer,nt!=null||tt.onclick!==null||(tt.onclick=Bf));else if(it!==4&&(et=et.child,et!==null))for(Wj(et,tt,nt),et=et.sibling;et!==null;)Wj(et,tt,nt),et=et.sibling}function Xj(et,tt,nt){var it=et.tag;if(it===5||it===6)et=et.stateNode,tt?nt.insertBefore(et,tt):nt.appendChild(et);else if(it!==4&&(et=et.child,et!==null))for(Xj(et,tt,nt),et=et.sibling;et!==null;)Xj(et,tt,nt),et=et.sibling}var X$1=null,Yj=!1;function Zj(et,tt,nt){for(nt=nt.child;nt!==null;)ak(et,tt,nt),nt=nt.sibling}function ak(et,tt,nt){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,nt)}catch{}switch(nt.tag){case 5:U||Mj(nt,tt);case 6:var it=X$1,ot=Yj;X$1=null,Zj(et,tt,nt),X$1=it,Yj=ot,X$1!==null&&(Yj?(et=X$1,nt=nt.stateNode,et.nodeType===8?et.parentNode.removeChild(nt):et.removeChild(nt)):X$1.removeChild(nt.stateNode));break;case 18:X$1!==null&&(Yj?(et=X$1,nt=nt.stateNode,et.nodeType===8?Kf(et.parentNode,nt):et.nodeType===1&&Kf(et,nt),bd(et)):Kf(X$1,nt.stateNode));break;case 4:it=X$1,ot=Yj,X$1=nt.stateNode.containerInfo,Yj=!0,Zj(et,tt,nt),X$1=it,Yj=ot;break;case 0:case 11:case 14:case 15:if(!U&&(it=nt.updateQueue,it!==null&&(it=it.lastEffect,it!==null))){ot=it=it.next;do{var Ut=ot,Ft=Ut.destroy;Ut=Ut.tag,Ft!==void 0&&(Ut&2||Ut&4)&&Nj(nt,tt,Ft),ot=ot.next}while(ot!==it)}Zj(et,tt,nt);break;case 1:if(!U&&(Mj(nt,tt),it=nt.stateNode,typeof it.componentWillUnmount=="function"))try{it.props=nt.memoizedProps,it.state=nt.memoizedState,it.componentWillUnmount()}catch(Qt){W$1(nt,tt,Qt)}Zj(et,tt,nt);break;case 21:Zj(et,tt,nt);break;case 22:nt.mode&1?(U=(it=U)||nt.memoizedState!==null,Zj(et,tt,nt),U=it):Zj(et,tt,nt);break;default:Zj(et,tt,nt)}}function bk(et){var tt=et.updateQueue;if(tt!==null){et.updateQueue=null;var nt=et.stateNode;nt===null&&(nt=et.stateNode=new Lj),tt.forEach(function(it){var ot=ck.bind(null,et,it);nt.has(it)||(nt.add(it),it.then(ot,ot))})}}function dk(et,tt){var nt=tt.deletions;if(nt!==null)for(var it=0;itot&&(ot=Ft),it&=~Ut}if(it=ot,it=B$1()-it,it=(120>it?120:480>it?480:1080>it?1080:1920>it?1920:3e3>it?3e3:4320>it?4320:1960*mk(it/1960))-it,10et?16:et,xk===null)var it=!1;else{if(et=xk,xk=null,yk=0,K$1&6)throw Error(p$1(331));var ot=K$1;for(K$1|=4,V$1=et.current;V$1!==null;){var Ut=V$1,Ft=Ut.child;if(V$1.flags&16){var Qt=Ut.deletions;if(Qt!==null){for(var Bt=0;BtB$1()-gk?Lk(et,0):sk|=nt),Ek(et,tt)}function Zk(et,tt){tt===0&&(et.mode&1?(tt=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):tt=1);var nt=L$1();et=Zg(et,tt),et!==null&&(Ac(et,tt,nt),Ek(et,nt))}function vj(et){var tt=et.memoizedState,nt=0;tt!==null&&(nt=tt.retryLane),Zk(et,nt)}function ck(et,tt){var nt=0;switch(et.tag){case 13:var it=et.stateNode,ot=et.memoizedState;ot!==null&&(nt=ot.retryLane);break;case 19:it=et.stateNode;break;default:throw Error(p$1(314))}it!==null&&it.delete(tt),Zk(et,nt)}var Wk;Wk=function(et,tt,nt){if(et!==null)if(et.memoizedProps!==tt.pendingProps||Wf.current)Ug=!0;else{if(!(et.lanes&nt)&&!(tt.flags&128))return Ug=!1,zj(et,tt,nt);Ug=!!(et.flags&131072)}else Ug=!1,I$1&&tt.flags&1048576&&ug(tt,ng,tt.index);switch(tt.lanes=0,tt.tag){case 2:var it=tt.type;jj(et,tt),et=tt.pendingProps;var ot=Yf(tt,H$1.current);Tg(tt,nt),ot=Xh(null,tt,it,et,ot,nt);var Ut=bi();return tt.flags|=1,typeof ot=="object"&&ot!==null&&typeof ot.render=="function"&&ot.$$typeof===void 0?(tt.tag=1,tt.memoizedState=null,tt.updateQueue=null,Zf(it)?(Ut=!0,cg(tt)):Ut=!1,tt.memoizedState=ot.state!==null&&ot.state!==void 0?ot.state:null,ah(tt),ot.updater=nh,tt.stateNode=ot,ot._reactInternals=tt,rh(tt,it,et,nt),tt=kj(null,tt,it,!0,Ut,nt)):(tt.tag=0,I$1&&Ut&&vg(tt),Yi(null,tt,ot,nt),tt=tt.child),tt;case 16:it=tt.elementType;e:{switch(jj(et,tt),et=tt.pendingProps,ot=it._init,it=ot(it._payload),tt.type=it,ot=tt.tag=$k(it),et=Lg(it,et),ot){case 0:tt=dj(null,tt,it,et,nt);break e;case 1:tt=ij(null,tt,it,et,nt);break e;case 11:tt=Zi(null,tt,it,et,nt);break e;case 14:tt=aj(null,tt,it,Lg(it.type,et),nt);break e}throw Error(p$1(306,it,""))}return tt;case 0:return it=tt.type,ot=tt.pendingProps,ot=tt.elementType===it?ot:Lg(it,ot),dj(et,tt,it,ot,nt);case 1:return it=tt.type,ot=tt.pendingProps,ot=tt.elementType===it?ot:Lg(it,ot),ij(et,tt,it,ot,nt);case 3:e:{if(lj(tt),et===null)throw Error(p$1(387));it=tt.pendingProps,Ut=tt.memoizedState,ot=Ut.element,bh(et,tt),gh(tt,it,null,nt);var Ft=tt.memoizedState;if(it=Ft.element,Ut.isDehydrated)if(Ut={element:it,isDehydrated:!1,cache:Ft.cache,pendingSuspenseBoundaries:Ft.pendingSuspenseBoundaries,transitions:Ft.transitions},tt.updateQueue.baseState=Ut,tt.memoizedState=Ut,tt.flags&256){ot=Ki(Error(p$1(423)),tt),tt=mj(et,tt,it,nt,ot);break e}else if(it!==ot){ot=Ki(Error(p$1(424)),tt),tt=mj(et,tt,it,nt,ot);break e}else for(yg=Lf(tt.stateNode.containerInfo.firstChild),xg=tt,I$1=!0,zg=null,nt=Ch(tt,null,it,nt),tt.child=nt;nt;)nt.flags=nt.flags&-3|4096,nt=nt.sibling;else{if(Ig(),it===ot){tt=$i(et,tt,nt);break e}Yi(et,tt,it,nt)}tt=tt.child}return tt;case 5:return Kh(tt),et===null&&Eg(tt),it=tt.type,ot=tt.pendingProps,Ut=et!==null?et.memoizedProps:null,Ft=ot.children,Ef(it,ot)?Ft=null:Ut!==null&&Ef(it,Ut)&&(tt.flags|=32),hj(et,tt),Yi(et,tt,Ft,nt),tt.child;case 6:return et===null&&Eg(tt),null;case 13:return pj(et,tt,nt);case 4:return Ih(tt,tt.stateNode.containerInfo),it=tt.pendingProps,et===null?tt.child=Bh(tt,null,it,nt):Yi(et,tt,it,nt),tt.child;case 11:return it=tt.type,ot=tt.pendingProps,ot=tt.elementType===it?ot:Lg(it,ot),Zi(et,tt,it,ot,nt);case 7:return Yi(et,tt,tt.pendingProps,nt),tt.child;case 8:return Yi(et,tt,tt.pendingProps.children,nt),tt.child;case 12:return Yi(et,tt,tt.pendingProps.children,nt),tt.child;case 10:e:{if(it=tt.type._context,ot=tt.pendingProps,Ut=tt.memoizedProps,Ft=ot.value,G$1(Mg,it._currentValue),it._currentValue=Ft,Ut!==null)if(He$1(Ut.value,Ft)){if(Ut.children===ot.children&&!Wf.current){tt=$i(et,tt,nt);break e}}else for(Ut=tt.child,Ut!==null&&(Ut.return=tt);Ut!==null;){var Qt=Ut.dependencies;if(Qt!==null){Ft=Ut.child;for(var Bt=Qt.firstContext;Bt!==null;){if(Bt.context===it){if(Ut.tag===1){Bt=ch(-1,nt&-nt),Bt.tag=2;var Vt=Ut.updateQueue;if(Vt!==null){Vt=Vt.shared;var Wt=Vt.pending;Wt===null?Bt.next=Bt:(Bt.next=Wt.next,Wt.next=Bt),Vt.pending=Bt}}Ut.lanes|=nt,Bt=Ut.alternate,Bt!==null&&(Bt.lanes|=nt),Sg(Ut.return,nt,tt),Qt.lanes|=nt;break}Bt=Bt.next}}else if(Ut.tag===10)Ft=Ut.type===tt.type?null:Ut.child;else if(Ut.tag===18){if(Ft=Ut.return,Ft===null)throw Error(p$1(341));Ft.lanes|=nt,Qt=Ft.alternate,Qt!==null&&(Qt.lanes|=nt),Sg(Ft,nt,tt),Ft=Ut.sibling}else Ft=Ut.child;if(Ft!==null)Ft.return=Ut;else for(Ft=Ut;Ft!==null;){if(Ft===tt){Ft=null;break}if(Ut=Ft.sibling,Ut!==null){Ut.return=Ft.return,Ft=Ut;break}Ft=Ft.return}Ut=Ft}Yi(et,tt,ot.children,nt),tt=tt.child}return tt;case 9:return ot=tt.type,it=tt.pendingProps.children,Tg(tt,nt),ot=Vg(ot),it=it(ot),tt.flags|=1,Yi(et,tt,it,nt),tt.child;case 14:return it=tt.type,ot=Lg(it,tt.pendingProps),ot=Lg(it.type,ot),aj(et,tt,it,ot,nt);case 15:return cj(et,tt,tt.type,tt.pendingProps,nt);case 17:return it=tt.type,ot=tt.pendingProps,ot=tt.elementType===it?ot:Lg(it,ot),jj(et,tt),tt.tag=1,Zf(it)?(et=!0,cg(tt)):et=!1,Tg(tt,nt),ph(tt,it,ot),rh(tt,it,ot,nt),kj(null,tt,it,!0,et,nt);case 19:return yj(et,tt,nt);case 22:return ej(et,tt,nt)}throw Error(p$1(156,tt.tag))};function Gk(et,tt){return ac(et,tt)}function al(et,tt,nt,it){this.tag=et,this.key=nt,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=tt,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=it,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(et,tt,nt,it){return new al(et,tt,nt,it)}function bj(et){return et=et.prototype,!(!et||!et.isReactComponent)}function $k(et){if(typeof et=="function")return bj(et)?1:0;if(et!=null){if(et=et.$$typeof,et===Da)return 11;if(et===Ga)return 14}return 2}function wh(et,tt){var nt=et.alternate;return nt===null?(nt=Bg(et.tag,tt,et.key,et.mode),nt.elementType=et.elementType,nt.type=et.type,nt.stateNode=et.stateNode,nt.alternate=et,et.alternate=nt):(nt.pendingProps=tt,nt.type=et.type,nt.flags=0,nt.subtreeFlags=0,nt.deletions=null),nt.flags=et.flags&14680064,nt.childLanes=et.childLanes,nt.lanes=et.lanes,nt.child=et.child,nt.memoizedProps=et.memoizedProps,nt.memoizedState=et.memoizedState,nt.updateQueue=et.updateQueue,tt=et.dependencies,nt.dependencies=tt===null?null:{lanes:tt.lanes,firstContext:tt.firstContext},nt.sibling=et.sibling,nt.index=et.index,nt.ref=et.ref,nt}function yh(et,tt,nt,it,ot,Ut){var Ft=2;if(it=et,typeof et=="function")bj(et)&&(Ft=1);else if(typeof et=="string")Ft=5;else e:switch(et){case ya:return Ah(nt.children,ot,Ut,tt);case za:Ft=8,ot|=8;break;case Aa:return et=Bg(12,nt,tt,ot|2),et.elementType=Aa,et.lanes=Ut,et;case Ea:return et=Bg(13,nt,tt,ot),et.elementType=Ea,et.lanes=Ut,et;case Fa:return et=Bg(19,nt,tt,ot),et.elementType=Fa,et.lanes=Ut,et;case Ia:return qj(nt,ot,Ut,tt);default:if(typeof et=="object"&&et!==null)switch(et.$$typeof){case Ba:Ft=10;break e;case Ca:Ft=9;break e;case Da:Ft=11;break e;case Ga:Ft=14;break e;case Ha:Ft=16,it=null;break e}throw Error(p$1(130,et==null?et:typeof et,""))}return tt=Bg(Ft,nt,tt,ot),tt.elementType=et,tt.type=it,tt.lanes=Ut,tt}function Ah(et,tt,nt,it){return et=Bg(7,et,it,tt),et.lanes=nt,et}function qj(et,tt,nt,it){return et=Bg(22,et,it,tt),et.elementType=Ia,et.lanes=nt,et.stateNode={isHidden:!1},et}function xh(et,tt,nt){return et=Bg(6,et,null,tt),et.lanes=nt,et}function zh(et,tt,nt){return tt=Bg(4,et.children!==null?et.children:[],et.key,tt),tt.lanes=nt,tt.stateNode={containerInfo:et.containerInfo,pendingChildren:null,implementation:et.implementation},tt}function bl(et,tt,nt,it,ot){this.tag=tt,this.containerInfo=et,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=it,this.onRecoverableError=ot,this.mutableSourceEagerHydrationData=null}function cl(et,tt,nt,it,ot,Ut,Ft,Qt,Bt){return et=new bl(et,tt,nt,Qt,Bt),tt===1?(tt=1,Ut===!0&&(tt|=8)):tt=0,Ut=Bg(3,null,null,tt),et.current=Ut,Ut.stateNode=et,Ut.memoizedState={element:it,isDehydrated:nt,cache:null,transitions:null,pendingSuspenseBoundaries:null},ah(Ut),et}function dl(et,tt,nt){var it=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(tt)}catch(nt){console.error(nt)}}tt(),et.exports=reactDom_production_min})(reactDom);var m$1=reactDomExports;client.createRoot=m$1.createRoot,client.hydrateRoot=m$1.hydrateRoot;function sheetForTag(et){if(et.sheet)return et.sheet;for(var tt=0;tt0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position2||token(character)>3?"":" "}function escaping(et,tt){for(;--tt&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(et,caret()+(tt<6&&peek()==32&&next()==32))}function delimiter(et){for(;next();)switch(character){case et:return position;case 34:case 39:et!==34&&et!==39&&delimiter(character);break;case 40:et===41&&delimiter(et);break;case 92:next();break}return position}function commenter(et,tt){for(;next()&&et+character!==47+10;)if(et+character===42+42&&peek()===47)break;return"/*"+slice(tt,position-1)+"*"+from$1(et===47?et:next())}function identifier(et){for(;!token(peek());)next();return slice(et,position)}function compile(et){return dealloc(parse$1("",null,null,null,[""],et=alloc(et),0,[0],et))}function parse$1(et,tt,nt,it,ot,Ut,Ft,Qt,Bt){for(var Vt=0,Wt=0,Xt=Ft,Zt=0,Yt=0,Mt=0,Gt=1,en=1,tn=1,ln=0,nn="",sn=ot,Kt=Ut,dn=it,Qn=nn;en;)switch(Mt=ln,ln=next()){case 40:if(Mt!=108&&charat(Qn,Xt-1)==58){indexof(Qn+=replace(delimit(ln),"&","&\f"),"&\f")!=-1&&(tn=-1);break}case 34:case 39:case 91:Qn+=delimit(ln);break;case 9:case 10:case 13:case 32:Qn+=whitespace(Mt);break;case 92:Qn+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),tt,nt),Bt);break;default:Qn+="/"}break;case 123*Gt:Qt[Vt++]=strlen(Qn)*tn;case 125*Gt:case 59:case 0:switch(ln){case 0:case 125:en=0;case 59+Wt:Yt>0&&strlen(Qn)-Xt&&append(Yt>32?declaration(Qn+";",it,nt,Xt-1):declaration(replace(Qn," ","")+";",it,nt,Xt-2),Bt);break;case 59:Qn+=";";default:if(append(dn=ruleset(Qn,tt,nt,Vt,Wt,ot,Qt,nn,sn=[],Kt=[],Xt),Ut),ln===123)if(Wt===0)parse$1(Qn,tt,dn,dn,sn,Ut,Xt,Qt,Kt);else switch(Zt===99&&charat(Qn,3)===110?100:Zt){case 100:case 109:case 115:parse$1(et,dn,dn,it&&append(ruleset(et,dn,dn,0,0,ot,Qt,nn,ot,sn=[],Xt),Kt),ot,Kt,Xt,Qt,it?sn:Kt);break;default:parse$1(Qn,dn,dn,dn,[""],Kt,0,Qt,Kt)}}Vt=Wt=Yt=0,Gt=tn=1,nn=Qn="",Xt=Ft;break;case 58:Xt=1+strlen(Qn),Yt=Mt;default:if(Gt<1){if(ln==123)--Gt;else if(ln==125&&Gt++==0&&prev()==125)continue}switch(Qn+=from$1(ln),ln*Gt){case 38:tn=Wt>0?1:(Qn+="\f",-1);break;case 44:Qt[Vt++]=(strlen(Qn)-1)*tn,tn=1;break;case 64:peek()===45&&(Qn+=delimit(next())),Zt=peek(),Wt=Xt=strlen(nn=Qn+=identifier(caret())),ln++;break;case 45:Mt===45&&strlen(Qn)==2&&(Gt=0)}}return Ut}function ruleset(et,tt,nt,it,ot,Ut,Ft,Qt,Bt,Vt,Wt){for(var Xt=ot-1,Zt=ot===0?Ut:[""],Yt=sizeof(Zt),Mt=0,Gt=0,en=0;Mt0?Zt[tn]+" "+ln:replace(ln,/&\f/g,Zt[tn])))&&(Bt[en++]=nn);return node(et,tt,nt,ot===0?RULESET:Qt,Bt,Vt,Wt)}function comment(et,tt,nt){return node(et,tt,nt,COMMENT$1,from$1(char()),substr(et,2,-2),0)}function declaration(et,tt,nt,it){return node(et,tt,nt,DECLARATION,substr(et,0,it),substr(et,it+1,-1),it)}function serialize(et,tt){for(var nt="",it=sizeof(et),ot=0;ot6)switch(charat(et,tt+1)){case 109:if(charat(et,tt+4)!==45)break;case 102:return replace(et,/(.+:)(.+)-([^]+)/,"$1"+WEBKIT+"$2-$3$1"+MOZ+(charat(et,tt+3)==108?"$3":"$2-$3"))+et;case 115:return~indexof(et,"stretch")?prefix(replace(et,"stretch","fill-available"),tt)+et:et}break;case 4949:if(charat(et,tt+1)!==115)break;case 6444:switch(charat(et,strlen(et)-3-(~indexof(et,"!important")&&10))){case 107:return replace(et,":",":"+WEBKIT)+et;case 101:return replace(et,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WEBKIT+(charat(et,14)===45?"inline-":"")+"box$3$1"+WEBKIT+"$2$3$1"+MS+"$2box$3")+et}break;case 5936:switch(charat(et,tt+11)){case 114:return WEBKIT+et+MS+replace(et,/[svh]\w+-[tblr]{2}/,"tb")+et;case 108:return WEBKIT+et+MS+replace(et,/[svh]\w+-[tblr]{2}/,"tb-rl")+et;case 45:return WEBKIT+et+MS+replace(et,/[svh]\w+-[tblr]{2}/,"lr")+et}return WEBKIT+et+MS+et+et}return et}var prefixer=function(tt,nt,it,ot){if(tt.length>-1&&!tt.return)switch(tt.type){case DECLARATION:tt.return=prefix(tt.value,tt.length);break;case KEYFRAMES:return serialize([copy(tt,{value:replace(tt.value,"@","@"+WEBKIT)})],ot);case RULESET:if(tt.length)return combine(tt.props,function(Ut){switch(match(Ut,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return serialize([copy(tt,{props:[replace(Ut,/:(read-\w+)/,":"+MOZ+"$1")]})],ot);case"::placeholder":return serialize([copy(tt,{props:[replace(Ut,/:(plac\w+)/,":"+WEBKIT+"input-$1")]}),copy(tt,{props:[replace(Ut,/:(plac\w+)/,":"+MOZ+"$1")]}),copy(tt,{props:[replace(Ut,/:(plac\w+)/,MS+"input-$1")]})],ot)}return""})}},defaultStylisPlugins=[prefixer],createCache=function(tt){var nt=tt.key;if(nt==="css"){var it=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(it,function(Gt){var en=Gt.getAttribute("data-emotion");en.indexOf(" ")!==-1&&(document.head.appendChild(Gt),Gt.setAttribute("data-s",""))})}var ot=tt.stylisPlugins||defaultStylisPlugins,Ut={},Ft,Qt=[];Ft=tt.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+nt+' "]'),function(Gt){for(var en=Gt.getAttribute("data-emotion").split(" "),tn=1;tn=4;++it,ot-=4)nt=et.charCodeAt(it)&255|(et.charCodeAt(++it)&255)<<8|(et.charCodeAt(++it)&255)<<16|(et.charCodeAt(++it)&255)<<24,nt=(nt&65535)*1540483477+((nt>>>16)*59797<<16),nt^=nt>>>24,tt=(nt&65535)*1540483477+((nt>>>16)*59797<<16)^(tt&65535)*1540483477+((tt>>>16)*59797<<16);switch(ot){case 3:tt^=(et.charCodeAt(it+2)&255)<<16;case 2:tt^=(et.charCodeAt(it+1)&255)<<8;case 1:tt^=et.charCodeAt(it)&255,tt=(tt&65535)*1540483477+((tt>>>16)*59797<<16)}return tt^=tt>>>13,tt=(tt&65535)*1540483477+((tt>>>16)*59797<<16),((tt^tt>>>15)>>>0).toString(36)}var unitlessKeys={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function(tt){return tt.charCodeAt(1)===45},isProcessableValue=function(tt){return tt!=null&&typeof tt!="boolean"},processStyleName=memoize$1(function(et){return isCustomProperty(et)?et:et.replace(hyphenateRegex,"-$&").toLowerCase()}),processStyleValue=function(tt,nt){switch(tt){case"animation":case"animationName":if(typeof nt=="string")return nt.replace(animationRegex,function(it,ot,Ut){return cursor={name:ot,styles:Ut,next:cursor},ot})}return unitlessKeys[tt]!==1&&!isCustomProperty(tt)&&typeof nt=="number"&&nt!==0?nt+"px":nt},noComponentSelectorMessage="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function handleInterpolation(et,tt,nt){if(nt==null)return"";if(nt.__emotion_styles!==void 0)return nt;switch(typeof nt){case"boolean":return"";case"object":{if(nt.anim===1)return cursor={name:nt.name,styles:nt.styles,next:cursor},nt.name;if(nt.styles!==void 0){var it=nt.next;if(it!==void 0)for(;it!==void 0;)cursor={name:it.name,styles:it.styles,next:cursor},it=it.next;var ot=nt.styles+";";return ot}return createStringFromObject(et,tt,nt)}case"function":{if(et!==void 0){var Ut=cursor,Ft=nt(et);return cursor=Ut,handleInterpolation(et,tt,Ft)}break}}if(tt==null)return nt;var Qt=tt[nt];return Qt!==void 0?Qt:nt}function createStringFromObject(et,tt,nt){var it="";if(Array.isArray(nt))for(var ot=0;ot{tt[nt]=deepClone(et[nt])}),tt}function deepmerge(et,tt,nt={clone:!0}){const it=nt.clone?_extends$1({},et):et;return isPlainObject(et)&&isPlainObject(tt)&&Object.keys(tt).forEach(ot=>{ot!=="__proto__"&&(isPlainObject(tt[ot])&&ot in et&&isPlainObject(et[ot])?it[ot]=deepmerge(et[ot],tt[ot],nt):nt.clone?it[ot]=isPlainObject(tt[ot])?deepClone(tt[ot]):tt[ot]:it[ot]=tt[ot])}),it}function formatMuiErrorMessage(et){let tt="https://mui.com/production-error/?code="+et;for(let nt=1;nt{if(it.toString().match(/^(components|slots)$/))nt[it]=_extends$1({},et[it],nt[it]);else if(it.toString().match(/^(componentsProps|slotProps)$/)){const ot=et[it]||{},Ut=tt[it];nt[it]={},!Ut||!Object.keys(Ut)?nt[it]=ot:!ot||!Object.keys(ot)?nt[it]=Ut:(nt[it]=_extends$1({},Ut),Object.keys(ot).forEach(Ft=>{nt[it][Ft]=resolveProps(ot[Ft],Ut[Ft])}))}else nt[it]===void 0&&(nt[it]=et[it])}),nt}function composeClasses(et,tt,nt){const it={};return Object.keys(et).forEach(ot=>{it[ot]=et[ot].reduce((Ut,Ft)=>(Ft&&(Ut.push(tt(Ft)),nt&&nt[Ft]&&Ut.push(nt[Ft])),Ut),[]).join(" ")}),it}const defaultGenerator=et=>et,createClassNameGenerator=()=>{let et=defaultGenerator;return{configure(tt){et=tt},generate(tt){return et(tt)},reset(){et=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator$1=ClassNameGenerator,globalStateClassesMapping={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",required:"required",selected:"selected"};function generateUtilityClass(et,tt,nt="Mui"){const it=globalStateClassesMapping[tt];return it?`${nt}-${it}`:`${ClassNameGenerator$1.generate(et)}-${tt}`}function generateUtilityClasses(et,tt,nt="Mui"){const it={};return tt.forEach(ot=>{it[ot]=generateUtilityClass(et,ot,nt)}),it}var reactPropsRegex=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,isPropValid=memoize$1(function(et){return reactPropsRegex.test(et)||et.charCodeAt(0)===111&&et.charCodeAt(1)===110&&et.charCodeAt(2)<91}),Global=withEmotionCache(function(et,tt){var nt=et.styles,it=serializeStyles([nt],void 0,reactExports.useContext(ThemeContext$2)),ot=reactExports.useRef();return useInsertionEffectWithLayoutFallback(function(){var Ut=tt.key+"-global",Ft=new tt.sheet.constructor({key:Ut,nonce:tt.sheet.nonce,container:tt.sheet.container,speedy:tt.sheet.isSpeedy}),Qt=!1,Bt=document.querySelector('style[data-emotion="'+Ut+" "+it.name+'"]');return tt.sheet.tags.length&&(Ft.before=tt.sheet.tags[0]),Bt!==null&&(Qt=!0,Bt.setAttribute("data-emotion",Ut),Ft.hydrate([Bt])),ot.current=[Ft,Qt],function(){Ft.flush()}},[tt]),useInsertionEffectWithLayoutFallback(function(){var Ut=ot.current,Ft=Ut[0],Qt=Ut[1];if(Qt){Ut[1]=!1;return}if(it.next!==void 0&&insertStyles(tt,it.next,!0),Ft.tags.length){var Bt=Ft.tags[Ft.tags.length-1].nextElementSibling;Ft.before=Bt,Ft.flush()}tt.insert("",it,Ft,!1)},[tt,it.name]),null}),testOmitPropsOnStringTag=isPropValid,testOmitPropsOnComponent=function(tt){return tt!=="theme"},getDefaultShouldForwardProp=function(tt){return typeof tt=="string"&&tt.charCodeAt(0)>96?testOmitPropsOnStringTag:testOmitPropsOnComponent},composeShouldForwardProps=function(tt,nt,it){var ot;if(nt){var Ut=nt.shouldForwardProp;ot=tt.__emotion_forwardProp&&Ut?function(Ft){return tt.__emotion_forwardProp(Ft)&&Ut(Ft)}:Ut}return typeof ot!="function"&&it&&(ot=tt.__emotion_forwardProp),ot},Insertion=function(tt){var nt=tt.cache,it=tt.serialized,ot=tt.isStringTag;return registerStyles(nt,it,ot),useInsertionEffectAlwaysWithSyncFallback(function(){return insertStyles(nt,it,ot)}),null},createStyled$1=function et(tt,nt){var it=tt.__emotion_real===tt,ot=it&&tt.__emotion_base||tt,Ut,Ft;nt!==void 0&&(Ut=nt.label,Ft=nt.target);var Qt=composeShouldForwardProps(tt,nt,it),Bt=Qt||getDefaultShouldForwardProp(ot),Vt=!Bt("as");return function(){var Wt=arguments,Xt=it&&tt.__emotion_styles!==void 0?tt.__emotion_styles.slice(0):[];if(Ut!==void 0&&Xt.push("label:"+Ut+";"),Wt[0]==null||Wt[0].raw===void 0)Xt.push.apply(Xt,Wt);else{Xt.push(Wt[0][0]);for(var Zt=Wt.length,Yt=1;Yttt(isEmpty$2(ot)?nt:ot):tt})}/** @license MUI v5.11.0 - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */function styled$2(et,tt){return emStyled(et,tt)}const internal_processStyles=(et,tt)=>{Array.isArray(et.__emotion_styles)&&(et.__emotion_styles=tt(et.__emotion_styles))};function merge$2(et,tt){return tt?deepmerge(et,tt,{clone:!1}):et}const values={xs:0,sm:600,md:900,lg:1200,xl:1536},defaultBreakpoints={keys:["xs","sm","md","lg","xl"],up:et=>`@media (min-width:${values[et]}px)`};function handleBreakpoints(et,tt,nt){const it=et.theme||{};if(Array.isArray(tt)){const Ut=it.breakpoints||defaultBreakpoints;return tt.reduce((Ft,Qt,Bt)=>(Ft[Ut.up(Ut.keys[Bt])]=nt(tt[Bt]),Ft),{})}if(typeof tt=="object"){const Ut=it.breakpoints||defaultBreakpoints;return Object.keys(tt).reduce((Ft,Qt)=>{if(Object.keys(Ut.values||values).indexOf(Qt)!==-1){const Bt=Ut.up(Qt);Ft[Bt]=nt(tt[Qt],Qt)}else{const Bt=Qt;Ft[Bt]=tt[Bt]}return Ft},{})}return nt(tt)}function createEmptyBreakpointObject(et={}){var tt;return((tt=et.keys)==null?void 0:tt.reduce((it,ot)=>{const Ut=et.up(ot);return it[Ut]={},it},{}))||{}}function removeUnusedBreakpoints(et,tt){return et.reduce((nt,it)=>{const ot=nt[it];return(!ot||Object.keys(ot).length===0)&&delete nt[it],nt},tt)}function getPath(et,tt,nt=!0){if(!tt||typeof tt!="string")return null;if(et&&et.vars&&nt){const it=`vars.${tt}`.split(".").reduce((ot,Ut)=>ot&&ot[Ut]?ot[Ut]:null,et);if(it!=null)return it}return tt.split(".").reduce((it,ot)=>it&&it[ot]!=null?it[ot]:null,et)}function getStyleValue(et,tt,nt,it=nt){let ot;return typeof et=="function"?ot=et(nt):Array.isArray(et)?ot=et[nt]||it:ot=getPath(et,nt)||it,tt&&(ot=tt(ot,it,et)),ot}function style$1(et){const{prop:tt,cssProperty:nt=et.prop,themeKey:it,transform:ot}=et,Ut=Ft=>{if(Ft[tt]==null)return null;const Qt=Ft[tt],Bt=Ft.theme,Vt=getPath(Bt,it)||{};return handleBreakpoints(Ft,Qt,Xt=>{let Zt=getStyleValue(Vt,ot,Xt);return Xt===Zt&&typeof Xt=="string"&&(Zt=getStyleValue(Vt,ot,`${tt}${Xt==="default"?"":capitalize(Xt)}`,Xt)),nt===!1?Zt:{[nt]:Zt}})};return Ut.propTypes={},Ut.filterProps=[tt],Ut}function compose(...et){const tt=et.reduce((it,ot)=>(ot.filterProps.forEach(Ut=>{it[Ut]=ot}),it),{}),nt=it=>Object.keys(it).reduce((ot,Ut)=>tt[Ut]?merge$2(ot,tt[Ut](it)):ot,{});return nt.propTypes={},nt.filterProps=et.reduce((it,ot)=>it.concat(ot.filterProps),[]),nt}function memoize(et){const tt={};return nt=>(tt[nt]===void 0&&(tt[nt]=et(nt)),tt[nt])}const properties={m:"margin",p:"padding"},directions={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},aliases={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},getCssProperties=memoize(et=>{if(et.length>2)if(aliases[et])et=aliases[et];else return[et];const[tt,nt]=et.split(""),it=properties[tt],ot=directions[nt]||"";return Array.isArray(ot)?ot.map(Ut=>it+Ut):[it+ot]}),marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...marginKeys,...paddingKeys];function createUnaryUnit(et,tt,nt,it){var ot;const Ut=(ot=getPath(et,tt,!1))!=null?ot:nt;return typeof Ut=="number"?Ft=>typeof Ft=="string"?Ft:Ut*Ft:Array.isArray(Ut)?Ft=>typeof Ft=="string"?Ft:Ut[Ft]:typeof Ut=="function"?Ut:()=>{}}function createUnarySpacing(et){return createUnaryUnit(et,"spacing",8)}function getValue(et,tt){if(typeof tt=="string"||tt==null)return tt;const nt=Math.abs(tt),it=et(nt);return tt>=0?it:typeof it=="number"?-it:`-${it}`}function getStyleFromPropValue(et,tt){return nt=>et.reduce((it,ot)=>(it[ot]=getValue(tt,nt),it),{})}function resolveCssProperty(et,tt,nt,it){if(tt.indexOf(nt)===-1)return null;const ot=getCssProperties(nt),Ut=getStyleFromPropValue(ot,it),Ft=et[nt];return handleBreakpoints(et,Ft,Ut)}function style(et,tt){const nt=createUnarySpacing(et.theme);return Object.keys(et).map(it=>resolveCssProperty(et,tt,it,nt)).reduce(merge$2,{})}function margin(et){return style(et,marginKeys)}margin.propTypes={};margin.filterProps=marginKeys;function padding(et){return style(et,paddingKeys)}padding.propTypes={};padding.filterProps=paddingKeys;function borderTransform(et){return typeof et!="number"?et:`${et}px solid`}const border=style$1({prop:"border",themeKey:"borders",transform:borderTransform}),borderTop=style$1({prop:"borderTop",themeKey:"borders",transform:borderTransform}),borderRight=style$1({prop:"borderRight",themeKey:"borders",transform:borderTransform}),borderBottom=style$1({prop:"borderBottom",themeKey:"borders",transform:borderTransform}),borderLeft=style$1({prop:"borderLeft",themeKey:"borders",transform:borderTransform}),borderColor=style$1({prop:"borderColor",themeKey:"palette"}),borderTopColor=style$1({prop:"borderTopColor",themeKey:"palette"}),borderRightColor=style$1({prop:"borderRightColor",themeKey:"palette"}),borderBottomColor=style$1({prop:"borderBottomColor",themeKey:"palette"}),borderLeftColor=style$1({prop:"borderLeftColor",themeKey:"palette"}),borderRadius=et=>{if(et.borderRadius!==void 0&&et.borderRadius!==null){const tt=createUnaryUnit(et.theme,"shape.borderRadius",4),nt=it=>({borderRadius:getValue(tt,it)});return handleBreakpoints(et,et.borderRadius,nt)}return null};borderRadius.propTypes={};borderRadius.filterProps=["borderRadius"];compose(border,borderTop,borderRight,borderBottom,borderLeft,borderColor,borderTopColor,borderRightColor,borderBottomColor,borderLeftColor,borderRadius);const gap=et=>{if(et.gap!==void 0&&et.gap!==null){const tt=createUnaryUnit(et.theme,"spacing",8),nt=it=>({gap:getValue(tt,it)});return handleBreakpoints(et,et.gap,nt)}return null};gap.propTypes={};gap.filterProps=["gap"];const columnGap=et=>{if(et.columnGap!==void 0&&et.columnGap!==null){const tt=createUnaryUnit(et.theme,"spacing",8),nt=it=>({columnGap:getValue(tt,it)});return handleBreakpoints(et,et.columnGap,nt)}return null};columnGap.propTypes={};columnGap.filterProps=["columnGap"];const rowGap=et=>{if(et.rowGap!==void 0&&et.rowGap!==null){const tt=createUnaryUnit(et.theme,"spacing",8),nt=it=>({rowGap:getValue(tt,it)});return handleBreakpoints(et,et.rowGap,nt)}return null};rowGap.propTypes={};rowGap.filterProps=["rowGap"];const gridColumn=style$1({prop:"gridColumn"}),gridRow=style$1({prop:"gridRow"}),gridAutoFlow=style$1({prop:"gridAutoFlow"}),gridAutoColumns=style$1({prop:"gridAutoColumns"}),gridAutoRows=style$1({prop:"gridAutoRows"}),gridTemplateColumns=style$1({prop:"gridTemplateColumns"}),gridTemplateRows=style$1({prop:"gridTemplateRows"}),gridTemplateAreas=style$1({prop:"gridTemplateAreas"}),gridArea=style$1({prop:"gridArea"});compose(gap,columnGap,rowGap,gridColumn,gridRow,gridAutoFlow,gridAutoColumns,gridAutoRows,gridTemplateColumns,gridTemplateRows,gridTemplateAreas,gridArea);function paletteTransform(et,tt){return tt==="grey"?tt:et}const color$1=style$1({prop:"color",themeKey:"palette",transform:paletteTransform}),bgcolor=style$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:paletteTransform}),backgroundColor=style$1({prop:"backgroundColor",themeKey:"palette",transform:paletteTransform});compose(color$1,bgcolor,backgroundColor);function sizingTransform(et){return et<=1&&et!==0?`${et*100}%`:et}const width=style$1({prop:"width",transform:sizingTransform}),maxWidth=et=>{if(et.maxWidth!==void 0&&et.maxWidth!==null){const tt=nt=>{var it,ot,Ut;return{maxWidth:((it=et.theme)==null||(ot=it.breakpoints)==null||(Ut=ot.values)==null?void 0:Ut[nt])||values[nt]||sizingTransform(nt)}};return handleBreakpoints(et,et.maxWidth,tt)}return null};maxWidth.filterProps=["maxWidth"];const minWidth=style$1({prop:"minWidth",transform:sizingTransform}),height=style$1({prop:"height",transform:sizingTransform}),maxHeight=style$1({prop:"maxHeight",transform:sizingTransform}),minHeight=style$1({prop:"minHeight",transform:sizingTransform});style$1({prop:"size",cssProperty:"width",transform:sizingTransform});style$1({prop:"size",cssProperty:"height",transform:sizingTransform});const boxSizing=style$1({prop:"boxSizing"});compose(width,maxWidth,minWidth,height,maxHeight,minHeight,boxSizing);const defaultSxConfig={border:{themeKey:"borders",transform:borderTransform},borderTop:{themeKey:"borders",transform:borderTransform},borderRight:{themeKey:"borders",transform:borderTransform},borderBottom:{themeKey:"borders",transform:borderTransform},borderLeft:{themeKey:"borders",transform:borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:borderRadius},color:{themeKey:"palette",transform:paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:paletteTransform},backgroundColor:{themeKey:"palette",transform:paletteTransform},p:{style:padding},pt:{style:padding},pr:{style:padding},pb:{style:padding},pl:{style:padding},px:{style:padding},py:{style:padding},padding:{style:padding},paddingTop:{style:padding},paddingRight:{style:padding},paddingBottom:{style:padding},paddingLeft:{style:padding},paddingX:{style:padding},paddingY:{style:padding},paddingInline:{style:padding},paddingInlineStart:{style:padding},paddingInlineEnd:{style:padding},paddingBlock:{style:padding},paddingBlockStart:{style:padding},paddingBlockEnd:{style:padding},m:{style:margin},mt:{style:margin},mr:{style:margin},mb:{style:margin},ml:{style:margin},mx:{style:margin},my:{style:margin},margin:{style:margin},marginTop:{style:margin},marginRight:{style:margin},marginBottom:{style:margin},marginLeft:{style:margin},marginX:{style:margin},marginY:{style:margin},marginInline:{style:margin},marginInlineStart:{style:margin},marginInlineEnd:{style:margin},marginBlock:{style:margin},marginBlockStart:{style:margin},marginBlockEnd:{style:margin},displayPrint:{cssProperty:!1,transform:et=>({"@media print":{display:et}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:gap},rowGap:{style:rowGap},columnGap:{style:columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:sizingTransform},maxWidth:{style:maxWidth},minWidth:{transform:sizingTransform},height:{transform:sizingTransform},maxHeight:{transform:sizingTransform},minHeight:{transform:sizingTransform},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},defaultSxConfig$1=defaultSxConfig;function objectsHaveSameKeys(...et){const tt=et.reduce((it,ot)=>it.concat(Object.keys(ot)),[]),nt=new Set(tt);return et.every(it=>nt.size===Object.keys(it).length)}function callIfFn(et,tt){return typeof et=="function"?et(tt):et}function unstable_createStyleFunctionSx(){function et(nt,it,ot,Ut){const Ft={[nt]:it,theme:ot},Qt=Ut[nt];if(!Qt)return{[nt]:it};const{cssProperty:Bt=nt,themeKey:Vt,transform:Wt,style:Xt}=Qt;if(it==null)return null;const Zt=getPath(ot,Vt)||{};return Xt?Xt(Ft):handleBreakpoints(Ft,it,Mt=>{let Gt=getStyleValue(Zt,Wt,Mt);return Mt===Gt&&typeof Mt=="string"&&(Gt=getStyleValue(Zt,Wt,`${nt}${Mt==="default"?"":capitalize(Mt)}`,Mt)),Bt===!1?Gt:{[Bt]:Gt}})}function tt(nt){var it;const{sx:ot,theme:Ut={}}=nt||{};if(!ot)return null;const Ft=(it=Ut.unstable_sxConfig)!=null?it:defaultSxConfig$1;function Qt(Bt){let Vt=Bt;if(typeof Bt=="function")Vt=Bt(Ut);else if(typeof Bt!="object")return Bt;if(!Vt)return null;const Wt=createEmptyBreakpointObject(Ut.breakpoints),Xt=Object.keys(Wt);let Zt=Wt;return Object.keys(Vt).forEach(Yt=>{const Mt=callIfFn(Vt[Yt],Ut);if(Mt!=null)if(typeof Mt=="object")if(Ft[Yt])Zt=merge$2(Zt,et(Yt,Mt,Ut,Ft));else{const Gt=handleBreakpoints({theme:Ut},Mt,en=>({[Yt]:en}));objectsHaveSameKeys(Gt,Mt)?Zt[Yt]=tt({sx:Mt,theme:Ut}):Zt=merge$2(Zt,Gt)}else Zt=merge$2(Zt,et(Yt,Mt,Ut,Ft))}),removeUnusedBreakpoints(Xt,Zt)}return Array.isArray(ot)?ot.map(Qt):Qt(ot)}return tt}const styleFunctionSx=unstable_createStyleFunctionSx();styleFunctionSx.filterProps=["sx"];const styleFunctionSx$1=styleFunctionSx;function _objectWithoutPropertiesLoose$1(et,tt){if(et==null)return{};var nt={},it=Object.keys(et),ot,Ut;for(Ut=0;Ut=0)&&(nt[ot]=et[ot]);return nt}function r(et){var tt,nt,it="";if(typeof et=="string"||typeof et=="number")it+=et;else if(typeof et=="object")if(Array.isArray(et))for(tt=0;tt{const tt=Object.keys(et).map(nt=>({key:nt,val:et[nt]}))||[];return tt.sort((nt,it)=>nt.val-it.val),tt.reduce((nt,it)=>_extends$1({},nt,{[it.key]:it.val}),{})};function createBreakpoints(et){const{values:tt={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:nt="px",step:it=5}=et,ot=_objectWithoutPropertiesLoose$1(et,_excluded$8),Ut=sortBreakpointsValues(tt),Ft=Object.keys(Ut);function Qt(Zt){return`@media (min-width:${typeof tt[Zt]=="number"?tt[Zt]:Zt}${nt})`}function Bt(Zt){return`@media (max-width:${(typeof tt[Zt]=="number"?tt[Zt]:Zt)-it/100}${nt})`}function Vt(Zt,Yt){const Mt=Ft.indexOf(Yt);return`@media (min-width:${typeof tt[Zt]=="number"?tt[Zt]:Zt}${nt}) and (max-width:${(Mt!==-1&&typeof tt[Ft[Mt]]=="number"?tt[Ft[Mt]]:Yt)-it/100}${nt})`}function Wt(Zt){return Ft.indexOf(Zt)+1(it.length===0?[1]:it).map(Ut=>{const Ft=tt(Ut);return typeof Ft=="number"?`${Ft}px`:Ft}).join(" ");return nt.mui=!0,nt}const _excluded$7=["breakpoints","palette","spacing","shape"];function createTheme$1(et={},...tt){const{breakpoints:nt={},palette:it={},spacing:ot,shape:Ut={}}=et,Ft=_objectWithoutPropertiesLoose$1(et,_excluded$7),Qt=createBreakpoints(nt),Bt=createSpacing(ot);let Vt=deepmerge({breakpoints:Qt,direction:"ltr",components:{},palette:_extends$1({mode:"light"},it),spacing:Bt,shape:_extends$1({},shape$1,Ut)},Ft);return Vt=tt.reduce((Wt,Xt)=>deepmerge(Wt,Xt),Vt),Vt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,Ft==null?void 0:Ft.unstable_sxConfig),Vt.unstable_sx=function(Xt){return styleFunctionSx$1({sx:Xt,theme:this})},Vt}const ThemeContext=reactExports.createContext(null),ThemeContext$1=ThemeContext;function useTheme$2(){return reactExports.useContext(ThemeContext$1)}const hasSymbol=typeof Symbol=="function"&&Symbol.for,nested=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";function mergeOuterLocalTheme(et,tt){return typeof tt=="function"?tt(et):_extends$1({},et,tt)}function ThemeProvider$1(et){const{children:tt,theme:nt}=et,it=useTheme$2(),ot=reactExports.useMemo(()=>{const Ut=it===null?nt:mergeOuterLocalTheme(it,nt);return Ut!=null&&(Ut[nested]=it!==null),Ut},[nt,it]);return jsx$1(ThemeContext$1.Provider,{value:ot,children:tt})}function isObjectEmpty(et){return Object.keys(et).length===0}function useTheme$1(et=null){const tt=useTheme$2();return!tt||isObjectEmpty(tt)?et:tt}const systemDefaultTheme$1=createTheme$1();function useTheme(et=systemDefaultTheme$1){return useTheme$1(et)}const _excluded$6=["variant"];function isEmpty$1(et){return et.length===0}function propsToClassKey(et){const{variant:tt}=et,nt=_objectWithoutPropertiesLoose$1(et,_excluded$6);let it=tt||"";return Object.keys(nt).sort().forEach(ot=>{ot==="color"?it+=isEmpty$1(it)?et[ot]:capitalize(et[ot]):it+=`${isEmpty$1(it)?ot:capitalize(ot)}${capitalize(et[ot].toString())}`}),it}const _excluded$5=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],_excluded2=["theme"],_excluded3=["theme"];function isEmpty(et){return Object.keys(et).length===0}function isStringTag(et){return typeof et=="string"&&et.charCodeAt(0)>96}const getStyleOverrides=(et,tt)=>tt.components&&tt.components[et]&&tt.components[et].styleOverrides?tt.components[et].styleOverrides:null,getVariantStyles=(et,tt)=>{let nt=[];tt&&tt.components&&tt.components[et]&&tt.components[et].variants&&(nt=tt.components[et].variants);const it={};return nt.forEach(ot=>{const Ut=propsToClassKey(ot.props);it[Ut]=ot.style}),it},variantsResolver=(et,tt,nt,it)=>{var ot,Ut;const{ownerState:Ft={}}=et,Qt=[],Bt=nt==null||(ot=nt.components)==null||(Ut=ot[it])==null?void 0:Ut.variants;return Bt&&Bt.forEach(Vt=>{let Wt=!0;Object.keys(Vt.props).forEach(Xt=>{Ft[Xt]!==Vt.props[Xt]&&et[Xt]!==Vt.props[Xt]&&(Wt=!1)}),Wt&&Qt.push(tt[propsToClassKey(Vt.props)])}),Qt};function shouldForwardProp(et){return et!=="ownerState"&&et!=="theme"&&et!=="sx"&&et!=="as"}const systemDefaultTheme=createTheme$1();function createStyled(et={}){const{defaultTheme:tt=systemDefaultTheme,rootShouldForwardProp:nt=shouldForwardProp,slotShouldForwardProp:it=shouldForwardProp}=et,ot=Ut=>{const Ft=isEmpty(Ut.theme)?tt:Ut.theme;return styleFunctionSx$1(_extends$1({},Ut,{theme:Ft}))};return ot.__mui_systemSx=!0,(Ut,Ft={})=>{internal_processStyles(Ut,nn=>nn.filter(sn=>!(sn!=null&&sn.__mui_systemSx)));const{name:Qt,slot:Bt,skipVariantsResolver:Vt,skipSx:Wt,overridesResolver:Xt}=Ft,Zt=_objectWithoutPropertiesLoose$1(Ft,_excluded$5),Yt=Vt!==void 0?Vt:Bt&&Bt!=="Root"||!1,Mt=Wt||!1;let Gt,en=shouldForwardProp;Bt==="Root"?en=nt:Bt?en=it:isStringTag(Ut)&&(en=void 0);const tn=styled$2(Ut,_extends$1({shouldForwardProp:en,label:Gt},Zt)),ln=(nn,...sn)=>{const Kt=sn?sn.map(an=>typeof an=="function"&&an.__emotion_real!==an?rn=>{let{theme:gn}=rn,un=_objectWithoutPropertiesLoose$1(rn,_excluded2);return an(_extends$1({theme:isEmpty(gn)?tt:gn},un))}:an):[];let dn=nn;Qt&&Xt&&Kt.push(an=>{const rn=isEmpty(an.theme)?tt:an.theme,gn=getStyleOverrides(Qt,rn);if(gn){const un={};return Object.entries(gn).forEach(([Un,_n])=>{un[Un]=typeof _n=="function"?_n(_extends$1({},an,{theme:rn})):_n}),Xt(an,un)}return null}),Qt&&!Yt&&Kt.push(an=>{const rn=isEmpty(an.theme)?tt:an.theme;return variantsResolver(an,getVariantStyles(Qt,rn),rn,Qt)}),Mt||Kt.push(ot);const Qn=Kt.length-sn.length;if(Array.isArray(nn)&&Qn>0){const an=new Array(Qn).fill("");dn=[...nn,...an],dn.raw=[...nn.raw,...an]}else typeof nn=="function"&&nn.__emotion_real!==nn&&(dn=an=>{let{theme:rn}=an,gn=_objectWithoutPropertiesLoose$1(an,_excluded3);return nn(_extends$1({theme:isEmpty(rn)?tt:rn},gn))});return tn(dn,...Kt)};return tn.withConfig&&(ln.withConfig=tn.withConfig),ln}}function getThemeProps(et){const{theme:tt,name:nt,props:it}=et;return!tt||!tt.components||!tt.components[nt]||!tt.components[nt].defaultProps?it:resolveProps(tt.components[nt].defaultProps,it)}function useThemeProps$1({props:et,name:tt,defaultTheme:nt}){const it=useTheme(nt);return getThemeProps({theme:it,name:tt,props:et})}function clamp(et,tt=0,nt=1){return Math.min(Math.max(tt,et),nt)}function hexToRgb(et){et=et.slice(1);const tt=new RegExp(`.{1,${et.length>=6?2:1}}`,"g");let nt=et.match(tt);return nt&&nt[0].length===1&&(nt=nt.map(it=>it+it)),nt?`rgb${nt.length===4?"a":""}(${nt.map((it,ot)=>ot<3?parseInt(it,16):Math.round(parseInt(it,16)/255*1e3)/1e3).join(", ")})`:""}function decomposeColor(et){if(et.type)return et;if(et.charAt(0)==="#")return decomposeColor(hexToRgb(et));const tt=et.indexOf("("),nt=et.substring(0,tt);if(["rgb","rgba","hsl","hsla","color"].indexOf(nt)===-1)throw new Error(formatMuiErrorMessage(9,et));let it=et.substring(tt+1,et.length-1),ot;if(nt==="color"){if(it=it.split(" "),ot=it.shift(),it.length===4&&it[3].charAt(0)==="/"&&(it[3]=it[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(ot)===-1)throw new Error(formatMuiErrorMessage(10,ot))}else it=it.split(",");return it=it.map(Ut=>parseFloat(Ut)),{type:nt,values:it,colorSpace:ot}}function recomposeColor(et){const{type:tt,colorSpace:nt}=et;let{values:it}=et;return tt.indexOf("rgb")!==-1?it=it.map((ot,Ut)=>Ut<3?parseInt(ot,10):ot):tt.indexOf("hsl")!==-1&&(it[1]=`${it[1]}%`,it[2]=`${it[2]}%`),tt.indexOf("color")!==-1?it=`${nt} ${it.join(" ")}`:it=`${it.join(", ")}`,`${tt}(${it})`}function hslToRgb(et){et=decomposeColor(et);const{values:tt}=et,nt=tt[0],it=tt[1]/100,ot=tt[2]/100,Ut=it*Math.min(ot,1-ot),Ft=(Vt,Wt=(Vt+nt/30)%12)=>ot-Ut*Math.max(Math.min(Wt-3,9-Wt,1),-1);let Qt="rgb";const Bt=[Math.round(Ft(0)*255),Math.round(Ft(8)*255),Math.round(Ft(4)*255)];return et.type==="hsla"&&(Qt+="a",Bt.push(tt[3])),recomposeColor({type:Qt,values:Bt})}function getLuminance(et){et=decomposeColor(et);let tt=et.type==="hsl"||et.type==="hsla"?decomposeColor(hslToRgb(et)).values:et.values;return tt=tt.map(nt=>(et.type!=="color"&&(nt/=255),nt<=.03928?nt/12.92:((nt+.055)/1.055)**2.4)),Number((.2126*tt[0]+.7152*tt[1]+.0722*tt[2]).toFixed(3))}function getContrastRatio(et,tt){const nt=getLuminance(et),it=getLuminance(tt);return(Math.max(nt,it)+.05)/(Math.min(nt,it)+.05)}function darken(et,tt){if(et=decomposeColor(et),tt=clamp(tt),et.type.indexOf("hsl")!==-1)et.values[2]*=1-tt;else if(et.type.indexOf("rgb")!==-1||et.type.indexOf("color")!==-1)for(let nt=0;nt<3;nt+=1)et.values[nt]*=1-tt;return recomposeColor(et)}function lighten(et,tt){if(et=decomposeColor(et),tt=clamp(tt),et.type.indexOf("hsl")!==-1)et.values[2]+=(100-et.values[2])*tt;else if(et.type.indexOf("rgb")!==-1)for(let nt=0;nt<3;nt+=1)et.values[nt]+=(255-et.values[nt])*tt;else if(et.type.indexOf("color")!==-1)for(let nt=0;nt<3;nt+=1)et.values[nt]+=(1-et.values[nt])*tt;return recomposeColor(et)}const EMPTY_THEME={};function InnerThemeProvider(et){const tt=useTheme();return jsx$1(ThemeContext$2.Provider,{value:typeof tt=="object"?tt:EMPTY_THEME,children:et.children})}function ThemeProvider(et){const{children:tt,theme:nt}=et;return jsx$1(ThemeProvider$1,{theme:nt,children:jsx$1(InnerThemeProvider,{children:tt})})}function createMixins(et,tt){return _extends$1({toolbar:{minHeight:56,[et.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[et.up("sm")]:{minHeight:64}}},tt)}const common$1={black:"#000",white:"#fff"},common$2=common$1,grey={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},grey$1=grey,purple={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},purple$1=purple,red={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},red$1=red,orange={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},orange$1=orange,blue={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},blue$1=blue,lightBlue={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},lightBlue$1=lightBlue,green={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},green$1=green,_excluded$4=["mode","contrastThreshold","tonalOffset"],light={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:common$2.white,default:common$2.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},dark={text:{primary:common$2.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:common$2.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function addLightOrDark(et,tt,nt,it){const ot=it.light||it,Ut=it.dark||it*1.5;et[tt]||(et.hasOwnProperty(nt)?et[tt]=et[nt]:tt==="light"?et.light=lighten(et.main,ot):tt==="dark"&&(et.dark=darken(et.main,Ut)))}function getDefaultPrimary(et="light"){return et==="dark"?{main:blue$1[200],light:blue$1[50],dark:blue$1[400]}:{main:blue$1[700],light:blue$1[400],dark:blue$1[800]}}function getDefaultSecondary(et="light"){return et==="dark"?{main:purple$1[200],light:purple$1[50],dark:purple$1[400]}:{main:purple$1[500],light:purple$1[300],dark:purple$1[700]}}function getDefaultError(et="light"){return et==="dark"?{main:red$1[500],light:red$1[300],dark:red$1[700]}:{main:red$1[700],light:red$1[400],dark:red$1[800]}}function getDefaultInfo(et="light"){return et==="dark"?{main:lightBlue$1[400],light:lightBlue$1[300],dark:lightBlue$1[700]}:{main:lightBlue$1[700],light:lightBlue$1[500],dark:lightBlue$1[900]}}function getDefaultSuccess(et="light"){return et==="dark"?{main:green$1[400],light:green$1[300],dark:green$1[700]}:{main:green$1[800],light:green$1[500],dark:green$1[900]}}function getDefaultWarning(et="light"){return et==="dark"?{main:orange$1[400],light:orange$1[300],dark:orange$1[700]}:{main:"#ed6c02",light:orange$1[500],dark:orange$1[900]}}function createPalette(et){const{mode:tt="light",contrastThreshold:nt=3,tonalOffset:it=.2}=et,ot=_objectWithoutPropertiesLoose$1(et,_excluded$4),Ut=et.primary||getDefaultPrimary(tt),Ft=et.secondary||getDefaultSecondary(tt),Qt=et.error||getDefaultError(tt),Bt=et.info||getDefaultInfo(tt),Vt=et.success||getDefaultSuccess(tt),Wt=et.warning||getDefaultWarning(tt);function Xt(Gt){return getContrastRatio(Gt,dark.text.primary)>=nt?dark.text.primary:light.text.primary}const Zt=({color:Gt,name:en,mainShade:tn=500,lightShade:ln=300,darkShade:nn=700})=>{if(Gt=_extends$1({},Gt),!Gt.main&&Gt[tn]&&(Gt.main=Gt[tn]),!Gt.hasOwnProperty("main"))throw new Error(formatMuiErrorMessage(11,en?` (${en})`:"",tn));if(typeof Gt.main!="string")throw new Error(formatMuiErrorMessage(12,en?` (${en})`:"",JSON.stringify(Gt.main)));return addLightOrDark(Gt,"light",ln,it),addLightOrDark(Gt,"dark",nn,it),Gt.contrastText||(Gt.contrastText=Xt(Gt.main)),Gt},Yt={dark,light};return deepmerge(_extends$1({common:_extends$1({},common$2),mode:tt,primary:Zt({color:Ut,name:"primary"}),secondary:Zt({color:Ft,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:Zt({color:Qt,name:"error"}),warning:Zt({color:Wt,name:"warning"}),info:Zt({color:Bt,name:"info"}),success:Zt({color:Vt,name:"success"}),grey:grey$1,contrastThreshold:nt,getContrastText:Xt,augmentColor:Zt,tonalOffset:it},Yt[tt]),ot)}const _excluded$3=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function round$1(et){return Math.round(et*1e5)/1e5}const caseAllCaps={textTransform:"uppercase"},defaultFontFamily='"Roboto", "Helvetica", "Arial", sans-serif';function createTypography(et,tt){const nt=typeof tt=="function"?tt(et):tt,{fontFamily:it=defaultFontFamily,fontSize:ot=14,fontWeightLight:Ut=300,fontWeightRegular:Ft=400,fontWeightMedium:Qt=500,fontWeightBold:Bt=700,htmlFontSize:Vt=16,allVariants:Wt,pxToRem:Xt}=nt,Zt=_objectWithoutPropertiesLoose$1(nt,_excluded$3),Yt=ot/14,Mt=Xt||(tn=>`${tn/Vt*Yt}rem`),Gt=(tn,ln,nn,sn,Kt)=>_extends$1({fontFamily:it,fontWeight:tn,fontSize:Mt(ln),lineHeight:nn},it===defaultFontFamily?{letterSpacing:`${round$1(sn/ln)}em`}:{},Kt,Wt),en={h1:Gt(Ut,96,1.167,-1.5),h2:Gt(Ut,60,1.2,-.5),h3:Gt(Ft,48,1.167,0),h4:Gt(Ft,34,1.235,.25),h5:Gt(Ft,24,1.334,0),h6:Gt(Qt,20,1.6,.15),subtitle1:Gt(Ft,16,1.75,.15),subtitle2:Gt(Qt,14,1.57,.1),body1:Gt(Ft,16,1.5,.15),body2:Gt(Ft,14,1.43,.15),button:Gt(Qt,14,1.75,.4,caseAllCaps),caption:Gt(Ft,12,1.66,.4),overline:Gt(Ft,12,2.66,1,caseAllCaps)};return deepmerge(_extends$1({htmlFontSize:Vt,pxToRem:Mt,fontFamily:it,fontSize:ot,fontWeightLight:Ut,fontWeightRegular:Ft,fontWeightMedium:Qt,fontWeightBold:Bt},en),Zt,{clone:!1})}const shadowKeyUmbraOpacity=.2,shadowKeyPenumbraOpacity=.14,shadowAmbientShadowOpacity=.12;function createShadow(...et){return[`${et[0]}px ${et[1]}px ${et[2]}px ${et[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`,`${et[4]}px ${et[5]}px ${et[6]}px ${et[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`,`${et[8]}px ${et[9]}px ${et[10]}px ${et[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(",")}const shadows=["none",createShadow(0,2,1,-1,0,1,1,0,0,1,3,0),createShadow(0,3,1,-2,0,2,2,0,0,1,5,0),createShadow(0,3,3,-2,0,3,4,0,0,1,8,0),createShadow(0,2,4,-1,0,4,5,0,0,1,10,0),createShadow(0,3,5,-1,0,5,8,0,0,1,14,0),createShadow(0,3,5,-1,0,6,10,0,0,1,18,0),createShadow(0,4,5,-2,0,7,10,1,0,2,16,1),createShadow(0,5,5,-3,0,8,10,1,0,3,14,2),createShadow(0,5,6,-3,0,9,12,1,0,3,16,2),createShadow(0,6,6,-3,0,10,14,1,0,4,18,3),createShadow(0,6,7,-4,0,11,15,1,0,4,20,3),createShadow(0,7,8,-4,0,12,17,2,0,5,22,4),createShadow(0,7,8,-4,0,13,19,2,0,5,24,4),createShadow(0,7,9,-4,0,14,21,2,0,5,26,4),createShadow(0,8,9,-5,0,15,22,2,0,6,28,5),createShadow(0,8,10,-5,0,16,24,2,0,6,30,5),createShadow(0,8,11,-5,0,17,26,2,0,6,32,5),createShadow(0,9,11,-5,0,18,28,2,0,7,34,6),createShadow(0,9,12,-6,0,19,29,2,0,7,36,6),createShadow(0,10,13,-6,0,20,31,3,0,8,38,7),createShadow(0,10,13,-6,0,21,33,3,0,8,40,7),createShadow(0,10,14,-6,0,22,35,3,0,8,42,7),createShadow(0,11,14,-7,0,23,36,3,0,9,44,8),createShadow(0,11,15,-7,0,24,38,3,0,9,46,8)],shadows$1=shadows,_excluded$2=["duration","easing","delay"],easing={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},duration$1={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function formatMs(et){return`${Math.round(et)}ms`}function getAutoHeightDuration(et){if(!et)return 0;const tt=et/36;return Math.round((4+15*tt**.25+tt/5)*10)}function createTransitions(et){const tt=_extends$1({},easing,et.easing),nt=_extends$1({},duration$1,et.duration);return _extends$1({getAutoHeightDuration,create:(ot=["all"],Ut={})=>{const{duration:Ft=nt.standard,easing:Qt=tt.easeInOut,delay:Bt=0}=Ut;return _objectWithoutPropertiesLoose$1(Ut,_excluded$2),(Array.isArray(ot)?ot:[ot]).map(Vt=>`${Vt} ${typeof Ft=="string"?Ft:formatMs(Ft)} ${Qt} ${typeof Bt=="string"?Bt:formatMs(Bt)}`).join(",")}},et,{easing:tt,duration:nt})}const zIndex={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},zIndex$1=zIndex,_excluded$1=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function createTheme(et={},...tt){const{mixins:nt={},palette:it={},transitions:ot={},typography:Ut={}}=et,Ft=_objectWithoutPropertiesLoose$1(et,_excluded$1);if(et.vars)throw new Error(formatMuiErrorMessage(18));const Qt=createPalette(it),Bt=createTheme$1(et);let Vt=deepmerge(Bt,{mixins:createMixins(Bt.breakpoints,nt),palette:Qt,shadows:shadows$1.slice(),typography:createTypography(Qt,Ut),transitions:createTransitions(ot),zIndex:_extends$1({},zIndex$1)});return Vt=deepmerge(Vt,Ft),Vt=tt.reduce((Wt,Xt)=>deepmerge(Wt,Xt),Vt),Vt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,Ft==null?void 0:Ft.unstable_sxConfig),Vt.unstable_sx=function(Xt){return styleFunctionSx$1({sx:Xt,theme:this})},Vt}const defaultTheme=createTheme(),defaultTheme$1=defaultTheme;function useThemeProps({props:et,name:tt}){return useThemeProps$1({props:et,name:tt,defaultTheme:defaultTheme$1})}function GlobalStyles(et){return jsx$1(GlobalStyles$1,_extends$1({},et,{defaultTheme:defaultTheme$1}))}const html=(et,tt)=>_extends$1({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},tt&&!et.vars&&{colorScheme:et.palette.mode}),body=et=>_extends$1({color:(et.vars||et).palette.text.primary},et.typography.body1,{backgroundColor:(et.vars||et).palette.background.default,"@media print":{backgroundColor:(et.vars||et).palette.common.white}}),styles=(et,tt=!1)=>{var nt,it;const ot={};tt&&et.colorSchemes&&Object.entries(et.colorSchemes).forEach(([Qt,Bt])=>{var Vt;ot[et.getColorSchemeSelector(Qt).replace(/\s*&/,"")]={colorScheme:(Vt=Bt.palette)==null?void 0:Vt.mode}});let Ut=_extends$1({html:html(et,tt),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:et.typography.fontWeightBold},body:_extends$1({margin:0},body(et),{"&::backdrop":{backgroundColor:(et.vars||et).palette.background.default}})},ot);const Ft=(nt=et.components)==null||(it=nt.MuiCssBaseline)==null?void 0:it.styleOverrides;return Ft&&(Ut=[Ut,Ft]),Ut};function CssBaseline(et){const tt=useThemeProps({props:et,name:"MuiCssBaseline"}),{children:nt,enableColorScheme:it=!1}=tt;return jsxs$1(reactExports.Fragment,{children:[jsx$1(GlobalStyles,{styles:ot=>styles(ot,it)}),nt]})}const rootShouldForwardProp=et=>shouldForwardProp(et)&&et!=="classes",styled=createStyled({defaultTheme:defaultTheme$1,rootShouldForwardProp}),styled$1=styled;function getScopedCssBaselineUtilityClass(et){return generateUtilityClass("MuiScopedCssBaseline",et)}generateUtilityClasses("MuiScopedCssBaseline",["root"]);const _excluded=["className","component","enableColorScheme"],useUtilityClasses=et=>{const{classes:tt}=et;return composeClasses({root:["root"]},getScopedCssBaselineUtilityClass,tt)},ScopedCssBaselineRoot=styled$1("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(et,tt)=>tt.root})(({theme:et,ownerState:tt})=>{const nt={};return tt.enableColorScheme&&et.colorSchemes&&Object.entries(et.colorSchemes).forEach(([it,ot])=>{var Ut;nt[`&${et.getColorSchemeSelector(it).replace(/\s*&/,"")}`]={colorScheme:(Ut=ot.palette)==null?void 0:Ut.mode}}),_extends$1({},html(et,tt.enableColorScheme),body(et),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:et.typography.fontWeightBold}},nt)}),ScopedCssBaseline=reactExports.forwardRef(function(tt,nt){const it=useThemeProps({props:tt,name:"MuiScopedCssBaseline"}),{className:ot,component:Ut="div"}=it,Ft=_objectWithoutPropertiesLoose$1(it,_excluded),Qt=_extends$1({},it,{component:Ut}),Bt=useUtilityClasses(Qt);return jsx$1(ScopedCssBaselineRoot,_extends$1({as:Ut,className:clsx(Bt.root,ot),ref:nt,ownerState:Qt},Ft))}),D0=ScopedCssBaseline;var base64Exports={},base64={get exports(){return base64Exports},set exports(et){base64Exports=et}};/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */(function(et,tt){(function(nt){var it=tt,ot=et&&et.exports==it&&et,Ut=typeof commonjsGlobal=="object"&&commonjsGlobal;(Ut.global===Ut||Ut.window===Ut)&&(nt=Ut);var Ft=function(Mt){this.message=Mt};Ft.prototype=new Error,Ft.prototype.name="InvalidCharacterError";var Qt=function(Mt){throw new Ft(Mt)},Bt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Vt=/[\t\n\f\r ]/g,Wt=function(Mt){Mt=String(Mt).replace(Vt,"");var Gt=Mt.length;Gt%4==0&&(Mt=Mt.replace(/==?$/,""),Gt=Mt.length),(Gt%4==1||/[^+a-zA-Z0-9/]/.test(Mt))&&Qt("Invalid character: the string to be decoded is not correctly encoded.");for(var en=0,tn,ln,nn="",sn=-1;++sn>(-2*en&6)));return nn},Xt=function(Mt){Mt=String(Mt),/[^\0-\xFF]/.test(Mt)&&Qt("The string to be encoded contains characters outside of the Latin1 range.");for(var Gt=Mt.length%3,en="",tn=-1,ln,nn,sn,Kt,dn=Mt.length-Gt;++tn>18&63)+Bt.charAt(Kt>>12&63)+Bt.charAt(Kt>>6&63)+Bt.charAt(Kt&63);return Gt==2?(ln=Mt.charCodeAt(tn)<<8,nn=Mt.charCodeAt(++tn),Kt=ln+nn,en+=Bt.charAt(Kt>>10)+Bt.charAt(Kt>>4&63)+Bt.charAt(Kt<<2&63)+"="):Gt==1&&(Kt=Mt.charCodeAt(tn),en+=Bt.charAt(Kt>>2)+Bt.charAt(Kt<<4&63)+"=="),en},Zt={encode:Xt,decode:Wt,version:"1.0.0"};if(it&&!it.nodeType)if(ot)ot.exports=Zt;else for(var Yt in Zt)Zt.hasOwnProperty(Yt)&&(it[Yt]=Zt[Yt]);else nt.base64=Zt})(commonjsGlobal)})(base64,base64Exports);function _typeof$1(et){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(tt){return typeof tt}:function(tt){return tt&&typeof Symbol=="function"&&tt.constructor===Symbol&&tt!==Symbol.prototype?"symbol":typeof tt},_typeof$1(et)}function toInteger(et){if(et===null||et===!0||et===!1)return NaN;var tt=Number(et);return isNaN(tt)?tt:tt<0?Math.ceil(tt):Math.floor(tt)}function requiredArgs(et,tt){if(tt.length1?"s":"")+" required, but only "+tt.length+" present")}function toDate(et){requiredArgs(1,arguments);var tt=Object.prototype.toString.call(et);return et instanceof Date||_typeof$1(et)==="object"&&tt==="[object Date]"?new Date(et.getTime()):typeof et=="number"||tt==="[object Number]"?new Date(et):((typeof et=="string"||tt==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function addDays(et,tt){requiredArgs(2,arguments);var nt=toDate(et),it=toInteger(tt);return isNaN(it)?new Date(NaN):(it&&nt.setDate(nt.getDate()+it),nt)}function addMonths(et,tt){requiredArgs(2,arguments);var nt=toDate(et),it=toInteger(tt);if(isNaN(it))return new Date(NaN);if(!it)return nt;var ot=nt.getDate(),Ut=new Date(nt.getTime());Ut.setMonth(nt.getMonth()+it+1,0);var Ft=Ut.getDate();return ot>=Ft?Ut:(nt.setFullYear(Ut.getFullYear(),Ut.getMonth(),ot),nt)}function addMilliseconds(et,tt){requiredArgs(2,arguments);var nt=toDate(et).getTime(),it=toInteger(tt);return new Date(nt+it)}var MILLISECONDS_IN_HOUR=36e5;function addHours(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addMilliseconds(et,nt*MILLISECONDS_IN_HOUR)}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(et,tt){var nt,it,ot,Ut,Ft,Qt,Bt,Vt;requiredArgs(1,arguments);var Wt=getDefaultOptions(),Xt=toInteger((nt=(it=(ot=(Ut=tt==null?void 0:tt.weekStartsOn)!==null&&Ut!==void 0?Ut:tt==null||(Ft=tt.locale)===null||Ft===void 0||(Qt=Ft.options)===null||Qt===void 0?void 0:Qt.weekStartsOn)!==null&&ot!==void 0?ot:Wt.weekStartsOn)!==null&&it!==void 0?it:(Bt=Wt.locale)===null||Bt===void 0||(Vt=Bt.options)===null||Vt===void 0?void 0:Vt.weekStartsOn)!==null&&nt!==void 0?nt:0);if(!(Xt>=0&&Xt<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var Zt=toDate(et),Yt=Zt.getDay(),Mt=(Yt=Ft)throw new RangeError("Invalid interval");var Qt=[],Bt=it,Vt=Number((nt=tt==null?void 0:tt.step)!==null&&nt!==void 0?nt:1);if(Vt<1||isNaN(Vt))throw new RangeError("`options.step` must be a number equal to or greater than 1");for(;Bt.getTime()<=Ft;)Qt.push(toDate(Bt)),Bt=addMinutes(Bt,Vt);return Qt}function eachMonthOfInterval(et){requiredArgs(1,arguments);var tt=et||{},nt=toDate(tt.start),it=toDate(tt.end),ot=it.getTime(),Ut=[];if(!(nt.getTime()<=ot))throw new RangeError("Invalid interval");var Ft=nt;for(Ft.setHours(0,0,0,0),Ft.setDate(1);Ft.getTime()<=ot;)Ut.push(toDate(Ft)),Ft.setMonth(Ft.getMonth()+1);return Ut}function startOfQuarter(et){requiredArgs(1,arguments);var tt=toDate(et),nt=tt.getMonth(),it=nt-nt%3;return tt.setMonth(it,1),tt.setHours(0,0,0,0),tt}function eachQuarterOfInterval(et){requiredArgs(1,arguments);var tt=et||{},nt=toDate(tt.start),it=toDate(tt.end),ot=it.getTime();if(!(nt.getTime()<=ot))throw new RangeError("Invalid interval");var Ut=startOfQuarter(nt),Ft=startOfQuarter(it);ot=Ft.getTime();for(var Qt=[],Bt=Ut;Bt.getTime()<=ot;)Qt.push(toDate(Bt)),Bt=addQuarters(Bt,1);return Qt}function eachWeekOfInterval(et,tt){requiredArgs(1,arguments);var nt=et||{},it=toDate(nt.start),ot=toDate(nt.end),Ut=ot.getTime();if(!(it.getTime()<=Ut))throw new RangeError("Invalid interval");var Ft=startOfWeek(it,tt),Qt=startOfWeek(ot,tt);Ft.setHours(15),Qt.setHours(15),Ut=Qt.getTime();for(var Bt=[],Vt=Ft;Vt.getTime()<=Ut;)Vt.setHours(0),Bt.push(toDate(Vt)),Vt=addWeeks(Vt,1),Vt.setHours(15);return Bt}function startOfMonth(et){requiredArgs(1,arguments);var tt=toDate(et);return tt.setDate(1),tt.setHours(0,0,0,0),tt}function endOfYear(et){requiredArgs(1,arguments);var tt=toDate(et),nt=tt.getFullYear();return tt.setFullYear(nt+1,0,0),tt.setHours(23,59,59,999),tt}function startOfYear(et){requiredArgs(1,arguments);var tt=toDate(et),nt=new Date(0);return nt.setFullYear(tt.getFullYear(),0,1),nt.setHours(0,0,0,0),nt}function eachYearOfInterval(et){requiredArgs(1,arguments);var tt=et||{},nt=toDate(tt.start),it=toDate(tt.end),ot=it.getTime();if(!(nt.getTime()<=ot))throw new RangeError("Invalid interval");var Ut=[],Ft=nt;for(Ft.setHours(0,0,0,0),Ft.setMonth(0,1);Ft.getTime()<=ot;)Ut.push(toDate(Ft)),Ft.setFullYear(Ft.getFullYear()+1);return Ut}function endOfHour(et){requiredArgs(1,arguments);var tt=toDate(et);return tt.setMinutes(59,59,999),tt}function endOfWeek(et,tt){var nt,it,ot,Ut,Ft,Qt,Bt,Vt;requiredArgs(1,arguments);var Wt=getDefaultOptions(),Xt=toInteger((nt=(it=(ot=(Ut=tt==null?void 0:tt.weekStartsOn)!==null&&Ut!==void 0?Ut:tt==null||(Ft=tt.locale)===null||Ft===void 0||(Qt=Ft.options)===null||Qt===void 0?void 0:Qt.weekStartsOn)!==null&&ot!==void 0?ot:Wt.weekStartsOn)!==null&&it!==void 0?it:(Bt=Wt.locale)===null||Bt===void 0||(Vt=Bt.options)===null||Vt===void 0?void 0:Vt.weekStartsOn)!==null&&nt!==void 0?nt:0);if(!(Xt>=0&&Xt<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var Zt=toDate(et),Yt=Zt.getDay(),Mt=(Yt=1&&Yt<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var Mt=new Date(0);Mt.setFullYear(Xt+1,0,Yt),Mt.setHours(0,0,0,0);var Gt=startOfWeek(Mt,tt),en=new Date(0);en.setFullYear(Xt,0,Yt),en.setHours(0,0,0,0);var tn=startOfWeek(en,tt);return Wt.getTime()>=Gt.getTime()?Xt+1:Wt.getTime()>=tn.getTime()?Xt:Xt-1}function startOfWeekYear(et,tt){var nt,it,ot,Ut,Ft,Qt,Bt,Vt;requiredArgs(1,arguments);var Wt=getDefaultOptions(),Xt=toInteger((nt=(it=(ot=(Ut=tt==null?void 0:tt.firstWeekContainsDate)!==null&&Ut!==void 0?Ut:tt==null||(Ft=tt.locale)===null||Ft===void 0||(Qt=Ft.options)===null||Qt===void 0?void 0:Qt.firstWeekContainsDate)!==null&&ot!==void 0?ot:Wt.firstWeekContainsDate)!==null&&it!==void 0?it:(Bt=Wt.locale)===null||Bt===void 0||(Vt=Bt.options)===null||Vt===void 0?void 0:Vt.firstWeekContainsDate)!==null&&nt!==void 0?nt:1),Zt=getWeekYear(et,tt),Yt=new Date(0);Yt.setFullYear(Zt,0,Xt),Yt.setHours(0,0,0,0);var Mt=startOfWeek(Yt,tt);return Mt}var MILLISECONDS_IN_WEEK=6048e5;function getWeek(et,tt){requiredArgs(1,arguments);var nt=toDate(et),it=startOfWeek(nt,tt).getTime()-startOfWeekYear(nt,tt).getTime();return Math.round(it/MILLISECONDS_IN_WEEK)+1}function getYear(et){return requiredArgs(1,arguments),toDate(et).getFullYear()}function startOfHour(et){requiredArgs(1,arguments);var tt=toDate(et);return tt.setMinutes(0,0,0),tt}function subDays(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addDays(et,-nt)}function roundToNearestMinutes(et,tt){var nt;if(arguments.length<1)throw new TypeError("1 argument required, but only none provided present");var it=toInteger((nt=tt==null?void 0:tt.nearestTo)!==null&&nt!==void 0?nt:1);if(it<1||it>30)throw new RangeError("`options.nearestTo` must be between 1 and 30");var ot=toDate(et),Ut=ot.getSeconds(),Ft=ot.getMinutes()+Ut/60,Qt=getRoundingMethod(tt==null?void 0:tt.roundingMethod),Bt=Qt(Ft/it)*it,Vt=Ft%it,Wt=Math.round(Vt/it)*it;return new Date(ot.getFullYear(),ot.getMonth(),ot.getDate(),ot.getHours(),Bt+Wt)}function subMonths(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addMonths(et,-nt)}function subHours(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addHours(et,-nt)}function subMinutes(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addMinutes(et,-nt)}function subQuarters(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addQuarters(et,-nt)}function subWeeks(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addWeeks(et,-nt)}function subYears(et,tt){requiredArgs(2,arguments);var nt=toInteger(tt);return addYears(et,-nt)}var distExports={},dist={get exports(){return distExports},set exports(et){distExports=et}};/*! For license information please see index.js.LICENSE.txt */(function(module,exports){(function(et,tt){module.exports=tt()})(window,function(){return function(et){function tt(Vt){for(var Wt,Xt,Zt=Vt[0],Yt=Vt[1],Mt=0,Gt=[];Mt1?"s":"")+" required, but only "+An.length+" present")}function Vt(Wn){if(Wn===null||Wn===!0||Wn===!1)return NaN;var An=Number(Wn);return isNaN(An)?An:An<0?Math.ceil(An):Math.floor(An)}var Wt={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Xt=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Zt=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Yt=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Mt(Wn){var An,Pn={},jn=Wn.split(Wt.dateTimeDelimiter);if(jn.length>2)return Pn;if(/:/.test(jn[0])?An=jn[0]:(Pn.date=jn[0],An=jn[1],Wt.timeZoneDelimiter.test(Pn.date)&&(Pn.date=Wn.split(Wt.timeZoneDelimiter)[0],An=Wn.substr(Pn.date.length,Wn.length))),An){var $n=Wt.timezone.exec(An);$n?(Pn.time=An.replace($n[1],""),Pn.timezone=$n[1]):Pn.time=An}return Pn}function Gt(Wn,An){var Pn=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+An)+"})|(\\d{2}|[+-]\\d{"+(2+An)+"})$)"),jn=Wn.match(Pn);if(!jn)return{year:NaN,restDateString:""};var $n=jn[1]?parseInt(jn[1]):null,pr=jn[2]?parseInt(jn[2]):null;return{year:pr===null?$n:100*pr,restDateString:Wn.slice((jn[1]||jn[2]).length)}}function en(Wn,An){if(An===null)return new Date(NaN);var Pn=Wn.match(Xt);if(!Pn)return new Date(NaN);var jn=!!Pn[4],$n=tn(Pn[1]),pr=tn(Pn[2])-1,Sr=tn(Pn[3]),Qr=tn(Pn[4]),Ir=tn(Pn[5])-1;if(jn)return function(Rr,wr,br){return wr>=1&&wr<=53&&br>=0&&br<=6}(0,Qr,Ir)?function(Rr,wr,br){var Nr=new Date(0);Nr.setUTCFullYear(Rr,0,4);var kr=Nr.getUTCDay()||7,_i=7*(wr-1)+br+1-kr;return Nr.setUTCDate(Nr.getUTCDate()+_i),Nr}(An,Qr,Ir):new Date(NaN);var yr=new Date(0);return function(Rr,wr,br){return wr>=0&&wr<=11&&br>=1&&br<=(Kt[wr]||(dn(Rr)?29:28))}(An,pr,Sr)&&function(Rr,wr){return wr>=1&&wr<=(dn(Rr)?366:365)}(An,$n)?(yr.setUTCFullYear(An,pr,Math.max($n,Sr)),yr):new Date(NaN)}function tn(Wn){return Wn?parseInt(Wn):1}function ln(Wn){var An=Wn.match(Zt);if(!An)return NaN;var Pn=nn(An[1]),jn=nn(An[2]),$n=nn(An[3]);return function(pr,Sr,Qr){return pr===24?Sr===0&&Qr===0:Qr>=0&&Qr<60&&Sr>=0&&Sr<60&&pr>=0&&pr<25}(Pn,jn,$n)?36e5*Pn+6e4*jn+1e3*$n:NaN}function nn(Wn){return Wn&&parseFloat(Wn.replace(",","."))||0}function sn(Wn){if(Wn==="Z")return 0;var An=Wn.match(Yt);if(!An)return 0;var Pn=An[1]==="+"?-1:1,jn=parseInt(An[2]),$n=An[3]&&parseInt(An[3])||0;return function(pr,Sr){return Sr>=0&&Sr<=59}(0,$n)?Pn*(36e5*jn+6e4*$n):NaN}var Kt=[31,null,31,30,31,30,31,31,30,31,30,31];function dn(Wn){return Wn%400==0||Wn%4==0&&Wn%100!=0}function Qn(Wn){return(Qn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(An){return typeof An}:function(An){return An&&typeof Symbol=="function"&&An.constructor===Symbol&&An!==Symbol.prototype?"symbol":typeof An})(Wn)}function En(Wn){return Bt(1,arguments),Wn instanceof Date||Qn(Wn)==="object"&&Object.prototype.toString.call(Wn)==="[object Date]"}function an(Wn){return(an=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(An){return typeof An}:function(An){return An&&typeof Symbol=="function"&&An.constructor===Symbol&&An!==Symbol.prototype?"symbol":typeof An})(Wn)}function rn(Wn){Bt(1,arguments);var An=Object.prototype.toString.call(Wn);return Wn instanceof Date||an(Wn)==="object"&&An==="[object Date]"?new Date(Wn.getTime()):typeof Wn=="number"||An==="[object Number]"?new Date(Wn):(typeof Wn!="string"&&An!=="[object String]"||typeof console>"u"||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function gn(Wn){const An=function(Pn,jn){var $n;Bt(1,arguments);var pr=Vt(($n=jn==null?void 0:jn.additionalDigits)!==null&&$n!==void 0?$n:2);if(pr!==2&&pr!==1&&pr!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(typeof Pn!="string"&&Object.prototype.toString.call(Pn)!=="[object String]")return new Date(NaN);var Sr,Qr=Mt(Pn);if(Qr.date){var Ir=Gt(Qr.date,pr);Sr=en(Ir.restDateString,Ir.year)}if(!Sr||isNaN(Sr.getTime()))return new Date(NaN);var yr,Rr=Sr.getTime(),wr=0;if(Qr.time&&(wr=ln(Qr.time),isNaN(wr)))return new Date(NaN);if(!Qr.timezone){var br=new Date(Rr+wr),Nr=new Date(0);return Nr.setFullYear(br.getUTCFullYear(),br.getUTCMonth(),br.getUTCDate()),Nr.setHours(br.getUTCHours(),br.getUTCMinutes(),br.getUTCSeconds(),br.getUTCMilliseconds()),Nr}return yr=sn(Qr.timezone),isNaN(yr)?new Date(NaN):new Date(Rr+wr+yr)}(Wn);if(!function(Pn){if(Bt(1,arguments),!En(Pn)&&typeof Pn!="number")return!1;var jn=rn(Pn);return!isNaN(Number(jn))}(An))throw new Error(`Invalid ISO 8601 date string (${Wn})`);return An}const un=Math.pow(2,20),Un=un;var _n=nt(4),vn=nt(30);function pn(Wn){return Ft()(Wn,{cycles:!0})}var Rn=function(Wn,An){var Pn={};for(var jn in Wn)Object.prototype.hasOwnProperty.call(Wn,jn)&&An.indexOf(jn)<0&&(Pn[jn]=Wn[jn]);if(Wn!=null&&typeof Object.getOwnPropertySymbols=="function"){var $n=0;for(jn=Object.getOwnPropertySymbols(Wn);$nPn?Object(vn.a)(Ir):Ir;if(!Wn.stack)return{message:pn(jn(Wn))};const{name:$n,message:pr,stack:Sr}=Wn,Qr=Rn(Wn,["name","message","stack"]);return{name:$n,message:pr!==void 0?pr:pn(jn(Wn)),stack:Sr,meta:Qr&&Object.keys(Qr).length===0?void 0:jn(Qr)}}function fn(Wn,An={}){const{message:Pn,stack:jn,meta:$n}=Sn(Wn,An);return`${jn||Pn||""}${$n&&Object.keys($n).length>0?` -- ${pn($n)}`:""}`}var cn=nt(39),bn=nt(102),Vn=nt.n(bn),Mn=function(Wn,An,Pn,jn){return new(Pn||(Pn=Promise))(function($n,pr){function Sr(yr){try{Ir(jn.next(yr))}catch(Rr){pr(Rr)}}function Qr(yr){try{Ir(jn.throw(yr))}catch(Rr){pr(Rr)}}function Ir(yr){var Rr;yr.done?$n(yr.value):(Rr=yr.value,Rr instanceof Pn?Rr:new Pn(function(wr){wr(Rr)})).then(Sr,Qr)}Ir((jn=jn.apply(Wn,An||[])).next())})},Zn=function(Wn,An){var Pn={};for(var jn in Wn)Object.prototype.hasOwnProperty.call(Wn,jn)&&An.indexOf(jn)<0&&(Pn[jn]=Wn[jn]);if(Wn!=null&&typeof Object.getOwnPropertySymbols=="function"){var $n=0;for(jn=Object.getOwnPropertySymbols(Wn);$n{var{timestamp:An,level:Pn,message:jn,error:$n}=Wn,pr=Cn(Wn,["timestamp","level","message","error"]);const Sr=Object.assign(Object.assign({timestamp:An?gn(An).getTime():new Date().getTime(),level:Pn.toUpperCase(),message:jn},$n?{error:Sn($n)}:{}),{meta:Object.assign(Object.assign({},kn),pr)});return Ft()(Sr,{cycles:!0})}):Qt.format.printf(Wn=>{var{timestamp:An,level:Pn,message:jn,error:$n}=Wn,pr=Cn(Wn,["timestamp","level","message","error"]);let Sr=`${An||new Date().toISOString()} ${Pn.toUpperCase()}: ${jn} `;return Object.keys(pr).length>0&&(Sr+=Ft()(pr,{cycles:!0})),$n&&(Sr+=` -${fn($n)}`),Sr}),Fn=Object(Qt.createLogger)({level:_n.f});if(Fn.add(new Qt.transports.Console({format:hn,level:"debug"})),Fn.transports.forEach(Wn=>{Wn.silent=!_n.g}),_n.d&&Fn.add(new In(_n.d,kn)),_n.h){const Wn=ot.resolve(it.tmpdir(),`silly-${_n.a}.log`);Fn.debug("Logging silly logs to file",{filename:Wn}),Fn.add(new Qt.transports.File({filename:Wn,maxsize:1*Un,maxFiles:10,format:Qt.format.combine((wn="silly",Object(Qt.format)(An=>An.level===wn&&An)()),hn),level:"silly"}))}var wn},function(et,tt,nt){nt.d(tt,"a",function(){return it});const it={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:2592e6,year:31536e6}},function(et,tt){var nt,it,ot=et.exports={};function Ut(){throw new Error("setTimeout has not been defined")}function Ft(){throw new Error("clearTimeout has not been defined")}function Qt(en){if(nt===setTimeout)return setTimeout(en,0);if((nt===Ut||!nt)&&setTimeout)return nt=setTimeout,setTimeout(en,0);try{return nt(en,0)}catch{try{return nt.call(null,en,0)}catch{return nt.call(this,en,0)}}}(function(){try{nt=typeof setTimeout=="function"?setTimeout:Ut}catch{nt=Ut}try{it=typeof clearTimeout=="function"?clearTimeout:Ft}catch{it=Ft}})();var Bt,Vt=[],Wt=!1,Xt=-1;function Zt(){Wt&&Bt&&(Wt=!1,Bt.length?Vt=Bt.concat(Vt):Xt=-1,Vt.length&&Yt())}function Yt(){if(!Wt){var en=Qt(Zt);Wt=!0;for(var tn=Vt.length;tn;){for(Bt=Vt,Vt=[];++Xt1)for(var ln=1;ln=Qt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Qt().toString(16)+" bytes");return 0|hn}function Gt(hn,Fn){if(Vt.isBuffer(hn))return hn.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(hn)||hn instanceof ArrayBuffer))return hn.byteLength;typeof hn!="string"&&(hn=""+hn);var wn=hn.length;if(wn===0)return 0;for(var Wn=!1;;)switch(Fn){case"ascii":case"latin1":case"binary":return wn;case"utf8":case"utf-8":case void 0:return In(hn).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*wn;case"hex":return wn>>>1;case"base64":return Cn(hn).length;default:if(Wn)return In(hn).length;Fn=(""+Fn).toLowerCase(),Wn=!0}}function en(hn,Fn,wn){var Wn=!1;if((Fn===void 0||Fn<0)&&(Fn=0),Fn>this.length||((wn===void 0||wn>this.length)&&(wn=this.length),wn<=0)||(wn>>>=0)<=(Fn>>>=0))return"";for(hn||(hn="utf8");;)switch(hn){case"hex":return _n(this,Fn,wn);case"utf8":case"utf-8":return gn(this,Fn,wn);case"ascii":return un(this,Fn,wn);case"latin1":case"binary":return Un(this,Fn,wn);case"base64":return rn(this,Fn,wn);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return vn(this,Fn,wn);default:if(Wn)throw new TypeError("Unknown encoding: "+hn);hn=(hn+"").toLowerCase(),Wn=!0}}function tn(hn,Fn,wn){var Wn=hn[Fn];hn[Fn]=hn[wn],hn[wn]=Wn}function ln(hn,Fn,wn,Wn,An){if(hn.length===0)return-1;if(typeof wn=="string"?(Wn=wn,wn=0):wn>2147483647?wn=2147483647:wn<-2147483648&&(wn=-2147483648),wn=+wn,isNaN(wn)&&(wn=An?0:hn.length-1),wn<0&&(wn=hn.length+wn),wn>=hn.length){if(An)return-1;wn=hn.length-1}else if(wn<0){if(!An)return-1;wn=0}if(typeof Fn=="string"&&(Fn=Vt.from(Fn,Wn)),Vt.isBuffer(Fn))return Fn.length===0?-1:nn(hn,Fn,wn,Wn,An);if(typeof Fn=="number")return Fn&=255,Vt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?An?Uint8Array.prototype.indexOf.call(hn,Fn,wn):Uint8Array.prototype.lastIndexOf.call(hn,Fn,wn):nn(hn,[Fn],wn,Wn,An);throw new TypeError("val must be string, number or Buffer")}function nn(hn,Fn,wn,Wn,An){var Pn,jn=1,$n=hn.length,pr=Fn.length;if(Wn!==void 0&&((Wn=String(Wn).toLowerCase())==="ucs2"||Wn==="ucs-2"||Wn==="utf16le"||Wn==="utf-16le")){if(hn.length<2||Fn.length<2)return-1;jn=2,$n/=2,pr/=2,wn/=2}function Sr(Rr,wr){return jn===1?Rr[wr]:Rr.readUInt16BE(wr*jn)}if(An){var Qr=-1;for(Pn=wn;Pn<$n;Pn++)if(Sr(hn,Pn)===Sr(Fn,Qr===-1?0:Pn-Qr)){if(Qr===-1&&(Qr=Pn),Pn-Qr+1===pr)return Qr*jn}else Qr!==-1&&(Pn-=Pn-Qr),Qr=-1}else for(wn+pr>$n&&(wn=$n-pr),Pn=wn;Pn>=0;Pn--){for(var Ir=!0,yr=0;yrAn&&(Wn=An):Wn=An;var Pn=Fn.length;if(Pn%2!=0)throw new TypeError("Invalid hex string");Wn>Pn/2&&(Wn=Pn/2);for(var jn=0;jn>8,pr=jn%256,Sr.push(pr),Sr.push($n);return Sr}(Fn,hn.length-wn),hn,wn,Wn)}function rn(hn,Fn,wn){return Fn===0&&wn===hn.length?ot.fromByteArray(hn):ot.fromByteArray(hn.slice(Fn,wn))}function gn(hn,Fn,wn){wn=Math.min(hn.length,wn);for(var Wn=[],An=Fn;An239?4:Sr>223?3:Sr>191?2:1;if(An+Ir<=wn)switch(Ir){case 1:Sr<128&&(Qr=Sr);break;case 2:(192&(Pn=hn[An+1]))==128&&(pr=(31&Sr)<<6|63&Pn)>127&&(Qr=pr);break;case 3:Pn=hn[An+1],jn=hn[An+2],(192&Pn)==128&&(192&jn)==128&&(pr=(15&Sr)<<12|(63&Pn)<<6|63&jn)>2047&&(pr<55296||pr>57343)&&(Qr=pr);break;case 4:Pn=hn[An+1],jn=hn[An+2],$n=hn[An+3],(192&Pn)==128&&(192&jn)==128&&(192&$n)==128&&(pr=(15&Sr)<<18|(63&Pn)<<12|(63&jn)<<6|63&$n)>65535&&pr<1114112&&(Qr=pr)}Qr===null?(Qr=65533,Ir=1):Qr>65535&&(Qr-=65536,Wn.push(Qr>>>10&1023|55296),Qr=56320|1023&Qr),Wn.push(Qr),An+=Ir}return function(yr){var Rr=yr.length;if(Rr<=4096)return String.fromCharCode.apply(String,yr);for(var wr="",br=0;br0&&(hn=this.toString("hex",0,Fn).match(/.{2}/g).join(" "),this.length>Fn&&(hn+=" ... ")),""},Vt.prototype.compare=function(hn,Fn,wn,Wn,An){if(!Vt.isBuffer(hn))throw new TypeError("Argument must be a Buffer");if(Fn===void 0&&(Fn=0),wn===void 0&&(wn=hn?hn.length:0),Wn===void 0&&(Wn=0),An===void 0&&(An=this.length),Fn<0||wn>hn.length||Wn<0||An>this.length)throw new RangeError("out of range index");if(Wn>=An&&Fn>=wn)return 0;if(Wn>=An)return-1;if(Fn>=wn)return 1;if(this===hn)return 0;for(var Pn=(An>>>=0)-(Wn>>>=0),jn=(wn>>>=0)-(Fn>>>=0),$n=Math.min(Pn,jn),pr=this.slice(Wn,An),Sr=hn.slice(Fn,wn),Qr=0;Qr<$n;++Qr)if(pr[Qr]!==Sr[Qr]){Pn=pr[Qr],jn=Sr[Qr];break}return PnAn)&&(wn=An),hn.length>0&&(wn<0||Fn<0)||Fn>this.length)throw new RangeError("Attempt to write outside buffer bounds");Wn||(Wn="utf8");for(var Pn=!1;;)switch(Wn){case"hex":return sn(this,hn,Fn,wn);case"utf8":case"utf-8":return Kt(this,hn,Fn,wn);case"ascii":return dn(this,hn,Fn,wn);case"latin1":case"binary":return Qn(this,hn,Fn,wn);case"base64":return En(this,hn,Fn,wn);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return an(this,hn,Fn,wn);default:if(Pn)throw new TypeError("Unknown encoding: "+Wn);Wn=(""+Wn).toLowerCase(),Pn=!0}},Vt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function un(hn,Fn,wn){var Wn="";wn=Math.min(hn.length,wn);for(var An=Fn;AnWn)&&(wn=Wn);for(var An="",Pn=Fn;Pnwn)throw new RangeError("Trying to access beyond buffer length")}function Rn(hn,Fn,wn,Wn,An,Pn){if(!Vt.isBuffer(hn))throw new TypeError('"buffer" argument must be a Buffer instance');if(Fn>An||Fnhn.length)throw new RangeError("Index out of range")}function Sn(hn,Fn,wn,Wn){Fn<0&&(Fn=65535+Fn+1);for(var An=0,Pn=Math.min(hn.length-wn,2);An>>8*(Wn?An:1-An)}function fn(hn,Fn,wn,Wn){Fn<0&&(Fn=4294967295+Fn+1);for(var An=0,Pn=Math.min(hn.length-wn,4);An>>8*(Wn?An:3-An)&255}function cn(hn,Fn,wn,Wn,An,Pn){if(wn+Wn>hn.length)throw new RangeError("Index out of range");if(wn<0)throw new RangeError("Index out of range")}function bn(hn,Fn,wn,Wn,An){return An||cn(hn,0,wn,4),Ut.write(hn,Fn,wn,Wn,23,4),wn+4}function Vn(hn,Fn,wn,Wn,An){return An||cn(hn,0,wn,8),Ut.write(hn,Fn,wn,Wn,52,8),wn+8}Vt.prototype.slice=function(hn,Fn){var wn,Wn=this.length;if((hn=~~hn)<0?(hn+=Wn)<0&&(hn=0):hn>Wn&&(hn=Wn),(Fn=Fn===void 0?Wn:~~Fn)<0?(Fn+=Wn)<0&&(Fn=0):Fn>Wn&&(Fn=Wn),Fn0&&(An*=256);)Wn+=this[hn+--Fn]*An;return Wn},Vt.prototype.readUInt8=function(hn,Fn){return Fn||pn(hn,1,this.length),this[hn]},Vt.prototype.readUInt16LE=function(hn,Fn){return Fn||pn(hn,2,this.length),this[hn]|this[hn+1]<<8},Vt.prototype.readUInt16BE=function(hn,Fn){return Fn||pn(hn,2,this.length),this[hn]<<8|this[hn+1]},Vt.prototype.readUInt32LE=function(hn,Fn){return Fn||pn(hn,4,this.length),(this[hn]|this[hn+1]<<8|this[hn+2]<<16)+16777216*this[hn+3]},Vt.prototype.readUInt32BE=function(hn,Fn){return Fn||pn(hn,4,this.length),16777216*this[hn]+(this[hn+1]<<16|this[hn+2]<<8|this[hn+3])},Vt.prototype.readIntLE=function(hn,Fn,wn){hn|=0,Fn|=0,wn||pn(hn,Fn,this.length);for(var Wn=this[hn],An=1,Pn=0;++Pn=(An*=128)&&(Wn-=Math.pow(2,8*Fn)),Wn},Vt.prototype.readIntBE=function(hn,Fn,wn){hn|=0,Fn|=0,wn||pn(hn,Fn,this.length);for(var Wn=Fn,An=1,Pn=this[hn+--Wn];Wn>0&&(An*=256);)Pn+=this[hn+--Wn]*An;return Pn>=(An*=128)&&(Pn-=Math.pow(2,8*Fn)),Pn},Vt.prototype.readInt8=function(hn,Fn){return Fn||pn(hn,1,this.length),128&this[hn]?-1*(255-this[hn]+1):this[hn]},Vt.prototype.readInt16LE=function(hn,Fn){Fn||pn(hn,2,this.length);var wn=this[hn]|this[hn+1]<<8;return 32768&wn?4294901760|wn:wn},Vt.prototype.readInt16BE=function(hn,Fn){Fn||pn(hn,2,this.length);var wn=this[hn+1]|this[hn]<<8;return 32768&wn?4294901760|wn:wn},Vt.prototype.readInt32LE=function(hn,Fn){return Fn||pn(hn,4,this.length),this[hn]|this[hn+1]<<8|this[hn+2]<<16|this[hn+3]<<24},Vt.prototype.readInt32BE=function(hn,Fn){return Fn||pn(hn,4,this.length),this[hn]<<24|this[hn+1]<<16|this[hn+2]<<8|this[hn+3]},Vt.prototype.readFloatLE=function(hn,Fn){return Fn||pn(hn,4,this.length),Ut.read(this,hn,!0,23,4)},Vt.prototype.readFloatBE=function(hn,Fn){return Fn||pn(hn,4,this.length),Ut.read(this,hn,!1,23,4)},Vt.prototype.readDoubleLE=function(hn,Fn){return Fn||pn(hn,8,this.length),Ut.read(this,hn,!0,52,8)},Vt.prototype.readDoubleBE=function(hn,Fn){return Fn||pn(hn,8,this.length),Ut.read(this,hn,!1,52,8)},Vt.prototype.writeUIntLE=function(hn,Fn,wn,Wn){hn=+hn,Fn|=0,wn|=0,Wn||Rn(this,hn,Fn,wn,Math.pow(2,8*wn)-1,0);var An=1,Pn=0;for(this[Fn]=255&hn;++Pn=0&&(Pn*=256);)this[Fn+An]=hn/Pn&255;return Fn+wn},Vt.prototype.writeUInt8=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,1,255,0),Vt.TYPED_ARRAY_SUPPORT||(hn=Math.floor(hn)),this[Fn]=255&hn,Fn+1},Vt.prototype.writeUInt16LE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,2,65535,0),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=255&hn,this[Fn+1]=hn>>>8):Sn(this,hn,Fn,!0),Fn+2},Vt.prototype.writeUInt16BE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,2,65535,0),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=hn>>>8,this[Fn+1]=255&hn):Sn(this,hn,Fn,!1),Fn+2},Vt.prototype.writeUInt32LE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,4,4294967295,0),Vt.TYPED_ARRAY_SUPPORT?(this[Fn+3]=hn>>>24,this[Fn+2]=hn>>>16,this[Fn+1]=hn>>>8,this[Fn]=255&hn):fn(this,hn,Fn,!0),Fn+4},Vt.prototype.writeUInt32BE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,4,4294967295,0),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=hn>>>24,this[Fn+1]=hn>>>16,this[Fn+2]=hn>>>8,this[Fn+3]=255&hn):fn(this,hn,Fn,!1),Fn+4},Vt.prototype.writeIntLE=function(hn,Fn,wn,Wn){if(hn=+hn,Fn|=0,!Wn){var An=Math.pow(2,8*wn-1);Rn(this,hn,Fn,wn,An-1,-An)}var Pn=0,jn=1,$n=0;for(this[Fn]=255&hn;++Pn>0)-$n&255;return Fn+wn},Vt.prototype.writeIntBE=function(hn,Fn,wn,Wn){if(hn=+hn,Fn|=0,!Wn){var An=Math.pow(2,8*wn-1);Rn(this,hn,Fn,wn,An-1,-An)}var Pn=wn-1,jn=1,$n=0;for(this[Fn+Pn]=255&hn;--Pn>=0&&(jn*=256);)hn<0&&$n===0&&this[Fn+Pn+1]!==0&&($n=1),this[Fn+Pn]=(hn/jn>>0)-$n&255;return Fn+wn},Vt.prototype.writeInt8=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,1,127,-128),Vt.TYPED_ARRAY_SUPPORT||(hn=Math.floor(hn)),hn<0&&(hn=255+hn+1),this[Fn]=255&hn,Fn+1},Vt.prototype.writeInt16LE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,2,32767,-32768),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=255&hn,this[Fn+1]=hn>>>8):Sn(this,hn,Fn,!0),Fn+2},Vt.prototype.writeInt16BE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,2,32767,-32768),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=hn>>>8,this[Fn+1]=255&hn):Sn(this,hn,Fn,!1),Fn+2},Vt.prototype.writeInt32LE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,4,2147483647,-2147483648),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=255&hn,this[Fn+1]=hn>>>8,this[Fn+2]=hn>>>16,this[Fn+3]=hn>>>24):fn(this,hn,Fn,!0),Fn+4},Vt.prototype.writeInt32BE=function(hn,Fn,wn){return hn=+hn,Fn|=0,wn||Rn(this,hn,Fn,4,2147483647,-2147483648),hn<0&&(hn=4294967295+hn+1),Vt.TYPED_ARRAY_SUPPORT?(this[Fn]=hn>>>24,this[Fn+1]=hn>>>16,this[Fn+2]=hn>>>8,this[Fn+3]=255&hn):fn(this,hn,Fn,!1),Fn+4},Vt.prototype.writeFloatLE=function(hn,Fn,wn){return bn(this,hn,Fn,!0,wn)},Vt.prototype.writeFloatBE=function(hn,Fn,wn){return bn(this,hn,Fn,!1,wn)},Vt.prototype.writeDoubleLE=function(hn,Fn,wn){return Vn(this,hn,Fn,!0,wn)},Vt.prototype.writeDoubleBE=function(hn,Fn,wn){return Vn(this,hn,Fn,!1,wn)},Vt.prototype.copy=function(hn,Fn,wn,Wn){if(wn||(wn=0),Wn||Wn===0||(Wn=this.length),Fn>=hn.length&&(Fn=hn.length),Fn||(Fn=0),Wn>0&&Wn=this.length)throw new RangeError("sourceStart out of bounds");if(Wn<0)throw new RangeError("sourceEnd out of bounds");Wn>this.length&&(Wn=this.length),hn.length-Fn=0;--An)hn[An+Fn]=this[An+wn];else if(Pn<1e3||!Vt.TYPED_ARRAY_SUPPORT)for(An=0;An>>=0,wn=wn===void 0?this.length:wn>>>0,hn||(hn=0),typeof hn=="number")for(Pn=Fn;Pn55295&&wn<57344){if(!An){if(wn>56319){(Fn-=3)>-1&&Pn.push(239,191,189);continue}if(jn+1===Wn){(Fn-=3)>-1&&Pn.push(239,191,189);continue}An=wn;continue}if(wn<56320){(Fn-=3)>-1&&Pn.push(239,191,189),An=wn;continue}wn=65536+(An-55296<<10|wn-56320)}else An&&(Fn-=3)>-1&&Pn.push(239,191,189);if(An=null,wn<128){if((Fn-=1)<0)break;Pn.push(wn)}else if(wn<2048){if((Fn-=2)<0)break;Pn.push(wn>>6|192,63&wn|128)}else if(wn<65536){if((Fn-=3)<0)break;Pn.push(wn>>12|224,wn>>6&63|128,63&wn|128)}else{if(!(wn<1114112))throw new Error("Invalid code point");if((Fn-=4)<0)break;Pn.push(wn>>18|240,wn>>12&63|128,wn>>6&63|128,63&wn|128)}}return Pn}function Cn(hn){return ot.toByteArray(function(Fn){if((Fn=function(wn){return wn.trim?wn.trim():wn.replace(/^\s+|\s+$/g,"")}(Fn).replace(Mn,"")).length<2)return"";for(;Fn.length%4!=0;)Fn+="=";return Fn}(hn))}function kn(hn,Fn,wn,Wn){for(var An=0;An=Fn.length||An>=hn.length);++An)Fn[An+wn]=hn[An];return An}}).call(this,nt(6))},function(et,tt){var nt;nt=function(){return this}();try{nt=nt||new Function("return this")()}catch{typeof window=="object"&&(nt=window)}et.exports=nt},function(et,tt){typeof Object.create=="function"?et.exports=function(nt,it){it&&(nt.super_=it,nt.prototype=Object.create(it.prototype,{constructor:{value:nt,enumerable:!1,writable:!0,configurable:!0}}))}:et.exports=function(nt,it){if(it){nt.super_=it;var ot=function(){};ot.prototype=it.prototype,nt.prototype=new ot,nt.prototype.constructor=nt}}},function(et,tt,nt){nt.d(tt,"a",function(){return it});const it=ot=>new Promise(Ut=>setTimeout(Ut,ot||0))},function(et,tt,nt){var it=nt(99),ot=it,Ut=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||Ut!==void 0&&Ut||typeof self<"u"&&self||function(){return this}.call(null)||Function("return this")(),Ft=nt(98);ot.object.extend(proto,Ft),ot.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.Peer",null,Ut),ot.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,Ut),ot.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,Ut),ot.exportSymbol("proto.v1.signaling.api.SessionType",null,Ut),ot.exportSymbol("proto.v1.signaling.api.Signal",null,Ut),proto.v1.signaling.api.Peer=function(Qt){it.Message.initialize(this,Qt,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},ot.inherits(proto.v1.signaling.api.Peer,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.Signal,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.GetHealthRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.GetHealthRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.GetHealthResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.CreatePeerRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.CreatePeerResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.DeletePeerRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.DeletePeerResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.RefreshPeerRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.RefreshPeerResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.GetPeersRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},ot.inherits(proto.v1.signaling.api.GetPeersResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.GetIceServersRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.GetIceServersResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.SendSignalRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.SendSignalResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(Qt){it.Message.initialize(this,Qt,0,-1,null,null)},ot.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,it.Message),ot.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(Qt){return proto.v1.signaling.api.Peer.toObject(Qt,this)},proto.v1.signaling.api.Peer.toObject=function(Qt,Bt){var Vt,Wt={peerId:it.Message.getFieldWithDefault(Bt,1,""),organizationId:it.Message.getFieldWithDefault(Bt,2,""),userId:(Vt=Bt.getUserId())&&Ft.StringValue.toObject(Qt,Vt),deviceId:(Vt=Bt.getDeviceId())&&Ft.StringValue.toObject(Qt,Vt),sessionIdsList:(Vt=it.Message.getRepeatedField(Bt,5))==null?void 0:Vt,peerCreatedTimestamp:(Vt=Bt.getPeerCreatedTimestamp())&&Ft.Int64Value.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.Peer.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=Bt.readString();Qt.setPeerId(Vt);break;case 2:Vt=Bt.readString(),Qt.setOrganizationId(Vt);break;case 3:Vt=new Ft.StringValue,Bt.readMessage(Vt,Ft.StringValue.deserializeBinaryFromReader),Qt.setUserId(Vt);break;case 4:Vt=new Ft.StringValue,Bt.readMessage(Vt,Ft.StringValue.deserializeBinaryFromReader),Qt.setDeviceId(Vt);break;case 5:Vt=Bt.readString(),Qt.addSessionIds(Vt);break;case 6:Vt=new Ft.Int64Value,Bt.readMessage(Vt,Ft.Int64Value.deserializeBinaryFromReader),Qt.setPeerCreatedTimestamp(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(Qt,Bt){var Vt=void 0;(Vt=Qt.getPeerId()).length>0&&Bt.writeString(1,Vt),(Vt=Qt.getOrganizationId()).length>0&&Bt.writeString(2,Vt),(Vt=Qt.getUserId())!=null&&Bt.writeMessage(3,Vt,Ft.StringValue.serializeBinaryToWriter),(Vt=Qt.getDeviceId())!=null&&Bt.writeMessage(4,Vt,Ft.StringValue.serializeBinaryToWriter),(Vt=Qt.getSessionIdsList()).length>0&&Bt.writeRepeatedString(5,Vt),(Vt=Qt.getPeerCreatedTimestamp())!=null&&Bt.writeMessage(6,Vt,Ft.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(Qt){return it.Message.setProto3StringField(this,1,Qt)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return it.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(Qt){return it.Message.setProto3StringField(this,2,Qt)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return it.Message.getWrapperField(this,Ft.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(Qt){return it.Message.setWrapperField(this,3,Qt)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return it.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return it.Message.getWrapperField(this,Ft.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(Qt){return it.Message.setWrapperField(this,4,Qt)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return it.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return it.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(Qt){return it.Message.setField(this,5,Qt||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(Qt,Bt){return it.Message.addToRepeatedField(this,5,Qt,Bt)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return it.Message.getWrapperField(this,Ft.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(Qt){return it.Message.setWrapperField(this,6,Qt)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return it.Message.getField(this,6)!=null},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(Qt){return proto.v1.signaling.api.Signal.toObject(Qt,this)},proto.v1.signaling.api.Signal.toObject=function(Qt,Bt){var Vt,Wt={sessionId:(Vt=Bt.getSessionId())&&Ft.StringValue.toObject(Qt,Vt),sessionCreatedTimestamp:(Vt=Bt.getSessionCreatedTimestamp())&&Ft.Int64Value.toObject(Qt,Vt),senderId:it.Message.getFieldWithDefault(Bt,3,""),receiverId:it.Message.getFieldWithDefault(Bt,4,""),payload:it.Message.getFieldWithDefault(Bt,5,""),iceServers:it.Message.getFieldWithDefault(Bt,6,""),iceTransportPolicy:it.Message.getFieldWithDefault(Bt,7,""),sessionType:it.Message.getFieldWithDefault(Bt,8,0)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.Signal.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new Ft.StringValue;Bt.readMessage(Vt,Ft.StringValue.deserializeBinaryFromReader),Qt.setSessionId(Vt);break;case 2:Vt=new Ft.Int64Value,Bt.readMessage(Vt,Ft.Int64Value.deserializeBinaryFromReader),Qt.setSessionCreatedTimestamp(Vt);break;case 3:Vt=Bt.readString(),Qt.setSenderId(Vt);break;case 4:Vt=Bt.readString(),Qt.setReceiverId(Vt);break;case 5:Vt=Bt.readString(),Qt.setPayload(Vt);break;case 6:Vt=Bt.readString(),Qt.setIceServers(Vt);break;case 7:Vt=Bt.readString(),Qt.setIceTransportPolicy(Vt);break;case 8:Vt=Bt.readEnum(),Qt.setSessionType(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(Qt,Bt){var Vt=void 0;(Vt=Qt.getSessionId())!=null&&Bt.writeMessage(1,Vt,Ft.StringValue.serializeBinaryToWriter),(Vt=Qt.getSessionCreatedTimestamp())!=null&&Bt.writeMessage(2,Vt,Ft.Int64Value.serializeBinaryToWriter),(Vt=Qt.getSenderId()).length>0&&Bt.writeString(3,Vt),(Vt=Qt.getReceiverId()).length>0&&Bt.writeString(4,Vt),(Vt=Qt.getPayload()).length>0&&Bt.writeString(5,Vt),(Vt=Qt.getIceServers()).length>0&&Bt.writeString(6,Vt),(Vt=Qt.getIceTransportPolicy()).length>0&&Bt.writeString(7,Vt),(Vt=Qt.getSessionType())!==0&&Bt.writeEnum(8,Vt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return it.Message.getWrapperField(this,Ft.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return it.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return it.Message.getWrapperField(this,Ft.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(Qt){return it.Message.setWrapperField(this,2,Qt)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return it.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return it.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(Qt){return it.Message.setProto3StringField(this,3,Qt)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return it.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(Qt){return it.Message.setProto3StringField(this,4,Qt)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return it.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(Qt){return it.Message.setProto3StringField(this,5,Qt)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return it.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(Qt){return it.Message.setProto3StringField(this,6,Qt)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return it.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(Qt){return it.Message.setProto3StringField(this,7,Qt)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return it.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(Qt){return it.Message.setProto3EnumField(this,8,Qt)},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetHealthRequest.toObject(Qt,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(Qt,Bt){},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetHealthResponse.toObject(Qt,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(Qt,Bt){var Vt={version:it.Message.getFieldWithDefault(Bt,1,"")};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=Bt.readString();Qt.setVersion(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getVersion()).length>0&&Bt.writeString(1,Vt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(Qt){return it.Message.setProto3StringField(this,1,Qt)},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.CreatePeerRequest.toObject(Qt,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(Qt,Bt){},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.CreatePeerResponse.toObject(Qt,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(Qt,Bt){var Vt,Wt={peer:(Vt=Bt.getPeer())&&proto.v1.signaling.api.Peer.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new proto.v1.signaling.api.Peer;Bt.readMessage(Vt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),Qt.setPeer(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getPeer())!=null&&Bt.writeMessage(1,Vt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return it.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return it.Message.getField(this,1)!=null},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.DeletePeerRequest.toObject(Qt,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(Qt,Bt){var Vt={peerId:it.Message.getFieldWithDefault(Bt,1,"")};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=Bt.readString();Qt.setPeerId(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getPeerId()).length>0&&Bt.writeString(1,Vt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(Qt){return it.Message.setProto3StringField(this,1,Qt)},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.DeletePeerResponse.toObject(Qt,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(Qt,Bt){},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.RefreshPeerRequest.toObject(Qt,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(Qt,Bt){var Vt,Wt={peer:(Vt=Bt.getPeer())&&proto.v1.signaling.api.Peer.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new proto.v1.signaling.api.Peer;Bt.readMessage(Vt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),Qt.setPeer(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getPeer())!=null&&Bt.writeMessage(1,Vt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return it.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return it.Message.getField(this,1)!=null},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.RefreshPeerResponse.toObject(Qt,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(Qt,Bt){},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetPeersRequest.toObject(Qt,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(Qt,Bt){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetPeersResponse.toObject(Qt,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(Qt,Bt){var Vt={peersList:it.Message.toObjectList(Bt.getPeersList(),proto.v1.signaling.api.Peer.toObject,Qt)};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new proto.v1.signaling.api.Peer;Bt.readMessage(Vt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),Qt.addPeers(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getPeersList()).length>0&&Bt.writeRepeatedMessage(1,Vt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return it.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(Qt){return it.Message.setRepeatedWrapperField(this,1,Qt)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(Qt,Bt){return it.Message.addToRepeatedWrapperField(this,1,Qt,proto.v1.signaling.api.Peer,Bt)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetIceServersRequest.toObject(Qt,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(Qt,Bt){var Vt={};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)Bt.getFieldNumber(),Bt.skipField();return Qt},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(Qt,Bt){},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.GetIceServersResponse.toObject(Qt,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(Qt,Bt){var Vt={iceServers:it.Message.getFieldWithDefault(Bt,1,"")};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=Bt.readString();Qt.setIceServers(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getIceServers()).length>0&&Bt.writeString(1,Vt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(Qt){return it.Message.setProto3StringField(this,1,Qt)},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.SendSignalRequest.toObject(Qt,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(Qt,Bt){var Vt,Wt={signal:(Vt=Bt.getSignal())&&proto.v1.signaling.api.Signal.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new proto.v1.signaling.api.Signal;Bt.readMessage(Vt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),Qt.setSignal(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getSignal())!=null&&Bt.writeMessage(1,Vt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return it.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return it.Message.getField(this,1)!=null},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.SendSignalResponse.toObject(Qt,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(Qt,Bt){var Vt,Wt={sessionId:(Vt=Bt.getSessionId())&&Ft.StringValue.toObject(Qt,Vt),sessionCreatedTimestamp:(Vt=Bt.getSessionCreatedTimestamp())&&Ft.Int64Value.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new Ft.StringValue;Bt.readMessage(Vt,Ft.StringValue.deserializeBinaryFromReader),Qt.setSessionId(Vt);break;case 2:Vt=new Ft.Int64Value,Bt.readMessage(Vt,Ft.Int64Value.deserializeBinaryFromReader),Qt.setSessionCreatedTimestamp(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt=void 0;(Vt=Qt.getSessionId())!=null&&Bt.writeMessage(1,Vt,Ft.StringValue.serializeBinaryToWriter),(Vt=Qt.getSessionCreatedTimestamp())!=null&&Bt.writeMessage(2,Vt,Ft.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return it.Message.getWrapperField(this,Ft.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return it.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return it.Message.getWrapperField(this,Ft.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(Qt){return it.Message.setWrapperField(this,2,Qt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return it.Message.getField(this,2)!=null},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(Qt){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(Qt,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(Qt,Bt){var Vt={peerId:it.Message.getFieldWithDefault(Bt,1,"")};return Qt&&(Vt.$jspbMessageInstance=Bt),Vt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=Bt.readString();Qt.setPeerId(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getPeerId()).length>0&&Bt.writeString(1,Vt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(Qt){return it.Message.setProto3StringField(this,1,Qt)},it.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(Qt){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(Qt,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(Qt,Bt){var Vt,Wt={signal:(Vt=Bt.getSignal())&&proto.v1.signaling.api.Signal.toObject(Qt,Vt)};return Qt&&(Wt.$jspbMessageInstance=Bt),Wt}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(Qt){var Bt=new it.BinaryReader(Qt),Vt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(Vt,Bt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(Qt,Bt){for(;Bt.nextField()&&!Bt.isEndGroup();)switch(Bt.getFieldNumber()){case 1:var Vt=new proto.v1.signaling.api.Signal;Bt.readMessage(Vt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),Qt.setSignal(Vt);break;default:Bt.skipField()}return Qt},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var Qt=new it.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,Qt),Qt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(Qt,Bt){var Vt;(Vt=Qt.getSignal())!=null&&Bt.writeMessage(1,Vt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return it.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(Qt){return it.Message.setWrapperField(this,1,Qt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return it.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3},ot.object.extend(tt,proto.v1.signaling.api)},function(et,tt,nt){nt.d(tt,"a",function(){return ot});var it=nt(30);class ot extends Error{constructor(Ft,Qt,Bt,Vt,Wt,Xt,Zt={}){super(`Response error ${JSON.stringify({method:Ft,url:Qt,requestBody:Object(it.a)(Bt),statusCode:Vt,responseHeaders:Wt?Object(it.a)([...Wt.entries()].reduce((Yt,[Mt,Gt])=>(Yt[Mt]=Gt,Yt),{})):{},responseBody:Object(it.a)(Xt)})}`),this.method=Ft,this.url=Qt,this.requestBody=Bt,this.statusCode=Vt,this.headers=Wt,this.body=Xt,this.validationErrors=Zt}}},function(et,tt,nt){function it(ot,Ut,Ft=()=>!0){if(function(Qt,Bt,Vt=()=>!0){return Qt instanceof Bt&&Vt(Qt)}(ot,Ut,Ft))return ot;throw ot}nt.d(tt,"a",function(){return it})},function(et,tt,nt){function it(Zt){return(it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Yt){return typeof Yt}:function(Yt){return Yt&&typeof Symbol=="function"&&Yt.constructor===Symbol&&Yt!==Symbol.prototype?"symbol":typeof Yt})(Zt)}function ot(Zt,Yt){return!Yt||it(Yt)!=="object"&&typeof Yt!="function"?Ut(Zt):Yt}function Ut(Zt){if(Zt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Zt}function Ft(Zt){var Yt=typeof Map=="function"?new Map:void 0;return(Ft=function(Mt){if(Mt===null||(Gt=Mt,Function.toString.call(Gt).indexOf("[native code]")===-1))return Mt;var Gt;if(typeof Mt!="function")throw new TypeError("Super expression must either be null or a function");if(Yt!==void 0){if(Yt.has(Mt))return Yt.get(Mt);Yt.set(Mt,en)}function en(){return Qt(Mt,arguments,Wt(this).constructor)}return en.prototype=Object.create(Mt.prototype,{constructor:{value:en,enumerable:!1,writable:!0,configurable:!0}}),Vt(en,Mt)})(Zt)}function Qt(Zt,Yt,Mt){return(Qt=Bt()?Reflect.construct:function(Gt,en,tn){var ln=[null];ln.push.apply(ln,en);var nn=new(Function.bind.apply(Gt,ln));return tn&&Vt(nn,tn.prototype),nn}).apply(null,arguments)}function Bt(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function Vt(Zt,Yt){return(Vt=Object.setPrototypeOf||function(Mt,Gt){return Mt.__proto__=Gt,Mt})(Zt,Yt)}function Wt(Zt){return(Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(Yt){return Yt.__proto__||Object.getPrototypeOf(Yt)})(Zt)}var Xt=function(Zt){(function(tn,ln){if(typeof ln!="function"&&ln!==null)throw new TypeError("Super expression must either be null or a function");tn.prototype=Object.create(ln&&ln.prototype,{constructor:{value:tn,writable:!0,configurable:!0}}),ln&&Vt(tn,ln)})(en,Zt);var Yt,Mt,Gt=(Yt=en,Mt=Bt(),function(){var tn,ln=Wt(Yt);if(Mt){var nn=Wt(this).constructor;tn=Reflect.construct(ln,arguments,nn)}else tn=ln.apply(this,arguments);return ot(this,tn)});function en(tn){var ln;return function(nn,sn){if(!(nn instanceof sn))throw new TypeError("Cannot call a class as a function")}(this,en),ln=Gt.call(this,`Format functions must be synchronous taking a two arguments: (info, opts) -Found: `.concat(tn.toString().split(` -`)[0],` -`)),Error.captureStackTrace(Ut(ln),en),ln}return en}(Ft(Error));et.exports=function(Zt){if(Zt.length>2)throw new Xt(Zt);function Yt(){var Gt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=Gt}function Mt(Gt){return new Yt(Gt)}return Yt.prototype.transform=Zt,Mt.Format=Yt,Mt}},function(et,tt,nt){(function(it){var ot=Object.getOwnPropertyDescriptors||function(pn){for(var Rn=Object.keys(pn),Sn={},fn=0;fn=cn)return Mn;switch(Mn){case"%s":return String(fn[Sn++]);case"%d":return Number(fn[Sn++]);case"%j":try{return JSON.stringify(fn[Sn++])}catch{return"[Circular]"}default:return Mn}}),Vn=fn[Sn];Sn=3&&(Sn.depth=arguments[2]),arguments.length>=4&&(Sn.colors=arguments[3]),Gt(Rn)?Sn.showHidden=Rn:Rn&&tt._extend(Sn,Rn),nn(Sn.showHidden)&&(Sn.showHidden=!1),nn(Sn.depth)&&(Sn.depth=2),nn(Sn.colors)&&(Sn.colors=!1),nn(Sn.customInspect)&&(Sn.customInspect=!0),Sn.colors&&(Sn.stylize=Vt),Xt(Sn,pn,Sn.depth)}function Vt(pn,Rn){var Sn=Bt.styles[Rn];return Sn?"\x1B["+Bt.colors[Sn][0]+"m"+pn+"\x1B["+Bt.colors[Sn][1]+"m":pn}function Wt(pn,Rn){return pn}function Xt(pn,Rn,Sn){if(pn.customInspect&&Rn&&En(Rn.inspect)&&Rn.inspect!==tt.inspect&&(!Rn.constructor||Rn.constructor.prototype!==Rn)){var fn=Rn.inspect(Sn,pn);return ln(fn)||(fn=Xt(pn,fn,Sn)),fn}var cn=function(hn,Fn){if(nn(Fn))return hn.stylize("undefined","undefined");if(ln(Fn)){var wn="'"+JSON.stringify(Fn).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return hn.stylize(wn,"string")}if(tn(Fn))return hn.stylize(""+Fn,"number");if(Gt(Fn))return hn.stylize(""+Fn,"boolean");if(en(Fn))return hn.stylize("null","null")}(pn,Rn);if(cn)return cn;var bn=Object.keys(Rn),Vn=function(hn){var Fn={};return hn.forEach(function(wn,Wn){Fn[wn]=!0}),Fn}(bn);if(pn.showHidden&&(bn=Object.getOwnPropertyNames(Rn)),Qn(Rn)&&(bn.indexOf("message")>=0||bn.indexOf("description")>=0))return Zt(Rn);if(bn.length===0){if(En(Rn)){var Mn=Rn.name?": "+Rn.name:"";return pn.stylize("[Function"+Mn+"]","special")}if(sn(Rn))return pn.stylize(RegExp.prototype.toString.call(Rn),"regexp");if(dn(Rn))return pn.stylize(Date.prototype.toString.call(Rn),"date");if(Qn(Rn))return Zt(Rn)}var Zn,In="",Cn=!1,kn=["{","}"];return Mt(Rn)&&(Cn=!0,kn=["[","]"]),En(Rn)&&(In=" [Function"+(Rn.name?": "+Rn.name:"")+"]"),sn(Rn)&&(In=" "+RegExp.prototype.toString.call(Rn)),dn(Rn)&&(In=" "+Date.prototype.toUTCString.call(Rn)),Qn(Rn)&&(In=" "+Zt(Rn)),bn.length!==0||Cn&&Rn.length!=0?Sn<0?sn(Rn)?pn.stylize(RegExp.prototype.toString.call(Rn),"regexp"):pn.stylize("[Object]","special"):(pn.seen.push(Rn),Zn=Cn?function(hn,Fn,wn,Wn,An){for(var Pn=[],jn=0,$n=Fn.length;jn<$n;++jn)Un(Fn,String(jn))?Pn.push(Yt(hn,Fn,wn,Wn,String(jn),!0)):Pn.push("");return An.forEach(function(pr){pr.match(/^\d+$/)||Pn.push(Yt(hn,Fn,wn,Wn,pr,!0))}),Pn}(pn,Rn,Sn,Vn,bn):bn.map(function(hn){return Yt(pn,Rn,Sn,Vn,hn,Cn)}),pn.seen.pop(),function(hn,Fn,wn){return hn.reduce(function(Wn,An){return An.indexOf(` -`)>=0,Wn+An.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?wn[0]+(Fn===""?"":Fn+` - `)+" "+hn.join(`, - `)+" "+wn[1]:wn[0]+Fn+" "+hn.join(", ")+" "+wn[1]}(Zn,In,kn)):kn[0]+In+kn[1]}function Zt(pn){return"["+Error.prototype.toString.call(pn)+"]"}function Yt(pn,Rn,Sn,fn,cn,bn){var Vn,Mn,Zn;if((Zn=Object.getOwnPropertyDescriptor(Rn,cn)||{value:Rn[cn]}).get?Mn=Zn.set?pn.stylize("[Getter/Setter]","special"):pn.stylize("[Getter]","special"):Zn.set&&(Mn=pn.stylize("[Setter]","special")),Un(fn,cn)||(Vn="["+cn+"]"),Mn||(pn.seen.indexOf(Zn.value)<0?(Mn=en(Sn)?Xt(pn,Zn.value,null):Xt(pn,Zn.value,Sn-1)).indexOf(` -`)>-1&&(Mn=bn?Mn.split(` -`).map(function(In){return" "+In}).join(` -`).substr(2):` -`+Mn.split(` -`).map(function(In){return" "+In}).join(` -`)):Mn=pn.stylize("[Circular]","special")),nn(Vn)){if(bn&&cn.match(/^\d+$/))return Mn;(Vn=JSON.stringify(""+cn)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(Vn=Vn.substr(1,Vn.length-2),Vn=pn.stylize(Vn,"name")):(Vn=Vn.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),Vn=pn.stylize(Vn,"string"))}return Vn+": "+Mn}function Mt(pn){return Array.isArray(pn)}function Gt(pn){return typeof pn=="boolean"}function en(pn){return pn===null}function tn(pn){return typeof pn=="number"}function ln(pn){return typeof pn=="string"}function nn(pn){return pn===void 0}function sn(pn){return Kt(pn)&&an(pn)==="[object RegExp]"}function Kt(pn){return typeof pn=="object"&&pn!==null}function dn(pn){return Kt(pn)&&an(pn)==="[object Date]"}function Qn(pn){return Kt(pn)&&(an(pn)==="[object Error]"||pn instanceof Error)}function En(pn){return typeof pn=="function"}function an(pn){return Object.prototype.toString.call(pn)}function rn(pn){return pn<10?"0"+pn.toString(10):pn.toString(10)}tt.debuglog=function(pn){if(nn(Ft)&&(Ft=it.env.NODE_DEBUG||""),pn=pn.toUpperCase(),!Qt[pn])if(new RegExp("\\b"+pn+"\\b","i").test(Ft)){var Rn=it.pid;Qt[pn]=function(){var Sn=tt.format.apply(tt,arguments);console.error("%s %d: %s",pn,Rn,Sn)}}else Qt[pn]=function(){};return Qt[pn]},tt.inspect=Bt,Bt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},Bt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},tt.isArray=Mt,tt.isBoolean=Gt,tt.isNull=en,tt.isNullOrUndefined=function(pn){return pn==null},tt.isNumber=tn,tt.isString=ln,tt.isSymbol=function(pn){return typeof pn=="symbol"},tt.isUndefined=nn,tt.isRegExp=sn,tt.isObject=Kt,tt.isDate=dn,tt.isError=Qn,tt.isFunction=En,tt.isPrimitive=function(pn){return pn===null||typeof pn=="boolean"||typeof pn=="number"||typeof pn=="string"||typeof pn=="symbol"||pn===void 0},tt.isBuffer=nt(106);var gn=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function un(){var pn=new Date,Rn=[rn(pn.getHours()),rn(pn.getMinutes()),rn(pn.getSeconds())].join(":");return[pn.getDate(),gn[pn.getMonth()],Rn].join(" ")}function Un(pn,Rn){return Object.prototype.hasOwnProperty.call(pn,Rn)}tt.log=function(){console.log("%s - %s",un(),tt.format.apply(tt,arguments))},tt.inherits=nt(107),tt._extend=function(pn,Rn){if(!Rn||!Kt(Rn))return pn;for(var Sn=Object.keys(Rn),fn=Sn.length;fn--;)pn[Sn[fn]]=Rn[Sn[fn]];return pn};var _n=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function vn(pn,Rn){if(!pn){var Sn=new Error("Promise was rejected with a falsy value");Sn.reason=pn,pn=Sn}return Rn(pn)}tt.promisify=function(pn){if(typeof pn!="function")throw new TypeError('The "original" argument must be of type Function');if(_n&&pn[_n]){var Rn;if(typeof(Rn=pn[_n])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(Rn,_n,{value:Rn,enumerable:!1,writable:!1,configurable:!0}),Rn}function Rn(){for(var Sn,fn,cn=new Promise(function(Mn,Zn){Sn=Mn,fn=Zn}),bn=[],Vn=0;Vn=0&&(Qt._idleTimeoutId=setTimeout(function(){Qt._onTimeout&&Qt._onTimeout()},Bt))},nt(140),tt.setImmediate=typeof self<"u"&&self.setImmediate||it!==void 0&&it.setImmediate||this&&this.setImmediate,tt.clearImmediate=typeof self<"u"&&self.clearImmediate||it!==void 0&&it.clearImmediate||this&&this.clearImmediate}).call(this,nt(6))},function(et,tt,nt){(function(it){it===void 0||!it.version||it.version.indexOf("v0.")===0||it.version.indexOf("v1.")===0&&it.version.indexOf("v1.8.")!==0?et.exports={nextTick:function(ot,Ut,Ft,Qt){if(typeof ot!="function")throw new TypeError('"callback" argument must be a function');var Bt,Vt,Wt=arguments.length;switch(Wt){case 0:case 1:return it.nextTick(ot);case 2:return it.nextTick(function(){ot.call(null,Ut)});case 3:return it.nextTick(function(){ot.call(null,Ut,Ft)});case 4:return it.nextTick(function(){ot.call(null,Ut,Ft,Qt)});default:for(Bt=new Array(Wt-1),Vt=0;Vt0&&arguments[0]!==void 0?arguments[0]:{};ot.call(this,{objectMode:!0,highWaterMark:Bt.highWaterMark}),this.format=Bt.format,this.level=Bt.level,this.handleExceptions=Bt.handleExceptions,this.handleRejections=Bt.handleRejections,this.silent=Bt.silent,Bt.log&&(this.log=Bt.log),Bt.logv&&(this.logv=Bt.logv),Bt.close&&(this.close=Bt.close),this.once("pipe",function(Vt){Qt.levels=Vt.levels,Qt.parent=Vt}),this.once("unpipe",function(Vt){Vt===Qt.parent&&(Qt.parent=null,Qt.close&&Qt.close())})};it.inherits(Ft,ot),Ft.prototype._write=function(Qt,Bt,Vt){if(this.silent||Qt.exception===!0&&!this.handleExceptions)return Vt(null);var Wt=this.level||this.parent&&this.parent.level;if(!Wt||this.levels[Wt]>=this.levels[Qt[Ut]]){if(Qt&&!this.format)return this.log(Qt,Vt);var Xt=void 0,Zt=void 0;try{Zt=this.format.transform(Object.assign({},Qt),this.format.options)}catch(Yt){Xt=Yt}if(Xt||!Zt){if(Vt(),Xt)throw Xt;return}return this.log(Zt,Vt)}return Vt(null)},Ft.prototype._writev=function(Qt,Bt){if(this.logv){var Vt=Qt.filter(this._accept,this);return Vt.length?this.logv(Vt,Bt):Bt(null)}for(var Wt=0;Wt=this.levels[Bt[Ut]])||!this.handleExceptions&&Bt.exception===!0)},Ft.prototype._nop=function(){},et.exports.LegacyTransportStream=nt(147)},function(et,tt,nt){var it,ot=typeof Reflect=="object"?Reflect:null,Ut=ot&&typeof ot.apply=="function"?ot.apply:function(en,tn,ln){return Function.prototype.apply.call(en,tn,ln)};it=ot&&typeof ot.ownKeys=="function"?ot.ownKeys:Object.getOwnPropertySymbols?function(en){return Object.getOwnPropertyNames(en).concat(Object.getOwnPropertySymbols(en))}:function(en){return Object.getOwnPropertyNames(en)};var Ft=Number.isNaN||function(en){return en!=en};function Qt(){Qt.init.call(this)}et.exports=Qt,Qt.EventEmitter=Qt,Qt.prototype._events=void 0,Qt.prototype._eventsCount=0,Qt.prototype._maxListeners=void 0;var Bt=10;function Vt(en){return en._maxListeners===void 0?Qt.defaultMaxListeners:en._maxListeners}function Wt(en,tn,ln,nn){var sn,Kt,dn,Qn;if(typeof ln!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof ln);if((Kt=en._events)===void 0?(Kt=en._events=Object.create(null),en._eventsCount=0):(Kt.newListener!==void 0&&(en.emit("newListener",tn,ln.listener?ln.listener:ln),Kt=en._events),dn=Kt[tn]),dn===void 0)dn=Kt[tn]=ln,++en._eventsCount;else if(typeof dn=="function"?dn=Kt[tn]=nn?[ln,dn]:[dn,ln]:nn?dn.unshift(ln):dn.push(ln),(sn=Vt(en))>0&&dn.length>sn&&!dn.warned){dn.warned=!0;var En=new Error("Possible EventEmitter memory leak detected. "+dn.length+" "+String(tn)+" listeners added. Use emitter.setMaxListeners() to increase limit");En.name="MaxListenersExceededWarning",En.emitter=en,En.type=tn,En.count=dn.length,Qn=En,console&&console.warn&&console.warn(Qn)}return en}function Xt(){for(var en=[],tn=0;tn0&&(Kt=tn[0]),Kt instanceof Error)throw Kt;var dn=new Error("Unhandled error."+(Kt?" ("+Kt.message+")":""));throw dn.context=Kt,dn}var Qn=sn[en];if(Qn===void 0)return!1;if(typeof Qn=="function")Ut(Qn,this,tn);else{var En=Qn.length,an=Gt(Qn,En);for(ln=0;ln=0;Kt--)if(ln[Kt]===tn||ln[Kt].listener===tn){dn=ln[Kt].listener,sn=Kt;break}if(sn<0)return this;sn===0?ln.shift():function(Qn,En){for(;En+1=0;nn--)this.removeListener(en,tn[nn]);return this},Qt.prototype.listeners=function(en){return Yt(this,en,!0)},Qt.prototype.rawListeners=function(en){return Yt(this,en,!1)},Qt.listenerCount=function(en,tn){return typeof en.listenerCount=="function"?en.listenerCount(tn):Mt.call(en,tn)},Qt.prototype.listenerCount=Mt,Qt.prototype.eventNames=function(){return this._eventsCount>0?it(this._events):[]}},function(et,tt,nt){var it=nt(146).Buffer,ot=it.isEncoding||function(Mt){switch((Mt=""+Mt)&&Mt.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 Ut(Mt){var Gt;switch(this.encoding=function(en){var tn=function(ln){if(!ln)return"utf8";for(var nn;;)switch(ln){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 ln;default:if(nn)return;ln=(""+ln).toLowerCase(),nn=!0}}(en);if(typeof tn!="string"&&(it.isEncoding===ot||!ot(en)))throw new Error("Unknown encoding: "+en);return tn||en}(Mt),this.encoding){case"utf16le":this.text=Bt,this.end=Vt,Gt=4;break;case"utf8":this.fillLast=Qt,Gt=4;break;case"base64":this.text=Wt,this.end=Xt,Gt=3;break;default:return this.write=Zt,void(this.end=Yt)}this.lastNeed=0,this.lastTotal=0,this.lastChar=it.allocUnsafe(Gt)}function Ft(Mt){return Mt<=127?0:Mt>>5==6?2:Mt>>4==14?3:Mt>>3==30?4:Mt>>6==2?-1:-2}function Qt(Mt){var Gt=this.lastTotal-this.lastNeed,en=function(tn,ln,nn){if((192&ln[0])!=128)return tn.lastNeed=0,"�";if(tn.lastNeed>1&&ln.length>1){if((192&ln[1])!=128)return tn.lastNeed=1,"�";if(tn.lastNeed>2&&ln.length>2&&(192&ln[2])!=128)return tn.lastNeed=2,"�"}}(this,Mt);return en!==void 0?en:this.lastNeed<=Mt.length?(Mt.copy(this.lastChar,Gt,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(Mt.copy(this.lastChar,Gt,0,Mt.length),void(this.lastNeed-=Mt.length))}function Bt(Mt,Gt){if((Mt.length-Gt)%2==0){var en=Mt.toString("utf16le",Gt);if(en){var tn=en.charCodeAt(en.length-1);if(tn>=55296&&tn<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=Mt[Mt.length-2],this.lastChar[1]=Mt[Mt.length-1],en.slice(0,-1)}return en}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=Mt[Mt.length-1],Mt.toString("utf16le",Gt,Mt.length-1)}function Vt(Mt){var Gt=Mt&&Mt.length?this.write(Mt):"";if(this.lastNeed){var en=this.lastTotal-this.lastNeed;return Gt+this.lastChar.toString("utf16le",0,en)}return Gt}function Wt(Mt,Gt){var en=(Mt.length-Gt)%3;return en===0?Mt.toString("base64",Gt):(this.lastNeed=3-en,this.lastTotal=3,en===1?this.lastChar[0]=Mt[Mt.length-1]:(this.lastChar[0]=Mt[Mt.length-2],this.lastChar[1]=Mt[Mt.length-1]),Mt.toString("base64",Gt,Mt.length-en))}function Xt(Mt){var Gt=Mt&&Mt.length?this.write(Mt):"";return this.lastNeed?Gt+this.lastChar.toString("base64",0,3-this.lastNeed):Gt}function Zt(Mt){return Mt.toString(this.encoding)}function Yt(Mt){return Mt&&Mt.length?this.write(Mt):""}tt.StringDecoder=Ut,Ut.prototype.write=function(Mt){if(Mt.length===0)return"";var Gt,en;if(this.lastNeed){if((Gt=this.fillLast(Mt))===void 0)return"";en=this.lastNeed,this.lastNeed=0}else en=0;return en=0?(dn>0&&(ln.lastNeed=dn-1),dn):--Kt=0?(dn>0&&(ln.lastNeed=dn-2),dn):--Kt=0?(dn>0&&(dn===2?dn=0:ln.lastNeed=dn-3),dn):0}(this,Mt,Gt);if(!this.lastNeed)return Mt.toString("utf8",Gt);this.lastTotal=en;var tn=Mt.length-(en-this.lastNeed);return Mt.copy(this.lastChar,0,tn),Mt.toString("utf8",Gt,tn)},Ut.prototype.fillLast=function(Mt){if(this.lastNeed<=Mt.length)return Mt.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);Mt.copy(this.lastChar,this.lastTotal-this.lastNeed,0,Mt.length),this.lastNeed-=Mt.length}},function(et,tt,nt){var it=nt(16),ot=Object.keys||function(Mt){var Gt=[];for(var en in Mt)Gt.push(en);return Gt};et.exports=Xt;var Ut=nt(17);Ut.inherits=nt(7);var Ft=nt(69),Qt=nt(48);Ut.inherits(Xt,Ft);for(var Bt=ot(Qt.prototype),Vt=0;Vt(Ln=Ln||0)&&(Ln=Math.max(Ln+ir,0));LnJn?1:0}e:{var Cn=Wt.navigator;if(Cn){var kn=Cn.userAgent;if(kn){Vn=kn;break e}}Vn=""}var hn="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Fn(Bn){var Jn=1;Bn=Bn.split(":");for(var Ln=[];0parseFloat(Ir)){Wn=String(Rr);break e}}Wn=Ir}var wr,br={};function Nr(Bn){return function(Jn,Ln){var Yn=br;return Object.prototype.hasOwnProperty.call(Yn,Jn)?Yn[Jn]:Yn[Jn]=Ln(Jn)}(Bn,function(){for(var Jn=0,Ln=Mn(String(Wn)).split("."),Yn=Mn(String(Bn)).split("."),ir=Math.max(Ln.length,Yn.length),lr=0;Jn==0&&lr=Bn.keyCode)&&(Bn.keyCode=-1)}catch{}};var as="closure_listenable_"+(1e6*Math.random()|0),$o=0;function hs(Bn,Jn,Ln,Yn,ir){this.listener=Bn,this.proxy=null,this.src=Jn,this.type=Ln,this.capture=!!Yn,this.A=ir,this.key=++$o,this.s=this.v=!1}function zs(Bn){Bn.s=!0,Bn.listener=null,Bn.proxy=null,Bn.src=null,Bn.A=null}function ks(Bn){this.src=Bn,this.a={},this.b=0}function ms(Bn,Jn){var Ln=Jn.type;if(Ln in Bn.a){var Yn,ir=Bn.a[Ln],lr=bn(ir,Jn);(Yn=0<=lr)&&Array.prototype.splice.call(ir,lr,1),Yn&&(zs(Jn),Bn.a[Ln].length==0&&(delete Bn.a[Ln],Bn.b--))}}function Ao(Bn,Jn,Ln,Yn){for(var ir=0;irLn.keyCode||Ln.returnValue!=null)){e:{var ir=!1;if(Ln.keyCode==0)try{Ln.keyCode=-1;break e}catch{ir=!0}(ir||Ln.returnValue==null)&&(Ln.returnValue=!0)}for(Ln=[],ir=Jn.a;ir;ir=ir.parentNode)Ln.push(ir);for(Bn=Bn.type,ir=Ln.length-1;0<=ir;ir--){Jn.a=Ln[ir];var lr=Dn(Ln[ir],Bn,!0,Jn);Yn=Yn&&lr}for(ir=0;ir>>0);function cr(Bn){return Yt(Bn)=="function"?Bn:(Bn[sr]||(Bn[sr]=function(Jn){return Bn.handleEvent(Jn)}),Bn[sr])}function nr(){Ar.call(this),this.f=new ks(this),this.N=this}function Kn(Bn,Jn){Bn=Bn.N;var Ln=Jn.type||Jn;if(typeof Jn=="string")Jn=new wo(Jn,Bn);else if(Jn instanceof wo)Jn.target=Jn.target||Bn;else{var Yn=Jn;(function(ir,lr){for(var qn,or,Fr=1;Fr=oo(this).value)for(Yt(Jn)=="function"&&(Jn=Jn()),Bn=new Gr(Bn,String(Jn),this.f),Ln&&(Bn.a=Ln),Ln=this;Ln;)Ln=Ln.a};var po,Qo={},Ro=null;function no(Bn,Jn){Bn&&Bn.log(eo,Jn,void 0)}function Ko(){}function ko(Bn){var Jn;return(Jn=Bn.a)||(Jn={},Sl(Bn)&&(Jn[0]=!0,Jn[1]=!0),Jn=Bn.a=Jn),Jn}function fs(){}function Ys(Bn){return(Bn=Sl(Bn))?new ActiveXObject(Bn):new XMLHttpRequest}function Sl(Bn){if(!Bn.b&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var Jn=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],Ln=0;Lnqn?null:typeof lr=="string"?lr.charAt(qn):lr[qn]}((Ln=new gs(Bn.headers)).f()),ir=Wt.FormData&&Jn instanceof Wt.FormData;!(0<=bn(zl,"POST"))||Yn||ir||Ln.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),Ln.forEach(function(lr,qn){this.a.setRequestHeader(qn,lr)},Bn),Bn.j&&(Bn.a.responseType=Bn.j),"withCredentials"in Bn.a&&Bn.a.withCredentials!==Bn.H&&(Bn.a.withCredentials=Bn.H);try{Yl(Bn),0>4),Kr!=64&&(qn(vr<<4&240|Kr>>2),Vr!=64&&qn(Kr<<6&192|Vr))}}(Bn,function(lr){Yn[ir++]=lr}),Yn.subarray(0,ir)}function Gl(){if(!Bs){Bs={};for(var Bn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),Jn=["+/=","+/","-_=","-_.","-_"],Ln=0;5>Ln;Ln++){var Yn=Bn.concat(Jn[Ln].split(""));_l[Ln]=Yn;for(var ir=0;ir2*or.c&&yl(or)),1/0===qn&&(qn=0),0(qn=ir.indexOf("#"))&&(qn=ir.length),0>(or=ir.indexOf("?"))||or>qn?(or=qn,Fr=""):Fr=ir.substring(or+1,qn),qn=(ir=[ir.substr(0,or),Fr,ir.substr(qn)])[1],ir[1]=vr?qn?qn+"&"+vr:vr:qn,ir=ir[0]+(ir[1]?"?"+ir[1]:"")+ir[2])):ir.a("$httpHeaders",qn))}for(Yn=(Jn=(0,Yn.a)(Jn.getRequestMessage())).length,vr=[0,0,0,0],qn=new Uint8Array(5+Yn),or=3;0<=or;or--)vr[or]=Yn%256,Yn>>>=8;if(qn.set(new Uint8Array(vr),1),qn.set(Jn,5),Jn=qn,Bn.a=="text"){var Kr;for(Bn=Jn,Kr===void 0&&(Kr=0),Gl(),Kr=_l[Kr],Jn=[],Yn=0;Yn>2,Ur=(3&Ur)<<4|Vr>>4,Vr=(15&Vr)<<2|(Fr=(qn=Yn+2>6,Fr&=63,qn||(Fr=64,vr||(Vr=64)),Jn.push(Kr[or],Kr[Ur],Kr[Vr]||"",Kr[Fr]||"")}Jn=Jn.join("")}else Bn.a=="binary"&&(Ln.j="arraybuffer");return rp(Ln,ir,Jn),lr}function Bu(Bn,Jn,Ln){var Yn=null,ir=!1;Bn.on("data",function(lr){Yn=lr}),Bn.on("error",function(lr){lr.code==0||ir||(ir=!0,Jn(lr,null))}),Bn.on("status",function(lr){lr.code==0||ir?Ln&&Jn(null,null,lr):(ir=!0,Jn({code:lr.code,message:lr.details,metadata:lr.metadata},null))}),Ln&&Bn.on("metadata",function(lr){Jn(null,null,null,lr)}),Bn.on("end",function(){ir||(Yn==null?Jn({code:2,message:"Incomplete response"}):Jn(null,Yn)),Ln&&Jn(null,null)})}function Xl(Bn,Jn){var Ln=Bn;return Jn.forEach(function(Yn){var ir=Ln;Ln=function(lr){return Yn.intercept(lr,ir)}}),Ln}na.prototype.on=function(Bn,Jn){return Bn=="data"?this.b.push(Jn):Bn=="status"?this.h.push(Jn):Bn=="metadata"?this.g.push(Jn):Bn=="end"?this.c.push(Jn):Bn=="error"&&this.f.push(Jn),this},na.prototype.removeListener=function(Bn,Jn){return Bn=="data"?As(this.b,Jn):Bn=="status"?As(this.h,Jn):Bn=="metadata"?As(this.g,Jn):Bn=="end"?As(this.c,Jn):Bn=="error"&&As(this.f,Jn),this},na.prototype.cancel=function(){this.j=!0,this.a.abort()},na.prototype.cancel=na.prototype.cancel,na.prototype.removeListener=na.prototype.removeListener,na.prototype.on=na.prototype.on,No.prototype.P=function(Bn,Jn,Ln,Yn,ir){var lr=this;Yn=En(Bn,Jn,"unary",Yn);var qn=Bn.substr(0,Bn.length-Yn.name.length);return Bu(Bn=Xl(function(or){return Tl(lr,or,qn)},this.b).call(this,Qn(Yn,Jn,Ln)),ir,!1),new an(Bn)},No.prototype.M=function(Bn,Jn,Ln,Yn){var ir=this;Yn=En(Bn,Jn,"unary",Yn);var lr=Bn.substr(0,Bn.length-Yn.name.length);return Xl(function(qn){return new Promise(function(or,Fr){var Ur,vr,Kr;Bu(Tl(ir,qn,lr),function(Vr,Cr,so,uo){Vr?Fr(Vr):Cr?Kr=Cr:so?vr=so:uo?Ur=uo:(Vr=qn.getMethodDescriptor(),or(new Kt(Kr,Vr,Cr=(Cr=Ur)===void 0?{}:Cr,vr===void 0?null:vr)))},!0)})},this.g).call(this,Qn(Yn,Jn,Ln)).then(function(qn){return qn.getResponseMessage()})},No.prototype.unaryCall=function(Bn,Jn,Ln,Yn){return this.M(Bn,Jn,Ln,Yn)},No.prototype.R=function(Bn,Jn,Ln,Yn){var ir=this;Yn=En(Bn,Jn,"server_streaming",Yn);var lr=Bn.substr(0,Bn.length-Yn.name.length);return Xl(function(qn){return Tl(ir,qn,lr)},this.b).call(this,Qn(Yn,Jn,Ln))},No.prototype.serverStreaming=No.prototype.R,No.prototype.unaryCall=No.prototype.unaryCall,No.prototype.thenableCall=No.prototype.M,No.prototype.rpcCall=No.prototype.P,et.exports.AbstractClientBase={MethodInfo:function(Bn,Jn,Ln,Yn,ir){this.name=Yn,this.b=ir,this.f=Bn,this.a=Jn,this.c=Ln}},et.exports.GrpcWebClientBase=No,et.exports.StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15},et.exports.MethodDescriptor=dn,et.exports.MethodType={UNARY:"unary",SERVER_STREAMING:"server_streaming"}}).call(this,nt(6))},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.isAsyncIterable=tt.isAsyncGenerator=tt.isAsync=void 0;var it,ot=nt(151),Ut=(it=ot)&&it.__esModule?it:{default:it};function Ft(Qt){return Qt[Symbol.toStringTag]==="AsyncFunction"}tt.default=function(Qt){if(typeof Qt!="function")throw new Error("expected a function");return Ft(Qt)?(0,Ut.default)(Qt):Qt},tt.isAsync=Ft,tt.isAsyncGenerator=function(Qt){return Qt[Symbol.toStringTag]==="AsyncGenerator"},tt.isAsyncIterable=function(Qt){return typeof Qt[Symbol.asyncIterator]=="function"}},function(et,tt,nt){var it={};function ot(Ft,Qt,Bt){Bt||(Bt=Error);var Vt=function(Wt){var Xt,Zt;function Yt(Mt,Gt,en){return Wt.call(this,function(tn,ln,nn){return typeof Qt=="string"?Qt:Qt(tn,ln,nn)}(Mt,Gt,en))||this}return Zt=Wt,(Xt=Yt).prototype=Object.create(Zt.prototype),Xt.prototype.constructor=Xt,Xt.__proto__=Zt,Yt}(Bt);Vt.prototype.name=Bt.name,Vt.prototype.code=Ft,it[Ft]=Vt}function Ut(Ft,Qt){if(Array.isArray(Ft)){var Bt=Ft.length;return Ft=Ft.map(function(Vt){return String(Vt)}),Bt>2?"one of ".concat(Qt," ").concat(Ft.slice(0,Bt-1).join(", "),", or ")+Ft[Bt-1]:Bt===2?"one of ".concat(Qt," ").concat(Ft[0]," or ").concat(Ft[1]):"of ".concat(Qt," ").concat(Ft[0])}return"of ".concat(Qt," ").concat(String(Ft))}ot("ERR_INVALID_OPT_VALUE",function(Ft,Qt){return'The value "'+Qt+'" is invalid for option "'+Ft+'"'},TypeError),ot("ERR_INVALID_ARG_TYPE",function(Ft,Qt,Bt){var Vt,Wt,Xt;if(typeof Qt=="string"&&(Wt="not ",Qt.substr(0,Wt.length)===Wt)?(Vt="must not be",Qt=Qt.replace(/^not /,"")):Vt="must be",function(Yt,Mt,Gt){return(Gt===void 0||Gt>Yt.length)&&(Gt=Yt.length),Yt.substring(Gt-Mt.length,Gt)===Mt}(Ft," argument"))Xt="The ".concat(Ft," ").concat(Vt," ").concat(Ut(Qt,"type"));else{var Zt=function(Yt,Mt,Gt){return typeof Gt!="number"&&(Gt=0),!(Gt+Mt.length>Yt.length)&&Yt.indexOf(Mt,Gt)!==-1}(Ft,".")?"property":"argument";Xt='The "'.concat(Ft,'" ').concat(Zt," ").concat(Vt," ").concat(Ut(Qt,"type"))}return Xt+=". Received type ".concat(typeof Bt)},TypeError),ot("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),ot("ERR_METHOD_NOT_IMPLEMENTED",function(Ft){return"The "+Ft+" method is not implemented"}),ot("ERR_STREAM_PREMATURE_CLOSE","Premature close"),ot("ERR_STREAM_DESTROYED",function(Ft){return"Cannot call "+Ft+" after a stream was destroyed"}),ot("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),ot("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),ot("ERR_STREAM_WRITE_AFTER_END","write after end"),ot("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),ot("ERR_UNKNOWN_ENCODING",function(Ft){return"Unknown encoding: "+Ft},TypeError),ot("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),et.exports.codes=it},function(et,tt,nt){(function(it){var ot=Object.keys||function(Yt){var Mt=[];for(var Gt in Yt)Mt.push(Gt);return Mt};et.exports=Wt;var Ut=nt(77),Ft=nt(81);nt(7)(Wt,Ut);for(var Qt=ot(Ft.prototype),Bt=0;Bt`${Wt.get("app-id")}`.startsWith("formant/")?{}:Ut},Vt)),this.endpoint=Bt}getHeaders(){return Object.assign(Object.assign({},Ft.headers),{"App-ID":`formant/${ot.a}`,"App-Version":ot.j})}}Ft.headers={}},function(et,tt,nt){nt(226),et.exports={encode:it=>new TextEncoder().encode(it),decode:it=>new TextDecoder().decode(it)}},function(et,tt,nt){nt.d(tt,"a",function(){return Ut});const it=["password","secret","token","key","buffer","authorization"],ot=Ft=>it.some(Qt=>Ft.toLowerCase().includes(Qt.toLowerCase()));function Ut(Ft,Qt=new WeakSet){return Qt.has(Ft)?"[ RECURSIVE ]":Array.isArray(Ft)?(Qt.add(Ft),Ft.map(Vt=>Ut(Vt,Qt))):!(Bt=Ft)||typeof Bt!="object"&&typeof Bt!="function"?typeof Ft=="string"&&ot(Ft)?"[ REDACTED ]":Ft:(Qt.add(Ft),Object.keys(Ft).reduce((Vt,Wt)=>(Vt[Wt]=ot(Wt)?"[ REDACTED ]":Ut(Ft[Wt],Qt),Vt),{}));var Bt}},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(it,ot=it.length){if(!ot)throw new Error("arity is undefined");return function(...Ut){return typeof Ut[ot-1]=="function"?it.apply(this,Ut):new Promise((Ft,Qt)=>{Ut[ot-1]=(Bt,...Vt)=>{if(Bt)return Qt(Bt);Ft(Vt.length>1?Vt:Vt[0])},it.apply(this,Ut)})}},et.exports=tt.default},function(et,tt,nt){(tt=et.exports=nt(69)).Stream=tt,tt.Readable=tt,tt.Writable=nt(48),tt.Duplex=nt(23),tt.Transform=nt(72),tt.PassThrough=nt(164)},function(et,tt,nt){(tt=et.exports=nt(77)).Stream=tt,tt.Readable=tt,tt.Writable=nt(81),tt.Duplex=nt(27),tt.Transform=nt(82),tt.PassThrough=nt(183),tt.finished=nt(49),tt.pipeline=nt(184)},function(et,tt,nt){et.exports=function(it){return it}},function(et,tt){et.exports=it,it.default=it,it.stable=Ut,it.stableStringify=Ut;var nt=[];function it(Ft,Qt,Bt){(function Xt(Zt,Yt,Mt,Gt){var en;if(typeof Zt=="object"&&Zt!==null){for(en=0;enQt?1:0}function Ut(Ft,Qt,Bt){for(var Vt=function Zt(Yt,Mt,Gt,en){var tn;if(typeof Yt=="object"&&Yt!==null){for(tn=0;tnln.validateHeaders?ln.validateHeaders(nn):{},this.verbose=ln.verbose!==!1,ln.retries!==void 0&&!(ln.retries>=0))throw new Error("retries must be positive or zero");if(this.configuredRetries=ln.retries,ln.timeoutMs!==void 0&&!(ln.timeoutMs>0))throw new Error("timeoutMs must be positive");if(this.timeoutMs=ln.timeoutMs,ln.maxBackoffDelayMs!==void 0&&!(ln.maxBackoffDelayMs>0))throw new Error("maxBackoffDelayMs must be positive");this.maxBackoffDelayMs=ln.maxBackoffDelayMs||30*Ut.a.second,this.json=ln.json!==!1}getRetries(){return this.configuredRetries!==void 0?this.configuredRetries:this.getConstructor().retries}getHeaders(){return{}}fetch(tn,ln={}){return Zt(this,void 0,void 0,function*(){return(yield this.fetchVerbose(tn,ln)).body})}fetchVerbose(tn,ln={}){return Zt(this,void 0,void 0,function*(){let nn=100*Ut.a.millisecond,sn=0;const Kt=this.timeoutMs!==void 0?new Date().getTime()+this.timeoutMs:void 0,dn=Kt?()=>Math.max(Kt-new Date().getTime(),0):void 0;for(;;)try{return yield this.doFetch(tn,ln,dn)}catch(Qn){const En=Qn,an=Object(Vt.a)(En,Ft);if((dn==null?void 0:dn())===0||sn===this.getRetries()||!an.retryable)throw an;sn++,nn=Math.min(...dn?[dn()]:[],nn*(2+.1*(Math.random()-.5)),this.maxBackoffDelayMs),yield Object(Qt.a)(nn),this.verbose&&Bt.a.warn(`Connection failure, retrying. Error: ${En.cause.message}`,{url:En.url,error:En.cause,attempt:sn})}})}doFetch(tn,ln,nn){return Zt(this,void 0,void 0,function*(){const{token:sn,json:Kt=this.json,allowUnsafeRetries:dn}=ln,Qn=Yt(ln,["token","json","allowUnsafeRetries"]),En=(Qn.method||"GET").toUpperCase(),an=this.endpoint!==void 0?`${this.endpoint}${tn?`/${tn}`:""}`:tn,rn=new AbortController;let gn;if(nn){const un=nn();un>0?gn=setTimeout(()=>{rn.abort()},un):rn.abort()}try{let un;yield Promise.race([this.getConstructor().waitForConnectivity(),new Promise(fn=>{un=setTimeout(fn,nn?Math.min(Ut.a.minute,nn()):Ut.a.minute)})]),un&&clearTimeout(un);const Un=yield ot()(an,Object.assign(Object.assign(Object.assign({},Qn),Qn.body!==void 0?{body:Kt!==!1?JSON.stringify(Qn.body):Qn.body}:{}),{headers:Object.assign(Object.assign(Object.assign(Object.assign({},Kt!==!1?{"Content-Type":"application/json"}:{}),this.getHeaders()),Qn.headers||{}),sn!==void 0?{Authorization:`Bearer ${sn}`}:{}),signal:rn.signal})),_n=Un.headers.get("content-type")||"",vn=_n&&_n.startsWith("application/json"),pn=vn?yield Un.json():yield Un.text(),Rn=()=>new Wt.a(En,an,Qn.body,Un.status,Un.headers,pn,pn&&pn.validationErrors||{});if(!Un.ok)throw this.verbose&&Bt.a[Un.status>=500?"warn":"info"]("Response error",{method:En,url:an,statusCode:Un.status}),Rn();const Sn=this.validateHeaders(Un.headers);if(Object.keys(Sn).length!==0)throw new Xt(Sn,Rn());if(Un.status===204)return{body:void 0,headers:Un.headers};if(Kt&&!vn)throw new Error(`Response is not JSON: ${JSON.stringify(pn)}`);return{body:pn,headers:Un.headers}}catch(un){const Un=un,_n=dn||Mt.has(En);if(Un.message==="Network request failed")throw new Ft(Un,an,_n);if(Un.type==="system"&&["EAI_AGAIN","ECONNREFUSED","EHOSTUNREACH","ENOTFOUND"].find(Sn=>Sn===Un.code))throw new Ft(Un,an,!0);if(Un.type==="system"&&["ETIMEDOUT","ECONNRESET","ESOCKETTIMEDOUT","EPIPE"].find(Sn=>Sn===Un.code))throw new Ft(Un,an,_n);if(Un.name==="AbortError")throw new Ft(Un,an,_n);const vn=Object(Vt.a)(Un,Wt.a),{statusCode:pn}=vn;if(pn===408||pn===429||pn===502||pn===503||pn===504)throw this.verbose&&!_n&&Bt.a.warn("Potentially unsafe retry"),new Ft(Un,an,!0);const Rn=this.validateHeaders(vn.headers);throw Object.keys(Rn).length!==0?new Xt(Rn,vn):(yield this.getConstructor().onResponseError(vn),Un)}finally{gn&&clearTimeout(gn)}})}getConstructor(){return Object.getPrototypeOf(this).constructor}}Gt.retries=8,Gt.waitForConnectivity=()=>Zt(void 0,void 0,void 0,function*(){}),Gt.onResponseError=()=>Zt(void 0,void 0,void 0,function*(){})},function(et,tt,nt){function it(Xt,Zt){if(!(Xt instanceof Zt))throw new TypeError("Cannot call a class as a function")}function ot(Xt,Zt){for(var Yt=0;Yt0&&arguments[0]!==void 0?arguments[0]:{};it(this,Xt),Gt.colors&&this.addColors(Gt.colors),this.options=Gt}var Zt,Yt,Mt;return Zt=Xt,Mt=[{key:"addColors",value:function(Gt){var en=Object.keys(Gt).reduce(function(tn,ln){return tn[ln]=Vt.test(Gt[ln])?Gt[ln].split(Vt):Gt[ln],tn},{});return Xt.allColors=Object.assign({},Xt.allColors||{},en),Xt.allColors}}],(Yt=[{key:"addColors",value:function(Gt){return Xt.addColors(Gt)}},{key:"colorize",value:function(Gt,en,tn){if(tn===void 0&&(tn=en),!Array.isArray(Xt.allColors[Gt]))return Ut[Xt.allColors[Gt]](tn);for(var ln=0,nn=Xt.allColors[Gt].length;ln=0&&it.length%1==0},et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default={},et.exports=tt.default},function(et,tt,nt){var it=nt(5),ot=it.Buffer;function Ut(Qt,Bt){for(var Vt in Qt)Bt[Vt]=Qt[Vt]}function Ft(Qt,Bt,Vt){return ot(Qt,Bt,Vt)}ot.from&&ot.alloc&&ot.allocUnsafe&&ot.allocUnsafeSlow?et.exports=it:(Ut(it,tt),tt.Buffer=Ft),Ut(ot,Ft),Ft.from=function(Qt,Bt,Vt){if(typeof Qt=="number")throw new TypeError("Argument must not be a number");return ot(Qt,Bt,Vt)},Ft.alloc=function(Qt,Bt,Vt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");var Wt=ot(Qt);return Bt!==void 0?typeof Vt=="string"?Wt.fill(Bt,Vt):Wt.fill(Bt):Wt.fill(0),Wt},Ft.allocUnsafe=function(Qt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");return ot(Qt)},Ft.allocUnsafeSlow=function(Qt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");return it.SlowBuffer(Qt)}},function(et,tt,nt){(function(it,ot,Ut){var Ft=nt(16);function Qt(rn){var gn=this;this.next=null,this.entry=null,this.finish=function(){(function(un,Un,_n){var vn=un.entry;for(un.entry=null;vn;){var pn=vn.callback;Un.pendingcb--,pn(_n),vn=vn.next}Un.corkedRequestsFree?Un.corkedRequestsFree.next=un:Un.corkedRequestsFree=un})(gn,rn)}}et.exports=nn;var Bt,Vt=!it.browser&&["v0.10","v0.9."].indexOf(it.version.slice(0,5))>-1?ot:Ft.nextTick;nn.WritableState=ln;var Wt=nt(17);Wt.inherits=nt(7);var Xt={deprecate:nt(43)},Zt=nt(70),Yt=nt(47).Buffer,Mt=Ut.Uint8Array||function(){},Gt,en=nt(71);function tn(){}function ln(rn,gn){Bt=Bt||nt(23),rn=rn||{};var un=gn instanceof Bt;this.objectMode=!!rn.objectMode,un&&(this.objectMode=this.objectMode||!!rn.writableObjectMode);var Un=rn.highWaterMark,_n=rn.writableHighWaterMark,vn=this.objectMode?16:16384;this.highWaterMark=Un||Un===0?Un:un&&(_n||_n===0)?_n:vn,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var pn=rn.decodeStrings===!1;this.decodeStrings=!pn,this.defaultEncoding=rn.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Rn){(function(Sn,fn){var cn=Sn._writableState,bn=cn.sync,Vn=cn.writecb;if(function(Zn){Zn.writing=!1,Zn.writecb=null,Zn.length-=Zn.writelen,Zn.writelen=0}(cn),fn)(function(Zn,In,Cn,kn,hn){--In.pendingcb,Cn?(Ft.nextTick(hn,kn),Ft.nextTick(an,Zn,In),Zn._writableState.errorEmitted=!0,Zn.emit("error",kn)):(hn(kn),Zn._writableState.errorEmitted=!0,Zn.emit("error",kn),an(Zn,In))})(Sn,cn,bn,fn,Vn);else{var Mn=Qn(cn);Mn||cn.corked||cn.bufferProcessing||!cn.bufferedRequest||dn(Sn,cn),bn?Vt(Kt,Sn,cn,Mn,Vn):Kt(Sn,cn,Mn,Vn)}})(gn,Rn)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Qt(this)}function nn(rn){if(Bt=Bt||nt(23),!(Gt.call(nn,this)||this instanceof Bt))return new nn(rn);this._writableState=new ln(rn,this),this.writable=!0,rn&&(typeof rn.write=="function"&&(this._write=rn.write),typeof rn.writev=="function"&&(this._writev=rn.writev),typeof rn.destroy=="function"&&(this._destroy=rn.destroy),typeof rn.final=="function"&&(this._final=rn.final)),Zt.call(this)}function sn(rn,gn,un,Un,_n,vn,pn){gn.writelen=Un,gn.writecb=pn,gn.writing=!0,gn.sync=!0,un?rn._writev(_n,gn.onwrite):rn._write(_n,vn,gn.onwrite),gn.sync=!1}function Kt(rn,gn,un,Un){un||function(_n,vn){vn.length===0&&vn.needDrain&&(vn.needDrain=!1,_n.emit("drain"))}(rn,gn),gn.pendingcb--,Un(),an(rn,gn)}function dn(rn,gn){gn.bufferProcessing=!0;var un=gn.bufferedRequest;if(rn._writev&&un&&un.next){var Un=gn.bufferedRequestCount,_n=new Array(Un),vn=gn.corkedRequestsFree;vn.entry=un;for(var pn=0,Rn=!0;un;)_n[pn]=un,un.isBuf||(Rn=!1),un=un.next,pn+=1;_n.allBuffers=Rn,sn(rn,gn,!0,gn.length,_n,"",vn.finish),gn.pendingcb++,gn.lastBufferedRequest=null,vn.next?(gn.corkedRequestsFree=vn.next,vn.next=null):gn.corkedRequestsFree=new Qt(gn),gn.bufferedRequestCount=0}else{for(;un;){var Sn=un.chunk,fn=un.encoding,cn=un.callback;if(sn(rn,gn,!1,gn.objectMode?1:Sn.length,Sn,fn,cn),un=un.next,gn.bufferedRequestCount--,gn.writing)break}un===null&&(gn.lastBufferedRequest=null)}gn.bufferedRequest=un,gn.bufferProcessing=!1}function Qn(rn){return rn.ending&&rn.length===0&&rn.bufferedRequest===null&&!rn.finished&&!rn.writing}function En(rn,gn){rn._final(function(un){gn.pendingcb--,un&&rn.emit("error",un),gn.prefinished=!0,rn.emit("prefinish"),an(rn,gn)})}function an(rn,gn){var un=Qn(gn);return un&&(function(Un,_n){_n.prefinished||_n.finalCalled||(typeof Un._final=="function"?(_n.pendingcb++,_n.finalCalled=!0,Ft.nextTick(En,Un,_n)):(_n.prefinished=!0,Un.emit("prefinish")))}(rn,gn),gn.pendingcb===0&&(gn.finished=!0,rn.emit("finish"))),un}Wt.inherits(nn,Zt),ln.prototype.getBuffer=function(){for(var rn=this.bufferedRequest,gn=[];rn;)gn.push(rn),rn=rn.next;return gn},function(){try{Object.defineProperty(ln.prototype,"buffer",{get:Xt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Gt=Function.prototype[Symbol.hasInstance],Object.defineProperty(nn,Symbol.hasInstance,{value:function(rn){return!!Gt.call(this,rn)||this===nn&&rn&&rn._writableState instanceof ln}})):Gt=function(rn){return rn instanceof this},nn.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},nn.prototype.write=function(rn,gn,un){var Un,_n=this._writableState,vn=!1,pn=!_n.objectMode&&(Un=rn,Yt.isBuffer(Un)||Un instanceof Mt);return pn&&!Yt.isBuffer(rn)&&(rn=function(Rn){return Yt.from(Rn)}(rn)),typeof gn=="function"&&(un=gn,gn=null),pn?gn="buffer":gn||(gn=_n.defaultEncoding),typeof un!="function"&&(un=tn),_n.ended?function(Rn,Sn){var fn=new Error("write after end");Rn.emit("error",fn),Ft.nextTick(Sn,fn)}(this,un):(pn||function(Rn,Sn,fn,cn){var bn=!0,Vn=!1;return fn===null?Vn=new TypeError("May not write null values to stream"):typeof fn=="string"||fn===void 0||Sn.objectMode||(Vn=new TypeError("Invalid non-string/buffer chunk")),Vn&&(Rn.emit("error",Vn),Ft.nextTick(cn,Vn),bn=!1),bn}(this,_n,rn,un))&&(_n.pendingcb++,vn=function(Rn,Sn,fn,cn,bn,Vn){if(!fn){var Mn=function(kn,hn,Fn){return kn.objectMode||kn.decodeStrings===!1||typeof hn!="string"||(hn=Yt.from(hn,Fn)),hn}(Sn,cn,bn);cn!==Mn&&(fn=!0,bn="buffer",cn=Mn)}var Zn=Sn.objectMode?1:cn.length;Sn.length+=Zn;var In=Sn.length-1))throw new TypeError("Unknown encoding: "+rn);return this._writableState.defaultEncoding=rn,this},Object.defineProperty(nn.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),nn.prototype._write=function(rn,gn,un){un(new Error("_write() is not implemented"))},nn.prototype._writev=null,nn.prototype.end=function(rn,gn,un){var Un=this._writableState;typeof rn=="function"?(un=rn,rn=null,gn=null):typeof gn=="function"&&(un=gn,gn=null),rn!=null&&this.write(rn,gn),Un.corked&&(Un.corked=1,this.uncork()),Un.ending||Un.finished||function(_n,vn,pn){vn.ending=!0,an(_n,vn),pn&&(vn.finished?Ft.nextTick(pn):_n.once("finish",pn)),vn.ended=!0,_n.writable=!1}(this,Un,un)},Object.defineProperty(nn.prototype,"destroyed",{get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(rn){this._writableState&&(this._writableState.destroyed=rn)}}),nn.prototype.destroy=en.destroy,nn.prototype._undestroy=en.undestroy,nn.prototype._destroy=function(rn,gn){this.end(),gn(rn)}}).call(this,nt(2),nt(15).setImmediate,nt(6))},function(et,tt,nt){var it=nt(26).codes.ERR_STREAM_PREMATURE_CLOSE;function ot(){}et.exports=function Ut(Ft,Qt,Bt){if(typeof Qt=="function")return Ut(Ft,null,Qt);Qt||(Qt={}),Bt=function(nn){var sn=!1;return function(){if(!sn){sn=!0;for(var Kt=arguments.length,dn=new Array(Kt),Qn=0;Qn=0;Wt--){var Xt=Qt[Wt];Xt==="."?Qt.splice(Wt,1):Xt===".."?(Qt.splice(Wt,1),Vt++):Vt&&(Qt.splice(Wt,1),Vt--)}if(Bt)for(;Vt--;Vt)Qt.unshift("..");return Qt}function Ut(Qt,Bt){if(Qt.filter)return Qt.filter(Bt);for(var Vt=[],Wt=0;Wt=-1&&!Bt;Vt--){var Wt=Vt>=0?arguments[Vt]:it.cwd();if(typeof Wt!="string")throw new TypeError("Arguments to path.resolve must be strings");Wt&&(Qt=Wt+"/"+Qt,Bt=Wt.charAt(0)==="/")}return(Bt?"/":"")+(Qt=ot(Ut(Qt.split("/"),function(Xt){return!!Xt}),!Bt).join("/"))||"."},tt.normalize=function(Qt){var Bt=tt.isAbsolute(Qt),Vt=Ft(Qt,-1)==="/";return(Qt=ot(Ut(Qt.split("/"),function(Wt){return!!Wt}),!Bt).join("/"))||Bt||(Qt="."),Qt&&Vt&&(Qt+="/"),(Bt?"/":"")+Qt},tt.isAbsolute=function(Qt){return Qt.charAt(0)==="/"},tt.join=function(){var Qt=Array.prototype.slice.call(arguments,0);return tt.normalize(Ut(Qt,function(Bt,Vt){if(typeof Bt!="string")throw new TypeError("Arguments to path.join must be strings");return Bt}).join("/"))},tt.relative=function(Qt,Bt){function Vt(en){for(var tn=0;tn=0&&en[ln]==="";ln--);return tn>ln?[]:en.slice(tn,ln-tn+1)}Qt=tt.resolve(Qt).substr(1),Bt=tt.resolve(Bt).substr(1);for(var Wt=Vt(Qt.split("/")),Xt=Vt(Bt.split("/")),Zt=Math.min(Wt.length,Xt.length),Yt=Zt,Mt=0;Mt=1;--Zt)if((Bt=Qt.charCodeAt(Zt))===47){if(!Xt){Wt=Zt;break}}else Xt=!1;return Wt===-1?Vt?"/":".":Vt&&Wt===1?"/":Qt.slice(0,Wt)},tt.basename=function(Qt,Bt){var Vt=function(Wt){typeof Wt!="string"&&(Wt+="");var Xt,Zt=0,Yt=-1,Mt=!0;for(Xt=Wt.length-1;Xt>=0;--Xt)if(Wt.charCodeAt(Xt)===47){if(!Mt){Zt=Xt+1;break}}else Yt===-1&&(Mt=!1,Yt=Xt+1);return Yt===-1?"":Wt.slice(Zt,Yt)}(Qt);return Bt&&Vt.substr(-1*Bt.length)===Bt&&(Vt=Vt.substr(0,Vt.length-Bt.length)),Vt},tt.extname=function(Qt){typeof Qt!="string"&&(Qt+="");for(var Bt=-1,Vt=0,Wt=-1,Xt=!0,Zt=0,Yt=Qt.length-1;Yt>=0;--Yt){var Mt=Qt.charCodeAt(Yt);if(Mt!==47)Wt===-1&&(Xt=!1,Wt=Yt+1),Mt===46?Bt===-1?Bt=Yt:Zt!==1&&(Zt=1):Bt!==-1&&(Zt=-1);else if(!Xt){Vt=Yt+1;break}}return Bt===-1||Wt===-1||Zt===0||Zt===1&&Bt===Wt-1&&Bt===Vt+1?"":Qt.slice(Bt,Wt)};var Ft="ab".substr(-1)==="b"?function(Qt,Bt,Vt){return Qt.substr(Bt,Vt)}:function(Qt,Bt,Vt){return Bt<0&&(Bt=Qt.length+Bt),Qt.substr(Bt,Vt)}}).call(this,nt(2))},,function(et,tt,nt){var it=tt.format=nt(12);tt.levels=nt(104),Object.defineProperty(it,"align",{value:nt(121)}),Object.defineProperty(it,"cli",{value:nt(122)}),Object.defineProperty(it,"combine",{value:nt(123)}),Object.defineProperty(it,"colorize",{value:nt(41)}),Object.defineProperty(it,"json",{value:nt(124)}),Object.defineProperty(it,"label",{value:nt(127)}),Object.defineProperty(it,"logstash",{value:nt(128)}),Object.defineProperty(it,"metadata",{value:nt(129)}),Object.defineProperty(it,"padLevels",{value:nt(60)}),Object.defineProperty(it,"prettyPrint",{value:nt(130)}),Object.defineProperty(it,"printf",{value:nt(131)}),Object.defineProperty(it,"simple",{value:nt(132)}),Object.defineProperty(it,"splat",{value:nt(133)}),Object.defineProperty(it,"timestamp",{value:nt(134)}),Object.defineProperty(it,"uncolorize",{value:nt(136)})},function(et,tt,nt){var it=nt(105);et.exports=it},function(et,tt,nt){function it(Zt){return function(Yt){if(Array.isArray(Yt))return ot(Yt)}(Zt)||function(Yt){if(typeof Symbol<"u"&&Symbol.iterator in Object(Yt))return Array.from(Yt)}(Zt)||function(Yt,Mt){if(Yt){if(typeof Yt=="string")return ot(Yt,Mt);var Gt=Object.prototype.toString.call(Yt).slice(8,-1);if(Gt==="Object"&&Yt.constructor&&(Gt=Yt.constructor.name),Gt==="Map"||Gt==="Set")return Array.from(Yt);if(Gt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Gt))return ot(Yt,Mt)}}(Zt)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ot(Zt,Yt){(Yt==null||Yt>Zt.length)&&(Yt=Zt.length);for(var Mt=0,Gt=new Array(Yt);Mt0&&arguments[0]!==void 0?arguments[0]:{levels:Bt.npm.levels};Ut(this,Zt),this.paddings=Zt.paddingForLevels(en.levels,en.filler),this.options=en}var Yt,Mt,Gt;return Yt=Zt,Gt=[{key:"getLongestLevel",value:function(en){var tn=Object.keys(en).map(function(ln){return ln.length});return Math.max.apply(Math,it(tn))}},{key:"paddingForLevel",value:function(en,tn,ln){var nn=ln+1-en.length,sn=Math.floor(nn/tn.length);return"".concat(tn).concat(tn.repeat(sn)).slice(0,nn)}},{key:"paddingForLevels",value:function(en){var tn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:" ",ln=Zt.getLongestLevel(en);return Object.keys(en).reduce(function(nn,sn){return nn[sn]=Zt.paddingForLevel(sn,tn,ln),nn},{})}}],(Mt=[{key:"transform",value:function(en,tn){return en.message="".concat(this.paddings[en[Vt]]).concat(en.message),en[Wt]&&(en[Wt]="".concat(this.paddings[en[Vt]]).concat(en[Wt])),en}}])&&Ft(Yt.prototype,Mt),Gt&&Ft(Yt,Gt),Zt}();et.exports=function(Zt){return new Xt(Zt)},et.exports.Padder=et.exports.Format=Xt},function(et,tt,nt){var it=nt(13).format;tt.warn={deprecated:function(ot){return function(){throw new Error(it("{ %s } was removed in winston@3.0.0.",ot))}},useFormat:function(ot){return function(){throw new Error([it("{ %s } was removed in winston@3.0.0.",ot),"Use a custom winston.format = winston.format(function) instead."].join(` -`))}},forFunctions:function(ot,Ut,Ft){Ft.forEach(function(Qt){ot[Qt]=tt.warn[Ut](Qt)})},moved:function(ot,Ut,Ft){function Qt(){return function(){throw new Error([it("winston.%s was moved in winston@3.0.0.",Ft),it("Use a winston.%s instead.",Ut)].join(` -`))}}Object.defineProperty(ot,Ft,{get:Qt,set:Qt})},forProperties:function(ot,Ut,Ft){Ft.forEach(function(Qt){var Bt=tt.warn[Ut](Qt);Object.defineProperty(ot,Qt,{get:Bt,set:Bt})})}}},function(et,tt,nt){(function(it,ot,Ut){var Ft=nt(16);function Qt(rn){var gn=this;this.next=null,this.entry=null,this.finish=function(){(function(un,Un,_n){var vn=un.entry;for(un.entry=null;vn;){var pn=vn.callback;Un.pendingcb--,pn(_n),vn=vn.next}Un.corkedRequestsFree?Un.corkedRequestsFree.next=un:Un.corkedRequestsFree=un})(gn,rn)}}et.exports=nn;var Bt,Vt=!it.browser&&["v0.10","v0.9."].indexOf(it.version.slice(0,5))>-1?ot:Ft.nextTick;nn.WritableState=ln;var Wt=Object.create(nt(17));Wt.inherits=nt(7);var Xt={deprecate:nt(43)},Zt=nt(63),Yt=nt(44).Buffer,Mt=Ut.Uint8Array||function(){},Gt,en=nt(64);function tn(){}function ln(rn,gn){Bt=Bt||nt(36),rn=rn||{};var un=gn instanceof Bt;this.objectMode=!!rn.objectMode,un&&(this.objectMode=this.objectMode||!!rn.writableObjectMode);var Un=rn.highWaterMark,_n=rn.writableHighWaterMark,vn=this.objectMode?16:16384;this.highWaterMark=Un||Un===0?Un:un&&(_n||_n===0)?_n:vn,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var pn=rn.decodeStrings===!1;this.decodeStrings=!pn,this.defaultEncoding=rn.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(Rn){(function(Sn,fn){var cn=Sn._writableState,bn=cn.sync,Vn=cn.writecb;if(function(Zn){Zn.writing=!1,Zn.writecb=null,Zn.length-=Zn.writelen,Zn.writelen=0}(cn),fn)(function(Zn,In,Cn,kn,hn){--In.pendingcb,Cn?(Ft.nextTick(hn,kn),Ft.nextTick(an,Zn,In),Zn._writableState.errorEmitted=!0,Zn.emit("error",kn)):(hn(kn),Zn._writableState.errorEmitted=!0,Zn.emit("error",kn),an(Zn,In))})(Sn,cn,bn,fn,Vn);else{var Mn=Qn(cn);Mn||cn.corked||cn.bufferProcessing||!cn.bufferedRequest||dn(Sn,cn),bn?Vt(Kt,Sn,cn,Mn,Vn):Kt(Sn,cn,Mn,Vn)}})(gn,Rn)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new Qt(this)}function nn(rn){if(Bt=Bt||nt(36),!(Gt.call(nn,this)||this instanceof Bt))return new nn(rn);this._writableState=new ln(rn,this),this.writable=!0,rn&&(typeof rn.write=="function"&&(this._write=rn.write),typeof rn.writev=="function"&&(this._writev=rn.writev),typeof rn.destroy=="function"&&(this._destroy=rn.destroy),typeof rn.final=="function"&&(this._final=rn.final)),Zt.call(this)}function sn(rn,gn,un,Un,_n,vn,pn){gn.writelen=Un,gn.writecb=pn,gn.writing=!0,gn.sync=!0,un?rn._writev(_n,gn.onwrite):rn._write(_n,vn,gn.onwrite),gn.sync=!1}function Kt(rn,gn,un,Un){un||function(_n,vn){vn.length===0&&vn.needDrain&&(vn.needDrain=!1,_n.emit("drain"))}(rn,gn),gn.pendingcb--,Un(),an(rn,gn)}function dn(rn,gn){gn.bufferProcessing=!0;var un=gn.bufferedRequest;if(rn._writev&&un&&un.next){var Un=gn.bufferedRequestCount,_n=new Array(Un),vn=gn.corkedRequestsFree;vn.entry=un;for(var pn=0,Rn=!0;un;)_n[pn]=un,un.isBuf||(Rn=!1),un=un.next,pn+=1;_n.allBuffers=Rn,sn(rn,gn,!0,gn.length,_n,"",vn.finish),gn.pendingcb++,gn.lastBufferedRequest=null,vn.next?(gn.corkedRequestsFree=vn.next,vn.next=null):gn.corkedRequestsFree=new Qt(gn),gn.bufferedRequestCount=0}else{for(;un;){var Sn=un.chunk,fn=un.encoding,cn=un.callback;if(sn(rn,gn,!1,gn.objectMode?1:Sn.length,Sn,fn,cn),un=un.next,gn.bufferedRequestCount--,gn.writing)break}un===null&&(gn.lastBufferedRequest=null)}gn.bufferedRequest=un,gn.bufferProcessing=!1}function Qn(rn){return rn.ending&&rn.length===0&&rn.bufferedRequest===null&&!rn.finished&&!rn.writing}function En(rn,gn){rn._final(function(un){gn.pendingcb--,un&&rn.emit("error",un),gn.prefinished=!0,rn.emit("prefinish"),an(rn,gn)})}function an(rn,gn){var un=Qn(gn);return un&&(function(Un,_n){_n.prefinished||_n.finalCalled||(typeof Un._final=="function"?(_n.pendingcb++,_n.finalCalled=!0,Ft.nextTick(En,Un,_n)):(_n.prefinished=!0,Un.emit("prefinish")))}(rn,gn),gn.pendingcb===0&&(gn.finished=!0,rn.emit("finish"))),un}Wt.inherits(nn,Zt),ln.prototype.getBuffer=function(){for(var rn=this.bufferedRequest,gn=[];rn;)gn.push(rn),rn=rn.next;return gn},function(){try{Object.defineProperty(ln.prototype,"buffer",{get:Xt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Gt=Function.prototype[Symbol.hasInstance],Object.defineProperty(nn,Symbol.hasInstance,{value:function(rn){return!!Gt.call(this,rn)||this===nn&&rn&&rn._writableState instanceof ln}})):Gt=function(rn){return rn instanceof this},nn.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},nn.prototype.write=function(rn,gn,un){var Un,_n=this._writableState,vn=!1,pn=!_n.objectMode&&(Un=rn,Yt.isBuffer(Un)||Un instanceof Mt);return pn&&!Yt.isBuffer(rn)&&(rn=function(Rn){return Yt.from(Rn)}(rn)),typeof gn=="function"&&(un=gn,gn=null),pn?gn="buffer":gn||(gn=_n.defaultEncoding),typeof un!="function"&&(un=tn),_n.ended?function(Rn,Sn){var fn=new Error("write after end");Rn.emit("error",fn),Ft.nextTick(Sn,fn)}(this,un):(pn||function(Rn,Sn,fn,cn){var bn=!0,Vn=!1;return fn===null?Vn=new TypeError("May not write null values to stream"):typeof fn=="string"||fn===void 0||Sn.objectMode||(Vn=new TypeError("Invalid non-string/buffer chunk")),Vn&&(Rn.emit("error",Vn),Ft.nextTick(cn,Vn),bn=!1),bn}(this,_n,rn,un))&&(_n.pendingcb++,vn=function(Rn,Sn,fn,cn,bn,Vn){if(!fn){var Mn=function(kn,hn,Fn){return kn.objectMode||kn.decodeStrings===!1||typeof hn!="string"||(hn=Yt.from(hn,Fn)),hn}(Sn,cn,bn);cn!==Mn&&(fn=!0,bn="buffer",cn=Mn)}var Zn=Sn.objectMode?1:cn.length;Sn.length+=Zn;var In=Sn.length-1))throw new TypeError("Unknown encoding: "+rn);return this._writableState.defaultEncoding=rn,this},Object.defineProperty(nn.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),nn.prototype._write=function(rn,gn,un){un(new Error("_write() is not implemented"))},nn.prototype._writev=null,nn.prototype.end=function(rn,gn,un){var Un=this._writableState;typeof rn=="function"?(un=rn,rn=null,gn=null):typeof gn=="function"&&(un=gn,gn=null),rn!=null&&this.write(rn,gn),Un.corked&&(Un.corked=1,this.uncork()),Un.ending||Un.finished||function(_n,vn,pn){vn.ending=!0,an(_n,vn),pn&&(vn.finished?Ft.nextTick(pn):_n.once("finish",pn)),vn.ended=!0,_n.writable=!1}(this,Un,un)},Object.defineProperty(nn.prototype,"destroyed",{get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(rn){this._writableState&&(this._writableState.destroyed=rn)}}),nn.prototype.destroy=en.destroy,nn.prototype._undestroy=en.undestroy,nn.prototype._destroy=function(rn,gn){this.end(),gn(rn)}}).call(this,nt(2),nt(15).setImmediate,nt(6))},function(et,tt,nt){et.exports=nt(21).EventEmitter},function(et,tt,nt){var it=nt(16);function ot(Ut,Ft){Ut.emit("error",Ft)}et.exports={destroy:function(Ut,Ft){var Qt=this,Bt=this._readableState&&this._readableState.destroyed,Vt=this._writableState&&this._writableState.destroyed;return Bt||Vt?(Ft?Ft(Ut):!Ut||this._writableState&&this._writableState.errorEmitted||it.nextTick(ot,this,Ut),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(Ut||null,function(Wt){!Ft&&Wt?(it.nextTick(ot,Qt,Wt),Qt._writableState&&(Qt._writableState.errorEmitted=!0)):Ft&&Ft(Wt)}),this)},undestroy:function(){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.finished=!1,this._writableState.errorEmitted=!1)}}},function(et,tt){},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0});var it=Ft(nt(155)),ot=Ft(nt(25)),Ut=Ft(nt(31));function Ft(Qt){return Qt&&Qt.__esModule?Qt:{default:Qt}}tt.default=(0,Ut.default)(function(Qt,Bt,Vt,Wt){return(0,it.default)(Bt)(Qt,(0,ot.default)(Vt),Wt)},4),et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(it){function ot(...Ut){if(it!==null){var Ft=it;it=null,Ft.apply(this,Ut)}}return Object.assign(ot,it),ot},et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(it){return function(...ot){if(it===null)throw new Error("Callback was already called.");var Ut=it;it=null,Ut.apply(this,ot)}},et.exports=tt.default},function(et,tt,nt){(function(it,ot){var Ut=nt(16);et.exports=sn;var Ft,Qt=nt(42);sn.ReadableState=nn,nt(21).EventEmitter;var Bt=function(fn,cn){return fn.listeners(cn).length},Vt=nt(70),Wt=nt(47).Buffer,Xt=it.Uint8Array||function(){},Zt=nt(17);Zt.inherits=nt(7);var Yt=nt(161),Mt=void 0;Mt=Yt&&Yt.debuglog?Yt.debuglog("stream"):function(){};var Gt,en=nt(162),tn=nt(71);Zt.inherits(sn,Vt);var ln=["error","close","destroy","pause","resume"];function nn(fn,cn){fn=fn||{};var bn=cn instanceof(Ft=Ft||nt(23));this.objectMode=!!fn.objectMode,bn&&(this.objectMode=this.objectMode||!!fn.readableObjectMode);var Vn=fn.highWaterMark,Mn=fn.readableHighWaterMark,Zn=this.objectMode?16:16384;this.highWaterMark=Vn||Vn===0?Vn:bn&&(Mn||Mn===0)?Mn:Zn,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new en,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.destroyed=!1,this.defaultEncoding=fn.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,fn.encoding&&(Gt||(Gt=nt(22).StringDecoder),this.decoder=new Gt(fn.encoding),this.encoding=fn.encoding)}function sn(fn){if(Ft=Ft||nt(23),!(this instanceof sn))return new sn(fn);this._readableState=new nn(fn,this),this.readable=!0,fn&&(typeof fn.read=="function"&&(this._read=fn.read),typeof fn.destroy=="function"&&(this._destroy=fn.destroy)),Vt.call(this)}function Kt(fn,cn,bn,Vn,Mn){var Zn,In=fn._readableState;return cn===null?(In.reading=!1,function(Cn,kn){if(!kn.ended){if(kn.decoder){var hn=kn.decoder.end();hn&&hn.length&&(kn.buffer.push(hn),kn.length+=kn.objectMode?1:hn.length)}kn.ended=!0,En(Cn)}}(fn,In)):(Mn||(Zn=function(Cn,kn){var hn;Fn=kn,Wt.isBuffer(Fn)||Fn instanceof Xt||typeof kn=="string"||kn===void 0||Cn.objectMode||(hn=new TypeError("Invalid non-string/buffer chunk"));var Fn;return hn}(In,cn)),Zn?fn.emit("error",Zn):In.objectMode||cn&&cn.length>0?(typeof cn=="string"||In.objectMode||Object.getPrototypeOf(cn)===Wt.prototype||(cn=function(Cn){return Wt.from(Cn)}(cn)),Vn?In.endEmitted?fn.emit("error",new Error("stream.unshift() after end event")):dn(fn,In,cn,!0):In.ended?fn.emit("error",new Error("stream.push() after EOF")):(In.reading=!1,In.decoder&&!bn?(cn=In.decoder.write(cn),In.objectMode||cn.length!==0?dn(fn,In,cn,!1):rn(fn,In)):dn(fn,In,cn,!1))):Vn||(In.reading=!1)),function(Cn){return!Cn.ended&&(Cn.needReadable||Cn.lengthcn.highWaterMark&&(cn.highWaterMark=function(bn){return bn>=8388608?bn=8388608:(bn--,bn|=bn>>>1,bn|=bn>>>2,bn|=bn>>>4,bn|=bn>>>8,bn|=bn>>>16,bn++),bn}(fn)),fn<=cn.length?fn:cn.ended?cn.length:(cn.needReadable=!0,0))}function En(fn){var cn=fn._readableState;cn.needReadable=!1,cn.emittedReadable||(Mt("emitReadable",cn.flowing),cn.emittedReadable=!0,cn.sync?Ut.nextTick(an,fn):an(fn))}function an(fn){Mt("emit readable"),fn.emit("readable"),_n(fn)}function rn(fn,cn){cn.readingMore||(cn.readingMore=!0,Ut.nextTick(gn,fn,cn))}function gn(fn,cn){for(var bn=cn.length;!cn.reading&&!cn.flowing&&!cn.ended&&cn.length=cn.length?(bn=cn.decoder?cn.buffer.join(""):cn.buffer.length===1?cn.buffer.head.data:cn.buffer.concat(cn.length),cn.buffer.clear()):bn=function(Vn,Mn,Zn){var In;return VnWn.length?Wn.length:Cn;if(An===Wn.length?wn+=Wn:wn+=Wn.slice(0,Cn),(Cn-=An)===0){An===Wn.length?(++Fn,hn.next?kn.head=hn.next:kn.head=kn.tail=null):(kn.head=hn,hn.data=Wn.slice(An));break}++Fn}return kn.length-=Fn,wn}(Vn,Mn):function(Cn,kn){var hn=Wt.allocUnsafe(Cn),Fn=kn.head,wn=1;for(Fn.data.copy(hn),Cn-=Fn.data.length;Fn=Fn.next;){var Wn=Fn.data,An=Cn>Wn.length?Wn.length:Cn;if(Wn.copy(hn,hn.length-Cn,0,An),(Cn-=An)===0){An===Wn.length?(++wn,Fn.next?kn.head=Fn.next:kn.head=kn.tail=null):(kn.head=Fn,Fn.data=Wn.slice(An));break}++wn}return kn.length-=wn,hn}(Vn,Mn),In}(fn,cn.buffer,cn.decoder),bn);var bn}function pn(fn){var cn=fn._readableState;if(cn.length>0)throw new Error('"endReadable()" called on non-empty stream');cn.endEmitted||(cn.ended=!0,Ut.nextTick(Rn,cn,fn))}function Rn(fn,cn){fn.endEmitted||fn.length!==0||(fn.endEmitted=!0,cn.readable=!1,cn.emit("end"))}function Sn(fn,cn){for(var bn=0,Vn=fn.length;bn=cn.highWaterMark||cn.ended))return Mt("read: emitReadable",cn.length,cn.ended),cn.length===0&&cn.ended?pn(this):En(this),null;if((fn=Qn(fn,cn))===0&&cn.ended)return cn.length===0&&pn(this),null;var Vn,Mn=cn.needReadable;return Mt("need readable",Mn),(cn.length===0||cn.length-fn0?vn(fn,cn):null)===null?(cn.needReadable=!0,fn=0):cn.length-=fn,cn.length===0&&(cn.ended||(cn.needReadable=!0),bn!==fn&&cn.ended&&pn(this)),Vn!==null&&this.emit("data",Vn),Vn},sn.prototype._read=function(fn){this.emit("error",new Error("_read() is not implemented"))},sn.prototype.pipe=function(fn,cn){var bn=this,Vn=this._readableState;switch(Vn.pipesCount){case 0:Vn.pipes=fn;break;case 1:Vn.pipes=[Vn.pipes,fn];break;default:Vn.pipes.push(fn)}Vn.pipesCount+=1,Mt("pipe count=%d opts=%j",Vn.pipesCount,cn);var Mn=(!cn||cn.end!==!1)&&fn!==ot.stdout&&fn!==ot.stderr?In:Pn;function Zn(jn,$n){Mt("onunpipe"),jn===bn&&$n&&$n.hasUnpiped===!1&&($n.hasUnpiped=!0,Mt("cleanup"),fn.removeListener("close",Wn),fn.removeListener("finish",An),fn.removeListener("drain",Cn),fn.removeListener("error",wn),fn.removeListener("unpipe",Zn),bn.removeListener("end",In),bn.removeListener("end",Pn),bn.removeListener("data",Fn),kn=!0,!Vn.awaitDrain||fn._writableState&&!fn._writableState.needDrain||Cn())}function In(){Mt("onend"),fn.end()}Vn.endEmitted?Ut.nextTick(Mn):bn.once("end",Mn),fn.on("unpipe",Zn);var Cn=function(jn){return function(){var $n=jn._readableState;Mt("pipeOnDrain",$n.awaitDrain),$n.awaitDrain&&$n.awaitDrain--,$n.awaitDrain===0&&Bt(jn,"data")&&($n.flowing=!0,_n(jn))}}(bn);fn.on("drain",Cn);var kn=!1,hn=!1;function Fn(jn){Mt("ondata"),hn=!1,fn.write(jn)!==!1||hn||((Vn.pipesCount===1&&Vn.pipes===fn||Vn.pipesCount>1&&Sn(Vn.pipes,fn)!==-1)&&!kn&&(Mt("false write response, pause",bn._readableState.awaitDrain),bn._readableState.awaitDrain++,hn=!0),bn.pause())}function wn(jn){Mt("onerror",jn),Pn(),fn.removeListener("error",wn),Bt(fn,"error")===0&&fn.emit("error",jn)}function Wn(){fn.removeListener("finish",An),Pn()}function An(){Mt("onfinish"),fn.removeListener("close",Wn),Pn()}function Pn(){Mt("unpipe"),bn.unpipe(fn)}return bn.on("data",Fn),function(jn,$n,pr){if(typeof jn.prependListener=="function")return jn.prependListener($n,pr);jn._events&&jn._events[$n]?Qt(jn._events[$n])?jn._events[$n].unshift(pr):jn._events[$n]=[pr,jn._events[$n]]:jn.on($n,pr)}(fn,"error",wn),fn.once("close",Wn),fn.once("finish",An),fn.emit("pipe",bn),Vn.flowing||(Mt("pipe resume"),bn.resume()),fn},sn.prototype.unpipe=function(fn){var cn=this._readableState,bn={hasUnpiped:!1};if(cn.pipesCount===0)return this;if(cn.pipesCount===1)return fn&&fn!==cn.pipes||(fn||(fn=cn.pipes),cn.pipes=null,cn.pipesCount=0,cn.flowing=!1,fn&&fn.emit("unpipe",this,bn)),this;if(!fn){var Vn=cn.pipes,Mn=cn.pipesCount;cn.pipes=null,cn.pipesCount=0,cn.flowing=!1;for(var Zn=0;Zn=0;bn--)if(Vn[bn]!==Mn[bn])return!1;for(bn=Vn.length-1;bn>=0;bn--)if(cn=Vn[bn],!sn(_n[cn],vn[cn],pn,Rn))return!1;return!0}(an,rn,gn,un))}return gn?an===rn:an==rn}function Kt(an){return Object.prototype.toString.call(an)=="[object Arguments]"}function dn(an,rn){if(!an||!rn)return!1;if(Object.prototype.toString.call(rn)=="[object RegExp]")return rn.test(an);try{if(an instanceof rn)return!0}catch{}return!Error.isPrototypeOf(rn)&&rn.call({},an)===!0}function Qn(an,rn,gn,un){var Un;if(typeof rn!="function")throw new TypeError('"block" argument must be a function');typeof gn=="string"&&(un=gn,gn=null),Un=function(pn){var Rn;try{pn()}catch(Sn){Rn=Sn}return Rn}(rn),un=(gn&&gn.name?" ("+gn.name+").":".")+(un?" "+un:"."),an&&!Un&&ln(Un,gn,"Missing expected exception"+un);var _n=typeof un=="string",vn=!an&&Un&&!gn;if((!an&&Qt.isError(Un)&&_n&&dn(Un,gn)||vn)&&ln(Un,gn,"Got unwanted exception"+un),an&&Un&&gn&&!dn(Un,gn)||!an&&Un)throw Un}Yt.AssertionError=function(an){this.name="AssertionError",this.actual=an.actual,this.expected=an.expected,this.operator=an.operator,an.message?(this.message=an.message,this.generatedMessage=!1):(this.message=function(pn){return en(tn(pn.actual),128)+" "+pn.operator+" "+en(tn(pn.expected),128)}(this),this.generatedMessage=!0);var rn=an.stackStartFunction||ln;if(Error.captureStackTrace)Error.captureStackTrace(this,rn);else{var gn=new Error;if(gn.stack){var un=gn.stack,Un=Gt(rn),_n=un.indexOf(` -`+Un);if(_n>=0){var vn=un.indexOf(` -`,_n+1);un=un.substring(vn+1)}this.stack=un}}},Qt.inherits(Yt.AssertionError,Error),Yt.fail=ln,Yt.ok=nn,Yt.equal=function(an,rn,gn){an!=rn&&ln(an,rn,gn,"==",Yt.equal)},Yt.notEqual=function(an,rn,gn){an==rn&&ln(an,rn,gn,"!=",Yt.notEqual)},Yt.deepEqual=function(an,rn,gn){sn(an,rn,!1)||ln(an,rn,gn,"deepEqual",Yt.deepEqual)},Yt.deepStrictEqual=function(an,rn,gn){sn(an,rn,!0)||ln(an,rn,gn,"deepStrictEqual",Yt.deepStrictEqual)},Yt.notDeepEqual=function(an,rn,gn){sn(an,rn,!1)&&ln(an,rn,gn,"notDeepEqual",Yt.notDeepEqual)},Yt.notDeepStrictEqual=function an(rn,gn,un){sn(rn,gn,!0)&&ln(rn,gn,un,"notDeepStrictEqual",an)},Yt.strictEqual=function(an,rn,gn){an!==rn&&ln(an,rn,gn,"===",Yt.strictEqual)},Yt.notStrictEqual=function(an,rn,gn){an===rn&&ln(an,rn,gn,"!==",Yt.notStrictEqual)},Yt.throws=function(an,rn,gn){Qn(!0,an,rn,gn)},Yt.doesNotThrow=function(an,rn,gn){Qn(!1,an,rn,gn)},Yt.ifError=function(an){if(an)throw an},Yt.strict=ot(function an(rn,gn){rn||ln(rn,!0,gn,"==",an)},Yt,{equal:Yt.strictEqual,deepEqual:Yt.deepStrictEqual,notEqual:Yt.notStrictEqual,notDeepEqual:Yt.notDeepStrictEqual}),Yt.strict.strict=Yt.strict;var En=Object.keys||function(an){var rn=[];for(var gn in an)Bt.call(an,gn)&&rn.push(gn);return rn}}).call(this,nt(6))},function(et,tt,nt){et.exports=function(it,ot,Ut,Ft){for(var Qt=65535&it|0,Bt=it>>>16&65535|0,Vt=0;Ut!==0;){Ut-=Vt=Ut>2e3?2e3:Ut;do Bt=Bt+(Qt=Qt+ot[Ft++]|0)|0;while(--Vt);Qt%=65521,Bt%=65521}return Qt|Bt<<16|0}},function(et,tt,nt){var it=function(){for(var ot,Ut=[],Ft=0;Ft<256;Ft++){ot=Ft;for(var Qt=0;Qt<8;Qt++)ot=1&ot?3988292384^ot>>>1:ot>>>1;Ut[Ft]=ot}return Ut}();et.exports=function(ot,Ut,Ft,Qt){var Bt=it,Vt=Qt+Ft;ot^=-1;for(var Wt=Qt;Wt>>8^Bt[255&(ot^Ut[Wt])];return-1^ot}},function(et,tt,nt){(function(it,ot){var Ut;et.exports=rn,rn.ReadableState=an,nt(21).EventEmitter;var Ft=function(Cn,kn){return Cn.listeners(kn).length},Qt=nt(78),Bt=nt(5).Buffer,Vt=it.Uint8Array||function(){},Wt,Xt=nt(178);Wt=Xt&&Xt.debuglog?Xt.debuglog("stream"):function(){};var Zt,Yt,Mt,Gt=nt(179),en=nt(79),tn=nt(80).getHighWaterMark,ln=nt(26).codes,nn=ln.ERR_INVALID_ARG_TYPE,sn=ln.ERR_STREAM_PUSH_AFTER_EOF,Kt=ln.ERR_METHOD_NOT_IMPLEMENTED,dn=ln.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;nt(7)(rn,Qt);var Qn=en.errorOrDestroy,En=["error","close","destroy","pause","resume"];function an(Cn,kn,hn){Ut=Ut||nt(27),Cn=Cn||{},typeof hn!="boolean"&&(hn=kn instanceof Ut),this.objectMode=!!Cn.objectMode,hn&&(this.objectMode=this.objectMode||!!Cn.readableObjectMode),this.highWaterMark=tn(this,Cn,"readableHighWaterMark",hn),this.buffer=new Gt,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=Cn.emitClose!==!1,this.autoDestroy=!!Cn.autoDestroy,this.destroyed=!1,this.defaultEncoding=Cn.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Cn.encoding&&(Zt||(Zt=nt(22).StringDecoder),this.decoder=new Zt(Cn.encoding),this.encoding=Cn.encoding)}function rn(Cn){if(Ut=Ut||nt(27),!(this instanceof rn))return new rn(Cn);var kn=this instanceof Ut;this._readableState=new an(Cn,this,kn),this.readable=!0,Cn&&(typeof Cn.read=="function"&&(this._read=Cn.read),typeof Cn.destroy=="function"&&(this._destroy=Cn.destroy)),Qt.call(this)}function gn(Cn,kn,hn,Fn,wn){Wt("readableAddChunk",kn);var Wn,An=Cn._readableState;if(kn===null)An.reading=!1,function(Pn,jn){if(Wt("onEofChunk"),!jn.ended){if(jn.decoder){var $n=jn.decoder.end();$n&&$n.length&&(jn.buffer.push($n),jn.length+=jn.objectMode?1:$n.length)}jn.ended=!0,jn.sync?_n(Pn):(jn.needReadable=!1,jn.emittedReadable||(jn.emittedReadable=!0,vn(Pn)))}}(Cn,An);else if(wn||(Wn=function(Pn,jn){var $n;pr=jn,Bt.isBuffer(pr)||pr instanceof Vt||typeof jn=="string"||jn===void 0||Pn.objectMode||($n=new nn("chunk",["string","Buffer","Uint8Array"],jn));var pr;return $n}(An,kn)),Wn)Qn(Cn,Wn);else if(An.objectMode||kn&&kn.length>0)if(typeof kn=="string"||An.objectMode||Object.getPrototypeOf(kn)===Bt.prototype||(kn=function(Pn){return Bt.from(Pn)}(kn)),Fn)An.endEmitted?Qn(Cn,new dn):un(Cn,An,kn,!0);else if(An.ended)Qn(Cn,new sn);else{if(An.destroyed)return!1;An.reading=!1,An.decoder&&!hn?(kn=An.decoder.write(kn),An.objectMode||kn.length!==0?un(Cn,An,kn,!1):pn(Cn,An)):un(Cn,An,kn,!1)}else Fn||(An.reading=!1,pn(Cn,An));return!An.ended&&(An.lengthkn.highWaterMark&&(kn.highWaterMark=function(hn){return hn>=1073741824?hn=1073741824:(hn--,hn|=hn>>>1,hn|=hn>>>2,hn|=hn>>>4,hn|=hn>>>8,hn|=hn>>>16,hn++),hn}(Cn)),Cn<=kn.length?Cn:kn.ended?kn.length:(kn.needReadable=!0,0))}function _n(Cn){var kn=Cn._readableState;Wt("emitReadable",kn.needReadable,kn.emittedReadable),kn.needReadable=!1,kn.emittedReadable||(Wt("emitReadable",kn.flowing),kn.emittedReadable=!0,ot.nextTick(vn,Cn))}function vn(Cn){var kn=Cn._readableState;Wt("emitReadable_",kn.destroyed,kn.length,kn.ended),kn.destroyed||!kn.length&&!kn.ended||(Cn.emit("readable"),kn.emittedReadable=!1),kn.needReadable=!kn.flowing&&!kn.ended&&kn.length<=kn.highWaterMark,bn(Cn)}function pn(Cn,kn){kn.readingMore||(kn.readingMore=!0,ot.nextTick(Rn,Cn,kn))}function Rn(Cn,kn){for(;!kn.reading&&!kn.ended&&(kn.length0,kn.resumeScheduled&&!kn.paused?kn.flowing=!0:Cn.listenerCount("data")>0&&Cn.resume()}function fn(Cn){Wt("readable nexttick read 0"),Cn.read(0)}function cn(Cn,kn){Wt("resume",kn.reading),kn.reading||Cn.read(0),kn.resumeScheduled=!1,Cn.emit("resume"),bn(Cn),kn.flowing&&!kn.reading&&Cn.read(0)}function bn(Cn){var kn=Cn._readableState;for(Wt("flow",kn.flowing);kn.flowing&&Cn.read()!==null;);}function Vn(Cn,kn){return kn.length===0?null:(kn.objectMode?hn=kn.buffer.shift():!Cn||Cn>=kn.length?(hn=kn.decoder?kn.buffer.join(""):kn.buffer.length===1?kn.buffer.first():kn.buffer.concat(kn.length),kn.buffer.clear()):hn=kn.buffer.consume(Cn,kn.decoder),hn);var hn}function Mn(Cn){var kn=Cn._readableState;Wt("endReadable",kn.endEmitted),kn.endEmitted||(kn.ended=!0,ot.nextTick(Zn,kn,Cn))}function Zn(Cn,kn){if(Wt("endReadableNT",Cn.endEmitted,Cn.length),!Cn.endEmitted&&Cn.length===0&&(Cn.endEmitted=!0,kn.readable=!1,kn.emit("end"),Cn.autoDestroy)){var hn=kn._writableState;(!hn||hn.autoDestroy&&hn.finished)&&kn.destroy()}}function In(Cn,kn){for(var hn=0,Fn=Cn.length;hn=kn.highWaterMark:kn.length>0)||kn.ended))return Wt("read: emitReadable",kn.length,kn.ended),kn.length===0&&kn.ended?Mn(this):_n(this),null;if((Cn=Un(Cn,kn))===0&&kn.ended)return kn.length===0&&Mn(this),null;var Fn,wn=kn.needReadable;return Wt("need readable",wn),(kn.length===0||kn.length-Cn0?Vn(Cn,kn):null)===null?(kn.needReadable=kn.length<=kn.highWaterMark,Cn=0):(kn.length-=Cn,kn.awaitDrain=0),kn.length===0&&(kn.ended||(kn.needReadable=!0),hn!==Cn&&kn.ended&&Mn(this)),Fn!==null&&this.emit("data",Fn),Fn},rn.prototype._read=function(Cn){Qn(this,new Kt("_read()"))},rn.prototype.pipe=function(Cn,kn){var hn=this,Fn=this._readableState;switch(Fn.pipesCount){case 0:Fn.pipes=Cn;break;case 1:Fn.pipes=[Fn.pipes,Cn];break;default:Fn.pipes.push(Cn)}Fn.pipesCount+=1,Wt("pipe count=%d opts=%j",Fn.pipesCount,kn);var wn=(!kn||kn.end!==!1)&&Cn!==ot.stdout&&Cn!==ot.stderr?An:Ir;function Wn(yr,Rr){Wt("onunpipe"),yr===hn&&Rr&&Rr.hasUnpiped===!1&&(Rr.hasUnpiped=!0,Wt("cleanup"),Cn.removeListener("close",Sr),Cn.removeListener("finish",Qr),Cn.removeListener("drain",Pn),Cn.removeListener("error",pr),Cn.removeListener("unpipe",Wn),hn.removeListener("end",An),hn.removeListener("end",Ir),hn.removeListener("data",$n),jn=!0,!Fn.awaitDrain||Cn._writableState&&!Cn._writableState.needDrain||Pn())}function An(){Wt("onend"),Cn.end()}Fn.endEmitted?ot.nextTick(wn):hn.once("end",wn),Cn.on("unpipe",Wn);var Pn=function(yr){return function(){var Rr=yr._readableState;Wt("pipeOnDrain",Rr.awaitDrain),Rr.awaitDrain&&Rr.awaitDrain--,Rr.awaitDrain===0&&Ft(yr,"data")&&(Rr.flowing=!0,bn(yr))}}(hn);Cn.on("drain",Pn);var jn=!1;function $n(yr){Wt("ondata");var Rr=Cn.write(yr);Wt("dest.write",Rr),Rr===!1&&((Fn.pipesCount===1&&Fn.pipes===Cn||Fn.pipesCount>1&&In(Fn.pipes,Cn)!==-1)&&!jn&&(Wt("false write response, pause",Fn.awaitDrain),Fn.awaitDrain++),hn.pause())}function pr(yr){Wt("onerror",yr),Ir(),Cn.removeListener("error",pr),Ft(Cn,"error")===0&&Qn(Cn,yr)}function Sr(){Cn.removeListener("finish",Qr),Ir()}function Qr(){Wt("onfinish"),Cn.removeListener("close",Sr),Ir()}function Ir(){Wt("unpipe"),hn.unpipe(Cn)}return hn.on("data",$n),function(yr,Rr,wr){if(typeof yr.prependListener=="function")return yr.prependListener(Rr,wr);yr._events&&yr._events[Rr]?Array.isArray(yr._events[Rr])?yr._events[Rr].unshift(wr):yr._events[Rr]=[wr,yr._events[Rr]]:yr.on(Rr,wr)}(Cn,"error",pr),Cn.once("close",Sr),Cn.once("finish",Qr),Cn.emit("pipe",hn),Fn.flowing||(Wt("pipe resume"),hn.resume()),Cn},rn.prototype.unpipe=function(Cn){var kn=this._readableState,hn={hasUnpiped:!1};if(kn.pipesCount===0)return this;if(kn.pipesCount===1)return Cn&&Cn!==kn.pipes||(Cn||(Cn=kn.pipes),kn.pipes=null,kn.pipesCount=0,kn.flowing=!1,Cn&&Cn.emit("unpipe",this,hn)),this;if(!Cn){var Fn=kn.pipes,wn=kn.pipesCount;kn.pipes=null,kn.pipesCount=0,kn.flowing=!1;for(var Wn=0;Wn0,Fn.flowing!==!1&&this.resume()):Cn==="readable"&&(Fn.endEmitted||Fn.readableListening||(Fn.readableListening=Fn.needReadable=!0,Fn.flowing=!1,Fn.emittedReadable=!1,Wt("on readable",Fn.length,Fn.reading),Fn.length?_n(this):Fn.reading||ot.nextTick(fn,this))),hn},rn.prototype.addListener=rn.prototype.on,rn.prototype.removeListener=function(Cn,kn){var hn=Qt.prototype.removeListener.call(this,Cn,kn);return Cn==="readable"&&ot.nextTick(Sn,this),hn},rn.prototype.removeAllListeners=function(Cn){var kn=Qt.prototype.removeAllListeners.apply(this,arguments);return Cn!=="readable"&&Cn!==void 0||ot.nextTick(Sn,this),kn},rn.prototype.resume=function(){var Cn=this._readableState;return Cn.flowing||(Wt("resume"),Cn.flowing=!Cn.readableListening,function(kn,hn){hn.resumeScheduled||(hn.resumeScheduled=!0,ot.nextTick(cn,kn,hn))}(this,Cn)),Cn.paused=!1,this},rn.prototype.pause=function(){return Wt("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(Wt("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},rn.prototype.wrap=function(Cn){var kn=this,hn=this._readableState,Fn=!1;for(var wn in Cn.on("end",function(){if(Wt("wrapped end"),hn.decoder&&!hn.ended){var An=hn.decoder.end();An&&An.length&&kn.push(An)}kn.push(null)}),Cn.on("data",function(An){Wt("wrapped data"),hn.decoder&&(An=hn.decoder.write(An)),hn.objectMode&&An==null||(hn.objectMode||An&&An.length)&&(kn.push(An)||(Fn=!0,Cn.pause()))}),Cn)this[wn]===void 0&&typeof Cn[wn]=="function"&&(this[wn]=function(An){return function(){return Cn[An].apply(Cn,arguments)}}(wn));for(var Wn=0;Wn-1))throw new dn(Rn);return this._writableState.defaultEncoding=Rn,this},Object.defineProperty(rn.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(rn.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),rn.prototype._write=function(Rn,Sn,fn){fn(new en("_write()"))},rn.prototype._writev=null,rn.prototype.end=function(Rn,Sn,fn){var cn=this._writableState;return typeof Rn=="function"?(fn=Rn,Rn=null,Sn=null):typeof Sn=="function"&&(fn=Sn,Sn=null),Rn!=null&&this.write(Rn,Sn),cn.corked&&(cn.corked=1,this.uncork()),cn.ending||function(bn,Vn,Mn){Vn.ending=!0,pn(bn,Vn),Mn&&(Vn.finished?ot.nextTick(Mn):bn.once("finish",Mn)),Vn.ended=!0,bn.writable=!1}(this,cn,fn),this},Object.defineProperty(rn.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(rn.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(Rn){this._writableState&&(this._writableState.destroyed=Rn)}}),rn.prototype.destroy=Zt.destroy,rn.prototype._undestroy=Zt.undestroy,rn.prototype._destroy=function(Rn,Sn){Sn(Rn)}}).call(this,nt(6),nt(2))},function(et,tt,nt){et.exports=Wt;var it=nt(26).codes,ot=it.ERR_METHOD_NOT_IMPLEMENTED,Ut=it.ERR_MULTIPLE_CALLBACK,Ft=it.ERR_TRANSFORM_ALREADY_TRANSFORMING,Qt=it.ERR_TRANSFORM_WITH_LENGTH_0,Bt=nt(27);function Vt(Yt,Mt){var Gt=this._transformState;Gt.transforming=!1;var en=Gt.writecb;if(en===null)return this.emit("error",new Ut);Gt.writechunk=null,Gt.writecb=null,Mt!=null&&this.push(Mt),en(Yt);var tn=this._readableState;tn.reading=!1,(tn.needReadable||tn.lengthXt._pos){var Mt=Yt.substr(Xt._pos);if(Xt._charset==="x-user-defined"){for(var Gt=new ot(Mt.length),en=0;enXt._pos&&(Xt.push(new ot(new Uint8Array(tn.result.slice(Xt._pos)))),Xt._pos=tn.result.byteLength)},tn.onload=function(){Xt.push(null)},tn.readAsArrayBuffer(Yt)}Xt._xhr.readyState===Vt.DONE&&Xt._mode!=="ms-stream"&&Xt.push(null)}}).call(this,nt(2),nt(5).Buffer,nt(6))},function(et,tt,nt){var it=nt(193),ot=nt(195);function Ut(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}tt.parse=nn,tt.resolve=function(sn,Kt){return nn(sn,!1,!0).resolve(Kt)},tt.resolveObject=function(sn,Kt){return sn?nn(sn,!1,!0).resolveObject(Kt):Kt},tt.format=function(sn){return ot.isString(sn)&&(sn=nn(sn)),sn instanceof Ut?sn.format():Ut.prototype.format.call(sn)},tt.Url=Ut;var Ft=/^([a-z0-9.+-]+:)/i,Qt=/:[0-9]*$/,Bt=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Vt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` -`," "]),Wt=["'"].concat(Vt),Xt=["%","/","?",";","#"].concat(Wt),Zt=["/","?","#"],Yt=/^[+a-z0-9A-Z_-]{0,63}$/,Mt=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Gt={javascript:!0,"javascript:":!0},en={javascript:!0,"javascript:":!0},tn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},ln=nt(196);function nn(sn,Kt,dn){if(sn&&ot.isObject(sn)&&sn instanceof Ut)return sn;var Qn=new Ut;return Qn.parse(sn,Kt,dn),Qn}Ut.prototype.parse=function(sn,Kt,dn){if(!ot.isString(sn))throw new TypeError("Parameter 'url' must be a string, not "+typeof sn);var Qn=sn.indexOf("?"),En=Qn!==-1&&Qn127?Zn+="x":Zn+=Mn[In];if(!Zn.match(Yt)){var kn=bn.slice(0,Sn),hn=bn.slice(Sn+1),Fn=Mn.match(Mt);Fn&&(kn.push(Fn[1]),hn.unshift(Fn[2])),hn.length&&(rn="/"+hn.join(".")+rn),this.hostname=kn.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),cn||(this.hostname=it.toASCII(this.hostname));var wn=this.port?":"+this.port:"",Wn=this.hostname||"";this.host=Wn+wn,this.href+=this.host,cn&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),rn[0]!=="/"&&(rn="/"+rn))}if(!Gt[Un])for(Sn=0,Vn=Wt.length;Sn0)&&dn.host.split("@"))&&(dn.auth=Fn.shift(),dn.host=dn.hostname=Fn.shift())),dn.search=sn.search,dn.query=sn.query,ot.isNull(dn.pathname)&&ot.isNull(dn.search)||(dn.path=(dn.pathname?dn.pathname:"")+(dn.search?dn.search:"")),dn.href=dn.format(),dn;if(!Mn.length)return dn.pathname=null,dn.search?dn.path="/"+dn.search:dn.path=null,dn.href=dn.format(),dn;for(var In=Mn.slice(-1)[0],Cn=(dn.host||sn.host||Mn.length>1)&&(In==="."||In==="..")||In==="",kn=0,hn=Mn.length;hn>=0;hn--)(In=Mn[hn])==="."?Mn.splice(hn,1):In===".."?(Mn.splice(hn,1),kn++):kn&&(Mn.splice(hn,1),kn--);if(!bn&&!Vn)for(;kn--;kn)Mn.unshift("..");!bn||Mn[0]===""||Mn[0]&&Mn[0].charAt(0)==="/"||Mn.unshift(""),Cn&&Mn.join("/").substr(-1)!=="/"&&Mn.push("");var Fn,wn=Mn[0]===""||Mn[0]&&Mn[0].charAt(0)==="/";return Zn&&(dn.hostname=dn.host=wn?"":Mn.length?Mn.shift():"",(Fn=!!(dn.host&&dn.host.indexOf("@")>0)&&dn.host.split("@"))&&(dn.auth=Fn.shift(),dn.host=dn.hostname=Fn.shift())),(bn=bn||dn.host&&Mn.length)&&!wn&&Mn.unshift(""),Mn.length?dn.pathname=Mn.join("/"):(dn.pathname=null,dn.path=null),ot.isNull(dn.pathname)&&ot.isNull(dn.search)||(dn.path=(dn.pathname?dn.pathname:"")+(dn.search?dn.search:"")),dn.auth=sn.auth||dn.auth,dn.slashes=dn.slashes||sn.slashes,dn.href=dn.format(),dn},Ut.prototype.parseHost=function(){var sn=this.host,Kt=Qt.exec(sn);Kt&&((Kt=Kt[0])!==":"&&(this.port=Kt.substr(1)),sn=sn.substr(0,sn.length-Kt.length)),sn&&(this.hostname=sn)}},function(et,tt,nt){const it=ot=>ot!==null&&typeof ot=="object"&&typeof ot.pipe=="function";it.writable=ot=>it(ot)&&ot.writable!==!1&&typeof ot._write=="function"&&typeof ot._writableState=="object",it.readable=ot=>it(ot)&&ot.readable!==!1&&typeof ot._read=="function"&&typeof ot._readableState=="object",it.duplex=ot=>it.writable(ot)&&it.readable(ot),it.transform=ot=>it.duplex(ot)&&typeof ot._transform=="function"&&typeof ot._transformState=="object",et.exports=it},function(et,tt,nt){function it(Gt){return(it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(en){return typeof en}:function(en){return en&&typeof Symbol=="function"&&en.constructor===Symbol&&en!==Symbol.prototype?"symbol":typeof en})(Gt)}function ot(Gt,en){if(!(Gt instanceof en))throw new TypeError("Cannot call a class as a function")}function Ut(Gt,en){if(typeof en!="function"&&en!==null)throw new TypeError("Super expression must either be null or a function");Gt.prototype=Object.create(en&&en.prototype,{constructor:{value:Gt,writable:!0,configurable:!0}}),en&&Ft(Gt,en)}function Ft(Gt,en){return(Ft=Object.setPrototypeOf||function(tn,ln){return tn.__proto__=ln,tn})(Gt,en)}function Qt(Gt){var en=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var tn,ln=Vt(Gt);if(en){var nn=Vt(this).constructor;tn=Reflect.construct(ln,arguments,nn)}else tn=ln.apply(this,arguments);return Bt(this,tn)}}function Bt(Gt,en){return!en||it(en)!=="object"&&typeof en!="function"?function(tn){if(tn===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return tn}(Gt):en}function Vt(Gt){return(Vt=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(Gt)}var Wt=nt(3).LEVEL,Xt=nt(50),Zt=nt(201),Yt=nt(38)("winston:create-logger");function Mt(Gt){return"is"+Gt.charAt(0).toUpperCase()+Gt.slice(1)+"Enabled"}et.exports=function(){var Gt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Gt.levels=Gt.levels||Xt.npm.levels;var en=function(ln){Ut(sn,ln);var nn=Qt(sn);function sn(Kt){return ot(this,sn),nn.call(this,Kt)}return sn}(Zt),tn=new en(Gt);return Object.keys(Gt.levels).forEach(function(ln){Yt('Define prototype method for "%s"',ln),ln!=="log"?(en.prototype[ln]=function(){for(var nn=this||tn,sn=arguments.length,Kt=new Array(sn),dn=0;dn0){Qt=Vt.substr(0,Yt),Bt=Vt.substr(Yt+1);var Mt=Qt.indexOf(".Module");Mt>0&&(Vt=Vt.substr(Mt+1),Qt=Qt.substr(0,Mt))}Wt=null}Bt&&(Wt=Qt,Xt=Bt),Bt===""&&(Xt=null,Vt=null);var Gt={fileName:Ft[2]||null,lineNumber:parseInt(Ft[3],10)||null,functionName:Vt,typeName:Wt,methodName:Xt,columnNumber:parseInt(Ft[4],10)||null,native:Zt};return ot._createParsedCallSite(Gt)}}).filter(function(Ut){return!!Ut})},["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"].forEach(function(it){nt.prototype[it]=null,nt.prototype["get"+it[0].toUpperCase()+it.substr(1)]=function(){return this[it]}}),["topLevel","eval","native","constructor"].forEach(function(it){nt.prototype[it]=!1,nt.prototype["is"+it[0].toUpperCase()+it.substr(1)]=function(){return this[it]}}),tt._createParsedCallSite=function(it){return new nt(it)}},function(et,tt,nt){function it(Wt){return(it=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Xt){return typeof Xt}:function(Xt){return Xt&&typeof Symbol=="function"&&Xt.constructor===Symbol&&Xt!==Symbol.prototype?"symbol":typeof Xt})(Wt)}function ot(Wt,Xt){for(var Zt=0;Zt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Zt,Yt=Bt(Wt);if(Xt){var Mt=Bt(this).constructor;Zt=Reflect.construct(Yt,arguments,Mt)}else Zt=Yt.apply(this,arguments);return Qt(this,Zt)}}function Qt(Wt,Xt){return!Xt||it(Xt)!=="object"&&typeof Xt!="function"?function(Zt){if(Zt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Zt}(Wt):Xt}function Bt(Wt){return(Bt=Object.setPrototypeOf?Object.getPrototypeOf:function(Xt){return Xt.__proto__||Object.getPrototypeOf(Xt)})(Wt)}var Vt=nt(33).Writable;et.exports=function(Wt){(function(Gt,en){if(typeof en!="function"&&en!==null)throw new TypeError("Super expression must either be null or a function");Gt.prototype=Object.create(en&&en.prototype,{constructor:{value:Gt,writable:!0,configurable:!0}}),en&&Ut(Gt,en)})(Mt,Wt);var Xt,Zt,Yt=Ft(Mt);function Mt(Gt){var en;if(function(tn,ln){if(!(tn instanceof ln))throw new TypeError("Cannot call a class as a function")}(this,Mt),en=Yt.call(this,{objectMode:!0}),!Gt)throw new Error("ExceptionStream requires a TransportStream instance.");return en.handleExceptions=!0,en.transport=Gt,en}return Xt=Mt,(Zt=[{key:"_write",value:function(Gt,en,tn){return Gt.exception?this.transport.log(Gt,tn):(tn(),!0)}}])&&ot(Xt.prototype,Zt),Mt}(Vt)},function(et,tt,nt){(function(it){function ot(Xt,Zt){for(var Yt=0;Yt0&&Qt.writeString(1,Bt)},proto.google.protobuf.StringValue.prototype.getValue=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function(Ft){return it.Message.setProto3StringField(this,1,Ft)},it.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function(Ft){return proto.google.protobuf.BytesValue.toObject(Ft,this)},proto.google.protobuf.BytesValue.toObject=function(Ft,Qt){var Bt={value:Qt.getValue_asB64()};return Ft&&(Bt.$jspbMessageInstance=Qt),Bt}),proto.google.protobuf.BytesValue.deserializeBinary=function(Ft){var Qt=new it.BinaryReader(Ft),Bt=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(Bt,Qt)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function(Ft,Qt){for(;Qt.nextField()&&!Qt.isEndGroup();)switch(Qt.getFieldNumber()){case 1:var Bt=Qt.readBytes();Ft.setValue(Bt);break;default:Qt.skipField()}return Ft},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var Ft=new it.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,Ft),Ft.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function(Ft,Qt){var Bt;(Bt=Ft.getValue_asU8()).length>0&&Qt.writeBytes(1,Bt)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return it.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return it.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return it.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function(Ft){return it.Message.setProto3BytesField(this,1,Ft)},ot.object.extend(tt,proto.google.protobuf)},function(module,exports,__webpack_require__){(function(global,Buffer){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(et,tt,nt){et instanceof String&&(et=String(et));for(var it=et.length,ot=0;ot=ot}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(et){return et||function(tt,nt){return $jscomp.findInternal(this,tt,nt).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(et){return et||function(tt,nt){var it=$jscomp.checkStringArgs(this,tt,"startsWith");tt+="";var ot=it.length,Ut=tt.length;nt=Math.max(0,Math.min(0|nt,it.length));for(var Ft=0;Ft=Ut}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(et){return et||function(tt){var nt=$jscomp.checkStringArgs(this,null,"repeat");if(0>tt||1342177279>>=1)&&(nt+=nt);return it}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(et){return et!==void 0},goog.isString=function(et){return typeof et=="string"},goog.isBoolean=function(et){return typeof et=="boolean"},goog.isNumber=function(et){return typeof et=="number"},goog.exportPath_=function(et,tt,nt){et=et.split("."),nt=nt||goog.global,et[0]in nt||nt.execScript===void 0||nt.execScript("var "+et[0]);for(var it;et.length&&(it=et.shift());)!et.length&&goog.isDef(tt)?nt[it]=tt:nt=nt[it]&&nt[it]!==Object.prototype[it]?nt[it]:nt[it]={}},goog.define=function(et,tt){return tt},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(et){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(et)},goog.constructNamespace_=function(et,tt){goog.exportPath_(et,tt)},goog.getScriptNonce=function(et){return et&&et!=goog.global?goog.getScriptNonce_(et.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(et){return(et=et.querySelector&&et.querySelector("script[nonce]"))&&(et=et.nonce||et.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(et)?et:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(et){if(!goog.isString(et)||!et||et.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+et+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=et},goog.module.get=function(et){return goog.module.getInternal_(et)},goog.module.getInternal_=function(et){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var et=goog.global.$jscomp;return!!et&&typeof et.getCurrentModulePath=="function"&&!!et.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(et){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=et;else{var tt=goog.global.$jscomp;if(!tt||typeof tt.getCurrentModulePath!="function")throw Error('Module with namespace "'+et+'" has been loaded incorrectly.');tt=tt.require(tt.getCurrentModulePath()),goog.loadedModules_[et]={exports:tt,type:goog.ModuleType.ES6,moduleId:et}}},goog.setTestOnly=function(et){if(goog.DISALLOW_TEST_ONLY_CODE)throw et=et||"",Error("Importing test-only code into non-debug environment"+(et?": "+et:"."))},goog.forwardDeclare=function(et){},goog.getObjectByName=function(et,tt){et=et.split("."),tt=tt||goog.global;for(var nt=0;nt>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(et){var tt=goog.typeOf(et);if(tt=="object"||tt=="array"){if(typeof et.clone=="function")return et.clone();for(var nt in tt=tt=="array"?[]:{},et)tt[nt]=goog.cloneObject(et[nt]);return tt}return et},goog.bindNative_=function(et,tt,nt){return et.call.apply(et.bind,arguments)},goog.bindJs_=function(et,tt,nt){if(!et)throw Error();if(2"u"||!TrustedTypes.createPolicy)return tt;try{tt=TrustedTypes.createPolicy(et,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(nt){goog.logToConsole_(nt.message)}return tt},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31},jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5},jspb.BinaryConstants.FieldTypeToWireType=function(et){var tt=jspb.BinaryConstants.FieldType,nt=jspb.BinaryConstants.WireType;switch(et){case tt.INT32:case tt.INT64:case tt.UINT32:case tt.UINT64:case tt.SINT32:case tt.SINT64:case tt.BOOL:case tt.ENUM:case tt.VHASH64:return nt.VARINT;case tt.DOUBLE:case tt.FIXED64:case tt.SFIXED64:case tt.FHASH64:return nt.FIXED64;case tt.STRING:case tt.MESSAGE:case tt.BYTES:return nt.DELIMITED;case tt.FLOAT:case tt.FIXED32:case tt.SFIXED32:return nt.FIXED32;default:return nt.INVALID}},jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1,jspb.BinaryConstants.FLOAT32_EPS=1401298464324817e-60,jspb.BinaryConstants.FLOAT32_MIN=11754943508222875e-54,jspb.BinaryConstants.FLOAT32_MAX=34028234663852886e22,jspb.BinaryConstants.FLOAT64_EPS=5e-324,jspb.BinaryConstants.FLOAT64_MIN=22250738585072014e-324,jspb.BinaryConstants.FLOAT64_MAX=17976931348623157e292,jspb.BinaryConstants.TWO_TO_20=1048576,jspb.BinaryConstants.TWO_TO_23=8388608,jspb.BinaryConstants.TWO_TO_31=2147483648,jspb.BinaryConstants.TWO_TO_32=4294967296,jspb.BinaryConstants.TWO_TO_52=4503599627370496,jspb.BinaryConstants.TWO_TO_63=9223372036854776e3,jspb.BinaryConstants.TWO_TO_64=18446744073709552e3,jspb.BinaryConstants.ZERO_HASH="\0\0\0\0\0\0\0\0",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.debug={},goog.debug.Error=function(et){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var tt=Error().stack;tt&&(this.stack=tt)}et&&(this.message=String(et)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(et,tt){goog.debug.Error.call(this,goog.asserts.subs_(et,tt)),this.messagePattern=et},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(et){throw et},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(et,tt){for(var nt="",it=(et=et.split("%s")).length-1,ot=0;otnt?Math.max(0,et.length+nt):nt,goog.isString(et))return goog.isString(tt)&&tt.length==1?et.indexOf(tt,nt):-1;for(;nt(nt=nt??et.length-1)&&(nt=Math.max(0,et.length+nt)),goog.isString(et))return goog.isString(tt)&&tt.length==1?et.lastIndexOf(tt,nt):-1;for(;0<=nt;nt--)if(nt in et&&et[nt]===tt)return nt;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(et,tt,nt){goog.asserts.assert(et.length!=null),Array.prototype.forEach.call(et,tt,nt)}:function(et,tt,nt){for(var it=et.length,ot=goog.isString(et)?et.split(""):et,Ut=0;Ut(tt=goog.array.findIndex(et,tt,nt))?null:goog.isString(et)?et.charAt(tt):et[tt]},goog.array.findIndex=function(et,tt,nt){for(var it=et.length,ot=goog.isString(et)?et.split(""):et,Ut=0;Ut(tt=goog.array.findIndexRight(et,tt,nt))?null:goog.isString(et)?et.charAt(tt):et[tt]},goog.array.findIndexRight=function(et,tt,nt){var it=et.length,ot=goog.isString(et)?et.split(""):et;for(--it;0<=it;it--)if(it in ot&&tt.call(nt,ot[it],it,et))return it;return-1},goog.array.contains=function(et,tt){return 0<=goog.array.indexOf(et,tt)},goog.array.isEmpty=function(et){return et.length==0},goog.array.clear=function(et){if(!goog.isArray(et))for(var tt=et.length-1;0<=tt;tt--)delete et[tt];et.length=0},goog.array.insert=function(et,tt){goog.array.contains(et,tt)||et.push(tt)},goog.array.insertAt=function(et,tt,nt){goog.array.splice(et,nt,0,tt)},goog.array.insertArrayAt=function(et,tt,nt){goog.partial(goog.array.splice,et,nt,0).apply(null,tt)},goog.array.insertBefore=function(et,tt,nt){var it;arguments.length==2||0>(it=goog.array.indexOf(et,nt))?et.push(tt):goog.array.insertAt(et,tt,it)},goog.array.remove=function(et,tt){var nt;return(nt=0<=(tt=goog.array.indexOf(et,tt)))&&goog.array.removeAt(et,tt),nt},goog.array.removeLast=function(et,tt){return 0<=(tt=goog.array.lastIndexOf(et,tt))&&(goog.array.removeAt(et,tt),!0)},goog.array.removeAt=function(et,tt){return goog.asserts.assert(et.length!=null),Array.prototype.splice.call(et,tt,1).length==1},goog.array.removeIf=function(et,tt,nt){return 0<=(tt=goog.array.findIndex(et,tt,nt))&&(goog.array.removeAt(et,tt),!0)},goog.array.removeAllIf=function(et,tt,nt){var it=0;return goog.array.forEachRight(et,function(ot,Ut){tt.call(nt,ot,Ut,et)&&goog.array.removeAt(et,Ut)&&it++}),it},goog.array.concat=function(et){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(et){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(et){var tt=et.length;if(0=arguments.length?Array.prototype.slice.call(et,tt):Array.prototype.slice.call(et,tt,nt)},goog.array.removeDuplicates=function(et,tt,nt){tt=tt||et;var it=function(Bt){return goog.isObject(Bt)?"o"+goog.getUid(Bt):(typeof Bt).charAt(0)+Bt};nt=nt||it,it={};for(var ot=0,Ut=0;Ut>1,Vt=nt?tt.call(ot,et[Bt],Bt,et):tt(it,et[Bt]);0tt?1:et(nt=goog.array.binarySearch(et,tt,nt))&&(goog.array.insertAt(et,tt,-(nt+1)),!0)},goog.array.binaryRemove=function(et,tt,nt){return 0<=(tt=goog.array.binarySearch(et,tt,nt))&&goog.array.removeAt(et,tt)},goog.array.bucket=function(et,tt,nt){for(var it={},ot=0;ot(nt=nt||1)*(Ut-ot))return[];if(0Ut;et+=nt)it.push(et);return it},goog.array.repeat=function(et,tt){for(var nt=[],it=0;ittt&&Array.prototype.push.apply(et,et.splice(0,-tt))),et},goog.array.moveItem=function(et,tt,nt){goog.asserts.assert(0<=tt&&tt>=8),tt[nt++]=ot}return tt},goog.crypt.byteArrayToString=function(et){if(8192>=et.length)return String.fromCharCode.apply(null,et);for(var tt="",nt=0;ntot?tt[nt++]=ot:(2048>ot?tt[nt++]=ot>>6|192:((64512&ot)==55296&&it+1>18|240,tt[nt++]=ot>>12&63|128):tt[nt++]=ot>>12|224,tt[nt++]=ot>>6&63|128),tt[nt++]=63&ot|128)}return tt},goog.crypt.utf8ByteArrayToString=function(et){for(var tt=[],nt=0,it=0;ntot)tt[it++]=String.fromCharCode(ot);else if(191ot){var Ut=et[nt++];tt[it++]=String.fromCharCode((31&ot)<<6|63&Ut)}else if(239ot){Ut=et[nt++];var Ft=et[nt++];ot=((7&ot)<<18|(63&Ut)<<12|(63&Ft)<<6|63&et[nt++])-65536,tt[it++]=String.fromCharCode(55296+(ot>>10)),tt[it++]=String.fromCharCode(56320+(1023&ot))}else Ut=et[nt++],Ft=et[nt++],tt[it++]=String.fromCharCode((15&ot)<<12|(63&Ut)<<6|63&Ft)}return tt.join("")},goog.crypt.xorByteArray=function(et,tt){goog.asserts.assert(et.length==tt.length,"XOR array lengths must match");for(var nt=[],it=0;it":"
")},goog.string.internal.htmlEscape=function(et,tt){if(tt)et=et.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(et))return et;et.indexOf("&")!=-1&&(et=et.replace(goog.string.internal.AMP_RE_,"&")),et.indexOf("<")!=-1&&(et=et.replace(goog.string.internal.LT_RE_,"<")),et.indexOf(">")!=-1&&(et=et.replace(goog.string.internal.GT_RE_,">")),et.indexOf('"')!=-1&&(et=et.replace(goog.string.internal.QUOT_RE_,""")),et.indexOf("'")!=-1&&(et=et.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),et.indexOf("\0")!=-1&&(et=et.replace(goog.string.internal.NULL_RE_,"�"))}return et},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(et,tt){return goog.string.internal.newLineToBr(et.replace(/ /g,"  "),tt)},goog.string.internal.contains=function(et,tt){return et.indexOf(tt)!=-1},goog.string.internal.caseInsensitiveContains=function(et,tt){return goog.string.internal.contains(et.toLowerCase(),tt.toLowerCase())},goog.string.internal.compareVersions=function(et,tt){var nt=0;et=goog.string.internal.trim(String(et)).split("."),tt=goog.string.internal.trim(String(tt)).split(".");for(var it=Math.max(et.length,tt.length),ot=0;nt==0&&ottt?1:0},goog.string.TypedString=function(){},goog.string.Const=function(et,tt){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=et===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&tt||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(et){return et instanceof goog.string.Const&&et.constructor===goog.string.Const&&et.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?et.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+et+"'"),"type_error:Const")},goog.string.Const.from=function(et){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,et)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(et){return goog.fs.url.getUrlObject_().createObjectURL(et)},goog.fs.url.revokeObjectUrl=function(et){goog.fs.url.getUrlObject_().revokeObjectURL(et)},goog.fs.url.getUrlObject_=function(){var et=goog.fs.url.findUrlObject_();if(et!=null)return et;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return goog.fs.url.findUrlObject_()!=null},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2).toLowerCase()=="ar"||goog.LOCALE.substring(0,2).toLowerCase()=="fa"||goog.LOCALE.substring(0,2).toLowerCase()=="he"||goog.LOCALE.substring(0,2).toLowerCase()=="iw"||goog.LOCALE.substring(0,2).toLowerCase()=="ps"||goog.LOCALE.substring(0,2).toLowerCase()=="sd"||goog.LOCALE.substring(0,2).toLowerCase()=="ug"||goog.LOCALE.substring(0,2).toLowerCase()=="ur"||goog.LOCALE.substring(0,2).toLowerCase()=="yi")&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")||3<=goog.LOCALE.length&&goog.LOCALE.substring(0,3).toLowerCase()=="ckb"&&(goog.LOCALE.length==3||goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")||7<=goog.LOCALE.length&&(goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")&&(goog.LOCALE.substring(3,7).toLowerCase()=="adlm"||goog.LOCALE.substring(3,7).toLowerCase()=="arab"||goog.LOCALE.substring(3,7).toLowerCase()=="hebr"||goog.LOCALE.substring(3,7).toLowerCase()=="nkoo"||goog.LOCALE.substring(3,7).toLowerCase()=="rohg"||goog.LOCALE.substring(3,7).toLowerCase()=="thaa")||8<=goog.LOCALE.length&&(goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")&&(goog.LOCALE.substring(4,8).toLowerCase()=="adlm"||goog.LOCALE.substring(4,8).toLowerCase()=="arab"||goog.LOCALE.substring(4,8).toLowerCase()=="hebr"||goog.LOCALE.substring(4,8).toLowerCase()=="nkoo"||goog.LOCALE.substring(4,8).toLowerCase()=="rohg"||goog.LOCALE.substring(4,8).toLowerCase()=="thaa"),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(et,tt){return typeof et=="number"?0et?goog.i18n.bidi.Dir.RTL:tt?null:goog.i18n.bidi.Dir.NEUTRAL:et==null?null:et?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(et,tt){return tt?et.replace(goog.i18n.bidi.htmlSkipReg_,""):et},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(et,tt){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(et,tt){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(et){return goog.i18n.bidi.rtlRe_.test(et)},goog.i18n.bidi.isLtrChar=function(et){return goog.i18n.bidi.ltrRe_.test(et)},goog.i18n.bidi.isNeutralChar=function(et){return!goog.i18n.bidi.isLtrChar(et)&&!goog.i18n.bidi.isRtlChar(et)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(et,tt){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(et,tt){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(et,tt){return et=goog.i18n.bidi.stripHtmlIfNeeded_(et,tt),goog.i18n.bidi.isRequiredLtrRe_.test(et)||!goog.i18n.bidi.hasAnyLtr(et)&&!goog.i18n.bidi.hasAnyRtl(et)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(et,tt){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(et,tt){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(et,tt))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(et){return goog.i18n.bidi.rtlLocalesRe_.test(et)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(et,tt){return tt=(tt===void 0?goog.i18n.bidi.hasAnyRtl(et):tt)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,et.replace(goog.i18n.bidi.bracketGuardTextRe_,tt+"$&"+tt)},goog.i18n.bidi.enforceRtlInHtml=function(et){return et.charAt(0)=="<"?et.replace(/<\w+/,"$& dir=rtl"):` -`+et+""},goog.i18n.bidi.enforceRtlInText=function(et){return goog.i18n.bidi.Format.RLE+et+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(et){return et.charAt(0)=="<"?et.replace(/<\w+/,"$& dir=ltr"):` -`+et+""},goog.i18n.bidi.enforceLtrInText=function(et){return goog.i18n.bidi.Format.LRE+et+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(et){return et.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(et){return et.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(et,tt){var nt=0,it=0,ot=!1;for(et=goog.i18n.bidi.stripHtmlIfNeeded_(et,tt).split(goog.i18n.bidi.wordSeparatorRe_),tt=0;ttgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(et,tt){return goog.i18n.bidi.estimateDirection(et,tt)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(et,tt){et&&(tt=goog.i18n.bidi.toDir(tt))&&(et.style.textAlign=tt==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,et.dir=tt==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(et,tt){switch(goog.i18n.bidi.estimateDirection(tt)){case goog.i18n.bidi.Dir.LTR:et.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:et.dir="rtl";break;default:et.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(et,tt){var nt=goog.html.TrustedResourceUrl.unwrap(this),it=(nt=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(nt))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(nt[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",nt[2]||"",et)+goog.html.TrustedResourceUrl.stringifyParams_("#",it,tt))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(et){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(et).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(et){return et instanceof goog.html.TrustedResourceUrl&&et.constructor===goog.html.TrustedResourceUrl&&et.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?et.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+et+"' of type "+goog.typeOf(et)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(et){return et.trustedURL_?et.trustedURL_:goog.html.TrustedResourceUrl.unwrap(et)},goog.html.TrustedResourceUrl.format=function(et,tt){var nt=goog.string.Const.unwrap(et);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(nt))throw Error("Invalid TrustedResourceUrl format: "+nt);return et=nt.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(it,ot){if(!Object.prototype.hasOwnProperty.call(tt,ot))throw Error('Found marker, "'+ot+'", in format string, "'+nt+'", but no valid label mapping found in args: '+JSON.stringify(tt));return(it=tt[ot])instanceof goog.string.Const?goog.string.Const.unwrap(it):encodeURIComponent(String(it))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(et,tt,nt,it){return goog.html.TrustedResourceUrl.format(et,tt).cloneWithParams(nt,it)},goog.html.TrustedResourceUrl.fromConstant=function(et){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(et))},goog.html.TrustedResourceUrl.fromConstants=function(et){for(var tt="",nt=0;ntet.length?"&":"")+encodeURIComponent(it)+"="+encodeURIComponent(String(Ft)))}}return tt},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(et){return goog.html.SafeUrl.unwrapTrustedURL(et).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(et){return et instanceof goog.html.SafeUrl&&et.constructor===goog.html.SafeUrl&&et.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?et.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+et+"' of type "+goog.typeOf(et)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(et){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(et))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(et){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(et)},goog.html.SafeUrl.fromBlob=function(et){return et=goog.html.SAFE_MIME_TYPE_PATTERN_.test(et.type)?goog.fs.url.createObjectUrl(et):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(et){var tt=(et=et.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return tt=tt&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(tt[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(tt?et:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(et){return goog.string.internal.caseInsensitiveStartsWith(et,"tel:")||(et=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(et){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(et))||(et=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(et){return goog.string.internal.caseInsensitiveStartsWith(et,"fb-messenger://share")||(et=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.SafeUrl.fromWhatsAppUrl=function(et){return goog.string.internal.caseInsensitiveStartsWith(et,"whatsapp://send")||(et=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.SafeUrl.fromSmsUrl=function(et){return goog.string.internal.caseInsensitiveStartsWith(et,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(et)||(et=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(et)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(et){var tt=et.indexOf("#");if(0+~[\]()=^$|]+$/.test(nt))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+et);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(nt))throw Error("() and [] in selector must be balanced, got: "+et);return tt instanceof goog.html.SafeStyle||(tt=goog.html.SafeStyle.create(tt)),et=et+"{"+goog.html.SafeStyle.unwrap(tt).replace(/.");if(et.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+et+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(et,tt,nt,it){et&&goog.html.TrustedResourceUrl.unwrap(et);var ot={};return ot.src=et||null,ot.srcdoc=tt&&goog.html.SafeHtml.unwrap(tt),et=goog.html.SafeHtml.combineAttributes(ot,{sandbox:""},nt),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",et,it)},goog.html.SafeHtml.createSandboxIframe=function(et,tt,nt,it){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var ot={};return ot.src=et?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(et)):null,ot.srcdoc=tt||null,ot.sandbox="",et=goog.html.SafeHtml.combineAttributes(ot,{},nt),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",et,it)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(et,tt){return goog.html.TrustedResourceUrl.unwrap(et),et=goog.html.SafeHtml.combineAttributes({src:et},{},tt),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",et)},goog.html.SafeHtml.createScript=function(et,tt){for(var nt in tt){var it=nt.toLowerCase();if(it=="language"||it=="src"||it=="text"||it=="type")throw Error('Cannot set "'+it+'" attribute')}for(nt="",et=goog.array.concat(et),it=0;it does not allow content."),ot+=">"):(it=goog.html.SafeHtml.concat(nt),ot+=">"+goog.html.SafeHtml.unwrap(it)+"",it=it.getDirection()),(et=tt&&tt.dir)&&(it=/^(ltr|rtl|auto)$/i.test(et)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(ot,it)},goog.html.SafeHtml.stringifyAttributes=function(et,tt){var nt="";if(tt)for(var it in tt){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(it))throw Error('Invalid attribute name "'+it+'".');var ot=tt[it];goog.isDefAndNotNull(ot)&&(nt+=" "+goog.html.SafeHtml.getAttrNameAndValue_(et,it,ot))}return nt},goog.html.SafeHtml.combineAttributes=function(et,tt,nt){var it,ot={};for(it in et)goog.asserts.assert(it.toLowerCase()==it,"Must be lower case"),ot[it]=et[it];for(it in tt)goog.asserts.assert(it.toLowerCase()==it,"Must be lower case"),ot[it]=tt[it];for(it in nt){var Ut=it.toLowerCase();if(Ut in et)throw Error('Cannot override "'+Ut+'" attribute, got "'+it+'" with value "'+nt[it]+'"');Ut in tt&&delete ot[Ut],ot[it]=nt[it]}return ot},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(et,tt,nt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(tt,nt||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(et,tt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(tt)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(et,tt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(tt)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(et,tt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(tt)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(et,tt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(tt)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(et,tt){return goog.asserts.assertString(goog.string.Const.unwrap(et),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(et)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(tt)},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(et){if(goog.asserts.ENABLE_ASSERTS){var tt=goog.dom.asserts.getWindow_(et);tt&&(!et||!(et instanceof tt.Location)&&et instanceof tt.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(et))}return et},goog.dom.asserts.assertIsElementType_=function(et,tt){if(goog.asserts.ENABLE_ASSERTS){var nt=goog.dom.asserts.getWindow_(et);nt&&nt[tt]!==void 0&&(et&&(et instanceof nt[tt]||!(et instanceof nt.Location||et instanceof nt.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",tt,goog.dom.asserts.debugStringForType_(et)))}return et},goog.dom.asserts.assertIsHTMLAnchorElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(et){return goog.dom.asserts.assertIsElementType_(et,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(et){if(!goog.isObject(et))return et===void 0?"undefined":et===null?"null":typeof et;try{return et.constructor.displayName||et.constructor.name||Object.prototype.toString.call(et)}catch{return""}},goog.dom.asserts.getWindow_=function(et){try{var tt=et&&et.ownerDocument,nt=tt&&(tt.defaultView||tt.parentWindow);if((nt=nt||goog.global).Element&&nt.Location)return nt}catch{}return null},goog.functions={},goog.functions.constant=function(et){return function(){return et}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(et,tt){return et},goog.functions.error=function(et){return function(){throw Error(et)}},goog.functions.fail=function(et){return function(){throw et}},goog.functions.lock=function(et,tt){return tt=tt||0,function(){return et.apply(this,Array.prototype.slice.call(arguments,0,tt))}},goog.functions.nth=function(et){return function(){return arguments[et]}},goog.functions.partialRight=function(et,tt){var nt=Array.prototype.slice.call(arguments,1);return function(){var it=Array.prototype.slice.call(arguments);return it.push.apply(it,nt),et.apply(this,it)}},goog.functions.withReturnValue=function(et,tt){return goog.functions.sequence(et,goog.functions.constant(tt))},goog.functions.equalTo=function(et,tt){return function(nt){return tt?et==nt:et===nt}},goog.functions.compose=function(et,tt){var nt=arguments,it=nt.length;return function(){var ot;it&&(ot=nt[it-1].apply(this,arguments));for(var Ut=it-2;0<=Ut;Ut--)ot=nt[Ut].call(this,ot);return ot}},goog.functions.sequence=function(et){var tt=arguments,nt=tt.length;return function(){for(var it,ot=0;ot"u")return!1;var et=document.createElement("div"),tt=document.createElement("div");return tt.appendChild(document.createElement("div")),et.appendChild(tt),!(goog.DEBUG&&!et.firstChild)&&(tt=et.firstChild.firstChild,et.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!tt.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(et,tt){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;et.lastChild;)et.removeChild(et.lastChild);et.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(tt)},goog.dom.safe.setInnerHtml=function(et,tt){if(goog.asserts.ENABLE_ASSERTS){var nt=et.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[nt])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+et.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(et,tt)},goog.dom.safe.setOuterHtml=function(et,tt){et.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(tt)},goog.dom.safe.setFormElementAction=function(et,tt){tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),goog.dom.asserts.assertIsHTMLFormElement(et).action=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setButtonFormAction=function(et,tt){tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),goog.dom.asserts.assertIsHTMLButtonElement(et).formAction=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setInputFormAction=function(et,tt){tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),goog.dom.asserts.assertIsHTMLInputElement(et).formAction=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setStyle=function(et,tt){et.style.cssText=goog.html.SafeStyle.unwrap(tt)},goog.dom.safe.documentWrite=function(et,tt){et.write(goog.html.SafeHtml.unwrapTrustedHTML(tt))},goog.dom.safe.setAnchorHref=function(et,tt){goog.dom.asserts.assertIsHTMLAnchorElement(et),tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),et.href=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setImageSrc=function(et,tt){if(goog.dom.asserts.assertIsHTMLImageElement(et),!(tt instanceof goog.html.SafeUrl)){var nt=/^data:image\//i.test(tt);tt=goog.html.SafeUrl.sanitizeAssertUnchanged(tt,nt)}et.src=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setAudioSrc=function(et,tt){if(goog.dom.asserts.assertIsHTMLAudioElement(et),!(tt instanceof goog.html.SafeUrl)){var nt=/^data:audio\//i.test(tt);tt=goog.html.SafeUrl.sanitizeAssertUnchanged(tt,nt)}et.src=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setVideoSrc=function(et,tt){if(goog.dom.asserts.assertIsHTMLVideoElement(et),!(tt instanceof goog.html.SafeUrl)){var nt=/^data:video\//i.test(tt);tt=goog.html.SafeUrl.sanitizeAssertUnchanged(tt,nt)}et.src=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.setEmbedSrc=function(et,tt){goog.dom.asserts.assertIsHTMLEmbedElement(et),et.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(tt)},goog.dom.safe.setFrameSrc=function(et,tt){goog.dom.asserts.assertIsHTMLFrameElement(et),et.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(tt)},goog.dom.safe.setIframeSrc=function(et,tt){goog.dom.asserts.assertIsHTMLIFrameElement(et),et.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(tt)},goog.dom.safe.setIframeSrcdoc=function(et,tt){goog.dom.asserts.assertIsHTMLIFrameElement(et),et.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(tt)},goog.dom.safe.setLinkHrefAndRel=function(et,tt,nt){goog.dom.asserts.assertIsHTMLLinkElement(et),et.rel=nt,goog.string.internal.caseInsensitiveContains(nt,"stylesheet")?(goog.asserts.assert(tt instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),et.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(tt)):et.href=tt instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(tt):tt instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(tt):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(tt))},goog.dom.safe.setObjectData=function(et,tt){goog.dom.asserts.assertIsHTMLObjectElement(et),et.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(tt)},goog.dom.safe.setScriptSrc=function(et,tt){goog.dom.asserts.assertIsHTMLScriptElement(et),et.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(tt),(tt=goog.getScriptNonce())&&et.setAttribute("nonce",tt)},goog.dom.safe.setScriptContent=function(et,tt){goog.dom.asserts.assertIsHTMLScriptElement(et),et.text=goog.html.SafeScript.unwrapTrustedScript(tt),(tt=goog.getScriptNonce())&&et.setAttribute("nonce",tt)},goog.dom.safe.setLocationHref=function(et,tt){goog.dom.asserts.assertIsLocation(et),tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),et.href=goog.html.SafeUrl.unwrapTrustedURL(tt)},goog.dom.safe.assignLocation=function(et,tt){goog.dom.asserts.assertIsLocation(et),tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),et.assign(goog.html.SafeUrl.unwrapTrustedURL(tt))},goog.dom.safe.replaceLocation=function(et,tt){goog.dom.asserts.assertIsLocation(et),tt=tt instanceof goog.html.SafeUrl?tt:goog.html.SafeUrl.sanitizeAssertUnchanged(tt),et.replace(goog.html.SafeUrl.unwrapTrustedURL(tt))},goog.dom.safe.openInWindow=function(et,tt,nt,it,ot){return et=et instanceof goog.html.SafeUrl?et:goog.html.SafeUrl.sanitizeAssertUnchanged(et),(tt||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(et),nt?goog.string.Const.unwrap(nt):"",it,ot)},goog.dom.safe.parseFromStringHtml=function(et,tt){return goog.dom.safe.parseFromString(et,tt,"text/html")},goog.dom.safe.parseFromString=function(et,tt,nt){return et.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(tt),nt)},goog.dom.safe.createImageFromBlob=function(et){if(!/^image\/.*/g.test(et.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var tt=goog.global.URL.createObjectURL(et);return(et=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(tt)},goog.dom.safe.setImageSrc(et,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),tt)),et},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(et,tt){for(var nt=et.split("%s"),it="",ot=Array.prototype.slice.call(arguments,1);ot.length&&1=et||"€"<=et&&"�">=et},goog.string.stripNewlines=function(et){return et.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(et){return et.replace(/(\r\n|\r|\n)/g,` -`)},goog.string.normalizeWhitespace=function(et){return et.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(et){return et.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(et){return et.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(et){return et.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(et){return et.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(et,tt,nt){if(et==tt)return 0;if(!et)return-1;if(!tt)return 1;for(var it=et.toLowerCase().match(nt),ot=tt.toLowerCase().match(nt),Ut=Math.min(it.length,ot.length),Ft=0;Ft",""":'"'},it=tt?tt.createElement("div"):goog.global.document.createElement("div");return et.replace(goog.string.HTML_ENTITY_PATTERN_,function(ot,Ut){var Ft=nt[ot];return Ft||(Ut.charAt(0)=="#"&&(Ut=+("0"+Ut.substr(1)),isNaN(Ut)||(Ft=String.fromCharCode(Ut))),Ft||(goog.dom.safe.setInnerHtml(it,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),ot+" ")),Ft=it.firstChild.nodeValue.slice(0,-1)),nt[ot]=Ft)})},goog.string.unescapePureXmlEntities_=function(et){return et.replace(/&([^;]+);/g,function(tt,nt){switch(nt){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return nt.charAt(0)!="#"||(nt=+("0"+nt.substr(1)),isNaN(nt))?tt:String.fromCharCode(nt)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(et,tt){return goog.string.newLineToBr(et.replace(/ /g,"  "),tt)},goog.string.preserveSpaces=function(et){return et.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(et,tt){for(var nt=tt.length,it=0;ittt&&(et=et.substring(0,tt-3)+"..."),nt&&(et=goog.string.htmlEscape(et)),et},goog.string.truncateMiddle=function(et,tt,nt,it){if(nt&&(et=goog.string.unescapeEntities(et)),it&&et.length>tt){it>tt&&(it=tt);var ot=et.length-it;et=et.substring(0,tt-it)+"..."+et.substring(ot)}else et.length>tt&&(it=Math.floor(tt/2),ot=et.length-it,et=et.substring(0,it+tt%2)+"..."+et.substring(ot));return nt&&(et=goog.string.htmlEscape(et)),et},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(et){et=String(et);for(var tt=['"'],nt=0;ntot?it:goog.string.escapeChar(it))}return tt.push('"'),tt.join("")},goog.string.escapeString=function(et){for(var tt=[],nt=0;nttt)var nt=et;else 256>tt?(nt="\\x",(16>tt||256tt&&(nt+="0")),nt+=tt.toString(16).toUpperCase();return goog.string.jsEscapeCache_[et]=nt},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(et,tt){return et&&tt?et.split(tt).length-1:0},goog.string.removeAt=function(et,tt,nt){var it=et;return 0<=tt&&tt>>0;return tt},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(et){var tt=Number(et);return tt==0&&goog.string.isEmptyOrWhitespace(et)?NaN:tt},goog.string.isLowerCamelCase=function(et){return/^[a-z]+([A-Z][a-z]*)*$/.test(et)},goog.string.isUpperCamelCase=function(et){return/^([A-Z][a-z]*)+$/.test(et)},goog.string.toCamelCase=function(et){return String(et).replace(/\-([a-z])/g,function(tt,nt){return nt.toUpperCase()})},goog.string.toSelectorCase=function(et){return String(et).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(et,tt){return tt=goog.isString(tt)?goog.string.regExpEscape(tt):"\\s",et.replace(new RegExp("(^"+(tt?"|["+tt+"]+":"")+")([a-z])","g"),function(nt,it,ot){return it+ot.toUpperCase()})},goog.string.capitalize=function(et){return String(et.charAt(0)).toUpperCase()+String(et.substr(1)).toLowerCase()},goog.string.parseInt=function(et){return isFinite(et)&&(et=String(et)),goog.isString(et)?/^\s*-?0x/i.test(et)?parseInt(et,16):parseInt(et,10):NaN},goog.string.splitLimit=function(et,tt,nt){et=et.split(tt);for(var it=[];0nt&&(nt=ot)}return nt==-1?et:et.slice(nt+1)},goog.string.editDistance=function(et,tt){var nt=[],it=[];if(et==tt)return 0;if(!et.length||!tt.length)return Math.max(et.length,tt.length);for(var ot=0;otparseFloat(et)?String(tt):et},goog.userAgent.getVersionRegexResult_=function(){var et=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(et):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(et):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(et):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(et):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(et):void 0},goog.userAgent.getDocumentMode_=function(){var et=goog.global.document;return et?et.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(et,tt){return goog.string.compareVersions(et,tt)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(et){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,et,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,et)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(et){return Number(goog.userAgent.DOCUMENT_MODE)>=et},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(et){return goog.string.contains(goog.crypt.base64.paddingChars_,et)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(et,tt){goog.asserts.assert(goog.isArrayLike(et),"encodeByteArray takes an array as a parameter"),tt===void 0&&(tt=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),tt=goog.crypt.base64.byteToCharMaps_[tt];for(var nt=[],it=0;it>2;ot=(3&ot)<<4|Ft>>4,Ft=(15&Ft)<<2|Bt>>6,Bt&=63,Qt||(Bt=64,Ut||(Ft=64)),nt.push(tt[Vt],tt[ot],tt[Ft]||"",tt[Bt]||"")}return nt.join("")},goog.crypt.base64.encodeString=function(et,tt){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!tt?goog.global.btoa(et):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(et),tt)},goog.crypt.base64.decodeString=function(et,tt){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!tt)return goog.global.atob(et);var nt="";return goog.crypt.base64.decodeStringInternal_(et,function(it){nt+=String.fromCharCode(it)}),nt},goog.crypt.base64.decodeStringToByteArray=function(et,tt){var nt=[];return goog.crypt.base64.decodeStringInternal_(et,function(it){nt.push(it)}),nt},goog.crypt.base64.decodeStringToUint8Array=function(et){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var tt=et.length,nt=3*tt/4;nt%3?nt=Math.floor(nt):goog.crypt.base64.isPadding_(et[tt-1])&&(nt=goog.crypt.base64.isPadding_(et[tt-2])?nt-2:nt-1);var it=new Uint8Array(nt),ot=0;return goog.crypt.base64.decodeStringInternal_(et,function(Ut){it[ot++]=Ut}),it.subarray(0,ot)},goog.crypt.base64.decodeStringInternal_=function(et,tt){function nt(Bt){for(;it>4),Ft!=64&&(tt(Ut<<4&240|Ft>>2),Qt!=64&&tt(Ft<<6&192|Qt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var et=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),tt=["+/=","+/","-_=","-_.","-_"],nt=0;5>nt;nt++){var it=et.concat(tt[nt].split(""));goog.crypt.base64.byteToCharMaps_[nt]=it;for(var ot=0;ot>>0;et=Math.floor((et-tt)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=tt,jspb.utils.split64High=et},jspb.utils.splitInt64=function(et){var tt=0>et,nt=(et=Math.abs(et))>>>0;et=Math.floor((et-nt)/jspb.BinaryConstants.TWO_TO_32),et>>>=0,tt&&(et=~et>>>0,4294967295<(nt=1+(~nt>>>0))&&(nt=0,4294967295<++et&&(et=0))),jspb.utils.split64Low=nt,jspb.utils.split64High=et},jspb.utils.splitZigzag64=function(et){var tt=0>et;et=2*Math.abs(et),jspb.utils.splitUint64(et),et=jspb.utils.split64Low;var nt=jspb.utils.split64High;tt&&(et==0?nt==0?nt=et=4294967295:(nt--,et=4294967295):et--),jspb.utils.split64Low=et,jspb.utils.split64High=nt},jspb.utils.splitFloat32=function(et){var tt=0>et?1:0;if((et=tt?-et:et)===0)0<1/et?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(et))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(et>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(tt<<31|2139095040)>>>0;else if(et>>0;else{var nt=Math.floor(Math.log(et)/Math.LN2);et*=Math.pow(2,-nt),et=8388607&Math.round(et*jspb.BinaryConstants.TWO_TO_23),jspb.utils.split64High=0,jspb.utils.split64Low=(tt<<31|nt+127<<23|et)>>>0}},jspb.utils.splitFloat64=function(et){var tt=0>et?1:0;if((et=tt?-et:et)===0)jspb.utils.split64High=0<1/et?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(et))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(et>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(tt<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(et>>0,jspb.utils.split64Low=nt>>>0}else{var it=0;if(2<=(nt=et))for(;2<=nt&&1023>it;)it++,nt/=2;else for(;1>nt&&-1022>>0,jspb.utils.split64High=(tt<<31|it+1023<<20|et)>>>0,jspb.utils.split64Low=nt}},jspb.utils.splitHash64=function(et){var tt=et.charCodeAt(0),nt=et.charCodeAt(1),it=et.charCodeAt(2),ot=et.charCodeAt(3),Ut=et.charCodeAt(4),Ft=et.charCodeAt(5),Qt=et.charCodeAt(6);et=et.charCodeAt(7),jspb.utils.split64Low=tt+(nt<<8)+(it<<16)+(ot<<24)>>>0,jspb.utils.split64High=Ut+(Ft<<8)+(Qt<<16)+(et<<24)>>>0},jspb.utils.joinUint64=function(et,tt){return tt*jspb.BinaryConstants.TWO_TO_32+(et>>>0)},jspb.utils.joinInt64=function(et,tt){var nt=2147483648&tt;return nt&&(tt=~tt>>>0,(et=1+~et>>>0)==0&&(tt=tt+1>>>0)),et=jspb.utils.joinUint64(et,tt),nt?-et:et},jspb.utils.toZigzag64=function(et,tt,nt){var it=tt>>31;return nt(et<<1^it,(tt<<1|et>>>31)^it)},jspb.utils.joinZigzag64=function(et,tt){return jspb.utils.fromZigzag64(et,tt,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(et,tt,nt){var it=-(1&et);return nt((et>>>1|tt<<31)^it,tt>>>1^it)},jspb.utils.joinFloat32=function(et,tt){tt=2*(et>>31)+1;var nt=et>>>23&255;return et&=8388607,nt==255?et?NaN:1/0*tt:nt==0?tt*Math.pow(2,-149)*et:tt*Math.pow(2,nt-150)*(et+Math.pow(2,23))},jspb.utils.joinFloat64=function(et,tt){var nt=2*(tt>>31)+1,it=tt>>>20&2047;return et=jspb.BinaryConstants.TWO_TO_32*(1048575&tt)+et,it==2047?et?NaN:1/0*nt:it==0?nt*Math.pow(2,-1074)*et:nt*Math.pow(2,it-1075)*(et+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(et,tt){return String.fromCharCode(et>>>0&255,et>>>8&255,et>>>16&255,et>>>24&255,tt>>>0&255,tt>>>8&255,tt>>>16&255,tt>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(et,tt){function nt(ot,Ut){return ot=ot?String(ot):"",Ut?"0000000".slice(ot.length)+ot:ot}if(2097151>=tt)return""+(jspb.BinaryConstants.TWO_TO_32*tt+et);var it=(et>>>24|tt<<8)>>>0&16777215;return et=(16777215&et)+6777216*it+6710656*(tt=tt>>16&65535),it+=8147497*tt,tt*=2,1e7<=et&&(it+=Math.floor(et/1e7),et%=1e7),1e7<=it&&(tt+=Math.floor(it/1e7),it%=1e7),nt(tt,0)+nt(it,tt)+nt(et,1)},jspb.utils.joinSignedDecimalString=function(et,tt){var nt=2147483648&tt;return nt&&(tt=~tt+((et=1+~et>>>0)==0?1:0)>>>0),et=jspb.utils.joinUnsignedDecimalString(et,tt),nt?"-"+et:et},jspb.utils.hash64ToDecimalString=function(et,tt){jspb.utils.splitHash64(et),et=jspb.utils.split64Low;var nt=jspb.utils.split64High;return tt?jspb.utils.joinSignedDecimalString(et,nt):jspb.utils.joinUnsignedDecimalString(et,nt)},jspb.utils.hash64ArrayToDecimalStrings=function(et,tt){for(var nt=Array(et.length),it=0;itQt&&(Ut!==1||0>>=8}goog.asserts.assert(0Ut;Ut++)it[Ut]=255&~it[Ut]}(),tt(1,1)),goog.crypt.byteArrayToString(it)},jspb.utils.splitDecimalString=function(et){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(et))},jspb.utils.toHexDigit_=function(et){return String.fromCharCode(10>et?jspb.utils.ZERO_CHAR_CODE_+et:jspb.utils.A_CHAR_CODE_-10+et)},jspb.utils.fromHexCharCode_=function(et){return et>=jspb.utils.A_CHAR_CODE_?et-jspb.utils.A_CHAR_CODE_+10:et-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(et){var tt=Array(18);tt[0]="0",tt[1]="x";for(var nt=0;8>nt;nt++){var it=et.charCodeAt(7-nt);tt[2*nt+2]=jspb.utils.toHexDigit_(it>>4),tt[2*nt+3]=jspb.utils.toHexDigit_(15&it)}return tt.join("")},jspb.utils.hexStringToHash64=function(et){et=et.toLowerCase(),goog.asserts.assert(et.length==18),goog.asserts.assert(et[0]=="0"),goog.asserts.assert(et[1]=="x");for(var tt="",nt=0;8>nt;nt++){var it=jspb.utils.fromHexCharCode_(et.charCodeAt(2*nt+2)),ot=jspb.utils.fromHexCharCode_(et.charCodeAt(2*nt+3));tt=String.fromCharCode(16*it+ot)+tt}return tt},jspb.utils.hash64ToNumber=function(et,tt){jspb.utils.splitHash64(et),et=jspb.utils.split64Low;var nt=jspb.utils.split64High;return tt?jspb.utils.joinInt64(et,nt):jspb.utils.joinUint64(et,nt)},jspb.utils.numberToHash64=function(et){return jspb.utils.splitInt64(et),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(et,tt,nt){for(var it=0,ot=tt;ot>7;return nt-tt-it},jspb.utils.countVarintFields=function(et,tt,nt,it){var ot=0;if(128>(it=8*it+jspb.BinaryConstants.WireType.VARINT))for(;tt>=7}if(et[tt++]!=Ut)break;for(ot++;128&(Ut=et[tt++]););}return ot},jspb.utils.countFixedFields_=function(et,tt,nt,it,ot){var Ut=0;if(128>it)for(;tt>=7}if(et[tt++]!=Ft)break;Ut++,tt+=ot}return Ut},jspb.utils.countFixed32Fields=function(et,tt,nt,it){return jspb.utils.countFixedFields_(et,tt,nt,8*it+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(et,tt,nt,it){return jspb.utils.countFixedFields_(et,tt,nt,8*it+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(et,tt,nt,it){var ot=0;for(it=8*it+jspb.BinaryConstants.WireType.DELIMITED;tt>=7}if(et[tt++]!=Ut)break;ot++;for(var Ft=0,Qt=1;Ft+=(127&(Ut=et[tt++]))*Qt,Qt*=128,(128&Ut)!=0;);tt+=Ft}return ot},jspb.utils.debugBytesToTextFormat=function(et){var tt='"';if(et){et=jspb.utils.byteSourceToUint8Array(et);for(var nt=0;ntet[nt]&&(tt+="0"),tt+=et[nt].toString(16)}return tt+'"'},jspb.utils.debugScalarToTextFormat=function(et){return typeof et=="string"?goog.string.quote(et):et.toString()},jspb.utils.stringToByteArray=function(et){for(var tt=new Uint8Array(et.length),nt=0;ntjspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(et,tt,nt){this.bytes_=jspb.utils.byteSourceToUint8Array(et),this.start_=tt!==void 0?tt:0,this.end_=nt!==void 0?this.start_+nt:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(et){this.end_=et},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(et){this.cursor_=et},jspb.BinaryDecoder.prototype.advance=function(et){this.cursor_+=et,goog.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(et){for(var tt=128,nt=0,it=0,ot=0;4>ot&&128<=tt;ot++)nt|=(127&(tt=this.bytes_[this.cursor_++]))<<7*ot;if(128<=tt&&(nt|=(127&(tt=this.bytes_[this.cursor_++]))<<28,it|=(127&tt)>>4),128<=tt)for(ot=0;5>ot&&128<=tt;ot++)it|=(127&(tt=this.bytes_[this.cursor_++]))<<7*ot+3;if(128>tt)return et(nt>>>0,it>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(et){return this.readSplitVarint64(function(tt,nt){return jspb.utils.fromZigzag64(tt,nt,et)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(et){var tt=this.bytes_,nt=this.cursor_;this.cursor_+=8;for(var it=0,ot=0,Ut=nt+7;Ut>=nt;Ut--)it=it<<8|tt[Ut],ot=ot<<8|tt[Ut+4];return et(it,ot)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(et){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var et=this.bytes_,tt=et[this.cursor_+0],nt=127&tt;return 128>tt?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),nt):(nt|=(127&(tt=et[this.cursor_+1]))<<7,128>tt?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),nt):(nt|=(127&(tt=et[this.cursor_+2]))<<14,128>tt?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),nt):(nt|=(127&(tt=et[this.cursor_+3]))<<21,128>tt?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),nt):(nt|=(15&(tt=et[this.cursor_+4]))<<28,128>tt?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),nt>>>0):(this.cursor_+=5,128<=et[this.cursor_++]&&128<=et[this.cursor_++]&&128<=et[this.cursor_++]&&128<=et[this.cursor_++]&&128<=et[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),nt)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32,jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var et=this.readUnsignedVarint32();return et>>>1^-(1&et)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var et=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),et},jspb.BinaryDecoder.prototype.readUint16=function(){var et=this.bytes_[this.cursor_+0],tt=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),et<<0|tt<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var et=this.bytes_[this.cursor_+0],tt=this.bytes_[this.cursor_+1],nt=this.bytes_[this.cursor_+2],it=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(et<<0|tt<<8|nt<<16|it<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var et=this.readUint32(),tt=this.readUint32();return jspb.utils.joinUint64(et,tt)},jspb.BinaryDecoder.prototype.readUint64String=function(){var et=this.readUint32(),tt=this.readUint32();return jspb.utils.joinUnsignedDecimalString(et,tt)},jspb.BinaryDecoder.prototype.readInt8=function(){var et=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),et<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var et=this.bytes_[this.cursor_+0],tt=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(et<<0|tt<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var et=this.bytes_[this.cursor_+0],tt=this.bytes_[this.cursor_+1],nt=this.bytes_[this.cursor_+2],it=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),et<<0|tt<<8|nt<<16|it<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var et=this.readUint32(),tt=this.readUint32();return jspb.utils.joinInt64(et,tt)},jspb.BinaryDecoder.prototype.readInt64String=function(){var et=this.readUint32(),tt=this.readUint32();return jspb.utils.joinSignedDecimalString(et,tt)},jspb.BinaryDecoder.prototype.readFloat=function(){var et=this.readUint32();return jspb.utils.joinFloat32(et,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var et=this.readUint32(),tt=this.readUint32();return jspb.utils.joinFloat64(et,tt)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(et){var tt=this.bytes_,nt=this.cursor_;et=nt+et;for(var it=[],ot="";ntUt)it.push(Ut);else{if(192>Ut)continue;if(224>Ut){var Ft=tt[nt++];it.push((31&Ut)<<6|63&Ft)}else if(240>Ut){Ft=tt[nt++];var Qt=tt[nt++];it.push((15&Ut)<<12|(63&Ft)<<6|63&Qt)}else 248>Ut&&(Ut=(7&Ut)<<18|(63&(Ft=tt[nt++]))<<12|(63&(Qt=tt[nt++]))<<6|63&tt[nt++],Ut-=65536,it.push(55296+(Ut>>10&1023),56320+(1023&Ut)))}8192<=it.length&&(ot+=String.fromCharCode.apply(null,it),it.length=0)}return ot+=goog.crypt.byteArrayToString(it),this.cursor_=nt,ot},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var et=this.readUnsignedVarint32();return this.readString(et)},jspb.BinaryDecoder.prototype.readBytes=function(et){if(0>et||this.cursor_+et>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var tt=this.bytes_.subarray(this.cursor_,this.cursor_+et);return this.cursor_+=et,goog.asserts.assert(this.cursor_<=this.end_),tt},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var et=this.bytes_,tt=this.cursor_,nt=et[tt+0],it=et[tt+1],ot=et[tt+2],Ut=et[tt+3],Ft=et[tt+4],Qt=et[tt+5],Bt=et[tt+6];return et=et[tt+7],this.cursor_+=8,String.fromCharCode(nt,it,ot,Ut,Ft,Qt,Bt,et)},jspb.BinaryReader=function(et,tt,nt){this.decoder_=jspb.BinaryDecoder.alloc(et,tt,nt),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(et,tt,nt){if(jspb.BinaryReader.instanceCache_.length){var it=jspb.BinaryReader.instanceCache_.pop();return et&&it.decoder_.setBlock(et,tt,nt),it}return new jspb.BinaryReader(et,tt,nt)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(et,tt,nt){this.decoder_.setBlock(et,tt,nt),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(et){this.decoder_.advance(et)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var et=this.decoder_.readUnsignedVarint32(),tt=et>>>3;return(et&=7)!=jspb.BinaryConstants.WireType.VARINT&&et!=jspb.BinaryConstants.WireType.FIXED32&&et!=jspb.BinaryConstants.WireType.FIXED64&&et!=jspb.BinaryConstants.WireType.DELIMITED&&et!=jspb.BinaryConstants.WireType.START_GROUP&&et!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",et,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=tt,this.nextWireType_=et,!0)},jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var et=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==et;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var et=this.decoder_.readUnsignedVarint32();this.decoder_.advance(et)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){for(var et=this.nextField_;;){if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=et&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(et,tt){this.readCallbacks_===null&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[et]),this.readCallbacks_[et]=tt},jspb.BinaryReader.prototype.runReadCallback=function(et){return goog.asserts.assert(this.readCallbacks_!==null),et=this.readCallbacks_[et],goog.asserts.assert(et),et(this)},jspb.BinaryReader.prototype.readAny=function(et){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(et);var tt=jspb.BinaryConstants.FieldType;switch(et){case tt.DOUBLE:return this.readDouble();case tt.FLOAT:return this.readFloat();case tt.INT64:return this.readInt64();case tt.UINT64:return this.readUint64();case tt.INT32:return this.readInt32();case tt.FIXED64:return this.readFixed64();case tt.FIXED32:return this.readFixed32();case tt.BOOL:return this.readBool();case tt.STRING:return this.readString();case tt.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case tt.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case tt.BYTES:return this.readBytes();case tt.UINT32:return this.readUint32();case tt.ENUM:return this.readEnum();case tt.SFIXED32:return this.readSfixed32();case tt.SFIXED64:return this.readSfixed64();case tt.SINT32:return this.readSint32();case tt.SINT64:return this.readSint64();case tt.FHASH64:return this.readFixedHash64();case tt.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(et,tt){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var nt=this.decoder_.getEnd(),it=this.decoder_.readUnsignedVarint32();it=this.decoder_.getCursor()+it,this.decoder_.setEnd(it),tt(et,this),this.decoder_.setCursor(it),this.decoder_.setEnd(nt)},jspb.BinaryReader.prototype.readGroup=function(et,tt,nt){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==et),nt(tt,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var et=this.decoder_.readUnsignedVarint32(),tt=this.decoder_.getCursor(),nt=tt+et;return et=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),tt,et),this.decoder_.setCursor(nt),et},jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var et=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(et)},jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var et=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(et)},jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(et){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(et)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(et){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(tt,nt){return jspb.utils.fromZigzag64(tt,nt,et)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(et){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(et)},jspb.BinaryReader.prototype.readPackedField_=function(et){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var tt=this.decoder_.readUnsignedVarint32();tt=this.decoder_.getCursor()+tt;for(var nt=[];this.decoder_.getCursor()tt.length?nt.length:tt.length;for(et.getJsPbMessageId()&&(it[0]=et.getJsPbMessageId(),ot=1);ot>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(et){return new jspb.arith.UInt64((this.lo+et.lo&4294967295)>>>0>>>0,((this.hi+et.hi&4294967295)>>>0)+(4294967296<=this.lo+et.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(et){return new jspb.arith.UInt64((this.lo-et.lo&4294967295)>>>0>>>0,((this.hi-et.hi&4294967295)>>>0)-(0>this.lo-et.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(et,tt){var nt=65535&et,it=65535&tt,ot=tt>>>16;for(tt=nt*it+65536*(nt*ot&65535)+65536*((et>>>=16)*it&65535),nt=et*ot+(nt*ot>>>16)+(et*it>>>16);4294967296<=tt;)tt-=4294967296,nt+=1;return new jspb.arith.UInt64(tt>>>0,nt>>>0)},jspb.arith.UInt64.prototype.mul=function(et){var tt=jspb.arith.UInt64.mul32x32(this.lo,et);return(et=jspb.arith.UInt64.mul32x32(this.hi,et)).hi=et.lo,et.lo=0,tt.add(et)},jspb.arith.UInt64.prototype.div=function(et){if(et==0)return[];var tt=new jspb.arith.UInt64(0,0),nt=new jspb.arith.UInt64(this.lo,this.hi);et=new jspb.arith.UInt64(et,0);for(var it=new jspb.arith.UInt64(1,0);!et.msb();)et=et.leftShift(),it=it.leftShift();for(;!it.zero();)0>=et.cmp(nt)&&(tt=tt.add(it),nt=nt.sub(et)),et=et.rightShift(),it=it.rightShift();return[tt,nt]},jspb.arith.UInt64.prototype.toString=function(){for(var et="",tt=this;!tt.zero();){var nt=(tt=tt.div(10))[0];et=tt[1].lo+et,tt=nt}return et==""&&(et="0"),et},jspb.arith.UInt64.fromString=function(et){for(var tt=new jspb.arith.UInt64(0,0),nt=new jspb.arith.UInt64(0,0),it=0;itet[it]||"9">>0>>>0,((this.hi+et.hi&4294967295)>>>0)+(4294967296<=this.lo+et.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(et){return new jspb.arith.Int64((this.lo-et.lo&4294967295)>>>0>>>0,((this.hi-et.hi&4294967295)>>>0)-(0>this.lo-et.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var et=(2147483648&this.hi)!=0,tt=new jspb.arith.UInt64(this.lo,this.hi);return et&&(tt=new jspb.arith.UInt64(0,0).sub(tt)),(et?"-":"")+tt.toString()},jspb.arith.Int64.fromString=function(et){var tt=0>>7|tt<<25)>>>0,tt>>>=7;this.buffer_.push(et)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(et,tt){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(tt==Math.floor(tt)),goog.asserts.assert(0<=et&&et>>=7;this.buffer_.push(et)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(et){if(goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(et>=-jspb.BinaryConstants.TWO_TO_31&&ettt;tt++)this.buffer_.push(127&et|128),et>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(0<=et&&et=-jspb.BinaryConstants.TWO_TO_63&&et=-jspb.BinaryConstants.TWO_TO_31&&et>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(et>=-jspb.BinaryConstants.TWO_TO_63&&et>>0,it>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(0<=et&&256>et),this.buffer_.push(et>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(0<=et&&65536>et),this.buffer_.push(et>>>0&255),this.buffer_.push(et>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(0<=et&&et>>0&255),this.buffer_.push(et>>>8&255),this.buffer_.push(et>>>16&255),this.buffer_.push(et>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(0<=et&&etet),this.buffer_.push(et>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(-32768<=et&&32768>et),this.buffer_.push(et>>>0&255),this.buffer_.push(et>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(et>=-jspb.BinaryConstants.TWO_TO_31&&et>>0&255),this.buffer_.push(et>>>8&255),this.buffer_.push(et>>>16&255),this.buffer_.push(et>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(et>=-jspb.BinaryConstants.TWO_TO_63&&et=-jspb.BinaryConstants.TWO_TO_63&&+et=-jspb.BinaryConstants.FLOAT32_MAX&&et<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(et),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(et){goog.asserts.assert(1/0===et||-1/0===et||isNaN(et)||et>=-jspb.BinaryConstants.FLOAT64_MAX&&et<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(et),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(et){goog.asserts.assert(typeof et=="boolean"||typeof et=="number"),this.buffer_.push(et?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(et){goog.asserts.assert(et==Math.floor(et)),goog.asserts.assert(et>=-jspb.BinaryConstants.TWO_TO_31&&etit)this.buffer_.push(it);else if(2048>it)this.buffer_.push(it>>6|192),this.buffer_.push(63&it|128);else if(65536>it)if(55296<=it&&56319>=it&&nt+1=ot&&(it=1024*(it-55296)+ot-56320+65536,this.buffer_.push(it>>18|240),this.buffer_.push(it>>12&63|128),this.buffer_.push(it>>6&63|128),this.buffer_.push(63&it|128),nt++)}else this.buffer_.push(it>>12|224),this.buffer_.push(it>>6&63|128),this.buffer_.push(63&it|128)}return this.buffer_.length-tt},jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]},jspb.BinaryWriter.prototype.appendUint8Array_=function(et){var tt=this.encoder_.end();this.blocks_.push(tt),this.blocks_.push(et),this.totalLength_+=tt.length+et.length},jspb.BinaryWriter.prototype.beginDelimited_=function(et){return this.writeFieldHeader_(et,jspb.BinaryConstants.WireType.DELIMITED),et=this.encoder_.end(),this.blocks_.push(et),this.totalLength_+=et.length,et.push(this.totalLength_),et},jspb.BinaryWriter.prototype.endDelimited_=function(et){var tt=et.pop();for(tt=this.totalLength_+this.encoder_.length()-tt,goog.asserts.assert(0<=tt);127>>=7,this.totalLength_++;et.push(tt),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(et,tt,nt){this.appendUint8Array_(et.subarray(tt,nt))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(et,tt,nt){et!=null&&tt!=null&&nt!=null&&this.writeSerializedMessage(et,tt,nt)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(this.bookmarks_.length==0);for(var et=new Uint8Array(this.totalLength_+this.encoder_.length()),tt=this.blocks_,nt=tt.length,it=0,ot=0;ot=-jspb.BinaryConstants.TWO_TO_31&&tt=-jspb.BinaryConstants.TWO_TO_31&&tt=-jspb.BinaryConstants.TWO_TO_63&&tt=-jspb.BinaryConstants.TWO_TO_31&&tt=-jspb.BinaryConstants.TWO_TO_63&&tt=-jspb.BinaryConstants.TWO_TO_31&&tt=-jspb.BinaryConstants.TWO_TO_63&&tt=-jspb.BinaryConstants.TWO_TO_31&&tt>>0,Ut>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(et,tt){if(tt!=null)for(var nt=0;nt>>0,Qt>>>0)});this.endDelimited_(et)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(et,tt){if(tt!=null&&tt.length){et=this.beginDelimited_(et);for(var nt=0;nt-1};function Zt(gn){if(typeof gn!="string"&&(gn=String(gn)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(gn))throw new TypeError("Invalid character in header field name");return gn.toLowerCase()}function Yt(gn){return typeof gn!="string"&&(gn=String(gn)),gn}function Mt(gn){var un={next:function(){var Un=gn.shift();return{done:Un===void 0,value:Un}}};return Ft&&(un[Symbol.iterator]=function(){return un}),un}function Gt(gn){this.map={},gn instanceof Gt?gn.forEach(function(un,Un){this.append(Un,un)},this):Array.isArray(gn)?gn.forEach(function(un){this.append(un[0],un[1])},this):gn&&Object.getOwnPropertyNames(gn).forEach(function(un){this.append(un,gn[un])},this)}function en(gn){if(gn.bodyUsed)return Promise.reject(new TypeError("Already read"));gn.bodyUsed=!0}function tn(gn){return new Promise(function(un,Un){gn.onload=function(){un(gn.result)},gn.onerror=function(){Un(gn.error)}})}function ln(gn){var un=new FileReader,Un=tn(un);return un.readAsArrayBuffer(gn),Un}function nn(gn){if(gn.slice)return gn.slice(0);var un=new Uint8Array(gn.byteLength);return un.set(new Uint8Array(gn)),un.buffer}function sn(){return this.bodyUsed=!1,this._initBody=function(gn){var un;this._bodyInit=gn,gn?typeof gn=="string"?this._bodyText=gn:Qt&&Blob.prototype.isPrototypeOf(gn)?this._bodyBlob=gn:Bt&&FormData.prototype.isPrototypeOf(gn)?this._bodyFormData=gn:Ut&&URLSearchParams.prototype.isPrototypeOf(gn)?this._bodyText=gn.toString():Vt&&Qt&&(un=gn)&&DataView.prototype.isPrototypeOf(un)?(this._bodyArrayBuffer=nn(gn.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Vt&&(ArrayBuffer.prototype.isPrototypeOf(gn)||Xt(gn))?this._bodyArrayBuffer=nn(gn):this._bodyText=gn=Object.prototype.toString.call(gn):this._bodyText="",this.headers.get("content-type")||(typeof gn=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Ut&&URLSearchParams.prototype.isPrototypeOf(gn)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Qt&&(this.blob=function(){var gn=en(this);if(gn)return gn;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?en(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(ln)}),this.text=function(){var gn,un,Un,_n=en(this);if(_n)return _n;if(this._bodyBlob)return gn=this._bodyBlob,un=new FileReader,Un=tn(un),un.readAsText(gn),Un;if(this._bodyArrayBuffer)return Promise.resolve(function(vn){for(var pn=new Uint8Array(vn),Rn=new Array(pn.length),Sn=0;Sn-1?_n:Un),this.mode=un.mode||this.mode||null,this.signal=un.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&vn)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(vn)}function Qn(gn){var un=new FormData;return gn.trim().split("&").forEach(function(Un){if(Un){var _n=Un.split("="),vn=_n.shift().replace(/\+/g," "),pn=_n.join("=").replace(/\+/g," ");un.append(decodeURIComponent(vn),decodeURIComponent(pn))}}),un}function En(gn,un){un||(un={}),this.type="default",this.status=un.status===void 0?200:un.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in un?un.statusText:"OK",this.headers=new Gt(un.headers),this.url=un.url||"",this._initBody(gn)}dn.prototype.clone=function(){return new dn(this,{body:this._bodyInit})},sn.call(dn.prototype),sn.call(En.prototype),En.prototype.clone=function(){return new En(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Gt(this.headers),url:this.url})},En.error=function(){var gn=new En(null,{status:0,statusText:""});return gn.type="error",gn};var an=[301,302,303,307,308];En.redirect=function(gn,un){if(an.indexOf(un)===-1)throw new RangeError("Invalid status code");return new En(null,{status:un,headers:{location:gn}})},ot.DOMException=it.DOMException;try{new ot.DOMException}catch{ot.DOMException=function(un,Un){this.message=un,this.name=Un;var _n=Error(un);this.stack=_n.stack},ot.DOMException.prototype=Object.create(Error.prototype),ot.DOMException.prototype.constructor=ot.DOMException}function rn(gn,un){return new Promise(function(Un,_n){var vn=new dn(gn,un);if(vn.signal&&vn.signal.aborted)return _n(new ot.DOMException("Aborted","AbortError"));var pn=new XMLHttpRequest;function Rn(){pn.abort()}pn.onload=function(){var Sn,fn,cn={status:pn.status,statusText:pn.statusText,headers:(Sn=pn.getAllResponseHeaders()||"",fn=new Gt,Sn.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(Vn){var Mn=Vn.split(":"),Zn=Mn.shift().trim();if(Zn){var In=Mn.join(":").trim();fn.append(Zn,In)}}),fn)};cn.url="responseURL"in pn?pn.responseURL:cn.headers.get("X-Request-URL");var bn="response"in pn?pn.response:pn.responseText;Un(new En(bn,cn))},pn.onerror=function(){_n(new TypeError("Network request failed"))},pn.ontimeout=function(){_n(new TypeError("Network request failed"))},pn.onabort=function(){_n(new ot.DOMException("Aborted","AbortError"))},pn.open(vn.method,vn.url,!0),vn.credentials==="include"?pn.withCredentials=!0:vn.credentials==="omit"&&(pn.withCredentials=!1),"responseType"in pn&&Qt&&(pn.responseType="blob"),vn.headers.forEach(function(Sn,fn){pn.setRequestHeader(fn,Sn)}),vn.signal&&(vn.signal.addEventListener("abort",Rn),pn.onreadystatechange=function(){pn.readyState===4&&vn.signal.removeEventListener("abort",Rn)}),pn.send(vn._bodyInit===void 0?null:vn._bodyInit)})}rn.polyfill=!0,it.fetch||(it.fetch=rn,it.Headers=Gt,it.Request=dn,it.Response=En),ot.Headers=Gt,ot.Request=dn,ot.Response=En,ot.fetch=rn})({})})(nt),delete nt.fetch.polyfill,(tt=nt.fetch).default=nt.fetch,tt.fetch=nt.fetch,tt.Headers=nt.Headers,tt.Request=nt.Request,tt.Response=nt.Response,et.exports=tt},function(et,tt,nt){(function(it){const ot=nt(210),Ut=nt(52),Ft=(Qt,Bt,Vt)=>({from:Ft,EnvVarError:nt(52),get:function(Wt){if(!Wt)return Qt;if(arguments.length>1)throw new Ut("It looks like you passed more than one argument to env.get(). Since env-var@6.0.0 this is no longer supported. To set a default value use env.get(TARGET).default(DEFAULT)");return ot(Qt,Wt,Bt||{},Vt||function(){})},accessors:nt(94),logger:nt(224)(console.log,Qt.NODE_ENV)});et.exports=Ft(it.env)}).call(this,nt(2))},function(et,tt,nt){var it=nt(13),ot=nt(73),Ut=nt(3).LEVEL,Ft=et.exports=function(){var Qt=this,Bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ot.call(this,{objectMode:!0,highWaterMark:Bt.highWaterMark}),this.format=Bt.format,this.level=Bt.level,this.handleExceptions=Bt.handleExceptions,this.silent=Bt.silent,Bt.log&&(this.log=Bt.log),Bt.logv&&(this.logv=Bt.logv),Bt.close&&(this.close=Bt.close),this.once("pipe",function(Vt){Qt.levels=Vt.levels,Qt.parent=Vt}),this.once("unpipe",function(Vt){Vt===Qt.parent&&(Qt.parent=null,Qt.close&&Qt.close())})};it.inherits(Ft,ot),Ft.prototype._write=function(Qt,Bt,Vt){if(this.silent||Qt.exception===!0&&!this.handleExceptions)return Vt(null);var Wt=this.level||this.parent&&this.parent.level;if(!Wt||this.levels[Wt]>=this.levels[Qt[Ut]]){if(Qt&&!this.format)return this.log(Qt,Vt);var Xt=void 0,Zt=void 0;try{Zt=this.format.transform(Object.assign({},Qt),this.format.options)}catch(Yt){Xt=Yt}if(Xt||!Zt){if(Vt(),Xt)throw Xt;return}return this.log(Zt,Vt)}return Vt(null)},Ft.prototype._writev=function(Qt,Bt){if(this.logv){var Vt=Qt.filter(this._accept,this);return Vt.length?this.logv(Vt,Bt):Bt(null)}for(var Wt=0;Wt=this.levels[Bt[Ut]])||!this.handleExceptions&&Bt.exception===!0)},Ft.prototype._nop=function(){}},function(et,tt,nt){(function(it){const ot=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Ut=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new Bt}abort(){this.signal.dispatchEvent("abort")}},Ft=typeof AbortSignal=="function",Qt=typeof Ut.AbortSignal=="function",Bt=Ft?AbortSignal:Qt?Ut.AbortController:class{constructor(){this.aborted=!1,this._listeners=[]}dispatchEvent(sn){if(sn==="abort"){this.aborted=!0;const Kt={type:sn,target:this};this.onabort(Kt),this._listeners.forEach(dn=>dn(Kt),this)}}onabort(){}addEventListener(sn,Kt){sn==="abort"&&this._listeners.push(Kt)}removeEventListener(sn,Kt){sn==="abort"&&(this._listeners=this._listeners.filter(dn=>dn!==Kt))}},Vt=new Set,Wt=(sn,Kt)=>{const dn=`LRU_CACHE_OPTION_${sn}`;Yt(dn)&&Mt(dn,`${sn} option`,`options.${Kt}`,nn)},Xt=(sn,Kt)=>{const dn=`LRU_CACHE_METHOD_${sn}`;if(Yt(dn)){const{prototype:Qn}=nn,{get:En}=Object.getOwnPropertyDescriptor(Qn,sn);Mt(dn,`${sn} method`,`cache.${Kt}()`,En)}},Zt=(...sn)=>{typeof it=="object"&&it&&typeof it.emitWarning=="function"?it.emitWarning(...sn):console.error(...sn)},Yt=sn=>!Vt.has(sn),Mt=(sn,Kt,dn,Qn)=>{Vt.add(sn),Zt(`The ${Kt} is deprecated. Please use ${dn} instead.`,"DeprecationWarning",sn,Qn)},Gt=sn=>sn&&sn===Math.floor(sn)&&sn>0&&isFinite(sn),en=sn=>Gt(sn)?sn<=Math.pow(2,8)?Uint8Array:sn<=Math.pow(2,16)?Uint16Array:sn<=Math.pow(2,32)?Uint32Array:sn<=Number.MAX_SAFE_INTEGER?tn:null:null;class tn extends Array{constructor(Kt){super(Kt),this.fill(0)}}class ln{constructor(Kt){if(Kt===0)return[];const dn=en(Kt);this.heap=new dn(Kt),this.length=0}push(Kt){this.heap[this.length++]=Kt}pop(){return this.heap[--this.length]}}class nn{constructor(Kt={}){const{max:dn=0,ttl:Qn,ttlResolution:En=1,ttlAutopurge:an,updateAgeOnGet:rn,updateAgeOnHas:gn,allowStale:un,dispose:Un,disposeAfter:_n,noDisposeOnSet:vn,noUpdateTTL:pn,maxSize:Rn=0,maxEntrySize:Sn=0,sizeCalculation:fn,fetchMethod:cn,fetchContext:bn,noDeleteOnFetchRejection:Vn,noDeleteOnStaleGet:Mn}=Kt,{length:Zn,maxAge:In,stale:Cn}=Kt instanceof nn?{}:Kt;if(dn!==0&&!Gt(dn))throw new TypeError("max option must be a nonnegative integer");const kn=dn?en(dn):Array;if(!kn)throw new Error("invalid max value: "+dn);if(this.max=dn,this.maxSize=Rn,this.maxEntrySize=Sn||this.maxSize,this.sizeCalculation=fn||Zn,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=cn||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=bn,!this.fetchMethod&&bn!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(dn).fill(null),this.valList=new Array(dn).fill(null),this.next=new kn(dn),this.prev=new kn(dn),this.head=0,this.tail=0,this.free=new ln(dn),this.initialFill=1,this.size=0,typeof Un=="function"&&(this.dispose=Un),typeof _n=="function"?(this.disposeAfter=_n,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!vn,this.noUpdateTTL=!!pn,this.noDeleteOnFetchRejection=!!Vn,this.maxEntrySize!==0){if(this.maxSize!==0&&!Gt(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!Gt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!un||!!Cn,this.noDeleteOnStaleGet=!!Mn,this.updateAgeOnGet=!!rn,this.updateAgeOnHas=!!gn,this.ttlResolution=Gt(En)||En===0?En:1,this.ttlAutopurge=!!an,this.ttl=Qn||In||0,this.ttl){if(!Gt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const hn="LRU_CACHE_UNBOUNDED";Yt(hn)&&(Vt.add(hn),Zt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",hn,nn))}Cn&&Wt("stale","allowStale"),In&&Wt("maxAge","ttl"),Zn&&Wt("length","sizeCalculation")}getRemainingTTL(Kt){return this.has(Kt,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new tn(this.max),this.starts=new tn(this.max),this.setItemTTL=(Qn,En,an=ot.now())=>{if(this.starts[Qn]=En!==0?an:0,this.ttls[Qn]=En,En!==0&&this.ttlAutopurge){const rn=setTimeout(()=>{this.isStale(Qn)&&this.delete(this.keyList[Qn])},En+1);rn.unref&&rn.unref()}},this.updateItemAge=Qn=>{this.starts[Qn]=this.ttls[Qn]!==0?ot.now():0};let Kt=0;const dn=()=>{const Qn=ot.now();if(this.ttlResolution>0){Kt=Qn;const En=setTimeout(()=>Kt=0,this.ttlResolution);En.unref&&En.unref()}return Qn};this.getRemainingTTL=Qn=>{const En=this.keyMap.get(Qn);return En===void 0?0:this.ttls[En]===0||this.starts[En]===0?1/0:this.starts[En]+this.ttls[En]-(Kt||dn())},this.isStale=Qn=>this.ttls[Qn]!==0&&this.starts[Qn]!==0&&(Kt||dn())-this.starts[Qn]>this.ttls[Qn]}updateItemAge(Kt){}setItemTTL(Kt,dn,Qn){}isStale(Kt){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new tn(this.max),this.removeItemSize=Kt=>{this.calculatedSize-=this.sizes[Kt],this.sizes[Kt]=0},this.requireSize=(Kt,dn,Qn,En)=>{if(!Gt(Qn)){if(!En)throw new TypeError("invalid size value (must be positive integer)");if(typeof En!="function")throw new TypeError("sizeCalculation must be a function");if(Qn=En(dn,Kt),!Gt(Qn))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return Qn},this.addItemSize=(Kt,dn)=>{this.sizes[Kt]=dn;const Qn=this.maxSize-this.sizes[Kt];for(;this.calculatedSize>Qn;)this.evict(!0);this.calculatedSize+=this.sizes[Kt]}}removeItemSize(Kt){}addItemSize(Kt,dn){}requireSize(Kt,dn,Qn,En){if(Qn||En)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:Kt=this.allowStale}={}){if(this.size)for(let dn=this.tail;this.isValidIndex(dn)&&(!Kt&&this.isStale(dn)||(yield dn),dn!==this.head);)dn=this.prev[dn]}*rindexes({allowStale:Kt=this.allowStale}={}){if(this.size)for(let dn=this.head;this.isValidIndex(dn)&&(!Kt&&this.isStale(dn)||(yield dn),dn!==this.tail);)dn=this.next[dn]}isValidIndex(Kt){return this.keyMap.get(this.keyList[Kt])===Kt}*entries(){for(const Kt of this.indexes())yield[this.keyList[Kt],this.valList[Kt]]}*rentries(){for(const Kt of this.rindexes())yield[this.keyList[Kt],this.valList[Kt]]}*keys(){for(const Kt of this.indexes())yield this.keyList[Kt]}*rkeys(){for(const Kt of this.rindexes())yield this.keyList[Kt]}*values(){for(const Kt of this.indexes())yield this.valList[Kt]}*rvalues(){for(const Kt of this.rindexes())yield this.valList[Kt]}[Symbol.iterator](){return this.entries()}find(Kt,dn={}){for(const Qn of this.indexes())if(Kt(this.valList[Qn],this.keyList[Qn],this))return this.get(this.keyList[Qn],dn)}forEach(Kt,dn=this){for(const Qn of this.indexes())Kt.call(dn,this.valList[Qn],this.keyList[Qn],this)}rforEach(Kt,dn=this){for(const Qn of this.rindexes())Kt.call(dn,this.valList[Qn],this.keyList[Qn],this)}get prune(){return Xt("prune","purgeStale"),this.purgeStale}purgeStale(){let Kt=!1;for(const dn of this.rindexes({allowStale:!0}))this.isStale(dn)&&(this.delete(this.keyList[dn]),Kt=!0);return Kt}dump(){const Kt=[];for(const dn of this.indexes({allowStale:!0})){const Qn=this.keyList[dn],En=this.valList[dn],an={value:this.isBackgroundFetch(En)?En.__staleWhileFetching:En};if(this.ttls){an.ttl=this.ttls[dn];const rn=ot.now()-this.starts[dn];an.start=Math.floor(Date.now()-rn)}this.sizes&&(an.size=this.sizes[dn]),Kt.unshift([Qn,an])}return Kt}load(Kt){this.clear();for(const[dn,Qn]of Kt){if(Qn.start){const En=Date.now()-Qn.start;Qn.start=ot.now()-En}this.set(dn,Qn.value,Qn)}}dispose(Kt,dn,Qn){}set(Kt,dn,{ttl:Qn=this.ttl,start:En,noDisposeOnSet:an=this.noDisposeOnSet,size:rn=0,sizeCalculation:gn=this.sizeCalculation,noUpdateTTL:un=this.noUpdateTTL}={}){if(rn=this.requireSize(Kt,dn,rn,gn),this.maxEntrySize&&rn>this.maxEntrySize)return this;let Un=this.size===0?void 0:this.keyMap.get(Kt);if(Un===void 0)Un=this.newIndex(),this.keyList[Un]=Kt,this.valList[Un]=dn,this.keyMap.set(Kt,Un),this.next[this.tail]=Un,this.prev[Un]=this.tail,this.tail=Un,this.size++,this.addItemSize(Un,rn),un=!1;else{const _n=this.valList[Un];dn!==_n&&(this.isBackgroundFetch(_n)?_n.__abortController.abort():an||(this.dispose(_n,Kt,"set"),this.disposeAfter&&this.disposed.push([_n,Kt,"set"])),this.removeItemSize(Un),this.valList[Un]=dn,this.addItemSize(Un,rn)),this.moveToTail(Un)}if(Qn===0||this.ttl!==0||this.ttls||this.initializeTTLTracking(),un||this.setItemTTL(Un,Qn,En),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const Kt=this.valList[this.head];return this.evict(!0),Kt}}evict(Kt){const dn=this.head,Qn=this.keyList[dn],En=this.valList[dn];return this.isBackgroundFetch(En)?En.__abortController.abort():(this.dispose(En,Qn,"evict"),this.disposeAfter&&this.disposed.push([En,Qn,"evict"])),this.removeItemSize(dn),Kt&&(this.keyList[dn]=null,this.valList[dn]=null,this.free.push(dn)),this.head=this.next[dn],this.keyMap.delete(Qn),this.size--,dn}has(Kt,{updateAgeOnHas:dn=this.updateAgeOnHas}={}){const Qn=this.keyMap.get(Kt);return Qn!==void 0&&!this.isStale(Qn)&&(dn&&this.updateItemAge(Qn),!0)}peek(Kt,{allowStale:dn=this.allowStale}={}){const Qn=this.keyMap.get(Kt);if(Qn!==void 0&&(dn||!this.isStale(Qn))){const En=this.valList[Qn];return this.isBackgroundFetch(En)?En.__staleWhileFetching:En}}backgroundFetch(Kt,dn,Qn,En){const an=dn===void 0?void 0:this.valList[dn];if(this.isBackgroundFetch(an))return an;const rn=new Ut,gn={signal:rn.signal,options:Qn,context:En},un=new Promise(Un=>Un(this.fetchMethod(Kt,an,gn))).then(Un=>(rn.signal.aborted||this.set(Kt,Un,gn.options),Un),Un=>{if(this.valList[dn]===un&&(!Qn.noDeleteOnFetchRejection||un.__staleWhileFetching===void 0?this.delete(Kt):this.valList[dn]=un.__staleWhileFetching),un.__returned===un)throw Un});return un.__abortController=rn,un.__staleWhileFetching=an,un.__returned=null,dn===void 0?(this.set(Kt,un,gn.options),dn=this.keyMap.get(Kt)):this.valList[dn]=un,un}isBackgroundFetch(Kt){return Kt&&typeof Kt=="object"&&typeof Kt.then=="function"&&Object.prototype.hasOwnProperty.call(Kt,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(Kt,"__returned")&&(Kt.__returned===Kt||Kt.__returned===null)}async fetch(Kt,{allowStale:dn=this.allowStale,updateAgeOnGet:Qn=this.updateAgeOnGet,noDeleteOnStaleGet:En=this.noDeleteOnStaleGet,ttl:an=this.ttl,noDisposeOnSet:rn=this.noDisposeOnSet,size:gn=0,sizeCalculation:un=this.sizeCalculation,noUpdateTTL:Un=this.noUpdateTTL,noDeleteOnFetchRejection:_n=this.noDeleteOnFetchRejection,fetchContext:vn=this.fetchContext,forceRefresh:pn=!1}={}){if(!this.fetchMethod)return this.get(Kt,{allowStale:dn,updateAgeOnGet:Qn,noDeleteOnStaleGet:En});const Rn={allowStale:dn,updateAgeOnGet:Qn,noDeleteOnStaleGet:En,ttl:an,noDisposeOnSet:rn,size:gn,sizeCalculation:un,noUpdateTTL:Un,noDeleteOnFetchRejection:_n};let Sn=this.keyMap.get(Kt);if(Sn===void 0){const fn=this.backgroundFetch(Kt,Sn,Rn,vn);return fn.__returned=fn}{const fn=this.valList[Sn];if(this.isBackgroundFetch(fn))return dn&&fn.__staleWhileFetching!==void 0?fn.__staleWhileFetching:fn.__returned=fn;if(!pn&&!this.isStale(Sn))return this.moveToTail(Sn),Qn&&this.updateItemAge(Sn),fn;const cn=this.backgroundFetch(Kt,Sn,Rn,vn);return dn&&cn.__staleWhileFetching!==void 0?cn.__staleWhileFetching:cn.__returned=cn}}get(Kt,{allowStale:dn=this.allowStale,updateAgeOnGet:Qn=this.updateAgeOnGet,noDeleteOnStaleGet:En=this.noDeleteOnStaleGet}={}){const an=this.keyMap.get(Kt);if(an!==void 0){const rn=this.valList[an],gn=this.isBackgroundFetch(rn);return this.isStale(an)?gn?dn?rn.__staleWhileFetching:void 0:(En||this.delete(Kt),dn?rn:void 0):gn?void 0:(this.moveToTail(an),Qn&&this.updateItemAge(an),rn)}}connect(Kt,dn){this.prev[dn]=Kt,this.next[Kt]=dn}moveToTail(Kt){Kt!==this.tail&&(Kt===this.head?this.head=this.next[Kt]:this.connect(this.prev[Kt],this.next[Kt]),this.connect(this.tail,Kt),this.tail=Kt)}get del(){return Xt("del","delete"),this.delete}delete(Kt){let dn=!1;if(this.size!==0){const Qn=this.keyMap.get(Kt);if(Qn!==void 0)if(dn=!0,this.size===1)this.clear();else{this.removeItemSize(Qn);const En=this.valList[Qn];this.isBackgroundFetch(En)?En.__abortController.abort():(this.dispose(En,Kt,"delete"),this.disposeAfter&&this.disposed.push([En,Kt,"delete"])),this.keyMap.delete(Kt),this.keyList[Qn]=null,this.valList[Qn]=null,Qn===this.tail?this.tail=this.prev[Qn]:Qn===this.head?this.head=this.next[Qn]:(this.next[this.prev[Qn]]=this.next[Qn],this.prev[this.next[Qn]]=this.prev[Qn]),this.size--,this.free.push(Qn)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return dn}clear(){for(const Kt of this.rindexes({allowStale:!0})){const dn=this.valList[Kt];if(this.isBackgroundFetch(dn))dn.__abortController.abort();else{const Qn=this.keyList[Kt];this.dispose(dn,Qn,"delete"),this.disposeAfter&&this.disposed.push([dn,Qn,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return Xt("reset","clear"),this.clear}get length(){return((Kt,dn)=>{const Qn=`LRU_CACHE_PROPERTY_${Kt}`;if(Yt(Qn)){const{prototype:En}=nn,{get:an}=Object.getOwnPropertyDescriptor(En,Kt);Mt(Qn,`${Kt} property`,`cache.${dn}`,an)}})("length","size"),this.size}static get AbortController(){return Ut}static get AbortSignal(){return Bt}}et.exports=nn}).call(this,nt(2))},function(et,tt,nt){var it=nt(41).Colorizer;et.exports=function(ot){return it.addColors(ot.colors||ot),ot}},function(et,tt,nt){var it={};et.exports=it,it.themes={};var ot=nt(13),Ut=it.styles=nt(108),Ft=Object.defineProperties,Qt=new RegExp(/[\r\n]+/g);it.supportsColor=nt(109).supportsColor,it.enabled===void 0&&(it.enabled=it.supportsColor()!==!1),it.enable=function(){it.enabled=!0},it.disable=function(){it.enabled=!1},it.stripColors=it.strip=function(en){return(""+en).replace(/\x1B\[\d+m/g,"")},it.stylize=function(en,tn){return it.enabled?Ut[tn].open+en+Ut[tn].close:en+""};var Bt=/[|\\{}()[\]^$+*?.]/g;function Vt(en){var tn=function ln(){return Yt.apply(ln,arguments)};return tn._styles=en,tn.__proto__=Zt,tn}var Wt,Xt=(Wt={},Ut.grey=Ut.gray,Object.keys(Ut).forEach(function(en){Ut[en].closeRe=new RegExp(function(tn){if(typeof tn!="string")throw new TypeError("Expected a string");return tn.replace(Bt,"\\$&")}(Ut[en].close),"g"),Wt[en]={get:function(){return Vt(this._styles.concat(en))}}}),Wt),Zt=Ft(function(){},Xt);function Yt(){var en=Array.prototype.slice.call(arguments),tn=en.map(function(dn){return dn!==void 0&&dn.constructor===String?dn:ot.inspect(dn)}).join(" ");if(!it.enabled||!tn)return tn;for(var ln=tn.indexOf(` -`)!=-1,nn=this._styles,sn=nn.length;sn--;){var Kt=Ut[nn[sn]];tn=Kt.open+tn.replace(Kt.closeRe,Kt.open)+Kt.close,ln&&(tn=tn.replace(Qt,function(dn){return Kt.close+dn+Kt.open}))}return tn}it.setTheme=function(en){if(typeof en!="string")for(var tn in en)(function(ln){it[ln]=function(nn){if(typeof en[ln]=="object"){var sn=nn;for(var Kt in en[ln])sn=it[en[ln][Kt]](sn);return sn}return it[en[ln]](nn)}})(tn);else console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));")};var Mt=function(en,tn){var ln=tn.split("");return(ln=ln.map(en)).join("")};for(var Gt in it.trap=nt(111),it.zalgo=nt(112),it.maps={},it.maps.america=nt(113)(it),it.maps.zebra=nt(114)(it),it.maps.rainbow=nt(115)(it),it.maps.random=nt(116)(it),it.maps)(function(en){it[en]=function(tn){return Mt(it.maps[en],tn)}})(Gt);Ft(it,function(){var en={};return Object.keys(Xt).forEach(function(tn){en[tn]={get:function(){return Vt([tn])}}}),en}())},function(et,tt){et.exports=function(nt){return nt&&typeof nt=="object"&&typeof nt.copy=="function"&&typeof nt.fill=="function"&&typeof nt.readUInt8=="function"}},function(et,tt){typeof Object.create=="function"?et.exports=function(nt,it){nt.super_=it,nt.prototype=Object.create(it.prototype,{constructor:{value:nt,enumerable:!1,writable:!0,configurable:!0}})}:et.exports=function(nt,it){nt.super_=it;var ot=function(){};ot.prototype=it.prototype,nt.prototype=new ot,nt.prototype.constructor=nt}},function(et,tt){var nt={};et.exports=nt;var it={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(it).forEach(function(ot){var Ut=it[ot],Ft=nt[ot]=[];Ft.open="\x1B["+Ut[0]+"m",Ft.close="\x1B["+Ut[1]+"m"})},function(et,tt,nt){(function(it){var ot=nt(18),Ut=nt(110),Ft=it.env,Qt=void 0;function Bt(Vt){return function(Wt){return Wt!==0&&{level:Wt,hasBasic:!0,has256:Wt>=2,has16m:Wt>=3}}(function(Wt){if(Qt===!1)return 0;if(Ut("color=16m")||Ut("color=full")||Ut("color=truecolor"))return 3;if(Ut("color=256"))return 2;if(Wt&&!Wt.isTTY&&Qt!==!0)return 0;var Xt=Qt?1:0;if(it.platform==="win32"){var Zt=ot.release().split(".");return Number(it.versions.node.split(".")[0])>=8&&Number(Zt[0])>=10&&Number(Zt[2])>=10586?Number(Zt[2])>=14931?3:2:1}return"CI"in Ft?["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(Yt){return Yt in Ft})||Ft.CI_NAME==="codeship"?1:Xt:"TEAMCITY_VERSION"in Ft?/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Ft.TEAMCITY_VERSION)?1:0:"TERM_PROGRAM"in Ft?parseInt("3.4.19".split(".")[0],10)>=3?3:2:/-256(color)?$/i.test("xterm-256color")?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test("xterm-256color")||"COLORTERM"in Ft?1:Xt}(Vt))}Ut("no-color")||Ut("no-colors")||Ut("color=false")?Qt=!1:(Ut("color")||Ut("colors")||Ut("color=true")||Ut("color=always"))&&(Qt=!0),"FORCE_COLOR"in Ft&&(Qt=Ft.FORCE_COLOR.length===0||parseInt(Ft.FORCE_COLOR,10)!==0),et.exports={supportsColor:Bt,stdout:Bt(it.stdout),stderr:Bt(it.stderr)}}).call(this,nt(2))},function(et,tt,nt){(function(it){et.exports=function(ot,Ut){var Ft=(Ut=Ut||it.argv).indexOf("--"),Qt=/^-{1,2}/.test(ot)?"":"--",Bt=Ut.indexOf(Qt+ot);return Bt!==-1&&(Ft===-1||Bt0&&arguments[0]!==void 0?arguments[0]:{};it(this,Xt),Mt.levels||(Mt.levels=Bt.npm.levels),this.colorizer=new Ut(Mt),this.padder=new Ft(Mt),this.options=Mt}var Zt,Yt;return Zt=Xt,(Yt=[{key:"transform",value:function(Mt,Gt){return this.colorizer.transform(this.padder.transform(Mt,Gt),Gt),Mt[Vt]="".concat(Mt.level,":").concat(Mt.message),Mt}}])&&ot(Zt.prototype,Yt),Xt}();et.exports=function(Xt){return new Wt(Xt)},et.exports.Format=Wt},function(et,tt,nt){var it=nt(12);function ot(Ft){if(Ft.every(Ut))return function(Qt){for(var Bt=Qt,Vt=0;Vt1&&arguments[1]!==void 0?arguments[1]:{};return Bt[Ut]=(Vt.stable?Ft.stableStringify:Ft)(Bt,Vt.replacer||Qt,Vt.space),Bt})}).call(this,nt(5).Buffer)},function(et,tt,nt){tt.byteLength=function(Xt){var Zt=Vt(Xt),Yt=Zt[0],Mt=Zt[1];return 3*(Yt+Mt)/4-Mt},tt.toByteArray=function(Xt){for(var Zt,Yt=Vt(Xt),Mt=Yt[0],Gt=Yt[1],en=new Ut(function(sn,Kt,dn){return 3*(Kt+dn)/4-dn}(0,Mt,Gt)),tn=0,ln=Gt>0?Mt-4:Mt,nn=0;nn>16&255,en[tn++]=Zt>>8&255,en[tn++]=255&Zt;return Gt===2&&(Zt=ot[Xt.charCodeAt(nn)]<<2|ot[Xt.charCodeAt(nn+1)]>>4,en[tn++]=255&Zt),Gt===1&&(Zt=ot[Xt.charCodeAt(nn)]<<10|ot[Xt.charCodeAt(nn+1)]<<4|ot[Xt.charCodeAt(nn+2)]>>2,en[tn++]=Zt>>8&255,en[tn++]=255&Zt),en},tt.fromByteArray=function(Xt){for(var Zt,Yt=Xt.length,Mt=Yt%3,Gt=[],en=0,tn=Yt-Mt;entn?tn:en+16383));return Mt===1?(Zt=Xt[Yt-1],Gt.push(it[Zt>>2]+it[Zt<<4&63]+"==")):Mt===2&&(Zt=(Xt[Yt-2]<<8)+Xt[Yt-1],Gt.push(it[Zt>>10]+it[Zt>>4&63]+it[Zt<<2&63]+"=")),Gt.join("")};for(var it=[],ot=[],Ut=typeof Uint8Array<"u"?Uint8Array:Array,Ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qt=0,Bt=Ft.length;Qt0)throw new Error("Invalid string. Length must be a multiple of 4");var Yt=Xt.indexOf("=");return Yt===-1&&(Yt=Zt),[Yt,Yt===Zt?0:4-Yt%4]}function Wt(Xt,Zt,Yt){for(var Mt,Gt,en=[],tn=Zt;tn>18&63]+it[Gt>>12&63]+it[Gt>>6&63]+it[63&Gt]);return en.join("")}ot["-".charCodeAt(0)]=62,ot["_".charCodeAt(0)]=63},function(et,tt){tt.read=function(nt,it,ot,Ut,Ft){var Qt,Bt,Vt=8*Ft-Ut-1,Wt=(1<>1,Zt=-7,Yt=ot?Ft-1:0,Mt=ot?-1:1,Gt=nt[it+Yt];for(Yt+=Mt,Qt=Gt&(1<<-Zt)-1,Gt>>=-Zt,Zt+=Vt;Zt>0;Qt=256*Qt+nt[it+Yt],Yt+=Mt,Zt-=8);for(Bt=Qt&(1<<-Zt)-1,Qt>>=-Zt,Zt+=Ut;Zt>0;Bt=256*Bt+nt[it+Yt],Yt+=Mt,Zt-=8);if(Qt===0)Qt=1-Xt;else{if(Qt===Wt)return Bt?NaN:1/0*(Gt?-1:1);Bt+=Math.pow(2,Ut),Qt-=Xt}return(Gt?-1:1)*Bt*Math.pow(2,Qt-Ut)},tt.write=function(nt,it,ot,Ut,Ft,Qt){var Bt,Vt,Wt,Xt=8*Qt-Ft-1,Zt=(1<>1,Mt=Ft===23?Math.pow(2,-24)-Math.pow(2,-77):0,Gt=Ut?0:Qt-1,en=Ut?1:-1,tn=it<0||it===0&&1/it<0?1:0;for(it=Math.abs(it),isNaN(it)||it===1/0?(Vt=isNaN(it)?1:0,Bt=Zt):(Bt=Math.floor(Math.log(it)/Math.LN2),it*(Wt=Math.pow(2,-Bt))<1&&(Bt--,Wt*=2),(it+=Bt+Yt>=1?Mt/Wt:Mt*Math.pow(2,1-Yt))*Wt>=2&&(Bt++,Wt/=2),Bt+Yt>=Zt?(Vt=0,Bt=Zt):Bt+Yt>=1?(Vt=(it*Wt-1)*Math.pow(2,Ft),Bt+=Yt):(Vt=it*Math.pow(2,Yt-1)*Math.pow(2,Ft),Bt=0));Ft>=8;nt[ot+Gt]=255&Vt,Gt+=en,Vt/=256,Ft-=8);for(Bt=Bt<0;nt[ot+Gt]=255&Bt,Gt+=en,Bt/=256,Xt-=8);nt[ot+Gt-en]|=128*tn}},function(et,tt,nt){var it=nt(12);et.exports=it(function(ot,Ut){return Ut.message?(ot.message="[".concat(Ut.label,"] ").concat(ot.message),ot):(ot.label=Ut.label,ot)})},function(et,tt,nt){var it=nt(12),ot=nt(3).MESSAGE,Ut=nt(35);et.exports=it(function(Ft){var Qt={};return Ft.message&&(Qt["@message"]=Ft.message,delete Ft.message),Ft.timestamp&&(Qt["@timestamp"]=Ft.timestamp,delete Ft.timestamp),Qt["@fields"]=Ft,Ft[ot]=Ut(Qt),Ft})},function(et,tt,nt){var it=nt(12);function ot(Ft,Qt,Bt){var Vt,Wt,Xt,Zt=Qt.reduce(function(Mt,Gt){return Mt[Gt]=Ft[Gt],delete Ft[Gt],Mt},{}),Yt=Object.keys(Ft).reduce(function(Mt,Gt){return Mt[Gt]=Ft[Gt],delete Ft[Gt],Mt},{});return Object.assign(Ft,Zt,(Xt=Yt,(Wt=Bt)in(Vt={})?Object.defineProperty(Vt,Wt,{value:Xt,enumerable:!0,configurable:!0,writable:!0}):Vt[Wt]=Xt,Vt)),Ft}function Ut(Ft,Qt,Bt){return Ft[Bt]=Qt.reduce(function(Vt,Wt){return Vt[Wt]=Ft[Wt],delete Ft[Wt],Vt},{}),Ft}et.exports=it(function(Ft){var Qt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Bt="metadata";Qt.key&&(Bt=Qt.key);var Vt=[];return Qt.fillExcept||Qt.fillWith||(Vt.push("level"),Vt.push("message")),Qt.fillExcept&&(Vt=Qt.fillExcept),Vt.length>0?ot(Ft,Vt,Bt):Qt.fillWith?Ut(Ft,Qt.fillWith,Bt):Ft})},function(et,tt,nt){var it=nt(13).inspect,ot=nt(12),Ut=nt(3),Ft=Ut.LEVEL,Qt=Ut.MESSAGE,Bt=Ut.SPLAT;et.exports=ot(function(Vt){var Wt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Xt=Object.assign({},Vt);return delete Xt[Ft],delete Xt[Qt],delete Xt[Bt],Vt[Qt]=it(Xt,!1,Wt.depth||null,Wt.colorize),Vt})},function(et,tt,nt){function it(Ft,Qt){for(var Bt=0;BtXt.length)&&(Zt=Xt.length);for(var Yt=0,Mt=new Array(Zt);Yt1?en.splice(0):en,nn=ln.length;if(nn)for(var sn=0;sn1&&arguments[1]!==void 0?arguments[1]:{};return Ft.format&&(Ut.timestamp=typeof Ft.format=="function"?Ft.format():it.format(new Date,Ft.format)),Ut.timestamp||(Ut.timestamp=new Date().toISOString()),Ft.alias&&(Ut[Ft.alias]=Ut.timestamp),Ut})},function(et,tt,nt){nt.r(tt),nt.d(tt,"assign",function(){return Bt}),nt.d(tt,"format",function(){return rn}),nt.d(tt,"parse",function(){return gn}),nt.d(tt,"defaultI18n",function(){return Zt}),nt.d(tt,"setGlobalDateI18n",function(){return Mt}),nt.d(tt,"setGlobalDateMasks",function(){return an});var it=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,ot="[^\\s]+",Ut=/\[([^]*?)\]/gm;function Ft(Un,_n){for(var vn=[],pn=0,Rn=Un.length;pn-1?pn:null}};function Bt(Un){for(var _n=[],vn=1;vn3?0:(Un-Un%10!=10?1:0)*Un%10]}},Yt=Bt({},Zt),Mt=function(Un){return Yt=Bt(Yt,Un)},Gt=function(Un){return Un.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},en=function(Un,_n){for(_n===void 0&&(_n=2),Un=String(Un);Un.length<_n;)Un="0"+Un;return Un},tn={D:function(Un){return String(Un.getDate())},DD:function(Un){return en(Un.getDate())},Do:function(Un,_n){return _n.DoFn(Un.getDate())},d:function(Un){return String(Un.getDay())},dd:function(Un){return en(Un.getDay())},ddd:function(Un,_n){return _n.dayNamesShort[Un.getDay()]},dddd:function(Un,_n){return _n.dayNames[Un.getDay()]},M:function(Un){return String(Un.getMonth()+1)},MM:function(Un){return en(Un.getMonth()+1)},MMM:function(Un,_n){return _n.monthNamesShort[Un.getMonth()]},MMMM:function(Un,_n){return _n.monthNames[Un.getMonth()]},YY:function(Un){return en(String(Un.getFullYear()),4).substr(2)},YYYY:function(Un){return en(Un.getFullYear(),4)},h:function(Un){return String(Un.getHours()%12||12)},hh:function(Un){return en(Un.getHours()%12||12)},H:function(Un){return String(Un.getHours())},HH:function(Un){return en(Un.getHours())},m:function(Un){return String(Un.getMinutes())},mm:function(Un){return en(Un.getMinutes())},s:function(Un){return String(Un.getSeconds())},ss:function(Un){return en(Un.getSeconds())},S:function(Un){return String(Math.round(Un.getMilliseconds()/100))},SS:function(Un){return en(Math.round(Un.getMilliseconds()/10),2)},SSS:function(Un){return en(Un.getMilliseconds(),3)},a:function(Un,_n){return Un.getHours()<12?_n.amPm[0]:_n.amPm[1]},A:function(Un,_n){return Un.getHours()<12?_n.amPm[0].toUpperCase():_n.amPm[1].toUpperCase()},ZZ:function(Un){var _n=Un.getTimezoneOffset();return(_n>0?"-":"+")+en(100*Math.floor(Math.abs(_n)/60)+Math.abs(_n)%60,4)},Z:function(Un){var _n=Un.getTimezoneOffset();return(_n>0?"-":"+")+en(Math.floor(Math.abs(_n)/60),2)+":"+en(Math.abs(_n)%60,2)}},ln=function(Un){return+Un-1},nn=[null,"[1-9]\\d?"],sn=[null,ot],Kt=["isPm",ot,function(Un,_n){var vn=Un.toLowerCase();return vn===_n.amPm[0]?0:vn===_n.amPm[1]?1:null}],dn=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(Un){var _n=(Un+"").match(/([+-]|\d\d)/gi);if(_n){var vn=60*+_n[1]+parseInt(_n[2],10);return _n[0]==="+"?vn:-vn}return 0}],Qn={D:["day","[1-9]\\d?"],DD:["day","\\d\\d"],Do:["day","[1-9]\\d?"+ot,function(Un){return parseInt(Un,10)}],M:["month","[1-9]\\d?",ln],MM:["month","\\d\\d",ln],YY:["year","\\d\\d",function(Un){var _n=+(""+new Date().getFullYear()).substr(0,2);return+(""+(+Un>68?_n-1:_n)+Un)}],h:["hour","[1-9]\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","[1-9]\\d?"],HH:["hour","\\d\\d"],m:["minute","[1-9]\\d?"],mm:["minute","\\d\\d"],s:["second","[1-9]\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(Un){return 100*+Un}],SS:["millisecond","\\d\\d",function(Un){return 10*+Un}],SSS:["millisecond","\\d{3}"],d:nn,dd:nn,ddd:sn,dddd:sn,MMM:["month",ot,Qt("monthNamesShort")],MMMM:["month",ot,Qt("monthNames")],a:Kt,A:Kt,ZZ:dn,Z:dn},En={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},an=function(Un){return Bt(En,Un)},rn=function(Un,_n,vn){if(_n===void 0&&(_n=En.default),vn===void 0&&(vn={}),typeof Un=="number"&&(Un=new Date(Un)),Object.prototype.toString.call(Un)!=="[object Date]"||isNaN(Un.getTime()))throw new Error("Invalid Date pass to format");var pn=[];_n=(_n=En[_n]||_n).replace(Ut,function(Sn,fn){return pn.push(fn),"@@@"});var Rn=Bt(Bt({},Yt),vn);return(_n=_n.replace(it,function(Sn){return tn[Sn](Un,Rn)})).replace(/@@@/g,function(){return pn.shift()})};function gn(Un,_n,vn){if(vn===void 0&&(vn={}),typeof _n!="string")throw new Error("Invalid format in fecha parse");if(_n=En[_n]||_n,Un.length>1e3)return null;var pn={year:new Date().getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},Rn=[],Sn=[],fn=_n.replace(Ut,function(An,Pn){return Sn.push(Gt(Pn)),"@@@"}),cn={},bn={};fn=Gt(fn).replace(it,function(An){var Pn=Qn[An],jn=Pn[0],$n=Pn[1],pr=Pn[3];if(cn[jn])throw new Error("Invalid format. "+jn+" specified twice in format");return cn[jn]=!0,pr&&(bn[pr]=!0),Rn.push(Pn),"("+$n+")"}),Object.keys(bn).forEach(function(An){if(!cn[An])throw new Error("Invalid format. "+An+" is required in specified format")}),fn=fn.replace(/@@@/g,function(){return Sn.shift()});var Vn=Un.match(new RegExp(fn,"i"));if(!Vn)return null;for(var Mn=Bt(Bt({},Yt),vn),Zn=1;Zn","maintainers":["Jarrett Cruger ","Chris Alderson ","David Hyde "],"repository":{"type":"git","url":"https://github.com/winstonjs/winston.git"},"keywords":["winston","logger","logging","logs","sysadmin","bunyan","pino","loglevel","tools","json","stream"],"dependencies":{"async":"^3.1.0","@dabh/diagnostics":"^2.0.2","is-stream":"^2.0.0","logform":"^2.2.0","one-time":"^1.0.0","readable-stream":"^3.4.0","stack-trace":"0.0.x","triple-beam":"^1.3.0","winston-transport":"^4.4.0"},"devDependencies":{"@babel/cli":"^7.10.3","@babel/core":"^7.10.3","@babel/preset-env":"^7.10.3","@types/node":"^14.0.13","abstract-winston-transport":"^0.5.1","assume":"^2.2.0","colors":"^1.4.0","cross-spawn-async":"^2.2.5","eslint-config-populist":"^4.2.0","hock":"^1.4.1","mocha":"^8.0.1","nyc":"^15.1.0","rimraf":"^3.0.2","split2":"^3.1.1","std-mocks":"^1.0.1","through2":"^3.0.1","winston-compat":"^0.1.5"},"main":"./lib/winston","browser":"./dist/winston","types":"./index.d.ts","scripts":{"lint":"populist lib/*.js lib/winston/*.js lib/winston/**/*.js","pretest":"npm run lint","test":"nyc --reporter=text --reporter lcov npm run test:mocha","test:mocha":"mocha test/*.test.js test/**/*.test.js --exit","build":"./node_modules/.bin/rimraf dist && babel lib -d dist","prepublishOnly":"npm run build"},"engines":{"node":">= 6.4.0"},"license":"MIT"}')},function(et,tt,nt){Object.defineProperty(tt,"Console",{configurable:!0,enumerable:!0,get:function(){return nt(139)}}),Object.defineProperty(tt,"File",{configurable:!0,enumerable:!0,get:function(){return nt(148)}}),Object.defineProperty(tt,"Http",{configurable:!0,enumerable:!0,get:function(){return nt(188)}}),Object.defineProperty(tt,"Stream",{configurable:!0,enumerable:!0,get:function(){return nt(200)}})},function(et,tt,nt){(function(it){function ot(en){return(ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(tn){return typeof tn}:function(tn){return tn&&typeof Symbol=="function"&&tn.constructor===Symbol&&tn!==Symbol.prototype?"symbol":typeof tn})(en)}function Ut(en,tn){if(!(en instanceof tn))throw new TypeError("Cannot call a class as a function")}function Ft(en,tn){for(var ln=0;ln"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var ln,nn=Wt(en);if(tn){var sn=Wt(this).constructor;ln=Reflect.construct(nn,arguments,sn)}else ln=nn.apply(this,arguments);return Vt(this,ln)}}function Vt(en,tn){return!tn||ot(tn)!=="object"&&typeof tn!="function"?function(ln){if(ln===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ln}(en):tn}function Wt(en){return(Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(tn){return tn.__proto__||Object.getPrototypeOf(tn)})(en)}var Xt=nt(18),Zt=nt(3),Yt=Zt.LEVEL,Mt=Zt.MESSAGE,Gt=nt(20);et.exports=function(en){(function(Kt,dn){if(typeof dn!="function"&&dn!==null)throw new TypeError("Super expression must either be null or a function");Kt.prototype=Object.create(dn&&dn.prototype,{constructor:{value:Kt,writable:!0,configurable:!0}}),dn&&Qt(Kt,dn)})(sn,en);var tn,ln,nn=Bt(sn);function sn(){var Kt,dn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Ut(this,sn),(Kt=nn.call(this,dn)).name=dn.name||"console",Kt.stderrLevels=Kt._stringArrayToSet(dn.stderrLevels),Kt.consoleWarnLevels=Kt._stringArrayToSet(dn.consoleWarnLevels),Kt.eol=dn.eol||Xt.EOL,Kt.setMaxListeners(30),Kt}return tn=sn,(ln=[{key:"log",value:function(Kt,dn){var Qn=this;return it(function(){return Qn.emit("logged",Kt)}),this.stderrLevels[Kt[Yt]]?(console._stderr?console._stderr.write("".concat(Kt[Mt]).concat(this.eol)):console.error(Kt[Mt]),void(dn&&dn())):this.consoleWarnLevels[Kt[Yt]]?(console._stderr?console._stderr.write("".concat(Kt[Mt]).concat(this.eol)):console.warn(Kt[Mt]),void(dn&&dn())):(console._stdout?console._stdout.write("".concat(Kt[Mt]).concat(this.eol)):console.log(Kt[Mt]),void(dn&&dn()))}},{key:"_stringArrayToSet",value:function(Kt,dn){if(!Kt)return{};if(dn=dn||"Cannot make set from type other than Array of string elements",!Array.isArray(Kt))throw new Error(dn);return Kt.reduce(function(Qn,En){if(typeof En!="string")throw new Error(dn);return Qn[En]=!0,Qn},{})}}])&&Ft(tn.prototype,ln),sn}(Gt)}).call(this,nt(15).setImmediate)},function(et,tt,nt){(function(it,ot){(function(Ut,Ft){if(!Ut.setImmediate){var Qt,Bt,Vt,Wt,Xt,Zt=1,Yt={},Mt=!1,Gt=Ut.document,en=Object.getPrototypeOf&&Object.getPrototypeOf(Ut);en=en&&en.setTimeout?en:Ut,{}.toString.call(Ut.process)==="[object process]"?Qt=function(nn){ot.nextTick(function(){ln(nn)})}:function(){if(Ut.postMessage&&!Ut.importScripts){var nn=!0,sn=Ut.onmessage;return Ut.onmessage=function(){nn=!1},Ut.postMessage("","*"),Ut.onmessage=sn,nn}}()?(Wt="setImmediate$"+Math.random()+"$",Xt=function(nn){nn.source===Ut&&typeof nn.data=="string"&&nn.data.indexOf(Wt)===0&&ln(+nn.data.slice(Wt.length))},Ut.addEventListener?Ut.addEventListener("message",Xt,!1):Ut.attachEvent("onmessage",Xt),Qt=function(nn){Ut.postMessage(Wt+nn,"*")}):Ut.MessageChannel?((Vt=new MessageChannel).port1.onmessage=function(nn){ln(nn.data)},Qt=function(nn){Vt.port2.postMessage(nn)}):Gt&&"onreadystatechange"in Gt.createElement("script")?(Bt=Gt.documentElement,Qt=function(nn){var sn=Gt.createElement("script");sn.onreadystatechange=function(){ln(nn),sn.onreadystatechange=null,Bt.removeChild(sn),sn=null},Bt.appendChild(sn)}):Qt=function(nn){setTimeout(ln,0,nn)},en.setImmediate=function(nn){typeof nn!="function"&&(nn=new Function(""+nn));for(var sn=new Array(arguments.length-1),Kt=0;Kt"u"?it===void 0?this:it:self)}).call(this,nt(6),nt(2))},function(et,tt,nt){et.exports=nt(62)},function(et,tt,nt){(function(it,ot){var Ut=nt(16);et.exports=sn;var Ft,Qt=nt(42);sn.ReadableState=nn,nt(21).EventEmitter;var Bt=function(fn,cn){return fn.listeners(cn).length},Vt=nt(63),Wt=nt(44).Buffer,Xt=it.Uint8Array||function(){},Zt=Object.create(nt(17));Zt.inherits=nt(7);var Yt=nt(143),Mt=void 0;Mt=Yt&&Yt.debuglog?Yt.debuglog("stream"):function(){};var Gt,en=nt(144),tn=nt(64);Zt.inherits(sn,Vt);var ln=["error","close","destroy","pause","resume"];function nn(fn,cn){fn=fn||{};var bn=cn instanceof(Ft=Ft||nt(36));this.objectMode=!!fn.objectMode,bn&&(this.objectMode=this.objectMode||!!fn.readableObjectMode);var Vn=fn.highWaterMark,Mn=fn.readableHighWaterMark,Zn=this.objectMode?16:16384;this.highWaterMark=Vn||Vn===0?Vn:bn&&(Mn||Mn===0)?Mn:Zn,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new en,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.destroyed=!1,this.defaultEncoding=fn.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,fn.encoding&&(Gt||(Gt=nt(22).StringDecoder),this.decoder=new Gt(fn.encoding),this.encoding=fn.encoding)}function sn(fn){if(Ft=Ft||nt(36),!(this instanceof sn))return new sn(fn);this._readableState=new nn(fn,this),this.readable=!0,fn&&(typeof fn.read=="function"&&(this._read=fn.read),typeof fn.destroy=="function"&&(this._destroy=fn.destroy)),Vt.call(this)}function Kt(fn,cn,bn,Vn,Mn){var Zn,In=fn._readableState;return cn===null?(In.reading=!1,function(Cn,kn){if(!kn.ended){if(kn.decoder){var hn=kn.decoder.end();hn&&hn.length&&(kn.buffer.push(hn),kn.length+=kn.objectMode?1:hn.length)}kn.ended=!0,En(Cn)}}(fn,In)):(Mn||(Zn=function(Cn,kn){var hn;Fn=kn,Wt.isBuffer(Fn)||Fn instanceof Xt||typeof kn=="string"||kn===void 0||Cn.objectMode||(hn=new TypeError("Invalid non-string/buffer chunk"));var Fn;return hn}(In,cn)),Zn?fn.emit("error",Zn):In.objectMode||cn&&cn.length>0?(typeof cn=="string"||In.objectMode||Object.getPrototypeOf(cn)===Wt.prototype||(cn=function(Cn){return Wt.from(Cn)}(cn)),Vn?In.endEmitted?fn.emit("error",new Error("stream.unshift() after end event")):dn(fn,In,cn,!0):In.ended?fn.emit("error",new Error("stream.push() after EOF")):(In.reading=!1,In.decoder&&!bn?(cn=In.decoder.write(cn),In.objectMode||cn.length!==0?dn(fn,In,cn,!1):rn(fn,In)):dn(fn,In,cn,!1))):Vn||(In.reading=!1)),function(Cn){return!Cn.ended&&(Cn.needReadable||Cn.lengthcn.highWaterMark&&(cn.highWaterMark=function(bn){return bn>=8388608?bn=8388608:(bn--,bn|=bn>>>1,bn|=bn>>>2,bn|=bn>>>4,bn|=bn>>>8,bn|=bn>>>16,bn++),bn}(fn)),fn<=cn.length?fn:cn.ended?cn.length:(cn.needReadable=!0,0))}function En(fn){var cn=fn._readableState;cn.needReadable=!1,cn.emittedReadable||(Mt("emitReadable",cn.flowing),cn.emittedReadable=!0,cn.sync?Ut.nextTick(an,fn):an(fn))}function an(fn){Mt("emit readable"),fn.emit("readable"),_n(fn)}function rn(fn,cn){cn.readingMore||(cn.readingMore=!0,Ut.nextTick(gn,fn,cn))}function gn(fn,cn){for(var bn=cn.length;!cn.reading&&!cn.flowing&&!cn.ended&&cn.length=cn.length?(bn=cn.decoder?cn.buffer.join(""):cn.buffer.length===1?cn.buffer.head.data:cn.buffer.concat(cn.length),cn.buffer.clear()):bn=function(Vn,Mn,Zn){var In;return VnWn.length?Wn.length:Cn;if(An===Wn.length?wn+=Wn:wn+=Wn.slice(0,Cn),(Cn-=An)===0){An===Wn.length?(++Fn,hn.next?kn.head=hn.next:kn.head=kn.tail=null):(kn.head=hn,hn.data=Wn.slice(An));break}++Fn}return kn.length-=Fn,wn}(Vn,Mn):function(Cn,kn){var hn=Wt.allocUnsafe(Cn),Fn=kn.head,wn=1;for(Fn.data.copy(hn),Cn-=Fn.data.length;Fn=Fn.next;){var Wn=Fn.data,An=Cn>Wn.length?Wn.length:Cn;if(Wn.copy(hn,hn.length-Cn,0,An),(Cn-=An)===0){An===Wn.length?(++wn,Fn.next?kn.head=Fn.next:kn.head=kn.tail=null):(kn.head=Fn,Fn.data=Wn.slice(An));break}++wn}return kn.length-=wn,hn}(Vn,Mn),In}(fn,cn.buffer,cn.decoder),bn);var bn}function pn(fn){var cn=fn._readableState;if(cn.length>0)throw new Error('"endReadable()" called on non-empty stream');cn.endEmitted||(cn.ended=!0,Ut.nextTick(Rn,cn,fn))}function Rn(fn,cn){fn.endEmitted||fn.length!==0||(fn.endEmitted=!0,cn.readable=!1,cn.emit("end"))}function Sn(fn,cn){for(var bn=0,Vn=fn.length;bn=cn.highWaterMark||cn.ended))return Mt("read: emitReadable",cn.length,cn.ended),cn.length===0&&cn.ended?pn(this):En(this),null;if((fn=Qn(fn,cn))===0&&cn.ended)return cn.length===0&&pn(this),null;var Vn,Mn=cn.needReadable;return Mt("need readable",Mn),(cn.length===0||cn.length-fn0?vn(fn,cn):null)===null?(cn.needReadable=!0,fn=0):cn.length-=fn,cn.length===0&&(cn.ended||(cn.needReadable=!0),bn!==fn&&cn.ended&&pn(this)),Vn!==null&&this.emit("data",Vn),Vn},sn.prototype._read=function(fn){this.emit("error",new Error("_read() is not implemented"))},sn.prototype.pipe=function(fn,cn){var bn=this,Vn=this._readableState;switch(Vn.pipesCount){case 0:Vn.pipes=fn;break;case 1:Vn.pipes=[Vn.pipes,fn];break;default:Vn.pipes.push(fn)}Vn.pipesCount+=1,Mt("pipe count=%d opts=%j",Vn.pipesCount,cn);var Mn=(!cn||cn.end!==!1)&&fn!==ot.stdout&&fn!==ot.stderr?In:Pn;function Zn(jn,$n){Mt("onunpipe"),jn===bn&&$n&&$n.hasUnpiped===!1&&($n.hasUnpiped=!0,Mt("cleanup"),fn.removeListener("close",Wn),fn.removeListener("finish",An),fn.removeListener("drain",Cn),fn.removeListener("error",wn),fn.removeListener("unpipe",Zn),bn.removeListener("end",In),bn.removeListener("end",Pn),bn.removeListener("data",Fn),kn=!0,!Vn.awaitDrain||fn._writableState&&!fn._writableState.needDrain||Cn())}function In(){Mt("onend"),fn.end()}Vn.endEmitted?Ut.nextTick(Mn):bn.once("end",Mn),fn.on("unpipe",Zn);var Cn=function(jn){return function(){var $n=jn._readableState;Mt("pipeOnDrain",$n.awaitDrain),$n.awaitDrain&&$n.awaitDrain--,$n.awaitDrain===0&&Bt(jn,"data")&&($n.flowing=!0,_n(jn))}}(bn);fn.on("drain",Cn);var kn=!1,hn=!1;function Fn(jn){Mt("ondata"),hn=!1,fn.write(jn)!==!1||hn||((Vn.pipesCount===1&&Vn.pipes===fn||Vn.pipesCount>1&&Sn(Vn.pipes,fn)!==-1)&&!kn&&(Mt("false write response, pause",bn._readableState.awaitDrain),bn._readableState.awaitDrain++,hn=!0),bn.pause())}function wn(jn){Mt("onerror",jn),Pn(),fn.removeListener("error",wn),Bt(fn,"error")===0&&fn.emit("error",jn)}function Wn(){fn.removeListener("finish",An),Pn()}function An(){Mt("onfinish"),fn.removeListener("close",Wn),Pn()}function Pn(){Mt("unpipe"),bn.unpipe(fn)}return bn.on("data",Fn),function(jn,$n,pr){if(typeof jn.prependListener=="function")return jn.prependListener($n,pr);jn._events&&jn._events[$n]?Qt(jn._events[$n])?jn._events[$n].unshift(pr):jn._events[$n]=[pr,jn._events[$n]]:jn.on($n,pr)}(fn,"error",wn),fn.once("close",Wn),fn.once("finish",An),fn.emit("pipe",bn),Vn.flowing||(Mt("pipe resume"),bn.resume()),fn},sn.prototype.unpipe=function(fn){var cn=this._readableState,bn={hasUnpiped:!1};if(cn.pipesCount===0)return this;if(cn.pipesCount===1)return fn&&fn!==cn.pipes||(fn||(fn=cn.pipes),cn.pipes=null,cn.pipesCount=0,cn.flowing=!1,fn&&fn.emit("unpipe",this,bn)),this;if(!fn){var Vn=cn.pipes,Mn=cn.pipesCount;cn.pipes=null,cn.pipesCount=0,cn.flowing=!1;for(var Zn=0;Zn0?this.tail.next=Qt:this.head=Qt,this.tail=Qt,++this.length},Ut.prototype.unshift=function(Ft){var Qt={data:Ft,next:this.head};this.length===0&&(this.tail=Qt),this.head=Qt,++this.length},Ut.prototype.shift=function(){if(this.length!==0){var Ft=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,Ft}},Ut.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ut.prototype.join=function(Ft){if(this.length===0)return"";for(var Qt=this.head,Bt=""+Qt.data;Qt=Qt.next;)Bt+=Ft+Qt.data;return Bt},Ut.prototype.concat=function(Ft){if(this.length===0)return it.alloc(0);if(this.length===1)return this.head.data;for(var Qt,Bt,Vt,Wt=it.allocUnsafe(Ft>>>0),Xt=this.head,Zt=0;Xt;)Qt=Xt.data,Bt=Wt,Vt=Zt,Qt.copy(Bt,Vt),Zt+=Xt.data.length,Xt=Xt.next;return Wt},Ut}(),ot&&ot.inspect&&ot.inspect.custom&&(et.exports.prototype[ot.inspect.custom]=function(){var Ut=ot.inspect({length:this.length});return this.constructor.name+" "+Ut})},function(et,tt){},function(et,tt,nt){var it=nt(5),ot=it.Buffer;function Ut(Qt,Bt){for(var Vt in Qt)Bt[Vt]=Qt[Vt]}function Ft(Qt,Bt,Vt){return ot(Qt,Bt,Vt)}ot.from&&ot.alloc&&ot.allocUnsafe&&ot.allocUnsafeSlow?et.exports=it:(Ut(it,tt),tt.Buffer=Ft),Ut(ot,Ft),Ft.from=function(Qt,Bt,Vt){if(typeof Qt=="number")throw new TypeError("Argument must not be a number");return ot(Qt,Bt,Vt)},Ft.alloc=function(Qt,Bt,Vt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");var Wt=ot(Qt);return Bt!==void 0?typeof Vt=="string"?Wt.fill(Bt,Vt):Wt.fill(Bt):Wt.fill(0),Wt},Ft.allocUnsafe=function(Qt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");return ot(Qt)},Ft.allocUnsafeSlow=function(Qt){if(typeof Qt!="number")throw new TypeError("Argument must be a number");return it.SlowBuffer(Qt)}},function(et,tt,nt){var it=nt(13),ot=nt(3).LEVEL,Ut=nt(20),Ft=et.exports=function(){var Qt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ut.call(this,Qt),!Qt.transport||typeof Qt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");function Bt(Vt){this.emit("error",Vt,this.transport)}this.transport=Qt.transport,this.level=this.level||Qt.transport.level,this.handleExceptions=this.handleExceptions||Qt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=Bt.bind(this),this.transport.on("error",this.transport.__winstonError))};it.inherits(Ft,Ut),Ft.prototype._write=function(Qt,Bt,Vt){if(this.silent||Qt.exception===!0&&!this.handleExceptions)return Vt(null);(!this.level||this.levels[this.level]>=this.levels[Qt[ot]])&&this.transport.log(Qt[ot],Qt.message,Qt,this._nop),Vt(null)},Ft.prototype._writev=function(Qt,Bt){for(var Vt=0;Vt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var gn,un=Zt(an);if(rn){var Un=Zt(this).constructor;gn=Reflect.construct(un,arguments,Un)}else gn=un.apply(this,arguments);return Wt(this,gn)}}function Wt(an,rn){return!rn||Ut(rn)!=="object"&&typeof rn!="function"?Xt(an):rn}function Xt(an){if(an===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return an}function Zt(an){return(Zt=Object.setPrototypeOf?Object.getPrototypeOf:function(rn){return rn.__proto__||Object.getPrototypeOf(rn)})(an)}var Yt=nt(65),Mt=nt(56),Gt=nt(149),en=nt(159),tn=nt(3).MESSAGE,ln=nt(33),nn=ln.Stream,sn=ln.PassThrough,Kt=nt(20),dn=nt(38)("winston:file"),Qn=nt(18),En=nt(187);et.exports=function(an){(function(_n,vn){if(typeof vn!="function"&&vn!==null)throw new TypeError("Super expression must either be null or a function");_n.prototype=Object.create(vn&&vn.prototype,{constructor:{value:_n,writable:!0,configurable:!0}}),vn&&Bt(_n,vn)})(Un,an);var rn,gn,un=Vt(Un);function Un(){var _n,vn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};function pn(Rn){for(var Sn=arguments.length,fn=new Array(Sn>1?Sn-1:0),cn=1;cn1&&arguments[1]!==void 0?arguments[1]:function(){};if(this.silent)return pn(),!0;if(this._drain)this._stream.once("drain",function(){vn._drain=!1,vn.log(_n,pn)});else{if(!this._rotate){var Rn="".concat(_n[tn]).concat(this.eol),Sn=ot.byteLength(Rn);this._pendingSize+=Sn,this._opening&&!this.rotatedWhileOpening&&this._needsNewFile(this._size+this._pendingSize)&&(this.rotatedWhileOpening=!0);var fn=this._stream.write(Rn,cn.bind(this));return fn?pn():(this._drain=!0,this._stream.once("drain",function(){vn._drain=!1,pn()})),dn("written",fn,this._drain),this.finishIfEnding(),fn}this._stream.once("rotate",function(){vn._rotate=!1,vn.log(_n,pn)})}function cn(){var bn=this;this._size+=Sn,this._pendingSize-=Sn,dn("logged %s %s",this._size,Rn),this.emit("logged",_n),this._opening||this._needsNewFile()&&(this._rotate=!0,this._endStream(function(){return bn._rotateFile()}))}}},{key:"query",value:function(_n,vn){typeof _n=="function"&&(vn=_n,_n={}),_n=function(Vn){return(Vn=Vn||{}).rows=Vn.rows||Vn.limit||10,Vn.start=Vn.start||0,Vn.until=Vn.until||new Date,Ut(Vn.until)!=="object"&&(Vn.until=new Date(Vn.until)),Vn.from=Vn.from||Vn.until-864e5,Ut(Vn.from)!=="object"&&(Vn.from=new Date(Vn.from)),Vn.order=Vn.order||"desc",Vn}(_n);var pn=Mt.join(this.dirname,this.filename),Rn="",Sn=[],fn=0,cn=Yt.createReadStream(pn,{encoding:"utf8"});function bn(Vn,Mn){try{var Zn=JSON.parse(Vn);(function(In){if(In&&Ut(In)==="object"){var Cn=new Date(In.timestamp);if(!(_n.from&&Cn<_n.from||_n.until&&Cn>_n.until||_n.level&&_n.level!==In.level))return!0}})(Zn)&&function(In){_n.rows&&Sn.length>=_n.rows&&_n.order!=="desc"?cn.readable&&cn.destroy():(_n.fields&&(In=_n.fields.reduce(function(Cn,kn){return Cn[kn]=In[kn],Cn},{})),_n.order==="desc"&&Sn.length>=_n.rows&&Sn.shift(),Sn.push(In))}(Zn)}catch(In){Mn||cn.emit("error",In)}}cn.on("error",function(Vn){if(cn.readable&&cn.destroy(),vn)return Vn.code!=="ENOENT"?vn(Vn):vn(null,Sn)}),cn.on("data",function(Vn){for(var Mn=(Vn=(Rn+Vn).split(/\n+/)).length-1,Zn=0;Zn=_n.start)&&bn(Vn[Zn]),fn++;Rn=Vn[Mn]}),cn.on("close",function(){Rn&&bn(Rn,!0),_n.order==="desc"&&(Sn=Sn.reverse()),vn&&vn(null,Sn)})}},{key:"stream",value:function(){var _n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},vn=Mt.join(this.dirname,this.filename),pn=new nn,Rn={file:vn,start:_n.start};return pn.destroy=En(Rn,function(Sn,fn){if(Sn)return pn.emit("error",Sn);try{pn.emit("data",fn),fn=JSON.parse(fn),pn.emit("log",fn)}catch(cn){pn.emit("error",cn)}}),pn}},{key:"open",value:function(){var _n=this;this.filename&&(this._opening||(this._opening=!0,this.stat(function(vn,pn){if(vn)return _n.emit("error",vn);dn("stat done: %s { size: %s }",_n.filename,pn),_n._size=pn,_n._dest=_n._createStream(_n._stream),_n._opening=!1,_n.once("open",function(){_n._stream.eventNames().includes("rotate")?_n._stream.emit("rotate"):_n._rotate=!1})})))}},{key:"stat",value:function(_n){var vn=this,pn=this._getFile(),Rn=Mt.join(this.dirname,pn);Yt.stat(Rn,function(Sn,fn){return Sn&&Sn.code==="ENOENT"?(dn("ENOENT ok",Rn),vn.filename=pn,_n(null,0)):Sn?(dn("err ".concat(Sn.code," ").concat(Rn)),_n(Sn)):!fn||vn._needsNewFile(fn.size)?vn._incFile(function(){return vn.stat(_n)}):(vn.filename=pn,void _n(null,fn.size))})}},{key:"close",value:function(_n){var vn=this;this._stream&&this._stream.end(function(){_n&&_n(),vn.emit("flush"),vn.emit("closed")})}},{key:"_needsNewFile",value:function(_n){return _n=_n||this._size,this.maxsize&&_n>=this.maxsize}},{key:"_onError",value:function(_n){this.emit("error",_n)}},{key:"_setupStream",value:function(_n){return _n.on("error",this._onError),_n}},{key:"_cleanupStream",value:function(_n){return _n.removeListener("error",this._onError),_n}},{key:"_rotateFile",value:function(){var _n=this;this._incFile(function(){return _n.open()})}},{key:"_endStream",value:function(){var _n=this,vn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){};this._dest?(this._stream.unpipe(this._dest),this._dest.end(function(){_n._cleanupStream(_n._dest),vn()})):vn()}},{key:"_createStream",value:function(_n){var vn=this,pn=Mt.join(this.dirname,this.filename);dn("create stream start",pn,this.options);var Rn=Yt.createWriteStream(pn,this.options).on("error",function(fn){return dn(fn)}).on("close",function(){return dn("close",Rn.path,Rn.bytesWritten)}).on("open",function(){dn("file open ok",pn),vn.emit("open",pn),_n.pipe(Rn),vn.rotatedWhileOpening&&(vn._stream=new sn,vn._stream.setMaxListeners(30),vn._rotateFile(),vn.rotatedWhileOpening=!1,vn._cleanupStream(Rn),_n.end())});if(dn("create stream ok",pn),this.zippedArchive){var Sn=en.createGzip();return Sn.pipe(Rn),Sn}return Rn}},{key:"_incFile",value:function(_n){dn("_incFile",this.filename);var vn=Mt.extname(this._basename),pn=Mt.basename(this._basename,vn);this.tailable?this._checkMaxFilesTailable(vn,pn,_n):(this._created+=1,this._checkMaxFilesIncrementing(vn,pn,_n))}},{key:"_getFile",value:function(){var _n=Mt.extname(this._basename),vn=Mt.basename(this._basename,_n),pn=this.rotationFormat?this.rotationFormat():this._created,Rn=!this.tailable&&this._created?"".concat(vn).concat(pn).concat(_n):"".concat(vn).concat(_n);return this.zippedArchive&&!this.tailable?"".concat(Rn,".gz"):Rn}},{key:"_checkMaxFilesIncrementing",value:function(_n,vn,pn){if(!this.maxFiles||this._created1;cn--)Sn.push(function(bn,Vn){var Mn=this,Zn="".concat(vn).concat(bn-1).concat(_n).concat(fn),In=Mt.join(this.dirname,Zn);Yt.exists(In,function(Cn){if(!Cn)return Vn(null);Zn="".concat(vn).concat(bn).concat(_n).concat(fn),Yt.rename(In,Mt.join(Mn.dirname,Zn),Vn)})}.bind(this,cn));Gt(Sn,function(){Yt.rename(Mt.join(Rn.dirname,"".concat(vn).concat(_n)),Mt.join(Rn.dirname,"".concat(vn,"1").concat(_n).concat(fn)),pn)})}}},{key:"_createLogDirIfNotExist",value:function(_n){Yt.existsSync(_n)||Yt.mkdirSync(_n,{recursive:!0})}}])&&Qt(rn.prototype,gn),Un}(Kt)}).call(this,nt(15).setImmediate,nt(5).Buffer)},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(Ft,Qt){return(0,it.default)(ot.default,Ft,Qt)};var it=Ut(nt(150)),ot=Ut(nt(154));function Ut(Ft){return Ft&&Ft.__esModule?Ft:{default:Ft}}et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0});var it=Ft(nt(45)),ot=Ft(nt(25)),Ut=Ft(nt(31));function Ft(Qt){return Qt&&Qt.__esModule?Qt:{default:Qt}}tt.default=(0,Ut.default)((Qt,Bt,Vt)=>{var Wt=(0,it.default)(Bt)?[]:{};Qt(Bt,(Xt,Zt,Yt)=>{(0,ot.default)(Xt)((Mt,...Gt)=>{Gt.length<2&&([Gt]=Gt),Wt[Zt]=Gt,Yt(Mt)})},Xt=>Vt(Xt,Wt))},3),et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(Vt){return(0,Ut.isAsync)(Vt)?function(...Wt){const Xt=Wt.pop();return Qt(Vt.apply(this,Wt),Xt)}:(0,it.default)(function(Wt,Xt){var Zt;try{Zt=Vt.apply(this,Wt)}catch(Yt){return Xt(Yt)}if(Zt&&typeof Zt.then=="function")return Qt(Zt,Xt);Xt(null,Zt)})};var it=Ft(nt(152)),ot=Ft(nt(153)),Ut=nt(25);function Ft(Vt){return Vt&&Vt.__esModule?Vt:{default:Vt}}function Qt(Vt,Wt){return Vt.then(Xt=>{Bt(Wt,null,Xt)},Xt=>{Bt(Wt,Xt&&Xt.message?Xt:new Error(Xt))})}function Bt(Vt,Wt,Xt){try{Vt(Wt,Xt)}catch(Zt){(0,ot.default)(Yt=>{throw Yt},Zt)}}et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0}),tt.default=function(it){return function(...ot){var Ut=ot.pop();return it.call(this,ot,Ut)}},et.exports=tt.default},function(et,tt,nt){(function(it,ot){Object.defineProperty(tt,"__esModule",{value:!0}),tt.fallback=Vt,tt.wrap=Wt;var Ut,Ft=tt.hasQueueMicrotask=typeof queueMicrotask=="function"&&queueMicrotask,Qt=tt.hasSetImmediate=typeof it=="function"&&it,Bt=tt.hasNextTick=typeof ot=="object"&&typeof ot.nextTick=="function";function Vt(Xt){setTimeout(Xt,0)}function Wt(Xt){return(Zt,...Yt)=>Xt(()=>Zt(...Yt))}Ut=Ft?queueMicrotask:Qt?it:Bt?ot.nextTick:Vt,tt.default=Wt(Ut)}).call(this,nt(15).setImmediate,nt(2))},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0});var it=Ut(nt(66)),ot=Ut(nt(31));function Ut(Ft){return Ft&&Ft.__esModule?Ft:{default:Ft}}tt.default=(0,ot.default)(function(Ft,Qt,Bt){return(0,it.default)(Ft,1,Qt,Bt)},3),et.exports=tt.default},function(et,tt,nt){Object.defineProperty(tt,"__esModule",{value:!0});var it=Vt(nt(67)),ot=Vt(nt(156)),Ut=Vt(nt(68)),Ft=nt(25),Qt=Vt(nt(158)),Bt=Vt(nt(46));function Vt(Wt){return Wt&&Wt.__esModule?Wt:{default:Wt}}tt.default=Wt=>(Xt,Zt,Yt)=>{if(Yt=(0,it.default)(Yt),Wt<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!Xt)return Yt(null);if((0,Ft.isAsyncGenerator)(Xt))return(0,Qt.default)(Xt,Wt,Zt,Yt);if((0,Ft.isAsyncIterable)(Xt))return(0,Qt.default)(Xt[Symbol.asyncIterator](),Wt,Zt,Yt);var Mt=(0,ot.default)(Xt),Gt=!1,en=!1,tn=0,ln=!1;function nn(Kt,dn){if(!en)if(tn-=1,Kt)Gt=!0,Yt(Kt);else if(Kt===!1)Gt=!0,en=!0;else{if(dn===Bt.default||Gt&&tn<=0)return Gt=!0,Yt(null);ln||sn()}}function sn(){for(ln=!0;tn=Qt||Zt||Wt||(Zt=!0,Ft.next().then(({value:ln,done:nn})=>{if(!Xt&&!Wt){if(Zt=!1,nn)return Wt=!0,void(Yt<=0&&Vt(null));Yt++,Bt(ln,Mt,en),Mt++,Gt()}}).catch(tn))}function en(ln,nn){if(Yt-=1,!Xt)return ln?tn(ln):ln===!1?(Wt=!0,void(Xt=!0)):nn===Ut.default||Wt&&Yt<=0?(Wt=!0,Vt(null)):void Gt()}function tn(ln){Xt||(Zt=!1,Wt=!0,Vt(ln))}Gt()};var it,ot=nt(46),Ut=(it=ot)&&it.__esModule?it:{default:it};et.exports=tt.default},function(et,tt,nt){(function(it){var ot=nt(5).Buffer,Ut=nt(160).Transform,Ft=nt(168),Qt=nt(13),Bt=nt(74).ok,Vt=nt(5).kMaxLength,Wt="Cannot create final Buffer. It would be larger than 0x"+Vt.toString(16)+" bytes";Ft.Z_MIN_WINDOWBITS=8,Ft.Z_MAX_WINDOWBITS=15,Ft.Z_DEFAULT_WINDOWBITS=15,Ft.Z_MIN_CHUNK=64,Ft.Z_MAX_CHUNK=1/0,Ft.Z_DEFAULT_CHUNK=16384,Ft.Z_MIN_MEMLEVEL=1,Ft.Z_MAX_MEMLEVEL=9,Ft.Z_DEFAULT_MEMLEVEL=8,Ft.Z_MIN_LEVEL=-1,Ft.Z_MAX_LEVEL=9,Ft.Z_DEFAULT_LEVEL=Ft.Z_DEFAULT_COMPRESSION;for(var Xt=Object.keys(Ft),Zt=0;Zt=Vt?Mn=new RangeError(Wt):Vn=ot.concat(Sn,fn),Sn=[],vn.close(),Rn(Mn,Vn)}vn.on("error",function(Vn){vn.removeListener("end",bn),vn.removeListener("readable",cn),Rn(Vn)}),vn.on("end",bn),vn.end(pn),cn()}function nn(vn,pn){if(typeof pn=="string"&&(pn=ot.from(pn)),!ot.isBuffer(pn))throw new TypeError("Not a string or buffer");var Rn=vn._finishFlushFlag;return vn._processChunk(pn,Rn)}function sn(vn){if(!(this instanceof sn))return new sn(vn);un.call(this,vn,Ft.DEFLATE)}function Kt(vn){if(!(this instanceof Kt))return new Kt(vn);un.call(this,vn,Ft.INFLATE)}function dn(vn){if(!(this instanceof dn))return new dn(vn);un.call(this,vn,Ft.GZIP)}function Qn(vn){if(!(this instanceof Qn))return new Qn(vn);un.call(this,vn,Ft.GUNZIP)}function En(vn){if(!(this instanceof En))return new En(vn);un.call(this,vn,Ft.DEFLATERAW)}function an(vn){if(!(this instanceof an))return new an(vn);un.call(this,vn,Ft.INFLATERAW)}function rn(vn){if(!(this instanceof rn))return new rn(vn);un.call(this,vn,Ft.UNZIP)}function gn(vn){return vn===Ft.Z_NO_FLUSH||vn===Ft.Z_PARTIAL_FLUSH||vn===Ft.Z_SYNC_FLUSH||vn===Ft.Z_FULL_FLUSH||vn===Ft.Z_FINISH||vn===Ft.Z_BLOCK}function un(vn,pn){var Rn=this;if(this._opts=vn=vn||{},this._chunkSize=vn.chunkSize||tt.Z_DEFAULT_CHUNK,Ut.call(this,vn),vn.flush&&!gn(vn.flush))throw new Error("Invalid flush flag: "+vn.flush);if(vn.finishFlush&&!gn(vn.finishFlush))throw new Error("Invalid flush flag: "+vn.finishFlush);if(this._flushFlag=vn.flush||Ft.Z_NO_FLUSH,this._finishFlushFlag=vn.finishFlush!==void 0?vn.finishFlush:Ft.Z_FINISH,vn.chunkSize&&(vn.chunkSizett.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+vn.chunkSize);if(vn.windowBits&&(vn.windowBitstt.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+vn.windowBits);if(vn.level&&(vn.leveltt.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+vn.level);if(vn.memLevel&&(vn.memLeveltt.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+vn.memLevel);if(vn.strategy&&vn.strategy!=tt.Z_FILTERED&&vn.strategy!=tt.Z_HUFFMAN_ONLY&&vn.strategy!=tt.Z_RLE&&vn.strategy!=tt.Z_FIXED&&vn.strategy!=tt.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+vn.strategy);if(vn.dictionary&&!ot.isBuffer(vn.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new Ft.Zlib(pn);var Sn=this;this._hadError=!1,this._handle.onerror=function(bn,Vn){Un(Sn),Sn._hadError=!0;var Mn=new Error(bn);Mn.errno=Vn,Mn.code=tt.codes[Vn],Sn.emit("error",Mn)};var fn=tt.Z_DEFAULT_COMPRESSION;typeof vn.level=="number"&&(fn=vn.level);var cn=tt.Z_DEFAULT_STRATEGY;typeof vn.strategy=="number"&&(cn=vn.strategy),this._handle.init(vn.windowBits||tt.Z_DEFAULT_WINDOWBITS,fn,vn.memLevel||tt.Z_DEFAULT_MEMLEVEL,cn,vn.dictionary),this._buffer=ot.allocUnsafe(this._chunkSize),this._offset=0,this._level=fn,this._strategy=cn,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!Rn._handle},configurable:!0,enumerable:!0})}function Un(vn,pn){pn&&it.nextTick(pn),vn._handle&&(vn._handle.close(),vn._handle=null)}function _n(vn){vn.emit("close")}Object.defineProperty(tt,"codes",{enumerable:!0,value:Object.freeze(Mt),writable:!1}),tt.Deflate=sn,tt.Inflate=Kt,tt.Gzip=dn,tt.Gunzip=Qn,tt.DeflateRaw=En,tt.InflateRaw=an,tt.Unzip=rn,tt.createDeflate=function(vn){return new sn(vn)},tt.createInflate=function(vn){return new Kt(vn)},tt.createDeflateRaw=function(vn){return new En(vn)},tt.createInflateRaw=function(vn){return new an(vn)},tt.createGzip=function(vn){return new dn(vn)},tt.createGunzip=function(vn){return new Qn(vn)},tt.createUnzip=function(vn){return new rn(vn)},tt.deflate=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new sn(pn),vn,Rn)},tt.deflateSync=function(vn,pn){return nn(new sn(pn),vn)},tt.gzip=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new dn(pn),vn,Rn)},tt.gzipSync=function(vn,pn){return nn(new dn(pn),vn)},tt.deflateRaw=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new En(pn),vn,Rn)},tt.deflateRawSync=function(vn,pn){return nn(new En(pn),vn)},tt.unzip=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new rn(pn),vn,Rn)},tt.unzipSync=function(vn,pn){return nn(new rn(pn),vn)},tt.inflate=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new Kt(pn),vn,Rn)},tt.inflateSync=function(vn,pn){return nn(new Kt(pn),vn)},tt.gunzip=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new Qn(pn),vn,Rn)},tt.gunzipSync=function(vn,pn){return nn(new Qn(pn),vn)},tt.inflateRaw=function(vn,pn,Rn){return typeof pn=="function"&&(Rn=pn,pn={}),ln(new an(pn),vn,Rn)},tt.inflateRawSync=function(vn,pn){return nn(new an(pn),vn)},Qt.inherits(un,Ut),un.prototype.params=function(vn,pn,Rn){if(vntt.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+vn);if(pn!=tt.Z_FILTERED&&pn!=tt.Z_HUFFMAN_ONLY&&pn!=tt.Z_RLE&&pn!=tt.Z_FIXED&&pn!=tt.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+pn);if(this._level!==vn||this._strategy!==pn){var Sn=this;this.flush(Ft.Z_SYNC_FLUSH,function(){Bt(Sn._handle,"zlib binding closed"),Sn._handle.params(vn,pn),Sn._hadError||(Sn._level=vn,Sn._strategy=pn,Rn&&Rn())})}else it.nextTick(Rn)},un.prototype.reset=function(){return Bt(this._handle,"zlib binding closed"),this._handle.reset()},un.prototype._flush=function(vn){this._transform(ot.alloc(0),"",vn)},un.prototype.flush=function(vn,pn){var Rn=this,Sn=this._writableState;(typeof vn=="function"||vn===void 0&&!pn)&&(pn=vn,vn=Ft.Z_FULL_FLUSH),Sn.ended?pn&&it.nextTick(pn):Sn.ending?pn&&this.once("end",pn):Sn.needDrain?pn&&this.once("drain",function(){return Rn.flush(vn,pn)}):(this._flushFlag=vn,this.write(ot.alloc(0),"",pn))},un.prototype.close=function(vn){Un(this,vn),it.nextTick(_n,this)},un.prototype._transform=function(vn,pn,Rn){var Sn,fn=this._writableState,cn=(fn.ending||fn.ended)&&(!vn||fn.length===vn.length);return vn===null||ot.isBuffer(vn)?this._handle?(cn?Sn=this._finishFlushFlag:(Sn=this._flushFlag,vn.length>=fn.length&&(this._flushFlag=this._opts.flush||Ft.Z_NO_FLUSH)),void this._processChunk(vn,Sn,Rn)):Rn(new Error("zlib binding closed")):Rn(new Error("invalid input"))},un.prototype._processChunk=function(vn,pn,Rn){var Sn=vn&&vn.length,fn=this._chunkSize-this._offset,cn=0,bn=this,Vn=typeof Rn=="function";if(!Vn){var Mn,Zn=[],In=0;this.on("error",function(wn){Mn=wn}),Bt(this._handle,"zlib binding closed");do var Cn=this._handle.writeSync(pn,vn,cn,Sn,this._buffer,this._offset,fn);while(!this._hadError&&Fn(Cn[0],Cn[1]));if(this._hadError)throw Mn;if(In>=Vt)throw Un(this),new RangeError(Wt);var kn=ot.concat(Zn,In);return Un(this),kn}Bt(this._handle,"zlib binding closed");var hn=this._handle.write(pn,vn,cn,Sn,this._buffer,this._offset,fn);function Fn(wn,Wn){if(this&&(this.buffer=null,this.callback=null),!bn._hadError){var An=fn-Wn;if(Bt(An>=0,"have should not go down"),An>0){var Pn=bn._buffer.slice(bn._offset,bn._offset+An);bn._offset+=An,Vn?bn.push(Pn):(Zn.push(Pn),In+=Pn.length)}if((Wn===0||bn._offset>=bn._chunkSize)&&(fn=bn._chunkSize,bn._offset=0,bn._buffer=ot.allocUnsafe(bn._chunkSize)),Wn===0){if(cn+=Sn-wn,Sn=wn,!Vn)return!0;var jn=bn._handle.write(pn,vn,cn,Sn,bn._buffer,bn._offset,bn._chunkSize);return jn.callback=Fn,void(jn.buffer=vn)}if(!Vn)return!1;Rn()}}hn.buffer=vn,hn.callback=Fn},Qt.inherits(sn,un),Qt.inherits(Kt,un),Qt.inherits(dn,un),Qt.inherits(Qn,un),Qt.inherits(En,un),Qt.inherits(an,un),Qt.inherits(rn,un)}).call(this,nt(2))},function(et,tt,nt){et.exports=ot;var it=nt(21).EventEmitter;function ot(){it.call(this)}nt(7)(ot,it),ot.Readable=nt(32),ot.Writable=nt(73),ot.Duplex=nt(165),ot.Transform=nt(166),ot.PassThrough=nt(167),ot.Stream=ot,ot.prototype.pipe=function(Ut,Ft){var Qt=this;function Bt(Gt){Ut.writable&&Ut.write(Gt)===!1&&Qt.pause&&Qt.pause()}function Vt(){Qt.readable&&Qt.resume&&Qt.resume()}Qt.on("data",Bt),Ut.on("drain",Vt),Ut._isStdio||Ft&&Ft.end===!1||(Qt.on("end",Xt),Qt.on("close",Zt));var Wt=!1;function Xt(){Wt||(Wt=!0,Ut.end())}function Zt(){Wt||(Wt=!0,typeof Ut.destroy=="function"&&Ut.destroy())}function Yt(Gt){if(Mt(),it.listenerCount(this,"error")===0)throw Gt}function Mt(){Qt.removeListener("data",Bt),Ut.removeListener("drain",Vt),Qt.removeListener("end",Xt),Qt.removeListener("close",Zt),Qt.removeListener("error",Yt),Ut.removeListener("error",Yt),Qt.removeListener("end",Mt),Qt.removeListener("close",Mt),Ut.removeListener("close",Mt)}return Qt.on("error",Yt),Ut.on("error",Yt),Qt.on("end",Mt),Qt.on("close",Mt),Ut.on("close",Mt),Ut.emit("pipe",Qt),Ut}},function(et,tt){},function(et,tt,nt){var it=nt(47).Buffer,ot=nt(163);et.exports=function(){function Ut(){(function(Ft,Qt){if(!(Ft instanceof Qt))throw new TypeError("Cannot call a class as a function")})(this,Ut),this.head=null,this.tail=null,this.length=0}return Ut.prototype.push=function(Ft){var Qt={data:Ft,next:null};this.length>0?this.tail.next=Qt:this.head=Qt,this.tail=Qt,++this.length},Ut.prototype.unshift=function(Ft){var Qt={data:Ft,next:this.head};this.length===0&&(this.tail=Qt),this.head=Qt,++this.length},Ut.prototype.shift=function(){if(this.length!==0){var Ft=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,Ft}},Ut.prototype.clear=function(){this.head=this.tail=null,this.length=0},Ut.prototype.join=function(Ft){if(this.length===0)return"";for(var Qt=this.head,Bt=""+Qt.data;Qt=Qt.next;)Bt+=Ft+Qt.data;return Bt},Ut.prototype.concat=function(Ft){if(this.length===0)return it.alloc(0);if(this.length===1)return this.head.data;for(var Qt,Bt,Vt,Wt=it.allocUnsafe(Ft>>>0),Xt=this.head,Zt=0;Xt;)Qt=Xt.data,Bt=Wt,Vt=Zt,Qt.copy(Bt,Vt),Zt+=Xt.data.length,Xt=Xt.next;return Wt},Ut}(),ot&&ot.inspect&&ot.inspect.custom&&(et.exports.prototype[ot.inspect.custom]=function(){var Ut=ot.inspect({length:this.length});return this.constructor.name+" "+Ut})},function(et,tt){},function(et,tt,nt){et.exports=Ut;var it=nt(72),ot=nt(17);function Ut(Ft){if(!(this instanceof Ut))return new Ut(Ft);it.call(this,Ft)}ot.inherits=nt(7),ot.inherits(Ut,it),Ut.prototype._transform=function(Ft,Qt,Bt){Bt(null,Ft)}},function(et,tt,nt){et.exports=nt(23)},function(et,tt,nt){et.exports=nt(32).Transform},function(et,tt,nt){et.exports=nt(32).PassThrough},function(et,tt,nt){(function(it,ot){var Ut=nt(74),Ft=nt(170),Qt=nt(171),Bt=nt(174),Vt=nt(177);for(var Wt in Vt)tt[Wt]=Vt[Wt];tt.NONE=0,tt.DEFLATE=1,tt.INFLATE=2,tt.GZIP=3,tt.GUNZIP=4,tt.DEFLATERAW=5,tt.INFLATERAW=6,tt.UNZIP=7;function Xt(Zt){if(typeof Zt!="number"||Zttt.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=Zt,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Xt.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,Ut(this.init_done,"close before init"),Ut(this.mode<=tt.UNZIP),this.mode===tt.DEFLATE||this.mode===tt.GZIP||this.mode===tt.DEFLATERAW?Qt.deflateEnd(this.strm):this.mode!==tt.INFLATE&&this.mode!==tt.GUNZIP&&this.mode!==tt.INFLATERAW&&this.mode!==tt.UNZIP||Bt.inflateEnd(this.strm),this.mode=tt.NONE,this.dictionary=null)},Xt.prototype.write=function(Zt,Yt,Mt,Gt,en,tn,ln){return this._write(!0,Zt,Yt,Mt,Gt,en,tn,ln)},Xt.prototype.writeSync=function(Zt,Yt,Mt,Gt,en,tn,ln){return this._write(!1,Zt,Yt,Mt,Gt,en,tn,ln)},Xt.prototype._write=function(Zt,Yt,Mt,Gt,en,tn,ln,nn){if(Ut.equal(arguments.length,8),Ut(this.init_done,"write before init"),Ut(this.mode!==tt.NONE,"already finalized"),Ut.equal(!1,this.write_in_progress,"write already in progress"),Ut.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,Ut.equal(!1,Yt===void 0,"must provide flush value"),this.write_in_progress=!0,Yt!==tt.Z_NO_FLUSH&&Yt!==tt.Z_PARTIAL_FLUSH&&Yt!==tt.Z_SYNC_FLUSH&&Yt!==tt.Z_FULL_FLUSH&&Yt!==tt.Z_FINISH&&Yt!==tt.Z_BLOCK)throw new Error("Invalid flush value");if(Mt==null&&(Mt=it.alloc(0),en=0,Gt=0),this.strm.avail_in=en,this.strm.input=Mt,this.strm.next_in=Gt,this.strm.avail_out=nn,this.strm.output=tn,this.strm.next_out=ln,this.flush=Yt,!Zt)return this._process(),this._checkError()?this._afterSync():void 0;var sn=this;return ot.nextTick(function(){sn._process(),sn._after()}),this},Xt.prototype._afterSync=function(){var Zt=this.strm.avail_out,Yt=this.strm.avail_in;return this.write_in_progress=!1,[Yt,Zt]},Xt.prototype._process=function(){var Zt=null;switch(this.mode){case tt.DEFLATE:case tt.GZIP:case tt.DEFLATERAW:this.err=Qt.deflate(this.strm,this.flush);break;case tt.UNZIP:switch(this.strm.avail_in>0&&(Zt=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(Zt===null)break;if(this.strm.input[Zt]!==31){this.mode=tt.INFLATE;break}if(this.gzip_id_bytes_read=1,Zt++,this.strm.avail_in===1)break;case 1:if(Zt===null)break;this.strm.input[Zt]===139?(this.gzip_id_bytes_read=2,this.mode=tt.GUNZIP):this.mode=tt.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case tt.INFLATE:case tt.GUNZIP:case tt.INFLATERAW:for(this.err=Bt.inflate(this.strm,this.flush),this.err===tt.Z_NEED_DICT&&this.dictionary&&(this.err=Bt.inflateSetDictionary(this.strm,this.dictionary),this.err===tt.Z_OK?this.err=Bt.inflate(this.strm,this.flush):this.err===tt.Z_DATA_ERROR&&(this.err=tt.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===tt.GUNZIP&&this.err===tt.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=Bt.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},Xt.prototype._checkError=function(){switch(this.err){case tt.Z_OK:case tt.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===tt.Z_FINISH)return this._error("unexpected end of file"),!1;break;case tt.Z_STREAM_END:break;case tt.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},Xt.prototype._after=function(){if(this._checkError()){var Zt=this.strm.avail_out,Yt=this.strm.avail_in;this.write_in_progress=!1,this.callback(Yt,Zt),this.pending_close&&this.close()}},Xt.prototype._error=function(Zt){this.strm.msg&&(Zt=this.strm.msg),this.onerror(Zt,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},Xt.prototype.init=function(Zt,Yt,Mt,Gt,en){Ut(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),Ut(Zt>=8&&Zt<=15,"invalid windowBits"),Ut(Yt>=-1&&Yt<=9,"invalid compression level"),Ut(Mt>=1&&Mt<=9,"invalid memlevel"),Ut(Gt===tt.Z_FILTERED||Gt===tt.Z_HUFFMAN_ONLY||Gt===tt.Z_RLE||Gt===tt.Z_FIXED||Gt===tt.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(Yt,Zt,Mt,Gt,en),this._setDictionary()},Xt.prototype.params=function(){throw new Error("deflateParams Not supported")},Xt.prototype.reset=function(){this._reset(),this._setDictionary()},Xt.prototype._init=function(Zt,Yt,Mt,Gt,en){switch(this.level=Zt,this.windowBits=Yt,this.memLevel=Mt,this.strategy=Gt,this.flush=tt.Z_NO_FLUSH,this.err=tt.Z_OK,this.mode!==tt.GZIP&&this.mode!==tt.GUNZIP||(this.windowBits+=16),this.mode===tt.UNZIP&&(this.windowBits+=32),this.mode!==tt.DEFLATERAW&&this.mode!==tt.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new Ft,this.mode){case tt.DEFLATE:case tt.GZIP:case tt.DEFLATERAW:this.err=Qt.deflateInit2(this.strm,this.level,tt.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case tt.INFLATE:case tt.GUNZIP:case tt.INFLATERAW:case tt.UNZIP:this.err=Bt.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==tt.Z_OK&&this._error("Init error"),this.dictionary=en,this.write_in_progress=!1,this.init_done=!0},Xt.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=tt.Z_OK,this.mode){case tt.DEFLATE:case tt.DEFLATERAW:this.err=Qt.deflateSetDictionary(this.strm,this.dictionary)}this.err!==tt.Z_OK&&this._error("Failed to set dictionary")}},Xt.prototype._reset=function(){switch(this.err=tt.Z_OK,this.mode){case tt.DEFLATE:case tt.DEFLATERAW:case tt.GZIP:this.err=Qt.deflateReset(this.strm);break;case tt.INFLATE:case tt.INFLATERAW:case tt.GUNZIP:this.err=Bt.inflateReset(this.strm)}this.err!==tt.Z_OK&&this._error("Failed to reset stream")},tt.Zlib=Xt}).call(this,nt(5).Buffer,nt(2))},function(et,tt,nt){var it=Object.getOwnPropertySymbols,ot=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable;function Ft(Qt){if(Qt==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(Qt)}et.exports=function(){try{if(!Object.assign)return!1;var Qt=new String("abc");if(Qt[5]="de",Object.getOwnPropertyNames(Qt)[0]==="5")return!1;for(var Bt={},Vt=0;Vt<10;Vt++)Bt["_"+String.fromCharCode(Vt)]=Vt;if(Object.getOwnPropertyNames(Bt).map(function(Xt){return Bt[Xt]}).join("")!=="0123456789")return!1;var Wt={};return"abcdefghijklmnopqrst".split("").forEach(function(Xt){Wt[Xt]=Xt}),Object.keys(Object.assign({},Wt)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}()?Object.assign:function(Qt,Bt){for(var Vt,Wt,Xt=Ft(Qt),Zt=1;Zt4?9:0)}function Xt(an){for(var rn=an.length;--rn>=0;)an[rn]=0}function Zt(an){var rn=an.state,gn=rn.pending;gn>an.avail_out&&(gn=an.avail_out),gn!==0&&(ot.arraySet(an.output,rn.pending_buf,rn.pending_out,gn,an.next_out),an.next_out+=gn,rn.pending_out+=gn,an.total_out+=gn,an.avail_out-=gn,rn.pending-=gn,rn.pending===0&&(rn.pending_out=0))}function Yt(an,rn){Ut._tr_flush_block(an,an.block_start>=0?an.block_start:-1,an.strstart-an.block_start,rn),an.block_start=an.strstart,Zt(an.strm)}function Mt(an,rn){an.pending_buf[an.pending++]=rn}function Gt(an,rn){an.pending_buf[an.pending++]=rn>>>8&255,an.pending_buf[an.pending++]=255&rn}function en(an,rn){var gn,un,Un=an.max_chain_length,_n=an.strstart,vn=an.prev_length,pn=an.nice_match,Rn=an.strstart>an.w_size-262?an.strstart-(an.w_size-262):0,Sn=an.window,fn=an.w_mask,cn=an.prev,bn=an.strstart+258,Vn=Sn[_n+vn-1],Mn=Sn[_n+vn];an.prev_length>=an.good_match&&(Un>>=2),pn>an.lookahead&&(pn=an.lookahead);do if(Sn[(gn=rn)+vn]===Mn&&Sn[gn+vn-1]===Vn&&Sn[gn]===Sn[_n]&&Sn[++gn]===Sn[_n+1]){_n+=2,gn++;do;while(Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&Sn[++_n]===Sn[++gn]&&_nvn){if(an.match_start=rn,vn=un,un>=pn)break;Vn=Sn[_n+vn-1],Mn=Sn[_n+vn]}}while((rn=cn[rn&fn])>Rn&&--Un!=0);return vn<=an.lookahead?vn:an.lookahead}function tn(an){var rn,gn,un,Un,_n,vn,pn,Rn,Sn,fn,cn=an.w_size;do{if(Un=an.window_size-an.lookahead-an.strstart,an.strstart>=cn+(cn-262)){ot.arraySet(an.window,an.window,cn,cn,0),an.match_start-=cn,an.strstart-=cn,an.block_start-=cn,rn=gn=an.hash_size;do un=an.head[--rn],an.head[rn]=un>=cn?un-cn:0;while(--gn);rn=gn=cn;do un=an.prev[--rn],an.prev[rn]=un>=cn?un-cn:0;while(--gn);Un+=cn}if(an.strm.avail_in===0)break;if(vn=an.strm,pn=an.window,Rn=an.strstart+an.lookahead,Sn=Un,fn=void 0,(fn=vn.avail_in)>Sn&&(fn=Sn),gn=fn===0?0:(vn.avail_in-=fn,ot.arraySet(pn,vn.input,vn.next_in,fn,Rn),vn.state.wrap===1?vn.adler=Ft(vn.adler,pn,fn,Rn):vn.state.wrap===2&&(vn.adler=Qt(vn.adler,pn,fn,Rn)),vn.next_in+=fn,vn.total_in+=fn,fn),an.lookahead+=gn,an.lookahead+an.insert>=3)for(_n=an.strstart-an.insert,an.ins_h=an.window[_n],an.ins_h=(an.ins_h<=3&&(an.ins_h=(an.ins_h<=3)if(un=Ut._tr_tally(an,an.strstart-an.match_start,an.match_length-3),an.lookahead-=an.match_length,an.match_length<=an.max_lazy_match&&an.lookahead>=3){an.match_length--;do an.strstart++,an.ins_h=(an.ins_h<=3&&(an.ins_h=(an.ins_h<4096)&&(an.match_length=2)),an.prev_length>=3&&an.match_length<=an.prev_length){Un=an.strstart+an.lookahead-3,un=Ut._tr_tally(an,an.strstart-1-an.prev_match,an.prev_length-3),an.lookahead-=an.prev_length-1,an.prev_length-=2;do++an.strstart<=Un&&(an.ins_h=(an.ins_h<15&&(vn=2,un-=16),Un<1||Un>9||gn!==8||un<8||un>15||rn<0||rn>9||_n<0||_n>4)return Vt(an,-2);un===8&&(un=9);var pn=new Kt;return an.state=pn,pn.strm=an,pn.wrap=vn,pn.gzhead=null,pn.w_bits=un,pn.w_size=1<an.pending_buf_size-5&&(gn=an.pending_buf_size-5);;){if(an.lookahead<=1){if(tn(an),an.lookahead===0&&rn===0)return 1;if(an.lookahead===0)break}an.strstart+=an.lookahead,an.lookahead=0;var un=an.block_start+gn;if((an.strstart===0||an.strstart>=un)&&(an.lookahead=an.strstart-un,an.strstart=un,Yt(an,!1),an.strm.avail_out===0)||an.strstart-an.block_start>=an.w_size-262&&(Yt(an,!1),an.strm.avail_out===0))return 1}return an.insert=0,rn===4?(Yt(an,!0),an.strm.avail_out===0?3:4):(an.strstart>an.block_start&&(Yt(an,!1),an.strm.avail_out),1)}),new sn(4,4,8,4,ln),new sn(4,5,16,8,ln),new sn(4,6,32,32,ln),new sn(4,4,16,16,nn),new sn(8,16,32,32,nn),new sn(8,16,128,128,nn),new sn(8,32,128,256,nn),new sn(32,128,258,1024,nn),new sn(32,258,258,4096,nn)],tt.deflateInit=function(an,rn){return En(an,rn,8,15,8,0)},tt.deflateInit2=En,tt.deflateReset=Qn,tt.deflateResetKeep=dn,tt.deflateSetHeader=function(an,rn){return an&&an.state?an.state.wrap!==2?-2:(an.state.gzhead=rn,0):-2},tt.deflate=function(an,rn){var gn,un,Un,_n;if(!an||!an.state||rn>5||rn<0)return an?Vt(an,-2):-2;if(un=an.state,!an.output||!an.input&&an.avail_in!==0||un.status===666&&rn!==4)return Vt(an,an.avail_out===0?-5:-2);if(un.strm=an,gn=un.last_flush,un.last_flush=rn,un.status===42)if(un.wrap===2)an.adler=0,Mt(un,31),Mt(un,139),Mt(un,8),un.gzhead?(Mt(un,(un.gzhead.text?1:0)+(un.gzhead.hcrc?2:0)+(un.gzhead.extra?4:0)+(un.gzhead.name?8:0)+(un.gzhead.comment?16:0)),Mt(un,255&un.gzhead.time),Mt(un,un.gzhead.time>>8&255),Mt(un,un.gzhead.time>>16&255),Mt(un,un.gzhead.time>>24&255),Mt(un,un.level===9?2:un.strategy>=2||un.level<2?4:0),Mt(un,255&un.gzhead.os),un.gzhead.extra&&un.gzhead.extra.length&&(Mt(un,255&un.gzhead.extra.length),Mt(un,un.gzhead.extra.length>>8&255)),un.gzhead.hcrc&&(an.adler=Qt(an.adler,un.pending_buf,un.pending,0)),un.gzindex=0,un.status=69):(Mt(un,0),Mt(un,0),Mt(un,0),Mt(un,0),Mt(un,0),Mt(un,un.level===9?2:un.strategy>=2||un.level<2?4:0),Mt(un,3),un.status=113);else{var vn=8+(un.w_bits-8<<4)<<8;vn|=(un.strategy>=2||un.level<2?0:un.level<6?1:un.level===6?2:3)<<6,un.strstart!==0&&(vn|=32),vn+=31-vn%31,un.status=113,Gt(un,vn),un.strstart!==0&&(Gt(un,an.adler>>>16),Gt(un,65535&an.adler)),an.adler=1}if(un.status===69)if(un.gzhead.extra){for(Un=un.pending;un.gzindex<(65535&un.gzhead.extra.length)&&(un.pending!==un.pending_buf_size||(un.gzhead.hcrc&&un.pending>Un&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),Zt(an),Un=un.pending,un.pending!==un.pending_buf_size));)Mt(un,255&un.gzhead.extra[un.gzindex]),un.gzindex++;un.gzhead.hcrc&&un.pending>Un&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),un.gzindex===un.gzhead.extra.length&&(un.gzindex=0,un.status=73)}else un.status=73;if(un.status===73)if(un.gzhead.name){Un=un.pending;do{if(un.pending===un.pending_buf_size&&(un.gzhead.hcrc&&un.pending>Un&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),Zt(an),Un=un.pending,un.pending===un.pending_buf_size)){_n=1;break}_n=un.gzindexUn&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),_n===0&&(un.gzindex=0,un.status=91)}else un.status=91;if(un.status===91)if(un.gzhead.comment){Un=un.pending;do{if(un.pending===un.pending_buf_size&&(un.gzhead.hcrc&&un.pending>Un&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),Zt(an),Un=un.pending,un.pending===un.pending_buf_size)){_n=1;break}_n=un.gzindexUn&&(an.adler=Qt(an.adler,un.pending_buf,un.pending-Un,Un)),_n===0&&(un.status=103)}else un.status=103;if(un.status===103&&(un.gzhead.hcrc?(un.pending+2>un.pending_buf_size&&Zt(an),un.pending+2<=un.pending_buf_size&&(Mt(un,255&an.adler),Mt(un,an.adler>>8&255),an.adler=0,un.status=113)):un.status=113),un.pending!==0){if(Zt(an),an.avail_out===0)return un.last_flush=-1,0}else if(an.avail_in===0&&Wt(rn)<=Wt(gn)&&rn!==4)return Vt(an,-5);if(un.status===666&&an.avail_in!==0)return Vt(an,-5);if(an.avail_in!==0||un.lookahead!==0||rn!==0&&un.status!==666){var pn=un.strategy===2?function(Rn,Sn){for(var fn;;){if(Rn.lookahead===0&&(tn(Rn),Rn.lookahead===0)){if(Sn===0)return 1;break}if(Rn.match_length=0,fn=Ut._tr_tally(Rn,0,Rn.window[Rn.strstart]),Rn.lookahead--,Rn.strstart++,fn&&(Yt(Rn,!1),Rn.strm.avail_out===0))return 1}return Rn.insert=0,Sn===4?(Yt(Rn,!0),Rn.strm.avail_out===0?3:4):Rn.last_lit&&(Yt(Rn,!1),Rn.strm.avail_out===0)?1:2}(un,rn):un.strategy===3?function(Rn,Sn){for(var fn,cn,bn,Vn,Mn=Rn.window;;){if(Rn.lookahead<=258){if(tn(Rn),Rn.lookahead<=258&&Sn===0)return 1;if(Rn.lookahead===0)break}if(Rn.match_length=0,Rn.lookahead>=3&&Rn.strstart>0&&(cn=Mn[bn=Rn.strstart-1])===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]){Vn=Rn.strstart+258;do;while(cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&cn===Mn[++bn]&&bnRn.lookahead&&(Rn.match_length=Rn.lookahead)}if(Rn.match_length>=3?(fn=Ut._tr_tally(Rn,1,Rn.match_length-3),Rn.lookahead-=Rn.match_length,Rn.strstart+=Rn.match_length,Rn.match_length=0):(fn=Ut._tr_tally(Rn,0,Rn.window[Rn.strstart]),Rn.lookahead--,Rn.strstart++),fn&&(Yt(Rn,!1),Rn.strm.avail_out===0))return 1}return Rn.insert=0,Sn===4?(Yt(Rn,!0),Rn.strm.avail_out===0?3:4):Rn.last_lit&&(Yt(Rn,!1),Rn.strm.avail_out===0)?1:2}(un,rn):it[un.level].func(un,rn);if(pn!==3&&pn!==4||(un.status=666),pn===1||pn===3)return an.avail_out===0&&(un.last_flush=-1),0;if(pn===2&&(rn===1?Ut._tr_align(un):rn!==5&&(Ut._tr_stored_block(un,0,0,!1),rn===3&&(Xt(un.head),un.lookahead===0&&(un.strstart=0,un.block_start=0,un.insert=0))),Zt(an),an.avail_out===0))return un.last_flush=-1,0}return rn!==4?0:un.wrap<=0?1:(un.wrap===2?(Mt(un,255&an.adler),Mt(un,an.adler>>8&255),Mt(un,an.adler>>16&255),Mt(un,an.adler>>24&255),Mt(un,255&an.total_in),Mt(un,an.total_in>>8&255),Mt(un,an.total_in>>16&255),Mt(un,an.total_in>>24&255)):(Gt(un,an.adler>>>16),Gt(un,65535&an.adler)),Zt(an),un.wrap>0&&(un.wrap=-un.wrap),un.pending!==0?0:1)},tt.deflateEnd=function(an){var rn;return an&&an.state?(rn=an.state.status)!==42&&rn!==69&&rn!==73&&rn!==91&&rn!==103&&rn!==113&&rn!==666?Vt(an,-2):(an.state=null,rn===113?Vt(an,-3):0):-2},tt.deflateSetDictionary=function(an,rn){var gn,un,Un,_n,vn,pn,Rn,Sn,fn=rn.length;if(!an||!an.state||(_n=(gn=an.state).wrap)===2||_n===1&&gn.status!==42||gn.lookahead)return-2;for(_n===1&&(an.adler=Ft(an.adler,rn,fn,0)),gn.wrap=0,fn>=gn.w_size&&(_n===0&&(Xt(gn.head),gn.strstart=0,gn.block_start=0,gn.insert=0),Sn=new ot.Buf8(gn.w_size),ot.arraySet(Sn,rn,fn-gn.w_size,gn.w_size,0),rn=Sn,fn=gn.w_size),vn=an.avail_in,pn=an.next_in,Rn=an.input,an.avail_in=fn,an.next_in=0,an.input=rn,tn(gn);gn.lookahead>=3;){un=gn.strstart,Un=gn.lookahead-2;do gn.ins_h=(gn.ins_h<=0;)cn[bn]=0}var Ut=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ft=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Qt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Bt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Vt=new Array(576);ot(Vt);var Wt=new Array(60);ot(Wt);var Xt=new Array(512);ot(Xt);var Zt=new Array(256);ot(Zt);var Yt=new Array(29);ot(Yt);var Mt,Gt,en,tn=new Array(30);function ln(cn,bn,Vn,Mn,Zn){this.static_tree=cn,this.extra_bits=bn,this.extra_base=Vn,this.elems=Mn,this.max_length=Zn,this.has_stree=cn&&cn.length}function nn(cn,bn){this.dyn_tree=cn,this.max_code=0,this.stat_desc=bn}function sn(cn){return cn<256?Xt[cn]:Xt[256+(cn>>>7)]}function Kt(cn,bn){cn.pending_buf[cn.pending++]=255&bn,cn.pending_buf[cn.pending++]=bn>>>8&255}function dn(cn,bn,Vn){cn.bi_valid>16-Vn?(cn.bi_buf|=bn<>16-cn.bi_valid,cn.bi_valid+=Vn-16):(cn.bi_buf|=bn<>>=1,Vn<<=1;while(--bn>0);return Vn>>>1}function an(cn,bn,Vn){var Mn,Zn,In=new Array(16),Cn=0;for(Mn=1;Mn<=15;Mn++)In[Mn]=Cn=Cn+Vn[Mn-1]<<1;for(Zn=0;Zn<=bn;Zn++){var kn=cn[2*Zn+1];kn!==0&&(cn[2*Zn]=En(In[kn]++,kn))}}function rn(cn){var bn;for(bn=0;bn<286;bn++)cn.dyn_ltree[2*bn]=0;for(bn=0;bn<30;bn++)cn.dyn_dtree[2*bn]=0;for(bn=0;bn<19;bn++)cn.bl_tree[2*bn]=0;cn.dyn_ltree[512]=1,cn.opt_len=cn.static_len=0,cn.last_lit=cn.matches=0}function gn(cn){cn.bi_valid>8?Kt(cn,cn.bi_buf):cn.bi_valid>0&&(cn.pending_buf[cn.pending++]=cn.bi_buf),cn.bi_buf=0,cn.bi_valid=0}function un(cn,bn,Vn,Mn){var Zn=2*bn,In=2*Vn;return cn[Zn]>1;Vn>=1;Vn--)Un(cn,In,Vn);Zn=hn;do Vn=cn.heap[1],cn.heap[1]=cn.heap[cn.heap_len--],Un(cn,In,1),Mn=cn.heap[1],cn.heap[--cn.heap_max]=Vn,cn.heap[--cn.heap_max]=Mn,In[2*Zn]=In[2*Vn]+In[2*Mn],cn.depth[Zn]=(cn.depth[Vn]>=cn.depth[Mn]?cn.depth[Vn]:cn.depth[Mn])+1,In[2*Vn+1]=In[2*Mn+1]=Zn,cn.heap[1]=Zn++,Un(cn,In,1);while(cn.heap_len>=2);cn.heap[--cn.heap_max]=cn.heap[1],function(wn,Wn){var An,Pn,jn,$n,pr,Sr,Qr=Wn.dyn_tree,Ir=Wn.max_code,yr=Wn.stat_desc.static_tree,Rr=Wn.stat_desc.has_stree,wr=Wn.stat_desc.extra_bits,br=Wn.stat_desc.extra_base,Nr=Wn.stat_desc.max_length,kr=0;for($n=0;$n<=15;$n++)wn.bl_count[$n]=0;for(Qr[2*wn.heap[wn.heap_max]+1]=0,An=wn.heap_max+1;An<573;An++)($n=Qr[2*Qr[2*(Pn=wn.heap[An])+1]+1]+1)>Nr&&($n=Nr,kr++),Qr[2*Pn+1]=$n,Pn>Ir||(wn.bl_count[$n]++,pr=0,Pn>=br&&(pr=wr[Pn-br]),Sr=Qr[2*Pn],wn.opt_len+=Sr*($n+pr),Rr&&(wn.static_len+=Sr*(yr[2*Pn+1]+pr)));if(kr!==0){do{for($n=Nr-1;wn.bl_count[$n]===0;)$n--;wn.bl_count[$n]--,wn.bl_count[$n+1]+=2,wn.bl_count[Nr]--,kr-=2}while(kr>0);for($n=Nr;$n!==0;$n--)for(Pn=wn.bl_count[$n];Pn!==0;)(jn=wn.heap[--An])>Ir||(Qr[2*jn+1]!==$n&&(wn.opt_len+=($n-Qr[2*jn+1])*Qr[2*jn],Qr[2*jn+1]=$n),Pn--)}}(cn,bn),an(In,Fn,cn.bl_count)}function pn(cn,bn,Vn){var Mn,Zn,In=-1,Cn=bn[1],kn=0,hn=7,Fn=4;for(Cn===0&&(hn=138,Fn=3),bn[2*(Vn+1)+1]=65535,Mn=0;Mn<=Vn;Mn++)Zn=Cn,Cn=bn[2*(Mn+1)+1],++kn>=7;Zn<30;Zn++)for(tn[Zn]=In<<7,bn=0;bn<1<0?(cn.strm.data_type===2&&(cn.strm.data_type=function(kn){var hn,Fn=4093624447;for(hn=0;hn<=31;hn++,Fn>>>=1)if(1&Fn&&kn.dyn_ltree[2*hn]!==0)return 0;if(kn.dyn_ltree[18]!==0||kn.dyn_ltree[20]!==0||kn.dyn_ltree[26]!==0)return 1;for(hn=32;hn<256;hn++)if(kn.dyn_ltree[2*hn]!==0)return 1;return 0}(cn)),vn(cn,cn.l_desc),vn(cn,cn.d_desc),Cn=function(kn){var hn;for(pn(kn,kn.dyn_ltree,kn.l_desc.max_code),pn(kn,kn.dyn_dtree,kn.d_desc.max_code),vn(kn,kn.bl_desc),hn=18;hn>=3&&kn.bl_tree[2*Bt[hn]+1]===0;hn--);return kn.opt_len+=3*(hn+1)+5+5+4,hn}(cn),Zn=cn.opt_len+3+7>>>3,(In=cn.static_len+3+7>>>3)<=Zn&&(Zn=In)):Zn=In=Vn+5,Vn+4<=Zn&&bn!==-1?fn(cn,bn,Vn,Mn):cn.strategy===4||In===Zn?(dn(cn,2+(Mn?1:0),3),_n(cn,Vt,Wt)):(dn(cn,4+(Mn?1:0),3),function(kn,hn,Fn,wn){var Wn;for(dn(kn,hn-257,5),dn(kn,Fn-1,5),dn(kn,wn-4,4),Wn=0;Wn>>8&255,cn.pending_buf[cn.d_buf+2*cn.last_lit+1]=255&bn,cn.pending_buf[cn.l_buf+cn.last_lit]=255&Vn,cn.last_lit++,bn===0?cn.dyn_ltree[2*Vn]++:(cn.matches++,bn--,cn.dyn_ltree[2*(Zt[Vn]+256+1)]++,cn.dyn_dtree[2*sn(bn)]++),cn.last_lit===cn.lit_bufsize-1},tt._tr_align=function(cn){dn(cn,2,3),Qn(cn,256,Vt),function(bn){bn.bi_valid===16?(Kt(bn,bn.bi_buf),bn.bi_buf=0,bn.bi_valid=0):bn.bi_valid>=8&&(bn.pending_buf[bn.pending++]=255&bn.bi_buf,bn.bi_buf>>=8,bn.bi_valid-=8)}(cn)}},function(et,tt,nt){et.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(et,tt,nt){var it=nt(37),ot=nt(75),Ut=nt(76),Ft=nt(175),Qt=nt(176);function Bt(nn){return(nn>>>24&255)+(nn>>>8&65280)+((65280&nn)<<8)+((255&nn)<<24)}function Vt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new it.Buf16(320),this.work=new it.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Wt(nn){var sn;return nn&&nn.state?(sn=nn.state,nn.total_in=nn.total_out=sn.total=0,nn.msg="",sn.wrap&&(nn.adler=1&sn.wrap),sn.mode=1,sn.last=0,sn.havedict=0,sn.dmax=32768,sn.head=null,sn.hold=0,sn.bits=0,sn.lencode=sn.lendyn=new it.Buf32(852),sn.distcode=sn.distdyn=new it.Buf32(592),sn.sane=1,sn.back=-1,0):-2}function Xt(nn){var sn;return nn&&nn.state?((sn=nn.state).wsize=0,sn.whave=0,sn.wnext=0,Wt(nn)):-2}function Zt(nn,sn){var Kt,dn;return nn&&nn.state?(dn=nn.state,sn<0?(Kt=0,sn=-sn):(Kt=1+(sn>>4),sn<48&&(sn&=15)),sn&&(sn<8||sn>15)?-2:(dn.window!==null&&dn.wbits!==sn&&(dn.window=null),dn.wrap=Kt,dn.wbits=sn,Xt(nn))):-2}function Yt(nn,sn){var Kt,dn;return nn?(dn=new Vt,nn.state=dn,dn.window=null,(Kt=Zt(nn,sn))!==0&&(nn.state=null),Kt):-2}var Mt,Gt,en=!0;function tn(nn){if(en){var sn;for(Mt=new it.Buf32(512),Gt=new it.Buf32(32),sn=0;sn<144;)nn.lens[sn++]=8;for(;sn<256;)nn.lens[sn++]=9;for(;sn<280;)nn.lens[sn++]=7;for(;sn<288;)nn.lens[sn++]=8;for(Qt(1,nn.lens,0,288,Mt,0,nn.work,{bits:9}),sn=0;sn<32;)nn.lens[sn++]=5;Qt(2,nn.lens,0,32,Gt,0,nn.work,{bits:5}),en=!1}nn.lencode=Mt,nn.lenbits=9,nn.distcode=Gt,nn.distbits=5}function ln(nn,sn,Kt,dn){var Qn,En=nn.state;return En.window===null&&(En.wsize=1<=En.wsize?(it.arraySet(En.window,sn,Kt-En.wsize,En.wsize,0),En.wnext=0,En.whave=En.wsize):((Qn=En.wsize-En.wnext)>dn&&(Qn=dn),it.arraySet(En.window,sn,Kt-dn,Qn,En.wnext),(dn-=Qn)?(it.arraySet(En.window,sn,Kt-dn,dn,0),En.wnext=dn,En.whave=En.wsize):(En.wnext+=Qn,En.wnext===En.wsize&&(En.wnext=0),En.whave>>8&255,Kt.check=Ut(Kt.check,wn,2,0),un=0,Un=0,Kt.mode=2;break}if(Kt.flags=0,Kt.head&&(Kt.head.done=!1),!(1&Kt.wrap)||(((255&un)<<8)+(un>>8))%31){nn.msg="incorrect header check",Kt.mode=30;break}if((15&un)!=8){nn.msg="unknown compression method",Kt.mode=30;break}if(Un-=4,In=8+(15&(un>>>=4)),Kt.wbits===0)Kt.wbits=In;else if(In>Kt.wbits){nn.msg="invalid window size",Kt.mode=30;break}Kt.dmax=1<>8&1),512&Kt.flags&&(wn[0]=255&un,wn[1]=un>>>8&255,Kt.check=Ut(Kt.check,wn,2,0)),un=0,Un=0,Kt.mode=3;case 3:for(;Un<32;){if(rn===0)break e;rn--,un+=dn[En++]<>>8&255,wn[2]=un>>>16&255,wn[3]=un>>>24&255,Kt.check=Ut(Kt.check,wn,4,0)),un=0,Un=0,Kt.mode=4;case 4:for(;Un<16;){if(rn===0)break e;rn--,un+=dn[En++]<>8),512&Kt.flags&&(wn[0]=255&un,wn[1]=un>>>8&255,Kt.check=Ut(Kt.check,wn,2,0)),un=0,Un=0,Kt.mode=5;case 5:if(1024&Kt.flags){for(;Un<16;){if(rn===0)break e;rn--,un+=dn[En++]<>>8&255,Kt.check=Ut(Kt.check,wn,2,0)),un=0,Un=0}else Kt.head&&(Kt.head.extra=null);Kt.mode=6;case 6:if(1024&Kt.flags&&((pn=Kt.length)>rn&&(pn=rn),pn&&(Kt.head&&(In=Kt.head.extra_len-Kt.length,Kt.head.extra||(Kt.head.extra=new Array(Kt.head.extra_len)),it.arraySet(Kt.head.extra,dn,En,pn,In)),512&Kt.flags&&(Kt.check=Ut(Kt.check,dn,pn,En)),rn-=pn,En+=pn,Kt.length-=pn),Kt.length))break e;Kt.length=0,Kt.mode=7;case 7:if(2048&Kt.flags){if(rn===0)break e;pn=0;do In=dn[En+pn++],Kt.head&&In&&Kt.length<65536&&(Kt.head.name+=String.fromCharCode(In));while(In&&pn>9&1,Kt.head.done=!0),nn.adler=Kt.check=0,Kt.mode=12;break;case 10:for(;Un<32;){if(rn===0)break e;rn--,un+=dn[En++]<>>=7&Un,Un-=7&Un,Kt.mode=27;break}for(;Un<3;){if(rn===0)break e;rn--,un+=dn[En++]<>>=1)){case 0:Kt.mode=14;break;case 1:if(tn(Kt),Kt.mode=20,sn===6){un>>>=2,Un-=2;break e}break;case 2:Kt.mode=17;break;case 3:nn.msg="invalid block type",Kt.mode=30}un>>>=2,Un-=2;break;case 14:for(un>>>=7&Un,Un-=7&Un;Un<32;){if(rn===0)break e;rn--,un+=dn[En++]<>>16^65535)){nn.msg="invalid stored block lengths",Kt.mode=30;break}if(Kt.length=65535&un,un=0,Un=0,Kt.mode=15,sn===6)break e;case 15:Kt.mode=16;case 16:if(pn=Kt.length){if(pn>rn&&(pn=rn),pn>gn&&(pn=gn),pn===0)break e;it.arraySet(Qn,dn,En,pn,an),rn-=pn,En+=pn,gn-=pn,an+=pn,Kt.length-=pn;break}Kt.mode=12;break;case 17:for(;Un<14;){if(rn===0)break e;rn--,un+=dn[En++]<>>=5,Un-=5,Kt.ndist=1+(31&un),un>>>=5,Un-=5,Kt.ncode=4+(15&un),un>>>=4,Un-=4,Kt.nlen>286||Kt.ndist>30){nn.msg="too many length or distance symbols",Kt.mode=30;break}Kt.have=0,Kt.mode=18;case 18:for(;Kt.have>>=3,Un-=3}for(;Kt.have<19;)Kt.lens[Wn[Kt.have++]]=0;if(Kt.lencode=Kt.lendyn,Kt.lenbits=7,kn={bits:Kt.lenbits},Cn=Qt(0,Kt.lens,0,19,Kt.lencode,0,Kt.work,kn),Kt.lenbits=kn.bits,Cn){nn.msg="invalid code lengths set",Kt.mode=30;break}Kt.have=0,Kt.mode=19;case 19:for(;Kt.have>>16&255,bn=65535&Fn,!((fn=Fn>>>24)<=Un);){if(rn===0)break e;rn--,un+=dn[En++]<>>=fn,Un-=fn,Kt.lens[Kt.have++]=bn;else{if(bn===16){for(hn=fn+2;Un>>=fn,Un-=fn,Kt.have===0){nn.msg="invalid bit length repeat",Kt.mode=30;break}In=Kt.lens[Kt.have-1],pn=3+(3&un),un>>>=2,Un-=2}else if(bn===17){for(hn=fn+3;Un>>=fn)),un>>>=3,Un-=3}else{for(hn=fn+7;Un>>=fn)),un>>>=7,Un-=7}if(Kt.have+pn>Kt.nlen+Kt.ndist){nn.msg="invalid bit length repeat",Kt.mode=30;break}for(;pn--;)Kt.lens[Kt.have++]=In}}if(Kt.mode===30)break;if(Kt.lens[256]===0){nn.msg="invalid code -- missing end-of-block",Kt.mode=30;break}if(Kt.lenbits=9,kn={bits:Kt.lenbits},Cn=Qt(1,Kt.lens,0,Kt.nlen,Kt.lencode,0,Kt.work,kn),Kt.lenbits=kn.bits,Cn){nn.msg="invalid literal/lengths set",Kt.mode=30;break}if(Kt.distbits=6,Kt.distcode=Kt.distdyn,kn={bits:Kt.distbits},Cn=Qt(2,Kt.lens,Kt.nlen,Kt.ndist,Kt.distcode,0,Kt.work,kn),Kt.distbits=kn.bits,Cn){nn.msg="invalid distances set",Kt.mode=30;break}if(Kt.mode=20,sn===6)break e;case 20:Kt.mode=21;case 21:if(rn>=6&&gn>=258){nn.next_out=an,nn.avail_out=gn,nn.next_in=En,nn.avail_in=rn,Kt.hold=un,Kt.bits=Un,Ft(nn,vn),an=nn.next_out,Qn=nn.output,gn=nn.avail_out,En=nn.next_in,dn=nn.input,rn=nn.avail_in,un=Kt.hold,Un=Kt.bits,Kt.mode===12&&(Kt.back=-1);break}for(Kt.back=0;cn=(Fn=Kt.lencode[un&(1<>>16&255,bn=65535&Fn,!((fn=Fn>>>24)<=Un);){if(rn===0)break e;rn--,un+=dn[En++]<>Vn)])>>>16&255,bn=65535&Fn,!(Vn+(fn=Fn>>>24)<=Un);){if(rn===0)break e;rn--,un+=dn[En++]<>>=Vn,Un-=Vn,Kt.back+=Vn}if(un>>>=fn,Un-=fn,Kt.back+=fn,Kt.length=bn,cn===0){Kt.mode=26;break}if(32&cn){Kt.back=-1,Kt.mode=12;break}if(64&cn){nn.msg="invalid literal/length code",Kt.mode=30;break}Kt.extra=15&cn,Kt.mode=22;case 22:if(Kt.extra){for(hn=Kt.extra;Un>>=Kt.extra,Un-=Kt.extra,Kt.back+=Kt.extra}Kt.was=Kt.length,Kt.mode=23;case 23:for(;cn=(Fn=Kt.distcode[un&(1<>>16&255,bn=65535&Fn,!((fn=Fn>>>24)<=Un);){if(rn===0)break e;rn--,un+=dn[En++]<>Vn)])>>>16&255,bn=65535&Fn,!(Vn+(fn=Fn>>>24)<=Un);){if(rn===0)break e;rn--,un+=dn[En++]<>>=Vn,Un-=Vn,Kt.back+=Vn}if(un>>>=fn,Un-=fn,Kt.back+=fn,64&cn){nn.msg="invalid distance code",Kt.mode=30;break}Kt.offset=bn,Kt.extra=15&cn,Kt.mode=24;case 24:if(Kt.extra){for(hn=Kt.extra;Un>>=Kt.extra,Un-=Kt.extra,Kt.back+=Kt.extra}if(Kt.offset>Kt.dmax){nn.msg="invalid distance too far back",Kt.mode=30;break}Kt.mode=25;case 25:if(gn===0)break e;if(pn=vn-gn,Kt.offset>pn){if((pn=Kt.offset-pn)>Kt.whave&&Kt.sane){nn.msg="invalid distance too far back",Kt.mode=30;break}pn>Kt.wnext?(pn-=Kt.wnext,Rn=Kt.wsize-pn):Rn=Kt.wnext-pn,pn>Kt.length&&(pn=Kt.length),Sn=Kt.window}else Sn=Qn,Rn=an-Kt.offset,pn=Kt.length;pn>gn&&(pn=gn),gn-=pn,Kt.length-=pn;do Qn[an++]=Sn[Rn++];while(--pn);Kt.length===0&&(Kt.mode=21);break;case 26:if(gn===0)break e;Qn[an++]=Kt.length,gn--,Kt.mode=21;break;case 27:if(Kt.wrap){for(;Un<32;){if(rn===0)break e;rn--,un|=dn[En++]<>>=Qn=dn>>>24,tn-=Qn,(Qn=dn>>>16&255)===0)Un[Bt++]=65535&dn;else{if(!(16&Qn)){if(!(64&Qn)){dn=ln[(65535&dn)+(en&(1<>>=Qn,tn-=Qn),tn<15&&(en+=un[Ft++]<>>=Qn=dn>>>24,tn-=Qn,!(16&(Qn=dn>>>16&255))){if(!(64&Qn)){dn=nn[(65535&dn)+(en&(1<Xt){it.msg="invalid distance too far back",Ut.mode=30;break e}if(en>>>=Qn,tn-=Qn,an>(Qn=Bt-Vt)){if((Qn=an-Qn)>Yt&&Ut.sane){it.msg="invalid distance too far back",Ut.mode=30;break e}if(rn=0,gn=Gt,Mt===0){if(rn+=Zt-Qn,Qn2;)Un[Bt++]=gn[rn++],Un[Bt++]=gn[rn++],Un[Bt++]=gn[rn++],En-=3;En&&(Un[Bt++]=gn[rn++],En>1&&(Un[Bt++]=gn[rn++]))}else{rn=Bt-an;do Un[Bt++]=Un[rn++],Un[Bt++]=Un[rn++],Un[Bt++]=Un[rn++],En-=3;while(En>2);En&&(Un[Bt++]=Un[rn++],En>1&&(Un[Bt++]=Un[rn++]))}break}}break}}while(Ft>3,en&=(1<<(tn-=En<<3))-1,it.next_in=Ft,it.next_out=Bt,it.avail_in=Ft=1&&Vn[Un]===0;Un--);if(_n>Un&&(_n=Un),Un===0)return Zt[Yt++]=20971520,Zt[Yt++]=20971520,Gt.bits=1,0;for(un=1;un0&&(Bt===0||Un!==1))return-1;for(Mn[1]=0,rn=1;rn<15;rn++)Mn[rn+1]=Mn[rn]+Vn[rn];for(gn=0;gn852||Bt===2&&Sn>592)return 1;for(;;){dn=rn-pn,Mt[gn]Kt?(Qn=Zn[In+Mt[gn]],En=cn[bn+Mt[gn]]):(Qn=96,En=0),en=1<>pn)+(tn-=en)]=dn<<24|Qn<<16|En|0;while(tn!==0);for(en=1<>=1;if(en!==0?(fn&=en-1,fn+=en):fn=0,gn++,--Vn[rn]==0){if(rn===Un)break;rn=Vt[Wt+Mt[gn]]}if(rn>_n&&(fn&nn)!==ln){for(pn===0&&(pn=_n),sn+=un,Rn=1<<(vn=rn-pn);vn+pn852||Bt===2&&Sn>592)return 1;Zt[ln=fn&nn]=_n<<24|vn<<16|sn-Yt|0}}return fn!==0&&(Zt[sn+fn]=rn-pn<<24|64<<16|0),Gt.bits=_n,0}},function(et,tt,nt){et.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(et,tt){},function(et,tt,nt){function it(Vt,Wt){var Xt=Object.keys(Vt);if(Object.getOwnPropertySymbols){var Zt=Object.getOwnPropertySymbols(Vt);Wt&&(Zt=Zt.filter(function(Yt){return Object.getOwnPropertyDescriptor(Vt,Yt).enumerable})),Xt.push.apply(Xt,Zt)}return Xt}function ot(Vt,Wt,Xt){return Wt in Vt?Object.defineProperty(Vt,Wt,{value:Xt,enumerable:!0,configurable:!0,writable:!0}):Vt[Wt]=Xt,Vt}function Ut(Vt,Wt){for(var Xt=0;Xt0?this.tail.next=Yt:this.head=Yt,this.tail=Yt,++this.length}},{key:"unshift",value:function(Zt){var Yt={data:Zt,next:this.head};this.length===0&&(this.tail=Yt),this.head=Yt,++this.length}},{key:"shift",value:function(){if(this.length!==0){var Zt=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,Zt}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(Zt){if(this.length===0)return"";for(var Yt=this.head,Mt=""+Yt.data;Yt=Yt.next;)Mt+=Zt+Yt.data;return Mt}},{key:"concat",value:function(Zt){if(this.length===0)return Ft.alloc(0);for(var Yt,Mt,Gt,en=Ft.allocUnsafe(Zt>>>0),tn=this.head,ln=0;tn;)Yt=tn.data,Mt=en,Gt=ln,Ft.prototype.copy.call(Yt,Mt,Gt),ln+=tn.data.length,tn=tn.next;return en}},{key:"consume",value:function(Zt,Yt){var Mt;return Zten.length?en.length:Zt;if(tn===en.length?Gt+=en:Gt+=en.slice(0,Zt),(Zt-=tn)==0){tn===en.length?(++Mt,Yt.next?this.head=Yt.next:this.head=this.tail=null):(this.head=Yt,Yt.data=en.slice(tn));break}++Mt}return this.length-=Mt,Gt}},{key:"_getBuffer",value:function(Zt){var Yt=Ft.allocUnsafe(Zt),Mt=this.head,Gt=1;for(Mt.data.copy(Yt),Zt-=Mt.data.length;Mt=Mt.next;){var en=Mt.data,tn=Zt>en.length?en.length:Zt;if(en.copy(Yt,Yt.length-Zt,0,tn),(Zt-=tn)==0){tn===en.length?(++Gt,Mt.next?this.head=Mt.next:this.head=this.tail=null):(this.head=Mt,Mt.data=en.slice(tn));break}++Gt}return this.length-=Gt,Yt}},{key:Bt,value:function(Zt,Yt){return Qt(this,function(Mt){for(var Gt=1;Gt0,function(Kt){Gt||(Gt=Kt),Kt&&tn.forEach(Vt),sn||(tn.forEach(Vt),en(Gt))})});return Yt.reduce(Wt)}},function(et,tt,nt){var it=nt(186)(function ot(Ut,Ft){return(Ft=Ft||{}).namespace=Ut,Ft.prod=!0,Ft.dev=!1,Ft.force||ot.force?ot.yep(Ft):ot.nope(Ft)});et.exports=it},function(et,tt){var nt=[],it=[],ot=function(){};function Ut(Mt){return!~nt.indexOf(Mt)&&(nt.push(Mt),!0)}function Ft(Mt){ot=Mt}function Qt(Mt){for(var Gt=[],en=0;enBt.start)&&(Vt?Vt(null,Yt):Zt.emit("line",Yt)),Gt++,Yt=""),setTimeout(ln,1e3);var Kt=Xt.write(Wt.slice(0,sn));Vt||Zt.emit("data",Kt);for(var dn=(Kt=(Yt+Kt).split(/\n+/)).length-1,Qn=0;QnBt.start)&&(Vt?Vt(null,Kt[Qn]):Zt.emit("line",Kt[Qn])),Gt++;return Yt=Kt[dn],Mt+=sn,ln()});ot.close(tn,Qt)})()}),Vt?Zt.destroy:Zt}}).call(this,nt(5).Buffer)},function(et,tt,nt){(function(it,ot){function Ut(nn){return(Ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(sn){return typeof sn}:function(sn){return sn&&typeof Symbol=="function"&&sn.constructor===Symbol&&sn!==Symbol.prototype?"symbol":typeof sn})(nn)}function Ft(nn,sn){var Kt=Object.keys(nn);if(Object.getOwnPropertySymbols){var dn=Object.getOwnPropertySymbols(nn);sn&&(dn=dn.filter(function(Qn){return Object.getOwnPropertyDescriptor(nn,Qn).enumerable})),Kt.push.apply(Kt,dn)}return Kt}function Qt(nn){for(var sn=1;sn"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var Kt,dn=Mt(nn);if(sn){var Qn=Mt(this).constructor;Kt=Reflect.construct(dn,arguments,Qn)}else Kt=dn.apply(this,arguments);return Yt(this,Kt)}}function Yt(nn,sn){return!sn||Ut(sn)!=="object"&&typeof sn!="function"?function(Kt){if(Kt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Kt}(nn):sn}function Mt(nn){return(Mt=Object.setPrototypeOf?Object.getPrototypeOf:function(sn){return sn.__proto__||Object.getPrototypeOf(sn)})(nn)}var Gt=nt(83),en=nt(199),tn=nt(33).Stream,ln=nt(20);et.exports=function(nn){(function(En,an){if(typeof an!="function"&&an!==null)throw new TypeError("Super expression must either be null or a function");En.prototype=Object.create(an&&an.prototype,{constructor:{value:En,writable:!0,configurable:!0}}),an&&Xt(En,an)})(Qn,nn);var sn,Kt,dn=Zt(Qn);function Qn(){var En,an=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Vt(this,Qn),(En=dn.call(this,an)).options=an,En.name=an.name||"http",En.ssl=!!an.ssl,En.host=an.host||"localhost",En.port=an.port,En.auth=an.auth,En.path=an.path||"",En.agent=an.agent,En.headers=an.headers||{},En.headers["content-type"]="application/json",En.port||(En.port=En.ssl?443:80),En}return sn=Qn,(Kt=[{key:"log",value:function(En,an){var rn=this;this._request(En,function(gn,un){un&&un.statusCode!==200&&(gn=new Error("Invalid HTTP Status Code: ".concat(un.statusCode))),gn?rn.emit("warn",gn):rn.emit("logged",En)}),an&&it(an)}},{key:"query",value:function(En,an){typeof En=="function"&&(an=En,En={}),(En={method:"query",params:this.normalizeQuery(En)}).params.path&&(En.path=En.params.path,delete En.params.path),En.params.auth&&(En.auth=En.params.auth,delete En.params.auth),this._request(En,function(rn,gn,un){if(gn&&gn.statusCode!==200&&(rn=new Error("Invalid HTTP Status Code: ".concat(gn.statusCode))),rn)return an(rn);if(typeof un=="string")try{un=JSON.parse(un)}catch(Un){return an(Un)}an(null,un)})}},{key:"stream",value:function(){var En=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},an=new tn;(En={method:"stream",params:En}).params.path&&(En.path=En.params.path,delete En.params.path),En.params.auth&&(En.auth=En.params.auth,delete En.params.auth);var rn="",gn=this._request(En);return an.destroy=function(){return gn.destroy()},gn.on("data",function(un){for(var Un=(un=(rn+un).split(/\n+/)).length-1,_n=0;_n= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Mt=Math.floor,Gt=String.fromCharCode;function en(an){throw new RangeError(Yt[an])}function tn(an,rn){for(var gn=an.length,un=[];gn--;)un[gn]=rn(an[gn]);return un}function ln(an,rn){var gn=an.split("@"),un="";return gn.length>1&&(un=gn[0]+"@",an=gn[1]),un+tn((an=an.replace(Zt,".")).split("."),rn).join(".")}function nn(an){for(var rn,gn,un=[],Un=0,_n=an.length;Un<_n;)(rn=an.charCodeAt(Un++))>=55296&&rn<=56319&&Un<_n?(64512&(gn=an.charCodeAt(Un++)))==56320?un.push(((1023&rn)<<10)+(1023&gn)+65536):(un.push(rn),Un--):un.push(rn);return un}function sn(an){return tn(an,function(rn){var gn="";return rn>65535&&(gn+=Gt((rn-=65536)>>>10&1023|55296),rn=56320|1023&rn),gn+=Gt(rn)}).join("")}function Kt(an,rn){return an+22+75*(an<26)-((rn!=0)<<5)}function dn(an,rn,gn){var un=0;for(an=gn?Mt(an/700):an>>1,an+=Mt(an/rn);an>455;un+=36)an=Mt(an/35);return Mt(un+36*an/(an+38))}function Qn(an){var rn,gn,un,Un,_n,vn,pn,Rn,Sn,fn,cn,bn=[],Vn=an.length,Mn=0,Zn=128,In=72;for((gn=an.lastIndexOf("-"))<0&&(gn=0),un=0;un=128&&en("not-basic"),bn.push(an.charCodeAt(un));for(Un=gn>0?gn+1:0;Un=Vn&&en("invalid-input"),((Rn=(cn=an.charCodeAt(Un++))-48<10?cn-22:cn-65<26?cn-65:cn-97<26?cn-97:36)>=36||Rn>Mt((Vt-Mn)/vn))&&en("overflow"),Mn+=Rn*vn,!(Rn<(Sn=pn<=In?1:pn>=In+26?26:pn-In));pn+=36)vn>Mt(Vt/(fn=36-Sn))&&en("overflow"),vn*=fn;In=dn(Mn-_n,rn=bn.length+1,_n==0),Mt(Mn/rn)>Vt-Zn&&en("overflow"),Zn+=Mt(Mn/rn),Mn%=rn,bn.splice(Mn++,0,Zn)}return sn(bn)}function En(an){var rn,gn,un,Un,_n,vn,pn,Rn,Sn,fn,cn,bn,Vn,Mn,Zn,In=[];for(bn=(an=nn(an)).length,rn=128,gn=0,_n=72,vn=0;vn=rn&&cnMt((Vt-gn)/(Vn=un+1))&&en("overflow"),gn+=(pn-rn)*Vn,rn=pn,vn=0;vnVt&&en("overflow"),cn==rn){for(Rn=gn,Sn=36;!(Rn<(fn=Sn<=_n?1:Sn>=_n+26?26:Sn-_n));Sn+=36)Zn=Rn-fn,Mn=36-fn,In.push(Gt(Kt(fn+Zn%Mn,0))),Rn=Mt(Zn/Mn);In.push(Gt(Kt(Rn,0))),_n=dn(gn,Vn,un==Un),gn=0,++un}++gn,++rn}return In.join("")}Bt={version:"1.4.1",ucs2:{decode:nn,encode:sn},decode:Qn,encode:En,toASCII:function(an){return ln(an,function(rn){return Xt.test(rn)?"xn--"+En(rn):rn})},toUnicode:function(an){return ln(an,function(rn){return Wt.test(rn)?Qn(rn.slice(4).toLowerCase()):rn})}},(Ut=function(){return Bt}.call(tt,nt,tt,it))===void 0||(it.exports=Ut)})()}).call(this,nt(194)(et),nt(6))},function(et,tt){et.exports=function(nt){return nt.webpackPolyfill||(nt.deprecate=function(){},nt.paths=[],nt.children||(nt.children=[]),Object.defineProperty(nt,"loaded",{enumerable:!0,get:function(){return nt.l}}),Object.defineProperty(nt,"id",{enumerable:!0,get:function(){return nt.i}}),nt.webpackPolyfill=1),nt}},function(et,tt,nt){et.exports={isString:function(it){return typeof it=="string"},isObject:function(it){return typeof it=="object"&&it!==null},isNull:function(it){return it===null},isNullOrUndefined:function(it){return it==null}}},function(et,tt,nt){tt.decode=tt.parse=nt(197),tt.encode=tt.stringify=nt(198)},function(et,tt,nt){function it(Ut,Ft){return Object.prototype.hasOwnProperty.call(Ut,Ft)}et.exports=function(Ut,Ft,Qt,Bt){Ft=Ft||"&",Qt=Qt||"=";var Vt={};if(typeof Ut!="string"||Ut.length===0)return Vt;var Wt=/\+/g;Ut=Ut.split(Ft);var Xt=1e3;Bt&&typeof Bt.maxKeys=="number"&&(Xt=Bt.maxKeys);var Zt=Ut.length;Xt>0&&Zt>Xt&&(Zt=Xt);for(var Yt=0;Yt=0?(Mt=ln.substr(0,nn),Gt=ln.substr(nn+1)):(Mt=ln,Gt=""),en=decodeURIComponent(Mt),tn=decodeURIComponent(Gt),it(Vt,en)?ot(Vt[en])?Vt[en].push(tn):Vt[en]=[Vt[en],tn]:Vt[en]=tn}return Vt};var ot=Array.isArray||function(Ut){return Object.prototype.toString.call(Ut)==="[object Array]"}},function(et,tt,nt){var it=function(Qt){switch(typeof Qt){case"string":return Qt;case"boolean":return Qt?"true":"false";case"number":return isFinite(Qt)?Qt:"";default:return""}};et.exports=function(Qt,Bt,Vt,Wt){return Bt=Bt||"&",Vt=Vt||"=",Qt===null&&(Qt=void 0),typeof Qt=="object"?Ut(Ft(Qt),function(Xt){var Zt=encodeURIComponent(it(Xt))+Vt;return ot(Qt[Xt])?Ut(Qt[Xt],function(Yt){return Zt+encodeURIComponent(it(Yt))}).join(Bt):Zt+encodeURIComponent(it(Qt[Xt]))}).join(Bt):Wt?encodeURIComponent(it(Wt))+Vt+encodeURIComponent(it(Qt)):""};var ot=Array.isArray||function(Qt){return Object.prototype.toString.call(Qt)==="[object Array]"};function Ut(Qt,Bt){if(Qt.map)return Qt.map(Bt);for(var Vt=[],Wt=0;Wt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var tn,ln=Wt(Gt);if(en){var nn=Wt(this).constructor;tn=Reflect.construct(ln,arguments,nn)}else tn=ln.apply(this,arguments);return Vt(this,tn)}}function Vt(Gt,en){return!en||ot(en)!=="object"&&typeof en!="function"?function(tn){if(tn===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return tn}(Gt):en}function Wt(Gt){return(Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(en){return en.__proto__||Object.getPrototypeOf(en)})(Gt)}var Xt=nt(87),Zt=nt(3).MESSAGE,Yt=nt(18),Mt=nt(20);et.exports=function(Gt){(function(sn,Kt){if(typeof Kt!="function"&&Kt!==null)throw new TypeError("Super expression must either be null or a function");sn.prototype=Object.create(Kt&&Kt.prototype,{constructor:{value:sn,writable:!0,configurable:!0}}),Kt&&Qt(sn,Kt)})(nn,Gt);var en,tn,ln=Bt(nn);function nn(){var sn,Kt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ut(this,nn),sn=ln.call(this,Kt),!Kt.stream||!Xt(Kt.stream))throw new Error("options.stream is required.");return sn._stream=Kt.stream,sn._stream.setMaxListeners(1/0),sn.isObjectMode=Kt.stream._writableState.objectMode,sn.eol=Kt.eol||Yt.EOL,sn}return en=nn,(tn=[{key:"log",value:function(sn,Kt){var dn=this;if(it(function(){return dn.emit("logged",sn)}),this.isObjectMode)return this._stream.write(sn),void(Kt&&Kt());this._stream.write("".concat(sn[Zt]).concat(this.eol)),Kt&&Kt()}}])&&Ft(en.prototype,tn),nn}(Mt)}).call(this,nt(15).setImmediate)},function(et,tt,nt){(function(it){function ot(un,Un,_n){return Un in un?Object.defineProperty(un,Un,{value:_n,enumerable:!0,configurable:!0,writable:!0}):un[Un]=_n,un}function Ut(un){return(Ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Un){return typeof Un}:function(Un){return Un&&typeof Symbol=="function"&&Un.constructor===Symbol&&Un!==Symbol.prototype?"symbol":typeof Un})(un)}function Ft(un,Un){for(var _n=0;_n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}();return function(){var _n,vn=Wt(un);if(Un){var pn=Wt(this).constructor;_n=Reflect.construct(vn,arguments,pn)}else _n=vn.apply(this,arguments);return Vt(this,_n)}}function Vt(un,Un){return!Un||Ut(Un)!=="object"&&typeof Un!="function"?function(_n){if(_n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _n}(un):Un}function Wt(un){return(Wt=Object.setPrototypeOf?Object.getPrototypeOf:function(Un){return Un.__proto__||Object.getPrototypeOf(Un)})(un)}var Xt=nt(33),Zt=Xt.Stream,Yt=Xt.Transform,Mt=nt(51),Gt=nt(3),en=Gt.LEVEL,tn=Gt.SPLAT,ln=nt(87),nn=nt(89),sn=nt(93),Kt=nt(205),dn=nt(206),Qn=nt(61).warn,En=nt(50),an=/%[scdjifoO%]/g,rn=function(un){(function(Rn,Sn){if(typeof Sn!="function"&&Sn!==null)throw new TypeError("Super expression must either be null or a function");Rn.prototype=Object.create(Sn&&Sn.prototype,{constructor:{value:Rn,writable:!0,configurable:!0}}),Sn&&Qt(Rn,Sn)})(pn,un);var Un,_n,vn=Bt(pn);function pn(Rn){var Sn;return function(fn,cn){if(!(fn instanceof cn))throw new TypeError("Cannot call a class as a function")}(this,pn),(Sn=vn.call(this,{objectMode:!0})).configure(Rn),Sn}return Un=pn,(_n=[{key:"child",value:function(Rn){var Sn=this;return Object.create(Sn,{write:{value:function(fn){var cn=Object.assign({},Rn,fn);fn instanceof Error&&(cn.stack=fn.stack,cn.message=fn.message),Sn.write(cn)}}})}},{key:"configure",value:function(){var Rn=this,Sn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},fn=Sn.silent,cn=Sn.format,bn=Sn.defaultMeta,Vn=Sn.levels,Mn=Sn.level,Zn=Mn===void 0?"info":Mn,In=Sn.exitOnError,Cn=In===void 0||In,kn=Sn.transports,hn=Sn.colors,Fn=Sn.emitErrs,wn=Sn.formatters,Wn=Sn.padLevels,An=Sn.rewriters,Pn=Sn.stripColors,jn=Sn.exceptionHandlers,$n=Sn.rejectionHandlers;if(this.transports.length&&this.clear(),this.silent=fn,this.format=cn||this.format||nt(207)(),this.defaultMeta=bn||null,this.levels=Vn||this.levels||En.npm.levels,this.level=Zn,this.exceptions=new nn(this),this.rejections=new sn(this),this.profilers={},this.exitOnError=Cn,kn&&(kn=Array.isArray(kn)?kn:[kn]).forEach(function(pr){return Rn.add(pr)}),hn||Fn||wn||Wn||An||Pn)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(` -`));jn&&this.exceptions.handle(jn),$n&&this.rejections.handle($n)}},{key:"isLevelEnabled",value:function(Rn){var Sn=this,fn=gn(this.levels,Rn);if(fn===null)return!1;var cn=gn(this.levels,this.level);return cn!==null&&(this.transports&&this.transports.length!==0?this.transports.findIndex(function(bn){var Vn=gn(Sn.levels,bn.level);return Vn===null&&(Vn=cn),Vn>=fn})!==-1:cn>=fn)}},{key:"log",value:function(Rn,Sn){for(var fn,cn,bn=arguments.length,Vn=new Array(bn>2?bn-2:0),Mn=2;Mn2?new Kt({transport:Rn}):Rn;if(!Sn._writableState||!Sn._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",Sn),this._onEvent("warn",Sn),this.pipe(Sn),Rn.handleExceptions&&this.exceptions.handle(),Rn.handleRejections&&this.rejections.handle(),this}},{key:"remove",value:function(Rn){if(!Rn)return this;var Sn=Rn;return(!ln(Rn)||Rn.log.length>2)&&(Sn=this.transports.filter(function(fn){return fn.transport===Rn})[0]),Sn&&this.unpipe(Sn),this}},{key:"clear",value:function(){return this.unpipe(),this}},{key:"close",value:function(){return this.clear(),this.emit("close"),this}},{key:"setLevels",value:function(){Qn.deprecated("setLevels")}},{key:"query",value:function(Rn,Sn){typeof Rn=="function"&&(Sn=Rn,Rn={}),Rn=Rn||{};var fn={},cn=Object.assign({},Rn.query||{});Mt(this.transports.filter(function(bn){return!!bn.query}),function(bn,Vn){(function(Mn,Zn){Rn.query&&typeof Mn.formatQuery=="function"&&(Rn.query=Mn.formatQuery(cn)),Mn.query(Rn,function(In,Cn){if(In)return Zn(In);typeof Mn.formatResults=="function"&&(Cn=Mn.formatResults(Cn,Rn.format)),Zn(null,Cn)})})(bn,function(Mn,Zn){Vn&&((Zn=Mn||Zn)&&(fn[bn.name]=Zn),Vn()),Vn=null})},function(){return Sn(null,fn)})}},{key:"stream",value:function(){var Rn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Sn=new Zt,fn=[];return Sn._streams=fn,Sn.destroy=function(){for(var cn=fn.length;cn--;)fn[cn].destroy()},this.transports.filter(function(cn){return!!cn.stream}).forEach(function(cn){var bn=cn.stream(Rn);bn&&(fn.push(bn),bn.on("log",function(Vn){Vn.transport=Vn.transport||[],Vn.transport.push(cn.name),Sn.emit("log",Vn)}),bn.on("error",function(Vn){Vn.transport=Vn.transport||[],Vn.transport.push(cn.name),Sn.emit("error",Vn)}))}),Sn}},{key:"startTimer",value:function(){return new dn(this)}},{key:"profile",value:function(Rn){var Sn=Date.now();if(this.profilers[Rn]){var fn=this.profilers[Rn];delete this.profilers[Rn];for(var cn=arguments.length,bn=new Array(cn>1?cn-1:0),Vn=1;Vnit(ot,Ft)},et.exports=tt.default},function(et,tt,nt){var it=Object.prototype.toString;et.exports=function(ot){if(typeof ot.displayName=="string"&&ot.constructor.name)return ot.displayName;if(typeof ot.name=="string"&&ot.name)return ot.name;if(typeof ot=="object"&&ot.constructor&&typeof ot.constructor.name=="string")return ot.constructor.name;var Ut=ot.toString(),Ft=it.call(ot).slice(8,-1);return(Ut=Ft==="Function"?Ut.substring(Ut.indexOf("(")+1,Ut.indexOf(")")):Ft)||"anonymous"}},function(et,tt,nt){const it=nt(13),{LEVEL:ot}=nt(3),Ut=nt(20),Ft=et.exports=function(Qt={}){if(Ut.call(this,Qt),!Qt.transport||typeof Qt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");this.transport=Qt.transport,this.level=this.level||Qt.transport.level,this.handleExceptions=this.handleExceptions||Qt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=function(Bt){this.emit("error",Bt,this.transport)}.bind(this),this.transport.on("error",this.transport.__winstonError))};it.inherits(Ft,Ut),Ft.prototype._write=function(Qt,Bt,Vt){if(this.silent||Qt.exception===!0&&!this.handleExceptions)return Vt(null);(!this.level||this.levels[this.level]>=this.levels[Qt[ot]])&&this.transport.log(Qt[ot],Qt.message,Qt,this._nop),Vt(null)},Ft.prototype._writev=function(Qt,Bt){for(let Vt=0;Vt(Bt[Ut]=(Vt.stable?Ft.stableStringify:Ft)(Bt,Vt.replacer||Qt,Vt.space),Bt))}).call(this,nt(5).Buffer)},function(et,tt,nt){class it extends Error{constructor(Ut){super(`Format functions must be synchronous taking a two arguments: (info, opts) -Found: ${Ut.toString().split(` -`)[0]} -`),Error.captureStackTrace(this,it)}}et.exports=ot=>{if(ot.length>2)throw new it(ot);function Ut(Qt={}){this.options=Qt}function Ft(Qt){return new Ut(Qt)}return Ut.prototype.transform=ot,Ft.Format=Ut,Ft}},function(et,tt,nt){function it(Ft,Qt){if(!(Ft instanceof Qt))throw new TypeError("Cannot call a class as a function")}function ot(Ft,Qt){for(var Bt=0;Bt0&&arguments[0]!==void 0?arguments[0]:{};it(this,Ft),this.loggers=new Map,this.options=Vt}var Qt,Bt;return Qt=Ft,(Bt=[{key:"add",value:function(Vt,Wt){var Xt=this;if(!this.loggers.has(Vt)){var Zt=(Wt=Object.assign({},Wt||this.options)).transports||this.options.transports;Wt.transports=Zt?Zt.slice():[];var Yt=Ut(Wt);Yt.on("close",function(){return Xt._delete(Vt)}),this.loggers.set(Vt,Yt)}return this.loggers.get(Vt)}},{key:"get",value:function(Vt,Wt){return this.add(Vt,Wt)}},{key:"has",value:function(Vt){return!!this.loggers.has(Vt)}},{key:"close",value:function(Vt){var Wt=this;if(Vt)return this._removeLogger(Vt);this.loggers.forEach(function(Xt,Zt){return Wt._removeLogger(Zt)})}},{key:"_removeLogger",value:function(Vt){this.loggers.has(Vt)&&(this.loggers.get(Vt).close(),this._delete(Vt))}},{key:"_delete",value:function(Vt){this.loggers.delete(Vt)}}])&&ot(Qt.prototype,Bt),Ft}()},function(et,tt,nt){(function(it){const ot=nt(52),Ut=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/;et.exports=function(Ft,Qt,Bt,Vt){let Wt,Xt,Zt=!1,Yt=!1;const Mt=nt(94);function Gt(ln){Vt(Qt,ln)}function en(ln,nn){let sn=`"${Qt}" ${nn}`;throw ln&&(sn=`${sn}`),Xt&&(sn=`${sn}. An example of a valid value would be: ${Xt}`),new ot(sn)}const tn={convertFromBase64:function(){return Gt("marking for base64 conversion"),Zt=!0,tn},default:function(ln){if(typeof ln=="number")Wt=ln.toString();else if(Array.isArray(ln)||typeof ln=="object"&&ln!==null)Wt=JSON.stringify(ln);else{if(typeof ln!="string")throw new ot("values passed to default() must be of Number, String, Array, or Object type");Wt=ln}return Gt(`setting default value to "${Wt}"`),tn},required:function(ln){return ln===void 0?(Gt("marked as required"),Yt=!0):(Gt(`setting required flag to ${ln}`),Yt=ln),tn},example:function(ln){return Xt=ln,tn}};return Object.entries({...Mt,...Bt}).forEach(([ln,nn])=>{tn[ln]=function(sn){return function(){let Kt=Ft[Qt];if(Gt(`will be read from the environment using "${sn.name}" accessor`),Kt===void 0)if(Wt===void 0&&Yt)Gt("was not found in the environment, but is required to be set"),en(void 0,"is a required variable, but it was not set");else{if(Wt===void 0)return void Gt("was not found in the environment, but is not required. returning undefined");Gt(`was not found in the environment, parsing default value "${Wt}" instead`),Kt=Wt}Yt&&(Gt("verifying variable value is not an empty string"),Kt.trim().length===0&&en(void 0,"is a required variable, but its value was empty")),Zt&&(Gt("verifying variable is a valid base64 string"),Kt.match(Ut)||en(Kt,"should be a valid base64 string if using convertFromBase64"),Gt("converting from base64 to utf8 string"),Kt=it.from(Kt,"base64").toString());const dn=[Kt].concat(Array.prototype.slice.call(arguments));try{Gt(`passing value "${Kt}" to "${sn.name}" accessor`);const Qn=sn.apply(sn,dn);return Gt(`parsed successfully, returning ${Qn}`),Qn}catch(Qn){en(Kt,Qn.message)}}}(nn)}),tn}}).call(this,nt(5).Buffer)},function(et,tt,nt){const it=nt(34);et.exports=function(ot,Ut){return Ut=Ut||",",ot.length?it(ot).split(Ut).filter(Boolean):[]}},function(et,tt,nt){et.exports=function(it){const ot=it.toLowerCase();if(ot!=="false"&&ot!=="true")throw new Error('should be either "true", "false", "TRUE", or "FALSE"');return ot!=="false"}},function(et,tt,nt){et.exports=function(it){const ot=it.toLowerCase();if(["false","0","true","1"].indexOf(ot)===-1)throw new Error('should be either "true", "false", "TRUE", "FALSE", 1, or 0');return!(ot==="0"||ot==="false")}},function(et,tt,nt){const it=nt(95);et.exports=function(ot){var Ut=it(ot);if(Ut>65535)throw new Error("cannot assign a port number greater than 65535");return Ut}},function(et,tt,nt){const it=nt(34);et.exports=function(ot,Ut){const Ft=it(ot);if(Ut.indexOf(Ft)<0)throw new Error(`should be one of [${Ut.join(", ")}]`);return Ft}},function(et,tt,nt){const it=nt(54);et.exports=function(ot){const Ut=it(ot);if(Ut>0)throw new Error("should be a negative float");return Ut}},function(et,tt,nt){const it=nt(54);et.exports=function(ot){const Ut=it(ot);if(Ut<0)throw new Error("should be a positive float");return Ut}},function(et,tt,nt){const it=nt(53);et.exports=function(ot){const Ut=it(ot);if(Ut>0)throw new Error("should be a negative integer");return Ut}},function(et,tt,nt){const it=nt(55);et.exports=function(ot){var Ut=it(ot);if(!Array.isArray(Ut))throw new Error("should be a parseable JSON Array");return Ut}},function(et,tt,nt){const it=nt(55);et.exports=function(ot){var Ut=it(ot);if(Array.isArray(Ut))throw new Error("should be a parseable JSON Object");return Ut}},function(et,tt,nt){et.exports=function(it,ot){try{RegExp(void 0,ot)}catch{throw new Error("invalid regexp flags")}try{return new RegExp(it,ot)}catch{throw new Error("should be a valid regexp")}}},function(et,tt,nt){const it=nt(96);et.exports=function(ot){return it(ot).toString()}},function(et,tt,nt){const it=nt(34),ot=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021\u0023-\u005b\u005d-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021-\u005a\u0053-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])+)\])$/;et.exports=function(Ut){const Ft=it(Ut);if(!ot.test(Ft))throw new Error("should be a valid email address");return Ft}},function(et,tt,nt){et.exports=function(it,ot){return function(Ut,Ft){ot&&ot.match(/prod|production/)||it(`env-var (${Ut}): ${Ft}`)}}},function(et,tt,nt){(function(it){(function(){var ot,Ut,Ft,Qt,Bt,Vt;typeof performance<"u"&&performance!==null&&performance.now?et.exports=function(){return performance.now()}:it!=null&&it.hrtime?(et.exports=function(){return(ot()-Bt)/1e6},Ut=it.hrtime,Qt=(ot=function(){var Wt;return 1e9*(Wt=Ut())[0]+Wt[1]})(),Vt=1e9*it.uptime(),Bt=Qt-Vt):Date.now?(et.exports=function(){return Date.now()-Ft},Ft=Date.now()):(et.exports=function(){return new Date().getTime()-Ft},Ft=new Date().getTime())}).call(this)}).call(this,nt(2))},function(et,tt,nt){(function(it){(function(ot){function Ut(Qt){if((Qt=Qt===void 0?"utf-8":Qt)!=="utf-8")throw new RangeError("Failed to construct 'TextEncoder': The encoding label provided ('"+Qt+"') is invalid.")}function Ft(Qt,Bt){if(Bt=Bt===void 0?{fatal:!1}:Bt,(Qt=Qt===void 0?"utf-8":Qt)!=="utf-8")throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+Qt+"') is invalid.");if(Bt.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}if(ot.TextEncoder&&ot.TextDecoder)return!1;Object.defineProperty(Ut.prototype,"encoding",{value:"utf-8"}),Ut.prototype.encode=function(Qt,Bt){if((Bt=Bt===void 0?{stream:!1}:Bt).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");Bt=0;for(var Vt=Qt.length,Wt=0,Xt=Math.max(32,Vt+(Vt>>1)+7),Zt=new Uint8Array(Xt>>3<<3);Bt=Yt){if(Bt=Yt)continue}if(Wt+4>Zt.length&&(Xt+=8,Xt=(Xt*=1+Bt/Qt.length*2)>>3<<3,(Mt=new Uint8Array(Xt)).set(Zt),Zt=Mt),(4294967168&Yt)==0)Zt[Wt++]=Yt;else{if(!(4294965248&Yt))Zt[Wt++]=Yt>>6&31|192;else if(!(4294901760&Yt))Zt[Wt++]=Yt>>12&15|224,Zt[Wt++]=Yt>>6&63|128;else{if(4292870144&Yt)continue;Zt[Wt++]=Yt>>18&7|240,Zt[Wt++]=Yt>>12&63|128,Zt[Wt++]=Yt>>6&63|128}Zt[Wt++]=63&Yt|128}}return Zt.slice(0,Wt)},Object.defineProperty(Ft.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(Ft.prototype,"fatal",{value:!1}),Object.defineProperty(Ft.prototype,"ignoreBOM",{value:!1}),Ft.prototype.decode=function(Qt,Bt){if((Bt=Bt===void 0?{stream:!1}:Bt).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");Bt=0;for(var Vt=(Qt=new Uint8Array(Qt)).length,Wt=[];Bt>>10&1023|55296),Xt=56320|1023&Xt),Wt.push(Xt))}return String.fromCharCode.apply(null,Wt)},ot.TextEncoder=Ut,ot.TextDecoder=Ft})(typeof window<"u"?window:it!==void 0?it:this)}).call(this,nt(6))},function(et,tt,nt){nt.r(tt),nt.d(tt,"AuthClient",function(){return Ut}),nt.d(tt,"RtcSignalingClient",function(){return Qt}),nt.d(tt,"Credentials",function(){return _n}),nt.d(tt,"SignalingPromiseClient",function(){return vn.SignalingPromiseClient}),nt.d(tt,"RtcClient",function(){return as}),nt.d(tt,"RtcClientV1",function(){return Ns}),nt.d(tt,"createRtcStreamMessage",function(){return kr});var it=nt(28),ot=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class Ut extends it.a{adminSignup(yn,Tn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/admin-signup",{token:Tn,method:"POST",body:yn})})}login(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/login",{method:"POST",body:yn,allowUnsafeRetries:!0})})}loginWithGoogleToken(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/login-google",{method:"POST",body:yn,allowUnsafeRetries:!0})})}refresh(yn,Tn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/refresh",{method:"POST",body:{refreshToken:yn,tokenExpirationSeconds:Tn},allowUnsafeRetries:!0})})}respondToNewPasswordRequiredChallenge(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/respond-to-new-password-required-challenge",{method:"POST",body:yn})})}forgotPassword(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/forgot-password",{method:"POST",body:{email:yn}})})}confirmForgotPassword(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/confirm-forgot-password",{method:"POST",body:yn})})}resendInvitation(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/resend-invitation",{method:"POST",body:{email:yn}})})}changePassword({token:yn,refreshToken:Tn,currentPassword:Dn,newPassword:zn}){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/change-password",{token:yn,method:"POST",body:{refreshToken:Tn,currentPassword:Dn,newPassword:zn}})})}getDeviceCredentials(yn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/device-credentials",{token:yn,method:"POST",allowUnsafeRetries:!0})})}impersonate(yn,Tn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/impersonate",{token:yn,method:"POST",allowUnsafeRetries:!0,body:{userId:Tn}})})}createServiceAccount(yn,Tn,Dn,zn){return ot(this,void 0,void 0,function*(){return yield this.fetch("auth/service-account",{token:yn,method:"POST",allowUnsafeRetries:!0,body:{name:Tn,roleId:Dn,tags:zn}})})}getFeatures(yn){return ot(this,void 0,void 0,function*(){return(yield this.fetch("auth/features",{token:yn})).features})}}var Ft=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class Qt extends it.a{createPeer(yn,Tn){return Ft(this,void 0,void 0,function*(){return yield this.fetch("peers",{token:yn,method:"POST",body:Tn})})}getPeers(yn){return Ft(this,void 0,void 0,function*(){return(yield this.fetch("peers",{token:yn})).items})}refreshPeer(yn,Tn){return Ft(this,void 0,void 0,function*(){yield this.fetch(`peers/${Tn}/refresh`,{token:yn,method:"POST",allowUnsafeRetries:!0})})}createSession(yn,Tn){return Ft(this,void 0,void 0,function*(){return yield this.fetch("sessions",{token:yn,method:"POST",body:Tn})})}refreshSession(yn,Tn){return Ft(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Tn}/refresh`,{token:yn,method:"POST",allowUnsafeRetries:!0})})}deleteSession(yn,Tn){return Ft(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Tn}`,{token:yn,method:"DELETE",allowUnsafeRetries:!0})})}getSessions(yn){return Ft(this,void 0,void 0,function*(){return(yield this.fetch("sessions",{token:yn})).items})}getIceServers(yn){return Ft(this,void 0,void 0,function*(){return(yield this.fetch("ice-servers",{token:yn})).items})}addSignals(yn,Tn,Dn){return Ft(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Tn}/add-signals`,{token:yn,method:"POST",body:Dn})})}takeSignals(yn,Tn){return Ft(this,void 0,void 0,function*(){return(yield this.fetch(`sessions/${Tn}/take-signals`,{token:yn,method:"POST"})).items})}}var Bt=nt(1),Vt=nt(8),Wt=nt(14),Xt=nt.n(Wt),Zt=nt(103),Yt=nt.n(Zt),Mt=nt(4),Gt=nt(0),en=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class tn extends class{constructor(yn,Tn){this.type=yn,this.name=Tn}}{constructor(yn){super("simple","LogReporter"),this.message=yn}send(yn){return en(this,void 0,void 0,function*(){var Tn,Dn;Gt.a.debug(this.message,(Tn=yn.reduce((zn,Xn)=>Object.assign(Object.assign({},zn),{[Xn.name]:Xn.stat}),{}),Dn=zn=>{const{sum:Xn,count:tr}=zn,sr=Xn/tr;return Object.assign(Object.assign({},zn),{average:sr})},Object.keys(Tn).reduce((zn,Xn)=>Object.assign(Object.assign({},zn),{[Xn]:Dn(Tn[Xn])}),{})))})}}var ln=nt(39);function nn(dr){return!!dr.match(/^[a-zA-Z0-9-_.,:?'"()@\/\\#$+ ]{1,255}$/)}var sn=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};function Kt({func:dr,delay:yn,immediate:Tn=!1}){let Dn=!1,zn=setTimeout(function tr(){return sn(this,void 0,void 0,function*(){if(Dn)return;const sr=new Date().getTime();try{Xn=dr(),yield Xn}finally{if(!Dn){const cr=new Date().getTime();zn=setTimeout(tr,Math.max(yn-(cr-sr),0))}}})},Tn?0:yn),Xn=Promise.resolve();return{stop(){return sn(this,void 0,void 0,function*(){Dn=!0,clearTimeout(zn),yield Xn})}}}var dn=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};const Qn=nt(225);class En{constructor(yn){this.buffer={},this.reporters=[],this.flushInterval=Kt({func:()=>this.flushStats(),delay:En.samplePeriodMs}),this.tags=this.filterTags((yn==null?void 0:yn.tags)||{app:Mt.a,version:Mt.j,namespace:Mt.i,instanceId:ln.a})}shutdown(){return dn(this,void 0,void 0,function*(){yield this.flushInterval.stop(),yield this.flushStats(),yield Object(Vt.a)(2*Bt.a.second)})}aggregate(yn,Tn,Dn){this.addToBuffer(this.buffer,this.encodeKey({metric:yn,tags:this.filterTags(Dn||{})}),typeof Tn=="number"?{min:Tn,max:Tn,sum:Tn,count:1}:Tn)}increment(yn,Tn){this.aggregate(yn,1,Tn)}timer(yn,Tn,Dn){return dn(this,void 0,void 0,function*(){const zn=Qn(),Xn=yield Tn(),tr=Qn();return this.aggregate(yn,tr-zn,Dn),Xn})}registerStatsReporter(yn){this.reporters.push(yn)}setTag(yn,Tn){const Dn=this.filterTags({[yn]:Tn});this.tags=Object.assign(Object.assign({},this.tags),Dn)}addToBuffer(yn,Tn,Dn){if(yn[Tn]){const{min:zn,max:Xn,sum:tr,count:sr}=yn[Tn];yn[Tn]={min:Math.min(zn,Dn.min),max:Math.max(Xn,Dn.max),sum:tr+Dn.sum,count:sr+Dn.count}}else yn[Tn]=Dn}write(yn){return dn(this,void 0,void 0,function*(){yield Promise.all(this.reporters.map(Tn=>dn(this,void 0,void 0,function*(){let Dn;const zn={};switch(Tn.type){case"simple":for(const[tr,sr]of Object.entries(yn)){const{metric:cr}=this.decodeKey(tr);this.addToBuffer(zn,this.encodeKey({metric:cr}),sr)}Dn=zn;break;case"tagged":Dn=yn;break;default:(function(tr){throw new Error(`Unreachable type encountered (${tr})`)})(Tn.type)}const Xn=Object.entries(Dn);if(Xn.length>0)return Tn.send(Xn.map(([tr,sr])=>{const{metric:cr,tags:nr}=this.decodeKey(tr);return{name:cr,tags:Object.assign(Object.assign({},nr),this.tags),stat:sr}}),En.samplePeriodMs).catch(tr=>{Gt.a.debug(`Failed to write stats to ${Tn.name}`,{error:tr})})})))})}flushStats(){return dn(this,void 0,void 0,function*(){yield this.write(this.buffer),this.buffer={}})}encodeKey(yn){return Xt()(Object.assign(Object.assign({},yn),Object.keys(yn.tags||{}).length>0?{tags:yn.tags}:{}))}decodeKey(yn){return JSON.parse(yn)}filterTags(yn){return Object.entries(yn||{}).reduce((Tn,[Dn,zn])=>(nn(Dn)&&nn(zn)&&(Tn[Dn]=zn),Tn),{})}}En.samplePeriodMs=5*Bt.a.minute;const an=!!Mt.c,rn=new En;an||["local","on-prem"].includes(Mt.i)||rn.registerStatsReporter(new tn("stats"));var gn=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class un extends class{constructor(yn){this.options=yn,this.cache=new Yt.a(Object.assign(Object.assign(Object.assign({},yn.dispose||yn.disposeAfter?{ttlAutopurge:!0}:{}),yn),{dispose:(...Tn)=>{var Dn;Tn[2]==="evict"&&rn.increment("lru-eviction",{name:yn.name}),(Dn=yn.dispose)===null||Dn===void 0||Dn.call(yn,...Tn)},disposeAfter:(...Tn)=>{var Dn;this.updateStats(),(Dn=yn.disposeAfter)===null||Dn===void 0||Dn.call(yn,...Tn)}})),this.stringify=yn.fastStringify?JSON.stringify:Xt.a}set(yn,Tn,Dn){const zn=this.stringify(yn);if(!this.cache.set(zn,Tn,{ttl:Dn})){const Xn=this.cache.sizeCalculation?this.cache.sizeCalculation(Tn,zn):"unknown";throw Error(`Value too large (${Xn} > ${this.cache.max})`)}this.updateStats()}get(yn){const{name:Tn}=this.options,Dn=this.stringify(yn),zn=this.cache.getRemainingTTL(Dn);return zn<=0?rn.increment("cache-miss",{name:Tn}):zn!==1/0&&rn.aggregate("cache-item-ttl",zn,{name:Tn}),this.cache.get(Dn)}delete(yn){this.cache.delete(this.stringify(yn))}peek(yn){return this.cache.peek(this.stringify(yn))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(yn){this.cache.forEach(yn)}purgeStale(){return this.cache.purgeStale()}updateStats(){const{name:yn}=this.options;rn.aggregate("cache-item-count",this.cache.size,{name:yn}),this.cache.calculatedSize!==void 0&&rn.aggregate("cache-length",this.cache.calculatedSize,{name:yn})}}{constructor(yn){if(super(yn),this.expireRejectedPromiseValues=yn.expireRejectedPromiseValues===void 0||yn.expireRejectedPromiseValues,this.rejectedPromiseValueTtl=yn.rejectedPromiseValueTtl!==void 0?yn.rejectedPromiseValueTtl:Bt.a.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(yn,Tn,Dn){super.set(yn,Tn,Dn),this.expireRejectedPromiseValues&&Tn.catch(()=>gn(this,void 0,void 0,function*(){yield Object(Vt.a)(this.rejectedPromiseValueTtl),this.peek(yn)===Tn&&this.delete(yn)}))}}var Un=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class _n{constructor(yn,Tn,Dn){this.authClient=yn,this.email=Tn,this.password=Dn,this.tokenTtlMs=1*Bt.a.hour,this.tokenCache=new un({name:"Credentials-tokenCache",max:100,ttl:this.tokenTtlMs-5*Bt.a.minute,fastStringify:!0})}getToken(){return Un(this,void 0,void 0,function*(){let yn=this.tokenCache.get(this.email);return yn||(yn=(()=>Un(this,void 0,void 0,function*(){const{authentication:Tn}=yield this.authClient.login({email:this.email,password:this.password,tokenExpirationSeconds:this.tokenTtlMs/Bt.a.second});if(!Tn)throw new Error("User account not verified.");return Tn.accessToken}))(),this.tokenCache.set(this.email,yn)),yn})}}var vn=nt(97),pn=nt(24),Rn=nt(228),Sn=nt(40),fn=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class cn extends Sn.a{constructor(yn){super(yn)}postLanRtcOffer(yn){return fn(this,void 0,void 0,function*(){return yield this.fetch("v1/lan-rtc-offer",{method:"POST",body:yn})})}}var bn=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};function Vn(dr){return bn(this,void 0,void 0,function*(){return(yield Promise.all(dr.map(yn=>yn.catch(Tn=>Tn)))).filter(yn=>yn instanceof Error)})}function Mn(dr,yn){if(dr===void 0)throw new Error(`Value is undefined${yn?`: ${yn}`:""}`)}function Zn(dr,yn){if(dr===null)throw new Error(`Value is null${yn?`: ${yn}`:""}`)}function In(dr){return Mn(dr),dr}function Cn(dr,yn){const Tn=dr.reduce((Dn,zn)=>[...Dn,...zn.urls],[]).filter(Dn=>kn(Dn,yn)).sort(Dn=>hn(Dn,"udp")?-1:0).shift();if(Tn)return Object.assign(Object.assign({},In(dr.find(Dn=>Dn.urls.includes(Tn)))),{urls:[Tn]})}function kn(dr,yn){switch(yn){case"stun":return/^stuns?:/.test(dr);case"turn":return/^turns?:/.test(dr)}}function hn(dr,yn){return dr.endsWith(`transport=${yn}`)}var Fn=nt(9);class wn extends Error{constructor(yn,Tn){super(`Deadline expired after ${yn}ms + ${Tn}ms`)}}class Wn{static withDeadline(yn,Tn){const Dn=new Promise((zn,Xn)=>{setTimeout(()=>{Xn(new wn(Tn,this.grpcCallDeadlineSlopMs))},Tn+this.grpcCallDeadlineSlopMs)});return Promise.race([yn,Dn])}}Wn.grpcCallDeadlineSlopMs=500*Bt.a.millisecond;var An=nt(29);const Pn={ordered:!1,maxPacketLifeTime:300*Bt.a.millisecond},jn={ordered:!0},$n={ordered:!0},pr={ordered:!1,maxRetransmits:0},Sr={ordered:!1,maxRetransmits:0},Qr=dr=>"received"in dr&&dr.received!==void 0,Ir=dr=>!("received"in dr)||dr.received===void 0,yr=2*Bt.a.second;function Rr(dr,yn={}){const Tn=Array.from(dr.values()),Dn=Tn.filter(Qr),zn=Dn.length>0,Xn=Math.max(...Dn.map(nr=>nr.received));let tr;if(zn){const nr=Tn.length,Kn=Dn.length,mr=Dn.map(eo=>eo.received-eo.sent),{standardDeviation:xr,mean:Gr,jitter:co}=function(eo){const oo=eo.length;if(oo===0)return{mean:NaN,standardDeviation:-1,jitter:NaN};const po=eo.reduce((no,Ko)=>no+Ko,0)/oo,Qo=Math.sqrt(eo.map(no=>Math.pow(no-po,2)).reduce((no,Ko)=>no+Ko)/oo);if(oo===1)return{mean:po,standardDeviation:Qo,jitter:NaN};let Ro=0;for(let no=1;noeo.sent{const[Kn,mr]=nr;mr.sent{var Xn,tr;return{streamId:zn,sentCount:(Xn=Tn.get(zn))!==null&&Xn!==void 0?Xn:0,receivedCount:(tr=Dn.get(zn))!==null&&tr!==void 0?tr:0}}),timestamp:yn}}incrementLocalSent(yn){const{localSent:Tn}=this.counts,Dn=wr(yn.header.stream);Tn.set(Dn,(Tn.get(Dn)||0)+1)}incrementLocalReceived(yn){const{localReceived:Tn}=this.counts,Dn=wr(yn.header.stream),zn=Tn.get(Dn)||0;if(zn===0){const{streamName:Xn,streamType:tr}=yn.header.stream;Gt.a.debug("RTC client received first message for stream",{streamName:Xn,streamType:tr})}Tn.set(Dn,zn+1)}uploadMetrics(){return br(this,void 0,void 0,function*(){const{sessionId:yn}=this,Tn=yield this.connection.peerConnection.getStats(),Dn={};Tn.forEach(nr=>Dn[nr.id]=nr),Gt.a.debug("rtc-stats",Object.assign(Object.assign({},Dn),{sessionId:yn}));const{localSent:zn,localReceived:Xn,remoteSent:tr,remoteReceived:sr}=this.counts,cr=[...new Set([...zn.keys(),...Xn.keys()])].reduce((nr,Kn)=>{const mr=zn.get(Kn),xr=Xn.get(Kn),Gr=tr.get(Kn),co=sr.get(Kn);return Object.assign(Object.assign({},nr),{[`local-${Kn}-sent`]:mr,[`local-${Kn}-received`]:xr,[`remote-${Kn}-sent`]:Gr,[`remote-${Kn}-received`]:co})},{sessionId:yn});Gt.a.debug("rtc-message-report",Object.assign({deviceId:this.connection.getRemoteDeviceId()},cr))})}}function kr(dr,yn,Tn){return{header:{stream:dr,created:Date.now(),frameId:Tn||""},payload:yn}}function _i(dr){const yn=dr.localCandidate.candidateType,Tn=dr.remoteCandidate.candidateType;return yn==="host"&&Tn==="host"?"local":yn==="relay"||Tn==="relay"?"TURN":"STUN"}function Ar(dr){return new Set(["disconnected","failed","closed"]).has(dr.iceConnectionState)}function bo(dr){switch(dr.header.stream.streamType){case"twist":{const{twist:yn}=dr.payload;if(!yn)throw Error("twist not in payload of RTC message with type twist");return{header:dr.header,payload:{twist:{linear:Object.assign({x:0,y:0,z:0},yn.linear),angular:Object.assign({x:0,y:0,z:0},yn.angular)}}}}case"pose":{const{pose:yn}=dr.payload;if(!yn)throw Error("pose not in payload of RTC message with type pose");return{header:dr.header,payload:{pose:{translation:Object.assign({x:0,y:0,z:0},yn.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},yn.rotation)}}}}case"pose-with-covariance":{const{poseWithCovariance:yn}=dr.payload;if(!yn)throw Error("poseWithCovariance not in payload of RTC message with type pose-with-covariance");const Tn=new Array(36).fill(0);return yn.covariance.forEach((Dn,zn)=>{if(zn>=36)throw Error("covariance contains more than 36 elements");Tn[zn]=Dn}),{header:dr.header,payload:{poseWithCovariance:{pose:{translation:Object.assign({x:0,y:0,z:0},yn.pose.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},yn.pose.rotation)},covariance:Tn}}}}case"point":{const{point:yn}=dr.payload;if(!yn)throw Error("point not in payload of RTC message with type point");return{header:dr.header,payload:{point:Object.assign({x:0,y:0,z:0},yn)}}}default:return dr}}var Pr=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class _o{get peerConnection(){return Zn(this._peerConnection,"RTCPeerConnection is closed!"),this._peerConnection}constructor(yn,Tn,Dn,zn){this.iceServers=Tn,this.config=Dn,this.dataChannelNotifier=zn,this.connectTimeoutMs=20*Bt.a.second,this.iceGatheringTimeoutMs=3*Bt.a.second,this.pingUpdateTimeoutMs=1*Bt.a.second,this.pingV2UpdateTimeoutMs=250*Bt.a.millisecond,this.pingV2MetricsGatherTimeoutMs=1*Bt.a.second,this.streamsInfoUpdateTimeoutMs=2*Bt.a.second,this.reassemblyTimeoutMs=500*Bt.a.millisecond,this.reassemblyTableCleanupMs=1*Bt.a.second,this.heartbeatTimeoutMs=20*Bt.a.millisecond,this._peerConnection=null,this.heartbeatChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.streamLatestTimestamp=new Map,this.reassemblyTable=new Map,this.reassemblyTableLastTimestamp=new Map,this.closeCalled=!1,this.gotOffer=!1,this.hasIceCandidate=!1,this.pingV2Map=new Map,this.sendPingV2=()=>{const{latestTryOnceStreamChannel:tr}=this;if(!tr)return;const sr=new Date().getTime(),cr=Object(Rn.a)();this.sendSystemMessage(tr,{type:"ping-v2",payload:{timestamp:sr,id:cr}}),this.pingV2Map.set(cr,{sent:sr})},this.gatherPingV2Metrics=()=>{const tr=Rr(this.pingV2Map);if(tr){const sr=this.getRemoteDeviceId();this.pingInfo=tr,rn.aggregate("rtc-ping-average",tr.average,Object.assign({},sr?{deviceId:sr}:{})),rn.aggregate("rtc-ping-loss",tr.loss,Object.assign({},sr?{deviceId:sr}:{})),rn.aggregate("rtc-jitter",tr.jitter,Object.assign({},sr?{deviceId:sr}:{}))}},this._peerConnection=yn;const{isOffer:Xn}=Dn.baseConfig;Xn?this.initializeChannels(yn):yn.ondatachannel=tr=>{switch(tr.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=tr.channel;break;case"stream.reliable":this.reliableStreamChannel=tr.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=tr.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=tr.channel;break;case"heartbeat":return void(this.heartbeatChannel=tr.channel);default:return void this.dataChannelNotifier(tr.channel)}this.setupChannel(tr.channel)},this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:tr}=this;tr&&this.sendSystemMessage(tr,{type:"ping"})},this.pingUpdateTimeoutMs),this.pingV2UpdateTimeout=setInterval(this.sendPingV2,this.pingV2UpdateTimeoutMs),this.pingV2MetricsGatherTimeout=setInterval(this.gatherPingV2Metrics,this.pingV2MetricsGatherTimeoutMs),this.streamsInfoUpdateTimeout=setInterval(()=>{const{latestTtlStreamChannel:tr}=this;tr&&this.sendSystemMessage(tr,{type:"streams-info"})},this.streamsInfoUpdateTimeoutMs),this.reassemblyTableCleanupTimeout=setInterval(()=>{const tr=new Date().getTime();this.reassemblyTableLastTimestamp.forEach((sr,cr,nr)=>{tr>cr+this.reassemblyTimeoutMs&&this.reassemblyTable.delete(sr)})},this.reassemblyTableCleanupMs),this.heartbeatTimeout=setInterval(()=>{const{heartbeatChannel:tr}=this;tr&&tr.readyState==="open"&&tr.send(new Uint8Array([1]))},this.heartbeatTimeoutMs)}handleSignal(yn){return Pr(this,void 0,void 0,function*(){const{peerConnection:Tn}=this,{track:Dn}=this.config.baseConfig,zn=(()=>{try{return JSON.parse(yn.getPayload())}catch{return}})();if(!zn)return void Gt.a.error("Received unparseable signal.");Gt.a.debug("Handling signal",{description:zn});const{sdp:Xn,type:tr}=zn;if(!Xn||!tr)return void Gt.a.warn("Received non-SDP signal");const{signalingState:sr,connectionState:cr}=Tn;if(sr!=="stable"||cr!=="connected")if(Tn.remoteDescription)Gt.a.warn(`Received SDP after remote description was set: ${Xn}`);else{if(tr==="offer"){if(sr!=="stable")return void Gt.a.warn("Received offer SDP when signaling is ongoing.");yield Tn.setRemoteDescription(zn);const nr=yield Tn.createAnswer();yield Tn.setLocalDescription(nr);const Kn=yn.clone();return Dn==null||Dn("Answer Received",Kn),Kn.setPayload(JSON.stringify(nr)),Kn.setReceiverId(yn.getSenderId()),Kn.setSenderId(yn.getReceiverId()),Kn}if(tr==="answer"){if(sr==="stable")return void Gt.a.warn("Received answer SDP when signaling hasn't started.");yield Tn.setRemoteDescription(zn)}}else Gt.a.warn(`Received SDP when already connected: ${Xn}`)})}send(yn,Tn){const Dn=this.getChannelFromLabel(Tn.channelLabel);Dn?this.sendOnChannel(Dn,yn):Gt.a.warn("Send called with unexpected channel label",{channelLabel:Tn.channelLabel})}controlRemoteStream(yn){var Tn;this.sendSystemMessage((Zn(Tn=this.reliableStreamChannel),Tn),{type:"stream-control",streamControl:yn})}isActive(){return new Set(["new","checking","connected","completed"]).has(this.peerConnection.iceConnectionState)||this.isReady()}isReady(){const{reliableStreamChannel:yn,latestTtlStreamChannel:Tn,latestTryOnceStreamChannel:Dn,latestReliableStreamChannel:zn}=this;return(yn==null?void 0:yn.readyState)==="open"&&(Tn==null?void 0:Tn.readyState)==="open"&&(Dn==null?void 0:Dn.readyState)==="open"&&(zn==null?void 0:zn.readyState)==="open"}close(){var yn,Tn,Dn,zn,Xn,tr,sr;return Pr(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield(yn=this.sessionMetrics)===null||yn===void 0?void 0:yn.uploadMetrics(),fo(this.pingUpdateTimeout),fo(this.pingV2UpdateTimeout),fo(this.pingV2MetricsGatherTimeout),fo(this.reassemblyTableCleanupTimeout),fo(this.streamsInfoUpdateTimeout),fo(this.heartbeatTimeout),(Tn=this._peerConnection)===null||Tn===void 0||Tn.close(),(Dn=this.heartbeatChannel)===null||Dn===void 0||Dn.close(),(zn=this.latestReliableStreamChannel)===null||zn===void 0||zn.close(),(Xn=this.latestTryOnceStreamChannel)===null||Xn===void 0||Xn.close(),(tr=this.latestTtlStreamChannel)===null||tr===void 0||tr.close(),(sr=this.reliableStreamChannel)===null||sr===void 0||sr.close(),this._peerConnection=null,this.heartbeatChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null)})}getPing(){return this.pingTimeMs}getPingInfo(){return this.pingInfo}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionCreatedTimestamp(){var yn;return(yn=this.config.remoteConfig)===null||yn===void 0?void 0:yn.sessionCreatedTimestamp}setSessionCreatedTimestamp(yn){this.config.remoteConfig&&(this.config.remoteConfig.sessionCreatedTimestamp=yn)}getSessionId(){var yn;return(yn=this.config.remoteConfig)===null||yn===void 0?void 0:yn.sessionId}setSessionId(yn){this.config.remoteConfig&&(this.config.remoteConfig.sessionId=yn,this.sessionMetrics=new Nr(yn,this))}getRemotePeerId(){return this.config.baseConfig.remotePeerId}getRemoteDeviceId(){var yn;return(yn=this.config.baseConfig)===null||yn===void 0?void 0:yn.remoteDeviceId}setRemoteDeviceId(yn){this.config.baseConfig.remoteDeviceId=yn}getSessionMetricsMessageCounts(){var yn;return(yn=this.sessionMetrics)===null||yn===void 0?void 0:yn.counts}getConnectionStatsInfo(){return Pr(this,void 0,void 0,function*(){const{peerConnection:yn}=this;if(!yn)return;const Tn=yield yn.getStats(null),Dn=[];Tn.forEach(cr=>{Dn.push(cr)});const zn=Dn.find(cr=>cr.type==="transport");if(!zn)return;const Xn=Dn.find(cr=>(cr.type==="candidate-pair"||cr.type==="candidatepair")&&cr.id===zn.selectedCandidatePairId);if(!Xn)return;const tr=Dn.find(cr=>cr.id===Xn.localCandidateId),sr=Dn.find(cr=>cr.id===Xn.remoteCandidateId);return tr&&sr&&(tr.address=tr.address||tr.ip,sr.address=sr.address||sr.ip,tr.address!==void 0&&sr.address!==void 0)?{transport:zn,localCandidate:tr,remoteCandidate:sr}:void 0})}initializeChannels(yn){this.heartbeatChannel=yn.createDataChannel("heartbeat",Sr),this.heartbeatChannel.binaryType="arraybuffer",this.latestTtlStreamChannel=yn.createDataChannel("stream.latest-ttl",Pn),this.latestTtlStreamChannel.binaryType="arraybuffer",this.reliableStreamChannel=yn.createDataChannel("stream.reliable",jn),this.reliableStreamChannel.binaryType="arraybuffer",this.latestReliableStreamChannel=yn.createDataChannel("stream.latest-reliable",$n),this.latestReliableStreamChannel.binaryType="arraybuffer",this.latestTryOnceStreamChannel=yn.createDataChannel("stream.latest-try-once",pr),this.latestTryOnceStreamChannel.binaryType="arraybuffer",this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}getOffer(){var yn,Tn;return Pr(this,void 0,void 0,function*(){const{gotOffer:Dn}=this,{peerConnection:zn,config:Xn}=this;if(this.config.baseConfig.isLan)throw new Error('"getOffer" method can only be called with internet connections. LAN connections should call the "getLanOffer" method.');const tr=(yn=this.config.remoteConfig)===null||yn===void 0?void 0:yn.sessionId;if(Dn)return void Gt.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,Ar(this.peerConnection))return void Gt.a.debug("Failed to generate offer because the peer connection was inactive.");const sr=Xn.baseConfig.track;zn.onicecandidate=()=>{this.hasIceCandidate=!0},zn.oniceconnectionstatechange=()=>Pr(this,void 0,void 0,function*(){const Gr=zn.iceConnectionState;if(Gr==="connected"||Gr==="completed"){const co=yield this.getConnectionStatsInfo(),Fo=co?_i(co):void 0;Gt.a.info(`ICE connection state changed to ${Gr}`,{sessionId:tr,connectionStatsInfo:co,iceMode:Fo}),sr==null||sr("ICE connection state change",{iceConnectionState:Gr,sessionId:tr,connectionStatsInfo:co,iceMode:Fo})}}),yield zn.setLocalDescription(yield zn.createOffer());const cr=zn.getConfiguration?zn.getConfiguration().iceTransportPolicy:"all",nr=new Date().getTime();for(;;){const Gr=new Date().getTime()-nr;if(Gr>this.connectTimeoutMs)return void Gt.a.debug("Failed to generate offer because ICE gathering timed out.");if(Gr>this.iceGatheringTimeoutMs&&this.hasIceCandidate){Gt.a.debug("ICE gathering partially completed; proceeding",{iceTransportPolicy:cr,waitTime:Gr}),sr==null||sr("ICE gathering partially completed",{sessionId:tr,iceTransportPolicy:cr,waitTime:Gr});break}if(zn.iceGatheringState==="complete"){Gt.a.debug("ICE gathering complete",{iceTransportPolicy:cr,waitTime:Gr}),sr==null||sr("ICE gathering completed",{sessionId:tr,iceTransportPolicy:cr,waitTime:Gr});break}yield Object(Vt.a)(.1*Bt.a.second)}const Kn=(Tn=this.iceServers)!==null&&Tn!==void 0?Tn:[];for(const Gr of Kn)"credentialType"in Gr&&(Gr.credentialType=void 0);const mr=JSON.stringify(Kn),xr=new Fn.Signal;return xr.setPayload(JSON.stringify(zn.localDescription)),xr.setSenderId(this.config.baseConfig.localPeerId),xr.setReceiverId(this.config.baseConfig.remotePeerId),xr.setIceServers(mr),xr.setIceTransportPolicy(cr??"all"),this.config.baseConfig.sessionType!==void 0?xr.setSessionType(this.config.baseConfig.sessionType):xr.setSessionType(Fn.SessionType.TELEOP),Gt.a.debug("Sending offer signal with description",{description:xr.getPayload()}),xr})}getLanOffer(){return Pr(this,void 0,void 0,function*(){const{peerConnection:yn,gotOffer:Tn}=this;if(!this.config.baseConfig.isLan)throw new Error('"getLanOffer" method can only be used with LAN connections. Internet connections should call the "getOffer" method.');if(Tn)return void Gt.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,Ar(this.peerConnection))return void Gt.a.debug("Failed to generate offer because the peer connection was inactive.");yield yn.setLocalDescription(yield yn.createOffer());const Dn=new Date().getTime();for(;;){if(new Date().getTime()-Dn>this.iceGatheringTimeoutMs)return void Gt.a.debug("Failed to generate offer because ICE gathering timed out.");if(yn.iceGatheringState==="complete")break;yield Object(Vt.a)(.1*Bt.a.second)}const zn=yn.localDescription;if(zn)return Gt.a.debug("Sending LAN offer signal with description",{description:zn}),zn;Gt.a.error("Failed to generate LAN offer description")})}handleLanAnswer(yn){return Pr(this,void 0,void 0,function*(){const{peerConnection:Tn}=this;if(!this.config.baseConfig.isLan)throw new Error('"handleLanAnswer" method can only be used with LAN connections. Internet connections should call the "handleSignal" method.');yield Tn.setRemoteDescription(yn)})}getChannelFromLabel(yn){switch(yn){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(yn,Tn){var Dn;let zn;try{zn=Object(An.encode)(JSON.stringify(Tn))}catch(Xn){return void Gt.a.warn("Failed to encode RTC message",{error:Xn})}try{yn.send(zn),(Dn=this.sessionMetrics)===null||Dn===void 0||Dn.incrementLocalSent(Tn)}catch(Xn){Gt.a.warn("Failed to send message to channel",{error:Xn,channel:yn.label})}}channelNotRecognized(yn){return yn!==this.latestTtlStreamChannel&&yn!==this.latestReliableStreamChannel&&yn!==this.latestTryOnceStreamChannel&&yn!==this.reliableStreamChannel}setupChannel(yn){yn.onmessage=Tn=>{if(this.channelNotRecognized(yn))return void Gt.a.warn("Received message on unrecognized data channel.");let Dn;try{Dn=JSON.parse(Object(An.decode)(Tn.data))}catch(zn){return void Gt.a.warn("Received unparseable message on RTC stream data channel",{error:zn,channel:yn.label})}Dn.communicationType==="message-chunk"?this.receiveChannelMessageChunk(yn,Dn):this.receiveChannelMessage(yn,Dn)},yn.onerror=Tn=>{Gt.a.warn(`Channel error: ${Tn.error}`,{error:Tn.error,sessionId:this.getSessionId(),channelLabel:yn.label})},yn.onopen=()=>{Gt.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:yn.label})},yn.onclose=()=>{const Tn={bufferedAmount:yn.bufferedAmount,sessionId:this.getSessionId(),channelLabel:yn.label};this.closeCalled===!1?Gt.a.debug("Unexpected channel closed",Tn):Gt.a.debug("Channel closed",Tn)}}receiveChannelMessage(yn,Tn){var Dn;const{config:zn}=this,{remotePeerId:Xn}=this.config.baseConfig;this.lastMessageTimestamp=new Date().getTime(),Tn=bo(Tn),(Dn=this.sessionMetrics)===null||Dn===void 0||Dn.incrementLocalReceived(Tn),this.handleSystemMessage(yn,Tn)||(yn===this.latestTryOnceStreamChannel||yn===this.latestTtlStreamChannel||yn===this.latestReliableStreamChannel)&&!this.isLatestMessage(Tn)||zn.baseConfig.receive(Xn,Tn)}receiveChannelMessageChunk(yn,Tn){const Dn=this.reassemblyTable.get(Tn.id)||[];if(Dn.push(Tn),Dn.length===Tn.total){const zn=function(Xn){const tr=Xn.sort((sr,cr)=>sr.seqsr.part).reduce((sr,cr)=>sr+cr);try{return JSON.parse(tr)}catch{return void Gt.a.warn("Could not reassemble RTC message chunks")}}(Dn);return zn&&this.receiveChannelMessage(yn,zn),void this.reassemblyTable.delete(Tn.id)}this.reassemblyTable.set(Tn.id,Dn),this.reassemblyTableLastTimestamp.set(Tn.id,new Date().getTime())}handleSystemMessage(yn,Tn){var Dn,zn;const{config:Xn}=this,{baseConfig:tr}=Xn,{remotePeerId:sr,remoteDeviceId:cr}=tr;switch(Tn.header.stream.streamType){case"ping":return this.sendSystemMessage(yn,{type:"pong",timestamp:In(Tn.payload.ping)}),!0;case"pong":{const nr=new Date().getTime()-In(Tn.payload.pong);return this.pingTimeMs=nr,rn.aggregate("rtc-ping-time",nr,Object.assign({},cr?{deviceId:cr}:{})),!0}case"ping-v2":return this.sendPingV2(),!0;case"pong-v2":{const nr=In(Tn.payload.pongV2),Kn=this.pingV2Map.get(nr.id);return(Kn==null?void 0:Kn.sent)!==nr.timestamp&&Gt.a.warn("Pong timestamp doesn't match stored value",{currentEntry:Kn,pong:nr}),this.pingV2Map.set(nr.id,{sent:nr.timestamp,received:new Date().getTime()}),!0}case"streams-info":{const{sessionMetrics:nr}=this,Kn=(Dn=Tn.payload.streamsInfo)===null||Dn===void 0?void 0:Dn.timestamp;return!!Kn&&(nr==null||nr.updateRemoteMessagesCounts(Tn),(zn=tr.onStreamsInfoUpdate)===null||zn===void 0||zn.call(tr,sr,Kn),!0)}case"stream-control":return!0;default:return!1}}sendSystemMessage(yn,Tn){var Dn;const{localUserId:zn,localPeerId:Xn}=this.config.baseConfig;if(yn.readyState!=="open")return;const tr={entityId:zn??Xn,streamName:`$.${Tn.type}`,streamType:Tn.type};let sr;switch(Tn.type){case"ping":sr={ping:new Date().getTime()};break;case"pong":sr={pong:Tn.timestamp};break;case"ping-v2":sr={pingV2:Tn.payload};break;case"pong-v2":sr={pongV2:Tn.payload};break;case"stream-control":sr={streamControl:Tn.streamControl};break;case"streams-info":sr={streamsInfo:(Dn=this.sessionMetrics)===null||Dn===void 0?void 0:Dn.getLocalStreamsInfo(new Date().getTime())}}this.sendOnChannel(yn,kr(tr,sr))}isLatestMessage(yn){const Tn=wr(yn.header.stream),Dn=(this.streamLatestTimestamp.get(Tn)||0)<=yn.header.created;return Dn&&this.streamLatestTimestamp.set(Tn,yn.header.created),Dn}}function fo(dr){dr&&clearInterval(dr)}function is(){Gt.a.debug("forceGarbageCollection() triggered"),queueMicrotask(()=>{let dr=document.createElement("img");dr.src=window.URL.createObjectURL(new Blob([new ArrayBuffer(5e7)])),dr.onerror=function(){window.URL.revokeObjectURL(this.src),dr=null}})}function wo(dr){try{return dr instanceof Error?`${dr.name}: ${dr.message}`:typeof dr=="object"?JSON.stringify(dr):String(dr)}catch{return"Unknown error"}}function Xo(dr){var yn,Tn;return{userId:(yn=dr.getUserId())===null||yn===void 0?void 0:yn.getValue(),deviceId:(Tn=dr.getDeviceId())===null||Tn===void 0?void 0:Tn.getValue(),organizationId:dr.getOrganizationId(),id:dr.getPeerId(),capabilities:[],capabilitySet:{}}}var $r=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class as{constructor(yn){this.config=yn,this.grpcCallDeadline=5*Bt.a.second,this.refreshIntervalDelayMs=2*Bt.a.second,this.iceServersTtl=30*Bt.a.minute,this.connections=[],this.localConnections=[],this.isConnectionInitiator=new WeakSet,this.isOutgoingConnection=new Set,this.peerDataChannelListeners=[],this.rtcInstancesConstructed=0,this.statsLoopsExecuted=0;const{refreshIntervalDelayMs:Tn}=this;this.refreshInterval=Kt({func:()=>$r(this,void 0,void 0,function*(){try{yield this.update()}catch(Dn){Gt.a.warn("RTC refresh failed",{error:Dn})}}),delay:Tn,immediate:!0})}send(yn,Tn,Dn){const zn=this.getActiveConnection(yn);zn?zn.isReady()?zn.send(Tn,Dn):Gt.a.warn("Send called with unready connection."):Gt.a.warn("Send called with no connection.")}controlRemoteStream(yn,Tn){const Dn=this.getActiveConnection(yn);Dn?Dn.isReady()?Dn.controlRemoteStream(Tn):Gt.a.warn("controlRemoteStream called with unready connection."):Gt.a.warn("controlRemoteStream called with no connection.")}getLocalPeer(){return $r(this,void 0,void 0,function*(){for(;!this.localPeer;)yield Object(Vt.a)(.1*Bt.a.second);return Xo(this.localPeer)})}connect(yn,Tn){var Dn,zn,Xn;return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode===!0)throw new Error("connect method called in local only mode.");const{track:tr,signalingClient:sr}=this.config,{localPeer:cr,receiveSignalStream:nr,iceServers:Kn}=this;if(!cr||!nr||!Kn)return void Gt.a.warn("Connect called prior to local peer, receiveSignalStream, and ICE servers ready");if(this.getActiveConnection(yn))return void Gt.a.warn("Connect called for peer with existing connection.");if(this.isOutgoingConnection.has(yn))return void Gt.a.warn("Connect called for peer with an existing outgoing connection offer.");this.isOutgoingConnection.add(yn);const mr=function(eo,oo,po){const{rtcIceTransportPolicies:Qo,rtcIceServerProtocol:Ro,useAllServers:no}=oo||{},Ko=eo.map(ko=>Object.assign(Object.assign({},ko),{urls:ko.urls.filter(fs=>{const Ys=(Qo===void 0||Qo.some(Sl=>kn(fs,Sl)))&&(Ro===void 0||hn(fs,Ro));return Ys||Gt.a.debug(`Ignoring ICE server: ${fs}`,{organizationId:po}),Ys})})).filter(({urls:ko})=>ko.filter(fs=>fs).length>0);return no?Ko:[Cn(Ko,"stun"),Cn(Ko,"turn")].filter(ko=>ko!==void 0).map(ko=>In(ko))}(Kn,Tn);Gt.a.debug("Received ICE servers:",Kn),Gt.a.debug("Using ICE servers:",mr);const xr=new _o(yield this.createRTCPeerConnection(mr),mr,{baseConfig:{isOffer:!0,isLan:!1,receive:(eo,oo)=>this.config.receive(eo,oo),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(eo,oo)=>{var po,Qo;return(Qo=(po=this.config).onStreamsInfoUpdate)===null||Qo===void 0?void 0:Qo.call(po,eo,oo)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(Dn=cr.getUserId())===null||Dn===void 0?void 0:Dn.getValue(),localPeerId:cr.getPeerId(),remotePeerId:yn,sessionType:this.config.sessionType},remoteConfig:{}},eo=>this.onCustomDataChannel(yn,eo)),Gr=yield xr.getOffer();if(!Gr)return Gt.a.error("Failed to generate offer."),void this.isOutgoingConnection.delete(yn);Gt.a.debug("Sending offer."),tr==null||tr("Sending offer",Gr);const co=new Fn.SendSignalRequest;co.setSignal(Gr);const Fo=yield(()=>$r(this,void 0,void 0,function*(){try{return yield Wn.withDeadline(sr.sendSignal(co,yield this.getMetadata({})),this.grpcCallDeadline)}catch(eo){Gt.a.warn("Error when sending signal",{error:eo})}}))();if(!this.isOutgoingConnection.has(yn))return void Gt.a.debug("No offer set after receiving offer signal response.");Gt.a.debug("Offer sent.");const So=(zn=Fo==null?void 0:Fo.getSessionId())===null||zn===void 0?void 0:zn.getValue(),Lo=(Xn=Fo==null?void 0:Fo.getSessionCreatedTimestamp())===null||Xn===void 0?void 0:Xn.getValue();return So&&Lo?(xr.setSessionId(So),xr.setSessionCreatedTimestamp(Lo),this.isOutgoingConnection.delete(yn),this.connections.push(xr),this.isConnectionInitiator.add(xr),this.setupHandlers(xr),So):(Gt.a.warn("No session ID or no session created timestamp on send signal response."),void this.isOutgoingConnection.delete(yn))})}connectLan(yn){var Tn,Dn;return $r(this,void 0,void 0,function*(){const zn=new cn(yn),Xn=new _o(yield this.createRTCPeerConnection([]),[],{baseConfig:{isOffer:!0,isLan:!0,receive:(nr,Kn)=>this.config.receive(nr,Kn),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(nr,Kn)=>{var mr,xr;return(xr=(mr=this.config).onStreamsInfoUpdate)===null||xr===void 0?void 0:xr.call(mr,nr,Kn)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(Dn=(Tn=this.localPeer)===null||Tn===void 0?void 0:Tn.getUserId())===null||Dn===void 0?void 0:Dn.getValue(),localPeerId:"lan_client",remotePeerId:yn}},nr=>this.onCustomDataChannel(yn,nr)),tr=yield Xn.getLanOffer();if(!tr)return Gt.a.warn("Could not generate LAN offer"),!1;const sr=yield zn.postLanRtcOffer({offer:JSON.stringify(tr)}),cr=new RTCSessionDescription(JSON.parse(sr.answer));return yield Xn.handleLanAnswer(cr),this.localConnections.push(Xn),this.isConnectionInitiator.add(Xn),Object(Rn.a)()})}getConnections(){return[...this.connections,...this.localConnections]}createCustomDataChannel(yn,Tn,Dn,zn,Xn){const tr=this.getActiveConnection(yn);if(tr&&this.isConnectionInitiator.has(tr)){const cr=tr.peerConnection.createDataChannel("custom."+Tn,Dn);return zn&&(cr.binaryType="arraybuffer"),Xn(yn,cr),()=>{}}const sr=(cr,nr)=>{yn===cr&&nr.label==="custom."+Tn&&Xn(yn,nr)};return this.peerDataChannelListeners.push(sr),()=>{this.peerDataChannelListeners=this.peerDataChannelListeners.filter(cr=>cr!==sr)}}onCustomDataChannel(yn,Tn){this.peerDataChannelListeners.forEach(Dn=>Dn(yn,Tn))}getConnectionStatus(yn){if(this.isOutgoingConnection.has(yn))return"connecting";const Tn=this.getActiveConnection(yn);return Tn?Tn.isReady()?"connected":"connecting":"disconnected"}getConnectionStatsInfo(yn){return $r(this,void 0,void 0,function*(){const Tn=this.getActiveConnection(yn);if(Tn)return yield Tn.getConnectionStatsInfo()})}disconnect(yn){return $r(this,void 0,void 0,function*(){const Tn=this.getActiveConnection(yn);Tn&&(yield Tn.close(),this.connections=this.connections.filter(Dn=>Dn!==Tn),this.localConnections=this.localConnections.filter(Dn=>Dn!==Tn))})}getPeers(){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:yn}=this.config,Tn=yield(()=>$r(this,void 0,void 0,function*(){try{return yield Wn.withDeadline(yn.getPeers(new Fn.GetPeersRequest,yield this.getMetadata({})),this.grpcCallDeadline)}catch(Xn){Gt.a.warn("Error when getting peers",{error:Xn})}}))();if(!Tn)return[];const Dn=Tn.getPeersList();if(!Dn)return[];const zn=Xn=>{var tr,sr;return(sr=(tr=Xn.getPeerCreatedTimestamp())===null||tr===void 0?void 0:tr.getValue())!==null&&sr!==void 0?sr:0};return Dn.sort((Xn,tr)=>zn(tr)-zn(Xn)).map(Xn=>Xo(Xn))})}getSessions(){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:yn}=this.config,Tn=yield(()=>$r(this,void 0,void 0,function*(){try{return yield Wn.withDeadline(yn.getPeers(new Fn.GetPeersRequest,yield this.getMetadata({})),this.grpcCallDeadline)}catch(Xn){Gt.a.warn("Error when getting peers",{error:Xn})}}))();if(!Tn)return{};const Dn=Tn.getPeersList(),zn={};for(const Xn of Dn)zn[Xn.getPeerId()]=Xn.getSessionIdsList();return zn})}getPing(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getPing();Gt.a.warn("Attempted to get ping time from inactive peer.")}getPingInfo(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getPingInfo();Gt.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getLastMessageTimestamp();Gt.a.warn("Attempted to get last message time from inactive peer.")}getSessionMetricsMessageCounts(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getSessionMetricsMessageCounts();Gt.a.warn("Attempted to get session metrics counts from inactive peer.")}isReady(){if(this.config.lanOnlyMode)return!0;const{localPeer:yn,receiveSignalStream:Tn,iceServers:Dn}=this;return!!(yn&&Tn&&Dn)}shutdown(){return $r(this,void 0,void 0,function*(){Gt.a.info("Shutdown called on RTC client"),yield this.refreshInterval.stop(),this.receiveSignalStream&&this.receiveSignalStream.cancel();const yn=this.connections;this.connections=[],yield this.closeConnections(yn);const Tn=this.localConnections;this.localConnections=[],yield this.closeConnections(Tn),this.isOutgoingConnection.clear(),this.peerDataChannelListeners=[];const{localPeer:Dn}=this;if(!Dn||this.config.lanOnlyMode)return;const{signalingClient:zn}=this.config;yield(()=>$r(this,void 0,void 0,function*(){try{const Xn=new Fn.DeletePeerRequest;Xn.setPeerId(Dn.getPeerId()),yield Wn.withDeadline(zn.deletePeer(Xn,yield this.getMetadata({})),this.grpcCallDeadline)}catch(Xn){return void Gt.a.warn("Error deleting local peer",{error:Xn})}}))()})}createPeer(){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createPeer method cannot be used in local-only mode.");const{signalingClient:yn}=this.config,Tn=yield(()=>$r(this,void 0,void 0,function*(){try{return yield Wn.withDeadline(yn.createPeer(new Fn.CreatePeerRequest,yield this.getMetadata({})),this.grpcCallDeadline)}catch(zn){const Xn=zn;Gt.a.debug("createPeer failed",{error:Xn});const tr=wo(Xn);throw new Error(`Was not able to create peer: ${tr}`)}}))(),Dn=Tn==null?void 0:Tn.getPeer();if(!Dn)throw new Error("Response did not provide peer.");return this.localPeer=Dn})}createReceiveSignalStream(){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createReceiveSignalStream method cannot be used in local-only mode.");const{signalingClient:yn}=this.config,{localPeer:Tn,iceServers:Dn}=this;if(!Tn||!Dn)return;const{receiveSignalStream:zn}=this;zn&&zn.cancel();const Xn=new Fn.ReceiveSignalStreamRequest;Xn.setPeerId(Tn.getPeerId());const tr=yield(()=>$r(this,void 0,void 0,function*(){try{return yn.receiveSignalStream(Xn,yield this.getMetadata({hasDeadline:!1}))}catch(sr){Gt.a.debug("createReceiveSignalStream failed",{error:sr});const cr=wo(sr);throw new Error(`Unable to create receive signal stream: ${cr}`)}}))();if(!tr)throw new Error("Response did not provide stream.");return tr.on("data",sr=>$r(this,void 0,void 0,function*(){var cr,nr,Kn,mr;const xr=sr.getSignal(),Gr=(cr=xr==null?void 0:xr.getSessionId())===null||cr===void 0?void 0:cr.getValue(),co=xr==null?void 0:xr.getSenderId(),Fo=xr==null?void 0:xr.getReceiverId(),So=(nr=xr==null?void 0:xr.getSessionCreatedTimestamp())===null||nr===void 0?void 0:nr.getValue();if(!(xr&&Gr&&co&&Fo&&So))return void Gt.a.warn("Received signal with missing information.");const Lo=this.getActiveConnection(co);if(Lo)if(Lo.getSessionId()!==Gr){if(Gt.a.debug("Received signal: different session for a peer we're already connected to."),(Lo.getSessionCreatedTimestamp()||0)>So)return;const eo=new _o(yield this.createRTCPeerConnection(Dn),Dn,{baseConfig:{isOffer:!1,isLan:!1,receive:(oo,po)=>this.config.receive(oo,po),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(oo,po)=>{var Qo,Ro;return(Ro=(Qo=this.config).onStreamsInfoUpdate)===null||Ro===void 0?void 0:Ro.call(Qo,oo,po)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Tn.getPeerId(),localUserId:(mr=Tn.getUserId())===null||mr===void 0?void 0:mr.getValue(),remotePeerId:co},remoteConfig:{sessionId:Gr,sessionCreatedTimestamp:So}},oo=>this.onCustomDataChannel(co,oo));yield eo.handleSignal(xr),this.connections.push(eo)}else Gt.a.debug("Received signal: for an existing connection."),yield Lo.handleSignal(xr);else{Gt.a.debug("Received signal: new connection.");const eo=new _o(yield this.createRTCPeerConnection(Dn),Dn,{baseConfig:{isOffer:!1,isLan:!1,receive:(oo,po)=>this.config.receive(oo,po),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(oo,po)=>{var Qo,Ro;return(Ro=(Qo=this.config).onStreamsInfoUpdate)===null||Ro===void 0?void 0:Ro.call(Qo,oo,po)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Tn.getPeerId(),localUserId:(Kn=Tn.getUserId())===null||Kn===void 0?void 0:Kn.getValue(),remotePeerId:co},remoteConfig:{sessionId:Gr,sessionCreatedTimestamp:So}},oo=>this.onCustomDataChannel(co,oo));yield eo.handleSignal(xr),this.connections.push(eo)}})),tr.on("end",()=>{tr.cancel(),this.receiveSignalStream=void 0}),tr.on("error",sr=>{switch(sr.code){case pn.StatusCode.CANCELLED:case pn.StatusCode.UNAVAILABLE:case pn.StatusCode.UNKNOWN:Gt.a.debug("Receive signal stream error",{error:sr});break;case pn.StatusCode.UNAUTHENTICATED:Gt.a.warn("Receive signal stream error",{error:sr});break;default:Gt.a.error("Receive signal stream error",{error:sr})}tr.cancel(),this.receiveSignalStream=void 0}),this.receiveSignalStream=tr})}createRTCPeerConnection(yn){var Tn;return $r(this,void 0,void 0,function*(){const Dn=(Tn=this.config.alternateRTCPeerConnection)!==null&&Tn!==void 0?Tn:window.RTCPeerConnection;if(!Dn)throw function(){const{userAgent:zn}=navigator;return zn.includes("Firefox/")?"Firefox":zn.includes("Edg/")?"Edge":zn.includes("Chrome/")?"Chrome":zn.includes("Safari/")?"Safari":zn.includes("MSIE/")||zn.includes("Trident/")?"IE":"Other"}()!=="Chrome"?new Error("WebRTC is not enabled. Please try again with the latest version of Google Chrome."):new Error("WebRTC is not enabled. Please ensure WebRTC is not disabled by ad blocking software.");this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||is();try{return new Dn({iceServers:yn})}catch(zn){throw Gt.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),zn}})}closeConnections(yn){return $r(this,void 0,void 0,function*(){const Tn=yield Vn(yn.map(Dn=>$r(this,void 0,void 0,function*(){yield Dn.close()})));for(const Dn of Tn)Gt.a.warn("Request to close session failed",{error:Dn})})}getActiveConnection(yn){return this.getConnections().find(Tn=>Tn.getRemotePeerId()===yn&&Tn.isActive())}update(){var yn;return $r(this,void 0,void 0,function*(){if(this.localConnections=this.localConnections.filter(mr=>mr.isActive()),this.config.lanOnlyMode)return;const{signalingClient:Tn}=this.config;if(!this.localPeer||!this.receiveSignalStream||!this.iceServers){const mr=[];return this.localPeer||mr.push(this.createPeer()),this.iceServers||mr.push(this.updateIceServers()),yield Promise.all(mr),void(this.receiveSignalStream||(yield this.createReceiveSignalStream()))}const[Dn,zn]=(Xn=this.connections,tr=mr=>mr.isActive(),Xn.reduce((mr,xr,Gr,co)=>{const[Fo,So]=mr;return(tr(xr,Gr,co)?Fo:So).push(xr),mr},[[],[]]));var Xn,tr;yield this.closeConnections(zn),this.connections=Dn,this.gatherConnectionStats().catch(mr=>{Gt.a.warn("Error calling gatherConnectionStats",{error:mr})}),this.statsLoopsExecuted++;const{localPeer:sr}=this,cr=this.connections.filter(mr=>mr.getSessionId).map(mr=>In(mr.getSessionId()));sr.setSessionIdsList(cr);const nr=new Fn.RefreshPeerRequest;nr.setPeer(sr);try{yield Wn.withDeadline(Tn.refreshPeer(nr,yield this.getMetadata({})),this.grpcCallDeadline)}catch(mr){mr.code===pn.StatusCode.NOT_FOUND?(Gt.a.warn("Peer expired, creating new peer",{peerId:sr.getPeerId()}),yield this.reset()):Gt.a.warn("Error calling RefreshPeer",{error:mr})}const Kn=yield this.getPeers();for(const mr of this.connections)mr.setRemoteDeviceId((yn=Kn.find(xr=>xr.id===mr.getRemotePeerId()))===null||yn===void 0?void 0:yn.deviceId)})}gatherConnectionStats(){return $r(this,void 0,void 0,function*(){if(this.statsLoopsExecuted%10!=0||this.connections.length!==1)return;const yn=yield this.connections[0].getConnectionStatsInfo(),Tn=yn?_i(yn):void 0;Tn?(Gt.a.info(`Detected RTC connection type: ${Tn}`),rn.setTag("rtc-connection-type",Tn)):rn.setTag("rtc-connection-type","unknown")})}reset(){return $r(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.isOutgoingConnection.clear(),yield this.createPeer(),yield this.createReceiveSignalStream()})}updateIceServers(){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)return;const{iceServersLastUpdate:yn,iceServersTtl:Tn}=this,Dn=new Date().getTime();if(!yn||Dn-yn>Tn)try{const zn=(yield Wn.withDeadline(this.config.signalingClient.getIceServers(new Fn.GetIceServersRequest,yield this.getMetadata({})),this.grpcCallDeadline)).getIceServers();this.iceServers=JSON.parse(zn),this.iceServersLastUpdate=Dn}catch(zn){Gt.a.warn("Error in updateIceServers",{error:zn})}})}setupHandlers(yn){const{peerConnection:Tn}=yn,Dn=yn.getSessionCreatedTimestamp();Tn.onconnectionstatechange=()=>$r(this,void 0,void 0,function*(){const zn=Tn.connectionState;if(!Dn)return;const Xn=yn.getRemoteDeviceId();switch(zn){case"connected":rn.aggregate("rtc-connect-time",new Date().getTime()-Dn,Object.assign({},Xn?{deviceId:Xn}:{}));break;case"failed":rn.increment("rtc-connect-failed",Object.assign({},Xn?{deviceId:Xn}:{}))}})}getMetadata(yn){return $r(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getMetadata method cannot be called in local-only mode");const{getToken:Tn}=this.config,{grpcCallDeadline:Dn}=this,{hasDeadline:zn}=yn,Xn=zn===!1?void 0:new Date().getTime()+Dn;try{return{authorization:yield Tn(),deadline:Xn}}catch(tr){throw Gt.a.error("getToken() failed",{error:tr}),new Error("Cannot get authorization token")}})}}var $o=nt(11),hs=nt(10),zs=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class ks{constructor(yn,Tn){this.sentMessagesCounts=new Map,this.receivedMessagesCounts=new Map,this.sessionId=yn,this.connection=Tn}incrementMessageSent(yn){const Tn=wr(yn.header.stream);this.sentMessagesCounts.set(Tn,(this.sentMessagesCounts.get(Tn)||0)+1)}incrementMessageReceived(yn){const Tn=wr(yn.header.stream);this.receivedMessagesCounts.set(Tn,(this.receivedMessagesCounts.get(Tn)||0)+1)}uploadMetrics(){return zs(this,void 0,void 0,function*(){const{sessionId:yn}=this,Tn=yield this.connection.peerConnection.getStats(),Dn={};Tn.forEach(Xn=>Dn[Xn.id]=Xn),Gt.a.debug("rtc-stats",Object.assign(Object.assign({},Dn),{sessionId:yn}));const zn=[...new Set(Array.from(this.sentMessagesCounts.keys()).concat(Array.from(this.receivedMessagesCounts.keys())))].reduce((Xn,tr)=>{const sr=this.sentMessagesCounts.get(tr),cr=this.receivedMessagesCounts.get(tr);return Object.assign(Object.assign({},Xn),{[`${tr}-sent`]:sr,[`${tr}-received`]:cr})},{sessionId:yn});Gt.a.debug("rtc-message-report",zn)})}}function ms(dr,yn){return wr(dr)===wr(yn)}var Ao=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class Hs{constructor(yn,Tn){this.peerConnection=yn,this.config=Tn,this.connectTimeoutMs=10*Bt.a.second,this.gatherIceTimeoutMs=5*Bt.a.second,this.pingUpdateTimeoutMs=2*Bt.a.second,this.streamLatestTimestamp=new Map,this.closeCalled=!1,this.connectCalled=!1,this.sentOffer=!1,this.receivedIceCandidate=!1;const{isOffer:Dn}=Tn;Dn?this.initializeChannels(yn):yn.ondatachannel=zn=>{switch(zn.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=zn.channel;break;case"stream.reliable":this.reliableStreamChannel=zn.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=zn.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=zn.channel}this.setupChannel(zn.channel)},this.sessionMetrics=new ks(this.getSessionId(),this)}connect(){return Ao(this,void 0,void 0,function*(){if(this.connectCalled)return;this.connectCalled=!0,this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:zn}=this;zn&&this.sendSystemMessage(zn,{type:"ping"})},this.pingUpdateTimeoutMs),this.connectTimeout=setTimeout(()=>Ao(this,void 0,void 0,function*(){this.isReady()||(Gt.a.warn("RTC connect timed out, closing connection"),yield this.close())}),this.connectTimeoutMs);const{peerConnection:yn,config:{isOffer:Tn,sessionId:Dn}}=this;if(Tn){const zn=yield yn.createOffer();yield yn.setLocalDescription(zn)}Tn&&(this.gatherIceTimeout=setTimeout(()=>Ao(this,void 0,void 0,function*(){this.sentOffer||(Gt.a.warn("ICE gathering timed out"),this.receivedIceCandidate?(Gt.a.warn("Attempting to connect with partial ICE candidate pool"),yield this.sendOffer()):yield this.close())}),this.gatherIceTimeoutMs),yn.onicecandidate=zn=>Ao(this,void 0,void 0,function*(){zn.candidate?this.receivedIceCandidate=!0:yield this.sendOffer()}),yn.onicegatheringstatechange=()=>Ao(this,void 0,void 0,function*(){yn.iceGatheringState==="complete"&&(yield this.sendOffer())}),yn.onnegotiationneeded=()=>{Gt.a.debug("Negotiation needed",{sessionId:Dn})})})}handleSignal(yn){return Ao(this,void 0,void 0,function*(){const{peerConnection:Tn,config:{sessionId:Dn,sendSignal:zn}}=this,{description:Xn}=JSON.parse(yn.payload);if(Gt.a.debug("Handling signal",{sessionId:Dn,description:JSON.stringify(Xn)}),Xn)if(Tn.signalingState!=="stable"||Tn.connectionState!=="connected")if(Tn.remoteDescription)Gt.a.warn(`Received SDP signal during negotiation when remote description is already set: ${JSON.stringify(yn)}`);else if(Xn.type==="offer"){yield Tn.setRemoteDescription(Xn);const tr=yield Tn.createAnswer();yield Tn.setLocalDescription(tr),yield zn({payload:JSON.stringify({description:tr})})}else Xn.type==="answer"&&(yield Tn.setRemoteDescription(Xn));else Gt.a.warn(`Received SDP signal when signaling is stable and connected: ${JSON.stringify(yn)}`);else Gt.a.warn(`Received non-SDP signal: ${JSON.stringify(yn)}`)})}send(yn,Tn){const Dn=this.getChannelFromLabel(Tn.channelLabel);Dn?this.sendOnChannel(Dn,yn):Gt.a.warn("Send called with unexpected channel label",{channelLabel:Tn.channelLabel})}controlRemoteStream(yn){this.sendSystemMessage(In(this.reliableStreamChannel),{type:"stream-control",streamControl:yn})}isActive(){return new Set(["new","connecting","connected"]).has(this.peerConnection.connectionState)}isReady(){const{peerConnection:yn,latestTtlStreamChannel:Tn,reliableStreamChannel:Dn,latestTryOnceStreamChannel:zn}=this;return!!(Dn&&Tn&&zn)&&yn.connectionState==="connected"&&Dn.readyState==="open"&&Tn.readyState==="open"&&zn.readyState==="open"}isClosed(){const{peerConnection:yn,reliableStreamChannel:Tn,latestTryOnceStreamChannel:Dn,latestTtlStreamChannel:zn}=this;return!(yn.connectionState!=="closed"||Tn!==void 0&&Tn.readyState!=="closed"||Dn!==void 0&&Dn.readyState!=="closed"||zn!==void 0&&zn.readyState!=="closed")}needsClosing(){const{peerConnection:yn,latestTtlStreamChannel:Tn,reliableStreamChannel:Dn,latestTryOnceStreamChannel:zn}=this;if(this.isClosed())return!1;const Xn=new Set(["closing","closed"]),tr=sr=>sr&&Xn.has(sr.readyState);return Ar(yn)||tr(Tn)||tr(Dn)||tr(zn)}close(){return Ao(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield this.sessionMetrics.uploadMetrics(),this.pingUpdateTimeout&&clearInterval(this.pingUpdateTimeout),this.connectTimeout&&clearTimeout(this.connectTimeout),this.gatherIceTimeout&&clearTimeout(this.gatherIceTimeout),this.peerConnection.close())})}getPing(){return this.pingTimeMs}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionId(){return this.config.sessionId}getRemotePeer(){return this.config.remotePeer}initializeChannels(yn){this.latestTtlStreamChannel=yn.createDataChannel("stream.latest-ttl",Pn),this.reliableStreamChannel=yn.createDataChannel("stream.reliable",jn),this.latestReliableStreamChannel=yn.createDataChannel("stream.latest-reliable",$n),this.latestTryOnceStreamChannel=yn.createDataChannel("stream.latest-try-once",pr),this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}sendOffer(){return Ao(this,void 0,void 0,function*(){if(this.sentOffer||(this.sentOffer=!0,Ar(this.peerConnection)))return;const{peerConnection:yn,config:{sendSignal:Tn}}=this,Dn=yield yn.createOffer();yield yn.setLocalDescription(Dn);const zn={payload:JSON.stringify({description:Dn})};yield Tn(zn)})}getChannelFromLabel(yn){switch(yn){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(yn,Tn){let Dn;try{Dn=Object(An.encode)(JSON.stringify(Tn))}catch(zn){return void Gt.a.warn("Failed to encode RTC message",{error:zn})}try{yn.send(Dn),this.sessionMetrics.incrementMessageSent(Tn)}catch(zn){Gt.a.warn("Failed to send message to channel",{error:zn,channel:yn.label})}}channelNotRecognized(yn){return yn!==this.latestTtlStreamChannel&&yn!==this.latestReliableStreamChannel&&yn!==this.latestTryOnceStreamChannel&&yn!==this.reliableStreamChannel}setupChannel(yn){yn.onmessage=Tn=>{if(this.channelNotRecognized(yn))return void Gt.a.warn("Received message on unrecognized data channel.");let Dn;try{Dn=JSON.parse(Object(An.decode)(Tn.data))}catch(zn){return void Gt.a.warn("Received unparseable RTC message",{error:zn,channel:yn.label})}if(this.lastMessageTimestamp=new Date().getTime(),Dn=bo(Dn),this.sessionMetrics.incrementMessageReceived(Dn),!this.handleSystemMessage(yn,Dn)){if(!this.hasCapabilities(Dn))return void Gt.a.warn("Received RTC message that was not within the capability scope of the connection.");(yn===this.latestTryOnceStreamChannel||yn===this.latestTtlStreamChannel||yn===this.latestReliableStreamChannel)&&!this.isLatestMessage(Dn)||this.config.receive(this.config.remotePeer.id,Dn)}},yn.onerror=Tn=>{Gt.a.warn(`Channel error: ${Tn.error}`,{error:Tn.error,sessionId:this.getSessionId(),channelLabel:yn.label})},yn.onopen=()=>{Gt.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:yn.label})},yn.onclose=()=>{const Tn={bufferedAmount:yn.bufferedAmount,sessionId:this.getSessionId(),channelLabel:yn.label};this.closeCalled===!1?Gt.a.debug("Unexpected channel closed",Tn):Gt.a.debug("Channel closed",Tn)}}handleSystemMessage(yn,Tn){switch(Tn.header.stream.streamType){case"ping":return this.sendSystemMessage(yn,{type:"pong",timestamp:In(Tn.payload.ping)}),!0;case"pong":{const Dn=new Date().getTime()-In(Tn.payload.pong);return this.pingTimeMs=Dn,rn.aggregate("rtc-ping-time",Dn),!0}case"stream-control":return!0;default:return!1}}sendSystemMessage(yn,Tn){if(yn.readyState!=="open")return;const Dn={entityId:In(this.config.localPeer.deviceId||this.config.localPeer.userId),streamName:`$.${Tn.type}`,streamType:Tn.type};let zn;switch(Tn.type){case"ping":zn={ping:new Date().getTime()};break;case"pong":zn={pong:Tn.timestamp};break;case"stream-control":zn={streamControl:Tn.streamControl}}this.sendOnChannel(yn,kr(Dn,zn))}hasCapabilities(yn){var Tn,Dn;const{localPeer:zn,remotePeer:Xn}=this.config,tr=(Tn=zn.capabilitySet.streaming)===null||Tn===void 0?void 0:Tn.streams,sr=tr&&tr.some(Kn=>Kn.receive&&ms(Kn.stream,yn.header.stream)),cr=(Dn=Xn.capabilitySet.streaming)===null||Dn===void 0?void 0:Dn.streams,nr=cr&&cr.some(Kn=>Kn.send&&ms(Kn.stream,yn.header.stream));return sr||nr}isLatestMessage(yn){const Tn=wr(yn.header.stream),Dn=(this.streamLatestTimestamp.get(Tn)||0)<=yn.header.created;return Dn&&this.streamLatestTimestamp.set(Tn,yn.header.created),Dn}}var io=function(dr,yn,Tn,Dn){return new(Tn||(Tn=Promise))(function(zn,Xn){function tr(nr){try{cr(Dn.next(nr))}catch(Kn){Xn(Kn)}}function sr(nr){try{cr(Dn.throw(nr))}catch(Kn){Xn(Kn)}}function cr(nr){var Kn;nr.done?zn(nr.value):(Kn=nr.value,Kn instanceof Tn?Kn:new Tn(function(mr){mr(Kn)})).then(tr,sr)}cr((Dn=Dn.apply(dr,yn||[])).next())})};class Ns{constructor(yn){this.config=yn,this.connections=[],this.connectingSessions=new Map,this.rtcInstancesConstructed=0,this.updateInterval=Kt({func:()=>io(this,void 0,void 0,function*(){try{yield this.update()}catch(Tn){Gt.a.warn("RTC update failed",{error:Tn})}}),delay:250*Bt.a.millisecond,immediate:!0}),this.localPeer=this.createPeer()}send(yn,Tn,Dn){const zn=this.getActiveConnection(yn);zn?zn.isReady()?zn.send(Tn,Dn):Gt.a.warn("Attempted to send with an active connection to that peer which was not yet ready."):Gt.a.warn("Attempted to send with no active connection to that peer.")}controlRemoteStream(yn,Tn){const Dn=this.getActiveConnection(yn);Dn?Dn.isReady()?Dn.controlRemoteStream(Tn):Gt.a.warn("Attempted to control remote stream with an active connection to that peer which was not yet ready."):Gt.a.warn("Attempted to control remote stream with no active connection to that peer.")}connect(yn){return io(this,void 0,void 0,function*(){const Tn=yield this.getLocalPeer();if(this.getActiveConnection(yn))return void Gt.a.warn("Attempted to connect to peer with an already active connection.");let Dn;try{Dn=yield this.config.signalingClient.createSession(yield this.config.getToken(),{offerPeerId:Tn.id,answerPeerId:yn})}catch(zn){Object($o.a)(zn,hs.a,Xn=>Xn.statusCode===404),Gt.a.warn("Attempted to connect to peer that does not exist.")}if(Dn)for(this.connectingSessions.set(Dn.id,new Date().getTime()),yield this.connectToSession(Dn);;)switch(yield Object(Vt.a)(.1),this.getConnectionStatus(yn)){case"connecting":continue;case"connected":return Dn.id;case"disconnected":return}})}getConnectionStatus(yn){const Tn=this.getActiveConnection(yn);return Tn?Tn.isReady()?"connected":"connecting":"disconnected"}getIceMode(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.iceMode}disconnect(yn){return io(this,void 0,void 0,function*(){const Tn=this.getActiveConnection(yn);Tn&&(yield this.closeConnection(Tn))})}getLocalPeer(){return io(this,void 0,void 0,function*(){return yield this.localPeer})}getPeers(){return io(this,void 0,void 0,function*(){return yield this.config.signalingClient.getPeers(yield this.config.getToken())})}getPing(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getPing();Gt.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(yn){const Tn=this.getActiveConnection(yn);if(Tn)return Tn.getLastMessageTimestamp();Gt.a.warn("Attempted to get ping time from inactive peer.")}shutdown(){return io(this,void 0,void 0,function*(){yield this.updateInterval.stop();const yn=this.connections;this.connections=[],yield this.closeConnections(yn)})}closeConnection(yn){return io(this,void 0,void 0,function*(){this.connectingSessions.delete(yn.getSessionId()),yield yn.close();try{yield this.config.signalingClient.deleteSession(yield this.config.getToken(),yn.getSessionId())}catch(Tn){Object($o.a)(Tn,hs.a,Dn=>Dn.statusCode===404)}})}getSessions(){return io(this,void 0,void 0,function*(){const yn=yield this.getLocalPeer();return(yield this.config.signalingClient.getSessions(yield this.config.getToken())).filter(Tn=>Tn.offer.peer.id===yn.id||Tn.answer.peer.id===yn.id)})}createPeer(){return io(this,void 0,void 0,function*(){return yield this.config.signalingClient.createPeer(yield this.config.getToken(),{capabilitySet:this.config.capabilitySet||{}})})}createRTCPeerConnection(yn={}){return io(this,void 0,void 0,function*(){const Tn=this.config.alternateRTCPeerConnection||RTCPeerConnection;this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||is();try{return new Tn(Object.assign({iceServers:yield this.config.signalingClient.getIceServers(yield this.config.getToken())},yn))}catch(Dn){throw Gt.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),Dn}})}closeConnections(yn){return io(this,void 0,void 0,function*(){const Tn=yield Vn(yn.map(Dn=>io(this,void 0,void 0,function*(){yield this.closeConnection(Dn)})));for(const Dn of Tn)Gt.a.warn("Request to close session failed",{error:Dn})})}reset(){return io(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.connectingSessions=new Map,this.localPeer=this.createPeer(),yield this.localPeer})}getActiveConnection(yn){return this.connections.find(Tn=>Tn.getRemotePeer().id===yn&&Tn.isActive())}update(){return io(this,void 0,void 0,function*(){const yn=yield this.getLocalPeer();try{yield this.config.signalingClient.refreshPeer(yield this.config.getToken(),yn.id)}catch(Tn){Object($o.a)(Tn,hs.a,Dn=>Dn.statusCode===404),Gt.a.warn("Peer expired, creating new peer",{peerId:yn.id}),yield this.reset()}yield this.handleSessions(yield this.getSessions())})}handleSessions(yn){return io(this,void 0,void 0,function*(){yield this.syncConnectionsAndSessions(yn);const Tn=yn.map(Dn=>({session:Dn,connection:this.connections.find(zn=>zn.getSessionId()===Dn.id)}));yield Promise.all(Tn.map(({session:Dn,connection:zn})=>io(this,void 0,void 0,function*(){return yield this.maintainConnection(Dn,zn)})))})}syncConnectionsAndSessions(yn){return io(this,void 0,void 0,function*(){const Tn=new Set(yn.map(Xn=>Xn.id)),Dn=Xn=>Tn.has(Xn.getSessionId())||this.connectingSessions.has(Xn.getSessionId());this.connections=this.connections.filter(Xn=>Dn(Xn));const zn=this.connections.filter(Xn=>!Dn(Xn)||Xn.needsClosing());yield Promise.all(zn.map(Xn=>io(this,void 0,void 0,function*(){yield this.closeConnection(Xn)})))})}maintainConnection(yn,Tn){return io(this,void 0,void 0,function*(){const Dn=yield this.getLocalPeer(),zn=yn.offer.peer.id===Dn.id;if(Tn){if(Tn.isReady())try{yield this.config.signalingClient.refreshSession(yield this.config.getToken(),yn.id)}catch(Xn){Object($o.a)(Xn,hs.a,tr=>tr.statusCode===404),Gt.a.debug("Refresh session not found",{sessionId:yn.id})}else if(Tn.isActive())try{yield this.consumeSignals(Tn)}catch(Xn){Gt.a.warn("Failed to ingest signals, closing connection",{error:Xn}),yield this.closeConnection(Tn)}}else{if(zn)return;yield this.connectToSession(yn)}})}connectToSession(yn){return io(this,void 0,void 0,function*(){const Tn=yield this.getLocalPeer(),Dn=yn.offer.peer.id===Tn.id,zn=yield this.createRTCPeerConnection(),Xn=new Hs(zn,{localPeer:Dn?yn.offer.peer:yn.answer.peer,remotePeer:Dn?yn.answer.peer:yn.offer.peer,sessionId:yn.id,isOffer:Dn,sendSignal:tr=>this.sendSignal(yn.id,tr),receive:(tr,sr)=>this.config.receive(tr,sr)});if(this.connections.find(tr=>tr.getSessionId()===yn.id))return Gt.a.warn("connectToSession called on a session that already has a connection.",{sessionId:yn.id}),void(yield Xn.close());this.setupHandlers(Xn),this.connections.push(Xn);try{yield Xn.connect()}catch(tr){Gt.a.warn("Failed to handle negotiation, closing connection",{error:tr}),yield this.closeConnection(Xn)}})}setupHandlers(yn){const{peerConnection:Tn}=yn,Dn=yn.getSessionId();Tn.onconnectionstatechange=()=>io(this,void 0,void 0,function*(){const zn=this.connectingSessions.get(Dn);if(zn===void 0)return;const Xn=Tn.connectionState;switch(Ar(Tn)&&this.connectingSessions.delete(Dn),Xn){case"connected":{this.connectingSessions.delete(Dn);const tr=new Date().getTime()-zn;rn.aggregate("rtc-connect-time",tr);break}case"failed":rn.increment("rtc-connect-failed"),yield this.closeConnection(yn)}})}consumeSignals(yn){return io(this,void 0,void 0,function*(){let Tn=[];try{Tn=yield this.config.signalingClient.takeSignals(yield this.config.getToken(),yn.getSessionId())}catch(Dn){Object($o.a)(Dn,hs.a,zn=>zn.statusCode===404)}for(const Dn of Tn)yield yn.handleSignal(Dn)})}sendSignal(yn,Tn){return io(this,void 0,void 0,function*(){try{yield this.config.signalingClient.addSignals(yield this.config.getToken(),yn,{signals:[Tn]})}catch(Dn){Object($o.a)(Dn,hs.a,zn=>zn.statusCode===404)}})}}},function(et,tt,nt){var it={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let ot;const Ut=new Uint8Array(16);function Ft(){if(!ot&&(ot=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!ot))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ot(Ut)}const Qt=[];for(let Vt=0;Vt<256;++Vt)Qt.push((Vt+256).toString(16).slice(1));function Bt(Vt,Wt=0){return(Qt[Vt[Wt+0]]+Qt[Vt[Wt+1]]+Qt[Vt[Wt+2]]+Qt[Vt[Wt+3]]+"-"+Qt[Vt[Wt+4]]+Qt[Vt[Wt+5]]+"-"+Qt[Vt[Wt+6]]+Qt[Vt[Wt+7]]+"-"+Qt[Vt[Wt+8]]+Qt[Vt[Wt+9]]+"-"+Qt[Vt[Wt+10]]+Qt[Vt[Wt+11]]+Qt[Vt[Wt+12]]+Qt[Vt[Wt+13]]+Qt[Vt[Wt+14]]+Qt[Vt[Wt+15]]).toLowerCase()}tt.a=function(Vt,Wt,Xt){if(it.randomUUID&&!Wt&&!Vt)return it.randomUUID();const Zt=(Vt=Vt||{}).random||(Vt.rng||Ft)();if(Zt[6]=15&Zt[6]|64,Zt[8]=63&Zt[8]|128,Wt){Xt=Xt||0;for(let Yt=0;Yt<16;++Yt)Wt[Xt+Yt]=Zt[Yt];return Wt}return Bt(Zt)}},,function(et,tt,nt){nt.r(tt),nt.d(tt,"LogClient",function(){return Qt});var it=nt(28),ot=nt(11),Ut=nt(10),Ft=function(Bt,Vt,Wt,Xt){return new(Wt||(Wt=Promise))(function(Zt,Yt){function Mt(tn){try{en(Xt.next(tn))}catch(ln){Yt(ln)}}function Gt(tn){try{en(Xt.throw(tn))}catch(ln){Yt(ln)}}function en(tn){var ln;tn.done?Zt(tn.value):(ln=tn.value,ln instanceof Wt?ln:new Wt(function(nn){nn(ln)})).then(Mt,Gt)}en((Xt=Xt.apply(Bt,Vt||[])).next())})};class Qt extends it.a{log(Vt){return Ft(this,void 0,void 0,function*(){const Wt=Qt.token;try{yield this.fetch("logs",{token:Wt,method:"POST",body:{logs:Vt},allowUnsafeRetries:!0})}catch(Xt){Object(ot.a)(Xt,Ut.a,Zt=>Zt.statusCode===401&&Wt!==void 0),Qt.token===Wt&&delete Qt.token,yield this.log(Vt)}})}}}])})})(dist);var eventemitter3Exports={},eventemitter3={get exports(){return eventemitter3Exports},set exports(et){eventemitter3Exports=et}};(function(et){var tt=Object.prototype.hasOwnProperty,nt="~";function it(){}Object.create&&(it.prototype=Object.create(null),new it().__proto__||(nt=!1));function ot(Bt,Vt,Wt){this.fn=Bt,this.context=Vt,this.once=Wt||!1}function Ut(Bt,Vt,Wt,Xt,Zt){if(typeof Wt!="function")throw new TypeError("The listener must be a function");var Yt=new ot(Wt,Xt||Bt,Zt),Mt=nt?nt+Vt:Vt;return Bt._events[Mt]?Bt._events[Mt].fn?Bt._events[Mt]=[Bt._events[Mt],Yt]:Bt._events[Mt].push(Yt):(Bt._events[Mt]=Yt,Bt._eventsCount++),Bt}function Ft(Bt,Vt){--Bt._eventsCount===0?Bt._events=new it:delete Bt._events[Vt]}function Qt(){this._events=new it,this._eventsCount=0}Qt.prototype.eventNames=function(){var Vt=[],Wt,Xt;if(this._eventsCount===0)return Vt;for(Xt in Wt=this._events)tt.call(Wt,Xt)&&Vt.push(nt?Xt.slice(1):Xt);return Object.getOwnPropertySymbols?Vt.concat(Object.getOwnPropertySymbols(Wt)):Vt},Qt.prototype.listeners=function(Vt){var Wt=nt?nt+Vt:Vt,Xt=this._events[Wt];if(!Xt)return[];if(Xt.fn)return[Xt.fn];for(var Zt=0,Yt=Xt.length,Mt=new Array(Yt);Zt=0;)et[tt]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(et,tt,nt,it,ot){this.static_tree=et,this.extra_bits=tt,this.extra_base=nt,this.elems=it,this.max_length=ot,this.has_stree=et&&et.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(et,tt){this.dyn_tree=et,this.max_code=0,this.stat_desc=tt}const d_code=et=>et<256?_dist_code[et]:_dist_code[256+(et>>>7)],put_short=(et,tt)=>{et.pending_buf[et.pending++]=tt&255,et.pending_buf[et.pending++]=tt>>>8&255},send_bits=(et,tt,nt)=>{et.bi_valid>Buf_size-nt?(et.bi_buf|=tt<>Buf_size-et.bi_valid,et.bi_valid+=nt-Buf_size):(et.bi_buf|=tt<{send_bits(et,nt[tt*2],nt[tt*2+1])},bi_reverse=(et,tt)=>{let nt=0;do nt|=et&1,et>>>=1,nt<<=1;while(--tt>0);return nt>>>1},bi_flush=et=>{et.bi_valid===16?(put_short(et,et.bi_buf),et.bi_buf=0,et.bi_valid=0):et.bi_valid>=8&&(et.pending_buf[et.pending++]=et.bi_buf&255,et.bi_buf>>=8,et.bi_valid-=8)},gen_bitlen=(et,tt)=>{const nt=tt.dyn_tree,it=tt.max_code,ot=tt.stat_desc.static_tree,Ut=tt.stat_desc.has_stree,Ft=tt.stat_desc.extra_bits,Qt=tt.stat_desc.extra_base,Bt=tt.stat_desc.max_length;let Vt,Wt,Xt,Zt,Yt,Mt,Gt=0;for(Zt=0;Zt<=MAX_BITS$1;Zt++)et.bl_count[Zt]=0;for(nt[et.heap[et.heap_max]*2+1]=0,Vt=et.heap_max+1;VtBt&&(Zt=Bt,Gt++),nt[Wt*2+1]=Zt,!(Wt>it)&&(et.bl_count[Zt]++,Yt=0,Wt>=Qt&&(Yt=Ft[Wt-Qt]),Mt=nt[Wt*2],et.opt_len+=Mt*(Zt+Yt),Ut&&(et.static_len+=Mt*(ot[Wt*2+1]+Yt)));if(Gt!==0){do{for(Zt=Bt-1;et.bl_count[Zt]===0;)Zt--;et.bl_count[Zt]--,et.bl_count[Zt+1]+=2,et.bl_count[Bt]--,Gt-=2}while(Gt>0);for(Zt=Bt;Zt!==0;Zt--)for(Wt=et.bl_count[Zt];Wt!==0;)Xt=et.heap[--Vt],!(Xt>it)&&(nt[Xt*2+1]!==Zt&&(et.opt_len+=(Zt-nt[Xt*2+1])*nt[Xt*2],nt[Xt*2+1]=Zt),Wt--)}},gen_codes=(et,tt,nt)=>{const it=new Array(MAX_BITS$1+1);let ot=0,Ut,Ft;for(Ut=1;Ut<=MAX_BITS$1;Ut++)ot=ot+nt[Ut-1]<<1,it[Ut]=ot;for(Ft=0;Ft<=tt;Ft++){let Qt=et[Ft*2+1];Qt!==0&&(et[Ft*2]=bi_reverse(it[Qt]++,Qt))}},tr_static_init=()=>{let et,tt,nt,it,ot;const Ut=new Array(MAX_BITS$1+1);for(nt=0,it=0;it>=7;it{let tt;for(tt=0;tt{et.bi_valid>8?put_short(et,et.bi_buf):et.bi_valid>0&&(et.pending_buf[et.pending++]=et.bi_buf),et.bi_buf=0,et.bi_valid=0},smaller=(et,tt,nt,it)=>{const ot=tt*2,Ut=nt*2;return et[ot]{const it=et.heap[nt];let ot=nt<<1;for(;ot<=et.heap_len&&(ot{let it,ot,Ut=0,Ft,Qt;if(et.sym_next!==0)do it=et.pending_buf[et.sym_buf+Ut++]&255,it+=(et.pending_buf[et.sym_buf+Ut++]&255)<<8,ot=et.pending_buf[et.sym_buf+Ut++],it===0?send_code(et,ot,tt):(Ft=_length_code[ot],send_code(et,Ft+LITERALS$1+1,tt),Qt=extra_lbits[Ft],Qt!==0&&(ot-=base_length[Ft],send_bits(et,ot,Qt)),it--,Ft=d_code(it),send_code(et,Ft,nt),Qt=extra_dbits[Ft],Qt!==0&&(it-=base_dist[Ft],send_bits(et,it,Qt)));while(Ut{const nt=tt.dyn_tree,it=tt.stat_desc.static_tree,ot=tt.stat_desc.has_stree,Ut=tt.stat_desc.elems;let Ft,Qt,Bt=-1,Vt;for(et.heap_len=0,et.heap_max=HEAP_SIZE$1,Ft=0;Ft>1;Ft>=1;Ft--)pqdownheap(et,nt,Ft);Vt=Ut;do Ft=et.heap[1],et.heap[1]=et.heap[et.heap_len--],pqdownheap(et,nt,1),Qt=et.heap[1],et.heap[--et.heap_max]=Ft,et.heap[--et.heap_max]=Qt,nt[Vt*2]=nt[Ft*2]+nt[Qt*2],et.depth[Vt]=(et.depth[Ft]>=et.depth[Qt]?et.depth[Ft]:et.depth[Qt])+1,nt[Ft*2+1]=nt[Qt*2+1]=Vt,et.heap[1]=Vt++,pqdownheap(et,nt,1);while(et.heap_len>=2);et.heap[--et.heap_max]=et.heap[1],gen_bitlen(et,tt),gen_codes(nt,Bt,et.bl_count)},scan_tree=(et,tt,nt)=>{let it,ot=-1,Ut,Ft=tt[0*2+1],Qt=0,Bt=7,Vt=4;for(Ft===0&&(Bt=138,Vt=3),tt[(nt+1)*2+1]=65535,it=0;it<=nt;it++)Ut=Ft,Ft=tt[(it+1)*2+1],!(++Qt{let it,ot=-1,Ut,Ft=tt[0*2+1],Qt=0,Bt=7,Vt=4;for(Ft===0&&(Bt=138,Vt=3),it=0;it<=nt;it++)if(Ut=Ft,Ft=tt[(it+1)*2+1],!(++Qt{let tt;for(scan_tree(et,et.dyn_ltree,et.l_desc.max_code),scan_tree(et,et.dyn_dtree,et.d_desc.max_code),build_tree(et,et.bl_desc),tt=BL_CODES$1-1;tt>=3&&et.bl_tree[bl_order[tt]*2+1]===0;tt--);return et.opt_len+=3*(tt+1)+5+5+4,tt},send_all_trees=(et,tt,nt,it)=>{let ot;for(send_bits(et,tt-257,5),send_bits(et,nt-1,5),send_bits(et,it-4,4),ot=0;ot{let tt=4093624447,nt;for(nt=0;nt<=31;nt++,tt>>>=1)if(tt&1&&et.dyn_ltree[nt*2]!==0)return Z_BINARY;if(et.dyn_ltree[9*2]!==0||et.dyn_ltree[10*2]!==0||et.dyn_ltree[13*2]!==0)return Z_TEXT;for(nt=32;nt{static_init_done||(tr_static_init(),static_init_done=!0),et.l_desc=new TreeDesc(et.dyn_ltree,static_l_desc),et.d_desc=new TreeDesc(et.dyn_dtree,static_d_desc),et.bl_desc=new TreeDesc(et.bl_tree,static_bl_desc),et.bi_buf=0,et.bi_valid=0,init_block(et)},_tr_stored_block$1=(et,tt,nt,it)=>{send_bits(et,(STORED_BLOCK<<1)+(it?1:0),3),bi_windup(et),put_short(et,nt),put_short(et,~nt),nt&&et.pending_buf.set(et.window.subarray(tt,tt+nt),et.pending),et.pending+=nt},_tr_align$1=et=>{send_bits(et,STATIC_TREES<<1,3),send_code(et,END_BLOCK,static_ltree),bi_flush(et)},_tr_flush_block$1=(et,tt,nt,it)=>{let ot,Ut,Ft=0;et.level>0?(et.strm.data_type===Z_UNKNOWN$1&&(et.strm.data_type=detect_data_type(et)),build_tree(et,et.l_desc),build_tree(et,et.d_desc),Ft=build_bl_tree(et),ot=et.opt_len+3+7>>>3,Ut=et.static_len+3+7>>>3,Ut<=ot&&(ot=Ut)):ot=Ut=nt+5,nt+4<=ot&&tt!==-1?_tr_stored_block$1(et,tt,nt,it):et.strategy===Z_FIXED$1||Ut===ot?(send_bits(et,(STATIC_TREES<<1)+(it?1:0),3),compress_block(et,static_ltree,static_dtree)):(send_bits(et,(DYN_TREES<<1)+(it?1:0),3),send_all_trees(et,et.l_desc.max_code+1,et.d_desc.max_code+1,Ft+1),compress_block(et,et.dyn_ltree,et.dyn_dtree)),init_block(et),it&&bi_windup(et)},_tr_tally$1=(et,tt,nt)=>(et.pending_buf[et.sym_buf+et.sym_next++]=tt,et.pending_buf[et.sym_buf+et.sym_next++]=tt>>8,et.pending_buf[et.sym_buf+et.sym_next++]=nt,tt===0?et.dyn_ltree[nt*2]++:(et.matches++,tt--,et.dyn_ltree[(_length_code[nt]+LITERALS$1+1)*2]++,et.dyn_dtree[d_code(tt)*2]++),et.sym_next===et.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(et,tt,nt,it)=>{let ot=et&65535|0,Ut=et>>>16&65535|0,Ft=0;for(;nt!==0;){Ft=nt>2e3?2e3:nt,nt-=Ft;do ot=ot+tt[it++]|0,Ut=Ut+ot|0;while(--Ft);ot%=65521,Ut%=65521}return ot|Ut<<16|0};var adler32_1=adler32;const makeTable=()=>{let et,tt=[];for(var nt=0;nt<256;nt++){et=nt;for(var it=0;it<8;it++)et=et&1?3988292384^et>>>1:et>>>1;tt[nt]=et}return tt},crcTable=new Uint32Array(makeTable()),crc32=(et,tt,nt,it)=>{const ot=crcTable,Ut=it+nt;et^=-1;for(let Ft=it;Ft>>8^ot[(et^tt[Ft])&255];return et^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(et,tt)=>(et.msg=messages[tt],tt),rank=et=>et*2-(et>4?9:0),zero=et=>{let tt=et.length;for(;--tt>=0;)et[tt]=0},slide_hash=et=>{let tt,nt,it,ot=et.w_size;tt=et.hash_size,it=tt;do nt=et.head[--it],et.head[it]=nt>=ot?nt-ot:0;while(--tt);tt=ot,it=tt;do nt=et.prev[--it],et.prev[it]=nt>=ot?nt-ot:0;while(--tt)};let HASH_ZLIB=(et,tt,nt)=>(tt<{const tt=et.state;let nt=tt.pending;nt>et.avail_out&&(nt=et.avail_out),nt!==0&&(et.output.set(tt.pending_buf.subarray(tt.pending_out,tt.pending_out+nt),et.next_out),et.next_out+=nt,tt.pending_out+=nt,et.total_out+=nt,et.avail_out-=nt,tt.pending-=nt,tt.pending===0&&(tt.pending_out=0))},flush_block_only=(et,tt)=>{_tr_flush_block(et,et.block_start>=0?et.block_start:-1,et.strstart-et.block_start,tt),et.block_start=et.strstart,flush_pending(et.strm)},put_byte=(et,tt)=>{et.pending_buf[et.pending++]=tt},putShortMSB=(et,tt)=>{et.pending_buf[et.pending++]=tt>>>8&255,et.pending_buf[et.pending++]=tt&255},read_buf=(et,tt,nt,it)=>{let ot=et.avail_in;return ot>it&&(ot=it),ot===0?0:(et.avail_in-=ot,tt.set(et.input.subarray(et.next_in,et.next_in+ot),nt),et.state.wrap===1?et.adler=adler32_1(et.adler,tt,ot,nt):et.state.wrap===2&&(et.adler=crc32_1(et.adler,tt,ot,nt)),et.next_in+=ot,et.total_in+=ot,ot)},longest_match=(et,tt)=>{let nt=et.max_chain_length,it=et.strstart,ot,Ut,Ft=et.prev_length,Qt=et.nice_match;const Bt=et.strstart>et.w_size-MIN_LOOKAHEAD?et.strstart-(et.w_size-MIN_LOOKAHEAD):0,Vt=et.window,Wt=et.w_mask,Xt=et.prev,Zt=et.strstart+MAX_MATCH;let Yt=Vt[it+Ft-1],Mt=Vt[it+Ft];et.prev_length>=et.good_match&&(nt>>=2),Qt>et.lookahead&&(Qt=et.lookahead);do if(ot=tt,!(Vt[ot+Ft]!==Mt||Vt[ot+Ft-1]!==Yt||Vt[ot]!==Vt[it]||Vt[++ot]!==Vt[it+1])){it+=2,ot++;do;while(Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&Vt[++it]===Vt[++ot]&&itFt){if(et.match_start=tt,Ft=Ut,Ut>=Qt)break;Yt=Vt[it+Ft-1],Mt=Vt[it+Ft]}}while((tt=Xt[tt&Wt])>Bt&&--nt!==0);return Ft<=et.lookahead?Ft:et.lookahead},fill_window=et=>{const tt=et.w_size;let nt,it,ot;do{if(it=et.window_size-et.lookahead-et.strstart,et.strstart>=tt+(tt-MIN_LOOKAHEAD)&&(et.window.set(et.window.subarray(tt,tt+tt-it),0),et.match_start-=tt,et.strstart-=tt,et.block_start-=tt,et.insert>et.strstart&&(et.insert=et.strstart),slide_hash(et),it+=tt),et.strm.avail_in===0)break;if(nt=read_buf(et.strm,et.window,et.strstart+et.lookahead,it),et.lookahead+=nt,et.lookahead+et.insert>=MIN_MATCH)for(ot=et.strstart-et.insert,et.ins_h=et.window[ot],et.ins_h=HASH(et,et.ins_h,et.window[ot+1]);et.insert&&(et.ins_h=HASH(et,et.ins_h,et.window[ot+MIN_MATCH-1]),et.prev[ot&et.w_mask]=et.head[et.ins_h],et.head[et.ins_h]=ot,ot++,et.insert--,!(et.lookahead+et.insert{let nt=et.pending_buf_size-5>et.w_size?et.w_size:et.pending_buf_size-5,it,ot,Ut,Ft=0,Qt=et.strm.avail_in;do{if(it=65535,Ut=et.bi_valid+42>>3,et.strm.avail_outot+et.strm.avail_in&&(it=ot+et.strm.avail_in),it>Ut&&(it=Ut),it>8,et.pending_buf[et.pending-2]=~it,et.pending_buf[et.pending-1]=~it>>8,flush_pending(et.strm),ot&&(ot>it&&(ot=it),et.strm.output.set(et.window.subarray(et.block_start,et.block_start+ot),et.strm.next_out),et.strm.next_out+=ot,et.strm.avail_out-=ot,et.strm.total_out+=ot,et.block_start+=ot,it-=ot),it&&(read_buf(et.strm,et.strm.output,et.strm.next_out,it),et.strm.next_out+=it,et.strm.avail_out-=it,et.strm.total_out+=it)}while(Ft===0);return Qt-=et.strm.avail_in,Qt&&(Qt>=et.w_size?(et.matches=2,et.window.set(et.strm.input.subarray(et.strm.next_in-et.w_size,et.strm.next_in),0),et.strstart=et.w_size,et.insert=et.strstart):(et.window_size-et.strstart<=Qt&&(et.strstart-=et.w_size,et.window.set(et.window.subarray(et.w_size,et.w_size+et.strstart),0),et.matches<2&&et.matches++,et.insert>et.strstart&&(et.insert=et.strstart)),et.window.set(et.strm.input.subarray(et.strm.next_in-Qt,et.strm.next_in),et.strstart),et.strstart+=Qt,et.insert+=Qt>et.w_size-et.insert?et.w_size-et.insert:Qt),et.block_start=et.strstart),et.high_waterUt&&et.block_start>=et.w_size&&(et.block_start-=et.w_size,et.strstart-=et.w_size,et.window.set(et.window.subarray(et.w_size,et.w_size+et.strstart),0),et.matches<2&&et.matches++,Ut+=et.w_size,et.insert>et.strstart&&(et.insert=et.strstart)),Ut>et.strm.avail_in&&(Ut=et.strm.avail_in),Ut&&(read_buf(et.strm,et.window,et.strstart,Ut),et.strstart+=Ut,et.insert+=Ut>et.w_size-et.insert?et.w_size-et.insert:Ut),et.high_water>3,Ut=et.pending_buf_size-Ut>65535?65535:et.pending_buf_size-Ut,nt=Ut>et.w_size?et.w_size:Ut,ot=et.strstart-et.block_start,(ot>=nt||(ot||tt===Z_FINISH$3)&&tt!==Z_NO_FLUSH$2&&et.strm.avail_in===0&&ot<=Ut)&&(it=ot>Ut?Ut:ot,Ft=tt===Z_FINISH$3&&et.strm.avail_in===0&&it===ot?1:0,_tr_stored_block(et,et.block_start,it,Ft),et.block_start+=it,flush_pending(et.strm)),Ft?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(et,tt)=>{let nt,it;for(;;){if(et.lookahead=MIN_MATCH&&(et.ins_h=HASH(et,et.ins_h,et.window[et.strstart+MIN_MATCH-1]),nt=et.prev[et.strstart&et.w_mask]=et.head[et.ins_h],et.head[et.ins_h]=et.strstart),nt!==0&&et.strstart-nt<=et.w_size-MIN_LOOKAHEAD&&(et.match_length=longest_match(et,nt)),et.match_length>=MIN_MATCH)if(it=_tr_tally(et,et.strstart-et.match_start,et.match_length-MIN_MATCH),et.lookahead-=et.match_length,et.match_length<=et.max_lazy_match&&et.lookahead>=MIN_MATCH){et.match_length--;do et.strstart++,et.ins_h=HASH(et,et.ins_h,et.window[et.strstart+MIN_MATCH-1]),nt=et.prev[et.strstart&et.w_mask]=et.head[et.ins_h],et.head[et.ins_h]=et.strstart;while(--et.match_length!==0);et.strstart++}else et.strstart+=et.match_length,et.match_length=0,et.ins_h=et.window[et.strstart],et.ins_h=HASH(et,et.ins_h,et.window[et.strstart+1]);else it=_tr_tally(et,0,et.window[et.strstart]),et.lookahead--,et.strstart++;if(it&&(flush_block_only(et,!1),et.strm.avail_out===0))return BS_NEED_MORE}return et.insert=et.strstart{let nt,it,ot;for(;;){if(et.lookahead=MIN_MATCH&&(et.ins_h=HASH(et,et.ins_h,et.window[et.strstart+MIN_MATCH-1]),nt=et.prev[et.strstart&et.w_mask]=et.head[et.ins_h],et.head[et.ins_h]=et.strstart),et.prev_length=et.match_length,et.prev_match=et.match_start,et.match_length=MIN_MATCH-1,nt!==0&&et.prev_length4096)&&(et.match_length=MIN_MATCH-1)),et.prev_length>=MIN_MATCH&&et.match_length<=et.prev_length){ot=et.strstart+et.lookahead-MIN_MATCH,it=_tr_tally(et,et.strstart-1-et.prev_match,et.prev_length-MIN_MATCH),et.lookahead-=et.prev_length-1,et.prev_length-=2;do++et.strstart<=ot&&(et.ins_h=HASH(et,et.ins_h,et.window[et.strstart+MIN_MATCH-1]),nt=et.prev[et.strstart&et.w_mask]=et.head[et.ins_h],et.head[et.ins_h]=et.strstart);while(--et.prev_length!==0);if(et.match_available=0,et.match_length=MIN_MATCH-1,et.strstart++,it&&(flush_block_only(et,!1),et.strm.avail_out===0))return BS_NEED_MORE}else if(et.match_available){if(it=_tr_tally(et,0,et.window[et.strstart-1]),it&&flush_block_only(et,!1),et.strstart++,et.lookahead--,et.strm.avail_out===0)return BS_NEED_MORE}else et.match_available=1,et.strstart++,et.lookahead--}return et.match_available&&(it=_tr_tally(et,0,et.window[et.strstart-1]),et.match_available=0),et.insert=et.strstart{let nt,it,ot,Ut;const Ft=et.window;for(;;){if(et.lookahead<=MAX_MATCH){if(fill_window(et),et.lookahead<=MAX_MATCH&&tt===Z_NO_FLUSH$2)return BS_NEED_MORE;if(et.lookahead===0)break}if(et.match_length=0,et.lookahead>=MIN_MATCH&&et.strstart>0&&(ot=et.strstart-1,it=Ft[ot],it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot])){Ut=et.strstart+MAX_MATCH;do;while(it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&it===Ft[++ot]&&otet.lookahead&&(et.match_length=et.lookahead)}if(et.match_length>=MIN_MATCH?(nt=_tr_tally(et,1,et.match_length-MIN_MATCH),et.lookahead-=et.match_length,et.strstart+=et.match_length,et.match_length=0):(nt=_tr_tally(et,0,et.window[et.strstart]),et.lookahead--,et.strstart++),nt&&(flush_block_only(et,!1),et.strm.avail_out===0))return BS_NEED_MORE}return et.insert=0,tt===Z_FINISH$3?(flush_block_only(et,!0),et.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):et.sym_next&&(flush_block_only(et,!1),et.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(et,tt)=>{let nt;for(;;){if(et.lookahead===0&&(fill_window(et),et.lookahead===0)){if(tt===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(et.match_length=0,nt=_tr_tally(et,0,et.window[et.strstart]),et.lookahead--,et.strstart++,nt&&(flush_block_only(et,!1),et.strm.avail_out===0))return BS_NEED_MORE}return et.insert=0,tt===Z_FINISH$3?(flush_block_only(et,!0),et.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):et.sym_next&&(flush_block_only(et,!1),et.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config$1(et,tt,nt,it,ot){this.good_length=et,this.max_lazy=tt,this.nice_length=nt,this.max_chain=it,this.func=ot}const configuration_table=[new Config$1(0,0,0,0,deflate_stored),new Config$1(4,4,8,4,deflate_fast),new Config$1(4,5,16,8,deflate_fast),new Config$1(4,6,32,32,deflate_fast),new Config$1(4,4,16,16,deflate_slow),new Config$1(8,16,32,32,deflate_slow),new Config$1(8,16,128,128,deflate_slow),new Config$1(8,32,128,256,deflate_slow),new Config$1(32,128,258,1024,deflate_slow),new Config$1(32,258,258,4096,deflate_slow)],lm_init=et=>{et.window_size=2*et.w_size,zero(et.head),et.max_lazy_match=configuration_table[et.level].max_lazy,et.good_match=configuration_table[et.level].good_length,et.nice_match=configuration_table[et.level].nice_length,et.max_chain_length=configuration_table[et.level].max_chain,et.strstart=0,et.block_start=0,et.lookahead=0,et.insert=0,et.match_length=et.prev_length=MIN_MATCH-1,et.match_available=0,et.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=et=>{if(!et)return 1;const tt=et.state;return!tt||tt.strm!==et||tt.status!==INIT_STATE&&tt.status!==GZIP_STATE&&tt.status!==EXTRA_STATE&&tt.status!==NAME_STATE&&tt.status!==COMMENT_STATE&&tt.status!==HCRC_STATE&&tt.status!==BUSY_STATE&&tt.status!==FINISH_STATE?1:0},deflateResetKeep=et=>{if(deflateStateCheck(et))return err(et,Z_STREAM_ERROR$2);et.total_in=et.total_out=0,et.data_type=Z_UNKNOWN;const tt=et.state;return tt.pending=0,tt.pending_out=0,tt.wrap<0&&(tt.wrap=-tt.wrap),tt.status=tt.wrap===2?GZIP_STATE:tt.wrap?INIT_STATE:BUSY_STATE,et.adler=tt.wrap===2?0:1,tt.last_flush=-2,_tr_init(tt),Z_OK$3},deflateReset=et=>{const tt=deflateResetKeep(et);return tt===Z_OK$3&&lm_init(et.state),tt},deflateSetHeader=(et,tt)=>deflateStateCheck(et)||et.state.wrap!==2?Z_STREAM_ERROR$2:(et.state.gzhead=tt,Z_OK$3),deflateInit2=(et,tt,nt,it,ot,Ut)=>{if(!et)return Z_STREAM_ERROR$2;let Ft=1;if(tt===Z_DEFAULT_COMPRESSION$1&&(tt=6),it<0?(Ft=0,it=-it):it>15&&(Ft=2,it-=16),ot<1||ot>MAX_MEM_LEVEL||nt!==Z_DEFLATED$2||it<8||it>15||tt<0||tt>9||Ut<0||Ut>Z_FIXED||it===8&&Ft!==1)return err(et,Z_STREAM_ERROR$2);it===8&&(it=9);const Qt=new DeflateState;return et.state=Qt,Qt.strm=et,Qt.status=INIT_STATE,Qt.wrap=Ft,Qt.gzhead=null,Qt.w_bits=it,Qt.w_size=1<deflateInit2(et,tt,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(et,tt)=>{if(deflateStateCheck(et)||tt>Z_BLOCK$1||tt<0)return et?err(et,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const nt=et.state;if(!et.output||et.avail_in!==0&&!et.input||nt.status===FINISH_STATE&&tt!==Z_FINISH$3)return err(et,et.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const it=nt.last_flush;if(nt.last_flush=tt,nt.pending!==0){if(flush_pending(et),et.avail_out===0)return nt.last_flush=-1,Z_OK$3}else if(et.avail_in===0&&rank(tt)<=rank(it)&&tt!==Z_FINISH$3)return err(et,Z_BUF_ERROR$1);if(nt.status===FINISH_STATE&&et.avail_in!==0)return err(et,Z_BUF_ERROR$1);if(nt.status===INIT_STATE&&nt.wrap===0&&(nt.status=BUSY_STATE),nt.status===INIT_STATE){let ot=Z_DEFLATED$2+(nt.w_bits-8<<4)<<8,Ut=-1;if(nt.strategy>=Z_HUFFMAN_ONLY||nt.level<2?Ut=0:nt.level<6?Ut=1:nt.level===6?Ut=2:Ut=3,ot|=Ut<<6,nt.strstart!==0&&(ot|=PRESET_DICT),ot+=31-ot%31,putShortMSB(nt,ot),nt.strstart!==0&&(putShortMSB(nt,et.adler>>>16),putShortMSB(nt,et.adler&65535)),et.adler=1,nt.status=BUSY_STATE,flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3}if(nt.status===GZIP_STATE){if(et.adler=0,put_byte(nt,31),put_byte(nt,139),put_byte(nt,8),nt.gzhead)put_byte(nt,(nt.gzhead.text?1:0)+(nt.gzhead.hcrc?2:0)+(nt.gzhead.extra?4:0)+(nt.gzhead.name?8:0)+(nt.gzhead.comment?16:0)),put_byte(nt,nt.gzhead.time&255),put_byte(nt,nt.gzhead.time>>8&255),put_byte(nt,nt.gzhead.time>>16&255),put_byte(nt,nt.gzhead.time>>24&255),put_byte(nt,nt.level===9?2:nt.strategy>=Z_HUFFMAN_ONLY||nt.level<2?4:0),put_byte(nt,nt.gzhead.os&255),nt.gzhead.extra&&nt.gzhead.extra.length&&(put_byte(nt,nt.gzhead.extra.length&255),put_byte(nt,nt.gzhead.extra.length>>8&255)),nt.gzhead.hcrc&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending,0)),nt.gzindex=0,nt.status=EXTRA_STATE;else if(put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,nt.level===9?2:nt.strategy>=Z_HUFFMAN_ONLY||nt.level<2?4:0),put_byte(nt,OS_CODE),nt.status=BUSY_STATE,flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3}if(nt.status===EXTRA_STATE){if(nt.gzhead.extra){let ot=nt.pending,Ut=(nt.gzhead.extra.length&65535)-nt.gzindex;for(;nt.pending+Ut>nt.pending_buf_size;){let Qt=nt.pending_buf_size-nt.pending;if(nt.pending_buf.set(nt.gzhead.extra.subarray(nt.gzindex,nt.gzindex+Qt),nt.pending),nt.pending=nt.pending_buf_size,nt.gzhead.hcrc&&nt.pending>ot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot)),nt.gzindex+=Qt,flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3;ot=0,Ut-=Qt}let Ft=new Uint8Array(nt.gzhead.extra);nt.pending_buf.set(Ft.subarray(nt.gzindex,nt.gzindex+Ut),nt.pending),nt.pending+=Ut,nt.gzhead.hcrc&&nt.pending>ot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot)),nt.gzindex=0}nt.status=NAME_STATE}if(nt.status===NAME_STATE){if(nt.gzhead.name){let ot=nt.pending,Ut;do{if(nt.pending===nt.pending_buf_size){if(nt.gzhead.hcrc&&nt.pending>ot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot)),flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3;ot=0}nt.gzindexot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot)),nt.gzindex=0}nt.status=COMMENT_STATE}if(nt.status===COMMENT_STATE){if(nt.gzhead.comment){let ot=nt.pending,Ut;do{if(nt.pending===nt.pending_buf_size){if(nt.gzhead.hcrc&&nt.pending>ot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot)),flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3;ot=0}nt.gzindexot&&(et.adler=crc32_1(et.adler,nt.pending_buf,nt.pending-ot,ot))}nt.status=HCRC_STATE}if(nt.status===HCRC_STATE){if(nt.gzhead.hcrc){if(nt.pending+2>nt.pending_buf_size&&(flush_pending(et),nt.pending!==0))return nt.last_flush=-1,Z_OK$3;put_byte(nt,et.adler&255),put_byte(nt,et.adler>>8&255),et.adler=0}if(nt.status=BUSY_STATE,flush_pending(et),nt.pending!==0)return nt.last_flush=-1,Z_OK$3}if(et.avail_in!==0||nt.lookahead!==0||tt!==Z_NO_FLUSH$2&&nt.status!==FINISH_STATE){let ot=nt.level===0?deflate_stored(nt,tt):nt.strategy===Z_HUFFMAN_ONLY?deflate_huff(nt,tt):nt.strategy===Z_RLE?deflate_rle(nt,tt):configuration_table[nt.level].func(nt,tt);if((ot===BS_FINISH_STARTED||ot===BS_FINISH_DONE)&&(nt.status=FINISH_STATE),ot===BS_NEED_MORE||ot===BS_FINISH_STARTED)return et.avail_out===0&&(nt.last_flush=-1),Z_OK$3;if(ot===BS_BLOCK_DONE&&(tt===Z_PARTIAL_FLUSH?_tr_align(nt):tt!==Z_BLOCK$1&&(_tr_stored_block(nt,0,0,!1),tt===Z_FULL_FLUSH$1&&(zero(nt.head),nt.lookahead===0&&(nt.strstart=0,nt.block_start=0,nt.insert=0))),flush_pending(et),et.avail_out===0))return nt.last_flush=-1,Z_OK$3}return tt!==Z_FINISH$3?Z_OK$3:nt.wrap<=0?Z_STREAM_END$3:(nt.wrap===2?(put_byte(nt,et.adler&255),put_byte(nt,et.adler>>8&255),put_byte(nt,et.adler>>16&255),put_byte(nt,et.adler>>24&255),put_byte(nt,et.total_in&255),put_byte(nt,et.total_in>>8&255),put_byte(nt,et.total_in>>16&255),put_byte(nt,et.total_in>>24&255)):(putShortMSB(nt,et.adler>>>16),putShortMSB(nt,et.adler&65535)),flush_pending(et),nt.wrap>0&&(nt.wrap=-nt.wrap),nt.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=et=>{if(deflateStateCheck(et))return Z_STREAM_ERROR$2;const tt=et.state.status;return et.state=null,tt===BUSY_STATE?err(et,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(et,tt)=>{let nt=tt.length;if(deflateStateCheck(et))return Z_STREAM_ERROR$2;const it=et.state,ot=it.wrap;if(ot===2||ot===1&&it.status!==INIT_STATE||it.lookahead)return Z_STREAM_ERROR$2;if(ot===1&&(et.adler=adler32_1(et.adler,tt,nt,0)),it.wrap=0,nt>=it.w_size){ot===0&&(zero(it.head),it.strstart=0,it.block_start=0,it.insert=0);let Bt=new Uint8Array(it.w_size);Bt.set(tt.subarray(nt-it.w_size,nt),0),tt=Bt,nt=it.w_size}const Ut=et.avail_in,Ft=et.next_in,Qt=et.input;for(et.avail_in=nt,et.next_in=0,et.input=tt,fill_window(it);it.lookahead>=MIN_MATCH;){let Bt=it.strstart,Vt=it.lookahead-(MIN_MATCH-1);do it.ins_h=HASH(it,it.ins_h,it.window[Bt+MIN_MATCH-1]),it.prev[Bt&it.w_mask]=it.head[it.ins_h],it.head[it.ins_h]=Bt,Bt++;while(--Vt);it.strstart=Bt,it.lookahead=MIN_MATCH-1,fill_window(it)}return it.strstart+=it.lookahead,it.block_start=it.strstart,it.insert=it.lookahead,it.lookahead=0,it.match_length=it.prev_length=MIN_MATCH-1,it.match_available=0,et.next_in=Ft,et.input=Qt,et.avail_in=Ut,it.wrap=ot,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(et,tt)=>Object.prototype.hasOwnProperty.call(et,tt);var assign=function(et){const tt=Array.prototype.slice.call(arguments,1);for(;tt.length;){const nt=tt.shift();if(nt){if(typeof nt!="object")throw new TypeError(nt+"must be non-object");for(const it in nt)_has(nt,it)&&(et[it]=nt[it])}}return et},flattenChunks=et=>{let tt=0;for(let it=0,ot=et.length;it=252?6:et>=248?5:et>=240?4:et>=224?3:et>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=et=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(et);let tt,nt,it,ot,Ut,Ft=et.length,Qt=0;for(ot=0;ot>>6,tt[Ut++]=128|nt&63):nt<65536?(tt[Ut++]=224|nt>>>12,tt[Ut++]=128|nt>>>6&63,tt[Ut++]=128|nt&63):(tt[Ut++]=240|nt>>>18,tt[Ut++]=128|nt>>>12&63,tt[Ut++]=128|nt>>>6&63,tt[Ut++]=128|nt&63);return tt};const buf2binstring=(et,tt)=>{if(tt<65534&&et.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,et.length===tt?et:et.subarray(0,tt));let nt="";for(let it=0;it{const nt=tt||et.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(et.subarray(0,tt));let it,ot;const Ut=new Array(nt*2);for(ot=0,it=0;it4){Ut[ot++]=65533,it+=Qt-1;continue}for(Ft&=Qt===2?31:Qt===3?15:7;Qt>1&&it1){Ut[ot++]=65533;continue}Ft<65536?Ut[ot++]=Ft:(Ft-=65536,Ut[ot++]=55296|Ft>>10&1023,Ut[ot++]=56320|Ft&1023)}return buf2binstring(Ut,ot)},utf8border=(et,tt)=>{tt=tt||et.length,tt>et.length&&(tt=et.length);let nt=tt-1;for(;nt>=0&&(et[nt]&192)===128;)nt--;return nt<0||nt===0?tt:nt+_utf8len[et[nt]]>tt?nt:tt},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(et){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},et||{});let tt=this.options;tt.raw&&tt.windowBits>0?tt.windowBits=-tt.windowBits:tt.gzip&&tt.windowBits>0&&tt.windowBits<16&&(tt.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let nt=deflate_1$2.deflateInit2(this.strm,tt.level,tt.method,tt.windowBits,tt.memLevel,tt.strategy);if(nt!==Z_OK$2)throw new Error(messages[nt]);if(tt.header&&deflate_1$2.deflateSetHeader(this.strm,tt.header),tt.dictionary){let it;if(typeof tt.dictionary=="string"?it=strings.string2buf(tt.dictionary):toString$1.call(tt.dictionary)==="[object ArrayBuffer]"?it=new Uint8Array(tt.dictionary):it=tt.dictionary,nt=deflate_1$2.deflateSetDictionary(this.strm,it),nt!==Z_OK$2)throw new Error(messages[nt]);this._dict_set=!0}}Deflate$1.prototype.push=function(et,tt){const nt=this.strm,it=this.options.chunkSize;let ot,Ut;if(this.ended)return!1;for(tt===~~tt?Ut=tt:Ut=tt===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof et=="string"?nt.input=strings.string2buf(et):toString$1.call(et)==="[object ArrayBuffer]"?nt.input=new Uint8Array(et):nt.input=et,nt.next_in=0,nt.avail_in=nt.input.length;;){if(nt.avail_out===0&&(nt.output=new Uint8Array(it),nt.next_out=0,nt.avail_out=it),(Ut===Z_SYNC_FLUSH||Ut===Z_FULL_FLUSH)&&nt.avail_out<=6){this.onData(nt.output.subarray(0,nt.next_out)),nt.avail_out=0;continue}if(ot=deflate_1$2.deflate(nt,Ut),ot===Z_STREAM_END$2)return nt.next_out>0&&this.onData(nt.output.subarray(0,nt.next_out)),ot=deflate_1$2.deflateEnd(this.strm),this.onEnd(ot),this.ended=!0,ot===Z_OK$2;if(nt.avail_out===0){this.onData(nt.output);continue}if(Ut>0&&nt.next_out>0){this.onData(nt.output.subarray(0,nt.next_out)),nt.avail_out=0;continue}if(nt.avail_in===0)break}return!0};Deflate$1.prototype.onData=function(et){this.chunks.push(et)};Deflate$1.prototype.onEnd=function(et){et===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=et,this.msg=this.strm.msg};function deflate$1(et,tt){const nt=new Deflate$1(tt);if(nt.push(et,!0),nt.err)throw nt.msg||messages[nt.err];return nt.result}function deflateRaw$1(et,tt){return tt=tt||{},tt.raw=!0,deflate$1(et,tt)}function gzip$1(et,tt){return tt=tt||{},tt.gzip=!0,deflate$1(et,tt)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,constants$1=constants$2,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1,constants:constants$1};const BAD$1=16209,TYPE$1=16191;var inffast=function et(tt,nt){let it,ot,Ut,Ft,Qt,Bt,Vt,Wt,Xt,Zt,Yt,Mt,Gt,en,tn,ln,nn,sn,Kt,dn,Qn,En,an,rn;const gn=tt.state;it=tt.next_in,an=tt.input,ot=it+(tt.avail_in-5),Ut=tt.next_out,rn=tt.output,Ft=Ut-(nt-tt.avail_out),Qt=Ut+(tt.avail_out-257),Bt=gn.dmax,Vt=gn.wsize,Wt=gn.whave,Xt=gn.wnext,Zt=gn.window,Yt=gn.hold,Mt=gn.bits,Gt=gn.lencode,en=gn.distcode,tn=(1<>>24,Yt>>>=sn,Mt-=sn,sn=nn>>>16&255,sn===0)rn[Ut++]=nn&65535;else if(sn&16){Kt=nn&65535,sn&=15,sn&&(Mt>>=sn,Mt-=sn),Mt<15&&(Yt+=an[it++]<>>24,Yt>>>=sn,Mt-=sn,sn=nn>>>16&255,sn&16){if(dn=nn&65535,sn&=15,MtBt){tt.msg="invalid distance too far back",gn.mode=BAD$1;break e}if(Yt>>>=sn,Mt-=sn,sn=Ut-Ft,dn>sn){if(sn=dn-sn,sn>Wt&&gn.sane){tt.msg="invalid distance too far back",gn.mode=BAD$1;break e}if(Qn=0,En=Zt,Xt===0){if(Qn+=Vt-sn,sn2;)rn[Ut++]=En[Qn++],rn[Ut++]=En[Qn++],rn[Ut++]=En[Qn++],Kt-=3;Kt&&(rn[Ut++]=En[Qn++],Kt>1&&(rn[Ut++]=En[Qn++]))}else{Qn=Ut-dn;do rn[Ut++]=rn[Qn++],rn[Ut++]=rn[Qn++],rn[Ut++]=rn[Qn++],Kt-=3;while(Kt>2);Kt&&(rn[Ut++]=rn[Qn++],Kt>1&&(rn[Ut++]=rn[Qn++]))}}else if(sn&64){tt.msg="invalid distance code",gn.mode=BAD$1;break e}else{nn=en[(nn&65535)+(Yt&(1<>3,it-=Kt,Mt-=Kt<<3,Yt&=(1<{const Bt=Qt.bits;let Vt=0,Wt=0,Xt=0,Zt=0,Yt=0,Mt=0,Gt=0,en=0,tn=0,ln=0,nn,sn,Kt,dn,Qn,En=null,an;const rn=new Uint16Array(MAXBITS+1),gn=new Uint16Array(MAXBITS+1);let un=null,Un,_n,vn;for(Vt=0;Vt<=MAXBITS;Vt++)rn[Vt]=0;for(Wt=0;Wt=1&&rn[Zt]===0;Zt--);if(Yt>Zt&&(Yt=Zt),Zt===0)return ot[Ut++]=1<<24|64<<16|0,ot[Ut++]=1<<24|64<<16|0,Qt.bits=1,0;for(Xt=1;Xt0&&(et===CODES$1||Zt!==1))return-1;for(gn[1]=0,Vt=1;VtENOUGH_LENS$1||et===DISTS$1&&tn>ENOUGH_DISTS$1)return 1;for(;;){Un=Vt-Gt,Ft[Wt]+1=an?(_n=un[Ft[Wt]-an],vn=En[Ft[Wt]-an]):(_n=32+64,vn=0),nn=1<>Gt)+sn]=Un<<24|_n<<16|vn|0;while(sn!==0);for(nn=1<>=1;if(nn!==0?(ln&=nn-1,ln+=nn):ln=0,Wt++,--rn[Vt]===0){if(Vt===Zt)break;Vt=tt[nt+Ft[Wt]]}if(Vt>Yt&&(ln&dn)!==Kt){for(Gt===0&&(Gt=Yt),Qn+=Xt,Mt=Vt-Gt,en=1<ENOUGH_LENS$1||et===DISTS$1&&tn>ENOUGH_DISTS$1)return 1;Kt=ln&dn,ot[Kt]=Yt<<24|Mt<<16|Qn-Ut|0}}return ln!==0&&(ot[Qn+ln]=Vt-Gt<<24|64<<16|0),Qt.bits=Yt,0};var inftrees=inflate_table;const CODES=0,LENS=1,DISTS=2,{Z_FINISH:Z_FINISH$1,Z_BLOCK,Z_TREES,Z_OK:Z_OK$1,Z_STREAM_END:Z_STREAM_END$1,Z_NEED_DICT:Z_NEED_DICT$1,Z_STREAM_ERROR:Z_STREAM_ERROR$1,Z_DATA_ERROR:Z_DATA_ERROR$1,Z_MEM_ERROR:Z_MEM_ERROR$1,Z_BUF_ERROR,Z_DEFLATED}=constants$2,HEAD=16180,FLAGS=16181,TIME=16182,OS=16183,EXLEN=16184,EXTRA=16185,NAME=16186,COMMENT=16187,HCRC=16188,DICTID=16189,DICT=16190,TYPE=16191,TYPEDO=16192,STORED=16193,COPY_=16194,COPY=16195,TABLE=16196,LENLENS=16197,CODELENS=16198,LEN_=16199,LEN=16200,LENEXT=16201,DIST=16202,DISTEXT=16203,MATCH=16204,LIT=16205,CHECK=16206,LENGTH=16207,DONE=16208,BAD=16209,MEM=16210,SYNC=16211,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS,zswap32=et=>(et>>>24&255)+(et>>>8&65280)+((et&65280)<<8)+((et&255)<<24);function InflateState(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const inflateStateCheck=et=>{if(!et)return 1;const tt=et.state;return!tt||tt.strm!==et||tt.modeSYNC?1:0},inflateResetKeep=et=>{if(inflateStateCheck(et))return Z_STREAM_ERROR$1;const tt=et.state;return et.total_in=et.total_out=tt.total=0,et.msg="",tt.wrap&&(et.adler=tt.wrap&1),tt.mode=HEAD,tt.last=0,tt.havedict=0,tt.flags=-1,tt.dmax=32768,tt.head=null,tt.hold=0,tt.bits=0,tt.lencode=tt.lendyn=new Int32Array(ENOUGH_LENS),tt.distcode=tt.distdyn=new Int32Array(ENOUGH_DISTS),tt.sane=1,tt.back=-1,Z_OK$1},inflateReset=et=>{if(inflateStateCheck(et))return Z_STREAM_ERROR$1;const tt=et.state;return tt.wsize=0,tt.whave=0,tt.wnext=0,inflateResetKeep(et)},inflateReset2=(et,tt)=>{let nt;if(inflateStateCheck(et))return Z_STREAM_ERROR$1;const it=et.state;return tt<0?(nt=0,tt=-tt):(nt=(tt>>4)+5,tt<48&&(tt&=15)),tt&&(tt<8||tt>15)?Z_STREAM_ERROR$1:(it.window!==null&&it.wbits!==tt&&(it.window=null),it.wrap=nt,it.wbits=tt,inflateReset(et))},inflateInit2=(et,tt)=>{if(!et)return Z_STREAM_ERROR$1;const nt=new InflateState;et.state=nt,nt.strm=et,nt.window=null,nt.mode=HEAD;const it=inflateReset2(et,tt);return it!==Z_OK$1&&(et.state=null),it},inflateInit=et=>inflateInit2(et,DEF_WBITS);let virgin=!0,lenfix,distfix;const fixedtables=et=>{if(virgin){lenfix=new Int32Array(512),distfix=new Int32Array(32);let tt=0;for(;tt<144;)et.lens[tt++]=8;for(;tt<256;)et.lens[tt++]=9;for(;tt<280;)et.lens[tt++]=7;for(;tt<288;)et.lens[tt++]=8;for(inftrees(LENS,et.lens,0,288,lenfix,0,et.work,{bits:9}),tt=0;tt<32;)et.lens[tt++]=5;inftrees(DISTS,et.lens,0,32,distfix,0,et.work,{bits:5}),virgin=!1}et.lencode=lenfix,et.lenbits=9,et.distcode=distfix,et.distbits=5},updatewindow=(et,tt,nt,it)=>{let ot;const Ut=et.state;return Ut.window===null&&(Ut.wsize=1<=Ut.wsize?(Ut.window.set(tt.subarray(nt-Ut.wsize,nt),0),Ut.wnext=0,Ut.whave=Ut.wsize):(ot=Ut.wsize-Ut.wnext,ot>it&&(ot=it),Ut.window.set(tt.subarray(nt-it,nt-it+ot),Ut.wnext),it-=ot,it?(Ut.window.set(tt.subarray(nt-it,nt),0),Ut.wnext=it,Ut.whave=Ut.wsize):(Ut.wnext+=ot,Ut.wnext===Ut.wsize&&(Ut.wnext=0),Ut.whave{let nt,it,ot,Ut,Ft,Qt,Bt,Vt,Wt,Xt,Zt,Yt,Mt,Gt,en=0,tn,ln,nn,sn,Kt,dn,Qn,En;const an=new Uint8Array(4);let rn,gn;const un=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(inflateStateCheck(et)||!et.output||!et.input&&et.avail_in!==0)return Z_STREAM_ERROR$1;nt=et.state,nt.mode===TYPE&&(nt.mode=TYPEDO),Ft=et.next_out,ot=et.output,Bt=et.avail_out,Ut=et.next_in,it=et.input,Qt=et.avail_in,Vt=nt.hold,Wt=nt.bits,Xt=Qt,Zt=Bt,En=Z_OK$1;e:for(;;)switch(nt.mode){case HEAD:if(nt.wrap===0){nt.mode=TYPEDO;break}for(;Wt<16;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>8&255,nt.check=crc32_1(nt.check,an,2,0),Vt=0,Wt=0,nt.mode=FLAGS;break}if(nt.head&&(nt.head.done=!1),!(nt.wrap&1)||(((Vt&255)<<8)+(Vt>>8))%31){et.msg="incorrect header check",nt.mode=BAD;break}if((Vt&15)!==Z_DEFLATED){et.msg="unknown compression method",nt.mode=BAD;break}if(Vt>>>=4,Wt-=4,Qn=(Vt&15)+8,nt.wbits===0&&(nt.wbits=Qn),Qn>15||Qn>nt.wbits){et.msg="invalid window size",nt.mode=BAD;break}nt.dmax=1<>8&1),nt.flags&512&&nt.wrap&4&&(an[0]=Vt&255,an[1]=Vt>>>8&255,nt.check=crc32_1(nt.check,an,2,0)),Vt=0,Wt=0,nt.mode=TIME;case TIME:for(;Wt<32;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>8&255,an[2]=Vt>>>16&255,an[3]=Vt>>>24&255,nt.check=crc32_1(nt.check,an,4,0)),Vt=0,Wt=0,nt.mode=OS;case OS:for(;Wt<16;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>8),nt.flags&512&&nt.wrap&4&&(an[0]=Vt&255,an[1]=Vt>>>8&255,nt.check=crc32_1(nt.check,an,2,0)),Vt=0,Wt=0,nt.mode=EXLEN;case EXLEN:if(nt.flags&1024){for(;Wt<16;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>8&255,nt.check=crc32_1(nt.check,an,2,0)),Vt=0,Wt=0}else nt.head&&(nt.head.extra=null);nt.mode=EXTRA;case EXTRA:if(nt.flags&1024&&(Yt=nt.length,Yt>Qt&&(Yt=Qt),Yt&&(nt.head&&(Qn=nt.head.extra_len-nt.length,nt.head.extra||(nt.head.extra=new Uint8Array(nt.head.extra_len)),nt.head.extra.set(it.subarray(Ut,Ut+Yt),Qn)),nt.flags&512&&nt.wrap&4&&(nt.check=crc32_1(nt.check,it,Yt,Ut)),Qt-=Yt,Ut+=Yt,nt.length-=Yt),nt.length))break e;nt.length=0,nt.mode=NAME;case NAME:if(nt.flags&2048){if(Qt===0)break e;Yt=0;do Qn=it[Ut+Yt++],nt.head&&Qn&&nt.length<65536&&(nt.head.name+=String.fromCharCode(Qn));while(Qn&&Yt>9&1,nt.head.done=!0),et.adler=nt.check=0,nt.mode=TYPE;break;case DICTID:for(;Wt<32;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=Wt&7,Wt-=Wt&7,nt.mode=CHECK;break}for(;Wt<3;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=1,Wt-=1,Vt&3){case 0:nt.mode=STORED;break;case 1:if(fixedtables(nt),nt.mode=LEN_,tt===Z_TREES){Vt>>>=2,Wt-=2;break e}break;case 2:nt.mode=TABLE;break;case 3:et.msg="invalid block type",nt.mode=BAD}Vt>>>=2,Wt-=2;break;case STORED:for(Vt>>>=Wt&7,Wt-=Wt&7;Wt<32;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>16^65535)){et.msg="invalid stored block lengths",nt.mode=BAD;break}if(nt.length=Vt&65535,Vt=0,Wt=0,nt.mode=COPY_,tt===Z_TREES)break e;case COPY_:nt.mode=COPY;case COPY:if(Yt=nt.length,Yt){if(Yt>Qt&&(Yt=Qt),Yt>Bt&&(Yt=Bt),Yt===0)break e;ot.set(it.subarray(Ut,Ut+Yt),Ft),Qt-=Yt,Ut+=Yt,Bt-=Yt,Ft+=Yt,nt.length-=Yt;break}nt.mode=TYPE;break;case TABLE:for(;Wt<14;){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=5,Wt-=5,nt.ndist=(Vt&31)+1,Vt>>>=5,Wt-=5,nt.ncode=(Vt&15)+4,Vt>>>=4,Wt-=4,nt.nlen>286||nt.ndist>30){et.msg="too many length or distance symbols",nt.mode=BAD;break}nt.have=0,nt.mode=LENLENS;case LENLENS:for(;nt.have>>=3,Wt-=3}for(;nt.have<19;)nt.lens[un[nt.have++]]=0;if(nt.lencode=nt.lendyn,nt.lenbits=7,rn={bits:nt.lenbits},En=inftrees(CODES,nt.lens,0,19,nt.lencode,0,nt.work,rn),nt.lenbits=rn.bits,En){et.msg="invalid code lengths set",nt.mode=BAD;break}nt.have=0,nt.mode=CODELENS;case CODELENS:for(;nt.have>>24,ln=en>>>16&255,nn=en&65535,!(tn<=Wt);){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=tn,Wt-=tn,nt.lens[nt.have++]=nn;else{if(nn===16){for(gn=tn+2;Wt>>=tn,Wt-=tn,nt.have===0){et.msg="invalid bit length repeat",nt.mode=BAD;break}Qn=nt.lens[nt.have-1],Yt=3+(Vt&3),Vt>>>=2,Wt-=2}else if(nn===17){for(gn=tn+3;Wt>>=tn,Wt-=tn,Qn=0,Yt=3+(Vt&7),Vt>>>=3,Wt-=3}else{for(gn=tn+7;Wt>>=tn,Wt-=tn,Qn=0,Yt=11+(Vt&127),Vt>>>=7,Wt-=7}if(nt.have+Yt>nt.nlen+nt.ndist){et.msg="invalid bit length repeat",nt.mode=BAD;break}for(;Yt--;)nt.lens[nt.have++]=Qn}}if(nt.mode===BAD)break;if(nt.lens[256]===0){et.msg="invalid code -- missing end-of-block",nt.mode=BAD;break}if(nt.lenbits=9,rn={bits:nt.lenbits},En=inftrees(LENS,nt.lens,0,nt.nlen,nt.lencode,0,nt.work,rn),nt.lenbits=rn.bits,En){et.msg="invalid literal/lengths set",nt.mode=BAD;break}if(nt.distbits=6,nt.distcode=nt.distdyn,rn={bits:nt.distbits},En=inftrees(DISTS,nt.lens,nt.nlen,nt.ndist,nt.distcode,0,nt.work,rn),nt.distbits=rn.bits,En){et.msg="invalid distances set",nt.mode=BAD;break}if(nt.mode=LEN_,tt===Z_TREES)break e;case LEN_:nt.mode=LEN;case LEN:if(Qt>=6&&Bt>=258){et.next_out=Ft,et.avail_out=Bt,et.next_in=Ut,et.avail_in=Qt,nt.hold=Vt,nt.bits=Wt,inffast(et,Zt),Ft=et.next_out,ot=et.output,Bt=et.avail_out,Ut=et.next_in,it=et.input,Qt=et.avail_in,Vt=nt.hold,Wt=nt.bits,nt.mode===TYPE&&(nt.back=-1);break}for(nt.back=0;en=nt.lencode[Vt&(1<>>24,ln=en>>>16&255,nn=en&65535,!(tn<=Wt);){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>sn)],tn=en>>>24,ln=en>>>16&255,nn=en&65535,!(sn+tn<=Wt);){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=sn,Wt-=sn,nt.back+=sn}if(Vt>>>=tn,Wt-=tn,nt.back+=tn,nt.length=nn,ln===0){nt.mode=LIT;break}if(ln&32){nt.back=-1,nt.mode=TYPE;break}if(ln&64){et.msg="invalid literal/length code",nt.mode=BAD;break}nt.extra=ln&15,nt.mode=LENEXT;case LENEXT:if(nt.extra){for(gn=nt.extra;Wt>>=nt.extra,Wt-=nt.extra,nt.back+=nt.extra}nt.was=nt.length,nt.mode=DIST;case DIST:for(;en=nt.distcode[Vt&(1<>>24,ln=en>>>16&255,nn=en&65535,!(tn<=Wt);){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>sn)],tn=en>>>24,ln=en>>>16&255,nn=en&65535,!(sn+tn<=Wt);){if(Qt===0)break e;Qt--,Vt+=it[Ut++]<>>=sn,Wt-=sn,nt.back+=sn}if(Vt>>>=tn,Wt-=tn,nt.back+=tn,ln&64){et.msg="invalid distance code",nt.mode=BAD;break}nt.offset=nn,nt.extra=ln&15,nt.mode=DISTEXT;case DISTEXT:if(nt.extra){for(gn=nt.extra;Wt>>=nt.extra,Wt-=nt.extra,nt.back+=nt.extra}if(nt.offset>nt.dmax){et.msg="invalid distance too far back",nt.mode=BAD;break}nt.mode=MATCH;case MATCH:if(Bt===0)break e;if(Yt=Zt-Bt,nt.offset>Yt){if(Yt=nt.offset-Yt,Yt>nt.whave&&nt.sane){et.msg="invalid distance too far back",nt.mode=BAD;break}Yt>nt.wnext?(Yt-=nt.wnext,Mt=nt.wsize-Yt):Mt=nt.wnext-Yt,Yt>nt.length&&(Yt=nt.length),Gt=nt.window}else Gt=ot,Mt=Ft-nt.offset,Yt=nt.length;Yt>Bt&&(Yt=Bt),Bt-=Yt,nt.length-=Yt;do ot[Ft++]=Gt[Mt++];while(--Yt);nt.length===0&&(nt.mode=LEN);break;case LIT:if(Bt===0)break e;ot[Ft++]=nt.length,Bt--,nt.mode=LEN;break;case CHECK:if(nt.wrap){for(;Wt<32;){if(Qt===0)break e;Qt--,Vt|=it[Ut++]<{if(inflateStateCheck(et))return Z_STREAM_ERROR$1;let tt=et.state;return tt.window&&(tt.window=null),et.state=null,Z_OK$1},inflateGetHeader=(et,tt)=>{if(inflateStateCheck(et))return Z_STREAM_ERROR$1;const nt=et.state;return nt.wrap&2?(nt.head=tt,tt.done=!1,Z_OK$1):Z_STREAM_ERROR$1},inflateSetDictionary=(et,tt)=>{const nt=tt.length;let it,ot,Ut;return inflateStateCheck(et)||(it=et.state,it.wrap!==0&&it.mode!==DICT)?Z_STREAM_ERROR$1:it.mode===DICT&&(ot=1,ot=adler32_1(ot,tt,nt,0),ot!==it.check)?Z_DATA_ERROR$1:(Ut=updatewindow(et,tt,nt,nt),Ut?(it.mode=MEM,Z_MEM_ERROR$1):(it.havedict=1,Z_OK$1))};var inflateReset_1=inflateReset,inflateReset2_1=inflateReset2,inflateResetKeep_1=inflateResetKeep,inflateInit_1=inflateInit,inflateInit2_1=inflateInit2,inflate_2$1=inflate$2,inflateEnd_1=inflateEnd,inflateGetHeader_1=inflateGetHeader,inflateSetDictionary_1=inflateSetDictionary,inflateInfo="pako inflate (from Nodeca project)",inflate_1$2={inflateReset:inflateReset_1,inflateReset2:inflateReset2_1,inflateResetKeep:inflateResetKeep_1,inflateInit:inflateInit_1,inflateInit2:inflateInit2_1,inflate:inflate_2$1,inflateEnd:inflateEnd_1,inflateGetHeader:inflateGetHeader_1,inflateSetDictionary:inflateSetDictionary_1,inflateInfo};function GZheader(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var gzheader=GZheader;const toString=Object.prototype.toString,{Z_NO_FLUSH,Z_FINISH,Z_OK,Z_STREAM_END,Z_NEED_DICT,Z_STREAM_ERROR,Z_DATA_ERROR,Z_MEM_ERROR}=constants$2;function Inflate$1(et){this.options=common.assign({chunkSize:1024*64,windowBits:15,to:""},et||{});const tt=this.options;tt.raw&&tt.windowBits>=0&&tt.windowBits<16&&(tt.windowBits=-tt.windowBits,tt.windowBits===0&&(tt.windowBits=-15)),tt.windowBits>=0&&tt.windowBits<16&&!(et&&et.windowBits)&&(tt.windowBits+=32),tt.windowBits>15&&tt.windowBits<48&&(tt.windowBits&15||(tt.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let nt=inflate_1$2.inflateInit2(this.strm,tt.windowBits);if(nt!==Z_OK)throw new Error(messages[nt]);if(this.header=new gzheader,inflate_1$2.inflateGetHeader(this.strm,this.header),tt.dictionary&&(typeof tt.dictionary=="string"?tt.dictionary=strings.string2buf(tt.dictionary):toString.call(tt.dictionary)==="[object ArrayBuffer]"&&(tt.dictionary=new Uint8Array(tt.dictionary)),tt.raw&&(nt=inflate_1$2.inflateSetDictionary(this.strm,tt.dictionary),nt!==Z_OK)))throw new Error(messages[nt])}Inflate$1.prototype.push=function(et,tt){const nt=this.strm,it=this.options.chunkSize,ot=this.options.dictionary;let Ut,Ft,Qt;if(this.ended)return!1;for(tt===~~tt?Ft=tt:Ft=tt===!0?Z_FINISH:Z_NO_FLUSH,toString.call(et)==="[object ArrayBuffer]"?nt.input=new Uint8Array(et):nt.input=et,nt.next_in=0,nt.avail_in=nt.input.length;;){for(nt.avail_out===0&&(nt.output=new Uint8Array(it),nt.next_out=0,nt.avail_out=it),Ut=inflate_1$2.inflate(nt,Ft),Ut===Z_NEED_DICT&&ot&&(Ut=inflate_1$2.inflateSetDictionary(nt,ot),Ut===Z_OK?Ut=inflate_1$2.inflate(nt,Ft):Ut===Z_DATA_ERROR&&(Ut=Z_NEED_DICT));nt.avail_in>0&&Ut===Z_STREAM_END&&nt.state.wrap>0&&et[nt.next_in]!==0;)inflate_1$2.inflateReset(nt),Ut=inflate_1$2.inflate(nt,Ft);switch(Ut){case Z_STREAM_ERROR:case Z_DATA_ERROR:case Z_NEED_DICT:case Z_MEM_ERROR:return this.onEnd(Ut),this.ended=!0,!1}if(Qt=nt.avail_out,nt.next_out&&(nt.avail_out===0||Ut===Z_STREAM_END))if(this.options.to==="string"){let Bt=strings.utf8border(nt.output,nt.next_out),Vt=nt.next_out-Bt,Wt=strings.buf2string(nt.output,Bt);nt.next_out=Vt,nt.avail_out=it-Vt,Vt&&nt.output.set(nt.output.subarray(Bt,Bt+Vt),0),this.onData(Wt)}else this.onData(nt.output.length===nt.next_out?nt.output:nt.output.subarray(0,nt.next_out));if(!(Ut===Z_OK&&Qt===0)){if(Ut===Z_STREAM_END)return Ut=inflate_1$2.inflateEnd(this.strm),this.onEnd(Ut),this.ended=!0,!0;if(nt.avail_in===0)break}}return!0};Inflate$1.prototype.onData=function(et){this.chunks.push(et)};Inflate$1.prototype.onEnd=function(et){et===Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=et,this.msg=this.strm.msg};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1;var deflate_1=deflate,fromByteArray_1=fromByteArray,lookup=[],code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i>18&63]+lookup[et>>12&63]+lookup[et>>6&63]+lookup[et&63]}function encodeChunk(et,tt,nt){for(var it,ot=[],Ut=tt;UtQt?Qt:Ft+Ut));return it===1?(tt=et[nt-1],ot.push(lookup[tt>>2]+lookup[tt<<4&63]+"==")):it===2&&(tt=(et[nt-2]<<8)+et[nt-1],ot.push(lookup[tt>>10]+lookup[tt>>4&63]+lookup[tt<<2&63]+"=")),ot.join("")}var re=Object.defineProperty,se=(et,tt,nt)=>tt in et?re(et,tt,{enumerable:!0,configurable:!0,writable:!0,value:nt}):et[tt]=nt,s=(et,tt,nt)=>(se(et,typeof tt!="symbol"?tt+"":tt,nt),nt);const we="https://api.formant.io";function pe(et,tt){try{if(tt.get("formant_stage"))return"https://api-stage.formant.io";if(tt.get("formant_dev"))return"https://api-dev.formant.io";if(tt.get("formant_local"))return"https://api.formant.local";if(tt.get("formant_url")){const nt=tt.get("formant_url");if(nt!==null)try{return new URL(nt).origin}catch{console.warn(`Ignoring malformed \`formant_url\` url parameter: ${nt}`)}}}catch{}return typeof et<"u"&&"FORMANT_API_URL"in et&&typeof et.FORMANT_API_URL=="string"?et.FORMANT_API_URL:we}const h=pe(typeof window<"u"?window:globalThis,new URLSearchParams(typeof window<"u"&&window.location?window.location.search:void 0));class ye{constructor({apiUrl:tt,refreshAuthToken:nt,addAccessTokenRefreshListener:it}){s(this,"_refreshToken"),s(this,"_isShareToken",!1),s(this,"_currentOrganization"),s(this,"_currentUser"),s(this,"_defaultDeviceId"),s(this,"_token"),s(this,"_waitingForAuth",new Set),s(this,"_refreshTimer"),s(this,"_apiUrl"),s(this,"_refreshAuthToken"),s(this,"_addAccessTokenRefreshListener"),this._apiUrl=tt,this._refreshAuthToken=nt,this._addAccessTokenRefreshListener=it}get token(){return this._token}get currentUser(){return this._currentUser}get currentOrganization(){return this._currentOrganization}get defaultDeviceId(){return this._defaultDeviceId}get refreshToken(){return this._refreshToken}get isShareToken(){return this._isShareToken}async login(tt,nt){try{const it=await fetch(`${this._apiUrl}/v1/admin/auth/login`,{method:"POST",body:JSON.stringify({email:tt,password:nt}),headers:{"Content-Type":"application/json"}}),ot=await it.json();if(it.status!==200)throw new Error(ot.message);return await this.loginWithToken(ot.authentication.accessToken,ot.authentication.refreshToken),ot.authentication}catch(it){return console.error("login() failed",{err:it}),this._waitingForAuth.forEach(ot=>ot(!1)),this._waitingForAuth.clear(),Promise.reject(it)}}async loginWithToken(tt,nt){var it;const ot=JSON.parse(base64Exports.decode(tt.split(".")[1]));try{let Ut;if(this._isShareToken=ot["formant:claims"]&&ot["formant:claims"].type=="share",ot["formant:claims"]&&(this._currentOrganization=ot["formant:claims"].organizationId),ot["custom:organization_id"]&&(this._currentOrganization=ot["custom:organization_id"]),this._isShareToken||(Ut=ot.sub),ot["formant:claims"]&&ot["formant:claims"].userId&&(Ut=ot["formant:claims"].userId),Ut&&((it=this._currentUser)==null?void 0:it.id)!==Ut){const Ft=await fetch(`${this._apiUrl}/v1/admin/users/${Ut}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+tt}}),Qt=await Ft.json();if(Ft.status!==200)throw new Error(Qt.message);this._currentUser=Qt}this._token=tt,this._waitingForAuth.forEach(Ft=>Ft(!0))}catch(Ut){console.error("loginWithToken() failed",{err:Ut}),this._waitingForAuth.forEach(Ft=>Ft(!1))}finally{this._waitingForAuth.clear()}nt&&(this._refreshToken=nt,setInterval(async()=>{if(this._refreshToken){const Ut=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:this._refreshToken})})).json();this._token=Ut.authentication.accessToken}},1e3*60*60))}isAuthenticated(){return this._token!==void 0}getCurrentUser(){return this._currentUser}async waitTilAuthenticated(){return this.token!==void 0?!0:new Promise(tt=>{this._waitingForAuth.add(tt)})}async listenForRefresh(){const tt=()=>{this._refreshTimer=void 0,this._refreshAuthToken()};this._addAccessTokenRefreshListener(nt=>{this._refreshTimer&&clearTimeout(this._refreshTimer),this._refreshTimer=setTimeout(tt,36e5),this.loginWithToken(nt)}),this._refreshTimer=setTimeout(tt,36e5)}async forgotPassword(tt){await fetch(`${this._apiUrl}/v1/admin/auth/forgot-password`,{method:"POST",body:JSON.stringify({email:tt}),headers:{"Content-Type":"application/json"}})}async confirmForgotPassword(tt){return(await fetch(`${this._apiUrl}/v1/admin/auth/confirm-forgot-password`,{method:"POST",body:JSON.stringify(tt),headers:{"Content-Type":"application/json"}})).ok}async respondToNewPasswordRequiredChallenge(tt){return await(await fetch(`${this._apiUrl}/v1/admin/auth/respond-to-new-password-required-challenge`,{method:"POST",body:JSON.stringify(tt),headers:{"Content-Type":"application/json"}})).json()}async loginWithGoogle(tt){return await(await fetch(`${this._apiUrl}/v1/admin/auth/login-google`,{method:"POST",body:JSON.stringify(tt),headers:{"Content-Type":"application/json"}})).json()}async refresh(tt){const nt=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:tt})})).json();await this.loginWithToken(nt.authentication.accessToken,tt)}}function k(){return typeof window<"u"&&window.location?new URLSearchParams(window.location.search).get("module"):null}function T(et){if(!(window&&window.parent))throw new Error("cannot send message to non-existent parent");window.parent.postMessage(et,"*")}function V(){const et=k();if(!et)throw new Error("No module context");T({type:"refresh_auth_token",module:et})}function F(et){function tt(nt){const it=nt.data;it.type==="auth_token"&&et(it.token)}return window.addEventListener("message",tt),()=>{window.removeEventListener("message",tt)}}const o=new ye({apiUrl:h,refreshAuthToken:V,addAccessTokenRefreshListener:F});async function ge(et){return(await(await fetch(`${h}/v1/admin/module-configurations/${et}`,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).configuration}function ve(){T({type:"hide_analytics_date_picker"})}function Te(et){T({type:"go_to_device",deviceId:et})}function Ce(et){T({type:"go_to_time",time:et.getTime()})}function Se(){const et=k();if(!et)throw new Error("No module context");T({type:"request_module_data",module:et})}function Ee(et,tt){const nt=k();if(!nt)throw new Error("No module context");T({type:"send_channel_data",source:nt,channel:et,data:tt})}function ke(et,tt){const nt=k();if(!nt)throw new Error("No module context");T({type:"set_module_data_time_range",module:nt,before:et,after:tt||0})}function Oe$1(et){const tt=k();if(!tt)throw new Error("No module context");T({type:"setup_module_menus",module:tt,menus:et})}function Re(et){T({type:"show_message",message:et})}function be(et,tt){const nt=it=>{const ot=it.data;ot.type==="channel_data"&&ot.channel===et&&tt({source:ot.source,data:ot.data})};return window.addEventListener("message",nt),()=>window.removeEventListener("message",nt)}function Ae(et){const tt=nt=>{const it=nt.data;it.type==="module_menu_item_clicked"&&et(it.menu)};return window.addEventListener("message",tt),()=>window.removeEventListener("message",tt)}function De(et){const tt=nt=>{const it=nt.data;it.type==="module_configuration"&&et(it)};return window.addEventListener("message",tt),()=>window.removeEventListener("message",tt)}function Pe(et){const tt=k();tt&&T({type:"request_module_data",module:tt});const nt=it=>{const ot=it.data;ot.type==="module_data"&&et({streams:ot.streams,time:ot.time,queryRange:ot.queryRange})};return window.addEventListener("message",nt),()=>window.removeEventListener("message",nt)}function je(et){T({type:"request_devices"});const tt=nt=>{const it=nt.data;it.type==="overview_devices"&&et(it.data)};return window.addEventListener("message",tt),()=>window.removeEventListener("message",tt)}const Ne=1,W=1e3,G=60*W,H=60*G,I=24*H,Ie=7*I,Le=30*I,_e=365*I,L={millisecond:Ne,second:W,minute:G,hour:H,day:I,week:Ie,month:Le,year:_e};function $e(et,tt){return et.filter(nt=>tt.includes(nt.type))}function ze(et,tt,nt){const it=tt.getTime(),ot=nt.getTime();return et.map(Ut=>({...Ut,points:Ut.points.filter(([Ft])=>Ft>=it&&FtUt.length>0)}class x{constructor({capacity:tt,timeout:nt}={}){s(this,"entries",new Map),s(this,"metadata",new Map),s(this,"capacity"),s(this,"timeout"),this.capacity=tt||1e4,this.timeout=nt||L.minute}get(tt,nt){const it=this.keyToCacheKey(tt),ot=this.entries.get(it),Ut=this.metadata.get(it);return(ot===void 0||Ut&&(Ut==null?void 0:Ut.expiration.getTime())this.capacity&&this.deleteOldestEntry()}clear(){this.entries.clear(),[...this.metadata.values()].forEach(tt=>tt.generating=!1)}clearKey(tt){this.metadata.delete(tt),this.entries.delete(tt)}keyToCacheKey(tt){return JSON.stringify(tt)}deleteOldestEntry(){if(this.metadata.size<1)return;const[tt]=[...this.metadata.entries()].reduce(([nt,it],[ot,Ut])=>Ut.expiration.getTime(){nt.then(Ut=>{const Ft=this.metadata.get(it);!(Ft!=null&&Ft.generating)||this.set(tt,Ut)})},0)}}async function _(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/queries/queries`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}class Be{constructor(){s(this,"queryStoreCache",new x({capacity:1e4,timeout:20*L.second})),s(this,"liveQueryStoreCache",new x({capacity:1e4,timeout:200*L.millisecond}))}moduleQuery(tt,nt,it,ot,Ut,Ft=!1){const Qt={...tt,names:[...nt],types:[...it]},Bt=this.query(Qt,ot,Ut,Ft);return Bt===void 0||Bt==="too much data"?Bt:$e(Bt,it)}query(tt,nt,it,ot=!1){const Ut={...tt,start:startOfMinute(nt).toISOString(),end:ot?it.toISOString():addMinutes(roundToNearestMinutes(it),1).toISOString(),latestOnly:ot},Ft=it>addSeconds(new Date,-20);let Qt;return Ft?Qt=this.liveQueryCache(Ut):Qt=this.queryCache(Ut),!Qt||Qt==="too much data"||ot?Qt:ze(Qt,nt,it)}queryCache(tt){return this.queryStoreCache.get(tt,async()=>{try{return await _(tt)}catch(nt){throw nt}})}liveQueryCache(tt){return this.liveQueryStoreCache.get(tt,async()=>{try{return await _(tt)}catch(nt){throw nt}})}}const Me=new Be;function qe(et,tt,nt){const it=ot=>{const Ut=ot.data;if(Ut.type==="module_data"){const{start:Ft,end:Qt}=Ut.queryRange;nt(Me.moduleQuery({},et,tt,new Date(Ft),new Date(Qt),!1))}};return window.addEventListener("message",it),()=>window.removeEventListener("message",it)}async function xe(et,tt,nt){return new Promise(it=>{T({type:"request_date",minTime:tt,maxTime:nt,time:et});const ot=Ut=>{const Ft=Ut.data;Ft.type==="date_response"&&(window.removeEventListener("message",ot),it(Ft.data))};window.addEventListener("message",ot)})}async function Ue(et,tt){return new Promise(nt=>{const it=Math.random().toString();T({type:"prompt",promptId:it,schema:et,okText:tt==null?void 0:tt.okText,cancelText:tt==null?void 0:tt.cancelText});const ot=Ut=>{const Ft=Ut.data;Ft.type==="prompt_response"&&Ft.promptId===it&&nt(Ft.data),window.removeEventListener("message",ot)};window.addEventListener("message",ot)})}const q=class{static isModule(){return k()!==null}static async getCurrentModuleConfiguration(){let et=new URLSearchParams("");typeof window<"u"&&window.location&&(et=new URLSearchParams(window.location.search));const tt=et.get("configuration");if(!(tt===null||tt.trim()===""))return ge(tt.trim())}static get isOnline(){return q._isOnline}static listenForConnectionEvents(){const et=tt=>{const{data:nt}=tt;nt.type==="formant_online"&&(this._isOnline=nt.online)};return window.addEventListener("message",et),()=>window.removeEventListener("message",et)}static checkConnection(et=1e3){return new Promise((tt,nt)=>{const it=setTimeout(()=>nt(new Error("deadline expired: took too long")),et),ot=Ut=>{window.removeEventListener("message",ot),clearTimeout(it);const{data:Ft}=Ut;Ft.type==="formant_online"&&(this._isOnline=Ft.online,tt(Ft.online))};window.addEventListener("message",ot),T({type:"formant_online"})})}static waitForConnection(et=5e3){let tt=!1;const nt=new Promise((Ut,Ft)=>{setTimeout(()=>{tt=!0,Ft(new Error("deadline expired: took too long"))},et)}),it=Ut=>new Promise(Ft=>setTimeout(Ft,Ut)),ot=async()=>{for(await it(50);!tt&&!(this.isOnline||await this.checkConnection);)await it(500)};return Promise.race([nt,ot()])}};let y=q;s(y,"getCurrentModuleContext",k),s(y,"disableAnalyticsBottomBar",ve),s(y,"goToDevice",Te),s(y,"goToTime",Ce),s(y,"refreshAuthToken",V),s(y,"requestModuleData",Se),s(y,"sendChannelData",Ee),s(y,"setModuleDateTimeRange",ke),s(y,"setupModuleMenus",Oe$1),s(y,"showMessage",Re),s(y,"addAccessTokenRefreshListener",F),s(y,"addChannelDataListener",be),s(y,"addMenuListener",Ae),s(y,"addModuleConfigurationListener",De),s(y,"addModuleDataListener",Pe),s(y,"addOverviewDeviceListener",je),s(y,"addStreamListener",qe),s(y,"getDate",xe),s(y,"prompt",Ue),s(y,"_isOnline",null);function f(et,tt){if(et!==void 0)return et;throw new Error(tt||"Value is undefined")}const g={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3},Ht={...g,Unknown:g.UNKNOWN,Teleop:g.TELEOP,PortForward:g.PORT_FORWARD,Observe:g.OBSERVE,unknown:g.UNKNOWN,teleop:g.TELEOP,portForward:g.PORT_FORWARD,observe:g.OBSERVE},O=Symbol("RtcClientPool.instance");var qt;class j{constructor(tt){s(this,qt,null),s(this,"createClient"),s(this,"ttlMs"),s(this,"proxyHandler"),s(this,"proxyReceivers",new Map),s(this,"teardownTimeout",null),s(this,"dispatch",(ot,Ut)=>{this.proxyReceivers.forEach(Ft=>Ft==null?void 0:Ft(ot,Ut))});const{createClient:nt,ttlMs:it=0}=tt;this.createClient=nt,this.ttlMs=Math.max(it,0),this.proxyHandler={get:(ot,Ut,Ft)=>{switch(Ut){case"shutdown":return()=>this.releaseInstance(Ft);default:return Reflect.get(ot,Ut,Ft)}}}}get isActive(){return this[O]!==null}get size(){return this.proxyReceivers.size}get(tt){const nt=new Proxy(this.allocate(),this.proxyHandler);return this.proxyReceivers.set(nt,tt??null),nt}allocate(){if(this[O])return this.teardownTimeout&&(clearTimeout(this.teardownTimeout),this.teardownTimeout=null),this[O];const tt=this.createClient(this.dispatch);return this[O]=tt,tt}async teardown(){const tt=this[O];if(!tt){console.warn("singleton has already been shutdown!");return}try{await tt.shutdown()}finally{this[O]=null}}async releaseInstance(tt){return this.proxyReceivers.delete(tt)?this.proxyReceivers.size!==0?!1:(!this.teardownTimeout&&Number.isFinite(this.ttlMs)&&(this.ttlMs===0?await this.teardown():this.teardownTimeout=setTimeout(()=>{this.teardown().catch(nt=>console.error("teardown failed",{err:nt})).finally(()=>this.teardownTimeout=null)},this.ttlMs)),!0):(console.warn("this instance has already been released!"),!1)}}qt=O;const N=async()=>f(o.token,"Realtime when user isn't authorized"),R={[g.UNKNOWN]:new j({ttlMs:2500,createClient:et=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(h),getToken:N,sessionType:g.UNKNOWN,receive:et})}),[g.TELEOP]:new j({ttlMs:2500,createClient:et=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(h),getToken:N,sessionType:g.TELEOP,receive:et})}),[g.PORT_FORWARD]:new j({ttlMs:2500,createClient:et=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(h),getToken:N,sessionType:g.PORT_FORWARD,receive:et})}),[g.OBSERVE]:new j({ttlMs:2500,createClient:et=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(h),getToken:N,sessionType:g.OBSERVE,receive:et})})},Je={...R,unknown:R[g.UNKNOWN],teleop:R[g.TELEOP],portForward:R[g.PORT_FORWARD],observe:R[g.OBSERVE]},$=R[g.TELEOP],Ve=et=>{const{sessionType:tt}=et;return tt?Je[tt]:$};class Fe{constructor(tt){s(this,"token"),this.captureSession=tt}async ingestJSON(tt){if(!this.token){const nt=await(await fetch(`${h}/v1/admin/capture-sessions/${this.captureSession.code}/authenticate`,{method:"POST"})).json();this.token=nt.token}await fetch(`${h}/v1/ingest`,{method:"POST",body:JSON.stringify({deviceId:this.captureSession.deviceId,name:this.captureSession.streamName,type:"json",points:[[Date.now(),JSON.stringify(tt)]]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+this.token}})}}function b(et){return new Promise(tt=>setTimeout(tt,et))}const We=et=>et!==void 0&&et.capabilities!==void 0&&et.capabilitySet!==void 0;class Ge{constructor(tt){s(this,"ready",!1),s(this,"listeners",[]),s(this,"openListeners",[]),s(this,"closeListeners",[]),s(this,"errorListeners",[]),s(this,"binaryListeners",[]),s(this,"error"),s(this,"decoder",new TextDecoder),this.dataChannel=tt,this.dataChannel.binaryType="arraybuffer",this.dataChannel.onopen=()=>{this.setReady()},this.dataChannel.onclose=()=>{this.ready=!1,this.closeListeners.forEach(nt=>nt())},this.dataChannel.onerror=nt=>{console.error(nt),this.error="An error occurred in DataChannel",this.errorListeners.forEach(it=>it(nt))},this.dataChannel.onmessage=nt=>{this.listeners.forEach(it=>{const ot=new Uint8Array(nt.data),Ut=this.decoder.decode(ot);it(Ut)}),this.binaryListeners.forEach(it=>{it(new Uint8Array(nt.data))})}}setReady(){this.ready=!0,this.openListeners.forEach(tt=>tt())}addOpenListener(tt){this.openListeners.push(tt)}removeOpenListener(tt){this.openListeners=this.openListeners.filter(nt=>nt!==tt)}addCloseListener(tt){this.closeListeners.push(tt)}removeCloseListener(tt){this.closeListeners=this.closeListeners.filter(nt=>nt!==tt)}addErrorListener(tt){this.errorListeners.push(tt)}removeErrorListener(tt){this.errorListeners=this.errorListeners.filter(nt=>nt!==tt)}async waitTilReady(){return this.ready?!0:new Promise((tt,nt)=>{let it=setInterval(()=>{this.dataChannel.readyState==="open"&&this.setReady(),this.ready&&(clearInterval(it),tt(!0)),this.error&&nt(this.error)},10)})}send(tt){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(tt)}sendBinary(tt){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(tt)}addListener(tt){this.listeners.push(tt)}removeListener(tt){const nt=this.listeners.indexOf(tt);if(nt===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.listeners.splice(nt,1)}addBinaryListener(tt){this.binaryListeners.push(tt)}removeBinaryListener(tt){const nt=this.binaryListeners.indexOf(tt);if(nt===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.binaryListeners.splice(nt,1)}}class He{constructor(tt,nt){s(this,"currentListeners",[]),s(this,"onRealtimeMessage",(it,ot)=>{ot.payload.jointState&&this.currentListeners.forEach(Ut=>{ot.payload.jointState&&Ut(ot.payload.jointState)})}),this.device=tt,this.config=nt}async synchronize(){this.device.addRealtimeListener(this.onRealtimeMessage),this.device.startListeningToRealtimeDataStream(this.config.currentJointStateStream)}async desynchronize(){this.device.removeRealtimeListener(this.onRealtimeMessage),this.device.stopListeningToRealtimeDataStream(this.config.currentJointStateStream)}async addCurrentJointStateListener(tt){this.currentListeners.push(tt)}}class K{constructor(tt,nt,it){s(this,"channel"),s(this,"requestIdToResponseMap",new Map),this.device=tt,this.channel_name=nt,this.timeout=it}addOpenListener(tt){f(this.channel,"channel not initalized").addOpenListener(tt)}removeOpenListener(tt){f(this.channel,"channel not initalized").removeOpenListener(tt)}addCloseListener(tt){f(this.channel,"channel not initalized").addCloseListener(tt)}removeCloseListener(tt){f(this.channel,"channel not initalized").removeCloseListener(tt)}addErrorListener(tt){f(this.channel,"channel not initalized").addErrorListener(tt)}removeErrorListener(tt){f(this.channel,"channel not initalized").removeErrorListener(tt)}}let Ke$1=class extends K{constructor(){super(...arguments),s(this,"RESPONSE_SUCCESS_BYTE",0),s(this,"decoder",new TextDecoder)}generateBinaryId(){const tt=new Uint8Array(16);for(let nt=0;nt{const nt=tt.slice(0,16).toString();if(nt.length===0)throw new Error("Invalid response");const it=tt.slice(16);if(it.length===0)throw new Error("Invalid response");this.requestIdToResponseMap.has(nt)&&this.requestIdToResponseMap.set(nt,it)})}async request(tt){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:nt,requestIdToResponseMap:it,timeout:ot}=this;await nt.waitTilReady();const Ut=this.generateBinaryId(),Ft=Ut.toString();it.set(Ft,!0),nt.sendBinary(new Uint8Array([...Ut,...tt]));const Qt=new Date().getTime();for(;new Date().getTime(){const nt=JSON.parse(tt),{id:it,data:ot,error:Ut}=nt;if(!it)throw new Error("Invalid response");if(!ot&&!Ut)throw new Error("Invalid response");this.requestIdToResponseMap.has(it)&&this.requestIdToResponseMap.set(it,nt)})}async request(tt){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:nt,requestIdToResponseMap:it,timeout:ot}=this;await nt.waitTilReady();const Ut=this.generateTextId();it.set(Ut,!0),nt.send(JSON.stringify({id:Ut,data:tt}));const Ft=new Date().getTime();for(;new Date().getTime(){this.realtimeListeners.forEach(it=>it(tt,nt))})}stopConnectionMonitoring(){clearInterval(this.connectionMonitorInterval),this.connectionMonitorInterval=void 0}assertNotCancelled(tt){if(tt)throw new Error("Cancelled by deadline")}getRealtimeStatus(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getConnectionStatus(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePing(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPing(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}addRealtimeListener(tt){this.realtimeListeners.push(tt)}removeRealtimeListener(tt){const nt=this.realtimeListeners.indexOf(tt);if(nt===-1)throw new Error("Could not find realtime listener to remove");this.realtimeListeners.splice(nt,1)}async getRealtimeManipulators(){const tt=await this.getConfiguration(),nt=[];for(const it of tt.teleop.rosStreams??[])it.topicType=="sensor_msgs/JointState"&&nt.push(new He(this,{currentJointStateStream:{name:it.topicName},plannedJointStateStream:it.plannedTopic?{name:it.plannedTopic}:void 0,planValidStream:it.planValidTopic?{name:it.planValidTopic}:void 0,endEffectorStream:it.endEffectorTopic?{name:it.endEffectorTopic}:void 0,endEffectorLinkName:it.endEffectorLinkName,baseReferenceFrame:it.baseReferenceFrame,localFrame:it.localFrame}));return nt}async getRealtimeVideoStreams(){var tt,nt,it;const ot=await this.getConfiguration(),Ut=[];for(const Ft of((tt=ot.teleop)==null?void 0:tt.hardwareStreams)??[])Ft.rtcStreamType==="h264-video-frame"&&Ut.push({name:Ft.name});for(const Ft of((nt=ot.teleop)==null?void 0:nt.rosStreams)??[])Ft.topicType=="formant/H264VideoFrame"&&Ut.push({name:Ft.topicName}),(Ft.topicType==="sensor_msgs/Image"||Ft.topicType==="sensor_msgs/CompressedImage")&&Ft.encodeVideo&&Ut.push({name:Ft.topicName});for(const Ft of((it=ot.teleop)==null?void 0:it.customStreams)??[])Ft.rtcStreamType==="h264-video-frame"&&Ut.push({name:Ft.name});return Ut}createCustomRequestDataChannel(tt,nt=3e3){return new Qe(this,tt,nt)}createCustomBinaryRequestDataChannel(tt,nt=3e3){return new Ke$1(this,tt,nt)}async startListeningToRealtimeVideo(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeVideo(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt.name,enable:!1,pipeline:"rtc"})}async startListeningToRealtimeDataStream(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeDataStream(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt.name,enable:!1,pipeline:"rtc"})}async enableRealtimeTelemetryPriorityIngestion(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt,enablePriorityUpload:!0,pipeline:"telemetry"})}async disableRealtimeTelemetryPriorityIngestion(tt){const nt=f(this.rtcClient,"Realtime connection has not been started"),it=await this.getRemotePeer();nt.controlRemoteStream(f(it).id,{streamName:tt,enablePriorityUpload:!1,pipeline:"telemetry"})}async changeStreamAudioType(tt,nt){const it=f(this.rtcClient,"Realtime connection has not been started"),ot=await this.getRemotePeer();it.controlRemoteStream(f(ot).id,{streamName:tt,setAudioFormat:nt})}async createCustomDataChannel(tt,nt){const it=f(this.rtcClient,"Realtime connection has not been started"),ot=await this.getRemotePeer(),Ut=await new Promise(Ft=>{it.createCustomDataChannel(f(ot).id,tt,{ordered:!0,...nt},!1,(Qt,Bt)=>{const Vt=new Ge(Bt);Ft(Vt)})});return await Ut.waitTilReady(),Ut}async sendRealtimeMessage(tt,nt={channelLabel:"stream.reliable"}){const it=f(this.rtcClient,"Realtime connection has not been started"),ot=await this.getRemotePeer();it.send(f(ot).id,tt,nt)}async getRealtimeAudioStreams(){var tt,nt,it;const ot=await this.getConfiguration(),Ut=[];for(const Ft of((tt=ot.teleop)==null?void 0:tt.hardwareStreams)??[])Ft.rtcStreamType==="audio-chunk"&&Ut.push({name:Ft.name});for(const Ft of((nt=ot.teleop)==null?void 0:nt.rosStreams)??[])Ft.topicType=="audio_common_msgs/AudioData"&&Ut.push({name:Ft.topicName});for(const Ft of((it=ot.teleop)==null?void 0:it.customStreams)??[])Ft.rtcStreamType==="audio-chunk"&&Ut.push({name:Ft.name});return Ut}}const Xe=new TextEncoder;new TextDecoder;function Ye(et){const tt=JSON.stringify(et),nt=Xe.encode(tt),it=deflate_1(nt);return fromByteArray_1(it)}async function X(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/views`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function Y(et,tt){if(!o.token)throw new Error("Not authenticated");const nt=(await X()).filter(Ft=>Ft.name===tt);if(nt.length===0)return console.warn("View does not exist or it is misspell"),null;const it=await fetch(`${h}/v1/admin/shares`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}}),ot=h.replace("api","app"),{code:Ut}=await it.json();return`${ot}/shares/${Ut}#${Ye({viewId:nt[0].id})}`}const Z={day:{interval:eachDayOfInterval,start:startOfDay,end:endOfDay,sub:subDays,get:getDay},week:{interval:eachWeekOfInterval,start:startOfWeek,end:endOfWeek,sub:subWeeks,get:getWeek},month:{interval:eachMonthOfInterval,start:startOfMonth,end:endOfMonth,sub:subMonths,get:getMonth},year:{interval:eachYearOfInterval,start:startOfYear,end:endOfYear,sub:subYears,get:getYear},hour:{interval:eachHourOfInterval,start:startOfHour,end:endOfHour,sub:subHours,get:getHours},minute:{interval:eachMinuteOfInterval,start:startOfMinute,end:endOfMinute,sub:subMinutes,get:getMinutes},quarter:{interval:eachQuarterOfInterval,start:startOfQuarter,end:endOfQuarter,sub:subQuarters,get:getQuarter}},rt=(et,tt)=>et.split("/")[0]+"/"+et.split("/")[1]+"–"+tt.split("/")[0]+"/"+tt.split("/")[1];async function z(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/events/query`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function ee(et,tt,nt,it,ot){const Ut=Z[tt];return await Promise.all(Array(nt).fill(0).map(async(Ft,Qt)=>{const Bt=new Date(it),Vt=Ut.sub(Ut.start(Bt),nt-Qt-1),Wt=Ut.sub(Ut.end(Bt),nt-Qt-1),Xt=rt(Vt.toLocaleDateString(),Wt.toLocaleDateString()),Zt=await z({...ot,eventTypes:et,start:new Date(Vt).toISOString(),end:new Date(Wt).toISOString()});return{date:Xt,events:Zt}}))}async function B(et,tt){return(await z({...et,eventTypes:["annotation"]})).filter(nt=>!!nt.tags&&Object.keys(nt.tags).includes(tt)).reduce((nt,it)=>{const ot=it.tags[tt];return ot in nt?(nt[ot]+=1,nt):(nt[ot]=1,nt)},{})}async function te(et,tt,nt){const{end:it,start:ot}=et,Ut=Z[nt].interval({start:new Date(ot),end:new Date(it)}),Ft=Ut.map((Bt,Vt)=>{const Wt=new Date(Bt).toISOString(),Xt=Vt===Ut.length-1?new Date(Date.now()).toISOString():new Date(Ut[Vt+1]);return B({...et,start:Wt,end:Xt},tt)}),Qt=await Promise.all(Ft);return Ut.map((Bt,Vt)=>({date:new Date(Bt).toISOString(),annotations:Qt[Vt]}))}async function ne(et,tt,nt,it,ot){let Ut=et;Array.isArray(et)||(Ut=[et]);let Ft=tt;return Array.isArray(tt)||(Ft=[tt]),(await(await fetch(`${h}/v1/queries/queries`,{method:"POST",body:JSON.stringify({deviceIds:Ut,end:it.toISOString(),names:Ft,start:nt.toISOString(),tags:ot}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function ae(){if(!o.token)throw new Error("Not authenticated");const et=$.get();try{return await et.getSessions()}finally{await et.shutdown()}}async function ie(){if(!o.token)throw new Error("Not authenticated");const et=$.get();try{return await et.getPeers()}finally{await et.shutdown()}}async function st(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/devices`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function ct(et,tt){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/devices/${et}`,{method:"PATCH",body:JSON.stringify(tt),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function dt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function ht(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function lt(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/devices/${et}/disable`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}class S extends Q{constructor(tt,nt,it,ot){super(),this.id=tt,this.name=nt,this.organizationId=it,this.tags=ot}async getLatestTelemetry(){return(await(await fetch(`${h}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async getConfiguration(){let tt=await fetch(`${h}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}});const nt=await tt.json();if(!nt.state.reportedConfiguration)throw new Error("Device has no configuration, has it ever been turned on?");const it=nt.state.reportedConfiguration.version;return tt=await fetch(`${h}/v1/admin/devices/${this.id}/configurations/${it}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}}),(await tt.json()).document}async getFileUrl(tt){return(await(await fetch(`${h}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[tt]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).fileUrls}async startRealtimeConnection(tt={}){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const{sessionType:nt,deadlineMs:it=1e4,maxConnectRetries:ot=3}=typeof tt=="number"?{sessionType:tt}:tt,Ut=Ve({sessionType:nt}).get(this.handleMessage);let Ft=!1;const Qt=new Promise((Vt,Wt)=>setTimeout(()=>{Ft=!0,Wt(new Error("Connection timed out: the connection could not be finalized in time, possibly due to network issues or misconfigured settings."))},it)),Bt=async()=>{if("isReady"in Ut)for(;!Ut.isReady();)this.assertNotCancelled(Ft),await b(100);const Vt=await this.getRemoteDevicePeerId(Ut);this.assertNotCancelled(Ft);let Wt;for(let Zt=0;Zt{this.remoteDevicePeerId=Vt,this.initConnectionMonitoring(),this.rtcClient=Ut,this.emit("connect")}).catch(Vt=>{throw console.debug(`${new Date().toISOString()} :: Connection failed: %o`,Vt),this.remoteDevicePeerId=null,Ut.shutdown().catch(Wt=>{console.error("rtcClient cannot shutdown: %o",Wt)}),this.emit("connection_failed",Vt),Vt})}async getRemoteDevicePeerId(tt){const nt=(await tt.getPeers()).find(it=>it.deviceId===this.id);if(!We(nt))throw new Error("Cannot find peer, is the robot offline?");return nt.id}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let tt=!1;if(this.rtcClient){const nt=this.rtcClient.getConnections().find(it=>it.getRemotePeerId()===this.remoteDevicePeerId&&it.isActive());(nt===void 0||!nt.isReady())&&(console.debug(`${new Date().toISOString()} :: data channel closed`),tt=!0)}(!this.rtcClient||!this.remoteDevicePeerId||await this.rtcClient.getConnectionStatsInfo(this.remoteDevicePeerId)===void 0||tt)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(nt=>{console.error(nt)}))},1e3)}async getRemotePeer(){const tt=(await f(this.rtcClient,"Realtime connection has not been started").getPeers()).find(nt=>nt.deviceId===this.id);return f(tt,"Could not find remote peer for device "+this.id)}async stopRealtimeConnection(){let tt=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.remoteDevicePeerId?(await this.rtcClient.disconnect(this.remoteDevicePeerId),this.remoteDevicePeerId=null):tt=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(tt)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async isInRealtimeSession(){const tt=await ie(),nt=await ae(),it=tt.find(ot=>ot.deviceId===this.id);return it?nt[it.id].length>0:!1}async getAvailableCommands(){return(await(await fetch(`${h}/v1/admin/command-templates/`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items.map(tt=>({name:tt.name,id:tt.id,command:tt.command,description:tt.description,parameterEnabled:tt.parameterEnabled,parameterValue:tt.parameterValue,parameterMeta:tt.parameterMeta,enabled:tt.enabled,tags:tt.tags}))}async sendCommand(tt,nt,it,ot){var Ut;const Ft=(await this.getAvailableCommands()).find(Vt=>Vt.name===tt);if(!Ft)throw new Error(`Could not find command with name "${tt}"`);let Qt="";nt===void 0?Ft.parameterEnabled&&Ft.parameterValue&&(Qt=Ft.parameterValue):Qt=nt;let Bt={value:Qt,scrubberTime:(it||new Date).toISOString(),meta:{...Ft.parameterMeta,...ot}};return await fetch(`${h}/v1/admin/commands`,{method:"POST",body:JSON.stringify({commandTemplateId:Ft.id,organizationId:this.organizationId,deviceId:this.id,command:Ft.command,parameter:Bt,userId:(Ut=o.currentUser)==null?void 0:Ut.id}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})}async getCommand(tt){return await fetch(`${h}/v1/admin/commands/${tt}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})}async createCaptureStream(tt){const nt=await(await fetch(`${h}/v1/admin/capture-sessions`,{method:"POST",body:JSON.stringify({deviceId:this.id,streamName:tt,tags:{}}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json();return new Fe(nt)}async getTelemetry(tt,nt,it,ot){return await ne(this.id,tt,nt,it,ot)}async getTelemetryStreams(){var tt,nt;const it=await this.getConfiguration(),ot=await fetch(`${h}/v1/queries/metadata/stream-names`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}}),Ut=[],Ft=[];return(nt=(tt=it.telemetry)==null?void 0:tt.streams)==null||nt.forEach(Qt=>{Qt.disabled!==!0&&Ut.push(Qt.name),Qt.onDemand===!0&&Ft.push(Qt.name)}),console.log(Ft),(await ot.json()).items.filter(Qt=>!Ut.includes(Qt)).map(Qt=>({name:Qt,onDemand:Ft.includes(Qt)}))}async createInterventionRequest(tt,nt,it,ot){return await(await fetch(`${h}/v1/admin/intervention-requests`,{method:"POST",body:JSON.stringify({message:tt,interventionType:nt,time:new Date().toISOString(),deviceId:this.id,tags:ot,data:it}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async addInterventionResponse(tt,nt,it){return await(await fetch(`${h}/v1/admin/intervention-responses`,{method:"POST",body:JSON.stringify({interventionId:tt,interventionType:nt,data:it}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async getAnnotationCount(tt,nt){return await B({...tt,deviceIds:[this.id]},nt)}async getAnnotationCountByIntervals(tt,nt,it){return await te({...tt,deviceIds:[this.id]},nt,it)}async eventsCounter(tt,nt,it,ot,Ut){return await ee(tt,nt,it,ot,{...Ut,deviceIds:[this.id]})}async createShareLink(tt,nt){return tt.scope.deviceIds=[this.id],await Y(tt,nt)}}s(S,"createDevice",st),s(S,"patchDevice",ct),s(S,"getDevicesData",dt),s(S,"queryDevicesData",ht),s(S,"disableDevice",lt);class ut extends Q{constructor(tt){super(),s(this,"id"),s(this,"telemetryStreamActive",!1),s(this,"streamTelemetry",{}),this.peerUrl=tt}async getLatestTelemetry(){this.telemetryStreamActive||this.subscribeToTelemetry();const tt=this.streamTelemetry;return Object.entries(tt).map(([nt,it])=>({deviceId:this.id,streamName:nt,streamType:"json",currentValue:it,currentValueTime:it.timestamp,tags:{}}))}subscribeToTelemetry(){this.telemetryStreamActive=!0;let tt=0;const nt=new XMLHttpRequest;nt.responseType="text",nt.addEventListener("error",it=>{this.handleXHRError("error")}),nt.addEventListener("abort",it=>{this.handleXHRError("abort")}),nt.addEventListener("timeout",it=>{this.handleXHRError("timeout")}),nt.addEventListener("readystatechange",it=>{nt.readyState===XMLHttpRequest.DONE&&this.handleXHRError("closed")}),nt.addEventListener("progress",it=>{const ot=it.loaded,Ut=ot-tt;tt=ot,nt.responseText.substr(-Ut).split(` -`).forEach(Ft=>{var Qt;if(Ft.length>0){const Bt=JSON.parse(Ft);if((Qt=Bt.result)!=null&&Qt.datapoint){const Vt=Bt.result.datapoint,Wt=Vt.stream;delete Vt.stream,this.streamTelemetry[Wt]=Vt}}})}),nt.open("POST",`${this.peerUrl}/v1/telemetry`),nt.send()}handleXHRError(tt){console.warn(`Telemetry stream ended: ${tt}`),this.telemetryStreamActive=!1}async getDeviceId(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.id}async getConfiguration(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.document}async startRealtimeConnection(tt){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const nt=new distExports.RtcClient({lanOnlyMode:!0,receive:this.handleMessage,sessionType:tt});for(await nt.connectLan(this.peerUrl);nt.getConnectionStatus(this.peerUrl)!=="connected";)await b(100);this.rtcClient=nt,this.initConnectionMonitoring()}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let tt=!1;this.rtcClient&&this.rtcClient.getConnectionStatus(this.peerUrl)!=="connected"&&(console.debug(`${new Date().toISOString()} :: data channel closed`),tt=!0),(!this.rtcClient||tt)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(nt=>{console.error(nt)}))},1e3)}async getRemotePeer(){return{id:this.peerUrl,organizationId:"",deviceId:this.id,capabilities:[],capabilitySet:{}}}async stopRealtimeConnection(){let tt=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.id?(await this.rtcClient.disconnect(this.id),this.remoteDevicePeerId=null):tt=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(tt)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async sendCommand(tt,nt,it,ot){const Ut={value:nt,scrubberTime:(it||new Date).toISOString(),meta:ot};return await fetch(`${this.peerUrl}/v1/enqueue-command`,{method:"POST",body:JSON.stringify({command:tt,parameter:Ut}),headers:{"Content-Type":"application/json"}})}}async function mt(et,tt){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/devices/${et}`,{method:"PATCH",body:JSON.stringify({fleetId:tt}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function ft(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/queries/queries`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).aggregates}async function wt(et){if(!o.token)throw new Error("Not authenticated");await fetch(`${h}/v1/admin/fleets/${et}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})}async function pt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/queries/analytics/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function yt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/analytics-modules`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function gt(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/queries/analytics/rows`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function oe(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items.map(tt=>new S(tt.id,tt.name,tt.organizationId,tt.tags))}async function vt(){if(!o.token)throw new Error("Not authenticated");let et=new URLSearchParams("");typeof window<"u"&&window.location&&(et=new URLSearchParams(window.location.search));const tt=et.get("group");if(tt===null||tt.trim()==="")return;const nt=await fetch(`${h}/v1/admin/groups/`+tt,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}}),{tagKey:it,tagValue:ot}=await nt.json();return await oe({tags:{[it]:[ot]},enabled:!0,type:"default"})}async function Tt(et){if(!o.token)throw new Error("Not authenticated");const tt=await(await fetch(`${h}/v1/admin/devices/${et}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json(),nt=tt.name;return new S(et,nt,tt.organizationId,tt.tags)}async function M(){if(!o.token)throw new Error("Not authenticated");const et=await(await fetch(`${h}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json();return et.items,et.items.map(tt=>new S(tt.id,tt.name,tt.organizationId,tt.tags))}async function Ct(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/events/query/id=${et}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function St(et){const tt=await(await fetch(`${h}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[et]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json();if(tt.fileUrls.length===0)throw new Error("File not found");return tt.fileUrls[0]}async function Et(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/fleets/${et}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function kt(et){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/fleets/${et}/devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function Ot(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/intervention-requests`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function Rt(...et){const tt=et.flat().filter(nt=>!!nt);return tt.length===0?[]:(await(await fetch(`${h}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:tt}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function bt(){if(!o.token)throw new Error("Not authenticated");const et=(await(await fetch(`${h}/v1/queries/online-devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items;return(await M()).filter(tt=>et.includes(tt.id))}async function At(){if(!o.token)throw new Error("Not authenticated");const et=(await(await fetch(`${h}/v1/signaling/peers`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items.map(tt=>tt.deviceId);return(await M()).filter(tt=>et.includes(tt.id))}async function Dt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items.filter(et=>et.enabled)}async function Pt(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/queries/analytics/task-report-rows`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function jt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/queries/analytics/task-reports`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function Nt(){if(!o.token)throw new Error("Not authenticated");return(await(await fetch(`${h}/v1/admin/fleets`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items}async function It(et,tt){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/fleets/${et}`,{method:"PATCH",body:JSON.stringify(tt),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function Lt(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/streams/${et.id}`,{method:"PATCH",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function _t(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/views/${et.id}`,{method:"PATCH",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function $t(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/queries/analytics`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}async function zt(et){if(!o.token)throw new Error("Not authenticated");return await(await fetch(`${h}/v1/admin/fleets`,{method:"POST",body:JSON.stringify(et),headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()}const E=class{static async setDefaultDevice(et){E.defaultDeviceId=et}static async getCurrentDevice(){if(!o.token)throw new Error("Not authenticated");if(!E.defaultDeviceId)throw new Error("No known default device");const et=(await(await fetch(`${h}/v1/admin/device-details/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+o.token}})).json()).items.find(it=>it.id===E.defaultDeviceId),tt=et.name,nt=new S(E.defaultDeviceId,tt,f(o.currentOrganization),et.tags);return E.knownContext.push(new WeakRef(nt)),nt}static async getPeerDevice(et){const tt=new ut(et);return tt.id=await tt.getDeviceId(),tt}static async getDevice(et){const tt=await Tt(et);return E.knownContext.push(new WeakRef(tt)),tt}};let l=E;s(l,"defaultDeviceId"),s(l,"knownContext",[]),s(l,"createFleet",zt),s(l,"listFleets",Nt),s(l,"getFleet",Et),s(l,"patchFleet",It),s(l,"deleteFleet",wt),s(l,"addDeviceToFleet",mt),s(l,"getFleetDevices",kt),s(l,"aggregateTelemetry",ft),s(l,"createShareLink",Y),s(l,"eventsCounter",ee),s(l,"getAnalyticStreams",pt),s(l,"getAnalyticsModules",yt),s(l,"getAnalyticsRows",gt),s(l,"getAnnotationCount",B),s(l,"getAnnotationCountByIntervals",te),s(l,"getCurrentGroup",vt),s(l,"getDevices",M),s(l,"getEvent",Ct),s(l,"getFileUrl",St),s(l,"getInterventions",Ot),s(l,"getLatestTelemetry",Rt),s(l,"getOnlineDevices",bt),s(l,"getPeers",ie),s(l,"getRealtimeDevices",At),s(l,"getRealtimeSessions",ae),s(l,"getStreams",Dt),s(l,"getTaskReportRows",Pt),s(l,"getTaskReportTables",jt),s(l,"getTelemetry",ne),s(l,"getViews",X),s(l,"patchStream",Lt),s(l,"patchView",_t),s(l,"queryAnalytics",$t),s(l,"queryDevices",oe),s(l,"queryEvents",z),s(l,"queryTelemetry",_);try{const et=typeof window<"u"&&window.location?new URLSearchParams(window.location.search):new URLSearchParams(""),tt=et.get("device");tt&&l.setDefaultDevice(tt);const nt=et.get("auth");nt&&o.loginWithToken(nt),et.get("module")&&o.listenForRefresh(),typeof window<"u"&&y.listenForConnectionEvents()}catch{}var lodashExports={},lodash={get exports(){return lodashExports},set exports(et){lodashExports=et}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(et,tt){(function(){var nt,it="4.17.21",ot=200,Ut="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",Ft="Expected a function",Qt="Invalid `variable` option passed into `_.template`",Bt="__lodash_hash_undefined__",Vt=500,Wt="__lodash_placeholder__",Xt=1,Zt=2,Yt=4,Mt=1,Gt=2,en=1,tn=2,ln=4,nn=8,sn=16,Kt=32,dn=64,Qn=128,En=256,an=512,rn=30,gn="...",un=800,Un=16,_n=1,vn=2,pn=3,Rn=1/0,Sn=9007199254740991,fn=17976931348623157e292,cn=0/0,bn=4294967295,Vn=bn-1,Mn=bn>>>1,Zn=[["ary",Qn],["bind",en],["bindKey",tn],["curry",nn],["curryRight",sn],["flip",an],["partial",Kt],["partialRight",dn],["rearg",En]],In="[object Arguments]",Cn="[object Array]",kn="[object AsyncFunction]",hn="[object Boolean]",Fn="[object Date]",wn="[object DOMException]",Wn="[object Error]",An="[object Function]",Pn="[object GeneratorFunction]",jn="[object Map]",$n="[object Number]",pr="[object Null]",Sr="[object Object]",Qr="[object Promise]",Ir="[object Proxy]",yr="[object RegExp]",Rr="[object Set]",wr="[object String]",br="[object Symbol]",Nr="[object Undefined]",kr="[object WeakMap]",_i="[object WeakSet]",Ar="[object ArrayBuffer]",bo="[object DataView]",Pr="[object Float32Array]",_o="[object Float64Array]",fo="[object Int8Array]",is="[object Int16Array]",wo="[object Int32Array]",Xo="[object Uint8Array]",$r="[object Uint8ClampedArray]",as="[object Uint16Array]",$o="[object Uint32Array]",hs=/\b__p \+= '';/g,zs=/\b(__p \+=) '' \+/g,ks=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ms=/&(?:amp|lt|gt|quot|#39);/g,Ao=/[&<>"']/g,Hs=RegExp(ms.source),io=RegExp(Ao.source),Ns=/<%-([\s\S]+?)%>/g,dr=/<%([\s\S]+?)%>/g,yn=/<%=([\s\S]+?)%>/g,Tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Dn=/^\w*$/,zn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xn=/[\\^$.*+?()[\]{}|]/g,tr=RegExp(Xn.source),sr=/^\s+/,cr=/\s/,nr=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Kn=/\{\n\/\* \[wrapped with (.+)\] \*/,mr=/,? & /,xr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Gr=/[()=,{}\[\]\/\s]/,co=/\\(\\)?/g,Fo=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,So=/\w*$/,Lo=/^[-+]0x[0-9a-f]+$/i,eo=/^0b[01]+$/i,oo=/^\[object .+?Constructor\]$/,po=/^0o[0-7]+$/i,Qo=/^(?:0|[1-9]\d*)$/,Ro=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,no=/($^)/,Ko=/['\n\r\u2028\u2029\\]/g,ko="\\ud800-\\udfff",fs="\\u0300-\\u036f",Ys="\\ufe20-\\ufe2f",Sl="\\u20d0-\\u20ff",gs=fs+Ys+Sl,yl="\\u2700-\\u27bf",Pl="a-z\\xdf-\\xf6\\xf8-\\xff",Cs="\\xac\\xb1\\xd7\\xf7",np="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",ps="\\u2000-\\u206f",hu=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",fu="A-Z\\xc0-\\xd6\\xd8-\\xde",gu="\\ufe0e\\ufe0f",pu=Cs+np+ps+hu,zl="['’]",rp="["+ko+"]",Uu="["+pu+"]",Gs="["+gs+"]",Hl="\\d+",Fu="["+yl+"]",El="["+Pl+"]",Yl="[^"+ko+pu+Hl+yl+Pl+fu+"]",ss="\\ud83c[\\udffb-\\udfff]",Qu="(?:"+Gs+"|"+ss+")",qo="[^"+ko+"]",_l="(?:\\ud83c[\\udde6-\\uddff]){2}",Bs="[\\ud800-\\udbff][\\udc00-\\udfff]",Js="["+fu+"]",Gl="\\u200d",mu="(?:"+El+"|"+Yl+")",na="(?:"+Js+"|"+Yl+")",As="(?:"+zl+"(?:d|ll|m|re|s|t|ve))?",Rs="(?:"+zl+"(?:D|LL|M|RE|S|T|VE))?",No=Qu+"?",Tl="["+gu+"]?",Bu="(?:"+Gl+"(?:"+[qo,_l,Bs].join("|")+")"+Tl+No+")*",Xl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Bn="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Jn=Tl+No+Bu,Ln="(?:"+[Fu,_l,Bs].join("|")+")"+Jn,Yn="(?:"+[qo+Gs+"?",Gs,_l,Bs,rp].join("|")+")",ir=RegExp(zl,"g"),lr=RegExp(Gs,"g"),qn=RegExp(ss+"(?="+ss+")|"+Yn+Jn,"g"),or=RegExp([Js+"?"+El+"+"+As+"(?="+[Uu,Js,"$"].join("|")+")",na+"+"+Rs+"(?="+[Uu,Js+mu,"$"].join("|")+")",Js+"?"+mu+"+"+As,Js+"+"+Rs,Bn,Xl,Hl,Ln].join("|"),"g"),Fr=RegExp("["+Gl+ko+gs+gu+"]"),Ur=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,vr=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Kr=-1,Vr={};Vr[Pr]=Vr[_o]=Vr[fo]=Vr[is]=Vr[wo]=Vr[Xo]=Vr[$r]=Vr[as]=Vr[$o]=!0,Vr[In]=Vr[Cn]=Vr[Ar]=Vr[hn]=Vr[bo]=Vr[Fn]=Vr[Wn]=Vr[An]=Vr[jn]=Vr[$n]=Vr[Sr]=Vr[yr]=Vr[Rr]=Vr[wr]=Vr[kr]=!1;var Cr={};Cr[In]=Cr[Cn]=Cr[Ar]=Cr[bo]=Cr[hn]=Cr[Fn]=Cr[Pr]=Cr[_o]=Cr[fo]=Cr[is]=Cr[wo]=Cr[jn]=Cr[$n]=Cr[Sr]=Cr[yr]=Cr[Rr]=Cr[wr]=Cr[br]=Cr[Xo]=Cr[$r]=Cr[as]=Cr[$o]=!0,Cr[Wn]=Cr[An]=Cr[kr]=!1;var so={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},uo={"&":"&","<":"<",">":">",'"':""","'":"'"},jr={"&":"&","<":"<",">":">",""":'"',"'":"'"},ga={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ws=parseFloat,B0=parseInt,cU=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal,S0=typeof self=="object"&&self&&self.Object===Object&&self,To=cU||S0||Function("return this")(),ip=tt&&!tt.nodeType&&tt,Xs=ip&&!0&&et&&!et.nodeType&&et,uU=Xs&&Xs.exports===ip,op=uU&&cU.process,ba=function(){try{var er=Xs&&Xs.require&&Xs.require("util").types;return er||op&&op.binding&&op.binding("util")}catch{}}(),dU=ba&&ba.isArrayBuffer,hU=ba&&ba.isDate,fU=ba&&ba.isMap,gU=ba&&ba.isRegExp,pU=ba&&ba.isSet,UU=ba&&ba.isTypedArray;function Po(er,ur,ar){switch(ar.length){case 0:return er.call(ur);case 1:return er.call(ur,ar[0]);case 2:return er.call(ur,ar[0],ar[1]);case 3:return er.call(ur,ar[0],ar[1],ar[2])}return er.apply(ur,ar)}function y0(er,ur,ar,Er){for(var Mr=-1,qr=er==null?0:er.length;++Mr-1}function ap(er,ur,ar){for(var Er=-1,Mr=er==null?0:er.length;++Er-1;);return ar}function vU(er,ur){for(var ar=er.length;ar--&&Vl(ur,er[ar],0)>-1;);return ar}function N0(er,ur){for(var ar=er.length,Er=0;ar--;)er[ar]===ur&&++Er;return Er}var C0=up(so),A0=up(uo);function W0(er){return"\\"+ga[er]}function x0(er,ur){return er==null?nt:er[ur]}function Nl(er){return Fr.test(er)}function M0(er){return Ur.test(er)}function Z0(er){for(var ur,ar=[];!(ur=er.next()).done;)ar.push(ur.value);return ar}function gp(er){var ur=-1,ar=Array(er.size);return er.forEach(function(Er,Mr){ar[++ur]=[Mr,Er]}),ar}function bU(er,ur){return function(ar){return er(ur(ar))}}function Ms(er,ur){for(var ar=-1,Er=er.length,Mr=0,qr=[];++ar-1}function NQ(Jt,xt){var on=this.__data__,mn=xu(on,Jt);return mn<0?(++this.size,on.push([Jt,xt])):on[mn][1]=xt,this}Ss.prototype.clear=TQ,Ss.prototype.delete=VQ,Ss.prototype.get=wQ,Ss.prototype.has=kQ,Ss.prototype.set=NQ;function ys(Jt){var xt=-1,on=Jt==null?0:Jt.length;for(this.clear();++xt=xt?Jt:xt)),Jt}function es(Jt,xt,on,mn,Nn,On){var Hn,Gn=xt&Xt,rr=xt&Zt,hr=xt&Yt;if(on&&(Hn=Nn?on(Jt,mn,Nn,On):on(Jt)),Hn!==nt)return Hn;if(!go(Jt))return Jt;var fr=Or(Jt);if(fr){if(Hn=Wm(Jt),!Gn)return Mo(Jt,Hn)}else{var gr=Jo(Jt),Br=gr==An||gr==Pn;if(js(Jt))return sF(Jt,Gn);if(gr==Sr||gr==In||Br&&!Nn){if(Hn=rr||Br?{}:EF(Jt),!Gn)return rr?bm(Jt,YQ(Hn,Jt)):vm(Jt,DU(Hn,Jt))}else{if(!Cr[gr])return Nn?Jt:{};Hn=Dm(Jt,gr,Gn)}}On||(On=new cs);var Tr=On.get(Jt);if(Tr)return Tr;On.set(Jt,Hn),t0(Jt)?Jt.forEach(function(Dr){Hn.add(es(Dr,xt,on,Dr,Jt,On))}):qF(Jt)&&Jt.forEach(function(Dr,Hr){Hn.set(Hr,es(Dr,xt,on,Hr,Jt,On))});var Wr=hr?rr?Op:Mp:rr?Zo:Eo,Lr=fr?nt:Wr(Jt);return _a(Lr||Jt,function(Dr,Hr){Lr&&(Hr=Dr,Dr=Jt[Hr]),ru(Hn,Hr,es(Dr,xt,on,Hr,Jt,On))}),Hn}function GQ(Jt){var xt=Eo(Jt);return function(on){return xU(on,Jt,xt)}}function xU(Jt,xt,on){var mn=on.length;if(Jt==null)return!mn;for(Jt=lo(Jt);mn--;){var Nn=on[mn],On=xt[Nn],Hn=Jt[Nn];if(Hn===nt&&!(Nn in Jt)||!On(Hn))return!1}return!0}function MU(Jt,xt,on){if(typeof Jt!="function")throw new xa(Ft);return uu(function(){Jt.apply(nt,on)},xt)}function iu(Jt,xt,on,mn){var Nn=-1,On=Ru,Hn=!0,Gn=Jt.length,rr=[],hr=xt.length;if(!Gn)return rr;on&&(xt=ho(xt,jo(on))),mn?(On=ap,Hn=!1):xt.length>=ot&&(On=$l,Hn=!1,xt=new qs(xt));e:for(;++NnNn?0:Nn+on),mn=mn===nt||mn>Nn?Nn:Zr(mn),mn<0&&(mn+=Nn),mn=on>mn?0:r0(mn);on0&&on(Gn)?xt>1?Vo(Gn,xt-1,on,mn,Nn):xs(Nn,Gn):mn||(Nn[Nn.length]=Gn)}return Nn}var Rp=fF(),IU=fF(!0);function Us(Jt,xt){return Jt&&Rp(Jt,xt,Eo)}function Sp(Jt,xt){return Jt&&IU(Jt,xt,Eo)}function Ou(Jt,xt){return Ds(xt,function(on){return Ts(Jt[on])})}function Fl(Jt,xt){xt=Ls(xt,Jt);for(var on=0,mn=xt.length;Jt!=null&&onxt}function KQ(Jt,xt){return Jt!=null&&ao.call(Jt,xt)}function qQ(Jt,xt){return Jt!=null&&xt in lo(Jt)}function em(Jt,xt,on){return Jt>=Co(xt,on)&&Jt=120&&fr.length>=120)?new qs(Hn&&fr):nt}fr=Jt[0];var gr=-1,Br=Gn[0];e:for(;++gr-1;)Gn!==Jt&&ku.call(Gn,rr,1),ku.call(Jt,rr,1);return Jt}function qU(Jt,xt){for(var on=Jt?xt.length:0,mn=on-1;on--;){var Nn=xt[on];if(on==mn||Nn!==On){var On=Nn;_s(Nn)?ku.call(Jt,Nn,1):Np(Jt,Nn)}}return Jt}function Vp(Jt,xt){return Jt+Ju(CU()*(xt-Jt+1))}function fm(Jt,xt,on,mn){for(var Nn=-1,On=vo(Cu((xt-Jt)/(on||1)),0),Hn=ar(On);On--;)Hn[mn?On:++Nn]=Jt,Jt+=on;return Hn}function wp(Jt,xt){var on="";if(!Jt||xt<1||xt>Sn)return on;do xt%2&&(on+=Jt),xt=Ju(xt/2),xt&&(Jt+=Jt);while(xt);return on}function zr(Jt,xt){return Hp(VF(Jt,xt,Io),Jt+"")}function gm(Jt){return WU(Ll(Jt))}function pm(Jt,xt){var on=Ll(Jt);return $u(on,Ul(xt,0,on.length))}function su(Jt,xt,on,mn){if(!go(Jt))return Jt;xt=Ls(xt,Jt);for(var Nn=-1,On=xt.length,Hn=On-1,Gn=Jt;Gn!=null&&++NnNn?0:Nn+xt),on=on>Nn?Nn:on,on<0&&(on+=Nn),Nn=xt>on?0:on-xt>>>0,xt>>>=0;for(var On=ar(Nn);++mn>>1,Hn=Jt[On];Hn!==null&&!Ho(Hn)&&(on?Hn<=xt:Hn=ot){var hr=xt?null:Vm(Jt);if(hr)return yu(hr);Hn=!1,Nn=$l,rr=new qs}else rr=xt?[]:Gn;e:for(;++mn=mn?Jt:ts(Jt,xt,on)}var aF=aQ||function(Jt){return To.clearTimeout(Jt)};function sF(Jt,xt){if(xt)return Jt.slice();var on=Jt.length,mn=TU?TU(on):new Jt.constructor(on);return Jt.copy(mn),mn}function Wp(Jt){var xt=new Jt.constructor(Jt.byteLength);return new Vu(xt).set(new Vu(Jt)),xt}function Bm(Jt,xt){var on=xt?Wp(Jt.buffer):Jt.buffer;return new Jt.constructor(on,Jt.byteOffset,Jt.byteLength)}function Rm(Jt){var xt=new Jt.constructor(Jt.source,So.exec(Jt));return xt.lastIndex=Jt.lastIndex,xt}function Sm(Jt){return nu?lo(nu.call(Jt)):{}}function lF(Jt,xt){var on=xt?Wp(Jt.buffer):Jt.buffer;return new Jt.constructor(on,Jt.byteOffset,Jt.length)}function cF(Jt,xt){if(Jt!==xt){var on=Jt!==nt,mn=Jt===null,Nn=Jt===Jt,On=Ho(Jt),Hn=xt!==nt,Gn=xt===null,rr=xt===xt,hr=Ho(xt);if(!Gn&&!hr&&!On&&Jt>xt||On&&Hn&&rr&&!Gn&&!hr||mn&&Hn&&rr||!on&&rr||!Nn)return 1;if(!mn&&!On&&!hr&&Jt=Gn)return rr;var hr=on[mn];return rr*(hr=="desc"?-1:1)}}return Jt.index-xt.index}function uF(Jt,xt,on,mn){for(var Nn=-1,On=Jt.length,Hn=on.length,Gn=-1,rr=xt.length,hr=vo(On-Hn,0),fr=ar(rr+hr),gr=!mn;++Gn1?on[Nn-1]:nt,Hn=Nn>2?on[2]:nt;for(On=Jt.length>3&&typeof On=="function"?(Nn--,On):nt,Hn&&Do(on[0],on[1],Hn)&&(On=Nn<3?nt:On,Nn=1),xt=lo(xt);++mn-1?Nn[On?xt[Hn]:Hn]:nt}}function UF(Jt){return Es(function(xt){var on=xt.length,mn=on,Nn=$a.prototype.thru;for(Jt&&xt.reverse();mn--;){var On=xt[mn];if(typeof On!="function")throw new xa(Ft);if(Nn&&!Hn&&Gu(On)=="wrapper")var Hn=new $a([],!0)}for(mn=Hn?mn:on;++mn1&&Xr.reverse(),fr&&rrGn))return!1;var hr=On.get(Jt),fr=On.get(xt);if(hr&&fr)return hr==xt&&fr==Jt;var gr=-1,Br=!0,Tr=on&Gt?new qs:nt;for(On.set(Jt,xt),On.set(xt,Jt);++gr1?"& ":"")+xt[mn],xt=xt.join(on>2?", ":" "),Jt.replace(nr,`{ -/* [wrapped with `+xt+`] */ -`)}function Mm(Jt){return Or(Jt)||Rl(Jt)||!!(kU&&Jt&&Jt[kU])}function _s(Jt,xt){var on=typeof Jt;return xt=xt??Sn,!!xt&&(on=="number"||on!="symbol"&&Qo.test(Jt))&&Jt>-1&&Jt%1==0&&Jt0){if(++xt>=un)return arguments[0]}else xt=0;return Jt.apply(nt,arguments)}}function $u(Jt,xt){var on=-1,mn=Jt.length,Nn=mn-1;for(xt=xt===nt?mn:xt;++on1?Jt[xt-1]:nt;return on=typeof on=="function"?(Jt.pop(),on):nt,ZF(Jt,on)});function IF(Jt){var xt=xn(Jt);return xt.__chain__=!0,xt}function XB(Jt,xt){return xt(Jt),Jt}function Ku(Jt,xt){return xt(Jt)}var $B=Es(function(Jt){var xt=Jt.length,on=xt?Jt[0]:0,mn=this.__wrapped__,Nn=function(On){return Bp(On,Jt)};return xt>1||this.__actions__.length||!(mn instanceof Yr)||!_s(on)?this.thru(Nn):(mn=mn.slice(on,+on+(xt?1:0)),mn.__actions__.push({func:Ku,args:[Nn],thisArg:nt}),new $a(mn,this.__chain__).thru(function(On){return xt&&!On.length&&On.push(nt),On}))});function KB(){return IF(this)}function qB(){return new $a(this.value(),this.__chain__)}function eR(){this.__values__===nt&&(this.__values__=n0(this.value()));var Jt=this.__index__>=this.__values__.length,xt=Jt?nt:this.__values__[this.__index__++];return{done:Jt,value:xt}}function tR(){return this}function nR(Jt){for(var xt,on=this;on instanceof Du;){var mn=AF(on);mn.__index__=0,mn.__values__=nt,xt?Nn.__wrapped__=mn:xt=mn;var Nn=mn;on=on.__wrapped__}return Nn.__wrapped__=Jt,xt}function rR(){var Jt=this.__wrapped__;if(Jt instanceof Yr){var xt=Jt;return this.__actions__.length&&(xt=new Yr(this)),xt=xt.reverse(),xt.__actions__.push({func:Ku,args:[Yp],thisArg:nt}),new $a(xt,this.__chain__)}return this.thru(Yp)}function iR(){return iF(this.__wrapped__,this.__actions__)}var oR=Pu(function(Jt,xt,on){ao.call(Jt,on)?++Jt[on]:vs(Jt,on,1)});function aR(Jt,xt,on){var mn=Or(Jt)?FU:XQ;return on&&Do(Jt,xt,on)&&(xt=nt),mn(Jt,Jr(xt,3))}function sR(Jt,xt){var on=Or(Jt)?Ds:ZU;return on(Jt,Jr(xt,3))}var lR=pF(WF),cR=pF(DF);function uR(Jt,xt){return Vo(qu(Jt,xt),1)}function dR(Jt,xt){return Vo(qu(Jt,xt),Rn)}function hR(Jt,xt,on){return on=on===nt?1:Zr(on),Vo(qu(Jt,xt),on)}function LF(Jt,xt){var on=Or(Jt)?_a:Zs;return on(Jt,Jr(xt,3))}function PF(Jt,xt){var on=Or(Jt)?v0:OU;return on(Jt,Jr(xt,3))}var fR=Pu(function(Jt,xt,on){ao.call(Jt,on)?Jt[on].push(xt):vs(Jt,on,[xt])});function gR(Jt,xt,on,mn){Jt=Oo(Jt)?Jt:Ll(Jt),on=on&&!mn?Zr(on):0;var Nn=Jt.length;return on<0&&(on=vo(Nn+on,0)),ep(Jt)?on<=Nn&&Jt.indexOf(xt,on)>-1:!!Nn&&Vl(Jt,xt,on)>-1}var pR=zr(function(Jt,xt,on){var mn=-1,Nn=typeof xt=="function",On=Oo(Jt)?ar(Jt.length):[];return Zs(Jt,function(Hn){On[++mn]=Nn?Po(xt,Hn,on):ou(Hn,xt,on)}),On}),UR=Pu(function(Jt,xt,on){vs(Jt,on,xt)});function qu(Jt,xt){var on=Or(Jt)?ho:HU;return on(Jt,Jr(xt,3))}function FR(Jt,xt,on,mn){return Jt==null?[]:(Or(xt)||(xt=xt==null?[]:[xt]),on=mn?nt:on,Or(on)||(on=on==null?[]:[on]),$U(Jt,xt,on))}var QR=Pu(function(Jt,xt,on){Jt[on?0:1].push(xt)},function(){return[[],[]]});function mR(Jt,xt,on){var mn=Or(Jt)?sp:RU,Nn=arguments.length<3;return mn(Jt,Jr(xt,4),on,Nn,Zs)}function BR(Jt,xt,on){var mn=Or(Jt)?b0:RU,Nn=arguments.length<3;return mn(Jt,Jr(xt,4),on,Nn,OU)}function RR(Jt,xt){var on=Or(Jt)?Ds:ZU;return on(Jt,_f(Jr(xt,3)))}function SR(Jt){var xt=Or(Jt)?WU:gm;return xt(Jt)}function yR(Jt,xt,on){(on?Do(Jt,xt,on):xt===nt)?xt=1:xt=Zr(xt);var mn=Or(Jt)?jQ:pm;return mn(Jt,xt)}function vR(Jt){var xt=Or(Jt)?zQ:Fm;return xt(Jt)}function bR(Jt){if(Jt==null)return 0;if(Oo(Jt))return ep(Jt)?Cl(Jt):Jt.length;var xt=Jo(Jt);return xt==jn||xt==Rr?Jt.size:Ep(Jt).length}function ER(Jt,xt,on){var mn=Or(Jt)?lp:Qm;return on&&Do(Jt,xt,on)&&(xt=nt),mn(Jt,Jr(xt,3))}var _R=zr(function(Jt,xt){if(Jt==null)return[];var on=xt.length;return on>1&&Do(Jt,xt[0],xt[1])?xt=[]:on>2&&Do(xt[0],xt[1],xt[2])&&(xt=[xt[0]]),$U(Jt,Vo(xt,1),[])}),_d=sQ||function(){return To.Date.now()};function TR(Jt,xt){if(typeof xt!="function")throw new xa(Ft);return Jt=Zr(Jt),function(){if(--Jt<1)return xt.apply(this,arguments)}}function jF(Jt,xt,on){return xt=on?nt:xt,xt=Jt&&xt==null?Jt.length:xt,bs(Jt,Qn,nt,nt,nt,nt,xt)}function zF(Jt,xt){var on;if(typeof xt!="function")throw new xa(Ft);return Jt=Zr(Jt),function(){return--Jt>0&&(on=xt.apply(this,arguments)),Jt<=1&&(xt=nt),on}}var Xp=zr(function(Jt,xt,on){var mn=en;if(on.length){var Nn=Ms(on,Zl(Xp));mn|=Kt}return bs(Jt,mn,xt,on,Nn)}),HF=zr(function(Jt,xt,on){var mn=en|tn;if(on.length){var Nn=Ms(on,Zl(HF));mn|=Kt}return bs(xt,mn,Jt,on,Nn)});function YF(Jt,xt,on){xt=on?nt:xt;var mn=bs(Jt,nn,nt,nt,nt,nt,nt,xt);return mn.placeholder=YF.placeholder,mn}function GF(Jt,xt,on){xt=on?nt:xt;var mn=bs(Jt,sn,nt,nt,nt,nt,nt,xt);return mn.placeholder=GF.placeholder,mn}function XF(Jt,xt,on){var mn,Nn,On,Hn,Gn,rr,hr=0,fr=!1,gr=!1,Br=!0;if(typeof Jt!="function")throw new xa(Ft);xt=rs(xt)||0,go(on)&&(fr=!!on.leading,gr="maxWait"in on,On=gr?vo(rs(on.maxWait)||0,xt):On,Br="trailing"in on?!!on.trailing:Br);function Tr(Bo){var ds=mn,ws=Nn;return mn=Nn=nt,hr=Bo,Hn=Jt.apply(ws,ds),Hn}function Wr(Bo){return hr=Bo,Gn=uu(Hr,xt),fr?Tr(Bo):Hn}function Lr(Bo){var ds=Bo-rr,ws=Bo-hr,m0=xt-ds;return gr?Co(m0,On-ws):m0}function Dr(Bo){var ds=Bo-rr,ws=Bo-hr;return rr===nt||ds>=xt||ds<0||gr&&ws>=On}function Hr(){var Bo=_d();if(Dr(Bo))return Xr(Bo);Gn=uu(Hr,Lr(Bo))}function Xr(Bo){return Gn=nt,Br&&mn?Tr(Bo):(mn=Nn=nt,Hn)}function Yo(){Gn!==nt&&aF(Gn),hr=0,mn=rr=Nn=Gn=nt}function xo(){return Gn===nt?Hn:Xr(_d())}function Go(){var Bo=_d(),ds=Dr(Bo);if(mn=arguments,Nn=this,rr=Bo,ds){if(Gn===nt)return Wr(rr);if(gr)return aF(Gn),Gn=uu(Hr,xt),Tr(rr)}return Gn===nt&&(Gn=uu(Hr,xt)),Hn}return Go.cancel=Yo,Go.flush=xo,Go}var VR=zr(function(Jt,xt){return MU(Jt,1,xt)}),wR=zr(function(Jt,xt,on){return MU(Jt,rs(xt)||0,on)});function kR(Jt){return bs(Jt,an)}function _h(Jt,xt){if(typeof Jt!="function"||xt!=null&&typeof xt!="function")throw new xa(Ft);var on=function(){var mn=arguments,Nn=xt?xt.apply(this,mn):mn[0],On=on.cache;if(On.has(Nn))return On.get(Nn);var Hn=Jt.apply(this,mn);return on.cache=On.set(Nn,Hn)||On,Hn};return on.cache=new(_h.Cache||ys),on}_h.Cache=ys;function _f(Jt){if(typeof Jt!="function")throw new xa(Ft);return function(){var xt=arguments;switch(xt.length){case 0:return!Jt.call(this);case 1:return!Jt.call(this,xt[0]);case 2:return!Jt.call(this,xt[0],xt[1]);case 3:return!Jt.call(this,xt[0],xt[1],xt[2])}return!Jt.apply(this,xt)}}function NR(Jt){return zF(2,Jt)}var CR=mm(function(Jt,xt){xt=xt.length==1&&Or(xt[0])?ho(xt[0],jo(Jr())):ho(Vo(xt,1),jo(Jr()));var on=xt.length;return zr(function(mn){for(var Nn=-1,On=Co(mn.length,on);++Nn=xt}),Rl=PU(function(){return arguments}())?PU:function(Jt){return Uo(Jt)&&ao.call(Jt,"callee")&&!wU.call(Jt,"callee")},Or=ar.isArray,YR=dU?jo(dU):nm;function Oo(Jt){return Jt!=null&&_g(Jt.length)&&!Ts(Jt)}function mo(Jt){return Uo(Jt)&&Oo(Jt)}function GR(Jt){return Jt===!0||Jt===!1||Uo(Jt)&&Wo(Jt)==hn}var js=cQ||lU,XR=hU?jo(hU):rm;function $R(Jt){return Uo(Jt)&&Jt.nodeType===1&&!du(Jt)}function KR(Jt){if(Jt==null)return!0;if(Oo(Jt)&&(Or(Jt)||typeof Jt=="string"||typeof Jt.splice=="function"||js(Jt)||Il(Jt)||Rl(Jt)))return!Jt.length;var xt=Jo(Jt);if(xt==jn||xt==Rr)return!Jt.size;if(cu(Jt))return!Ep(Jt).length;for(var on in Jt)if(ao.call(Jt,on))return!1;return!0}function qR(Jt,xt){return au(Jt,xt)}function eS(Jt,xt,on){on=typeof on=="function"?on:nt;var mn=on?on(Jt,xt):nt;return mn===nt?au(Jt,xt,nt,on):!!mn}function Kp(Jt){if(!Uo(Jt))return!1;var xt=Wo(Jt);return xt==Wn||xt==wn||typeof Jt.message=="string"&&typeof Jt.name=="string"&&!du(Jt)}function tS(Jt){return typeof Jt=="number"&&NU(Jt)}function Ts(Jt){if(!go(Jt))return!1;var xt=Wo(Jt);return xt==An||xt==Pn||xt==kn||xt==Ir}function KF(Jt){return typeof Jt=="number"&&Jt==Zr(Jt)}function _g(Jt){return typeof Jt=="number"&&Jt>-1&&Jt%1==0&&Jt<=Sn}function go(Jt){var xt=typeof Jt;return Jt!=null&&(xt=="object"||xt=="function")}function Uo(Jt){return Jt!=null&&typeof Jt=="object"}var qF=fU?jo(fU):om;function nS(Jt,xt){return Jt===xt||bp(Jt,xt,Ip(xt))}function rS(Jt,xt,on){return on=typeof on=="function"?on:nt,bp(Jt,xt,Ip(xt),on)}function iS(Jt){return e0(Jt)&&Jt!=+Jt}function oS(Jt){if(Im(Jt))throw new Mr(Ut);return jU(Jt)}function aS(Jt){return Jt===null}function sS(Jt){return Jt==null}function e0(Jt){return typeof Jt=="number"||Uo(Jt)&&Wo(Jt)==$n}function du(Jt){if(!Uo(Jt)||Wo(Jt)!=Sr)return!1;var xt=wu(Jt);if(xt===null)return!0;var on=ao.call(xt,"constructor")&&xt.constructor;return typeof on=="function"&&on instanceof on&&Eu.call(on)==rQ}var qp=gU?jo(gU):am;function lS(Jt){return KF(Jt)&&Jt>=-Sn&&Jt<=Sn}var t0=pU?jo(pU):sm;function ep(Jt){return typeof Jt=="string"||!Or(Jt)&&Uo(Jt)&&Wo(Jt)==wr}function Ho(Jt){return typeof Jt=="symbol"||Uo(Jt)&&Wo(Jt)==br}var Il=UU?jo(UU):lm;function cS(Jt){return Jt===nt}function uS(Jt){return Uo(Jt)&&Jo(Jt)==kr}function dS(Jt){return Uo(Jt)&&Wo(Jt)==_i}var hS=Yu(_p),fS=Yu(function(Jt,xt){return Jt<=xt});function n0(Jt){if(!Jt)return[];if(Oo(Jt))return ep(Jt)?ls(Jt):Mo(Jt);if(Kl&&Jt[Kl])return Z0(Jt[Kl]());var xt=Jo(Jt),on=xt==jn?gp:xt==Rr?yu:Ll;return on(Jt)}function Vs(Jt){if(!Jt)return Jt===0?Jt:0;if(Jt=rs(Jt),Jt===Rn||Jt===-Rn){var xt=Jt<0?-1:1;return xt*fn}return Jt===Jt?Jt:0}function Zr(Jt){var xt=Vs(Jt),on=xt%1;return xt===xt?on?xt-on:xt:0}function r0(Jt){return Jt?Ul(Zr(Jt),0,bn):0}function rs(Jt){if(typeof Jt=="number")return Jt;if(Ho(Jt))return cn;if(go(Jt)){var xt=typeof Jt.valueOf=="function"?Jt.valueOf():Jt;Jt=go(xt)?xt+"":xt}if(typeof Jt!="string")return Jt===0?Jt:+Jt;Jt=SU(Jt);var on=eo.test(Jt);return on||po.test(Jt)?B0(Jt.slice(2),on?2:8):Lo.test(Jt)?cn:+Jt}function o0(Jt){return Fs(Jt,Zo(Jt))}function gS(Jt){return Jt?Ul(Zr(Jt),-Sn,Sn):Jt===0?Jt:0}function ro(Jt){return Jt==null?"":zo(Jt)}var pS=Ml(function(Jt,xt){if(cu(xt)||Oo(xt)){Fs(xt,Eo(xt),Jt);return}for(var on in xt)ao.call(xt,on)&&ru(Jt,on,xt[on])}),a0=Ml(function(Jt,xt){Fs(xt,Zo(xt),Jt)}),tp=Ml(function(Jt,xt,on,mn){Fs(xt,Zo(xt),Jt,mn)}),US=Ml(function(Jt,xt,on,mn){Fs(xt,Eo(xt),Jt,mn)}),FS=Es(Bp);function QS(Jt,xt){var on=xl(Jt);return xt==null?on:DU(on,xt)}var mS=zr(function(Jt,xt){Jt=lo(Jt);var on=-1,mn=xt.length,Nn=mn>2?xt[2]:nt;for(Nn&&Do(xt[0],xt[1],Nn)&&(mn=1);++on1),On}),Fs(Jt,Op(Jt),on),mn&&(on=es(on,Xt|Zt|Yt,wm));for(var Nn=xt.length;Nn--;)Np(on,xt[Nn]);return on});function DS(Jt,xt){return u0(Jt,_f(Jr(xt)))}var xS=Es(function(Jt,xt){return Jt==null?{}:dm(Jt,xt)});function u0(Jt,xt){if(Jt==null)return{};var on=ho(Op(Jt),function(mn){return[mn]});return xt=Jr(xt),KU(Jt,on,function(mn,Nn){return xt(mn,Nn[0])})}function ZS(Jt,xt,on){xt=Ls(xt,Jt);var mn=-1,Nn=xt.length;for(Nn||(Nn=1,Jt=nt);++mnxt){var mn=Jt;Jt=xt,xt=mn}if(on||Jt%1||xt%1){var Nn=CU();return Co(Jt+Nn*(xt-Jt+Ws("1e-"+((Nn+"").length-1))),xt)}return Vp(Jt,xt)}var KS=Ol(function(Jt,xt,on){return xt=xt.toLowerCase(),Jt+(on?g0(xt):xt)});function g0(Jt){return nU(ro(Jt).toLowerCase())}function p0(Jt){return Jt=ro(Jt),Jt&&Jt.replace(Ro,C0).replace(lr,"")}function qS(Jt,xt,on){Jt=ro(Jt),xt=zo(xt);var mn=Jt.length;on=on===nt?mn:Ul(Zr(on),0,mn);var Nn=on;return on-=xt.length,on>=0&&Jt.slice(on,Nn)==xt}function ey(Jt){return Jt=ro(Jt),Jt&&io.test(Jt)?Jt.replace(Ao,A0):Jt}function ty(Jt){return Jt=ro(Jt),Jt&&tr.test(Jt)?Jt.replace(Xn,"\\$&"):Jt}var ny=Ol(function(Jt,xt,on){return Jt+(on?"-":"")+xt.toLowerCase()}),ry=Ol(function(Jt,xt,on){return Jt+(on?" ":"")+xt.toLowerCase()}),iy=gF("toLowerCase");function oy(Jt,xt,on){Jt=ro(Jt),xt=Zr(xt);var mn=xt?Cl(Jt):0;if(!xt||mn>=xt)return Jt;var Nn=(xt-mn)/2;return Hu(Ju(Nn),on)+Jt+Hu(Cu(Nn),on)}function ay(Jt,xt,on){Jt=ro(Jt),xt=Zr(xt);var mn=xt?Cl(Jt):0;return xt&&mn>>0,on?(Jt=ro(Jt),Jt&&(typeof xt=="string"||xt!=null&&!qp(xt))&&(xt=zo(xt),!xt&&Nl(Jt))?Ps(ls(Jt),0,on):Jt.split(xt,on)):[]}var fy=Ol(function(Jt,xt,on){return Jt+(on?" ":"")+nU(xt)});function gy(Jt,xt,on){return Jt=ro(Jt),on=on==null?0:Ul(Zr(on),0,Jt.length),xt=zo(xt),Jt.slice(on,on+xt.length)==xt}function py(Jt,xt,on){var mn=xn.templateSettings;on&&Do(Jt,xt,on)&&(xt=nt),Jt=ro(Jt),xt=tp({},xt,mn,RF);var Nn=tp({},xt.imports,mn.imports,RF),On=Eo(Nn),Hn=fp(Nn,On),Gn,rr,hr=0,fr=xt.interpolate||no,gr="__p += '",Br=pp((xt.escape||no).source+"|"+fr.source+"|"+(fr===yn?Fo:no).source+"|"+(xt.evaluate||no).source+"|$","g"),Tr="//# sourceURL="+(ao.call(xt,"sourceURL")?(xt.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Kr+"]")+` -`;Jt.replace(Br,function(Dr,Hr,Xr,Yo,xo,Go){return Xr||(Xr=Yo),gr+=Jt.slice(hr,Go).replace(Ko,W0),Hr&&(Gn=!0,gr+=`' + -__e(`+Hr+`) + -'`),xo&&(rr=!0,gr+=`'; -`+xo+`; -__p += '`),Xr&&(gr+=`' + -((__t = (`+Xr+`)) == null ? '' : __t) + -'`),hr=Go+Dr.length,Dr}),gr+=`'; -`;var Wr=ao.call(xt,"variable")&&xt.variable;if(!Wr)gr=`with (obj) { -`+gr+` -} -`;else if(Gr.test(Wr))throw new Mr(Qt);gr=(rr?gr.replace(hs,""):gr).replace(zs,"$1").replace(ks,"$1;"),gr="function("+(Wr||"obj")+`) { -`+(Wr?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(Gn?", __e = _.escape":"")+(rr?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+gr+`return __p -}`;var Lr=F0(function(){return qr(On,Tr+"return "+gr).apply(nt,Hn)});if(Lr.source=gr,Kp(Lr))throw Lr;return Lr}function Uy(Jt){return ro(Jt).toLowerCase()}function Fy(Jt){return ro(Jt).toUpperCase()}function Qy(Jt,xt,on){if(Jt=ro(Jt),Jt&&(on||xt===nt))return SU(Jt);if(!Jt||!(xt=zo(xt)))return Jt;var mn=ls(Jt),Nn=ls(xt),On=yU(mn,Nn),Hn=vU(mn,Nn)+1;return Ps(mn,On,Hn).join("")}function my(Jt,xt,on){if(Jt=ro(Jt),Jt&&(on||xt===nt))return Jt.slice(0,EU(Jt)+1);if(!Jt||!(xt=zo(xt)))return Jt;var mn=ls(Jt),Nn=vU(mn,ls(xt))+1;return Ps(mn,0,Nn).join("")}function By(Jt,xt,on){if(Jt=ro(Jt),Jt&&(on||xt===nt))return Jt.replace(sr,"");if(!Jt||!(xt=zo(xt)))return Jt;var mn=ls(Jt),Nn=yU(mn,ls(xt));return Ps(mn,Nn).join("")}function Ry(Jt,xt){var on=rn,mn=gn;if(go(xt)){var Nn="separator"in xt?xt.separator:Nn;on="length"in xt?Zr(xt.length):on,mn="omission"in xt?zo(xt.omission):mn}Jt=ro(Jt);var On=Jt.length;if(Nl(Jt)){var Hn=ls(Jt);On=Hn.length}if(on>=On)return Jt;var Gn=on-Cl(mn);if(Gn<1)return mn;var rr=Hn?Ps(Hn,0,Gn).join(""):Jt.slice(0,Gn);if(Nn===nt)return rr+mn;if(Hn&&(Gn+=rr.length-Gn),qp(Nn)){if(Jt.slice(Gn).search(Nn)){var hr,fr=rr;for(Nn.global||(Nn=pp(Nn.source,ro(So.exec(Nn))+"g")),Nn.lastIndex=0;hr=Nn.exec(fr);)var gr=hr.index;rr=rr.slice(0,gr===nt?Gn:gr)}}else if(Jt.indexOf(zo(Nn),Gn)!=Gn){var Br=rr.lastIndexOf(Nn);Br>-1&&(rr=rr.slice(0,Br))}return rr+mn}function Sy(Jt){return Jt=ro(Jt),Jt&&Hs.test(Jt)?Jt.replace(ms,z0):Jt}var yy=Ol(function(Jt,xt,on){return Jt+(on?" ":"")+xt.toUpperCase()}),nU=gF("toUpperCase");function U0(Jt,xt,on){return Jt=ro(Jt),xt=on?nt:xt,xt===nt?M0(Jt)?$0(Jt):T0(Jt):Jt.match(xt)||[]}var F0=zr(function(Jt,xt){try{return Po(Jt,nt,xt)}catch(on){return Kp(on)?on:new Mr(on)}}),vy=Es(function(Jt,xt){return _a(xt,function(on){on=Qs(on),vs(Jt,on,Xp(Jt[on],Jt))}),Jt});function by(Jt){var xt=Jt==null?0:Jt.length,on=Jr();return Jt=xt?ho(Jt,function(mn){if(typeof mn[1]!="function")throw new xa(Ft);return[on(mn[0]),mn[1]]}):[],zr(function(mn){for(var Nn=-1;++NnSn)return[];var on=bn,mn=Co(Jt,bn);xt=Jr(xt),Jt-=bn;for(var Nn=hp(mn,xt);++on0||xt<0)?new Yr(on):(Jt<0?on=on.takeRight(-Jt):Jt&&(on=on.drop(Jt)),xt!==nt&&(xt=Zr(xt),on=xt<0?on.dropRight(-xt):on.take(xt-Jt)),on)},Yr.prototype.takeRightWhile=function(Jt){return this.reverse().takeWhile(Jt).reverse()},Yr.prototype.toArray=function(){return this.take(bn)},Us(Yr.prototype,function(Jt,xt){var on=/^(?:filter|find|map|reject)|While$/.test(xt),mn=/^(?:head|last)$/.test(xt),Nn=xn[mn?"take"+(xt=="last"?"Right":""):xt],On=mn||/^find/.test(xt);Nn&&(xn.prototype[xt]=function(){var Hn=this.__wrapped__,Gn=mn?[1]:arguments,rr=Hn instanceof Yr,hr=Gn[0],fr=rr||Or(Hn),gr=function(Hr){var Xr=Nn.apply(xn,xs([Hr],Gn));return mn&&Br?Xr[0]:Xr};fr&&on&&typeof hr=="function"&&hr.length!=1&&(rr=fr=!1);var Br=this.__chain__,Tr=!!this.__actions__.length,Wr=On&&!Br,Lr=rr&&!Tr;if(!On&&fr){Hn=Lr?Hn:new Yr(this);var Dr=Jt.apply(Hn,Gn);return Dr.__actions__.push({func:Ku,args:[gr],thisArg:nt}),new $a(Dr,Br)}return Wr&&Lr?Jt.apply(this,Gn):(Dr=this.thru(gr),Wr?mn?Dr.value()[0]:Dr.value():Dr)})}),_a(["pop","push","shift","sort","splice","unshift"],function(Jt){var xt=vu[Jt],on=/^(?:push|sort|unshift)$/.test(Jt)?"tap":"thru",mn=/^(?:pop|shift)$/.test(Jt);xn.prototype[Jt]=function(){var Nn=arguments;if(mn&&!this.__chain__){var On=this.value();return xt.apply(Or(On)?On:[],Nn)}return this[on](function(Hn){return xt.apply(Or(Hn)?Hn:[],Nn)})}}),Us(Yr.prototype,function(Jt,xt){var on=xn[xt];if(on){var mn=on.name+"";ao.call(Dl,mn)||(Dl[mn]=[]),Dl[mn].push({name:xt,func:on})}}),Dl[ju(nt,tn).name]=[{name:"wrapper",func:nt}],Yr.prototype.clone=BQ,Yr.prototype.reverse=RQ,Yr.prototype.value=SQ,xn.prototype.at=$B,xn.prototype.chain=KB,xn.prototype.commit=qB,xn.prototype.next=eR,xn.prototype.plant=nR,xn.prototype.reverse=rR,xn.prototype.toJSON=xn.prototype.valueOf=xn.prototype.value=iR,xn.prototype.first=xn.prototype.head,Kl&&(xn.prototype[Kl]=tR),xn},Jl=q0();Xs?((Xs.exports=Jl)._=Jl,ip._=Jl):To._=Jl}).call(commonjsGlobal)})(lodash,lodashExports);var lib={},uaParser_minExports={},uaParser_min={get exports(){return uaParser_minExports},set exports(et){uaParser_minExports=et}};(function(et,tt){(function(nt,it){var ot="0.7.33",Ut="",Ft="?",Qt="function",Bt="undefined",Vt="object",Wt="string",Xt="major",Zt="model",Yt="name",Mt="type",Gt="vendor",en="version",tn="architecture",ln="console",nn="mobile",sn="tablet",Kt="smarttv",dn="wearable",Qn="embedded",En=350,an="Amazon",rn="Apple",gn="ASUS",un="BlackBerry",Un="Browser",_n="Chrome",vn="Edge",pn="Firefox",Rn="Google",Sn="Huawei",fn="LG",cn="Microsoft",bn="Motorola",Vn="Opera",Mn="Samsung",Zn="Sharp",In="Sony",Cn="Xiaomi",kn="Zebra",hn="Facebook",Fn=function(br,Nr){var kr={};for(var _i in br)Nr[_i]&&Nr[_i].length%2===0?kr[_i]=Nr[_i].concat(br[_i]):kr[_i]=br[_i];return kr},wn=function(br){for(var Nr={},kr=0;kr0?Pr.length===2?typeof Pr[1]==Qt?this[Pr[0]]=Pr[1].call(this,fo):this[Pr[0]]=Pr[1]:Pr.length===3?typeof Pr[1]===Qt&&!(Pr[1].exec&&Pr[1].test)?this[Pr[0]]=fo?Pr[1].call(this,fo,Pr[2]):it:this[Pr[0]]=fo?fo.replace(Pr[1],Pr[2]):it:Pr.length===4&&(this[Pr[0]]=fo?Pr[3].call(this,fo.replace(Pr[1],Pr[2])):it):this[Pr]=fo||it;kr+=2}},pr=function(br,Nr){for(var kr in Nr)if(typeof Nr[kr]===Vt&&Nr[kr].length>0){for(var _i=0;_iEn?jn(Ar,En):Ar,this},this.setUA(kr),this};yr.VERSION=ot,yr.BROWSER=wn([Yt,en,Xt]),yr.CPU=wn([tn]),yr.DEVICE=wn([Zt,Gt,Mt,ln,nn,Kt,sn,dn,Qn]),yr.ENGINE=yr.OS=wn([Yt,en]),et.exports&&(tt=et.exports=yr),tt.UAParser=yr;var Rr=typeof nt!==Bt&&(nt.jQuery||nt.Zepto);if(Rr&&!Rr.ua){var wr=new yr;Rr.ua=wr.getResult(),Rr.ua.get=function(){return wr.getUA()},Rr.ua.set=function(br){wr.setUA(br);var Nr=wr.getResult();for(var kr in Nr)Rr.ua[kr]=Nr[kr]}}})(typeof window=="object"?window:commonjsGlobal)})(uaParser_min,uaParser_minExports);Object.defineProperty(lib,"__esModule",{value:!0});function _interopDefault(et){return et&&typeof et=="object"&&"default"in et?et.default:et}var React=reactExports,React__default=_interopDefault(React),UAParser=uaParser_minExports,ClientUAInstance=new UAParser,browser=ClientUAInstance.getBrowser(),cpu=ClientUAInstance.getCPU(),device=ClientUAInstance.getDevice(),engine=ClientUAInstance.getEngine(),os=ClientUAInstance.getOS(),ua=ClientUAInstance.getUA(),setUa=function et(tt){return ClientUAInstance.setUA(tt)},parseUserAgent=function et(tt){if(!tt){console.error("No userAgent string was provided");return}var nt=new UAParser(tt);return{UA:nt,browser:nt.getBrowser(),cpu:nt.getCPU(),device:nt.getDevice(),engine:nt.getEngine(),os:nt.getOS(),ua:nt.getUA(),setUserAgent:function(ot){return nt.setUA(ot)}}},UAHelper=Object.freeze({ClientUAInstance,browser,cpu,device,engine,os,ua,setUa,parseUserAgent});function ownKeys(et,tt){var nt=Object.keys(et);if(Object.getOwnPropertySymbols){var it=Object.getOwnPropertySymbols(et);tt&&(it=it.filter(function(ot){return Object.getOwnPropertyDescriptor(et,ot).enumerable})),nt.push.apply(nt,it)}return nt}function _objectSpread2(et){for(var tt=1;tt=0)&&(nt[ot]=et[ot]);return nt}function _objectWithoutProperties(et,tt){if(et==null)return{};var nt=_objectWithoutPropertiesLoose(et,tt),it,ot;if(Object.getOwnPropertySymbols){var Ut=Object.getOwnPropertySymbols(et);for(ot=0;ot=0)&&Object.prototype.propertyIsEnumerable.call(et,it)&&(nt[it]=et[it])}return nt}function _assertThisInitialized(et){if(et===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return et}function _possibleConstructorReturn(et,tt){if(tt&&(typeof tt=="object"||typeof tt=="function"))return tt;if(tt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(et)}function _slicedToArray(et,tt){return _arrayWithHoles(et)||_iterableToArrayLimit(et,tt)||_unsupportedIterableToArray(et,tt)||_nonIterableRest()}function _arrayWithHoles(et){if(Array.isArray(et))return et}function _iterableToArrayLimit(et,tt){var nt=et==null?null:typeof Symbol<"u"&&et[Symbol.iterator]||et["@@iterator"];if(nt!=null){var it=[],ot=!0,Ut=!1,Ft,Qt;try{for(nt=nt.call(et);!(ot=(Ft=nt.next()).done)&&(it.push(Ft.value),!(tt&&it.length===tt));ot=!0);}catch(Bt){Ut=!0,Qt=Bt}finally{try{!ot&&nt.return!=null&&nt.return()}finally{if(Ut)throw Qt}}return it}}function _unsupportedIterableToArray(et,tt){if(et){if(typeof et=="string")return _arrayLikeToArray(et,tt);var nt=Object.prototype.toString.call(et).slice(8,-1);if(nt==="Object"&&et.constructor&&(nt=et.constructor.name),nt==="Map"||nt==="Set")return Array.from(et);if(nt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(nt))return _arrayLikeToArray(et,tt)}}function _arrayLikeToArray(et,tt){(tt==null||tt>et.length)&&(tt=et.length);for(var nt=0,it=new Array(tt);nt1&&arguments[1]!==void 0?arguments[1]:"none";return tt||nt},getNavigatorInstance=function et(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},isIOS13Check=function et(tt){var nt=getNavigatorInstance();return nt&&nt.platform&&(nt.platform.indexOf(tt)!==-1||nt.platform==="MacIntel"&&nt.maxTouchPoints>1&&!window.MSStream)},browserPayload=function et(tt,nt,it,ot,Ut){return{isBrowser:tt,browserMajorVersion:setDefaults(nt.major),browserFullVersion:setDefaults(nt.version),browserName:setDefaults(nt.name),engineName:setDefaults(it.name),engineVersion:setDefaults(it.version),osName:setDefaults(ot.name),osVersion:setDefaults(ot.version),userAgent:setDefaults(Ut)}},mobilePayload=function et(tt,nt,it,ot){return _objectSpread2({},tt,{vendor:setDefaults(nt.vendor),model:setDefaults(nt.model),os:setDefaults(it.name),osVersion:setDefaults(it.version),ua:setDefaults(ot)})},smartTvPayload=function et(tt,nt,it,ot){return{isSmartTV:tt,engineName:setDefaults(nt.name),engineVersion:setDefaults(nt.version),osName:setDefaults(it.name),osVersion:setDefaults(it.version),userAgent:setDefaults(ot)}},consolePayload=function et(tt,nt,it,ot){return{isConsole:tt,engineName:setDefaults(nt.name),engineVersion:setDefaults(nt.version),osName:setDefaults(it.name),osVersion:setDefaults(it.version),userAgent:setDefaults(ot)}},wearablePayload=function et(tt,nt,it,ot){return{isWearable:tt,engineName:setDefaults(nt.name),engineVersion:setDefaults(nt.version),osName:setDefaults(it.name),osVersion:setDefaults(it.version),userAgent:setDefaults(ot)}},embeddedPayload=function et(tt,nt,it,ot,Ut){return{isEmbedded:tt,vendor:setDefaults(nt.vendor),model:setDefaults(nt.model),engineName:setDefaults(it.name),engineVersion:setDefaults(it.version),osName:setDefaults(ot.name),osVersion:setDefaults(ot.version),userAgent:setDefaults(Ut)}};function deviceDetect(et){var tt=et?parseUserAgent(et):UAHelper,nt=tt.device,it=tt.browser,ot=tt.engine,Ut=tt.os,Ft=tt.ua,Qt=checkDeviceType(nt.type),Bt=Qt.isBrowser,Vt=Qt.isMobile,Wt=Qt.isTablet,Xt=Qt.isSmartTV,Zt=Qt.isConsole,Yt=Qt.isWearable,Mt=Qt.isEmbedded;if(Bt)return browserPayload(Bt,it,ot,Ut,Ft);if(Xt)return smartTvPayload(Xt,ot,Ut,Ft);if(Zt)return consolePayload(Zt,ot,Ut,Ft);if(Vt||Wt)return mobilePayload(Qt,nt,Ut,Ft);if(Yt)return wearablePayload(Yt,ot,Ut,Ft);if(Mt)return embeddedPayload(Mt,nt,ot,Ut,Ft)}var isMobileType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Mobile},isTabletType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Tablet},isMobileAndTabletType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Mobile||nt===DeviceTypes.Tablet},isSmartTVType=function et(tt){var nt=tt.type;return nt===DeviceTypes.SmartTv},isBrowserType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Browser},isWearableType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Wearable},isConsoleType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Console},isEmbeddedType=function et(tt){var nt=tt.type;return nt===DeviceTypes.Embedded},getMobileVendor=function et(tt){var nt=tt.vendor;return setDefaults(nt)},getMobileModel=function et(tt){var nt=tt.model;return setDefaults(nt)},getDeviceType=function et(tt){var nt=tt.type;return setDefaults(nt,"browser")},isAndroidType=function et(tt){var nt=tt.name;return nt===OsTypes.Android},isWindowsType=function et(tt){var nt=tt.name;return nt===OsTypes.Windows},isMacOsType=function et(tt){var nt=tt.name;return nt===OsTypes.MAC_OS},isWinPhoneType=function et(tt){var nt=tt.name;return nt===OsTypes.WindowsPhone},isIOSType=function et(tt){var nt=tt.name;return nt===OsTypes.IOS},getOsVersion=function et(tt){var nt=tt.version;return setDefaults(nt)},getOsName=function et(tt){var nt=tt.name;return setDefaults(nt)},isChromeType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Chrome},isFirefoxType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Firefox},isChromiumType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Chromium},isEdgeType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Edge},isYandexType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Yandex},isSafariType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Safari||nt===BrowserTypes.MobileSafari},isMobileSafariType=function et(tt){var nt=tt.name;return nt===BrowserTypes.MobileSafari},isOperaType=function et(tt){var nt=tt.name;return nt===BrowserTypes.Opera},isIEType=function et(tt){var nt=tt.name;return nt===BrowserTypes.InternetExplorer||nt===BrowserTypes.Ie},isMIUIType=function et(tt){var nt=tt.name;return nt===BrowserTypes.MIUI},isSamsungBrowserType=function et(tt){var nt=tt.name;return nt===BrowserTypes.SamsungBrowser},getBrowserFullVersion=function et(tt){var nt=tt.version;return setDefaults(nt)},getBrowserVersion=function et(tt){var nt=tt.major;return setDefaults(nt)},getBrowserName=function et(tt){var nt=tt.name;return setDefaults(nt)},getEngineName=function et(tt){var nt=tt.name;return setDefaults(nt)},getEngineVersion=function et(tt){var nt=tt.version;return setDefaults(nt)},isElectronType=function et(){var tt=getNavigatorInstance(),nt=tt&&tt.userAgent&&tt.userAgent.toLowerCase();return typeof nt=="string"?/electron/.test(nt):!1},isEdgeChromiumType=function et(tt){return typeof tt=="string"&&tt.indexOf("Edg/")!==-1},getIOS13=function et(){var tt=getNavigatorInstance();return tt&&(/iPad|iPhone|iPod/.test(tt.platform)||tt.platform==="MacIntel"&&tt.maxTouchPoints>1)&&!window.MSStream},getIPad13=function et(){return isIOS13Check("iPad")},getIphone13=function et(){return isIOS13Check("iPhone")},getIPod13=function et(){return isIOS13Check("iPod")},getUseragent=function et(tt){return setDefaults(tt)};function buildSelectorsObject(et){var tt=et||UAHelper,nt=tt.device,it=tt.browser,ot=tt.os,Ut=tt.engine,Ft=tt.ua;return{isSmartTV:isSmartTVType(nt),isConsole:isConsoleType(nt),isWearable:isWearableType(nt),isEmbedded:isEmbeddedType(nt),isMobileSafari:isMobileSafariType(it)||getIPad13(),isChromium:isChromiumType(it),isMobile:isMobileAndTabletType(nt)||getIPad13(),isMobileOnly:isMobileType(nt),isTablet:isTabletType(nt)||getIPad13(),isBrowser:isBrowserType(nt),isDesktop:isBrowserType(nt),isAndroid:isAndroidType(ot),isWinPhone:isWinPhoneType(ot),isIOS:isIOSType(ot)||getIPad13(),isChrome:isChromeType(it),isFirefox:isFirefoxType(it),isSafari:isSafariType(it),isOpera:isOperaType(it),isIE:isIEType(it),osVersion:getOsVersion(ot),osName:getOsName(ot),fullBrowserVersion:getBrowserFullVersion(it),browserVersion:getBrowserVersion(it),browserName:getBrowserName(it),mobileVendor:getMobileVendor(nt),mobileModel:getMobileModel(nt),engineName:getEngineName(Ut),engineVersion:getEngineVersion(Ut),getUA:getUseragent(Ft),isEdge:isEdgeType(it)||isEdgeChromiumType(Ft),isYandex:isYandexType(it),deviceType:getDeviceType(nt),isIOS13:getIOS13(),isIPad13:getIPad13(),isIPhone13:getIphone13(),isIPod13:getIPod13(),isElectron:isElectronType(),isEdgeChromium:isEdgeChromiumType(Ft),isLegacyEdge:isEdgeType(it)&&!isEdgeChromiumType(Ft),isWindows:isWindowsType(ot),isMacOs:isMacOsType(ot),isMIUI:isMIUIType(it),isSamsungBrowser:isSamsungBrowserType(it)}}var isSmartTV=isSmartTVType(device),isConsole=isConsoleType(device),isWearable=isWearableType(device),isEmbedded=isEmbeddedType(device),isMobileSafari=isMobileSafariType(browser)||getIPad13(),isChromium=isChromiumType(browser),isMobile=isMobileAndTabletType(device)||getIPad13(),isMobileOnly=isMobileType(device),isTablet=isTabletType(device)||getIPad13(),isBrowser=isBrowserType(device),isDesktop=isBrowserType(device),isAndroid=isAndroidType(os),isWinPhone=isWinPhoneType(os),isIOS=isIOSType(os)||getIPad13(),isChrome=isChromeType(browser),isFirefox=isFirefoxType(browser),isSafari=isSafariType(browser),isOpera=isOperaType(browser),isIE=isIEType(browser),osVersion=getOsVersion(os),osName=getOsName(os),fullBrowserVersion=getBrowserFullVersion(browser),browserVersion=getBrowserVersion(browser),browserName=getBrowserName(browser),mobileVendor=getMobileVendor(device),mobileModel=getMobileModel(device),engineName=getEngineName(engine),engineVersion=getEngineVersion(engine),getUA=getUseragent(ua),isEdge=isEdgeType(browser)||isEdgeChromiumType(ua),isYandex=isYandexType(browser),deviceType=getDeviceType(device),isIOS13=getIOS13(),isIPad13=getIPad13(),isIPhone13=getIphone13(),isIPod13=getIPod13(),isElectron=isElectronType(),isEdgeChromium=isEdgeChromiumType(ua),isLegacyEdge=isEdgeType(browser)&&!isEdgeChromiumType(ua),isWindows=isWindowsType(os),isMacOs=isMacOsType(os),isMIUI=isMIUIType(browser),isSamsungBrowser=isSamsungBrowserType(browser),getSelectorsByUserAgent=function et(tt){if(!tt||typeof tt!="string"){console.error("No valid user agent string was provided");return}var nt=parseUserAgent(tt),it=nt.device,ot=nt.browser,Ut=nt.os,Ft=nt.engine,Qt=nt.ua;return buildSelectorsObject({device:it,browser:ot,os:Ut,engine:Ft,ua:Qt})},AndroidView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isAndroid?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},BrowserView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isBrowser?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},IEView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isIE?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},IOSView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isIOS?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},MobileView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isMobile?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},TabletView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isTablet?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},WinPhoneView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isWinPhone?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},MobileOnlyView=function et(tt){var nt=tt.renderWithFragment,it=tt.children;tt.viewClassName,tt.style;var ot=_objectWithoutProperties(tt,["renderWithFragment","children","viewClassName","style"]);return isMobileOnly?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},SmartTVView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isSmartTV?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},ConsoleView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isConsole?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},WearableView=function et(tt){var nt=tt.renderWithFragment,it=tt.children,ot=_objectWithoutProperties(tt,["renderWithFragment","children"]);return isWearable?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",ot,it):null},CustomView=function et(tt){var nt=tt.renderWithFragment,it=tt.children;tt.viewClassName,tt.style;var ot=tt.condition,Ut=_objectWithoutProperties(tt,["renderWithFragment","children","viewClassName","style","condition"]);return ot?nt?React__default.createElement(React.Fragment,null,it):React__default.createElement("div",Ut,it):null};function withOrientationChange(et){return function(tt){_inherits(nt,tt);function nt(it){var ot;return _classCallCheck(this,nt),ot=_possibleConstructorReturn(this,_getPrototypeOf(nt).call(this,it)),ot.isEventListenerAdded=!1,ot.handleOrientationChange=ot.handleOrientationChange.bind(_assertThisInitialized(ot)),ot.onOrientationChange=ot.onOrientationChange.bind(_assertThisInitialized(ot)),ot.onPageLoad=ot.onPageLoad.bind(_assertThisInitialized(ot)),ot.state={isLandscape:!1,isPortrait:!1},ot}return _createClass(nt,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var ot=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:ot===0,isLandscape:ot===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return React__default.createElement(et,_extends({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),nt}(React__default.Component)}function useMobileOrientation(){var et=React.useState(function(){var Ut=window.innerWidth>window.innerHeight?90:0;return{isPortrait:Ut===0,isLandscape:Ut===90,orientation:Ut===0?"portrait":"landscape"}}),tt=_slicedToArray(et,2),nt=tt[0],it=tt[1],ot=React.useCallback(function(){var Ut=window.innerWidth>window.innerHeight?90:0,Ft={isPortrait:Ut===0,isLandscape:Ut===90,orientation:Ut===0?"portrait":"landscape"};nt.orientation!==Ft.orientation&&it(Ft)},[nt.orientation]);return React.useEffect(function(){return(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&(ot(),window.addEventListener("load",ot,!1),window.addEventListener("resize",ot,!1)),function(){window.removeEventListener("resize",ot,!1),window.removeEventListener("load",ot,!1)}},[ot]),nt}function useDeviceData(et){var tt=et||window.navigator.userAgent;return parseUserAgent(tt)}function useDeviceSelectors(et){var tt=et||window.navigator.userAgent,nt=useDeviceData(tt),it=buildSelectorsObject(nt);return[it,nt]}lib.AndroidView=AndroidView;lib.BrowserTypes=BrowserTypes;lib.BrowserView=BrowserView;lib.ConsoleView=ConsoleView;lib.CustomView=CustomView;lib.IEView=IEView;lib.IOSView=IOSView;lib.MobileOnlyView=MobileOnlyView;lib.MobileView=MobileView;lib.OsTypes=OsTypes;lib.SmartTVView=SmartTVView;lib.TabletView=TabletView;lib.WearableView=WearableView;lib.WinPhoneView=WinPhoneView;lib.browserName=browserName;lib.browserVersion=browserVersion;lib.deviceDetect=deviceDetect;lib.deviceType=deviceType;lib.engineName=engineName;lib.engineVersion=engineVersion;lib.fullBrowserVersion=fullBrowserVersion;lib.getSelectorsByUserAgent=getSelectorsByUserAgent;lib.getUA=getUA;lib.isAndroid=isAndroid;lib.isBrowser=isBrowser;lib.isChrome=isChrome;lib.isChromium=isChromium;lib.isConsole=isConsole;lib.isDesktop=isDesktop;lib.isEdge=isEdge;lib.isEdgeChromium=isEdgeChromium;lib.isElectron=isElectron;lib.isEmbedded=isEmbedded;lib.isFirefox=isFirefox;lib.isIE=isIE;lib.isIOS=isIOS;lib.isIOS13=isIOS13;lib.isIPad13=isIPad13;lib.isIPhone13=isIPhone13;lib.isIPod13=isIPod13;lib.isLegacyEdge=isLegacyEdge;lib.isMIUI=isMIUI;lib.isMacOs=isMacOs;lib.isMobile=isMobile;lib.isMobileOnly=isMobileOnly;lib.isMobileSafari=isMobileSafari;lib.isOpera=isOpera;lib.isSafari=isSafari;lib.isSamsungBrowser=isSamsungBrowser;lib.isSmartTV=isSmartTV;lib.isTablet=isTablet;lib.isWearable=isWearable;lib.isWinPhone=isWinPhone;lib.isWindows=isWindows;lib.isYandex=isYandex;lib.mobileModel=mobileModel;lib.mobileVendor=mobileVendor;lib.osName=osName;lib.osVersion=osVersion;lib.parseUserAgent=parseUserAgent;lib.setUserAgent=setUserAgent;lib.useDeviceData=useDeviceData;lib.useDeviceSelectors=useDeviceSelectors;lib.useMobileOrientation=useMobileOrientation;lib.withOrientationChange=withOrientationChange;/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function round(et){return et+.5|0}const lim=(et,tt,nt)=>Math.max(Math.min(et,nt),tt);function p2b(et){return lim(round(et*2.55),0,255)}function n2b(et){return lim(round(et*255),0,255)}function b2n(et){return lim(round(et/2.55)/100,0,1)}function n2p(et){return lim(round(et*100),0,100)}const map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=et=>hex[et&15],h2=et=>hex[(et&240)>>4]+hex[et&15],eq=et=>(et&240)>>4===(et&15),isShort=et=>eq(et.r)&&eq(et.g)&&eq(et.b)&&eq(et.a);function hexParse(et){var tt=et.length,nt;return et[0]==="#"&&(tt===4||tt===5?nt={r:255&map$1[et[1]]*17,g:255&map$1[et[2]]*17,b:255&map$1[et[3]]*17,a:tt===5?map$1[et[4]]*17:255}:(tt===7||tt===9)&&(nt={r:map$1[et[1]]<<4|map$1[et[2]],g:map$1[et[3]]<<4|map$1[et[4]],b:map$1[et[5]]<<4|map$1[et[6]],a:tt===9?map$1[et[7]]<<4|map$1[et[8]]:255})),nt}const alpha=(et,tt)=>et<255?tt(et):"";function hexString(et){var tt=isShort(et)?h1:h2;return et?"#"+tt(et.r)+tt(et.g)+tt(et.b)+alpha(et.a,tt):void 0}const HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(et,tt,nt){const it=tt*Math.min(nt,1-nt),ot=(Ut,Ft=(Ut+et/30)%12)=>nt-it*Math.max(Math.min(Ft-3,9-Ft,1),-1);return[ot(0),ot(8),ot(4)]}function hsv2rgbn(et,tt,nt){const it=(ot,Ut=(ot+et/60)%6)=>nt-nt*tt*Math.max(Math.min(Ut,4-Ut,1),0);return[it(5),it(3),it(1)]}function hwb2rgbn(et,tt,nt){const it=hsl2rgbn(et,1,.5);let ot;for(tt+nt>1&&(ot=1/(tt+nt),tt*=ot,nt*=ot),ot=0;ot<3;ot++)it[ot]*=1-tt-nt,it[ot]+=tt;return it}function hueValue(et,tt,nt,it,ot){return et===ot?(tt-nt)/it+(tt.5?Wt/(2-Ut-Ft):Wt/(Ut+Ft),Bt=hueValue(nt,it,ot,Wt,Ut),Bt=Bt*60+.5),[Bt|0,Vt||0,Qt]}function calln(et,tt,nt,it){return(Array.isArray(tt)?et(tt[0],tt[1],tt[2]):et(tt,nt,it)).map(n2b)}function hsl2rgb(et,tt,nt){return calln(hsl2rgbn,et,tt,nt)}function hwb2rgb(et,tt,nt){return calln(hwb2rgbn,et,tt,nt)}function hsv2rgb(et,tt,nt){return calln(hsv2rgbn,et,tt,nt)}function hue(et){return(et%360+360)%360}function hueParse(et){const tt=HUE_RE.exec(et);let nt=255,it;if(!tt)return;tt[5]!==it&&(nt=tt[6]?p2b(+tt[5]):n2b(+tt[5]));const ot=hue(+tt[2]),Ut=+tt[3]/100,Ft=+tt[4]/100;return tt[1]==="hwb"?it=hwb2rgb(ot,Ut,Ft):tt[1]==="hsv"?it=hsv2rgb(ot,Ut,Ft):it=hsl2rgb(ot,Ut,Ft),{r:it[0],g:it[1],b:it[2],a:nt}}function rotate(et,tt){var nt=rgb2hsl(et);nt[0]=hue(nt[0]+tt),nt=hsl2rgb(nt),et.r=nt[0],et.g=nt[1],et.b=nt[2]}function hslString(et){if(!et)return;const tt=rgb2hsl(et),nt=tt[0],it=n2p(tt[1]),ot=n2p(tt[2]);return et.a<255?`hsla(${nt}, ${it}%, ${ot}%, ${b2n(et.a)})`:`hsl(${nt}, ${it}%, ${ot}%)`}const map$2={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){const et={},tt=Object.keys(names$1),nt=Object.keys(map$2);let it,ot,Ut,Ft,Qt;for(it=0;it>16&255,Ut>>8&255,Ut&255]}return et}let names;function nameParse(et){names||(names=unpack(),names.transparent=[0,0,0,0]);const tt=names[et.toLowerCase()];return tt&&{r:tt[0],g:tt[1],b:tt[2],a:tt.length===4?tt[3]:255}}const RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(et){const tt=RGB_RE.exec(et);let nt=255,it,ot,Ut;if(tt){if(tt[7]!==it){const Ft=+tt[7];nt=tt[8]?p2b(Ft):lim(Ft*255,0,255)}return it=+tt[1],ot=+tt[3],Ut=+tt[5],it=255&(tt[2]?p2b(it):lim(it,0,255)),ot=255&(tt[4]?p2b(ot):lim(ot,0,255)),Ut=255&(tt[6]?p2b(Ut):lim(Ut,0,255)),{r:it,g:ot,b:Ut,a:nt}}}function rgbString(et){return et&&(et.a<255?`rgba(${et.r}, ${et.g}, ${et.b}, ${b2n(et.a)})`:`rgb(${et.r}, ${et.g}, ${et.b})`)}const to=et=>et<=.0031308?et*12.92:Math.pow(et,1/2.4)*1.055-.055,from=et=>et<=.04045?et/12.92:Math.pow((et+.055)/1.055,2.4);function interpolate$1(et,tt,nt){const it=from(b2n(et.r)),ot=from(b2n(et.g)),Ut=from(b2n(et.b));return{r:n2b(to(it+nt*(from(b2n(tt.r))-it))),g:n2b(to(ot+nt*(from(b2n(tt.g))-ot))),b:n2b(to(Ut+nt*(from(b2n(tt.b))-Ut))),a:et.a+nt*(tt.a-et.a)}}function modHSL(et,tt,nt){if(et){let it=rgb2hsl(et);it[tt]=Math.max(0,Math.min(it[tt]+it[tt]*nt,tt===0?360:1)),it=hsl2rgb(it),et.r=it[0],et.g=it[1],et.b=it[2]}}function clone$1(et,tt){return et&&Object.assign(tt||{},et)}function fromObject(et){var tt={r:0,g:0,b:0,a:255};return Array.isArray(et)?et.length>=3&&(tt={r:et[0],g:et[1],b:et[2],a:255},et.length>3&&(tt.a=n2b(et[3]))):(tt=clone$1(et,{r:0,g:0,b:0,a:1}),tt.a=n2b(tt.a)),tt}function functionParse(et){return et.charAt(0)==="r"?rgbParse(et):hueParse(et)}class Color{constructor(tt){if(tt instanceof Color)return tt;const nt=typeof tt;let it;nt==="object"?it=fromObject(tt):nt==="string"&&(it=hexParse(tt)||nameParse(tt)||functionParse(tt)),this._rgb=it,this._valid=!!it}get valid(){return this._valid}get rgb(){var tt=clone$1(this._rgb);return tt&&(tt.a=b2n(tt.a)),tt}set rgb(tt){this._rgb=fromObject(tt)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(tt,nt){if(tt){const it=this.rgb,ot=tt.rgb;let Ut;const Ft=nt===Ut?.5:nt,Qt=2*Ft-1,Bt=it.a-ot.a,Vt=((Qt*Bt===-1?Qt:(Qt+Bt)/(1+Qt*Bt))+1)/2;Ut=1-Vt,it.r=255&Vt*it.r+Ut*ot.r+.5,it.g=255&Vt*it.g+Ut*ot.g+.5,it.b=255&Vt*it.b+Ut*ot.b+.5,it.a=Ft*it.a+(1-Ft)*ot.a,this.rgb=it}return this}interpolate(tt,nt){return tt&&(this._rgb=interpolate$1(this._rgb,tt._rgb,nt)),this}clone(){return new Color(this.rgb)}alpha(tt){return this._rgb.a=n2b(tt),this}clearer(tt){const nt=this._rgb;return nt.a*=1-tt,this}greyscale(){const tt=this._rgb,nt=round(tt.r*.3+tt.g*.59+tt.b*.11);return tt.r=tt.g=tt.b=nt,this}opaquer(tt){const nt=this._rgb;return nt.a*=1+tt,this}negate(){const tt=this._rgb;return tt.r=255-tt.r,tt.g=255-tt.g,tt.b=255-tt.b,this}lighten(tt){return modHSL(this._rgb,2,tt),this}darken(tt){return modHSL(this._rgb,2,-tt),this}saturate(tt){return modHSL(this._rgb,1,tt),this}desaturate(tt){return modHSL(this._rgb,1,-tt),this}rotate(tt){return rotate(this._rgb,tt),this}}/*! - * Chart.js v4.2.1 - * https://www.chartjs.org - * (c) 2023 Chart.js Contributors - * Released under the MIT License - */function noop(){}const uid=(()=>{let et=0;return()=>et++})();function isNullOrUndef(et){return et===null||typeof et>"u"}function isArray(et){if(Array.isArray&&Array.isArray(et))return!0;const tt=Object.prototype.toString.call(et);return tt.slice(0,7)==="[object"&&tt.slice(-6)==="Array]"}function isObject(et){return et!==null&&Object.prototype.toString.call(et)==="[object Object]"}function isNumberFinite(et){return(typeof et=="number"||et instanceof Number)&&isFinite(+et)}function finiteOrDefault(et,tt){return isNumberFinite(et)?et:tt}function valueOrDefault(et,tt){return typeof et>"u"?tt:et}const toPercentage=(et,tt)=>typeof et=="string"&&et.endsWith("%")?parseFloat(et)/100:+et/tt,toDimension=(et,tt)=>typeof et=="string"&&et.endsWith("%")?parseFloat(et)/100*tt:+et;function callback(et,tt,nt){if(et&&typeof et.call=="function")return et.apply(nt,tt)}function each(et,tt,nt,it){let ot,Ut,Ft;if(isArray(et))if(Ut=et.length,it)for(ot=Ut-1;ot>=0;ot--)tt.call(nt,et[ot],ot);else for(ot=0;otet,x:et=>et.x,y:et=>et.y};function _splitKey(et){const tt=et.split("."),nt=[];let it="";for(const ot of tt)it+=ot,it.endsWith("\\")?it=it.slice(0,-1)+".":(nt.push(it),it="");return nt}function _getKeyResolver(et){const tt=_splitKey(et);return nt=>{for(const it of tt){if(it==="")break;nt=nt&&nt[it]}return nt}}function resolveObjectKey(et,tt){return(keyResolvers[tt]||(keyResolvers[tt]=_getKeyResolver(tt)))(et)}function _capitalize(et){return et.charAt(0).toUpperCase()+et.slice(1)}const defined=et=>typeof et<"u",isFunction=et=>typeof et=="function",setsEqual=(et,tt)=>{if(et.size!==tt.size)return!1;for(const nt of et)if(!tt.has(nt))return!1;return!0};function _isClickEvent(et){return et.type==="mouseup"||et.type==="click"||et.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(et,tt,nt){return Math.abs(et-tt)ot-Ut).pop(),tt}function isNumber(et){return!isNaN(parseFloat(et))&&isFinite(et)}function almostWhole(et,tt){const nt=Math.round(et);return nt-tt<=et&&nt+tt>=et}function _setMinAndMaxByKey(et,tt,nt){let it,ot,Ut;for(it=0,ot=et.length;itBt&&Vt=Math.min(tt,nt)-it&&et<=Math.max(tt,nt)+it}function _lookup(et,tt,nt){nt=nt||(Ft=>et[Ft]1;)Ut=ot+it>>1,nt(Ut)?ot=Ut:it=Ut;return{lo:ot,hi:it}}const _lookupByKey=(et,tt,nt,it)=>_lookup(et,nt,it?ot=>{const Ut=et[ot][tt];return Utet[ot][tt]_lookup(et,nt,it=>et[it][tt]>=nt);function _filterBetween(et,tt,nt){let it=0,ot=et.length;for(;itit&&et[ot-1]>nt;)ot--;return it>0||ot{const it="_onData"+_capitalize(nt),ot=et[nt];Object.defineProperty(et,nt,{configurable:!0,enumerable:!1,value(...Ut){const Ft=ot.apply(this,Ut);return et._chartjs.listeners.forEach(Qt=>{typeof Qt[it]=="function"&&Qt[it](...Ut)}),Ft}})})}function unlistenArrayEvents(et,tt){const nt=et._chartjs;if(!nt)return;const it=nt.listeners,ot=it.indexOf(tt);ot!==-1&&it.splice(ot,1),!(it.length>0)&&(arrayEvents.forEach(Ut=>{delete et[Ut]}),delete et._chartjs)}function _arrayUnique(et){const tt=new Set;let nt,it;for(nt=0,it=et.length;nt"u"?function(et){return et()}:window.requestAnimationFrame}();function throttled(et,tt){let nt=[],it=!1;return function(...ot){nt=ot,it||(it=!0,requestAnimFrame.call(window,()=>{it=!1,et.apply(tt,nt)}))}}function debounce(et,tt){let nt;return function(...it){return tt?(clearTimeout(nt),nt=setTimeout(et,tt,it)):et.apply(this,it),tt}}const _toLeftRightCenter=et=>et==="start"?"left":et==="end"?"right":"center",_alignStartEnd=(et,tt,nt)=>et==="start"?tt:et==="end"?nt:(tt+nt)/2,_textX=(et,tt,nt,it)=>et===(it?"left":"right")?nt:et==="center"?(tt+nt)/2:tt;function _getStartAndCountOfVisiblePoints(et,tt,nt){const it=tt.length;let ot=0,Ut=it;if(et._sorted){const{iScale:Ft,_parsed:Qt}=et,Bt=Ft.axis,{min:Vt,max:Wt,minDefined:Xt,maxDefined:Zt}=Ft.getUserBounds();Xt&&(ot=_limitValue(Math.min(_lookupByKey(Qt,Ft.axis,Vt).lo,nt?it:_lookupByKey(tt,Bt,Ft.getPixelForValue(Vt)).lo),0,it-1)),Zt?Ut=_limitValue(Math.max(_lookupByKey(Qt,Ft.axis,Wt,!0).hi+1,nt?0:_lookupByKey(tt,Bt,Ft.getPixelForValue(Wt),!0).hi+1),ot,it)-ot:Ut=it-ot}return{start:ot,count:Ut}}function _scaleRangesChanged(et){const{xScale:tt,yScale:nt,_scaleRanges:it}=et,ot={xmin:tt.min,xmax:tt.max,ymin:nt.min,ymax:nt.max};if(!it)return et._scaleRanges=ot,!0;const Ut=it.xmin!==tt.min||it.xmax!==tt.max||it.ymin!==nt.min||it.ymax!==nt.max;return Object.assign(it,ot),Ut}const atEdge=et=>et===0||et===1,elasticIn=(et,tt,nt)=>-(Math.pow(2,10*(et-=1))*Math.sin((et-tt)*TAU/nt)),elasticOut=(et,tt,nt)=>Math.pow(2,-10*et)*Math.sin((et-tt)*TAU/nt)+1,effects={linear:et=>et,easeInQuad:et=>et*et,easeOutQuad:et=>-et*(et-2),easeInOutQuad:et=>(et/=.5)<1?.5*et*et:-.5*(--et*(et-2)-1),easeInCubic:et=>et*et*et,easeOutCubic:et=>(et-=1)*et*et+1,easeInOutCubic:et=>(et/=.5)<1?.5*et*et*et:.5*((et-=2)*et*et+2),easeInQuart:et=>et*et*et*et,easeOutQuart:et=>-((et-=1)*et*et*et-1),easeInOutQuart:et=>(et/=.5)<1?.5*et*et*et*et:-.5*((et-=2)*et*et*et-2),easeInQuint:et=>et*et*et*et*et,easeOutQuint:et=>(et-=1)*et*et*et*et+1,easeInOutQuint:et=>(et/=.5)<1?.5*et*et*et*et*et:.5*((et-=2)*et*et*et*et+2),easeInSine:et=>-Math.cos(et*HALF_PI)+1,easeOutSine:et=>Math.sin(et*HALF_PI),easeInOutSine:et=>-.5*(Math.cos(PI*et)-1),easeInExpo:et=>et===0?0:Math.pow(2,10*(et-1)),easeOutExpo:et=>et===1?1:-Math.pow(2,-10*et)+1,easeInOutExpo:et=>atEdge(et)?et:et<.5?.5*Math.pow(2,10*(et*2-1)):.5*(-Math.pow(2,-10*(et*2-1))+2),easeInCirc:et=>et>=1?et:-(Math.sqrt(1-et*et)-1),easeOutCirc:et=>Math.sqrt(1-(et-=1)*et),easeInOutCirc:et=>(et/=.5)<1?-.5*(Math.sqrt(1-et*et)-1):.5*(Math.sqrt(1-(et-=2)*et)+1),easeInElastic:et=>atEdge(et)?et:elasticIn(et,.075,.3),easeOutElastic:et=>atEdge(et)?et:elasticOut(et,.075,.3),easeInOutElastic(et){return atEdge(et)?et:et<.5?.5*elasticIn(et*2,.1125,.45):.5+.5*elasticOut(et*2-1,.1125,.45)},easeInBack(et){return et*et*((1.70158+1)*et-1.70158)},easeOutBack(et){return(et-=1)*et*((1.70158+1)*et+1.70158)+1},easeInOutBack(et){let tt=1.70158;return(et/=.5)<1?.5*(et*et*(((tt*=1.525)+1)*et-tt)):.5*((et-=2)*et*(((tt*=1.525)+1)*et+tt)+2)},easeInBounce:et=>1-effects.easeOutBounce(1-et),easeOutBounce(et){return et<1/2.75?7.5625*et*et:et<2/2.75?7.5625*(et-=1.5/2.75)*et+.75:et<2.5/2.75?7.5625*(et-=2.25/2.75)*et+.9375:7.5625*(et-=2.625/2.75)*et+.984375},easeInOutBounce:et=>et<.5?effects.easeInBounce(et*2)*.5:effects.easeOutBounce(et*2-1)*.5+.5};function isPatternOrGradient(et){if(et&&typeof et=="object"){const tt=et.toString();return tt==="[object CanvasPattern]"||tt==="[object CanvasGradient]"}return!1}function color(et){return isPatternOrGradient(et)?et:new Color(et)}function getHoverColor(et){return isPatternOrGradient(et)?et:new Color(et).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(et){et.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),et.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:tt=>tt!=="onProgress"&&tt!=="onComplete"&&tt!=="fn"}),et.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),et.describe("animations",{_fallback:"animation"}),et.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:tt=>tt|0}}}})}function applyLayoutsDefaults(et){et.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(et,tt){tt=tt||{};const nt=et+JSON.stringify(tt);let it=intlCache.get(nt);return it||(it=new Intl.NumberFormat(et,tt),intlCache.set(nt,it)),it}function formatNumber(et,tt,nt){return getNumberFormat(tt,nt).format(et)}const formatters={values(et){return isArray(et)?et:""+et},numeric(et,tt,nt){if(et===0)return"0";const it=this.chart.options.locale;let ot,Ut=et;if(nt.length>1){const Vt=Math.max(Math.abs(nt[0].value),Math.abs(nt[nt.length-1].value));(Vt<1e-4||Vt>1e15)&&(ot="scientific"),Ut=calculateDelta(et,nt)}const Ft=log10(Math.abs(Ut)),Qt=Math.max(Math.min(-1*Math.floor(Ft),20),0),Bt={notation:ot,minimumFractionDigits:Qt,maximumFractionDigits:Qt};return Object.assign(Bt,this.options.ticks.format),formatNumber(et,it,Bt)},logarithmic(et,tt,nt){if(et===0)return"0";const it=nt[tt].significand||et/Math.pow(10,Math.floor(log10(et)));return[1,2,3,5,10,15].includes(it)||tt>.8*nt.length?formatters.numeric.call(this,et,tt,nt):""}};function calculateDelta(et,tt){let nt=tt.length>3?tt[2].value-tt[1].value:tt[1].value-tt[0].value;return Math.abs(nt)>=1&&et!==Math.floor(et)&&(nt=et-Math.floor(et)),nt}var Ticks={formatters};function applyScaleDefaults(et){et.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(tt,nt)=>nt.lineWidth,tickColor:(tt,nt)=>nt.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),et.route("scale.ticks","color","","color"),et.route("scale.grid","color","","borderColor"),et.route("scale.border","color","","borderColor"),et.route("scale.title","color","","color"),et.describe("scale",{_fallback:!1,_scriptable:tt=>!tt.startsWith("before")&&!tt.startsWith("after")&&tt!=="callback"&&tt!=="parser",_indexable:tt=>tt!=="borderDash"&&tt!=="tickBorderDash"&&tt!=="dash"}),et.describe("scales",{_fallback:"scale"}),et.describe("scale.ticks",{_scriptable:tt=>tt!=="backdropPadding"&&tt!=="callback",_indexable:tt=>tt!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(et,tt){if(!tt)return et;const nt=tt.split(".");for(let it=0,ot=nt.length;itit.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(it,ot)=>getHoverColor(ot.backgroundColor),this.hoverBorderColor=(it,ot)=>getHoverColor(ot.borderColor),this.hoverColor=(it,ot)=>getHoverColor(ot.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(tt),this.apply(nt)}set(tt,nt){return set(this,tt,nt)}get(tt){return getScope$1(this,tt)}describe(tt,nt){return set(descriptors,tt,nt)}override(tt,nt){return set(overrides,tt,nt)}route(tt,nt,it,ot){const Ut=getScope$1(this,tt),Ft=getScope$1(this,it),Qt="_"+nt;Object.defineProperties(Ut,{[Qt]:{value:Ut[nt],writable:!0},[nt]:{enumerable:!0,get(){const Bt=this[Qt],Vt=Ft[ot];return isObject(Bt)?Object.assign({},Vt,Bt):valueOrDefault(Bt,Vt)},set(Bt){this[Qt]=Bt}}})}apply(tt){tt.forEach(nt=>nt(this))}}var defaults=new Defaults({_scriptable:et=>!et.startsWith("on"),_indexable:et=>et!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(et){return!et||isNullOrUndef(et.size)||isNullOrUndef(et.family)?null:(et.style?et.style+" ":"")+(et.weight?et.weight+" ":"")+et.size+"px "+et.family}function _measureText(et,tt,nt,it,ot){let Ut=tt[ot];return Ut||(Ut=tt[ot]=et.measureText(ot).width,nt.push(ot)),Ut>it&&(it=Ut),it}function _longestText(et,tt,nt,it){it=it||{};let ot=it.data=it.data||{},Ut=it.garbageCollect=it.garbageCollect||[];it.font!==tt&&(ot=it.data={},Ut=it.garbageCollect=[],it.font=tt),et.save(),et.font=tt;let Ft=0;const Qt=nt.length;let Bt,Vt,Wt,Xt,Zt;for(Bt=0;Btnt.length){for(Bt=0;Bt0&&et.stroke()}}function _isPointInArea(et,tt,nt){return nt=nt||.5,!tt||et&&et.x>tt.left-nt&&et.xtt.top-nt&&et.y0&&Ut.strokeColor!=="";let Bt,Vt;for(et.save(),et.font=ot.string,setRenderOpts(et,Ut),Bt=0;Bt+et||0;function _readValueToProps(et,tt){const nt={},it=isObject(tt),ot=it?Object.keys(tt):tt,Ut=isObject(et)?it?Ft=>valueOrDefault(et[Ft],et[tt[Ft]]):Ft=>et[Ft]:()=>et;for(const Ft of ot)nt[Ft]=numberOrZero(Ut(Ft));return nt}function toTRBL(et){return _readValueToProps(et,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(et){return _readValueToProps(et,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(et){const tt=toTRBL(et);return tt.width=tt.left+tt.right,tt.height=tt.top+tt.bottom,tt}function toFont(et,tt){et=et||{},tt=tt||defaults.font;let nt=valueOrDefault(et.size,tt.size);typeof nt=="string"&&(nt=parseInt(nt,10));let it=valueOrDefault(et.style,tt.style);it&&!(""+it).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+it+'"'),it=void 0);const ot={family:valueOrDefault(et.family,tt.family),lineHeight:toLineHeight(valueOrDefault(et.lineHeight,tt.lineHeight),nt),size:nt,style:it,weight:valueOrDefault(et.weight,tt.weight),string:""};return ot.string=toFontString(ot),ot}function resolve(et,tt,nt,it){let ot=!0,Ut,Ft,Qt;for(Ut=0,Ft=et.length;Utnt&&Qt===0?0:Qt+Bt;return{min:Ft(it,-Math.abs(Ut)),max:Ft(ot,Ut)}}function createContext(et,tt){return Object.assign(Object.create(et),tt)}function _createResolver(et,tt=[""],nt=et,it,ot=()=>et[0]){defined(it)||(it=_resolve("_fallback",et));const Ut={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:et,_rootScopes:nt,_fallback:it,_getTarget:ot,override:Ft=>_createResolver([Ft,...et],tt,nt,it)};return new Proxy(Ut,{deleteProperty(Ft,Qt){return delete Ft[Qt],delete Ft._keys,delete et[0][Qt],!0},get(Ft,Qt){return _cached(Ft,Qt,()=>_resolveWithPrefixes(Qt,tt,et,Ft))},getOwnPropertyDescriptor(Ft,Qt){return Reflect.getOwnPropertyDescriptor(Ft._scopes[0],Qt)},getPrototypeOf(){return Reflect.getPrototypeOf(et[0])},has(Ft,Qt){return getKeysFromAllScopes(Ft).includes(Qt)},ownKeys(Ft){return getKeysFromAllScopes(Ft)},set(Ft,Qt,Bt){const Vt=Ft._storage||(Ft._storage=ot());return Ft[Qt]=Vt[Qt]=Bt,delete Ft._keys,!0}})}function _attachContext(et,tt,nt,it){const ot={_cacheable:!1,_proxy:et,_context:tt,_subProxy:nt,_stack:new Set,_descriptors:_descriptors(et,it),setContext:Ut=>_attachContext(et,Ut,nt,it),override:Ut=>_attachContext(et.override(Ut),tt,nt,it)};return new Proxy(ot,{deleteProperty(Ut,Ft){return delete Ut[Ft],delete et[Ft],!0},get(Ut,Ft,Qt){return _cached(Ut,Ft,()=>_resolveWithContext(Ut,Ft,Qt))},getOwnPropertyDescriptor(Ut,Ft){return Ut._descriptors.allKeys?Reflect.has(et,Ft)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(et,Ft)},getPrototypeOf(){return Reflect.getPrototypeOf(et)},has(Ut,Ft){return Reflect.has(et,Ft)},ownKeys(){return Reflect.ownKeys(et)},set(Ut,Ft,Qt){return et[Ft]=Qt,delete Ut[Ft],!0}})}function _descriptors(et,tt={scriptable:!0,indexable:!0}){const{_scriptable:nt=tt.scriptable,_indexable:it=tt.indexable,_allKeys:ot=tt.allKeys}=et;return{allKeys:ot,scriptable:nt,indexable:it,isScriptable:isFunction(nt)?nt:()=>nt,isIndexable:isFunction(it)?it:()=>it}}const readKey=(et,tt)=>et?et+_capitalize(tt):tt,needsSubResolver=(et,tt)=>isObject(tt)&&et!=="adapters"&&(Object.getPrototypeOf(tt)===null||tt.constructor===Object);function _cached(et,tt,nt){if(Object.prototype.hasOwnProperty.call(et,tt))return et[tt];const it=nt();return et[tt]=it,it}function _resolveWithContext(et,tt,nt){const{_proxy:it,_context:ot,_subProxy:Ut,_descriptors:Ft}=et;let Qt=it[tt];return isFunction(Qt)&&Ft.isScriptable(tt)&&(Qt=_resolveScriptable(tt,Qt,et,nt)),isArray(Qt)&&Qt.length&&(Qt=_resolveArray(tt,Qt,et,Ft.isIndexable)),needsSubResolver(tt,Qt)&&(Qt=_attachContext(Qt,ot,Ut&&Ut[tt],Ft)),Qt}function _resolveScriptable(et,tt,nt,it){const{_proxy:ot,_context:Ut,_subProxy:Ft,_stack:Qt}=nt;if(Qt.has(et))throw new Error("Recursion detected: "+Array.from(Qt).join("->")+"->"+et);return Qt.add(et),tt=tt(Ut,Ft||it),Qt.delete(et),needsSubResolver(et,tt)&&(tt=createSubResolver(ot._scopes,ot,et,tt)),tt}function _resolveArray(et,tt,nt,it){const{_proxy:ot,_context:Ut,_subProxy:Ft,_descriptors:Qt}=nt;if(defined(Ut.index)&&it(et))tt=tt[Ut.index%tt.length];else if(isObject(tt[0])){const Bt=tt,Vt=ot._scopes.filter(Wt=>Wt!==Bt);tt=[];for(const Wt of Bt){const Xt=createSubResolver(Vt,ot,et,Wt);tt.push(_attachContext(Xt,Ut,Ft&&Ft[et],Qt))}}return tt}function resolveFallback(et,tt,nt){return isFunction(et)?et(tt,nt):et}const getScope=(et,tt)=>et===!0?tt:typeof et=="string"?resolveObjectKey(tt,et):void 0;function addScopes(et,tt,nt,it,ot){for(const Ut of tt){const Ft=getScope(nt,Ut);if(Ft){et.add(Ft);const Qt=resolveFallback(Ft._fallback,nt,ot);if(defined(Qt)&&Qt!==nt&&Qt!==it)return Qt}else if(Ft===!1&&defined(it)&&nt!==it)return null}return!1}function createSubResolver(et,tt,nt,it){const ot=tt._rootScopes,Ut=resolveFallback(tt._fallback,nt,it),Ft=[...et,...ot],Qt=new Set;Qt.add(it);let Bt=addScopesFromKey(Qt,Ft,nt,Ut||nt,it);return Bt===null||defined(Ut)&&Ut!==nt&&(Bt=addScopesFromKey(Qt,Ft,Ut,Bt,it),Bt===null)?!1:_createResolver(Array.from(Qt),[""],ot,Ut,()=>subGetTarget(tt,nt,it))}function addScopesFromKey(et,tt,nt,it,ot){for(;nt;)nt=addScopes(et,tt,nt,it,ot);return nt}function subGetTarget(et,tt,nt){const it=et._getTarget();tt in it||(it[tt]={});const ot=it[tt];return isArray(ot)&&isObject(nt)?nt:ot||{}}function _resolveWithPrefixes(et,tt,nt,it){let ot;for(const Ut of tt)if(ot=_resolve(readKey(Ut,et),nt),defined(ot))return needsSubResolver(et,ot)?createSubResolver(nt,it,et,ot):ot}function _resolve(et,tt){for(const nt of tt){if(!nt)continue;const it=nt[et];if(defined(it))return it}}function getKeysFromAllScopes(et){let tt=et._keys;return tt||(tt=et._keys=resolveKeysFromAllScopes(et._scopes)),tt}function resolveKeysFromAllScopes(et){const tt=new Set;for(const nt of et)for(const it of Object.keys(nt).filter(ot=>!ot.startsWith("_")))tt.add(it);return Array.from(tt)}function _parseObjectDataRadialScale(et,tt,nt,it){const{iScale:ot}=et,{key:Ut="r"}=this._parsing,Ft=new Array(it);let Qt,Bt,Vt,Wt;for(Qt=0,Bt=it;Qtttet==="x"?"y":"x";function splineCurve(et,tt,nt,it){const ot=et.skip?tt:et,Ut=tt,Ft=nt.skip?tt:nt,Qt=distanceBetweenPoints(Ut,ot),Bt=distanceBetweenPoints(Ft,Ut);let Vt=Qt/(Qt+Bt),Wt=Bt/(Qt+Bt);Vt=isNaN(Vt)?0:Vt,Wt=isNaN(Wt)?0:Wt;const Xt=it*Vt,Zt=it*Wt;return{previous:{x:Ut.x-Xt*(Ft.x-ot.x),y:Ut.y-Xt*(Ft.y-ot.y)},next:{x:Ut.x+Zt*(Ft.x-ot.x),y:Ut.y+Zt*(Ft.y-ot.y)}}}function monotoneAdjust(et,tt,nt){const it=et.length;let ot,Ut,Ft,Qt,Bt,Vt=getPoint(et,0);for(let Wt=0;Wt!Vt.skip)),tt.cubicInterpolationMode==="monotone")splineCurveMonotone(et,ot);else{let Vt=it?et[et.length-1]:et[0];for(Ut=0,Ft=et.length;Utet.ownerDocument.defaultView.getComputedStyle(et,null);function getStyle(et,tt){return getComputedStyle(et).getPropertyValue(tt)}const positions=["top","right","bottom","left"];function getPositionedStyle(et,tt,nt){const it={};nt=nt?"-"+nt:"";for(let ot=0;ot<4;ot++){const Ut=positions[ot];it[Ut]=parseFloat(et[tt+"-"+Ut+nt])||0}return it.width=it.left+it.right,it.height=it.top+it.bottom,it}const useOffsetPos=(et,tt,nt)=>(et>0||tt>0)&&(!nt||!nt.shadowRoot);function getCanvasPosition(et,tt){const nt=et.touches,it=nt&&nt.length?nt[0]:et,{offsetX:ot,offsetY:Ut}=it;let Ft=!1,Qt,Bt;if(useOffsetPos(ot,Ut,et.target))Qt=ot,Bt=Ut;else{const Vt=tt.getBoundingClientRect();Qt=it.clientX-Vt.left,Bt=it.clientY-Vt.top,Ft=!0}return{x:Qt,y:Bt,box:Ft}}function getRelativePosition(et,tt){if("native"in et)return et;const{canvas:nt,currentDevicePixelRatio:it}=tt,ot=getComputedStyle(nt),Ut=ot.boxSizing==="border-box",Ft=getPositionedStyle(ot,"padding"),Qt=getPositionedStyle(ot,"border","width"),{x:Bt,y:Vt,box:Wt}=getCanvasPosition(et,nt),Xt=Ft.left+(Wt&&Qt.left),Zt=Ft.top+(Wt&&Qt.top);let{width:Yt,height:Mt}=tt;return Ut&&(Yt-=Ft.width+Qt.width,Mt-=Ft.height+Qt.height),{x:Math.round((Bt-Xt)/Yt*nt.width/it),y:Math.round((Vt-Zt)/Mt*nt.height/it)}}function getContainerSize(et,tt,nt){let it,ot;if(tt===void 0||nt===void 0){const Ut=_getParentNode(et);if(!Ut)tt=et.clientWidth,nt=et.clientHeight;else{const Ft=Ut.getBoundingClientRect(),Qt=getComputedStyle(Ut),Bt=getPositionedStyle(Qt,"border","width"),Vt=getPositionedStyle(Qt,"padding");tt=Ft.width-Vt.width-Bt.width,nt=Ft.height-Vt.height-Bt.height,it=parseMaxStyle(Qt.maxWidth,Ut,"clientWidth"),ot=parseMaxStyle(Qt.maxHeight,Ut,"clientHeight")}}return{width:tt,height:nt,maxWidth:it||INFINITY,maxHeight:ot||INFINITY}}const round1=et=>Math.round(et*10)/10;function getMaximumSize(et,tt,nt,it){const ot=getComputedStyle(et),Ut=getPositionedStyle(ot,"margin"),Ft=parseMaxStyle(ot.maxWidth,et,"clientWidth")||INFINITY,Qt=parseMaxStyle(ot.maxHeight,et,"clientHeight")||INFINITY,Bt=getContainerSize(et,tt,nt);let{width:Vt,height:Wt}=Bt;if(ot.boxSizing==="content-box"){const Zt=getPositionedStyle(ot,"border","width"),Yt=getPositionedStyle(ot,"padding");Vt-=Yt.width+Zt.width,Wt-=Yt.height+Zt.height}return Vt=Math.max(0,Vt-Ut.width),Wt=Math.max(0,it?Vt/it:Wt-Ut.height),Vt=round1(Math.min(Vt,Ft,Bt.maxWidth)),Wt=round1(Math.min(Wt,Qt,Bt.maxHeight)),Vt&&!Wt&&(Wt=round1(Vt/2)),(tt!==void 0||nt!==void 0)&&it&&Bt.height&&Wt>Bt.height&&(Wt=Bt.height,Vt=round1(Math.floor(Wt*it))),{width:Vt,height:Wt}}function retinaScale(et,tt,nt){const it=tt||1,ot=Math.floor(et.height*it),Ut=Math.floor(et.width*it);et.height=Math.floor(et.height),et.width=Math.floor(et.width);const Ft=et.canvas;return Ft.style&&(nt||!Ft.style.height&&!Ft.style.width)&&(Ft.style.height=`${et.height}px`,Ft.style.width=`${et.width}px`),et.currentDevicePixelRatio!==it||Ft.height!==ot||Ft.width!==Ut?(et.currentDevicePixelRatio=it,Ft.height=ot,Ft.width=Ut,et.ctx.setTransform(it,0,0,it,0,0),!0):!1}const supportsEventListenerOptions=function(){let et=!1;try{const tt={get passive(){return et=!0,!1}};window.addEventListener("test",null,tt),window.removeEventListener("test",null,tt)}catch{}return et}();function readUsedSize(et,tt){const nt=getStyle(et,tt),it=nt&&nt.match(/^(\d+)(\.\d+)?px$/);return it?+it[1]:void 0}function _pointInLine(et,tt,nt,it){return{x:et.x+nt*(tt.x-et.x),y:et.y+nt*(tt.y-et.y)}}function _steppedInterpolation(et,tt,nt,it){return{x:et.x+nt*(tt.x-et.x),y:it==="middle"?nt<.5?et.y:tt.y:it==="after"?nt<1?et.y:tt.y:nt>0?tt.y:et.y}}function _bezierInterpolation(et,tt,nt,it){const ot={x:et.cp2x,y:et.cp2y},Ut={x:tt.cp1x,y:tt.cp1y},Ft=_pointInLine(et,ot,nt),Qt=_pointInLine(ot,Ut,nt),Bt=_pointInLine(Ut,tt,nt),Vt=_pointInLine(Ft,Qt,nt),Wt=_pointInLine(Qt,Bt,nt);return _pointInLine(Vt,Wt,nt)}const getRightToLeftAdapter=function(et,tt){return{x(nt){return et+et+tt-nt},setWidth(nt){tt=nt},textAlign(nt){return nt==="center"?nt:nt==="right"?"left":"right"},xPlus(nt,it){return nt-it},leftForLtr(nt,it){return nt-it}}},getLeftToRightAdapter=function(){return{x(et){return et},setWidth(et){},textAlign(et){return et},xPlus(et,tt){return et+tt},leftForLtr(et,tt){return et}}};function getRtlAdapter(et,tt,nt){return et?getRightToLeftAdapter(tt,nt):getLeftToRightAdapter()}function overrideTextDirection(et,tt){let nt,it;(tt==="ltr"||tt==="rtl")&&(nt=et.canvas.style,it=[nt.getPropertyValue("direction"),nt.getPropertyPriority("direction")],nt.setProperty("direction",tt,"important"),et.prevTextDirection=it)}function restoreTextDirection(et,tt){tt!==void 0&&(delete et.prevTextDirection,et.canvas.style.setProperty("direction",tt[0],tt[1]))}function propertyFn(et){return et==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(tt,nt)=>tt-nt,normalize:tt=>tt}}function normalizeSegment({start:et,end:tt,count:nt,loop:it,style:ot}){return{start:et%nt,end:tt%nt,loop:it&&(tt-et+1)%nt===0,style:ot}}function getSegment(et,tt,nt){const{property:it,start:ot,end:Ut}=nt,{between:Ft,normalize:Qt}=propertyFn(it),Bt=tt.length;let{start:Vt,end:Wt,loop:Xt}=et,Zt,Yt;if(Xt){for(Vt+=Bt,Wt+=Bt,Zt=0,Yt=Bt;ZtBt(ot,nn,tn)&&Qt(ot,nn)!==0,Kt=()=>Qt(Ut,tn)===0||Bt(Ut,nn,tn),dn=()=>Gt||sn(),Qn=()=>!Gt||Kt();for(let En=Wt,an=Wt;En<=Xt;++En)ln=tt[En%Ft],!ln.skip&&(tn=Vt(ln[it]),tn!==nn&&(Gt=Bt(tn,ot,Ut),en===null&&dn()&&(en=Qt(tn,ot)===0?En:an),en!==null&&Qn()&&(Mt.push(normalizeSegment({start:en,end:En,loop:Zt,count:Ft,style:Yt})),en=null),an=En,nn=tn));return en!==null&&Mt.push(normalizeSegment({start:en,end:Xt,loop:Zt,count:Ft,style:Yt})),Mt}function _boundSegments(et,tt){const nt=[],it=et.segments;for(let ot=0;otot&&et[Ut%tt].skip;)Ut--;return Ut%=tt,{start:ot,end:Ut}}function solidSegments(et,tt,nt,it){const ot=et.length,Ut=[];let Ft=tt,Qt=et[tt],Bt;for(Bt=tt+1;Bt<=nt;++Bt){const Vt=et[Bt%ot];Vt.skip||Vt.stop?Qt.skip||(it=!1,Ut.push({start:tt%ot,end:(Bt-1)%ot,loop:it}),tt=Ft=Vt.stop?Bt:null):(Ft=Bt,Qt.skip&&(tt=Bt)),Qt=Vt}return Ft!==null&&Ut.push({start:tt%ot,end:Ft%ot,loop:it}),Ut}function _computeSegments(et,tt){const nt=et.points,it=et.options.spanGaps,ot=nt.length;if(!ot)return[];const Ut=!!et._loop,{start:Ft,end:Qt}=findStartAndEnd(nt,ot,Ut,it);if(it===!0)return splitByStyles(et,[{start:Ft,end:Qt,loop:Ut}],nt,tt);const Bt=QtQt({chart:tt,initial:nt.initial,numSteps:Ft,currentStep:Math.min(it-nt.start,Ft)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(tt=Date.now()){let nt=0;this._charts.forEach((it,ot)=>{if(!it.running||!it.items.length)return;const Ut=it.items;let Ft=Ut.length-1,Qt=!1,Bt;for(;Ft>=0;--Ft)Bt=Ut[Ft],Bt._active?(Bt._total>it.duration&&(it.duration=Bt._total),Bt.tick(tt),Qt=!0):(Ut[Ft]=Ut[Ut.length-1],Ut.pop());Qt&&(ot.draw(),this._notify(ot,it,tt,"progress")),Ut.length||(it.running=!1,this._notify(ot,it,tt,"complete"),it.initial=!1),nt+=Ut.length}),this._lastDate=tt,nt===0&&(this._running=!1)}_getAnims(tt){const nt=this._charts;let it=nt.get(tt);return it||(it={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},nt.set(tt,it)),it}listen(tt,nt,it){this._getAnims(tt).listeners[nt].push(it)}add(tt,nt){!nt||!nt.length||this._getAnims(tt).items.push(...nt)}has(tt){return this._getAnims(tt).items.length>0}start(tt){const nt=this._charts.get(tt);nt&&(nt.running=!0,nt.start=Date.now(),nt.duration=nt.items.reduce((it,ot)=>Math.max(it,ot._duration),0),this._refresh())}running(tt){if(!this._running)return!1;const nt=this._charts.get(tt);return!(!nt||!nt.running||!nt.items.length)}stop(tt){const nt=this._charts.get(tt);if(!nt||!nt.items.length)return;const it=nt.items;let ot=it.length-1;for(;ot>=0;--ot)it[ot].cancel();nt.items=[],this._notify(tt,nt,Date.now(),"complete")}remove(tt){return this._charts.delete(tt)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(et,tt,nt){return nt>.5?tt:et},color(et,tt,nt){const it=color(et||transparent),ot=it.valid&&color(tt||transparent);return ot&&ot.valid?ot.mix(it,nt).hexString():tt},number(et,tt,nt){return et+(tt-et)*nt}};class Animation{constructor(tt,nt,it,ot){const Ut=nt[it];ot=resolve([tt.to,ot,Ut,tt.from]);const Ft=resolve([tt.from,Ut,ot]);this._active=!0,this._fn=tt.fn||interpolators[tt.type||typeof Ft],this._easing=effects[tt.easing]||effects.linear,this._start=Math.floor(Date.now()+(tt.delay||0)),this._duration=this._total=Math.floor(tt.duration),this._loop=!!tt.loop,this._target=nt,this._prop=it,this._from=Ft,this._to=ot,this._promises=void 0}active(){return this._active}update(tt,nt,it){if(this._active){this._notify(!1);const ot=this._target[this._prop],Ut=it-this._start,Ft=this._duration-Ut;this._start=it,this._duration=Math.floor(Math.max(Ft,tt.duration)),this._total+=Ut,this._loop=!!tt.loop,this._to=resolve([tt.to,nt,ot,tt.from]),this._from=resolve([tt.from,ot,nt])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(tt){const nt=tt-this._start,it=this._duration,ot=this._prop,Ut=this._from,Ft=this._loop,Qt=this._to;let Bt;if(this._active=Ut!==Qt&&(Ft||nt1?2-Bt:Bt,Bt=this._easing(Math.min(1,Math.max(0,Bt))),this._target[ot]=this._fn(Ut,Qt,Bt)}wait(){const tt=this._promises||(this._promises=[]);return new Promise((nt,it)=>{tt.push({res:nt,rej:it})})}_notify(tt){const nt=tt?"res":"rej",it=this._promises||[];for(let ot=0;ot{const Ut=tt[ot];if(!isObject(Ut))return;const Ft={};for(const Qt of nt)Ft[Qt]=Ut[Qt];(isArray(Ut.properties)&&Ut.properties||[ot]).forEach(Qt=>{(Qt===ot||!it.has(Qt))&&it.set(Qt,Ft)})})}_animateOptions(tt,nt){const it=nt.options,ot=resolveTargetOptions(tt,it);if(!ot)return[];const Ut=this._createAnimations(ot,it);return it.$shared&&awaitAll(tt.options.$animations,it).then(()=>{tt.options=it},()=>{}),Ut}_createAnimations(tt,nt){const it=this._properties,ot=[],Ut=tt.$animations||(tt.$animations={}),Ft=Object.keys(nt),Qt=Date.now();let Bt;for(Bt=Ft.length-1;Bt>=0;--Bt){const Vt=Ft[Bt];if(Vt.charAt(0)==="$")continue;if(Vt==="options"){ot.push(...this._animateOptions(tt,nt));continue}const Wt=nt[Vt];let Xt=Ut[Vt];const Zt=it.get(Vt);if(Xt)if(Zt&&Xt.active()){Xt.update(Zt,Wt,Qt);continue}else Xt.cancel();if(!Zt||!Zt.duration){tt[Vt]=Wt;continue}Ut[Vt]=Xt=new Animation(Zt,tt,Vt,Wt),ot.push(Xt)}return ot}update(tt,nt){if(this._properties.size===0){Object.assign(tt,nt);return}const it=this._createAnimations(tt,nt);if(it.length)return animator.add(this._chart,it),!0}}function awaitAll(et,tt){const nt=[],it=Object.keys(tt);for(let ot=0;ot0||!nt&&Ut<0)return ot.index}return null}function updateStacks(et,tt){const{chart:nt,_cachedMeta:it}=et,ot=nt._stacks||(nt._stacks={}),{iScale:Ut,vScale:Ft,index:Qt}=it,Bt=Ut.axis,Vt=Ft.axis,Wt=getStackKey(Ut,Ft,it),Xt=tt.length;let Zt;for(let Yt=0;Ytnt[it].axis===tt).shift()}function createDatasetContext(et,tt){return createContext(et,{active:!1,dataset:void 0,datasetIndex:tt,index:tt,mode:"default",type:"dataset"})}function createDataContext(et,tt,nt){return createContext(et,{active:!1,dataIndex:tt,parsed:void 0,raw:void 0,element:nt,index:tt,mode:"default",type:"data"})}function clearStacks(et,tt){const nt=et.controller.index,it=et.vScale&&et.vScale.axis;if(it){tt=tt||et._parsed;for(const ot of tt){const Ut=ot._stacks;if(!Ut||Ut[it]===void 0||Ut[it][nt]===void 0)return;delete Ut[it][nt],Ut[it]._visualValues!==void 0&&Ut[it]._visualValues[nt]!==void 0&&delete Ut[it]._visualValues[nt]}}}const isDirectUpdateMode=et=>et==="reset"||et==="none",cloneIfNotShared=(et,tt)=>tt?et:Object.assign({},et),createStack=(et,tt,nt)=>et&&!tt.hidden&&tt._stacked&&{keys:getSortedDatasetIndices(nt,!0),values:null};class DatasetController{constructor(tt,nt){this.chart=tt,this._ctx=tt.ctx,this.index=nt,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const tt=this._cachedMeta;this.configure(),this.linkScales(),tt._stacked=isStacked(tt.vScale,tt),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(tt){this.index!==tt&&clearStacks(this._cachedMeta),this.index=tt}linkScales(){const tt=this.chart,nt=this._cachedMeta,it=this.getDataset(),ot=(Xt,Zt,Yt,Mt)=>Xt==="x"?Zt:Xt==="r"?Mt:Yt,Ut=nt.xAxisID=valueOrDefault(it.xAxisID,getFirstScaleId(tt,"x")),Ft=nt.yAxisID=valueOrDefault(it.yAxisID,getFirstScaleId(tt,"y")),Qt=nt.rAxisID=valueOrDefault(it.rAxisID,getFirstScaleId(tt,"r")),Bt=nt.indexAxis,Vt=nt.iAxisID=ot(Bt,Ut,Ft,Qt),Wt=nt.vAxisID=ot(Bt,Ft,Ut,Qt);nt.xScale=this.getScaleForId(Ut),nt.yScale=this.getScaleForId(Ft),nt.rScale=this.getScaleForId(Qt),nt.iScale=this.getScaleForId(Vt),nt.vScale=this.getScaleForId(Wt)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(tt){return this.chart.scales[tt]}_getOtherScale(tt){const nt=this._cachedMeta;return tt===nt.iScale?nt.vScale:nt.iScale}reset(){this._update("reset")}_destroy(){const tt=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),tt._stacked&&clearStacks(tt)}_dataCheck(){const tt=this.getDataset(),nt=tt.data||(tt.data=[]),it=this._data;if(isObject(nt))this._data=convertObjectDataToArray(nt);else if(it!==nt){if(it){unlistenArrayEvents(it,this);const ot=this._cachedMeta;clearStacks(ot),ot._parsed=[]}nt&&Object.isExtensible(nt)&&listenArrayEvents(nt,this),this._syncList=[],this._data=nt}}addElements(){const tt=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(tt.dataset=new this.datasetElementType)}buildOrUpdateElements(tt){const nt=this._cachedMeta,it=this.getDataset();let ot=!1;this._dataCheck();const Ut=nt._stacked;nt._stacked=isStacked(nt.vScale,nt),nt.stack!==it.stack&&(ot=!0,clearStacks(nt),nt.stack=it.stack),this._resyncElements(tt),(ot||Ut!==nt._stacked)&&updateStacks(this,nt._parsed)}configure(){const tt=this.chart.config,nt=tt.datasetScopeKeys(this._type),it=tt.getOptionScopes(this.getDataset(),nt,!0);this.options=tt.createResolver(it,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(tt,nt){const{_cachedMeta:it,_data:ot}=this,{iScale:Ut,_stacked:Ft}=it,Qt=Ut.axis;let Bt=tt===0&&nt===ot.length?!0:it._sorted,Vt=tt>0&&it._parsed[tt-1],Wt,Xt,Zt;if(this._parsing===!1)it._parsed=ot,it._sorted=!0,Zt=ot;else{isArray(ot[tt])?Zt=this.parseArrayData(it,ot,tt,nt):isObject(ot[tt])?Zt=this.parseObjectData(it,ot,tt,nt):Zt=this.parsePrimitiveData(it,ot,tt,nt);const Yt=()=>Xt[Qt]===null||Vt&&Xt[Qt]Gt||Xt=0;--Zt)if(!Mt()){this.updateRangeFromParsed(Vt,tt,Yt,Bt);break}}return Vt}getAllParsedValues(tt){const nt=this._cachedMeta._parsed,it=[];let ot,Ut,Ft;for(ot=0,Ut=nt.length;ot=0&&ttthis.getContext(it,ot,nt),Gt=Vt.resolveNamedOptions(Zt,Yt,Mt,Xt);return Gt.$shared&&(Gt.$shared=Bt,Ut[Ft]=Object.freeze(cloneIfNotShared(Gt,Bt))),Gt}_resolveAnimations(tt,nt,it){const ot=this.chart,Ut=this._cachedDataOpts,Ft=`animation-${nt}`,Qt=Ut[Ft];if(Qt)return Qt;let Bt;if(ot.options.animation!==!1){const Wt=this.chart.config,Xt=Wt.datasetAnimationScopeKeys(this._type,nt),Zt=Wt.getOptionScopes(this.getDataset(),Xt);Bt=Wt.createResolver(Zt,this.getContext(tt,it,nt))}const Vt=new Animations(ot,Bt&&Bt.animations);return Bt&&Bt._cacheable&&(Ut[Ft]=Object.freeze(Vt)),Vt}getSharedOptions(tt){if(tt.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},tt))}includeOptions(tt,nt){return!nt||isDirectUpdateMode(tt)||this.chart._animationsDisabled}_getSharedOptions(tt,nt){const it=this.resolveDataElementOptions(tt,nt),ot=this._sharedOptions,Ut=this.getSharedOptions(it),Ft=this.includeOptions(nt,Ut)||Ut!==ot;return this.updateSharedOptions(Ut,nt,it),{sharedOptions:Ut,includeOptions:Ft}}updateElement(tt,nt,it,ot){isDirectUpdateMode(ot)?Object.assign(tt,it):this._resolveAnimations(nt,ot).update(tt,it)}updateSharedOptions(tt,nt,it){tt&&!isDirectUpdateMode(nt)&&this._resolveAnimations(void 0,nt).update(tt,it)}_setStyle(tt,nt,it,ot){tt.active=ot;const Ut=this.getStyle(nt,ot);this._resolveAnimations(nt,it,ot).update(tt,{options:!ot&&this.getSharedOptions(Ut)||Ut})}removeHoverStyle(tt,nt,it){this._setStyle(tt,it,"active",!1)}setHoverStyle(tt,nt,it){this._setStyle(tt,it,"active",!0)}_removeDatasetHoverStyle(){const tt=this._cachedMeta.dataset;tt&&this._setStyle(tt,void 0,"active",!1)}_setDatasetHoverStyle(){const tt=this._cachedMeta.dataset;tt&&this._setStyle(tt,void 0,"active",!0)}_resyncElements(tt){const nt=this._data,it=this._cachedMeta.data;for(const[Qt,Bt,Vt]of this._syncList)this[Qt](Bt,Vt);this._syncList=[];const ot=it.length,Ut=nt.length,Ft=Math.min(Ut,ot);Ft&&this.parse(0,Ft),Ut>ot?this._insertElements(ot,Ut-ot,tt):Ut{for(Vt.length+=nt,Qt=Vt.length-1;Qt>=Ft;Qt--)Vt[Qt]=Vt[Qt-nt]};for(Bt(Ut),Qt=tt;Qtot-Ut))}return et._cache.$bar}function computeMinSampleSize(et){const tt=et.iScale,nt=getAllScaleValues(tt,et.type);let it=tt._length,ot,Ut,Ft,Qt;const Bt=()=>{Ft===32767||Ft===-32768||(defined(Qt)&&(it=Math.min(it,Math.abs(Ft-Qt)||it)),Qt=Ft)};for(ot=0,Ut=nt.length;ot0?ot[et-1]:null,Qt=etMath.abs(Qt)&&(Bt=Qt,Vt=Ft),tt[nt.axis]=Vt,tt._custom={barStart:Bt,barEnd:Vt,start:ot,end:Ut,min:Ft,max:Qt}}function parseValue(et,tt,nt,it){return isArray(et)?parseFloatBar(et,tt,nt,it):tt[nt.axis]=nt.parse(et,it),tt}function parseArrayOrPrimitive(et,tt,nt,it){const ot=et.iScale,Ut=et.vScale,Ft=ot.getLabels(),Qt=ot===Ut,Bt=[];let Vt,Wt,Xt,Zt;for(Vt=nt,Wt=nt+it;Vt=nt?1:-1)}function borderProps(et){let tt,nt,it,ot,Ut;return et.horizontal?(tt=et.base>et.x,nt="left",it="right"):(tt=et.baseBt.controller.options.grouped),Ut=it.options.stacked,Ft=[],Qt=Bt=>{const Vt=Bt.controller.getParsed(nt),Wt=Vt&&Vt[Bt.vScale.axis];if(isNullOrUndef(Wt)||isNaN(Wt))return!0};for(const Bt of ot)if(!(nt!==void 0&&Qt(Bt))&&((Ut===!1||Ft.indexOf(Bt.stack)===-1||Ut===void 0&&Bt.stack===void 0)&&Ft.push(Bt.stack),Bt.index===tt))break;return Ft.length||Ft.push(void 0),Ft}_getStackCount(tt){return this._getStacks(void 0,tt).length}_getStackIndex(tt,nt,it){const ot=this._getStacks(tt,it),Ut=nt!==void 0?ot.indexOf(nt):-1;return Ut===-1?ot.length-1:Ut}_getRuler(){const tt=this.options,nt=this._cachedMeta,it=nt.iScale,ot=[];let Ut,Ft;for(Ut=0,Ft=nt.data.length;Ut=0;--it)nt=Math.max(nt,tt[it].size(this.resolveDataElementOptions(it))/2);return nt>0&&nt}getLabelAndValue(tt){const nt=this._cachedMeta,it=this.chart.data.labels||[],{xScale:ot,yScale:Ut}=nt,Ft=this.getParsed(tt),Qt=ot.getLabelForValue(Ft.x),Bt=Ut.getLabelForValue(Ft.y),Vt=Ft._custom;return{label:it[tt]||"",value:"("+Qt+", "+Bt+(Vt?", "+Vt:"")+")"}}update(tt){const nt=this._cachedMeta.data;this.updateElements(nt,0,nt.length,tt)}updateElements(tt,nt,it,ot){const Ut=ot==="reset",{iScale:Ft,vScale:Qt}=this._cachedMeta,{sharedOptions:Bt,includeOptions:Vt}=this._getSharedOptions(nt,ot),Wt=Ft.axis,Xt=Qt.axis;for(let Zt=nt;Zt_angleBetween(nn,Qt,Bt,!0)?1:Math.max(sn,sn*nt,Kt,Kt*nt),Mt=(nn,sn,Kt)=>_angleBetween(nn,Qt,Bt,!0)?-1:Math.min(sn,sn*nt,Kt,Kt*nt),Gt=Yt(0,Vt,Xt),en=Yt(HALF_PI,Wt,Zt),tn=Mt(PI,Vt,Xt),ln=Mt(PI+HALF_PI,Wt,Zt);it=(Gt-tn)/2,ot=(en-ln)/2,Ut=-(Gt+tn)/2,Ft=-(en+ln)/2}return{ratioX:it,ratioY:ot,offsetX:Ut,offsetY:Ft}}class DoughnutController extends DatasetController{constructor(tt,nt){super(tt,nt),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(tt,nt){const it=this.getDataset().data,ot=this._cachedMeta;if(this._parsing===!1)ot._parsed=it;else{let Ut=Bt=>+it[Bt];if(isObject(it[tt])){const{key:Bt="value"}=this._parsing;Ut=Vt=>+resolveObjectKey(it[Vt],Bt)}let Ft,Qt;for(Ft=tt,Qt=tt+nt;Ft0&&!isNaN(tt)?TAU*(Math.abs(tt)/nt):0}getLabelAndValue(tt){const nt=this._cachedMeta,it=this.chart,ot=it.data.labels||[],Ut=formatNumber(nt._parsed[tt],it.options.locale);return{label:ot[tt]||"",value:Ut}}getMaxBorderWidth(tt){let nt=0;const it=this.chart;let ot,Ut,Ft,Qt,Bt;if(!tt){for(ot=0,Ut=it.data.datasets.length;ottt!=="spacing",_indexable:tt=>tt!=="spacing"}),_r(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(tt){const nt=tt.data;if(nt.labels.length&&nt.datasets.length){const{labels:{pointStyle:it,color:ot}}=tt.legend.options;return nt.labels.map((Ut,Ft)=>{const Bt=tt.getDatasetMeta(0).controller.getStyle(Ft);return{text:Ut,fillStyle:Bt.backgroundColor,strokeStyle:Bt.borderColor,fontColor:ot,lineWidth:Bt.borderWidth,pointStyle:it,hidden:!tt.getDataVisibility(Ft),index:Ft}})}return[]}},onClick(tt,nt,it){it.chart.toggleDataVisibility(nt.index),it.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(tt){const nt=this._cachedMeta,{dataset:it,data:ot=[],_dataset:Ut}=nt,Ft=this.chart._animationsDisabled;let{start:Qt,count:Bt}=_getStartAndCountOfVisiblePoints(nt,ot,Ft);this._drawStart=Qt,this._drawCount=Bt,_scaleRangesChanged(nt)&&(Qt=0,Bt=ot.length),it._chart=this.chart,it._datasetIndex=this.index,it._decimated=!!Ut._decimated,it.points=ot;const Vt=this.resolveDatasetElementOptions(tt);this.options.showLine||(Vt.borderWidth=0),Vt.segment=this.options.segment,this.updateElement(it,void 0,{animated:!Ft,options:Vt},tt),this.updateElements(ot,Qt,Bt,tt)}updateElements(tt,nt,it,ot){const Ut=ot==="reset",{iScale:Ft,vScale:Qt,_stacked:Bt,_dataset:Vt}=this._cachedMeta,{sharedOptions:Wt,includeOptions:Xt}=this._getSharedOptions(nt,ot),Zt=Ft.axis,Yt=Qt.axis,{spanGaps:Mt,segment:Gt}=this.options,en=isNumber(Mt)?Mt:Number.POSITIVE_INFINITY,tn=this.chart._animationsDisabled||Ut||ot==="none",ln=nt+it,nn=tt.length;let sn=nt>0&&this.getParsed(nt-1);for(let Kt=0;Kt=ln){Qn.skip=!0;continue}const En=this.getParsed(Kt),an=isNullOrUndef(En[Yt]),rn=Qn[Zt]=Ft.getPixelForValue(En[Zt],Kt),gn=Qn[Yt]=Ut||an?Qt.getBasePixel():Qt.getPixelForValue(Bt?this.applyStack(Qt,En,Bt):En[Yt],Kt);Qn.skip=isNaN(rn)||isNaN(gn)||an,Qn.stop=Kt>0&&Math.abs(En[Zt]-sn[Zt])>en,Gt&&(Qn.parsed=En,Qn.raw=Vt.data[Kt]),Xt&&(Qn.options=Wt||this.resolveDataElementOptions(Kt,dn.active?"active":ot)),tn||this.updateElement(dn,Kt,Qn,ot),sn=En}}getMaxOverflow(){const tt=this._cachedMeta,nt=tt.dataset,it=nt.options&&nt.options.borderWidth||0,ot=tt.data||[];if(!ot.length)return it;const Ut=ot[0].size(this.resolveDataElementOptions(0)),Ft=ot[ot.length-1].size(this.resolveDataElementOptions(ot.length-1));return Math.max(it,Ut,Ft)/2}draw(){const tt=this._cachedMeta;tt.dataset.updateControlPoints(this.chart.chartArea,tt.iScale.axis),super.draw()}}_r(LineController,"id","line"),_r(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),_r(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(tt,nt){super(tt,nt),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(tt){const nt=this._cachedMeta,it=this.chart,ot=it.data.labels||[],Ut=formatNumber(nt._parsed[tt].r,it.options.locale);return{label:ot[tt]||"",value:Ut}}parseObjectData(tt,nt,it,ot){return _parseObjectDataRadialScale.bind(this)(tt,nt,it,ot)}update(tt){const nt=this._cachedMeta.data;this._updateRadius(),this.updateElements(nt,0,nt.length,tt)}getMinMax(){const tt=this._cachedMeta,nt={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return tt.data.forEach((it,ot)=>{const Ut=this.getParsed(ot).r;!isNaN(Ut)&&this.chart.getDataVisibility(ot)&&(Utnt.max&&(nt.max=Ut))}),nt}_updateRadius(){const tt=this.chart,nt=tt.chartArea,it=tt.options,ot=Math.min(nt.right-nt.left,nt.bottom-nt.top),Ut=Math.max(ot/2,0),Ft=Math.max(it.cutoutPercentage?Ut/100*it.cutoutPercentage:1,0),Qt=(Ut-Ft)/tt.getVisibleDatasetCount();this.outerRadius=Ut-Qt*this.index,this.innerRadius=this.outerRadius-Qt}updateElements(tt,nt,it,ot){const Ut=ot==="reset",Ft=this.chart,Bt=Ft.options.animation,Vt=this._cachedMeta.rScale,Wt=Vt.xCenter,Xt=Vt.yCenter,Zt=Vt.getIndexAngle(0)-.5*PI;let Yt=Zt,Mt;const Gt=360/this.countVisibleElements();for(Mt=0;Mt{!isNaN(this.getParsed(ot).r)&&this.chart.getDataVisibility(ot)&&nt++}),nt}_computeAngle(tt,nt,it){return this.chart.getDataVisibility(tt)?toRadians(this.resolveDataElementOptions(tt,nt).angle||it):0}}_r(PolarAreaController,"id","polarArea"),_r(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),_r(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(tt){const nt=tt.data;if(nt.labels.length&&nt.datasets.length){const{labels:{pointStyle:it,color:ot}}=tt.legend.options;return nt.labels.map((Ut,Ft)=>{const Bt=tt.getDatasetMeta(0).controller.getStyle(Ft);return{text:Ut,fillStyle:Bt.backgroundColor,strokeStyle:Bt.borderColor,fontColor:ot,lineWidth:Bt.borderWidth,pointStyle:it,hidden:!tt.getDataVisibility(Ft),index:Ft}})}return[]}},onClick(tt,nt,it){it.chart.toggleDataVisibility(nt.index),it.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}_r(PieController,"id","pie"),_r(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class RadarController extends DatasetController{getLabelAndValue(tt){const nt=this._cachedMeta.vScale,it=this.getParsed(tt);return{label:nt.getLabels()[tt],value:""+nt.getLabelForValue(it[nt.axis])}}parseObjectData(tt,nt,it,ot){return _parseObjectDataRadialScale.bind(this)(tt,nt,it,ot)}update(tt){const nt=this._cachedMeta,it=nt.dataset,ot=nt.data||[],Ut=nt.iScale.getLabels();if(it.points=ot,tt!=="resize"){const Ft=this.resolveDatasetElementOptions(tt);this.options.showLine||(Ft.borderWidth=0);const Qt={_loop:!0,_fullLoop:Ut.length===ot.length,options:Ft};this.updateElement(it,void 0,Qt,tt)}this.updateElements(ot,0,ot.length,tt)}updateElements(tt,nt,it,ot){const Ut=this._cachedMeta.rScale,Ft=ot==="reset";for(let Qt=nt;Qt0&&this.getParsed(nt-1);for(let sn=nt;sn0&&Math.abs(dn[Yt]-nn[Yt])>tn,en&&(Qn.parsed=dn,Qn.raw=Vt.data[sn]),Zt&&(Qn.options=Xt||this.resolveDataElementOptions(sn,Kt.active?"active":ot)),ln||this.updateElement(Kt,sn,Qn,ot),nn=dn}this.updateSharedOptions(Xt,ot,Wt)}getMaxOverflow(){const tt=this._cachedMeta,nt=tt.data||[];if(!this.options.showLine){let Qt=0;for(let Bt=nt.length-1;Bt>=0;--Bt)Qt=Math.max(Qt,nt[Bt].size(this.resolveDataElementOptions(Bt))/2);return Qt>0&&Qt}const it=tt.dataset,ot=it.options&&it.options.borderWidth||0;if(!nt.length)return ot;const Ut=nt[0].size(this.resolveDataElementOptions(0)),Ft=nt[nt.length-1].size(this.resolveDataElementOptions(nt.length-1));return Math.max(ot,Ut,Ft)/2}}_r(ScatterController,"id","scatter"),_r(ScatterController,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),_r(ScatterController,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PolarAreaController,PieController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{static override(tt){Object.assign(DateAdapterBase.prototype,tt)}constructor(tt){this.options=tt||{}}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(et,tt,nt,it){const{controller:ot,data:Ut,_sorted:Ft}=et,Qt=ot._cachedMeta.iScale;if(Qt&&tt===Qt.axis&&tt!=="r"&&Ft&&Ut.length){const Bt=Qt._reversePixels?_rlookupByKey:_lookupByKey;if(it){if(ot._sharedOptions){const Vt=Ut[0],Wt=typeof Vt.getRange=="function"&&Vt.getRange(tt);if(Wt){const Xt=Bt(Ut,tt,nt-Wt),Zt=Bt(Ut,tt,nt+Wt);return{lo:Xt.lo,hi:Zt.hi}}}}else return Bt(Ut,tt,nt)}return{lo:0,hi:Ut.length-1}}function evaluateInteractionItems(et,tt,nt,it,ot){const Ut=et.getSortedVisibleDatasetMetas(),Ft=nt[tt];for(let Qt=0,Bt=Ut.length;Qt{Bt[Ft](tt[nt],ot)&&(Ut.push({element:Bt,datasetIndex:Vt,index:Wt}),Qt=Qt||Bt.inRange(tt.x,tt.y,ot))}),it&&!Qt?[]:Ut}var Interaction={evaluateInteractionItems,modes:{index(et,tt,nt,it){const ot=getRelativePosition(tt,et),Ut=nt.axis||"x",Ft=nt.includeInvisible||!1,Qt=nt.intersect?getIntersectItems(et,ot,Ut,it,Ft):getNearestItems(et,ot,Ut,!1,it,Ft),Bt=[];return Qt.length?(et.getSortedVisibleDatasetMetas().forEach(Vt=>{const Wt=Qt[0].index,Xt=Vt.data[Wt];Xt&&!Xt.skip&&Bt.push({element:Xt,datasetIndex:Vt.index,index:Wt})}),Bt):[]},dataset(et,tt,nt,it){const ot=getRelativePosition(tt,et),Ut=nt.axis||"xy",Ft=nt.includeInvisible||!1;let Qt=nt.intersect?getIntersectItems(et,ot,Ut,it,Ft):getNearestItems(et,ot,Ut,!1,it,Ft);if(Qt.length>0){const Bt=Qt[0].datasetIndex,Vt=et.getDatasetMeta(Bt).data;Qt=[];for(let Wt=0;Wtnt.pos===tt)}function filterDynamicPositionByAxis(et,tt){return et.filter(nt=>STATIC_POSITIONS.indexOf(nt.pos)===-1&&nt.box.axis===tt)}function sortByWeight(et,tt){return et.sort((nt,it)=>{const ot=tt?it:nt,Ut=tt?nt:it;return ot.weight===Ut.weight?ot.index-Ut.index:ot.weight-Ut.weight})}function wrapBoxes(et){const tt=[];let nt,it,ot,Ut,Ft,Qt;for(nt=0,it=(et||[]).length;ntVt.box.fullSize),!0),it=sortByWeight(filterByPosition(tt,"left"),!0),ot=sortByWeight(filterByPosition(tt,"right")),Ut=sortByWeight(filterByPosition(tt,"top"),!0),Ft=sortByWeight(filterByPosition(tt,"bottom")),Qt=filterDynamicPositionByAxis(tt,"x"),Bt=filterDynamicPositionByAxis(tt,"y");return{fullSize:nt,leftAndTop:it.concat(Ut),rightAndBottom:ot.concat(Bt).concat(Ft).concat(Qt),chartArea:filterByPosition(tt,"chartArea"),vertical:it.concat(ot).concat(Bt),horizontal:Ut.concat(Ft).concat(Qt)}}function getCombinedMax(et,tt,nt,it){return Math.max(et[nt],tt[nt])+Math.max(et[it],tt[it])}function updateMaxPadding(et,tt){et.top=Math.max(et.top,tt.top),et.left=Math.max(et.left,tt.left),et.bottom=Math.max(et.bottom,tt.bottom),et.right=Math.max(et.right,tt.right)}function updateDims(et,tt,nt,it){const{pos:ot,box:Ut}=nt,Ft=et.maxPadding;if(!isObject(ot)){nt.size&&(et[ot]-=nt.size);const Xt=it[nt.stack]||{size:0,count:1};Xt.size=Math.max(Xt.size,nt.horizontal?Ut.height:Ut.width),nt.size=Xt.size/Xt.count,et[ot]+=nt.size}Ut.getPadding&&updateMaxPadding(Ft,Ut.getPadding());const Qt=Math.max(0,tt.outerWidth-getCombinedMax(Ft,et,"left","right")),Bt=Math.max(0,tt.outerHeight-getCombinedMax(Ft,et,"top","bottom")),Vt=Qt!==et.w,Wt=Bt!==et.h;return et.w=Qt,et.h=Bt,nt.horizontal?{same:Vt,other:Wt}:{same:Wt,other:Vt}}function handleMaxPadding(et){const tt=et.maxPadding;function nt(it){const ot=Math.max(tt[it]-et[it],0);return et[it]+=ot,ot}et.y+=nt("top"),et.x+=nt("left"),nt("right"),nt("bottom")}function getMargins(et,tt){const nt=tt.maxPadding;function it(ot){const Ut={left:0,top:0,right:0,bottom:0};return ot.forEach(Ft=>{Ut[Ft]=Math.max(tt[Ft],nt[Ft])}),Ut}return it(et?["left","right"]:["top","bottom"])}function fitBoxes(et,tt,nt,it){const ot=[];let Ut,Ft,Qt,Bt,Vt,Wt;for(Ut=0,Ft=et.length,Vt=0;Ut{typeof Gt.beforeLayout=="function"&&Gt.beforeLayout()});const Wt=Bt.reduce((Gt,en)=>en.box.options&&en.box.options.display===!1?Gt:Gt+1,0)||1,Xt=Object.freeze({outerWidth:tt,outerHeight:nt,padding:ot,availableWidth:Ut,availableHeight:Ft,vBoxMaxWidth:Ut/2/Wt,hBoxMaxHeight:Ft/2}),Zt=Object.assign({},ot);updateMaxPadding(Zt,toPadding(it));const Yt=Object.assign({maxPadding:Zt,w:Ut,h:Ft,x:ot.left,y:ot.top},ot),Mt=setLayoutDims(Bt.concat(Vt),Xt);fitBoxes(Qt.fullSize,Yt,Xt,Mt),fitBoxes(Bt,Yt,Xt,Mt),fitBoxes(Vt,Yt,Xt,Mt)&&fitBoxes(Bt,Yt,Xt,Mt),handleMaxPadding(Yt),placeBoxes(Qt.leftAndTop,Yt,Xt,Mt),Yt.x+=Yt.w,Yt.y+=Yt.h,placeBoxes(Qt.rightAndBottom,Yt,Xt,Mt),et.chartArea={left:Yt.left,top:Yt.top,right:Yt.left+Yt.w,bottom:Yt.top+Yt.h,height:Yt.h,width:Yt.w},each(Qt.chartArea,Gt=>{const en=Gt.box;Object.assign(en,et.chartArea),en.update(Yt.w,Yt.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(tt,nt){}releaseContext(tt){return!1}addEventListener(tt,nt,it){}removeEventListener(tt,nt,it){}getDevicePixelRatio(){return 1}getMaximumSize(tt,nt,it,ot){return nt=Math.max(0,nt||tt.width),it=it||tt.height,{width:nt,height:Math.max(0,ot?Math.floor(nt/ot):it)}}isAttached(tt){return!0}updateConfig(tt){}}class BasicPlatform extends BasePlatform{acquireContext(tt){return tt&&tt.getContext&&tt.getContext("2d")||null}updateConfig(tt){tt.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=et=>et===null||et==="";function initCanvas(et,tt){const nt=et.style,it=et.getAttribute("height"),ot=et.getAttribute("width");if(et[EXPANDO_KEY]={initial:{height:it,width:ot,style:{display:nt.display,height:nt.height,width:nt.width}}},nt.display=nt.display||"block",nt.boxSizing=nt.boxSizing||"border-box",isNullOrEmpty(ot)){const Ut=readUsedSize(et,"width");Ut!==void 0&&(et.width=Ut)}if(isNullOrEmpty(it))if(et.style.height==="")et.height=et.width/(tt||2);else{const Ut=readUsedSize(et,"height");Ut!==void 0&&(et.height=Ut)}return et}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(et,tt,nt){et.addEventListener(tt,nt,eventListenerOptions)}function removeListener(et,tt,nt){et.canvas.removeEventListener(tt,nt,eventListenerOptions)}function fromNativeEvent(et,tt){const nt=EVENT_TYPES[et.type]||et.type,{x:it,y:ot}=getRelativePosition(et,tt);return{type:nt,chart:tt,native:et,x:it!==void 0?it:null,y:ot!==void 0?ot:null}}function nodeListContains(et,tt){for(const nt of et)if(nt===tt||nt.contains(tt))return!0}function createAttachObserver(et,tt,nt){const it=et.canvas,ot=new MutationObserver(Ut=>{let Ft=!1;for(const Qt of Ut)Ft=Ft||nodeListContains(Qt.addedNodes,it),Ft=Ft&&!nodeListContains(Qt.removedNodes,it);Ft&&nt()});return ot.observe(document,{childList:!0,subtree:!0}),ot}function createDetachObserver(et,tt,nt){const it=et.canvas,ot=new MutationObserver(Ut=>{let Ft=!1;for(const Qt of Ut)Ft=Ft||nodeListContains(Qt.removedNodes,it),Ft=Ft&&!nodeListContains(Qt.addedNodes,it);Ft&&nt()});return ot.observe(document,{childList:!0,subtree:!0}),ot}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const et=window.devicePixelRatio;et!==oldDevicePixelRatio&&(oldDevicePixelRatio=et,drpListeningCharts.forEach((tt,nt)=>{nt.currentDevicePixelRatio!==et&&tt()}))}function listenDevicePixelRatioChanges(et,tt){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(et,tt)}function unlistenDevicePixelRatioChanges(et){drpListeningCharts.delete(et),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(et,tt,nt){const it=et.canvas,ot=it&&_getParentNode(it);if(!ot)return;const Ut=throttled((Qt,Bt)=>{const Vt=ot.clientWidth;nt(Qt,Bt),Vt{const Bt=Qt[0],Vt=Bt.contentRect.width,Wt=Bt.contentRect.height;Vt===0&&Wt===0||Ut(Vt,Wt)});return Ft.observe(ot),listenDevicePixelRatioChanges(et,Ut),Ft}function releaseObserver(et,tt,nt){nt&&nt.disconnect(),tt==="resize"&&unlistenDevicePixelRatioChanges(et)}function createProxyAndListen(et,tt,nt){const it=et.canvas,ot=throttled(Ut=>{et.ctx!==null&&nt(fromNativeEvent(Ut,et))},et);return addListener(it,tt,ot),ot}class DomPlatform extends BasePlatform{acquireContext(tt,nt){const it=tt&&tt.getContext&&tt.getContext("2d");return it&&it.canvas===tt?(initCanvas(tt,nt),it):null}releaseContext(tt){const nt=tt.canvas;if(!nt[EXPANDO_KEY])return!1;const it=nt[EXPANDO_KEY].initial;["height","width"].forEach(Ut=>{const Ft=it[Ut];isNullOrUndef(Ft)?nt.removeAttribute(Ut):nt.setAttribute(Ut,Ft)});const ot=it.style||{};return Object.keys(ot).forEach(Ut=>{nt.style[Ut]=ot[Ut]}),nt.width=nt.width,delete nt[EXPANDO_KEY],!0}addEventListener(tt,nt,it){this.removeEventListener(tt,nt);const ot=tt.$proxies||(tt.$proxies={}),Ft={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[nt]||createProxyAndListen;ot[nt]=Ft(tt,nt,it)}removeEventListener(tt,nt){const it=tt.$proxies||(tt.$proxies={}),ot=it[nt];if(!ot)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[nt]||removeListener)(tt,nt,ot),it[nt]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(tt,nt,it,ot){return getMaximumSize(tt,nt,it,ot)}isAttached(tt){const nt=_getParentNode(tt);return!!(nt&&nt.isConnected)}}function _detectPlatform(et){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&et instanceof OffscreenCanvas?BasicPlatform:DomPlatform}class Element{constructor(){_r(this,"active",!1)}tooltipPosition(tt){const{x:nt,y:it}=this.getProps(["x","y"],tt);return{x:nt,y:it}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(tt,nt){const it=this.$animations;if(!nt||!it)return this;const ot={};return tt.forEach(Ut=>{ot[Ut]=it[Ut]&&it[Ut].active()?it[Ut]._to:this[Ut]}),ot}}_r(Element,"defaults",{}),_r(Element,"defaultRoutes");function autoSkip(et,tt){const nt=et.options.ticks,it=determineMaxTicks(et),ot=Math.min(nt.maxTicksLimit||it,it),Ut=nt.major.enabled?getMajorIndices(tt):[],Ft=Ut.length,Qt=Ut[0],Bt=Ut[Ft-1],Vt=[];if(Ft>ot)return skipMajors(tt,Vt,Ut,Ft/ot),Vt;const Wt=calculateSpacing(Ut,tt,ot);if(Ft>0){let Xt,Zt;const Yt=Ft>1?Math.round((Bt-Qt)/(Ft-1)):null;for(skip(tt,Vt,Wt,isNullOrUndef(Yt)?0:Qt-Yt,Qt),Xt=0,Zt=Ft-1;Xtot)return Bt}return Math.max(ot,1)}function getMajorIndices(et){const tt=[];let nt,it;for(nt=0,it=et.length;ntet==="left"?"right":et==="right"?"left":et,offsetFromEdge=(et,tt,nt)=>tt==="top"||tt==="left"?et[tt]+nt:et[tt]-nt,getTicksLimit=(et,tt)=>Math.min(tt||et,et);function sample(et,tt){const nt=[],it=et.length/tt,ot=et.length;let Ut=0;for(;UtFt+Qt)))return Bt}function garbageCollect(et,tt){each(et,nt=>{const it=nt.gc,ot=it.length/2;let Ut;if(ot>tt){for(Ut=0;Utit?it:nt,it=ot&&nt>it?nt:it,{min:finiteOrDefault(nt,finiteOrDefault(it,nt)),max:finiteOrDefault(it,finiteOrDefault(nt,it))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const tt=this.chart.data;return this.options.labels||(this.isHorizontal()?tt.xLabels:tt.yLabels)||tt.labels||[]}getLabelItems(tt=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(tt))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(tt,nt,it){const{beginAtZero:ot,grace:Ut,ticks:Ft}=this.options,Qt=Ft.sampleSize;this.beforeUpdate(),this.maxWidth=tt,this.maxHeight=nt,this._margins=it=Object.assign({left:0,right:0,top:0,bottom:0},it),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+it.left+it.right:this.height+it.top+it.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,Ut,ot),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const Bt=Qt=Ut||it<=1||!this.isHorizontal()){this.labelRotation=ot;return}const Wt=this._getLabelSizes(),Xt=Wt.widest.width,Zt=Wt.highest.height,Yt=_limitValue(this.chart.width-Xt,0,this.maxWidth);Qt=tt.offset?this.maxWidth/it:Yt/(it-1),Xt+6>Qt&&(Qt=Yt/(it-(tt.offset?.5:1)),Bt=this.maxHeight-getTickMarkLength(tt.grid)-nt.padding-getTitleHeight(tt.title,this.chart.options.font),Vt=Math.sqrt(Xt*Xt+Zt*Zt),Ft=toDegrees(Math.min(Math.asin(_limitValue((Wt.highest.height+6)/Qt,-1,1)),Math.asin(_limitValue(Bt/Vt,-1,1))-Math.asin(_limitValue(Zt/Vt,-1,1)))),Ft=Math.max(ot,Math.min(Ut,Ft))),this.labelRotation=Ft}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const tt={width:0,height:0},{chart:nt,options:{ticks:it,title:ot,grid:Ut}}=this,Ft=this._isVisible(),Qt=this.isHorizontal();if(Ft){const Bt=getTitleHeight(ot,nt.options.font);if(Qt?(tt.width=this.maxWidth,tt.height=getTickMarkLength(Ut)+Bt):(tt.height=this.maxHeight,tt.width=getTickMarkLength(Ut)+Bt),it.display&&this.ticks.length){const{first:Vt,last:Wt,widest:Xt,highest:Zt}=this._getLabelSizes(),Yt=it.padding*2,Mt=toRadians(this.labelRotation),Gt=Math.cos(Mt),en=Math.sin(Mt);if(Qt){const tn=it.mirror?0:en*Xt.width+Gt*Zt.height;tt.height=Math.min(this.maxHeight,tt.height+tn+Yt)}else{const tn=it.mirror?0:Gt*Xt.width+en*Zt.height;tt.width=Math.min(this.maxWidth,tt.width+tn+Yt)}this._calculatePadding(Vt,Wt,en,Gt)}}this._handleMargins(),Qt?(this.width=this._length=nt.width-this._margins.left-this._margins.right,this.height=tt.height):(this.width=tt.width,this.height=this._length=nt.height-this._margins.top-this._margins.bottom)}_calculatePadding(tt,nt,it,ot){const{ticks:{align:Ut,padding:Ft},position:Qt}=this.options,Bt=this.labelRotation!==0,Vt=Qt!=="top"&&this.axis==="x";if(this.isHorizontal()){const Wt=this.getPixelForTick(0)-this.left,Xt=this.right-this.getPixelForTick(this.ticks.length-1);let Zt=0,Yt=0;Bt?Vt?(Zt=ot*tt.width,Yt=it*nt.height):(Zt=it*tt.height,Yt=ot*nt.width):Ut==="start"?Yt=nt.width:Ut==="end"?Zt=tt.width:Ut!=="inner"&&(Zt=tt.width/2,Yt=nt.width/2),this.paddingLeft=Math.max((Zt-Wt+Ft)*this.width/(this.width-Wt),0),this.paddingRight=Math.max((Yt-Xt+Ft)*this.width/(this.width-Xt),0)}else{let Wt=nt.height/2,Xt=tt.height/2;Ut==="start"?(Wt=0,Xt=tt.height):Ut==="end"&&(Wt=nt.height,Xt=0),this.paddingTop=Wt+Ft,this.paddingBottom=Xt+Ft}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:tt,position:nt}=this.options;return nt==="top"||nt==="bottom"||tt==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(tt){this.beforeTickToLabelConversion(),this.generateTickLabels(tt);let nt,it;for(nt=0,it=tt.length;nt({width:Ft[an]||0,height:Qt[an]||0});return{first:En(0),last:En(nt-1),widest:En(dn),highest:En(Qn),widths:Ft,heights:Qt}}getLabelForValue(tt){return tt}getPixelForValue(tt,nt){return NaN}getValueForPixel(tt){}getPixelForTick(tt){const nt=this.ticks;return tt<0||tt>nt.length-1?null:this.getPixelForValue(nt[tt].value)}getPixelForDecimal(tt){this._reversePixels&&(tt=1-tt);const nt=this._startPixel+tt*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,nt,0):nt)}getDecimalForPixel(tt){const nt=(tt-this._startPixel)/this._length;return this._reversePixels?1-nt:nt}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:tt,max:nt}=this;return tt<0&&nt<0?nt:tt>0&&nt>0?tt:0}getContext(tt){const nt=this.ticks||[];if(tt>=0&&ttQt*ot?Qt/it:Bt/ot:Bt*ot0}_computeGridLineItems(tt){const nt=this.axis,it=this.chart,ot=this.options,{grid:Ut,position:Ft,border:Qt}=ot,Bt=Ut.offset,Vt=this.isHorizontal(),Xt=this.ticks.length+(Bt?1:0),Zt=getTickMarkLength(Ut),Yt=[],Mt=Qt.setContext(this.getContext()),Gt=Mt.display?Mt.width:0,en=Gt/2,tn=function(pn){return _alignPixel(it,pn,Gt)};let ln,nn,sn,Kt,dn,Qn,En,an,rn,gn,un,Un;if(Ft==="top")ln=tn(this.bottom),Qn=this.bottom-Zt,an=ln-en,gn=tn(tt.top)+en,Un=tt.bottom;else if(Ft==="bottom")ln=tn(this.top),gn=tt.top,Un=tn(tt.bottom)-en,Qn=ln+en,an=this.top+Zt;else if(Ft==="left")ln=tn(this.right),dn=this.right-Zt,En=ln-en,rn=tn(tt.left)+en,un=tt.right;else if(Ft==="right")ln=tn(this.left),rn=tt.left,un=tn(tt.right)-en,dn=ln+en,En=this.left+Zt;else if(nt==="x"){if(Ft==="center")ln=tn((tt.top+tt.bottom)/2+.5);else if(isObject(Ft)){const pn=Object.keys(Ft)[0],Rn=Ft[pn];ln=tn(this.chart.scales[pn].getPixelForValue(Rn))}gn=tt.top,Un=tt.bottom,Qn=ln+en,an=Qn+Zt}else if(nt==="y"){if(Ft==="center")ln=tn((tt.left+tt.right)/2);else if(isObject(Ft)){const pn=Object.keys(Ft)[0],Rn=Ft[pn];ln=tn(this.chart.scales[pn].getPixelForValue(Rn))}dn=ln-en,En=dn-Zt,rn=tt.left,un=tt.right}const _n=valueOrDefault(ot.ticks.maxTicksLimit,Xt),vn=Math.max(1,Math.ceil(Xt/_n));for(nn=0;nnUt.value===tt);return ot>=0?nt.setContext(this.getContext(ot)).lineWidth:0}drawGrid(tt){const nt=this.options.grid,it=this.ctx,ot=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(tt));let Ut,Ft;const Qt=(Bt,Vt,Wt)=>{!Wt.width||!Wt.color||(it.save(),it.lineWidth=Wt.width,it.strokeStyle=Wt.color,it.setLineDash(Wt.borderDash||[]),it.lineDashOffset=Wt.borderDashOffset,it.beginPath(),it.moveTo(Bt.x,Bt.y),it.lineTo(Vt.x,Vt.y),it.stroke(),it.restore())};if(nt.display)for(Ut=0,Ft=ot.length;Ut{this.draw(Ut)}}]:[{z:it,draw:Ut=>{this.drawBackground(),this.drawGrid(Ut),this.drawTitle()}},{z:ot,draw:()=>{this.drawBorder()}},{z:nt,draw:Ut=>{this.drawLabels(Ut)}}]}getMatchingVisibleMetas(tt){const nt=this.chart.getSortedVisibleDatasetMetas(),it=this.axis+"AxisID",ot=[];let Ut,Ft;for(Ut=0,Ft=nt.length;Ut{const it=nt.split("."),ot=it.pop(),Ut=[et].concat(it).join("."),Ft=tt[nt].split("."),Qt=Ft.pop(),Bt=Ft.join(".");defaults.route(Ut,ot,Bt,Qt)})}function isIChartComponent(et){return"id"in et&&"defaults"in et}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...tt){this._each("register",tt)}remove(...tt){this._each("unregister",tt)}addControllers(...tt){this._each("register",tt,this.controllers)}addElements(...tt){this._each("register",tt,this.elements)}addPlugins(...tt){this._each("register",tt,this.plugins)}addScales(...tt){this._each("register",tt,this.scales)}getController(tt){return this._get(tt,this.controllers,"controller")}getElement(tt){return this._get(tt,this.elements,"element")}getPlugin(tt){return this._get(tt,this.plugins,"plugin")}getScale(tt){return this._get(tt,this.scales,"scale")}removeControllers(...tt){this._each("unregister",tt,this.controllers)}removeElements(...tt){this._each("unregister",tt,this.elements)}removePlugins(...tt){this._each("unregister",tt,this.plugins)}removeScales(...tt){this._each("unregister",tt,this.scales)}_each(tt,nt,it){[...nt].forEach(ot=>{const Ut=it||this._getRegistryForType(ot);it||Ut.isForType(ot)||Ut===this.plugins&&ot.id?this._exec(tt,Ut,ot):each(ot,Ft=>{const Qt=it||this._getRegistryForType(Ft);this._exec(tt,Qt,Ft)})})}_exec(tt,nt,it){const ot=_capitalize(tt);callback(it["before"+ot],[],it),nt[tt](it),callback(it["after"+ot],[],it)}_getRegistryForType(tt){for(let nt=0;ntUt.filter(Qt=>!Ft.some(Bt=>Qt.plugin.id===Bt.plugin.id));this._notify(ot(nt,it),tt,"stop"),this._notify(ot(it,nt),tt,"start")}}function allPlugins(et){const tt={},nt=[],it=Object.keys(registry.plugins.items);for(let Ut=0;Ut1&&determineAxis(et[0].toLowerCase(),tt),et))return et;throw new Error(`Cannot determine type of '${name}' axis. Please provide 'axis' or 'position' option.`)}function mergeScaleConfig(et,tt){const nt=overrides[et.type]||{scales:{}},it=tt.scales||{},ot=getIndexAxis(et.type,tt),Ut=Object.create(null);return Object.keys(it).forEach(Ft=>{const Qt=it[Ft];if(!isObject(Qt))return console.error(`Invalid scale configuration for scale: ${Ft}`);if(Qt._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${Ft}`);const Bt=determineAxis(Ft,Qt),Vt=getDefaultScaleIDFromAxis(Bt,ot),Wt=nt.scales||{};Ut[Ft]=mergeIf(Object.create(null),[{axis:Bt},Qt,Wt[Bt],Wt[Vt]])}),et.data.datasets.forEach(Ft=>{const Qt=Ft.type||et.type,Bt=Ft.indexAxis||getIndexAxis(Qt,tt),Wt=(overrides[Qt]||{}).scales||{};Object.keys(Wt).forEach(Xt=>{const Zt=getAxisFromDefaultScaleID(Xt,Bt),Yt=Ft[Zt+"AxisID"]||Zt;Ut[Yt]=Ut[Yt]||Object.create(null),mergeIf(Ut[Yt],[{axis:Zt},it[Yt],Wt[Xt]])})}),Object.keys(Ut).forEach(Ft=>{const Qt=Ut[Ft];mergeIf(Qt,[defaults.scales[Qt.type],defaults.scale])}),Ut}function initOptions(et){const tt=et.options||(et.options={});tt.plugins=valueOrDefault(tt.plugins,{}),tt.scales=mergeScaleConfig(et,tt)}function initData(et){return et=et||{},et.datasets=et.datasets||[],et.labels=et.labels||[],et}function initConfig(et){return et=et||{},et.data=initData(et.data),initOptions(et),et}const keyCache=new Map,keysCached=new Set;function cachedKeys(et,tt){let nt=keyCache.get(et);return nt||(nt=tt(),keyCache.set(et,nt),keysCached.add(nt)),nt}const addIfFound=(et,tt,nt)=>{const it=resolveObjectKey(tt,nt);it!==void 0&&et.add(it)};class Config{constructor(tt){this._config=initConfig(tt),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(tt){this._config.type=tt}get data(){return this._config.data}set data(tt){this._config.data=initData(tt)}get options(){return this._config.options}set options(tt){this._config.options=tt}get plugins(){return this._config.plugins}update(){const tt=this._config;this.clearCache(),initOptions(tt)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(tt){return cachedKeys(tt,()=>[[`datasets.${tt}`,""]])}datasetAnimationScopeKeys(tt,nt){return cachedKeys(`${tt}.transition.${nt}`,()=>[[`datasets.${tt}.transitions.${nt}`,`transitions.${nt}`],[`datasets.${tt}`,""]])}datasetElementScopeKeys(tt,nt){return cachedKeys(`${tt}-${nt}`,()=>[[`datasets.${tt}.elements.${nt}`,`datasets.${tt}`,`elements.${nt}`,""]])}pluginScopeKeys(tt){const nt=tt.id,it=this.type;return cachedKeys(`${it}-plugin-${nt}`,()=>[[`plugins.${nt}`,...tt.additionalOptionScopes||[]]])}_cachedScopes(tt,nt){const it=this._scopeCache;let ot=it.get(tt);return(!ot||nt)&&(ot=new Map,it.set(tt,ot)),ot}getOptionScopes(tt,nt,it){const{options:ot,type:Ut}=this,Ft=this._cachedScopes(tt,it),Qt=Ft.get(nt);if(Qt)return Qt;const Bt=new Set;nt.forEach(Wt=>{tt&&(Bt.add(tt),Wt.forEach(Xt=>addIfFound(Bt,tt,Xt))),Wt.forEach(Xt=>addIfFound(Bt,ot,Xt)),Wt.forEach(Xt=>addIfFound(Bt,overrides[Ut]||{},Xt)),Wt.forEach(Xt=>addIfFound(Bt,defaults,Xt)),Wt.forEach(Xt=>addIfFound(Bt,descriptors,Xt))});const Vt=Array.from(Bt);return Vt.length===0&&Vt.push(Object.create(null)),keysCached.has(nt)&&Ft.set(nt,Vt),Vt}chartOptionScopes(){const{options:tt,type:nt}=this;return[tt,overrides[nt]||{},defaults.datasets[nt]||{},{type:nt},defaults,descriptors]}resolveNamedOptions(tt,nt,it,ot=[""]){const Ut={$shared:!0},{resolver:Ft,subPrefixes:Qt}=getResolver(this._resolverCache,tt,ot);let Bt=Ft;if(needContext(Ft,nt)){Ut.$shared=!1,it=isFunction(it)?it():it;const Vt=this.createResolver(tt,it,Qt);Bt=_attachContext(Ft,it,Vt)}for(const Vt of nt)Ut[Vt]=Bt[Vt];return Ut}createResolver(tt,nt,it=[""],ot){const{resolver:Ut}=getResolver(this._resolverCache,tt,it);return isObject(nt)?_attachContext(Ut,nt,void 0,ot):Ut}}function getResolver(et,tt,nt){let it=et.get(tt);it||(it=new Map,et.set(tt,it));const ot=nt.join();let Ut=it.get(ot);return Ut||(Ut={resolver:_createResolver(tt,nt),subPrefixes:nt.filter(Qt=>!Qt.toLowerCase().includes("hover"))},it.set(ot,Ut)),Ut}const hasFunction=et=>isObject(et)&&Object.getOwnPropertyNames(et).reduce((tt,nt)=>tt||isFunction(et[nt]),!1);function needContext(et,tt){const{isScriptable:nt,isIndexable:it}=_descriptors(et);for(const ot of tt){const Ut=nt(ot),Ft=it(ot),Qt=(Ft||Ut)&&et[ot];if(Ut&&(isFunction(Qt)||hasFunction(Qt))||Ft&&isArray(Qt))return!0}return!1}var version="4.2.1";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(et,tt){return et==="top"||et==="bottom"||KNOWN_POSITIONS.indexOf(et)===-1&&tt==="x"}function compare2Level(et,tt){return function(nt,it){return nt[et]===it[et]?nt[tt]-it[tt]:nt[et]-it[et]}}function onAnimationsComplete(et){const tt=et.chart,nt=tt.options.animation;tt.notifyPlugins("afterRender"),callback(nt&&nt.onComplete,[et],tt)}function onAnimationProgress(et){const tt=et.chart,nt=tt.options.animation;callback(nt&&nt.onProgress,[et],tt)}function getCanvas(et){return _isDomSupported()&&typeof et=="string"?et=document.getElementById(et):et&&et.length&&(et=et[0]),et&&et.canvas&&(et=et.canvas),et}const instances={},getChart=et=>{const tt=getCanvas(et);return Object.values(instances).filter(nt=>nt.canvas===tt).pop()};function moveNumericKeys(et,tt,nt){const it=Object.keys(et);for(const ot of it){const Ut=+ot;if(Ut>=tt){const Ft=et[ot];delete et[ot],(nt>0||Ut>tt)&&(et[Ut+nt]=Ft)}}}function determineLastEvent(et,tt,nt,it){return!nt||et.type==="mouseout"?null:it?tt:et}function getDatasetArea(et){const{xScale:tt,yScale:nt}=et;if(tt&&nt)return{left:tt.left,right:tt.right,top:nt.top,bottom:nt.bottom}}class Chart{static register(...tt){registry.add(...tt),invalidatePlugins()}static unregister(...tt){registry.remove(...tt),invalidatePlugins()}constructor(tt,nt){const it=this.config=new Config(nt),ot=getCanvas(tt),Ut=getChart(ot);if(Ut)throw new Error("Canvas is already in use. Chart with ID '"+Ut.id+"' must be destroyed before the canvas with ID '"+Ut.canvas.id+"' can be reused.");const Ft=it.createResolver(it.chartOptionScopes(),this.getContext());this.platform=new(it.platform||_detectPlatform(ot)),this.platform.updateConfig(it);const Qt=this.platform.acquireContext(ot,Ft.aspectRatio),Bt=Qt&&Qt.canvas,Vt=Bt&&Bt.height,Wt=Bt&&Bt.width;if(this.id=uid(),this.ctx=Qt,this.canvas=Bt,this.width=Wt,this.height=Vt,this._options=Ft,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(Xt=>this.update(Xt),Ft.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!Qt||!Bt){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:tt,maintainAspectRatio:nt},width:it,height:ot,_aspectRatio:Ut}=this;return isNullOrUndef(tt)?nt&&Ut?Ut:ot?it/ot:null:tt}get data(){return this.config.data}set data(tt){this.config.data=tt}get options(){return this._options}set options(tt){this.config.options=tt}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(tt,nt){animator.running(this)?this._resizeBeforeDraw={width:tt,height:nt}:this._resize(tt,nt)}_resize(tt,nt){const it=this.options,ot=this.canvas,Ut=it.maintainAspectRatio&&this.aspectRatio,Ft=this.platform.getMaximumSize(ot,tt,nt,Ut),Qt=it.devicePixelRatio||this.platform.getDevicePixelRatio(),Bt=this.width?"resize":"attach";this.width=Ft.width,this.height=Ft.height,this._aspectRatio=this.aspectRatio,retinaScale(this,Qt,!0)&&(this.notifyPlugins("resize",{size:Ft}),callback(it.onResize,[this,Ft],this),this.attached&&this._doResize(Bt)&&this.render())}ensureScalesHaveIDs(){const nt=this.options.scales||{};each(nt,(it,ot)=>{it.id=ot})}buildOrUpdateScales(){const tt=this.options,nt=tt.scales,it=this.scales,ot=Object.keys(it).reduce((Ft,Qt)=>(Ft[Qt]=!1,Ft),{});let Ut=[];nt&&(Ut=Ut.concat(Object.keys(nt).map(Ft=>{const Qt=nt[Ft],Bt=determineAxis(Ft,Qt),Vt=Bt==="r",Wt=Bt==="x";return{options:Qt,dposition:Vt?"chartArea":Wt?"bottom":"left",dtype:Vt?"radialLinear":Wt?"category":"linear"}}))),each(Ut,Ft=>{const Qt=Ft.options,Bt=Qt.id,Vt=determineAxis(Bt,Qt),Wt=valueOrDefault(Qt.type,Ft.dtype);(Qt.position===void 0||positionIsHorizontal(Qt.position,Vt)!==positionIsHorizontal(Ft.dposition))&&(Qt.position=Ft.dposition),ot[Bt]=!0;let Xt=null;if(Bt in it&&it[Bt].type===Wt)Xt=it[Bt];else{const Zt=registry.getScale(Wt);Xt=new Zt({id:Bt,type:Wt,ctx:this.ctx,chart:this}),it[Xt.id]=Xt}Xt.init(Qt,tt)}),each(ot,(Ft,Qt)=>{Ft||delete it[Qt]}),each(it,Ft=>{layouts.configure(this,Ft,Ft.options),layouts.addBox(this,Ft)})}_updateMetasets(){const tt=this._metasets,nt=this.data.datasets.length,it=tt.length;if(tt.sort((ot,Ut)=>ot.index-Ut.index),it>nt){for(let ot=nt;otnt.length&&delete this._stacks,tt.forEach((it,ot)=>{nt.filter(Ut=>Ut===it._dataset).length===0&&this._destroyDatasetMeta(ot)})}buildOrUpdateControllers(){const tt=[],nt=this.data.datasets;let it,ot;for(this._removeUnreferencedMetasets(),it=0,ot=nt.length;it{this.getDatasetMeta(nt).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(tt){const nt=this.config;nt.update();const it=this._options=nt.createResolver(nt.chartOptionScopes(),this.getContext()),ot=this._animationsDisabled=!it.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:tt,cancelable:!0})===!1)return;const Ut=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let Ft=0;for(let Vt=0,Wt=this.data.datasets.length;Vt{Vt.reset()}),this._updateDatasets(tt),this.notifyPlugins("afterUpdate",{mode:tt}),this._layers.sort(compare2Level("z","_idx"));const{_active:Qt,_lastEvent:Bt}=this;Bt?this._eventHandler(Bt,!0):Qt.length&&this._updateHoverStyles(Qt,Qt,!0),this.render()}_updateScales(){each(this.scales,tt=>{layouts.removeBox(this,tt)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const tt=this.options,nt=new Set(Object.keys(this._listeners)),it=new Set(tt.events);(!setsEqual(nt,it)||!!this._responsiveListeners!==tt.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:tt}=this,nt=this._getUniformDataChanges()||[];for(const{method:it,start:ot,count:Ut}of nt){const Ft=it==="_removeElements"?-Ut:Ut;moveNumericKeys(tt,ot,Ft)}}_getUniformDataChanges(){const tt=this._dataChanges;if(!tt||!tt.length)return;this._dataChanges=[];const nt=this.data.datasets.length,it=Ut=>new Set(tt.filter(Ft=>Ft[0]===Ut).map((Ft,Qt)=>Qt+","+Ft.splice(1).join(","))),ot=it(0);for(let Ut=1;UtUt.split(",")).map(Ut=>({method:Ut[1],start:+Ut[2],count:+Ut[3]}))}_updateLayout(tt){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,tt);const nt=this.chartArea,it=nt.width<=0||nt.height<=0;this._layers=[],each(this.boxes,ot=>{it&&ot.position==="chartArea"||(ot.configure&&ot.configure(),this._layers.push(...ot._layers()))},this),this._layers.forEach((ot,Ut)=>{ot._idx=Ut}),this.notifyPlugins("afterLayout")}_updateDatasets(tt){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:tt,cancelable:!0})!==!1){for(let nt=0,it=this.data.datasets.length;nt=0;--nt)this._drawDataset(tt[nt]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(tt){const nt=this.ctx,it=tt._clip,ot=!it.disabled,Ut=getDatasetArea(tt)||this.chartArea,Ft={meta:tt,index:tt.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",Ft)!==!1&&(ot&&clipArea(nt,{left:it.left===!1?0:Ut.left-it.left,right:it.right===!1?this.width:Ut.right+it.right,top:it.top===!1?0:Ut.top-it.top,bottom:it.bottom===!1?this.height:Ut.bottom+it.bottom}),tt.controller.draw(),ot&&unclipArea(nt),Ft.cancelable=!1,this.notifyPlugins("afterDatasetDraw",Ft))}isPointInArea(tt){return _isPointInArea(tt,this.chartArea,this._minPadding)}getElementsAtEventForMode(tt,nt,it,ot){const Ut=Interaction.modes[nt];return typeof Ut=="function"?Ut(this,tt,it,ot):[]}getDatasetMeta(tt){const nt=this.data.datasets[tt],it=this._metasets;let ot=it.filter(Ut=>Ut&&Ut._dataset===nt).pop();return ot||(ot={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:nt&&nt.order||0,index:tt,_dataset:nt,_parsed:[],_sorted:!1},it.push(ot)),ot}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(tt){const nt=this.data.datasets[tt];if(!nt)return!1;const it=this.getDatasetMeta(tt);return typeof it.hidden=="boolean"?!it.hidden:!nt.hidden}setDatasetVisibility(tt,nt){const it=this.getDatasetMeta(tt);it.hidden=!nt}toggleDataVisibility(tt){this._hiddenIndices[tt]=!this._hiddenIndices[tt]}getDataVisibility(tt){return!this._hiddenIndices[tt]}_updateVisibility(tt,nt,it){const ot=it?"show":"hide",Ut=this.getDatasetMeta(tt),Ft=Ut.controller._resolveAnimations(void 0,ot);defined(nt)?(Ut.data[nt].hidden=!it,this.update()):(this.setDatasetVisibility(tt,it),Ft.update(Ut,{visible:it}),this.update(Qt=>Qt.datasetIndex===tt?ot:void 0))}hide(tt,nt){this._updateVisibility(tt,nt,!1)}show(tt,nt){this._updateVisibility(tt,nt,!0)}_destroyDatasetMeta(tt){const nt=this._metasets[tt];nt&&nt.controller&&nt.controller._destroy(),delete this._metasets[tt]}_stop(){let tt,nt;for(this.stop(),animator.remove(this),tt=0,nt=this.data.datasets.length;tt{nt.addEventListener(this,Ut,Ft),tt[Ut]=Ft},ot=(Ut,Ft,Qt)=>{Ut.offsetX=Ft,Ut.offsetY=Qt,this._eventHandler(Ut)};each(this.options.events,Ut=>it(Ut,ot))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const tt=this._responsiveListeners,nt=this.platform,it=(Bt,Vt)=>{nt.addEventListener(this,Bt,Vt),tt[Bt]=Vt},ot=(Bt,Vt)=>{tt[Bt]&&(nt.removeEventListener(this,Bt,Vt),delete tt[Bt])},Ut=(Bt,Vt)=>{this.canvas&&this.resize(Bt,Vt)};let Ft;const Qt=()=>{ot("attach",Qt),this.attached=!0,this.resize(),it("resize",Ut),it("detach",Ft)};Ft=()=>{this.attached=!1,ot("resize",Ut),this._stop(),this._resize(0,0),it("attach",Qt)},nt.isAttached(this.canvas)?Qt():Ft()}unbindEvents(){each(this._listeners,(tt,nt)=>{this.platform.removeEventListener(this,nt,tt)}),this._listeners={},each(this._responsiveListeners,(tt,nt)=>{this.platform.removeEventListener(this,nt,tt)}),this._responsiveListeners=void 0}updateHoverStyle(tt,nt,it){const ot=it?"set":"remove";let Ut,Ft,Qt,Bt;for(nt==="dataset"&&(Ut=this.getDatasetMeta(tt[0].datasetIndex),Ut.controller["_"+ot+"DatasetHoverStyle"]()),Qt=0,Bt=tt.length;Qt{const Qt=this.getDatasetMeta(Ut);if(!Qt)throw new Error("No dataset found at index "+Ut);return{datasetIndex:Ut,element:Qt.data[Ft],index:Ft}});!_elementsEqual(it,nt)&&(this._active=it,this._lastEvent=null,this._updateHoverStyles(it,nt))}notifyPlugins(tt,nt,it){return this._plugins.notify(this,tt,nt,it)}isPluginEnabled(tt){return this._plugins._cache.filter(nt=>nt.plugin.id===tt).length===1}_updateHoverStyles(tt,nt,it){const ot=this.options.hover,Ut=(Bt,Vt)=>Bt.filter(Wt=>!Vt.some(Xt=>Wt.datasetIndex===Xt.datasetIndex&&Wt.index===Xt.index)),Ft=Ut(nt,tt),Qt=it?tt:Ut(tt,nt);Ft.length&&this.updateHoverStyle(Ft,ot.mode,!1),Qt.length&&ot.mode&&this.updateHoverStyle(Qt,ot.mode,!0)}_eventHandler(tt,nt){const it={event:tt,replay:nt,cancelable:!0,inChartArea:this.isPointInArea(tt)},ot=Ft=>(Ft.options.events||this.options.events).includes(tt.native.type);if(this.notifyPlugins("beforeEvent",it,ot)===!1)return;const Ut=this._handleEvent(tt,nt,it.inChartArea);return it.cancelable=!1,this.notifyPlugins("afterEvent",it,ot),(Ut||it.changed)&&this.render(),this}_handleEvent(tt,nt,it){const{_active:ot=[],options:Ut}=this,Ft=nt,Qt=this._getActiveElements(tt,ot,it,Ft),Bt=_isClickEvent(tt),Vt=determineLastEvent(tt,this._lastEvent,it,Bt);it&&(this._lastEvent=null,callback(Ut.onHover,[tt,Qt,this],this),Bt&&callback(Ut.onClick,[tt,Qt,this],this));const Wt=!_elementsEqual(Qt,ot);return(Wt||nt)&&(this._active=Qt,this._updateHoverStyles(Qt,ot,nt)),this._lastEvent=Vt,Wt}_getActiveElements(tt,nt,it,ot){if(tt.type==="mouseout")return[];if(!it)return nt;const Ut=this.options.hover;return this.getElementsAtEventForMode(tt,Ut.mode,Ut,ot)}}_r(Chart,"defaults",defaults),_r(Chart,"instances",instances),_r(Chart,"overrides",overrides),_r(Chart,"registry",registry),_r(Chart,"version",version),_r(Chart,"getChart",getChart);function invalidatePlugins(){return each(Chart.instances,et=>et._plugins.invalidate())}function clipArc(et,tt,nt){const{startAngle:it,pixelMargin:ot,x:Ut,y:Ft,outerRadius:Qt,innerRadius:Bt}=tt;let Vt=ot/Qt;et.beginPath(),et.arc(Ut,Ft,Qt,it-Vt,nt+Vt),Bt>ot?(Vt=ot/Bt,et.arc(Ut,Ft,Bt,nt+Vt,it-Vt,!0)):et.arc(Ut,Ft,ot,nt+HALF_PI,it-HALF_PI),et.closePath(),et.clip()}function toRadiusCorners(et){return _readValueToProps(et,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(et,tt,nt,it){const ot=toRadiusCorners(et.options.borderRadius),Ut=(nt-tt)/2,Ft=Math.min(Ut,it*tt/2),Qt=Bt=>{const Vt=(nt-Math.min(Ut,Bt))*it/2;return _limitValue(Bt,0,Math.min(Ut,Vt))};return{outerStart:Qt(ot.outerStart),outerEnd:Qt(ot.outerEnd),innerStart:_limitValue(ot.innerStart,0,Ft),innerEnd:_limitValue(ot.innerEnd,0,Ft)}}function rThetaToXY(et,tt,nt,it){return{x:nt+et*Math.cos(tt),y:it+et*Math.sin(tt)}}function pathArc(et,tt,nt,it,ot,Ut){const{x:Ft,y:Qt,startAngle:Bt,pixelMargin:Vt,innerRadius:Wt}=tt,Xt=Math.max(tt.outerRadius+it+nt-Vt,0),Zt=Wt>0?Wt+it+nt+Vt:0;let Yt=0;const Mt=ot-Bt;if(it){const vn=Wt>0?Wt-it:0,pn=Xt>0?Xt-it:0,Rn=(vn+pn)/2,Sn=Rn!==0?Mt*Rn/(Rn+it):Mt;Yt=(Mt-Sn)/2}const Gt=Math.max(.001,Mt*Xt-nt/PI)/Xt,en=(Mt-Gt)/2,tn=Bt+en+Yt,ln=ot-en-Yt,{outerStart:nn,outerEnd:sn,innerStart:Kt,innerEnd:dn}=parseBorderRadius$1(tt,Zt,Xt,ln-tn),Qn=Xt-nn,En=Xt-sn,an=tn+nn/Qn,rn=ln-sn/En,gn=Zt+Kt,un=Zt+dn,Un=tn+Kt/gn,_n=ln-dn/un;if(et.beginPath(),Ut){const vn=(an+rn)/2;if(et.arc(Ft,Qt,Xt,an,vn),et.arc(Ft,Qt,Xt,vn,rn),sn>0){const fn=rThetaToXY(En,rn,Ft,Qt);et.arc(fn.x,fn.y,sn,rn,ln+HALF_PI)}const pn=rThetaToXY(un,ln,Ft,Qt);if(et.lineTo(pn.x,pn.y),dn>0){const fn=rThetaToXY(un,_n,Ft,Qt);et.arc(fn.x,fn.y,dn,ln+HALF_PI,_n+Math.PI)}const Rn=(ln-dn/Zt+(tn+Kt/Zt))/2;if(et.arc(Ft,Qt,Zt,ln-dn/Zt,Rn,!0),et.arc(Ft,Qt,Zt,Rn,tn+Kt/Zt,!0),Kt>0){const fn=rThetaToXY(gn,Un,Ft,Qt);et.arc(fn.x,fn.y,Kt,Un+Math.PI,tn-HALF_PI)}const Sn=rThetaToXY(Qn,tn,Ft,Qt);if(et.lineTo(Sn.x,Sn.y),nn>0){const fn=rThetaToXY(Qn,an,Ft,Qt);et.arc(fn.x,fn.y,nn,tn-HALF_PI,an)}}else{et.moveTo(Ft,Qt);const vn=Math.cos(an)*Xt+Ft,pn=Math.sin(an)*Xt+Qt;et.lineTo(vn,pn);const Rn=Math.cos(rn)*Xt+Ft,Sn=Math.sin(rn)*Xt+Qt;et.lineTo(Rn,Sn)}et.closePath()}function drawArc(et,tt,nt,it,ot){const{fullCircles:Ut,startAngle:Ft,circumference:Qt}=tt;let Bt=tt.endAngle;if(Ut){pathArc(et,tt,nt,it,Bt,ot);for(let Vt=0;Vt=TAU||_angleBetween(Ut,Qt,Bt),Gt=_isBetween(Ft,Vt+Zt,Wt+Zt);return Mt&&Gt}getCenterPoint(tt){const{x:nt,y:it,startAngle:ot,endAngle:Ut,innerRadius:Ft,outerRadius:Qt}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],tt),{offset:Bt,spacing:Vt}=this.options,Wt=(ot+Ut)/2,Xt=(Ft+Qt+Vt+Bt)/2;return{x:nt+Math.cos(Wt)*Xt,y:it+Math.sin(Wt)*Xt}}tooltipPosition(tt){return this.getCenterPoint(tt)}draw(tt){const{options:nt,circumference:it}=this,ot=(nt.offset||0)/4,Ut=(nt.spacing||0)/2,Ft=nt.circular;if(this.pixelMargin=nt.borderAlign==="inner"?.33:0,this.fullCircles=it>TAU?Math.floor(it/TAU):0,it===0||this.innerRadius<0||this.outerRadius<0)return;tt.save();const Qt=(this.startAngle+this.endAngle)/2;tt.translate(Math.cos(Qt)*ot,Math.sin(Qt)*ot);const Bt=1-Math.sin(Math.min(PI,it||0)),Vt=ot*Bt;tt.fillStyle=nt.backgroundColor,tt.strokeStyle=nt.borderColor,drawArc(tt,this,Vt,Ut,Ft),drawBorder(tt,this,Vt,Ut,Ft),tt.restore()}}_r(ArcElement,"id","arc"),_r(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),_r(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"});function setStyle(et,tt,nt=tt){et.lineCap=valueOrDefault(nt.borderCapStyle,tt.borderCapStyle),et.setLineDash(valueOrDefault(nt.borderDash,tt.borderDash)),et.lineDashOffset=valueOrDefault(nt.borderDashOffset,tt.borderDashOffset),et.lineJoin=valueOrDefault(nt.borderJoinStyle,tt.borderJoinStyle),et.lineWidth=valueOrDefault(nt.borderWidth,tt.borderWidth),et.strokeStyle=valueOrDefault(nt.borderColor,tt.borderColor)}function lineTo(et,tt,nt){et.lineTo(nt.x,nt.y)}function getLineMethod(et){return et.stepped?_steppedLineTo:et.tension||et.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(et,tt,nt={}){const it=et.length,{start:ot=0,end:Ut=it-1}=nt,{start:Ft,end:Qt}=tt,Bt=Math.max(ot,Ft),Vt=Math.min(Ut,Qt),Wt=otQt&&Ut>Qt;return{count:it,start:Bt,loop:tt.loop,ilen:Vt(Ft+(Vt?Qt-sn:sn))%Ut,nn=()=>{Gt!==en&&(et.lineTo(Wt,en),et.lineTo(Wt,Gt),et.lineTo(Wt,tn))};for(Bt&&(Yt=ot[ln(0)],et.moveTo(Yt.x,Yt.y)),Zt=0;Zt<=Qt;++Zt){if(Yt=ot[ln(Zt)],Yt.skip)continue;const sn=Yt.x,Kt=Yt.y,dn=sn|0;dn===Mt?(Kten&&(en=Kt),Wt=(Xt*Wt+sn)/++Xt):(nn(),et.lineTo(sn,Kt),Mt=dn,Xt=0,Gt=en=Kt),tn=Kt}nn()}function _getSegmentMethod(et){const tt=et.options,nt=tt.borderDash&&tt.borderDash.length;return!et._decimated&&!et._loop&&!tt.tension&&tt.cubicInterpolationMode!=="monotone"&&!tt.stepped&&!nt?fastPathSegment:pathSegment}function _getInterpolationMethod(et){return et.stepped?_steppedInterpolation:et.tension||et.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(et,tt,nt,it){let ot=tt._path;ot||(ot=tt._path=new Path2D,tt.path(ot,nt,it)&&ot.closePath()),setStyle(et,tt.options),et.stroke(ot)}function strokePathDirect(et,tt,nt,it){const{segments:ot,options:Ut}=tt,Ft=_getSegmentMethod(tt);for(const Qt of ot)setStyle(et,Ut,Qt.style),et.beginPath(),Ft(et,tt,Qt,{start:nt,end:nt+it-1})&&et.closePath(),et.stroke()}const usePath2D=typeof Path2D=="function";function draw(et,tt,nt,it){usePath2D&&!tt.options.segment?strokePathWithCache(et,tt,nt,it):strokePathDirect(et,tt,nt,it)}class LineElement extends Element{constructor(tt){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,tt&&Object.assign(this,tt)}updateControlPoints(tt,nt){const it=this.options;if((it.tension||it.cubicInterpolationMode==="monotone")&&!it.stepped&&!this._pointsUpdated){const ot=it.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,it,tt,ot,nt),this._pointsUpdated=!0}}set points(tt){this._points=tt,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const tt=this.segments,nt=this.points;return tt.length&&nt[tt[0].start]}last(){const tt=this.segments,nt=this.points,it=tt.length;return it&&nt[tt[it-1].end]}interpolate(tt,nt){const it=this.options,ot=tt[nt],Ut=this.points,Ft=_boundSegments(this,{property:nt,start:ot,end:ot});if(!Ft.length)return;const Qt=[],Bt=_getInterpolationMethod(it);let Vt,Wt;for(Vt=0,Wt=Ft.length;Vttt!=="borderDash"&&tt!=="fill"});function inRange$1(et,tt,nt,it){const ot=et.options,{[nt]:Ut}=et.getProps([nt],it);return Math.abs(tt-Ut)et.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(et){return BORDER_COLORS[et%BORDER_COLORS.length]}function getBackgroundColor(et){return BACKGROUND_COLORS[et%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(et,tt){return et.borderColor=getBorderColor(tt),et.backgroundColor=getBackgroundColor(tt),++tt}function colorizeDoughnutDataset(et,tt){return et.backgroundColor=et.data.map(()=>getBorderColor(tt++)),tt}function colorizePolarAreaDataset(et,tt){return et.backgroundColor=et.data.map(()=>getBackgroundColor(tt++)),tt}function getColorizer(et){let tt=0;return(nt,it)=>{const ot=et.getDatasetMeta(it).controller;ot instanceof DoughnutController?tt=colorizeDoughnutDataset(nt,tt):ot instanceof PolarAreaController?tt=colorizePolarAreaDataset(nt,tt):ot&&(tt=colorizeDefaultDataset(nt,tt))}}function containsColorsDefinitions(et){let tt;for(tt in et)if(et[tt].borderColor||et[tt].backgroundColor)return!0;return!1}function containsColorsDefinition(et){return et&&(et.borderColor||et.backgroundColor)}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(et,tt,nt){if(!nt.enabled)return;const{data:{datasets:it},options:ot}=et.config,{elements:Ut}=ot;if(!nt.forceOverride&&(containsColorsDefinitions(it)||containsColorsDefinition(ot)||Ut&&containsColorsDefinitions(Ut)))return;const Ft=getColorizer(et);it.forEach(Ft)}};function lttbDecimation(et,tt,nt,it,ot){const Ut=ot.samples||it;if(Ut>=nt)return et.slice(tt,tt+nt);const Ft=[],Qt=(nt-2)/(Ut-2);let Bt=0;const Vt=tt+nt-1;let Wt=tt,Xt,Zt,Yt,Mt,Gt;for(Ft[Bt++]=et[Wt],Xt=0;XtYt&&(Yt=Mt,Zt=et[ln],Gt=ln);Ft[Bt++]=Zt,Wt=Gt}return Ft[Bt++]=et[Vt],Ft}function minMaxDecimation(et,tt,nt,it){let ot=0,Ut=0,Ft,Qt,Bt,Vt,Wt,Xt,Zt,Yt,Mt,Gt;const en=[],tn=tt+nt-1,ln=et[tt].x,sn=et[tn].x-ln;for(Ft=tt;FtGt&&(Gt=Vt,Zt=Ft),ot=(Ut*ot+Qt.x)/++Ut;else{const dn=Ft-1;if(!isNullOrUndef(Xt)&&!isNullOrUndef(Zt)){const Qn=Math.min(Xt,Zt),En=Math.max(Xt,Zt);Qn!==Yt&&Qn!==dn&&en.push({...et[Qn],x:ot}),En!==Yt&&En!==dn&&en.push({...et[En],x:ot})}Ft>0&&dn!==Yt&&en.push(et[dn]),en.push(Qt),Wt=Kt,Ut=0,Mt=Gt=Vt,Xt=Zt=Yt=Ft}}return en}function cleanDecimatedDataset(et){if(et._decimated){const tt=et._data;delete et._decimated,delete et._data,Object.defineProperty(et,"data",{configurable:!0,enumerable:!0,writable:!0,value:tt})}}function cleanDecimatedData(et){et.data.datasets.forEach(tt=>{cleanDecimatedDataset(tt)})}function getStartAndCountOfVisiblePointsSimplified(et,tt){const nt=tt.length;let it=0,ot;const{iScale:Ut}=et,{min:Ft,max:Qt,minDefined:Bt,maxDefined:Vt}=Ut.getUserBounds();return Bt&&(it=_limitValue(_lookupByKey(tt,Ut.axis,Ft).lo,0,nt-1)),Vt?ot=_limitValue(_lookupByKey(tt,Ut.axis,Qt).hi+1,it,nt)-it:ot=nt-it,{start:it,count:ot}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(et,tt,nt)=>{if(!nt.enabled){cleanDecimatedData(et);return}const it=et.width;et.data.datasets.forEach((ot,Ut)=>{const{_data:Ft,indexAxis:Qt}=ot,Bt=et.getDatasetMeta(Ut),Vt=Ft||ot.data;if(resolve([Qt,et.options.indexAxis])==="y"||!Bt.controller.supportsDecimation)return;const Wt=et.scales[Bt.xAxisID];if(Wt.type!=="linear"&&Wt.type!=="time"||et.options.parsing)return;let{start:Xt,count:Zt}=getStartAndCountOfVisiblePointsSimplified(Bt,Vt);const Yt=nt.threshold||4*it;if(Zt<=Yt){cleanDecimatedDataset(ot);return}isNullOrUndef(Ft)&&(ot._data=Vt,delete ot.data,Object.defineProperty(ot,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(Gt){this._data=Gt}}));let Mt;switch(nt.algorithm){case"lttb":Mt=lttbDecimation(Vt,Xt,Zt,it,nt);break;case"min-max":Mt=minMaxDecimation(Vt,Xt,Zt,it);break;default:throw new Error(`Unsupported decimation algorithm '${nt.algorithm}'`)}ot._decimated=Mt})},destroy(et){cleanDecimatedData(et)}};function _segments(et,tt,nt){const it=et.segments,ot=et.points,Ut=tt.points,Ft=[];for(const Qt of it){let{start:Bt,end:Vt}=Qt;Vt=_findSegmentEnd(Bt,Vt,ot);const Wt=_getBounds(nt,ot[Bt],ot[Vt],Qt.loop);if(!tt.segments){Ft.push({source:Qt,target:Wt,start:ot[Bt],end:ot[Vt]});continue}const Xt=_boundSegments(tt,Wt);for(const Zt of Xt){const Yt=_getBounds(nt,Ut[Zt.start],Ut[Zt.end],Zt.loop),Mt=_boundSegment(Qt,ot,Yt);for(const Gt of Mt)Ft.push({source:Gt,target:Zt,start:{[nt]:_getEdge(Wt,Yt,"start",Math.max)},end:{[nt]:_getEdge(Wt,Yt,"end",Math.min)}})}}return Ft}function _getBounds(et,tt,nt,it){if(it)return;let ot=tt[et],Ut=nt[et];return et==="angle"&&(ot=_normalizeAngle(ot),Ut=_normalizeAngle(Ut)),{property:et,start:ot,end:Ut}}function _pointsFromSegments(et,tt){const{x:nt=null,y:it=null}=et||{},ot=tt.points,Ut=[];return tt.segments.forEach(({start:Ft,end:Qt})=>{Qt=_findSegmentEnd(Ft,Qt,ot);const Bt=ot[Ft],Vt=ot[Qt];it!==null?(Ut.push({x:Bt.x,y:it}),Ut.push({x:Vt.x,y:it})):nt!==null&&(Ut.push({x:nt,y:Bt.y}),Ut.push({x:nt,y:Vt.y}))}),Ut}function _findSegmentEnd(et,tt,nt){for(;tt>et;tt--){const it=nt[tt];if(!isNaN(it.x)&&!isNaN(it.y))break}return tt}function _getEdge(et,tt,nt,it){return et&&tt?it(et[nt],tt[nt]):et?et[nt]:tt?tt[nt]:0}function _createBoundaryLine(et,tt){let nt=[],it=!1;return isArray(et)?(it=!0,nt=et):nt=_pointsFromSegments(et,tt),nt.length?new LineElement({points:nt,options:{tension:0},_loop:it,_fullLoop:it}):null}function _shouldApplyFill(et){return et&&et.fill!==!1}function _resolveTarget(et,tt,nt){let ot=et[tt].fill;const Ut=[tt];let Ft;if(!nt)return ot;for(;ot!==!1&&Ut.indexOf(ot)===-1;){if(!isNumberFinite(ot))return ot;if(Ft=et[ot],!Ft)return!1;if(Ft.visible)return ot;Ut.push(ot),ot=Ft.fill}return!1}function _decodeFill(et,tt,nt){const it=parseFillOption(et);if(isObject(it))return isNaN(it.value)?!1:it;let ot=parseFloat(it);return isNumberFinite(ot)&&Math.floor(ot)===ot?decodeTargetIndex(it[0],tt,ot,nt):["origin","start","end","stack","shape"].indexOf(it)>=0&&it}function decodeTargetIndex(et,tt,nt,it){return(et==="-"||et==="+")&&(nt=tt+nt),nt===tt||nt<0||nt>=it?!1:nt}function _getTargetPixel(et,tt){let nt=null;return et==="start"?nt=tt.bottom:et==="end"?nt=tt.top:isObject(et)?nt=tt.getPixelForValue(et.value):tt.getBasePixel&&(nt=tt.getBasePixel()),nt}function _getTargetValue(et,tt,nt){let it;return et==="start"?it=nt:et==="end"?it=tt.options.reverse?tt.min:tt.max:isObject(et)?it=et.value:it=tt.getBaseValue(),it}function parseFillOption(et){const tt=et.options,nt=tt.fill;let it=valueOrDefault(nt&&nt.target,nt);return it===void 0&&(it=!!tt.backgroundColor),it===!1||it===null?!1:it===!0?"origin":it}function _buildStackLine(et){const{scale:tt,index:nt,line:it}=et,ot=[],Ut=it.segments,Ft=it.points,Qt=getLinesBelow(tt,nt);Qt.push(_createBoundaryLine({x:null,y:tt.bottom},it));for(let Bt=0;Bt=0;--Ft){const Qt=ot[Ft].$filler;Qt&&(Qt.line.updateControlPoints(Ut,Qt.axis),it&&Qt.fill&&_drawfill(et.ctx,Qt,Ut))}},beforeDatasetsDraw(et,tt,nt){if(nt.drawTime!=="beforeDatasetsDraw")return;const it=et.getSortedVisibleDatasetMetas();for(let ot=it.length-1;ot>=0;--ot){const Ut=it[ot].$filler;_shouldApplyFill(Ut)&&_drawfill(et.ctx,Ut,et.chartArea)}},beforeDatasetDraw(et,tt,nt){const it=tt.meta.$filler;!_shouldApplyFill(it)||nt.drawTime!=="beforeDatasetDraw"||_drawfill(et.ctx,it,et.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(et,tt)=>{let{boxHeight:nt=tt,boxWidth:it=tt}=et;return et.usePointStyle&&(nt=Math.min(nt,tt),it=et.pointStyleWidth||Math.min(it,tt)),{boxWidth:it,boxHeight:nt,itemHeight:Math.max(tt,nt)}},itemsEqual=(et,tt)=>et!==null&&tt!==null&&et.datasetIndex===tt.datasetIndex&&et.index===tt.index;class Legend extends Element{constructor(tt){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=tt.chart,this.options=tt.options,this.ctx=tt.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(tt,nt,it){this.maxWidth=tt,this.maxHeight=nt,this._margins=it,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const tt=this.options.labels||{};let nt=callback(tt.generateLabels,[this.chart],this)||[];tt.filter&&(nt=nt.filter(it=>tt.filter(it,this.chart.data))),tt.sort&&(nt=nt.sort((it,ot)=>tt.sort(it,ot,this.chart.data))),this.options.reverse&&nt.reverse(),this.legendItems=nt}fit(){const{options:tt,ctx:nt}=this;if(!tt.display){this.width=this.height=0;return}const it=tt.labels,ot=toFont(it.font),Ut=ot.size,Ft=this._computeTitleHeight(),{boxWidth:Qt,itemHeight:Bt}=getBoxSize(it,Ut);let Vt,Wt;nt.font=ot.string,this.isHorizontal()?(Vt=this.maxWidth,Wt=this._fitRows(Ft,Ut,Qt,Bt)+10):(Wt=this.maxHeight,Vt=this._fitCols(Ft,ot,Qt,Bt)+10),this.width=Math.min(Vt,tt.maxWidth||this.maxWidth),this.height=Math.min(Wt,tt.maxHeight||this.maxHeight)}_fitRows(tt,nt,it,ot){const{ctx:Ut,maxWidth:Ft,options:{labels:{padding:Qt}}}=this,Bt=this.legendHitBoxes=[],Vt=this.lineWidths=[0],Wt=ot+Qt;let Xt=tt;Ut.textAlign="left",Ut.textBaseline="middle";let Zt=-1,Yt=-Wt;return this.legendItems.forEach((Mt,Gt)=>{const en=it+nt/2+Ut.measureText(Mt.text).width;(Gt===0||Vt[Vt.length-1]+en+2*Qt>Ft)&&(Xt+=Wt,Vt[Vt.length-(Gt>0?0:1)]=0,Yt+=Wt,Zt++),Bt[Gt]={left:0,top:Yt,row:Zt,width:en,height:ot},Vt[Vt.length-1]+=en+Qt}),Xt}_fitCols(tt,nt,it,ot){const{ctx:Ut,maxHeight:Ft,options:{labels:{padding:Qt}}}=this,Bt=this.legendHitBoxes=[],Vt=this.columnSizes=[],Wt=Ft-tt;let Xt=Qt,Zt=0,Yt=0,Mt=0,Gt=0;return this.legendItems.forEach((en,tn)=>{const{itemWidth:ln,itemHeight:nn}=calculateItemSize(it,nt,Ut,en,ot);tn>0&&Yt+nn+2*Qt>Wt&&(Xt+=Zt+Qt,Vt.push({width:Zt,height:Yt}),Mt+=Zt+Qt,Gt++,Zt=Yt=0),Bt[tn]={left:Mt,top:Yt,col:Gt,width:ln,height:nn},Zt=Math.max(Zt,ln),Yt+=nn+Qt}),Xt+=Zt,Vt.push({width:Zt,height:Yt}),Xt}adjustHitBoxes(){if(!this.options.display)return;const tt=this._computeTitleHeight(),{legendHitBoxes:nt,options:{align:it,labels:{padding:ot},rtl:Ut}}=this,Ft=getRtlAdapter(Ut,this.left,this.width);if(this.isHorizontal()){let Qt=0,Bt=_alignStartEnd(it,this.left+ot,this.right-this.lineWidths[Qt]);for(const Vt of nt)Qt!==Vt.row&&(Qt=Vt.row,Bt=_alignStartEnd(it,this.left+ot,this.right-this.lineWidths[Qt])),Vt.top+=this.top+tt+ot,Vt.left=Ft.leftForLtr(Ft.x(Bt),Vt.width),Bt+=Vt.width+ot}else{let Qt=0,Bt=_alignStartEnd(it,this.top+tt+ot,this.bottom-this.columnSizes[Qt].height);for(const Vt of nt)Vt.col!==Qt&&(Qt=Vt.col,Bt=_alignStartEnd(it,this.top+tt+ot,this.bottom-this.columnSizes[Qt].height)),Vt.top=Bt,Vt.left+=this.left+ot,Vt.left=Ft.leftForLtr(Ft.x(Vt.left),Vt.width),Bt+=Vt.height+ot}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const tt=this.ctx;clipArea(tt,this),this._draw(),unclipArea(tt)}}_draw(){const{options:tt,columnSizes:nt,lineWidths:it,ctx:ot}=this,{align:Ut,labels:Ft}=tt,Qt=defaults.color,Bt=getRtlAdapter(tt.rtl,this.left,this.width),Vt=toFont(Ft.font),{padding:Wt}=Ft,Xt=Vt.size,Zt=Xt/2;let Yt;this.drawTitle(),ot.textAlign=Bt.textAlign("left"),ot.textBaseline="middle",ot.lineWidth=.5,ot.font=Vt.string;const{boxWidth:Mt,boxHeight:Gt,itemHeight:en}=getBoxSize(Ft,Xt),tn=function(dn,Qn,En){if(isNaN(Mt)||Mt<=0||isNaN(Gt)||Gt<0)return;ot.save();const an=valueOrDefault(En.lineWidth,1);if(ot.fillStyle=valueOrDefault(En.fillStyle,Qt),ot.lineCap=valueOrDefault(En.lineCap,"butt"),ot.lineDashOffset=valueOrDefault(En.lineDashOffset,0),ot.lineJoin=valueOrDefault(En.lineJoin,"miter"),ot.lineWidth=an,ot.strokeStyle=valueOrDefault(En.strokeStyle,Qt),ot.setLineDash(valueOrDefault(En.lineDash,[])),Ft.usePointStyle){const rn={radius:Gt*Math.SQRT2/2,pointStyle:En.pointStyle,rotation:En.rotation,borderWidth:an},gn=Bt.xPlus(dn,Mt/2),un=Qn+Zt;drawPointLegend(ot,rn,gn,un,Ft.pointStyleWidth&&Mt)}else{const rn=Qn+Math.max((Xt-Gt)/2,0),gn=Bt.leftForLtr(dn,Mt),un=toTRBLCorners(En.borderRadius);ot.beginPath(),Object.values(un).some(Un=>Un!==0)?addRoundedRectPath(ot,{x:gn,y:rn,w:Mt,h:Gt,radius:un}):ot.rect(gn,rn,Mt,Gt),ot.fill(),an!==0&&ot.stroke()}ot.restore()},ln=function(dn,Qn,En){renderText(ot,En.text,dn,Qn+en/2,Vt,{strikethrough:En.hidden,textAlign:Bt.textAlign(En.textAlign)})},nn=this.isHorizontal(),sn=this._computeTitleHeight();nn?Yt={x:_alignStartEnd(Ut,this.left+Wt,this.right-it[0]),y:this.top+Wt+sn,line:0}:Yt={x:this.left+Wt,y:_alignStartEnd(Ut,this.top+sn+Wt,this.bottom-nt[0].height),line:0},overrideTextDirection(this.ctx,tt.textDirection);const Kt=en+Wt;this.legendItems.forEach((dn,Qn)=>{ot.strokeStyle=dn.fontColor,ot.fillStyle=dn.fontColor;const En=ot.measureText(dn.text).width,an=Bt.textAlign(dn.textAlign||(dn.textAlign=Ft.textAlign)),rn=Mt+Zt+En;let gn=Yt.x,un=Yt.y;Bt.setWidth(this.width),nn?Qn>0&&gn+rn+Wt>this.right&&(un=Yt.y+=Kt,Yt.line++,gn=Yt.x=_alignStartEnd(Ut,this.left+Wt,this.right-it[Yt.line])):Qn>0&&un+Kt>this.bottom&&(gn=Yt.x=gn+nt[Yt.line].width+Wt,Yt.line++,un=Yt.y=_alignStartEnd(Ut,this.top+sn+Wt,this.bottom-nt[Yt.line].height));const Un=Bt.x(gn);if(tn(Un,un,dn),gn=_textX(an,gn+Mt+Zt,nn?gn+rn:this.right,tt.rtl),ln(Bt.x(gn),un,dn),nn)Yt.x+=rn+Wt;else if(typeof dn.text!="string"){const _n=Vt.lineHeight;Yt.y+=calculateLegendItemHeight(dn,_n)}else Yt.y+=Kt}),restoreTextDirection(this.ctx,tt.textDirection)}drawTitle(){const tt=this.options,nt=tt.title,it=toFont(nt.font),ot=toPadding(nt.padding);if(!nt.display)return;const Ut=getRtlAdapter(tt.rtl,this.left,this.width),Ft=this.ctx,Qt=nt.position,Bt=it.size/2,Vt=ot.top+Bt;let Wt,Xt=this.left,Zt=this.width;if(this.isHorizontal())Zt=Math.max(...this.lineWidths),Wt=this.top+Vt,Xt=_alignStartEnd(tt.align,Xt,this.right-Zt);else{const Mt=this.columnSizes.reduce((Gt,en)=>Math.max(Gt,en.height),0);Wt=Vt+_alignStartEnd(tt.align,this.top,this.bottom-Mt-tt.labels.padding-this._computeTitleHeight())}const Yt=_alignStartEnd(Qt,Xt,Xt+Zt);Ft.textAlign=Ut.textAlign(_toLeftRightCenter(Qt)),Ft.textBaseline="middle",Ft.strokeStyle=nt.color,Ft.fillStyle=nt.color,Ft.font=it.string,renderText(Ft,nt.text,Yt,Wt,it)}_computeTitleHeight(){const tt=this.options.title,nt=toFont(tt.font),it=toPadding(tt.padding);return tt.display?nt.lineHeight+it.height:0}_getLegendItemAt(tt,nt){let it,ot,Ut;if(_isBetween(tt,this.left,this.right)&&_isBetween(nt,this.top,this.bottom)){for(Ut=this.legendHitBoxes,it=0;itUt.length>Ft.length?Ut:Ft)),tt+nt.size/2+it.measureText(ot).width}function calculateItemHeight(et,tt,nt){let it=et;return typeof tt.text!="string"&&(it=calculateLegendItemHeight(tt,nt)),it}function calculateLegendItemHeight(et,tt){const nt=et.text?et.text.length+.5:0;return tt*nt}function isListened(et,tt){return!!((et==="mousemove"||et==="mouseout")&&(tt.onHover||tt.onLeave)||tt.onClick&&(et==="click"||et==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(et,tt,nt){const it=et.legend=new Legend({ctx:et.ctx,options:nt,chart:et});layouts.configure(et,it,nt),layouts.addBox(et,it)},stop(et){layouts.removeBox(et,et.legend),delete et.legend},beforeUpdate(et,tt,nt){const it=et.legend;layouts.configure(et,it,nt),it.options=nt},afterUpdate(et){const tt=et.legend;tt.buildLabels(),tt.adjustHitBoxes()},afterEvent(et,tt){tt.replay||et.legend.handleEvent(tt.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(et,tt,nt){const it=tt.datasetIndex,ot=nt.chart;ot.isDatasetVisible(it)?(ot.hide(it),tt.hidden=!0):(ot.show(it),tt.hidden=!1)},onHover:null,onLeave:null,labels:{color:et=>et.chart.options.color,boxWidth:40,padding:10,generateLabels(et){const tt=et.data.datasets,{labels:{usePointStyle:nt,pointStyle:it,textAlign:ot,color:Ut,useBorderRadius:Ft,borderRadius:Qt}}=et.legend.options;return et._getSortedDatasetMetas().map(Bt=>{const Vt=Bt.controller.getStyle(nt?0:void 0),Wt=toPadding(Vt.borderWidth);return{text:tt[Bt.index].label,fillStyle:Vt.backgroundColor,fontColor:Ut,hidden:!Bt.visible,lineCap:Vt.borderCapStyle,lineDash:Vt.borderDash,lineDashOffset:Vt.borderDashOffset,lineJoin:Vt.borderJoinStyle,lineWidth:(Wt.width+Wt.height)/4,strokeStyle:Vt.borderColor,pointStyle:it||Vt.pointStyle,rotation:Vt.rotation,textAlign:ot||Vt.textAlign,borderRadius:Ft&&(Qt||Vt.borderRadius),datasetIndex:Bt.index}},this)}},title:{color:et=>et.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:et=>!et.startsWith("on"),labels:{_scriptable:et=>!["generateLabels","filter","sort"].includes(et)}}};class Title extends Element{constructor(tt){super(),this.chart=tt.chart,this.options=tt.options,this.ctx=tt.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(tt,nt){const it=this.options;if(this.left=0,this.top=0,!it.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=tt,this.height=this.bottom=nt;const ot=isArray(it.text)?it.text.length:1;this._padding=toPadding(it.padding);const Ut=ot*toFont(it.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=Ut:this.width=Ut}isHorizontal(){const tt=this.options.position;return tt==="top"||tt==="bottom"}_drawArgs(tt){const{top:nt,left:it,bottom:ot,right:Ut,options:Ft}=this,Qt=Ft.align;let Bt=0,Vt,Wt,Xt;return this.isHorizontal()?(Wt=_alignStartEnd(Qt,it,Ut),Xt=nt+tt,Vt=Ut-it):(Ft.position==="left"?(Wt=it+tt,Xt=_alignStartEnd(Qt,ot,nt),Bt=PI*-.5):(Wt=Ut-tt,Xt=_alignStartEnd(Qt,nt,ot),Bt=PI*.5),Vt=ot-nt),{titleX:Wt,titleY:Xt,maxWidth:Vt,rotation:Bt}}draw(){const tt=this.ctx,nt=this.options;if(!nt.display)return;const it=toFont(nt.font),Ut=it.lineHeight/2+this._padding.top,{titleX:Ft,titleY:Qt,maxWidth:Bt,rotation:Vt}=this._drawArgs(Ut);renderText(tt,nt.text,0,0,it,{color:nt.color,maxWidth:Bt,rotation:Vt,textAlign:_toLeftRightCenter(nt.align),textBaseline:"middle",translation:[Ft,Qt]})}}function createTitle(et,tt){const nt=new Title({ctx:et.ctx,options:tt,chart:et});layouts.configure(et,nt,tt),layouts.addBox(et,nt),et.titleBlock=nt}var plugin_title={id:"title",_element:Title,start(et,tt,nt){createTitle(et,nt)},stop(et){const tt=et.titleBlock;layouts.removeBox(et,tt),delete et.titleBlock},beforeUpdate(et,tt,nt){const it=et.titleBlock;layouts.configure(et,it,nt),it.options=nt},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const map=new WeakMap;var plugin_subtitle={id:"subtitle",start(et,tt,nt){const it=new Title({ctx:et.ctx,options:nt,chart:et});layouts.configure(et,it,nt),layouts.addBox(et,it),map.set(et,it)},stop(et){layouts.removeBox(et,map.get(et)),map.delete(et)},beforeUpdate(et,tt,nt){const it=map.get(et);layouts.configure(et,it,nt),it.options=nt},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const positioners={average(et){if(!et.length)return!1;let tt,nt,it=0,ot=0,Ut=0;for(tt=0,nt=et.length;tt-1?et.split(` -`):et}function createTooltipItem(et,tt){const{element:nt,datasetIndex:it,index:ot}=tt,Ut=et.getDatasetMeta(it).controller,{label:Ft,value:Qt}=Ut.getLabelAndValue(ot);return{chart:et,label:Ft,parsed:Ut.getParsed(ot),raw:et.data.datasets[it].data[ot],formattedValue:Qt,dataset:Ut.getDataset(),dataIndex:ot,datasetIndex:it,element:nt}}function getTooltipSize(et,tt){const nt=et.chart.ctx,{body:it,footer:ot,title:Ut}=et,{boxWidth:Ft,boxHeight:Qt}=tt,Bt=toFont(tt.bodyFont),Vt=toFont(tt.titleFont),Wt=toFont(tt.footerFont),Xt=Ut.length,Zt=ot.length,Yt=it.length,Mt=toPadding(tt.padding);let Gt=Mt.height,en=0,tn=it.reduce((sn,Kt)=>sn+Kt.before.length+Kt.lines.length+Kt.after.length,0);if(tn+=et.beforeBody.length+et.afterBody.length,Xt&&(Gt+=Xt*Vt.lineHeight+(Xt-1)*tt.titleSpacing+tt.titleMarginBottom),tn){const sn=tt.displayColors?Math.max(Qt,Bt.lineHeight):Bt.lineHeight;Gt+=Yt*sn+(tn-Yt)*Bt.lineHeight+(tn-1)*tt.bodySpacing}Zt&&(Gt+=tt.footerMarginTop+Zt*Wt.lineHeight+(Zt-1)*tt.footerSpacing);let ln=0;const nn=function(sn){en=Math.max(en,nt.measureText(sn).width+ln)};return nt.save(),nt.font=Vt.string,each(et.title,nn),nt.font=Bt.string,each(et.beforeBody.concat(et.afterBody),nn),ln=tt.displayColors?Ft+2+tt.boxPadding:0,each(it,sn=>{each(sn.before,nn),each(sn.lines,nn),each(sn.after,nn)}),ln=0,nt.font=Wt.string,each(et.footer,nn),nt.restore(),en+=Mt.width,{width:en,height:Gt}}function determineYAlign(et,tt){const{y:nt,height:it}=tt;return ntet.height-it/2?"bottom":"center"}function doesNotFitWithAlign(et,tt,nt,it){const{x:ot,width:Ut}=it,Ft=nt.caretSize+nt.caretPadding;if(et==="left"&&ot+Ut+Ft>tt.width||et==="right"&&ot-Ut-Ft<0)return!0}function determineXAlign(et,tt,nt,it){const{x:ot,width:Ut}=nt,{width:Ft,chartArea:{left:Qt,right:Bt}}=et;let Vt="center";return it==="center"?Vt=ot<=(Qt+Bt)/2?"left":"right":ot<=Ut/2?Vt="left":ot>=Ft-Ut/2&&(Vt="right"),doesNotFitWithAlign(Vt,et,tt,nt)&&(Vt="center"),Vt}function determineAlignment(et,tt,nt){const it=nt.yAlign||tt.yAlign||determineYAlign(et,nt);return{xAlign:nt.xAlign||tt.xAlign||determineXAlign(et,tt,nt,it),yAlign:it}}function alignX(et,tt){let{x:nt,width:it}=et;return tt==="right"?nt-=it:tt==="center"&&(nt-=it/2),nt}function alignY(et,tt,nt){let{y:it,height:ot}=et;return tt==="top"?it+=nt:tt==="bottom"?it-=ot+nt:it-=ot/2,it}function getBackgroundPoint(et,tt,nt,it){const{caretSize:ot,caretPadding:Ut,cornerRadius:Ft}=et,{xAlign:Qt,yAlign:Bt}=nt,Vt=ot+Ut,{topLeft:Wt,topRight:Xt,bottomLeft:Zt,bottomRight:Yt}=toTRBLCorners(Ft);let Mt=alignX(tt,Qt);const Gt=alignY(tt,Bt,Vt);return Bt==="center"?Qt==="left"?Mt+=Vt:Qt==="right"&&(Mt-=Vt):Qt==="left"?Mt-=Math.max(Wt,Zt)+ot:Qt==="right"&&(Mt+=Math.max(Xt,Yt)+ot),{x:_limitValue(Mt,0,it.width-tt.width),y:_limitValue(Gt,0,it.height-tt.height)}}function getAlignedX(et,tt,nt){const it=toPadding(nt.padding);return tt==="center"?et.x+et.width/2:tt==="right"?et.x+et.width-it.right:et.x+it.left}function getBeforeAfterBodyLines(et){return pushOrConcat([],splitNewlines(et))}function createTooltipContext(et,tt,nt){return createContext(et,{tooltip:tt,tooltipItems:nt,type:"tooltip"})}function overrideCallbacks(et,tt){const nt=tt&&tt.dataset&&tt.dataset.tooltip&&tt.dataset.tooltip.callbacks;return nt?et.override(nt):et}const defaultCallbacks={beforeTitle:noop,title(et){if(et.length>0){const tt=et[0],nt=tt.chart.data.labels,it=nt?nt.length:0;if(this&&this.options&&this.options.mode==="dataset")return tt.dataset.label||"";if(tt.label)return tt.label;if(it>0&&tt.dataIndex"u"?defaultCallbacks[tt].call(nt,it):ot}class Tooltip extends Element{constructor(tt){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=tt.chart,this.options=tt.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(tt){this.options=tt,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const tt=this._cachedAnimations;if(tt)return tt;const nt=this.chart,it=this.options.setContext(this.getContext()),ot=it.enabled&&nt.options.animation&&it.animations,Ut=new Animations(this.chart,ot);return ot._cacheable&&(this._cachedAnimations=Object.freeze(Ut)),Ut}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(tt,nt){const{callbacks:it}=nt,ot=invokeCallbackWithFallback(it,"beforeTitle",this,tt),Ut=invokeCallbackWithFallback(it,"title",this,tt),Ft=invokeCallbackWithFallback(it,"afterTitle",this,tt);let Qt=[];return Qt=pushOrConcat(Qt,splitNewlines(ot)),Qt=pushOrConcat(Qt,splitNewlines(Ut)),Qt=pushOrConcat(Qt,splitNewlines(Ft)),Qt}getBeforeBody(tt,nt){return getBeforeAfterBodyLines(invokeCallbackWithFallback(nt.callbacks,"beforeBody",this,tt))}getBody(tt,nt){const{callbacks:it}=nt,ot=[];return each(tt,Ut=>{const Ft={before:[],lines:[],after:[]},Qt=overrideCallbacks(it,Ut);pushOrConcat(Ft.before,splitNewlines(invokeCallbackWithFallback(Qt,"beforeLabel",this,Ut))),pushOrConcat(Ft.lines,invokeCallbackWithFallback(Qt,"label",this,Ut)),pushOrConcat(Ft.after,splitNewlines(invokeCallbackWithFallback(Qt,"afterLabel",this,Ut))),ot.push(Ft)}),ot}getAfterBody(tt,nt){return getBeforeAfterBodyLines(invokeCallbackWithFallback(nt.callbacks,"afterBody",this,tt))}getFooter(tt,nt){const{callbacks:it}=nt,ot=invokeCallbackWithFallback(it,"beforeFooter",this,tt),Ut=invokeCallbackWithFallback(it,"footer",this,tt),Ft=invokeCallbackWithFallback(it,"afterFooter",this,tt);let Qt=[];return Qt=pushOrConcat(Qt,splitNewlines(ot)),Qt=pushOrConcat(Qt,splitNewlines(Ut)),Qt=pushOrConcat(Qt,splitNewlines(Ft)),Qt}_createItems(tt){const nt=this._active,it=this.chart.data,ot=[],Ut=[],Ft=[];let Qt=[],Bt,Vt;for(Bt=0,Vt=nt.length;Bttt.filter(Wt,Xt,Zt,it))),tt.itemSort&&(Qt=Qt.sort((Wt,Xt)=>tt.itemSort(Wt,Xt,it))),each(Qt,Wt=>{const Xt=overrideCallbacks(tt.callbacks,Wt);ot.push(invokeCallbackWithFallback(Xt,"labelColor",this,Wt)),Ut.push(invokeCallbackWithFallback(Xt,"labelPointStyle",this,Wt)),Ft.push(invokeCallbackWithFallback(Xt,"labelTextColor",this,Wt))}),this.labelColors=ot,this.labelPointStyles=Ut,this.labelTextColors=Ft,this.dataPoints=Qt,Qt}update(tt,nt){const it=this.options.setContext(this.getContext()),ot=this._active;let Ut,Ft=[];if(!ot.length)this.opacity!==0&&(Ut={opacity:0});else{const Qt=positioners[it.position].call(this,ot,this._eventPosition);Ft=this._createItems(it),this.title=this.getTitle(Ft,it),this.beforeBody=this.getBeforeBody(Ft,it),this.body=this.getBody(Ft,it),this.afterBody=this.getAfterBody(Ft,it),this.footer=this.getFooter(Ft,it);const Bt=this._size=getTooltipSize(this,it),Vt=Object.assign({},Qt,Bt),Wt=determineAlignment(this.chart,it,Vt),Xt=getBackgroundPoint(it,Vt,Wt,this.chart);this.xAlign=Wt.xAlign,this.yAlign=Wt.yAlign,Ut={opacity:1,x:Xt.x,y:Xt.y,width:Bt.width,height:Bt.height,caretX:Qt.x,caretY:Qt.y}}this._tooltipItems=Ft,this.$context=void 0,Ut&&this._resolveAnimations().update(this,Ut),tt&&it.external&&it.external.call(this,{chart:this.chart,tooltip:this,replay:nt})}drawCaret(tt,nt,it,ot){const Ut=this.getCaretPosition(tt,it,ot);nt.lineTo(Ut.x1,Ut.y1),nt.lineTo(Ut.x2,Ut.y2),nt.lineTo(Ut.x3,Ut.y3)}getCaretPosition(tt,nt,it){const{xAlign:ot,yAlign:Ut}=this,{caretSize:Ft,cornerRadius:Qt}=it,{topLeft:Bt,topRight:Vt,bottomLeft:Wt,bottomRight:Xt}=toTRBLCorners(Qt),{x:Zt,y:Yt}=tt,{width:Mt,height:Gt}=nt;let en,tn,ln,nn,sn,Kt;return Ut==="center"?(sn=Yt+Gt/2,ot==="left"?(en=Zt,tn=en-Ft,nn=sn+Ft,Kt=sn-Ft):(en=Zt+Mt,tn=en+Ft,nn=sn-Ft,Kt=sn+Ft),ln=en):(ot==="left"?tn=Zt+Math.max(Bt,Wt)+Ft:ot==="right"?tn=Zt+Mt-Math.max(Vt,Xt)-Ft:tn=this.caretX,Ut==="top"?(nn=Yt,sn=nn-Ft,en=tn-Ft,ln=tn+Ft):(nn=Yt+Gt,sn=nn+Ft,en=tn+Ft,ln=tn-Ft),Kt=nn),{x1:en,x2:tn,x3:ln,y1:nn,y2:sn,y3:Kt}}drawTitle(tt,nt,it){const ot=this.title,Ut=ot.length;let Ft,Qt,Bt;if(Ut){const Vt=getRtlAdapter(it.rtl,this.x,this.width);for(tt.x=getAlignedX(this,it.titleAlign,it),nt.textAlign=Vt.textAlign(it.titleAlign),nt.textBaseline="middle",Ft=toFont(it.titleFont),Qt=it.titleSpacing,nt.fillStyle=it.titleColor,nt.font=Ft.string,Bt=0;Btnn!==0)?(tt.beginPath(),tt.fillStyle=Ut.multiKeyBackground,addRoundedRectPath(tt,{x:en,y:Gt,w:Vt,h:Bt,radius:ln}),tt.fill(),tt.stroke(),tt.fillStyle=Ft.backgroundColor,tt.beginPath(),addRoundedRectPath(tt,{x:tn,y:Gt+1,w:Vt-2,h:Bt-2,radius:ln}),tt.fill()):(tt.fillStyle=Ut.multiKeyBackground,tt.fillRect(en,Gt,Vt,Bt),tt.strokeRect(en,Gt,Vt,Bt),tt.fillStyle=Ft.backgroundColor,tt.fillRect(tn,Gt+1,Vt-2,Bt-2))}tt.fillStyle=this.labelTextColors[it]}drawBody(tt,nt,it){const{body:ot}=this,{bodySpacing:Ut,bodyAlign:Ft,displayColors:Qt,boxHeight:Bt,boxWidth:Vt,boxPadding:Wt}=it,Xt=toFont(it.bodyFont);let Zt=Xt.lineHeight,Yt=0;const Mt=getRtlAdapter(it.rtl,this.x,this.width),Gt=function(En){nt.fillText(En,Mt.x(tt.x+Yt),tt.y+Zt/2),tt.y+=Zt+Ut},en=Mt.textAlign(Ft);let tn,ln,nn,sn,Kt,dn,Qn;for(nt.textAlign=Ft,nt.textBaseline="middle",nt.font=Xt.string,tt.x=getAlignedX(this,en,it),nt.fillStyle=it.bodyColor,each(this.beforeBody,Gt),Yt=Qt&&en!=="right"?Ft==="center"?Vt/2+Wt:Vt+2+Wt:0,sn=0,dn=ot.length;sn0&&nt.stroke()}_updateAnimationTarget(tt){const nt=this.chart,it=this.$animations,ot=it&&it.x,Ut=it&&it.y;if(ot||Ut){const Ft=positioners[tt.position].call(this,this._active,this._eventPosition);if(!Ft)return;const Qt=this._size=getTooltipSize(this,tt),Bt=Object.assign({},Ft,this._size),Vt=determineAlignment(nt,tt,Bt),Wt=getBackgroundPoint(tt,Bt,Vt,nt);(ot._to!==Wt.x||Ut._to!==Wt.y)&&(this.xAlign=Vt.xAlign,this.yAlign=Vt.yAlign,this.width=Qt.width,this.height=Qt.height,this.caretX=Ft.x,this.caretY=Ft.y,this._resolveAnimations().update(this,Wt))}}_willRender(){return!!this.opacity}draw(tt){const nt=this.options.setContext(this.getContext());let it=this.opacity;if(!it)return;this._updateAnimationTarget(nt);const ot={width:this.width,height:this.height},Ut={x:this.x,y:this.y};it=Math.abs(it)<.001?0:it;const Ft=toPadding(nt.padding),Qt=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;nt.enabled&&Qt&&(tt.save(),tt.globalAlpha=it,this.drawBackground(Ut,tt,ot,nt),overrideTextDirection(tt,nt.textDirection),Ut.y+=Ft.top,this.drawTitle(Ut,tt,nt),this.drawBody(Ut,tt,nt),this.drawFooter(Ut,tt,nt),restoreTextDirection(tt,nt.textDirection),tt.restore())}getActiveElements(){return this._active||[]}setActiveElements(tt,nt){const it=this._active,ot=tt.map(({datasetIndex:Qt,index:Bt})=>{const Vt=this.chart.getDatasetMeta(Qt);if(!Vt)throw new Error("Cannot find a dataset at index "+Qt);return{datasetIndex:Qt,element:Vt.data[Bt],index:Bt}}),Ut=!_elementsEqual(it,ot),Ft=this._positionChanged(ot,nt);(Ut||Ft)&&(this._active=ot,this._eventPosition=nt,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(tt,nt,it=!0){if(nt&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const ot=this.options,Ut=this._active||[],Ft=this._getActiveElements(tt,Ut,nt,it),Qt=this._positionChanged(Ft,tt),Bt=nt||!_elementsEqual(Ft,Ut)||Qt;return Bt&&(this._active=Ft,(ot.enabled||ot.external)&&(this._eventPosition={x:tt.x,y:tt.y},this.update(!0,nt))),Bt}_getActiveElements(tt,nt,it,ot){const Ut=this.options;if(tt.type==="mouseout")return[];if(!ot)return nt;const Ft=this.chart.getElementsAtEventForMode(tt,Ut.mode,Ut,it);return Ut.reverse&&Ft.reverse(),Ft}_positionChanged(tt,nt){const{caretX:it,caretY:ot,options:Ut}=this,Ft=positioners[Ut.position].call(this,tt,nt);return Ft!==!1&&(it!==Ft.x||ot!==Ft.y)}}_r(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(et,tt,nt){nt&&(et.tooltip=new Tooltip({chart:et,options:nt}))},beforeUpdate(et,tt,nt){et.tooltip&&et.tooltip.initialize(nt)},reset(et,tt,nt){et.tooltip&&et.tooltip.initialize(nt)},afterDraw(et){const tt=et.tooltip;if(tt&&tt._willRender()){const nt={tooltip:tt};if(et.notifyPlugins("beforeTooltipDraw",{...nt,cancelable:!0})===!1)return;tt.draw(et.ctx),et.notifyPlugins("afterTooltipDraw",nt)}},afterEvent(et,tt){if(et.tooltip){const nt=tt.replay;et.tooltip.handleEvent(tt.event,nt,tt.inChartArea)&&(tt.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(et,tt)=>tt.bodyFont.size,boxWidth:(et,tt)=>tt.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:et=>et!=="filter"&&et!=="itemSort"&&et!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Colors:plugin_colors,Decimation:plugin_decimation,Filler:index$1,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip});const addIfString=(et,tt,nt,it)=>(typeof tt=="string"?(nt=et.push(tt)-1,it.unshift({index:nt,label:tt})):isNaN(tt)&&(nt=null),nt);function findOrAddLabel(et,tt,nt,it){const ot=et.indexOf(tt);if(ot===-1)return addIfString(et,tt,nt,it);const Ut=et.lastIndexOf(tt);return ot!==Ut?nt:ot}const validIndex=(et,tt)=>et===null?null:_limitValue(Math.round(et),0,tt);function _getLabelForValue(et){const tt=this.getLabels();return et>=0&&etnt.length-1?null:this.getPixelForValue(nt[tt].value)}getValueForPixel(tt){return Math.round(this._startValue+this.getDecimalForPixel(tt)*this._valueRange)}getBasePixel(){return this.bottom}}_r(CategoryScale,"id","category"),_r(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(et,tt){const nt=[],{bounds:ot,step:Ut,min:Ft,max:Qt,precision:Bt,count:Vt,maxTicks:Wt,maxDigits:Xt,includeBounds:Zt}=et,Yt=Ut||1,Mt=Wt-1,{min:Gt,max:en}=tt,tn=!isNullOrUndef(Ft),ln=!isNullOrUndef(Qt),nn=!isNullOrUndef(Vt),sn=(en-Gt)/(Xt+1);let Kt=niceNum((en-Gt)/Mt/Yt)*Yt,dn,Qn,En,an;if(Kt<1e-14&&!tn&&!ln)return[{value:Gt},{value:en}];an=Math.ceil(en/Kt)-Math.floor(Gt/Kt),an>Mt&&(Kt=niceNum(an*Kt/Mt/Yt)*Yt),isNullOrUndef(Bt)||(dn=Math.pow(10,Bt),Kt=Math.ceil(Kt*dn)/dn),ot==="ticks"?(Qn=Math.floor(Gt/Kt)*Kt,En=Math.ceil(en/Kt)*Kt):(Qn=Gt,En=en),tn&&ln&&Ut&&almostWhole((Qt-Ft)/Ut,Kt/1e3)?(an=Math.round(Math.min((Qt-Ft)/Kt,Wt)),Kt=(Qt-Ft)/an,Qn=Ft,En=Qt):nn?(Qn=tn?Ft:Qn,En=ln?Qt:En,an=Vt-1,Kt=(En-Qn)/an):(an=(En-Qn)/Kt,almostEquals(an,Math.round(an),Kt/1e3)?an=Math.round(an):an=Math.ceil(an));const rn=Math.max(_decimalPlaces(Kt),_decimalPlaces(Qn));dn=Math.pow(10,isNullOrUndef(Bt)?rn:Bt),Qn=Math.round(Qn*dn)/dn,En=Math.round(En*dn)/dn;let gn=0;for(tn&&(Zt&&Qn!==Ft?(nt.push({value:Ft}),Qnot=nt?ot:Bt,Qt=Bt=>Ut=it?Ut:Bt;if(tt){const Bt=sign(ot),Vt=sign(Ut);Bt<0&&Vt<0?Qt(0):Bt>0&&Vt>0&&Ft(0)}if(ot===Ut){let Bt=Ut===0?1:Math.abs(Ut*.05);Qt(Ut+Bt),tt||Ft(ot-Bt)}this.min=ot,this.max=Ut}getTickLimit(){const tt=this.options.ticks;let{maxTicksLimit:nt,stepSize:it}=tt,ot;return it?(ot=Math.ceil(this.max/it)-Math.floor(this.min/it)+1,ot>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${it} would result generating up to ${ot} ticks. Limiting to 1000.`),ot=1e3)):(ot=this.computeTickLimit(),nt=nt||11),nt&&(ot=Math.min(nt,ot)),ot}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const tt=this.options,nt=tt.ticks;let it=this.getTickLimit();it=Math.max(2,it);const ot={maxTicks:it,bounds:tt.bounds,min:tt.min,max:tt.max,precision:nt.precision,step:nt.stepSize,count:nt.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:nt.minRotation||0,includeBounds:nt.includeBounds!==!1},Ut=this._range||this,Ft=generateTicks$1(ot,Ut);return tt.bounds==="ticks"&&_setMinAndMaxByKey(Ft,this,"value"),tt.reverse?(Ft.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),Ft}configure(){const tt=this.ticks;let nt=this.min,it=this.max;if(super.configure(),this.options.offset&&tt.length){const ot=(it-nt)/Math.max(tt.length-1,1)/2;nt-=ot,it+=ot}this._startValue=nt,this._endValue=it,this._valueRange=it-nt}getLabelForValue(tt){return formatNumber(tt,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:tt,max:nt}=this.getMinMax(!0);this.min=isNumberFinite(tt)?tt:0,this.max=isNumberFinite(nt)?nt:1,this.handleTickRangeOptions()}computeTickLimit(){const tt=this.isHorizontal(),nt=tt?this.width:this.height,it=toRadians(this.options.ticks.minRotation),ot=(tt?Math.sin(it):Math.cos(it))||.001,Ut=this._resolveTickFontOptions(0);return Math.ceil(nt/Math.min(40,Ut.lineHeight/ot))}getPixelForValue(tt){return tt===null?NaN:this.getPixelForDecimal((tt-this._startValue)/this._valueRange)}getValueForPixel(tt){return this._startValue+this.getDecimalForPixel(tt)*this._valueRange}}_r(LinearScale,"id","linear"),_r(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=et=>Math.floor(log10(et)),changeExponent=(et,tt)=>Math.pow(10,log10Floor(et)+tt);function isMajor(et){return et/Math.pow(10,log10Floor(et))===1}function steps(et,tt,nt){const it=Math.pow(10,nt),ot=Math.floor(et/it);return Math.ceil(tt/it)-ot}function startExp(et,tt){const nt=tt-et;let it=log10Floor(nt);for(;steps(et,tt,it)>10;)it++;for(;steps(et,tt,it)<10;)it--;return Math.min(it,log10Floor(et))}function generateTicks(et,{min:tt,max:nt}){tt=finiteOrDefault(et.min,tt);const it=[],ot=log10Floor(tt);let Ut=startExp(tt,nt),Ft=Ut<0?Math.pow(10,Math.abs(Ut)):1;const Qt=Math.pow(10,Ut),Bt=ot>Ut?Math.pow(10,ot):0,Vt=Math.round((tt-Bt)*Ft)/Ft,Wt=Math.floor((tt-Bt)/Qt/10)*Qt*10;let Xt=Math.floor((Vt-Wt)/Math.pow(10,Ut)),Zt=finiteOrDefault(et.min,Math.round((Bt+Wt+Xt*Math.pow(10,Ut))*Ft)/Ft);for(;Zt=10?Xt=Xt<15?15:20:Xt++,Xt>=20&&(Ut++,Xt=2,Ft=Ut>=0?1:Ft),Zt=Math.round((Bt+Wt+Xt*Math.pow(10,Ut))*Ft)/Ft;const Yt=finiteOrDefault(et.max,Zt);return it.push({value:Yt,major:isMajor(Yt),significand:Xt}),it}class LogarithmicScale extends Scale{constructor(tt){super(tt),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(tt,nt){const it=LinearScaleBase.prototype.parse.apply(this,[tt,nt]);if(it===0){this._zero=!0;return}return isNumberFinite(it)&&it>0?it:null}determineDataLimits(){const{min:tt,max:nt}=this.getMinMax(!0);this.min=isNumberFinite(tt)?Math.max(0,tt):null,this.max=isNumberFinite(nt)?Math.max(0,nt):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=tt===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:tt,maxDefined:nt}=this.getUserBounds();let it=this.min,ot=this.max;const Ut=Qt=>it=tt?it:Qt,Ft=Qt=>ot=nt?ot:Qt;it===ot&&(it<=0?(Ut(1),Ft(10)):(Ut(changeExponent(it,-1)),Ft(changeExponent(ot,1)))),it<=0&&Ut(changeExponent(ot,-1)),ot<=0&&Ft(changeExponent(it,1)),this.min=it,this.max=ot}buildTicks(){const tt=this.options,nt={min:this._userMin,max:this._userMax},it=generateTicks(nt,this);return tt.bounds==="ticks"&&_setMinAndMaxByKey(it,this,"value"),tt.reverse?(it.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),it}getLabelForValue(tt){return tt===void 0?"0":formatNumber(tt,this.chart.options.locale,this.options.ticks.format)}configure(){const tt=this.min;super.configure(),this._startValue=log10(tt),this._valueRange=log10(this.max)-log10(tt)}getPixelForValue(tt){return(tt===void 0||tt===0)&&(tt=this.min),tt===null||isNaN(tt)?NaN:this.getPixelForDecimal(tt===this.min?0:(log10(tt)-this._startValue)/this._valueRange)}getValueForPixel(tt){const nt=this.getDecimalForPixel(tt);return Math.pow(10,this._startValue+nt*this._valueRange)}}_r(LogarithmicScale,"id","logarithmic"),_r(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(et){const tt=et.ticks;if(tt.display&&et.display){const nt=toPadding(tt.backdropPadding);return valueOrDefault(tt.font&&tt.font.size,defaults.font.size)+nt.height}return 0}function measureLabelSize(et,tt,nt){return nt=isArray(nt)?nt:[nt],{w:_longestText(et,tt.string,nt),h:nt.length*tt.lineHeight}}function determineLimits(et,tt,nt,it,ot){return et===it||et===ot?{start:tt-nt/2,end:tt+nt/2}:etot?{start:tt-nt,end:tt}:{start:tt,end:tt+nt}}function fitWithPointLabels(et){const tt={l:et.left+et._padding.left,r:et.right-et._padding.right,t:et.top+et._padding.top,b:et.bottom-et._padding.bottom},nt=Object.assign({},tt),it=[],ot=[],Ut=et._pointLabels.length,Ft=et.options.pointLabels,Qt=Ft.centerPointLabels?PI/Ut:0;for(let Bt=0;Bttt.r&&(Qt=(it.end-tt.r)/Ut,et.r=Math.max(et.r,tt.r+Qt)),ot.starttt.b&&(Bt=(ot.end-tt.b)/Ft,et.b=Math.max(et.b,tt.b+Bt))}function buildPointLabelItems(et,tt,nt){const it=[],ot=et._pointLabels.length,Ut=et.options,Ft=getTickBackdropHeight(Ut)/2,Qt=et.drawingArea,Bt=Ut.pointLabels.centerPointLabels?PI/ot:0;for(let Vt=0;Vt270||nt<90)&&(et-=tt),et}function drawPointLabels(et,tt){const{ctx:nt,options:{pointLabels:it}}=et;for(let ot=tt-1;ot>=0;ot--){const Ut=it.setContext(et.getPointLabelContext(ot)),Ft=toFont(Ut.font),{x:Qt,y:Bt,textAlign:Vt,left:Wt,top:Xt,right:Zt,bottom:Yt}=et._pointLabelItems[ot],{backdropColor:Mt}=Ut;if(!isNullOrUndef(Mt)){const Gt=toTRBLCorners(Ut.borderRadius),en=toPadding(Ut.backdropPadding);nt.fillStyle=Mt;const tn=Wt-en.left,ln=Xt-en.top,nn=Zt-Wt+en.width,sn=Yt-Xt+en.height;Object.values(Gt).some(Kt=>Kt!==0)?(nt.beginPath(),addRoundedRectPath(nt,{x:tn,y:ln,w:nn,h:sn,radius:Gt}),nt.fill()):nt.fillRect(tn,ln,nn,sn)}renderText(nt,et._pointLabels[ot],Qt,Bt+Ft.lineHeight/2,Ft,{color:Ut.color,textAlign:Vt,textBaseline:"middle"})}}function pathRadiusLine(et,tt,nt,it){const{ctx:ot}=et;if(nt)ot.arc(et.xCenter,et.yCenter,tt,0,TAU);else{let Ut=et.getPointPosition(0,tt);ot.moveTo(Ut.x,Ut.y);for(let Ft=1;Ft{const ot=callback(this.options.pointLabels.callback,[nt,it],this);return ot||ot===0?ot:""}).filter((nt,it)=>this.chart.getDataVisibility(it))}fit(){const tt=this.options;tt.display&&tt.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(tt,nt,it,ot){this.xCenter+=Math.floor((tt-nt)/2),this.yCenter+=Math.floor((it-ot)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(tt,nt,it,ot))}getIndexAngle(tt){const nt=TAU/(this._pointLabels.length||1),it=this.options.startAngle||0;return _normalizeAngle(tt*nt+toRadians(it))}getDistanceFromCenterForValue(tt){if(isNullOrUndef(tt))return NaN;const nt=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-tt)*nt:(tt-this.min)*nt}getValueForDistanceFromCenter(tt){if(isNullOrUndef(tt))return NaN;const nt=tt/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-nt:this.min+nt}getPointLabelContext(tt){const nt=this._pointLabels||[];if(tt>=0&&tt{if(Xt!==0){Bt=this.getDistanceFromCenterForValue(Wt.value);const Zt=this.getContext(Xt),Yt=ot.setContext(Zt),Mt=Ut.setContext(Zt);drawRadiusLine(this,Yt,Bt,Ft,Mt)}}),it.display){for(tt.save(),Qt=Ft-1;Qt>=0;Qt--){const Wt=it.setContext(this.getPointLabelContext(Qt)),{color:Xt,lineWidth:Zt}=Wt;!Zt||!Xt||(tt.lineWidth=Zt,tt.strokeStyle=Xt,tt.setLineDash(Wt.borderDash),tt.lineDashOffset=Wt.borderDashOffset,Bt=this.getDistanceFromCenterForValue(nt.ticks.reverse?this.min:this.max),Vt=this.getPointPosition(Qt,Bt),tt.beginPath(),tt.moveTo(this.xCenter,this.yCenter),tt.lineTo(Vt.x,Vt.y),tt.stroke())}tt.restore()}}drawBorder(){}drawLabels(){const tt=this.ctx,nt=this.options,it=nt.ticks;if(!it.display)return;const ot=this.getIndexAngle(0);let Ut,Ft;tt.save(),tt.translate(this.xCenter,this.yCenter),tt.rotate(ot),tt.textAlign="center",tt.textBaseline="middle",this.ticks.forEach((Qt,Bt)=>{if(Bt===0&&!nt.reverse)return;const Vt=it.setContext(this.getContext(Bt)),Wt=toFont(Vt.font);if(Ut=this.getDistanceFromCenterForValue(this.ticks[Bt].value),Vt.showLabelBackdrop){tt.font=Wt.string,Ft=tt.measureText(Qt.label).width,tt.fillStyle=Vt.backdropColor;const Xt=toPadding(Vt.backdropPadding);tt.fillRect(-Ft/2-Xt.left,-Ut-Wt.size/2-Xt.top,Ft+Xt.width,Wt.size+Xt.height)}renderText(tt,Qt.label,0,-Ut,Wt,{color:Vt.color})}),tt.restore()}drawTitle(){}}_r(RadialLinearScale,"id","radialLinear"),_r(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(tt){return tt},padding:5,centerPointLabels:!1}}),_r(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),_r(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(et,tt){return et-tt}function parse(et,tt){if(isNullOrUndef(tt))return null;const nt=et._adapter,{parser:it,round:ot,isoWeekday:Ut}=et._parseOpts;let Ft=tt;return typeof it=="function"&&(Ft=it(Ft)),isNumberFinite(Ft)||(Ft=typeof it=="string"?nt.parse(Ft,it):nt.parse(Ft)),Ft===null?null:(ot&&(Ft=ot==="week"&&(isNumber(Ut)||Ut===!0)?nt.startOf(Ft,"isoWeek",Ut):nt.startOf(Ft,ot)),+Ft)}function determineUnitForAutoTicks(et,tt,nt,it){const ot=UNITS.length;for(let Ut=UNITS.indexOf(et);Ut=UNITS.indexOf(nt);Ut--){const Ft=UNITS[Ut];if(INTERVALS[Ft].common&&et._adapter.diff(ot,it,Ft)>=tt-1)return Ft}return UNITS[nt?UNITS.indexOf(nt):0]}function determineMajorUnit(et){for(let tt=UNITS.indexOf(et)+1,nt=UNITS.length;tt=tt?nt[it]:nt[ot];et[Ut]=!0}}function setMajorTicks(et,tt,nt,it){const ot=et._adapter,Ut=+ot.startOf(tt[0].value,it),Ft=tt[tt.length-1].value;let Qt,Bt;for(Qt=Ut;Qt<=Ft;Qt=+ot.add(Qt,1,it))Bt=nt[Qt],Bt>=0&&(tt[Bt].major=!0);return tt}function ticksFromTimestamps(et,tt,nt){const it=[],ot={},Ut=tt.length;let Ft,Qt;for(Ft=0;Ft+tt.value))}initOffsets(tt=[]){let nt=0,it=0,ot,Ut;this.options.offset&&tt.length&&(ot=this.getDecimalForValue(tt[0]),tt.length===1?nt=1-ot:nt=(this.getDecimalForValue(tt[1])-ot)/2,Ut=this.getDecimalForValue(tt[tt.length-1]),tt.length===1?it=Ut:it=(Ut-this.getDecimalForValue(tt[tt.length-2]))/2);const Ft=tt.length<3?.5:.25;nt=_limitValue(nt,0,Ft),it=_limitValue(it,0,Ft),this._offsets={start:nt,end:it,factor:1/(nt+1+it)}}_generate(){const tt=this._adapter,nt=this.min,it=this.max,ot=this.options,Ut=ot.time,Ft=Ut.unit||determineUnitForAutoTicks(Ut.minUnit,nt,it,this._getLabelCapacity(nt)),Qt=valueOrDefault(ot.ticks.stepSize,1),Bt=Ft==="week"?Ut.isoWeekday:!1,Vt=isNumber(Bt)||Bt===!0,Wt={};let Xt=nt,Zt,Yt;if(Vt&&(Xt=+tt.startOf(Xt,"isoWeek",Bt)),Xt=+tt.startOf(Xt,Vt?"day":Ft),tt.diff(it,nt,Ft)>1e5*Qt)throw new Error(nt+" and "+it+" are too far apart with stepSize of "+Qt+" "+Ft);const Mt=ot.ticks.source==="data"&&this.getDataTimestamps();for(Zt=Xt,Yt=0;ZtGt-en).map(Gt=>+Gt)}getLabelForValue(tt){const nt=this._adapter,it=this.options.time;return it.tooltipFormat?nt.format(tt,it.tooltipFormat):nt.format(tt,it.displayFormats.datetime)}format(tt,nt){const ot=this.options.time.displayFormats,Ut=this._unit,Ft=nt||ot[Ut];return this._adapter.format(tt,Ft)}_tickFormatFunction(tt,nt,it,ot){const Ut=this.options,Ft=Ut.ticks.callback;if(Ft)return callback(Ft,[tt,nt,it],this);const Qt=Ut.time.displayFormats,Bt=this._unit,Vt=this._majorUnit,Wt=Bt&&Qt[Bt],Xt=Vt&&Qt[Vt],Zt=it[nt],Yt=Vt&&Xt&&Zt&&Zt.major;return this._adapter.format(tt,ot||(Yt?Xt:Wt))}generateTickLabels(tt){let nt,it,ot;for(nt=0,it=tt.length;nt0?Qt:1}getDataTimestamps(){let tt=this._cache.data||[],nt,it;if(tt.length)return tt;const ot=this.getMatchingVisibleMetas();if(this._normalized&&ot.length)return this._cache.data=ot[0].controller.getAllParsedValues(this);for(nt=0,it=ot.length;nt=et[it].pos&&tt<=et[ot].pos&&({lo:it,hi:ot}=_lookupByKey(et,"pos",tt)),{pos:Ut,time:Qt}=et[it],{pos:Ft,time:Bt}=et[ot]):(tt>=et[it].time&&tt<=et[ot].time&&({lo:it,hi:ot}=_lookupByKey(et,"time",tt)),{time:Ut,pos:Qt}=et[it],{time:Ft,pos:Bt}=et[ot]);const Vt=Ft-Ut;return Vt?Qt+(Bt-Qt)*(tt-Ut)/Vt:Qt}class TimeSeriesScale extends TimeScale{constructor(tt){super(tt),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const tt=this._getTimestampsForTable(),nt=this._table=this.buildLookupTable(tt);this._minPos=interpolate(nt,this.min),this._tableRange=interpolate(nt,this.max)-this._minPos,super.initOffsets(tt)}buildLookupTable(tt){const{min:nt,max:it}=this,ot=[],Ut=[];let Ft,Qt,Bt,Vt,Wt;for(Ft=0,Qt=tt.length;Ft=nt&&Vt<=it&&ot.push(Vt);if(ot.length<2)return[{time:nt,pos:0},{time:it,pos:1}];for(Ft=0,Qt=ot.length;Fttt in et?__defProp(et,tt,{enumerable:!0,configurable:!0,writable:!0,value:nt}):et[tt]=nt,__publicField=(et,tt,nt)=>(__defNormalProp(et,typeof tt!="symbol"?tt+"":tt,nt),nt),__defProp2=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp2=(et,tt,nt)=>tt in et?__defProp2(et,tt,{enumerable:!0,configurable:!0,writable:!0,value:nt}):et[tt]=nt,__spreadValues=(et,tt)=>{for(var nt in tt||(tt={}))__hasOwnProp.call(tt,nt)&&__defNormalProp2(et,nt,tt[nt]);if(__getOwnPropSymbols)for(var nt of __getOwnPropSymbols(tt))__propIsEnum.call(tt,nt)&&__defNormalProp2(et,nt,tt[nt]);return et},__spreadProps=(et,tt)=>__defProps(et,__getOwnPropDescs(tt)),__publicField2=(et,tt,nt)=>(__defNormalProp2(et,typeof tt!="symbol"?tt+"":tt,nt),nt);const millisecond=1,second=1e3,minute=60*second,hour=60*minute,day=24*hour,week=7*day,month=30*day,year=365*day,duration={millisecond,second,minute,hour,day,week,month,year};class H264Decoder{constructor(tt,nt,it){__publicField2(this,"worker"),__publicField2(this,"onReceive"),__publicField2(this,"onError"),__publicField2(this,"onReceiveMessage",Ut=>{const{data:Ft}=Ut;if(Ft.error){const Qt=new Error(`${Ft.error}`);Qt.cause=Ft.error,console.warn("H264 worker failure",{error:Qt}),this.onError(Ft.index);return}this.onReceive(Ft)});var ot;this.worker=tt,(ot=this.worker)==null||ot.addEventListener("message",this.onReceiveMessage),this.onReceive=nt,this.onError=it}post(tt,nt,it,ot){var Ut;(Ut=this.worker)==null||Ut.postMessage({timestamp:tt,encodedFrame:nt,flags:it,index:ot})}release(){var tt,nt;(tt=this.worker)==null||tt.removeEventListener("message",this.onReceiveMessage),(nt=this.worker)==null||nt.terminate(),this.worker=void 0}}class YUVCanvas{constructor(tt){__publicField2(this,"gl"),__publicField2(this,"program"),__publicField2(this,"texturePosBuffer"),__publicField2(this,"textureRef"),__publicField2(this,"height",0),__publicField2(this,"width",0),this.gl=tt,this.program=this.initProgram();const{texturePosBuffer:nt}=this.initBuffers();this.texturePosBuffer=nt;const{textureRef:it}=this.initTextures();this.textureRef=it}draw(tt){const{gl:nt,height:it,width:ot,texturePosBuffer:Ut,textureRef:Ft}=this;nt.viewport(0,0,ot,it);const Qt=new Float32Array([1,0,0,0,1,1,0,1]);return nt.bindBuffer(nt.ARRAY_BUFFER,Ut),nt.bufferData(nt.ARRAY_BUFFER,Qt,nt.DYNAMIC_DRAW),nt.activeTexture(nt.TEXTURE0),nt.bindTexture(nt.TEXTURE_2D,Ft),nt.texImage2D(nt.TEXTURE_2D,0,nt.LUMINANCE,ot,it+it/2,0,nt.LUMINANCE,nt.UNSIGNED_BYTE,tt),nt.drawArrays(nt.TRIANGLE_STRIP,0,4),nt.getError()}initProgram(){const{gl:tt}=this,nt=` - attribute vec4 vertexPos; - attribute vec4 texturePos; - varying vec2 textureCoord; - - void main() { - gl_Position = vertexPos; - textureCoord = texturePos.xy; - } - `,it=` - precision highp float; - varying highp vec2 textureCoord; - uniform sampler2D yuvSampler; - uniform mat4 YUV2RGB; - - void main(void) { - highp vec2 yScale = vec2(1.0, 2.0 / 3.0); - highp vec2 yTextureCoord = textureCoord * yScale; - - highp vec2 uScale = vec2(0.5, 0.5 / 3.0); - highp vec2 uOffset = vec2(0.0, 2.0 / 3.0); - highp vec2 uTextureCoord = (textureCoord * uScale) + uOffset; - - highp vec2 vScale = vec2(0.5, 0.5 / 3.0); - highp vec2 vOffset = vec2(0.0, 2.5 / 3.0); - highp vec2 vTextureCoord = (textureCoord * vScale) + vOffset; - - highp float y = texture2D(yuvSampler, yTextureCoord).r; - highp float u = texture2D(yuvSampler, uTextureCoord).r; - highp float v = texture2D(yuvSampler, vTextureCoord).r; - - gl_FragColor = vec4(y, u, v, 1) * YUV2RGB; - } - `,ot=[1.16438,0,1.59603,-.87079,1.16438,-.39176,-.81297,.52959,1.16438,2.01723,0,-1.08139,0,0,0,1],Ut=tt.createShader(tt.VERTEX_SHADER);if(!Ut)throw new Error("Failed to create vertex shader");tt.shaderSource(Ut,nt),tt.compileShader(Ut);const Ft=tt.createShader(tt.FRAGMENT_SHADER);if(!Ft)throw new Error("Failed to create fragment shader");tt.shaderSource(Ft,it),tt.compileShader(Ft);const Qt=tt.createProgram();if(!Qt)throw new Error("Failed to create webgl program");tt.attachShader(Qt,Ut),tt.attachShader(Qt,Ft),tt.linkProgram(Qt),tt.useProgram(Qt);const Bt=tt.getUniformLocation(Qt,"YUV2RGB");return tt.uniformMatrix4fv(Bt,!1,ot),Qt}initBuffers(){const{gl:tt,program:nt}=this,it=tt.createBuffer();tt.bindBuffer(tt.ARRAY_BUFFER,it),tt.bufferData(tt.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),tt.STATIC_DRAW);const ot=tt.getAttribLocation(nt,"vertexPos");tt.enableVertexAttribArray(ot),tt.vertexAttribPointer(ot,2,tt.FLOAT,!1,0,0);const Ut=tt.createBuffer();if(!Ut)throw new Error("Failed to create WebGL buffer");tt.bindBuffer(tt.ARRAY_BUFFER,Ut),tt.bufferData(tt.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),tt.STATIC_DRAW);const Ft=tt.getAttribLocation(nt,"texturePos");return tt.enableVertexAttribArray(Ft),tt.vertexAttribPointer(Ft,2,tt.FLOAT,!1,0,0),{texturePosBuffer:Ut}}initTextures(){const{gl:tt,program:nt}=this,it=this.initTexture(),ot=tt.getUniformLocation(nt,"yuvSampler");return tt.uniform1i(ot,0),{textureRef:it}}initTexture(){const{gl:tt}=this,nt=tt.createTexture();if(!nt)throw new Error("Failed to initialize texture");return tt.bindTexture(tt.TEXTURE_2D,nt),tt.texParameteri(tt.TEXTURE_2D,tt.TEXTURE_MAG_FILTER,tt.NEAREST),tt.texParameteri(tt.TEXTURE_2D,tt.TEXTURE_MIN_FILTER,tt.NEAREST),tt.texParameteri(tt.TEXTURE_2D,tt.TEXTURE_WRAP_S,tt.CLAMP_TO_EDGE),tt.texParameteri(tt.TEXTURE_2D,tt.TEXTURE_WRAP_T,tt.CLAMP_TO_EDGE),tt.bindTexture(tt.TEXTURE_2D,null),nt}}const decoderNotWorkingThreshold=duration.second*2.5,warnPerformanceThreshold=duration.second/3,noSignalThreshold=duration.second*2,maxQueueSize=5,maxDropRatio=30/25,numRetries=5,hardwareIncompatibleErrorCode=1282;class H264BytestreamCanvasDrawer{constructor(tt,nt,it,ot,Ut){__publicField2(this,"_waitingForDecoder",!0),__publicField2(this,"_noSignal",!0),__publicField2(this,"_lostSignal",!1),__publicField2(this,"_overWaitingThreshold",!1),__publicField2(this,"_retries",0),__publicField2(this,"_webglYUVSupported"),__publicField2(this,"lastDecodedFrameTime"),__publicField2(this,"lastReceivedFrameTime"),__publicField2(this,"lastNoSignalTime",new Date().getTime()),__publicField2(this,"moduleStartTime",Date.now()),__publicField2(this,"moduleCreateTime",Date.now()),__publicField2(this,"timesRestarted",0),__publicField2(this,"canvas"),__publicField2(this,"decoder"),__publicField2(this,"yuvCanvas"),__publicField2(this,"webglContext"),__publicField2(this,"frameQueue",[]),__publicField2(this,"minFrameSize",1/0),__publicField2(this,"maxFrameSize",0),__publicField2(this,"decoderQueue",[]),__publicField2(this,"decoderQueueLocked",!1),__publicField2(this,"decodeNextFrameAttempted",!1),__publicField2(this,"numFramesDecoded",0),__publicField2(this,"numFramesReceived",0),__publicField2(this,"hasReceivedKeyframe",!1),__publicField2(this,"medianFrameSize",0),__publicField2(this,"currentFrameIndex"),__publicField2(this,"frameCheckpointMap",new Map),__publicField2(this,"lastDrawnFrameTime"),__publicField2(this,"minJitter"),__publicField2(this,"maxJitter"),__publicField2(this,"start",()=>{const{canvas:Ft}=this;if(!Ft)return;const Qt=Ft.getContext("webgl");this.webglContext=Qt||void 0,this.lastDecodedFrameTime=void 0,this.lastReceivedFrameTime=void 0,this.hasReceivedKeyframe=!1,this.currentFrameIndex=void 0,!(!this.canvas||!this.webglContext)&&(this.yuvCanvas||(this.yuvCanvas=new YUVCanvas(this.webglContext)),this.moduleStartTime=Date.now())}),__publicField2(this,"stop",()=>{var Ft;(Ft=this.decoder)==null||Ft.release(),this.webglContext=void 0,this.decoderQueueLocked=!1}),__publicField2(this,"reset",()=>{this.retries=0,this.restart()}),__publicField2(this,"notifyWarningTextChanged",()=>{var Ft;(Ft=this.onWarningTextChanged)==null||Ft.call(this,this.getWarningText())}),__publicField2(this,"restart",()=>{console.info("Restarting decoder"),console.info("BytestreamPlayer restarting",__spreadProps(__spreadValues({},this.trackInfo),{Restart:this.timesRestarted})),this.frameQueue=[],this.decoderQueue=[],this.stop(),this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),this.start(),this.retries++,this.timesRestarted++}),__publicField2(this,"onTrackTick",()=>{if(this.numFramesDecoded===0){if(this.lastDecodedFrameTime===void 0){const Wt=Date.now();console.info("BytestreamPlayer waiting for video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Waited":Wt-this.moduleCreateTime}))}return}this.numFramesReceived/this.numFramesDecoded>maxDropRatio&&this.warnPerformanceProblems(),this.numFramesReceived=0,this.numFramesDecoded=0;const Qt=Array.from(this.frameCheckpointMap.entries()).reduce((Wt,[Xt,Zt])=>{var Yt;return!this.currentFrameIndex||Xt>this.currentFrameIndex-60||Zt==="FrameDrawn"||(Wt[Zt]=((Yt=Wt[Zt])!=null?Yt:0)+1,this.frameCheckpointMap.delete(Xt)),Wt},{});Object.keys(Qt).map(Wt=>{console.info("BytestreamPlayer Frame Dropped",__spreadProps(__spreadValues({},this.trackInfo),{"Num Dropped":Qt[Wt],"Frame State":Wt}))});const{minJitter:Bt,maxJitter:Vt}=this;Bt&&Vt&&(console.info("BytestreamPlayer Jitter",__spreadProps(__spreadValues({},this.trackInfo),{minJitter:Bt,maxJitter:Vt})),this.minJitter=void 0,this.maxJitter=void 0)}),__publicField2(this,"onTick",()=>{var Ft;const{lastReceivedFrameTime:Qt,lastDecodedFrameTime:Bt,moduleStartTime:Vt,noSignal:Wt,retries:Xt}=this,Zt=new Date().getTime();Wt&&(this.lastNoSignalTime=Zt),this.overWaitingThreshold=Zt-Vt>noSignalThreshold;const Yt=Zt-Vt>decoderNotWorkingThreshold;if(!Bt){Qt&&Yt&&XtnoSignalThreshold&&MtwarnPerformanceThreshold&&this.warnPerformanceProblems(),Mt>noSignalThreshold&&(this.lostSignal=!0)}this.overWaitingThreshold&&(this.waitingForDecoder||this.noSignal||this.lostSignal)&&((Ft=this.onCanvasDrawerWarning)==null||Ft.call(this,"ShouldDisableControl"))}),__publicField2(this,"receiveEncodedFrame",Ft=>{if(!Ft)return;const Qt=Ft.index;if(Qt&&this.frameCheckpointMap.set(Qt,"FrameReceived"),!(!Ft||!this.canvas||!this.webglContext)){if(this.isKeyframe(Ft),!this.hasReceivedKeyframe)return console.info("Dropping frame because no keyframe detected"),!1;this.lastReceivedFrameTime===void 0&&console.debug("Received first frame on bytestream player",__spreadValues({},this.trackInfo)),this.checkOrder(Ft),this.numFramesReceived++,this.lastReceivedFrameTime=Date.now(),this.lostSignal&&this.restart(),this.noSignal=!1,this.lostSignal=!1,this.frameQueue.push(Ft),Qt&&this.frameCheckpointMap.set(Qt,"FrameQueued"),this.frameQueue.length>maxQueueSize&&(this.frameQueue=this.frameQueue.filter(Bt=>this.isKeyframe(Bt))),this.frameQueue.length>maxQueueSize&&(this.frameQueue=[],this.decoderQueue=[]),this.decodeNextFrame()}}),__publicField2(this,"onDecoderError",Ft=>{this.frameQueue=[],this.decoderQueue=[],this.hasReceivedKeyframe=!1,console.info("BytestreamPlayer decode error",__spreadProps(__spreadValues({},this.trackInfo),{"Frame Index":Ft}))}),__publicField2(this,"onReceiveDecodedFrame",Ft=>{var Qt,Bt;const{canvas:Vt,yuvCanvas:Wt,decoderQueue:Xt}=this,{timestamp:Zt,yuv:Yt,height:Mt,width:Gt,index:en}=Ft;this.frameCheckpointMap.set(en,"FrameDecoded"),this.numFramesDecoded++;const tn=Date.now();if(this.lastDecodedFrameTime===void 0&&console.info("BytestreamPlayer started video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Until Video":tn-this.moduleCreateTime})),this.lastDecodedFrameTime=tn,this.waitingForDecoder=!1,this.decoderQueue=Xt.filter(sn=>tn-snduration.second||!Wt||!Vt||Mt===0||Gt===0)return;Mt!==Vt.height&&(Vt.height=Mt,Wt.height=Mt),Gt!==Vt.width&&(Vt.width=Gt,Wt.width=Gt);const ln=Wt.draw(Yt),nn=Date.now();if(this.lastDrawnFrameTime){const sn=nn-this.lastDrawnFrameTime;this.minJitter=Math.min(sn,(Qt=this.minJitter)!=null?Qt:Number.MAX_SAFE_INTEGER),this.maxJitter=Math.max(sn,(Bt=this.maxJitter)!=null?Bt:0)}this.lastDrawnFrameTime=nn,this.frameCheckpointMap.set(en,"FrameDrawn"),ln===0&&(this.webglYUVSupported=!0),ln===hardwareIncompatibleErrorCode&&(this.webglYUVSupported=!1),this.frameQueue.length>0&&this.decodeNextFrame()}),this.workerFactory=tt,this.onWebglYUVSupportedChanged=nt,this.onWarningTextChanged=it,this.onCanvasDrawerWarning=ot,this.trackInfo=Ut,this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),setInterval(this.onTick,duration.millisecond*200),setInterval(this.onTrackTick,duration.second*5)}get waitingForDecoder(){return this._waitingForDecoder}set waitingForDecoder(tt){this._waitingForDecoder=tt,this.notifyWarningTextChanged()}get noSignal(){return this._noSignal}set noSignal(tt){this._noSignal=tt,this.notifyWarningTextChanged()}get lostSignal(){return this._lostSignal}set lostSignal(tt){this._lostSignal=tt,this.notifyWarningTextChanged()}get overWaitingThreshold(){return this._overWaitingThreshold}set overWaitingThreshold(tt){this._overWaitingThreshold=tt,this.notifyWarningTextChanged()}get retries(){return this._retries}set retries(tt){this._retries=tt,this.notifyWarningTextChanged()}get webglYUVSupported(){return this._webglYUVSupported}set webglYUVSupported(tt){var nt;this._webglYUVSupported=tt,(nt=this.onWebglYUVSupportedChanged)==null||nt.call(this,tt),this.notifyWarningTextChanged()}setCanvas(tt){this.canvas=tt}getWarningText(){var tt;const{waitingForDecoder:nt,noSignal:it,overWaitingThreshold:ot,lostSignal:Ut,retries:Ft,webglYUVSupported:Qt}=this,Bt=Qt===!1,Wt=nt?Ft===numRetries?"Decoder failed to start":"Starting decoder":void 0,Xt=Bt?"Hardware decoding not supported on this device":void 0;return(tt=Xt??(Ut?"Lost signal":it?ot?"No signal":"Waiting for signal":void 0))!=null?tt:Wt}decodeNextFrame(){if(this.decoderQueueLocked&&(this.decodeNextFrameAttempted=!0),this.decoderQueueLocked=!0,this.decoderQueue.length>maxQueueSize){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const tt=this.frameQueue.shift();if(!tt){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const nt=Date.now();this.frameCheckpointMap.set(tt.index,"FrameSentToDecoder"),this.decoder.post(nt,tt.frame_data,tt.flags,tt.index),this.decoderQueue.push(nt),this.decoderQueueLocked=!1,this.decodeNextFrameAttempted&&(this.decodeNextFrameAttempted=!1,this.decodeNextFrame())}warnPerformanceProblems(){var tt;this.lastDecodedFrameTime&&this.overWaitingThreshold&&!this.lostSignal&&!this.noSignal&&((tt=this.onCanvasDrawerWarning)==null||tt.call(this,"ShouldDegradeVideo"))}checkOrder(tt){if(this.currentFrameIndex!==void 0&&tt.indexDate.now()?!1:ot>this.medianFrameSize?(this.hasReceivedKeyframe=!0,!0):!1}}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsK",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){const et=blob&&(window.URL||window.webkitURL).createObjectURL(blob);try{return et?new Worker(et,{}):new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{et&&(window.URL||window.webkitURL).revokeObjectURL(et)}}class RealtimePlayer extends HTMLElement{constructor(){super(),__publicField(this,"drawer"),this.drawer=new H264BytestreamCanvasDrawer(()=>new WorkerWrapper,()=>{},()=>{})}connectedCallback(){this.style.background="black",this.innerHTML='',this.drawer.start(),this.drawer.setCanvas(this.querySelector("canvas"))}drawVideoFrame(tt){this.drawer.receiveEncodedFrame(tt)}}customElements.define("formant-realtime-player",RealtimePlayer);var classnamesExports={},classnames$1={get exports(){return classnamesExports},set exports(et){classnamesExports=et}};/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/(function(et){(function(){var tt={}.hasOwnProperty;function nt(){for(var it=[],ot=0;ot{const[tt,nt]=reactExports.useState();return reactExports.useEffect(()=>{K0(et).then(it=>nt(it)).catch(it=>{throw console.log("Failed fetching device",{err:it}),new Error("Authentication failed, please authenticate and try again")})},[et]),tt},z1=async et=>{try{if(await o.waitTilAuthenticated())return et()}catch(tt){throw tt}},$1=(et,tt)=>tt?JSON.parse(et):et,J0=async(et,tt)=>{await z1(async()=>{try{const nt=await y.getCurrentModuleConfiguration();if(!nt)return;const it=$1(nt,tt);et(it),y.addModuleConfigurationListener(ot=>{const Ut=$1(ot.configuration,tt);et(Ut)})}catch(nt){throw nt}})},X0=et=>{const[tt,nt]=reactExports.useState("");return reactExports.useEffect(()=>{J0(nt,et==null?void 0:et.parse)},[]),tt};function Oe(){return reactExports.useContext(d0)}const d0=reactExports.createContext(void 0);function Ke({theme:et,children:tt,parseConfiguration:nt,scoped:it=!1}){const ot=X0({parse:!!nt}),Ut=createTheme(et==="dark"?c0:et==="light"?P0:O0),Ft={configuration:ot};return jsx(ThemeProvider,{theme:Ut,children:jsx(it?D0:CssBaseline,{children:jsx(d0.Provider,{value:Ft,children:tt})})})}Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);const I2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACGFjVEwAAAAwAAAAAChseJYAAAAaZmNUTAAAAAAAAAAwAAAAMAAAAAAAAAAAAAQAZAAAR67u9QAAAK9JREFUaN7t0zEKwkAQheEVCxvPYGFla+UFbD1CwNY6ra23sPEAxgRNNKBpLWITA6IsBCV6A/txV1svsPB/8GCYah/LKAUA/4hI4xQWAxs7O/X4JNGtY1BkeXCWX4pMm50zBUZx5U3WWmbRVRbhRQ6rUvJl6bnzBbun397W0kvuMowrGZsy0+jmu1Ng/+iaEm8TsWmaubMxO7cO4dVXaT3/xs4AAAAAAAAAAAAAYH0AgOhTVFHYG+UAAAAaZmNUTAAAAAEAAAALAAAADwAAABUAAAAGAAQAZAAAZ7Lt7AAAAWFmZEFUAAAAAmjefZG/S0JxFMXPveKv7wu0paBcAh0iaHYKHGsIJBD6LyQS2qopsCGClpZoaWp6BZo0uDcIEUE/ECG33veJkz6R926DT9OUDlwuX/icA+d+qVT6DBuOU1aQDAAAUo1H1GZqK9XDH7Hu9XOaOGMTowsCQJm209nHDLFmWrCJoImgidEihgM+qJm1pSn4G0FTE/c1sW8gaKI5yw2d/IUJAPbuPs4UJG+IQEGgRGBAJCpIZ7NrT6NkAGi5wWObWA/SGfZgk010LiI0AV9nV9oW4XAIj036wnzbnYABgDrJS030Ml7WJobNXDytPBsT8G2OXIsD+d/UgckiWracSGFUcFzrpYapBNuGX1RBYIh0oxxYnYITD81kxPNeDUjIv4pv8q5o1k/Nl5tFBSlMwqjPhPFYj4Xd8Lsh3qIC/Lt797NhAKh8bUD4JgJJREVqMbg7+FdHwqg24sPnD+oal8W6KwosAAAAGmZjVEwAAAADAAAAEQAAABkAAAAVAAAABQAEAGQAALMDT1sAAAImZmRBVAAAAARo3p3UPWgUQRQH8FUEbcQvLPRACxVRiU2QJGDwNKD4BRHR4oIYJIpK1OJSKBI5gqASBY1E8AOSIim8Yr9mdu4M5FIIKiJiuK/dzO3ebQ4EwUrSqJjn2xyrG6sZH/xhmeK3b94woyhYALDkrT7d8gETfCuyxRhfnlULuUktD6/VPLxTp3Mc16SQtFY6o2pFIFoBXmFyDeymFDKqlZNjehFeYjTEaAObmySfYsLIkMa3PNNLP0b0EowjlF7ACkD1/JhUN4+M8oNhowzPERr9i83rerFdGLln2CsHDfszYvBkMfYxlYKlwtAAcXruGDbcx0SxEaN4ThgJ/thvOu8HTBv+wb48TburhKE+wtuum848YhDFHuvlQakhXyUz40lzBhCDELtr2N8fGvZ2YeQicWKXCJ9DDELsFua26UxIddNNK/09hANiEGB9iN1AKEWcI+LIVHVFgrreWVKBALuMudbA+BWZe9VpuSdP0QokMN2InQ8x6iSltnWUuhOd1IXTCHUtYDzAvl3IljYII/uzfNdBy/t5DKETUYzyF1Ld7LW84QOWB4cwEexXl+nuEUaaqL+mlVW/tltVWIx5bxSZV7CJ1XqbWQ1aEfqDUQ+OW25CGIlPwbIdrJbfjVAzIiHWYXn1wzJHvinjd2xlPiAGIdaGiZNqXGrIGzOz6maEolgL83dKIetIPbY+M1tBDAJsG/OHlP8qnMFqVt+3NtLBb68GzUQnZ+QFAAAAGmZjVEwAAAAFAAAAFgAAACIAAAAVAAAABQAEAGQAAAaksUUAAALMZmRBVAAAAAZo3q3WW0gUYRTAcQu6EUQPUZAVZQhGF6noRkJiYWiKRVgYGEuJSWQkFsUuxYqaUVQqRkp2sSxSY+c+m5BW9JhBsM7uzM7szmw+JD1E0I2k9nRGZ2va19PAgWUe/r8z3zzMZmTgBQDThlllyysc+3fG/7hkWZ8lBUaHB5lReMaE4EUgNGzfI4f7mXAlwyjAY1jCsYGhQMhHDvcySv1jVoEBHAajNiAzo1+GhLeZpPA9JrSyhw1PPMSwDTz5AygPyFt3M8rVO2wY7uO4gGQgoOSRwu2yPu8mF3l/C8NuoI9R3vj9MJ0Ub+Mj1R1cBDpxbOBuCmAUDylsb3aNi7xuw3AaMN6LT0SKX+TU7Zc5NYkA2MANB7jNKi3kF9nIq30tnApXcFIAPsGPTiGcTQr7WGOpn1e/NvEquIF2LsySt/bxWsN5XoMGnCYMX3KAVjaymxSu6x+bc47XLC+GL7gBXg13dY3MIMVP8dGKej4KZzHqBpr5SC35SE7w0ZcIwGkH8E0C0Y9+QVtACtdw+vrjgv6rVoiCG/ByWgd56ypR764WdEAAbKBuCvjp5dR1pHBlwFjoEYxPRzF8zAFOTgL6EHnrCsk4UykY4MHov4C2jxQu71dmHhANrUI0IAVUTQExz3NzNileJsRL94sxQAAOuQFR95KPpESIyWUYTwM+H+HUxaRwoWDmFInxiRIM73WAgzYgGT3krQvk2PVCKQ4IgAtIlgsx2mcsnzHn75DiHwowngJKp4AR8mdsq2TW5EkmIAA7HaAY4yWCcZh2HrjZJskc2YbxNGC8iPoZyw0m8jbIVhIBSAH5NiDGm8kvcrVsDeTKFiAAm/8C33eJiSxSOCdoLs+RrW8IQBrQSt56hfSuMVtOAAKwxgE2StYjcnjR4PjcZcGEkYVxG1iF5742aBX/l//YS4SxzEx5rBWB3qyn1h773m+SXYWCYYXpgQAAABpmY1RMAAAABwAAABsAAAArAAAAFQAAAAUABABkAACqa+X8AAADYGZkQVQAAAAIaN612GlIFVEUB3CLKCgqqA8RFQmStBethPEorGglizLbLJFKLLV9p16FFZK2K9FitFhJvlnuzJgUBkVfwqLSmTfvzbx572W0QH1opYU8nZtvcPTzvRcODPPlx/9yuPdwk5JwAUCnOlGfXI9Fv5N4LU2zuimBpnpNaII6rPuBxnr6jwtWIxirBUEHCSEF6z8aaNzHBasS9G3Vog53sQSEEuhXQl4MYI5dFRpTbor671uIeVFZ0K9xSXdVNMquiQYgCi5aI+gtgYA+lTl2Q7N6XRaNd4iCi95uRRv8fujMHKwQ9Q0XEbqCRdHrCfSO1LSGOUYTlMvBhguIdEDf0+TMwbOSmXZOCraUS0HwopVisJhLs5yUgtWnEUMUXPSSaPyqJMYQ5lipaA8qlczviIKLVlBUMGq4pDsqmUdKJBNOYFH0TAI9T4Kz2DcLaeheLJnxY4hRtLQN1f0PH3ZhD0rmqsOyCYjCcQ9aJhv57PcSr5oDcuixXw7BES8qm5/OBYJ9mXt7iTVunxz6iyh0QE9xaZZdcrhyD0KIggf9U6wYI5ljRZLTb7sc/rxTDoMXPSSHHnBJt5mE9mxBDFHYiRBF91OUWAuYY0ur9a6bSDhcRMLgorsoSkJ2AY8RIo/Yi/KJBQUIUnRrAt1Nwju4bOc6YtXlIdgB/bK5xujPHMsRreG5xPqDKHjRQmJd5JIuW4mcX4sIouCiG4n1t0gOTWTfLPea+6xU7I/ZxAYXXd+KPkniMeBmqnbhcsWGlQhSNMdNqthZzLFpePIvUSKvMhGk6Ko2tHl13csezMEMEklfpEQAUVjWDrX8XJplvmJLCxFb3B79sUJ1BjPH5mhWylwl8nMBQl40S7GruKSboTolsxUHEAUvmqmGfcyxNMnsma46b2eqDnjRDOI85zJN+5RY7jTEEAUXnfcfdXLZ7yUmSFOjT31qFFx0FkWJ82HG/Uhv5t4kEpsyRY22TEXQh9D0NrSES7NMUKNVkxFDFDzor3Q1ksocG629GThOi31DFNqhmiNxSTeyNn5wjBYDRKEDOps5Np687T5ci8VHIeaiE1vRF1zSpda+zhqKCKJA0bEJlM/jCt5rKWr80RAtDhQd0Yo2c3vMSa6NJidr8WcpCKZq8eZhquP7ByfqQHlEWABmAAAAGmZjVEwAAAAJAAAAMAAAACUAAAAAAAAACwAEAGQAAKmGMjkAAANYZmRBVAAAAApo3tXYaUgUYRgH8C2kKDuwqOy+sMNOpAMzFsOSLumgzNKskFLssKL73AorJLtLwsqgg1qoZuadmd2lwA/Rl5CoaHdn59rdRjqgPhSdSD49kw6Osn6M7X3h//35vc/zMMPrcPyjc0tUelxjAu9uMAG4ibnN+OEuxs3461wu6Oig4VQx/uJqLP46xg65x75eQwXAvOnLXLDuChbeBvLe7BAViAuslHGRDTZeZoNgh9QwwXIHLecMG3SfQwBCwIJcZQK/akgghQpAJaMOrmSlbwgBC1JlQh4G7lPTheOsdKyCleAUxoScb4ZcIsFsOhaa1HUtZ6XoCQSYkMoWiN9VW5tAB4KVCo5yEiAETtogp7lAKR1zBNDhEBd64uJCcMwO4aRPFx8Ee1Nh2EeUtP1c6DdCoA3kLDULvZuTa/Zi8QgBG6ShnA+MpwJQxur9dnDy512cDHbIES70mJoubCWhvdsQgBDYhcWbkAMmhCg5VACWu/2dNhFZLiMyWJDdJoSE1M2i0pkKRAlRl5QSBTYjwoRsb4bsIfJOakZpPVF8JYhoA/my9X6gPxWAdYySWkSUBoSAHbKFKNXUdKGQ1y6txcIRAhZkI1F+l3GhqXQstNfolc+rHwuJChZkQxPkqfn1pgKRK6hbVvIq5CPChKyzOsKreVQAMvGPdBmvvcpFhAkpaIEYq30vE6lALCZa1hJeA4TAilYQxUXNQi/kVXYRApa2hnxfJehDqQDME5WR83ntZw4Wb4fk8eodarowW9Ar5vI6IATskFxBdlIByGCl7lmC/naOoIMdspjoz6l51XPykaJMBCAELMiCvxC9iI45wpvOEMLPnEIYLEi2CSH6h9mPtJ5UGKaRSHq6EG6ciQgnFj+rBVJBzUJPEcJ3piMAIWCD/MoStFFUACaK9YPSxMhXhEAriKiz/82sJ3vfHBzgMYKDPVFtmBjVhmNSMKMxqWJEmyBGfkwSI4AQsENmiHr8X/V6euqLe3veQB9MMmYgBiGAEBiBQQiMwcIRAggBCzK1CfLCMZOPJsUTkOgx3D08BiRhTEjfGJCRMSCTmyF/WxhPQCefcbiL14BuCGgPMiQGZFwTxIj/DvjeJyZ469nOXqOxPUj/GJBRYtQYK+jOP0moWT95E2zZAAAAGmZjVEwAAAALAAAADgAAAAUAAAAVAAAAKwAEAGQAAH1y1dMAAAB5ZmRBVAAAAAxo3n3MsQ3CQAxG4c93qZmAOeip2IE9WINpKLJBJmCCjBGIKe4UoQhh6cmy/fsFGOcrcYt0KKhSwYCykSobYZxPxNTvIPpQe7hkC++l5+8nSLyxCitKZOvZdhWDiKf0sxIvxE6wJsXl+MAdC/8Fi2gEHzF0I+cJ3N4OAAAAGmZjVEwAAAANAAAAJgAAACsAAAAKAAAABQAEAGQAAHinmB8AAAQvZmRBVAAAAA5o3sWYXYhVVRTHf/9976iZZfmgYL2kTOaYhigZJcFQWI2pZWZICX1ARUWTfSmIcDFRQ/xAqpcQ66UHH2oUHbGQiR56yAStRHQaxFQsSCGl6c7Z557Vw73n3jNnxmAg716wH849m3t++7/W2nvtJUZoZqaje3+6F2DOklk/SDKug2kkk7u7e0dPKPcfFGp3VcyeW8aMfay1o3Xg/wZzI5k8dqC83OPaPcIDFdR+udz/7vVQbERgMUz0Ai+owgmPW/P9nmO3BQWLoMsj76nBCWIxLm4pbAoK1vHkzD5vfNRQq+rSCJ7r+fLE/GBgAG7M6JIXv3ugOoRHisSOUslcMLCOjtYrHpVStRrD5sybdWJlMDCAE8faPvXiqJfwyrhUfNjd3XtzMLBSSUmsQqcHaySC8NKkcjla3fQNNm+fd53cI+xpAQ7DVVcaFQq6e9mitt6mK5ZahfgdD/2ZJMDDqIGYzUFcmdqLT8w858W2wUkgvFj62VcnFwQDA5Dr3+Sl3xqJUAWsyLaXenqKwcBeWTS3P0Zr64qlgFLb5L8mvRwk+LOl0NZ9p75z2HxX+1MHSFwm5s43lk6/1HTFACTZgEs6PUqyR1VsTKgUbF0wxVLb0HVqt5M9nypWG3GxkMzufLztl6Yrllq/WtZ46Uq1LKqPYjl2O4K4MrWNS6b84Y3N1S0jHeDFQxu6Ti4KBgZQHIi3etQ7eF8TlYLbvrO7d3QwsNLyGVEsWz2k+jCm/lmxN4MEf9be2nf6kIMFje3DcHBVvjJt41NtF5uuWP0cTbTKi7iRCMKjm+KWlvVBFQN4dX/vx854TY3KA2ckDrtv6+JpR4IoBuCL0boILg26IwgXiR2YKRjYrkdnXPZo/ZDqA3f/6wf6ngkGBnB23LlPKujnfJZGZltWHjp+YzCwb9vb4witqpffjbP09pZo7HtBgj9ry/b/utfB4mz14Yx/Rjk3fdfCKWebrli9veDsbY8GstWHFzeULdkUxJWpdXW09nnTTl/tgdRdGsGK5QdOPxgMDMAl0QceXcxnaZQUh9zimwq2b8ldVyNYl0sCYtnso3PPvBAMDODwj3fsjuBIvZ1Vg4yNjQ9/0zc+GBglJVHiOj2yxgUGvGOii7S26dtF3uYdOPNFAVakZ2jtPI0cNvPwwqmnXSgwFL/v4e9cO2uUl9vSUOzrCw+Q2GaMyYM2QIzcxaJeWwkoZOYW6rFhOGvESCGjSHa+qmNyAcY4G/wdyR4R+8/eSrFwBhg/3F6ShXSALA9qOejcOxvu3bUWDDXI40WKxTlg44dTO6k3T8Ch9BLb6OwYqPZ7HrL6LJwyMPVFaeiC02cJwT1FxCmMGPjPPkOSAU0hnTIwOcihqqi2qKGQufIbB+erMXbwwkso2QYaUTdQ14pHu0YYDOe6mrsz785jevZfJmHP8r30AXEAAAAaZmNUTAAAAA8AAAAwAAAAKgAAAAAAAAAGAAQAZAAAcRPiHgAABDJmZEFUAAAAEGje1ZlvaFV1GMc/z+9e3TSt6IWC+cZkmbMVli9EJBiK1WxaVqtRUb2ooMhhWRPG4GLgjLUc9udFIb4L8UXN4VYSMojozQomNsStYX8Ui9CW4vXu/M45Ty/uufeec3YnBS5+PvB7cQ6/+/x+n/M83/M893eEWbDxwfGayUL+S5DG4h0durV2/sN1TXVT13stMxsAk1cLLZXNA0jjZCG/czbWmhUADxb5QAhoBWLXd4dHbr8hAAqGPotYi1AcEMCCzBzpuiEANjzWMGHRD62AFSiDqHn2289H1zsPADBVOy/nifxuiSCKQwIJezWnxnmApqa6Sz6Sq6RRcXhw//F7Rp9zHgBgeKT+Ux/5wQKVIfjCu4OD4zc7D5DLSWiNtllES2KOxuKw4LVfjzWE/8EO9Y0eNvCkRAsaBUG9bGDubn6iftzZCJRMCd+0kC9HQMCKzC1k2Ot0CpWs9dGG36zK+/G6UATRbYe+OLnJeQCAqWy+y8KvJSGXh2T2DQ0NZZ0HeKV5Td4T05F8I4GF+p//Xvyy0yIua0FVPug/9U0GWV8RtCJwsSaUO5/ftvKCsxEAEBENDG0WwooOBCtyWz6jnc5HoGTv9Z0+iOgLgmKiTQj4ZHR12yP1PzobgbKgxdtl4VKqzcgGvul1OoVK1rG14Q8f3VvsVGND2NDdd6rZeQCAYCrssZjxSAPljtUT2bd/cLzGeYBcyyrPE22PN3nFuiDL/wp0u9Mijlt7/9gx0E0SPc1I0JdDG6zY83j9eWcjUDI/lB0W8ZOCZiFzMrtviAgAbD96+iNUXi12qVGBg1DRtT1bVgw7HQGAK1m/0yIX4mK2ggmFXlTFeYADD626aNHd6UbPw6x7bWDsKecBAJYuOPexhZPpZs9X073z2ImbnAfINTb6HmZHSsxYWDrpzX/LaRHH7emjPx0R2GIA0bKgr2aNWXlg8x2/OBuBkhWMvmGRqdR50ryChl1Op1DJ+prqJqzK/iqp1NoyMPaA8wAAGnrv+HA+3Wb4YbY3lzrVcxKgf+tdly3SmTpLwoquHllz5kXnAQDWfr/soBWGy91qqTao7tn49cQtzgPkchL6oWmzoAlBG1lkPOlw9jWatnUDZz4z0Frskcp/QT2DNhzfvHzMuA4QiP+2hSupNmOuJ6a7GIEjfy6kxusBbUQxJhaWDBrvDsv5luzdNXEd6+mnz9G478o8idaiio/oeomo1k7zL/qg8NW5T0BfmqlMJzeTBIpVyth9rfK76UDx1vlaPgwzzFPFwIkswsbYl7jk+5jKR7oAECTpRDTlFEw059qbEYzEN5YEivuo+uCKZ0wYuDdLoKMYlv2rAhONsByh6UBJmMqc9GaST1wQicFMi67MlLZns0jmdQiWAPf954pZBagCk0onrbYZrZImkQ9JRVCTERQ4KyrP/APT7dIdHNFWEAAAABpmY1RMAAAAEQAAACwAAAAMAAAAAAAAACEABABkAgD8ivGfAAACBmZkQVQAAAASaN7Flb1rFEEYh5/f3AWDhQSCEBRJYnIgNiI2MYUggpADPwoRxT9B1CaxCcoJ2gSLQFoh2NhLNKeNH4WIeJWIFjkS9UBRG5EouZvdfS12b+/2ONvNDwZm2HdmnnfejxX/0eTq2o7dFKci3M835dEP5KBLK2snHXoqwAHCSOaVe6dKtwDUb+OhlcZeVwhfCiacGUhLtfLY1TygLzyqPxScdoCMNvBfF3Jg+exkw/XbFBTCRQ8THvASAVw5vPr5YB7A3jTrUSu+Ox07fZGFvi88Wf101JleCeSSkAiQ7Pj7mfEXeUCfWVlfcLK59t0Jh5npWPaFzRSgux7kAY/a4+uWBa/JSa1CeNvD95gh5VAkFjPAI0++nPNo2ktxKJINAXajXi418wKulku/AzQfg3Y4WnCkA1yrDQSmOxmvJLz0bn1z9D45a6o2vuzF24QhjXYKvOvHyGUvlXq98sYc5xXmDVypKAoid82DdRegAIaebww1m8W6jGHXLrK4nTz7NbPvBNuo6ccbDxxcVNKXHcDmVnHeo+E0d+MRtczNss0KFVz38KedpqL6bQyFH4FB0j8MCLwza3S9dpo/ythZZt0ToayNdfpooctOQAHrc3a63iOzQQFFFN5swwJEHecGJO3PXm5ZGAMlhdDTM3ugFc/VcSCyLFSY2PSekZ6t+Ps/kTTHxalO1YsAAAAaZmNUTAAAABMAAAAnAAAAFQAAAAAAAAAYAAQAZAIAtADR+wAAAwVmZEFUAAAAFGjexZZNaBVXFMd/5848Y56hxSCI+IXGBCXdCFnUjRBdNJoYhFJRsKtCLYJBrREJ2EZLm42gNigoSLtrURdqYlT8WkpBFyIVk/hJWosFIyjSvrkzc7qYybyZmNQYX5I/nMUMh3P+93/OufcI74CvunrnGpxWIZxlhF86m2rOM07s7+rdI6odRkGIzABGtbl1/bIu4n9jwueXbs8o8/K3DVTFwdTBNB1ZV9UzHnLbevrLZvrhXQOLo3iKAUTpt4Xgo/YNtZ4ZazDx8q0+UmWB2MQT3Txe5TrXVhc8YVcxnkQmUm2m51rGrNxnXb1zc+L0CeQlW4bDP69bsp33wO5zfVcEXT1U1jj2y1BzNWNSLjC5HzwkbwEriXn/ONrJe8KGwQ6L+IlyCBY+ULHfv1W55p7+5YTmpoBJnQxBD5xuWtJKCdDS3XsEla3DhiN8q3KF0DlkEZPqNTwYFLesgxLhtevvtchzK5KujPlfcvXnH3zqCysjZ4kMIRD55lTD/MFSkTvRUDto0f2ZwUAYlVztyd+nWUxH3ANF1YR7z2YPHqfEmFfx51ELd9K5RiVXkS9vsVA9/DS+MV/fqquzpSbXXl/ve5gd6VwjDkTtxYHKaWHQL1BpVJMmdeDajcZFq5lAbOy+f1ag2YyqXBjss1AZXR0yZIGHu50Jxr9Gd1qkMGJZay49WmqRLRbBz0yonrjVOP/ORJM7s7b6gVX5ccSBsL45YCE3rNdeoXzLJEFD7zsf/sr03Oyex6tcMVeThzi+FI3S9rBxYQeTiIbuh1+4yddJdQIZOKjJCyAYAYEBDdzDTDI+vrnop0S5Dy/88SXoMROrluxXsOnZmgW/MgWIyF3/u6K8UOgTZU76/XSE3158Mm8FIjoV5FwA1/PaLDJHBAzJvaaq4a6pIhYpd/npAsLwHko52Z0qMKpPMit0Su6in2a+08q/4aPFBdLJbDjgoG/EdgnCdoiIAYRF4o6ILM4m0mxijQcnQ0gzSU08XAJDA4aghJolF8Q+6Rj/AQB4LsR2B2nNAAAAGmZjVEwAAAAVAAAAIgAAAB4AAAAAAAAADwAEAGQAACn7SAcAAAOxZmRBVAAAABZo3r1XT2gcZRT//b7ZLc1APfRqttSmEDSkHgKBiJdSikibiGxJQYh/DlLwYPEQO2CkkZYQuhZXRA+C1autpqlbElAQFL15CWiT7aLm0Cw0h/6xSZudb+Z7PUxmdmbapLubrA++wwxv3veb3/d+772P2KJ9dWVhF8Sct4CDBK8Zwcm3Xn12Me7z7fRflwgcIwACUAIoyprvm558/sA/AKC2CkTDfOEBb7vAfg0ZMpDv0z73RY1q4IEGoAFoAi6406hMIfThVkB8Oj3/giJ+I0Cu/xUBGEvvfufogdtx328uXztDYizwE4TsQOHQa0M9P7fMiIjQU/xEA4z+NFhLy3/03k37K1tPusBS4MNo+YbFixfFahnIxJXrI1rQHw+qQbjAR+PjNGn/1196flVTOSnQ0EDv6o75Ey0dzXipalPuLShIjgAo60kIzO2rdfcND9PfiMXPfpj/1QJfrCeugMCtlhjxsOJoIBcxwWDVYEY3AgEAJMVXOKkBU09cQpO7m2bk/ZlKJzwpE2KHybnOxtSZoe58IzE+ni5/DcqbhEQJ3jQjNV8KGrBTueGu0XcajkHX0cB/8RhNATlRqgx44HHNoBZoBvR6RLEw+Fyl0TgfvNJ704NMht/rphgRoQ8UA7nG2CCXV3ZaE80y69fMeQ1VCfOrYSBvXP17xAP70/JzwbEvD3fdbVp5wz2uSznVFCODpartKpwNqIznBubuPOi60GotmhzsvuyBPzYMJMs1RwtzYZ8Il6es0UubyLWhUmD4nga9J8r35ZlKZ9aoMoGEXAlMfXe0K49tsHevlj/PPDFHjSpo0I5rnoBrBA62yVYz3oebMnKotDgAZX5PdFcBSDk3e6TrFLbR1GZyrSkpajDZXYllvQMT2Gbb8Gj6Z/8d0WB/cByMyrCijP3SglxbAtJXqtoa+iwpYXeMumtu5ZkLaIM9Fsia5ToEcgSgyAiIJdyyXDfszOkX+2dudFrwywDs+EhHwdSfR/bm0SbLPDpreAUftIOjiNhwLaMctNESQJ6evTGgYY4HmwtUffIqXh/MVdoJRCXkClOsD8Ph5KWWkfUm0GaLGHlqdmlEM5Sr1OUqGFtqg1wfn6ylqt2R9RcoyKXGv7k79zr70CalPMJIJmscDebI5OVH0Yz+HyACRn6q7oExCxB0IHZbI2CUyGKMnSihmPCTxHOK0aSP1OuFlezkyMD3TwPsCJHFbkaK5L5kUEluIkH5T24uiQ0SLYJ1YEaSQB4CgnuSISYCxzkAAAAaZmNUTAAAABcAAAAhAAAAIwAAAAEAAAAHAAQAZAAApfNfPQAABAtmZEFUAAAAGGjetVddaBxVFP6+u5u0a2IffBGbkGgVEhNrS6VarYp5UMTmpw1tqI1FwScJKIltU4mBQLtNlPQnWPsgiogUyqJ2w6apCBKQIEKfRLPNpmDEbYSqhBqSmJ07M8eH3UxmNj/sJjsHDiyzc8/97nfOd88ZosB245ufuwCe9j6V93c37wivtoaFBDA6OL5VWUaCQKnKBM9sMKtNu/qZlp1TK61ThQShbeOMBks1iCUHLKA0UMRe35n49uv4roCybhBQzJyOACjObwHU88821476woSI0FL2BQ2qbBY0HadF+4L0iPIFRDQ6dlgDz2kAXqfHDeCJ7x8fO1rwdEQiyZBdPHMzAFR66Zd4hoQd7iJVwJ+bNKvqWmpnC8aEUTx73AQqndNndjaJDlOhTYPipCbtW+eCeK9gTHwRS5RZlpUgUOI5LTHU2lTTAABXomMRBRxy/hOAECNoqccaDtbc2jATC5b0aqAkqxb0AtQxp2hhv6uBeS9TLF4IoG/D6bgYi+8yKK2ahMeBi282VScW33t1//akFp7zKAaApjRfufrLS+sGISJM2WpAA8rDAjE9Z8jp7PdTwfleDfyxTDEMnB8ZGQmuqybC0ZtHAuRleqsepN3W0VhzaaU1lwbHX1Nif6my1wBteTNxLpIMmUqdcS4hhwmJz9x755PV1r3VWHXZIEazUgcNnMobxD+h+RMaqFyiNO2pADp66urMVfsDKZbCOxqwl9JHaPK+vNLRHkuUFQkThHglCYmdaqxuzCVGfzTxOShvEOL0l/yYEPSlJekuLmozIMdyDZGicVIDM+4YOYNouzbxlEHV6mpI0AAMmx/17nt0Itc4XU3b75iQPnc9qRw1yZTwrAaYxcI0NxnhfOvKStlnNdStxXrKCcTrQ78dMYV7s7ukCek6/3LtdL4gelpqDYPSmTMThyLJkKakJellIf5A6dSn671x+xqqrprgdzmBkJDRaYAVWQMKtEj7WpLMxUyb7Ro015RofSxRphhc1iUJDn5Vv21/IQait4cSHwfXRMqiDwiUuDVNwAhQThRqNp0Lmt2rMvHC8OSegMiPBOjc8wIQ6L9ev+14Iad0tZokTZF+DdKtBoP4+z/NMApsK6Zj97XJVk3uTaeA7o7X/cOBh+76DuLpSDK0oKxwehQTd9uNb77n98/ggy0DMVNqniRYkZ4V6QJht/+0QUnm9AX2yPDtcgVrPC1JcUkS0V9fefAAfDIPE6aYH5IsSZ/cYcFQEuiEj+aAuH/49h5N+3B6Y8mM5gAFA5P7yif8BKEWJWnRHkh3SbgmJvUXi80wfLYgAGy5PnVUk09mPt8cSSrY3VMvPvyv3yCISDIU2oJxCiqyJuGxu5vLd6KOpt8g/gfmUtaG5klergAAABpmY1RMAAAAGQAAAB8AAAAjAAAADwAAAAcABABkAAC7TR7vAAADymZkQVQAAAAaaN61V11sFFUU/r47C1ipUR8koiGSWLBLRZO69UFsDG8KJUvAWGLE6IM2UQnUStDU2JXUoobKopLYxpioMUoNv21Rn4xBTQho1MTWtStEEGOr1loxdefO3OPDzuzPQGF3s3OS83Jzz3z3O/c795whZrHj+7/tBNhdtCh8sGn98ndRJVMXWvz80A/XafBpB4ABIN46gQWookUutKiN3aPAWnqnIwBCNCLqUKjgH+8baXTgbiSzoHlw7Lkr3pCuJnhR2kWErjJJDSoNIu+Y1DKnG1W2IuYHD36/gUAz82yzpxM+t3pd9M/QwAcGztRkOL3D8oHFT7mMjv/+Xz9CsBy4PffcVgA3GB+cWXAFtLe1xXQY4ASAtwdT17uumyIwv0BgIGT4gbUNLYUB7x8YXRyh2a0EyyzKp2SkIx6v/6di5jPG9BCYH1C3FlodwQADs88BGhUBF6wj3BoAGytinjycarLEHGM204V1nWyLL2sv3Pze0HdXO05kMrtP/EOKRWlujd/8Rdml5ookNUANwHcb+MO1nO3BzWMnlv9tA2ez+3KlSFvU7kRCVNngGrijuKYJh9L1WMstfwU3JxI0GkgUHtTz2xbfOvpw+eAENAs/JCPTV4zPWloT30TfssnjmkTOAdhkT9/AT1eWydxj7H0oY+HJxMqVzmwBiQSNFmzRgOQOTEITC9x5mc5y055j7UAGu1qin1wqqGNt9EsN7PWe3gLn5tf3jy6thLl2LHmq1EDjRLZq4N+AXubaFnrLu3MAtuFrO1ZHfyw1cNv6Jb/YkJ3FegE02LLzcOqe0pmTk5xnv1CuWqcytS9p8Oe8+LLizYi80td3Yk5Jd+5AOnfd3TBZLviu+xbN2MS2Atb+FdaPL6x9vIS0c2Rh7dk3K20OL665aa8GPwvWvg12PXNk7JqLg4u0X6y0SjHbwhYNuoEB5Cpqd/slu1o1bNPgWD8hjygpGkSMKHV7b0vdVyVPr5WY1nxWg1OFwtOEco1JQoShgr+xrm5Ck92BpgNN3vnEcPreUMEBQF079aoGU+c1HkHvo4O/Xh4qeH8sprVRmwLCgwYWGZ7rCE1whdY6lB5WwCrlDaKe+GYErH9nzY2nQ2Gee/ddbNZgJtvxcl5jaHpCS7tvH8br0g6xJ5h+G7x/w9DJ5lDBASBD87wGfgs8vbQhSX/kCg38o1VLpm2orvN7Phq/jp18KDTB5aceUUebTh0jECsSn8iEfRmWhgoOAM1H0iuUqKPKG8398VxBXg4dHABWDJ/6gECr9z/g/xvY/wMSR7zfnh0m2AAAABpmY1RMAAAAGwAAACcAAAAdAAAACQAAAA8ABABkAACQMqAdAAADhWZkQVQAAAAcaN7FmF1oHFUUx///u8nqdpFCHwStobRpNVp8qAgigtiHomaThvpQjClSEPTBB9102ypRWdQ0taUmLXlSFMWPhwpq2AbrB6QK+qI+CBLcxYRiqqJGUUp2mzkz9/iwXzOTzTbNx/TAebgzw8zvno//vXeIJvZ2Lr/R87w8gaQBwIob4kxfz23dWGNraXbzkqdDAJIE4IMThckgAlsUbjQ3eYdjtY8gAnCqo0/0dOSjgDONLqoq5605KYARADUn/plz9GVEZLFGF+M7Hn5EybQFUXUFYamZ/oe2fxUV3IK0vnp6JnHRFI9YaCWNlSaATl667o/XEKEtgJtNFA8ZxSZTqTWyDAej/dmdO90o4egfpHP5ja3KPKFB6YDmXtrdsRsRWzByiqMCJAnWu5OQmLEZXAWrwT05XrjLsexjpdZMtd5UR4+lbi0s9wODY4WUge0lMBs3PN7ffcuvVyYlqpy3HBaAAqLm5Kx68ReXC5bN5Ttdak6IPpd4qmT1y+Of/pC8IrhHz0z3uuDdAU0r69oLI3s2/7tcOFHsC0yYbC86icNLhuvO/bZOjB4VAv6oOeCPNyYvvL6SmnHJPxdMWDUzMD65aUlwraZ0UJRtlUj5nOmVSodDnBJwPlAqQMJ6sWNLgnMVB8uz8r/AjL3f1f7FSrttuOvmaQFGylmpOiHg3gNjhXsvCydgMhR6x6MeWi05mFM7KDC/CxnIjEuMZLNqmsOVU1j28qxOfZRqL6wW3Js9HRcd6nPh7Ljkjr/v/Hn/ZSJXj5pD/FUSDq62mLZ9t/UtgX4bbg5HMfT451Prm6W1Phvw+XMrkI5F9S5LKzRPC6i+xoAA13sl++xSIjdp1p1/Y62Wone7tn4jBqdrdVdPb3p/bmrbIjVXqTdq+twa7zocakbAYki24kJ9pVnkPv6+c8tna72Qf9i57YIDngjpHgTY0zs+vatRzTmuthxGRHZNsXVIgF9Cuod51eH7JiZagnCKkz+lbipEBffB3raSCw74olb17euLbY8F4Bh3BxGxnU1tfs8hvg7pK0R55P6zMxtqcNO72v+LfBdJqgMeEECDzcEN8GSg4TY9artn/Pw7hO4rHwe0uvsWGNw+8eCWvLmacNbGnhFgLrS0tboWJwCA134yM2V8p+vgrwcNjIOHntAzWk9DzPccAcSgDd5dG99A1cSCe4oH/geA/qt59cXVmAAAABpmY1RMAAAAHQAAACkAAAAOAAAABAAAABgABABkAADVd96AAAABxGZkQVQAAAAeaN7N1E1PE0EAxvE1mhg9Ga/GBF+KaSkB1AIK2k0LKqRo0VaBKm0VtLE06Dfo3XjxM8ClB8DOS/XEhS+gCQc7s7tdqx5IuOGhl47PgjUYE4+bmeR32jn8D7OPYfznFFl9qEhEe4nUVQmW4VUV3ou3hhZHqSMLVGw9J0K9gAK8BETvvv6wfVqLxiyxMjkiVR5hT+EZLO4H1wtaBKYrzRNzVLoZKtVjhD6BechRuV3e3DymRWSKWOUUtdRDRD6CGZiFDBG3tAhMkC9n7lJr7x4ip+E+PIAUtTcMXc4daq9MUFtNIiwBU4Do1jSzurUINLkzHGd2e4zZahxuA6IVot9oMzmjzN66yRwVRZwJsQM75rpzSovGCG9khhB4Da7DCNw44Nvk5DdEKF8V0RIXx//5eIX8ODnAG83LvKGuIiwCgzDMnM/pijrqRyDm7l1n7rJEynn8wH9dCDOnHEZgL/RBPwx4am7cl13mInR47ua8uaNy7c+FCx+/n73E3Z+ggggLQY+n5vo2OUkizMNzl0akFz3LZWz/Qhf/unoOgefhIgSgm7utIGkG/IqcwBvE3H37PXcq2dloZn3yntsv5ZpZTXufdM4AAAAaZmNUTAAAAB8AAAAvAAAADAAAAAEAAAAhAAQAZAAAQRf7KAAAAX9mZEFUAAAAIGjezZUxa1NhFIaf9yRIYiS4FUoIiv0BLpZ2M0OXZnITrLuT4GQXoUsWt44OTt261EFau3bqD2hLcLCF3CxO1UFK7809DrnJvUluO38vfHDPx7mH57x8nCNK9OL7ry2T9gxQdrLvdyfdp18IRNX5i/X9Qf3GRj0B5l6Ev6g9vPpKQFqA//so2RZqCzCpAJ9+OO10kpDgVQxWDqOWMeoLGkbuuuDb2eaTVwSmGecTTz5Laoydnrp+a175SICawi8dRmux0tdjYMc8c93Zvey2foYIbwC4a6R0NwbFQIyIJWLZbz1IegSqKkDzaPg2llYtc30yGo3003Dj2Z9Q4cX+oF5v0pfTnpvr59e11nM6SkKFt2qT7Ri1x8+E6Ulc70MEf3lw+Zgdt7Hzx9E/nDr5FkWQmvtVcbtaYbbmeT4Tl2zkPMfzuVwp5Amo4CW1C/FkWYqaOctCkZG+ET8iv2sBzIL4XMEyYC/5b7GZ6STj/hqljWTNGIr+A3aWb1YDMT8GAAAAGmZjVEwAAAAhAAAAMAAAACgAAAAAAAAACAAEAGQBAH8nJFcAAAQ9ZmRBVAAAACJo3s2ZT2gcVRzHv9/frKnrxnhvNGlpDq1BsGmwleAhoCht2pqqEBN6qJd6EUmJbaW0eGhSK1aM1oNFBS8eFgoJadeDnkoFT0XBxmyotrBpQYvRRpRk3sz8PMzs7OxmTTfJ/pkvPBbmzbx5n/f7895vlqiyrk1e2+i6iSyA5uh1Kke6X3riXLXfJ9UecMlNjHklkwdgmJBJ1ECJag525eKPXQ54kAAECglWiMQnO/Z33qgFQNUsoKq0xfrQEGIIGDDf5j194DRqpKpZIDNxfUCAZwQEoRD6q2MpT/Uc2PZHrQCqYoF0Opc0wBkDwG/h6v+curt4ATVUdSzQtPCWAdtFA5/P+z8x3H2429QSgOsd4MupbGvCdbIEUvmgFQBQXnq5//G9qLHWbQHHdc8omGI4eYUAxhIZQR20LoBPp6a7HBdDXmBKH4AQ4Pyr+7dm6wGw5iBWVS55GDekGBKGDAIY87atp1EnWWt9sHn7wKCSwwpAAXgAlIQnGHn9QOeVegGsyYU+SOeSi/hnLBq0hILA9MLDv11AHbUmgL+T/x6Fsl2gKKROAqpH3untdeoJsOo0emIq2wpFVoCizANg6tS+rftQZ63aAkuKdwVMie8ywYZFY4k3ggZoVQBvXp7daTwM+W7DEICefnx277bZRgBUnkZVuaQ8Z0AaAmED5u0NzigapIot8NqlG4MG6IlsVr4FqCfOv9A5H2uAV9K5pMHSWJlCZbo1dfszNFAVATC5eMyQbcyvvuYPbDpc77S56jTaN5VtbWIiyzBthhaY/Kqv40U0WPe1gDJx1g6Oyiz4v50gjiIGWhHg2czNXbbqoAAQLRQqFvSji3s6ZuMAICulTVv1fQPQwE+ZDgkD3qWxRhET/a8Fdl6+OeSQPSWFCoQ8OdG/+a9YAzydziVtOqNlCpXpxEO3PkeMVBZgodk5boFtYeBqfvV1+GqD0+Z902hHZu5RC+6MQCOZBxBg4ofdm/oRMy2zgKPOex6ZKjouQG1V9xhiqCKA1szcLkNvoLhQAagc/2XPltk4Akg0bRp64w5Ag6BIJ2ETv2uTM4qYKrRAy9e3D9rkU0WFit9O/vrclntxBfCDOJ1LJlswI4q24sDV6/MPPvYkeunE2gLSwrcN0CbUQuAqkBAdjvPkfQt8c6cNnjcDRTIsEf3V90RxS4quhX0ovZ7frRmem/yPTvl+K+iL3g8AlkbGUt6B8Pj3u9u/qxwgM/cFBIfK+Vb0m084SV2hr9j9lt1bugDL+nyYextUNl/ta/+zIheioFfLneUAuEFjsCcEu3HhxRrtK50UIYxMWKMALA9PQoBHHAs7AHxbEYB6+AmCTSvWBBGY6NeIEEZL6uRlLsbwHxtGYIrGKmQ/hzTZyoOY1huAuxFAVyUPeMGvG11JRiwQgSnvYgUYgQb3hzALFvVI9vmOXKUA/wHPJ3pHqnUMtAAAABpmY1RMAAAAIwAAABsAAAAoAAAAAAAAAAgABABkAAAH2SvHAAADw2ZkQVQAAAAkaN6t1n2IFHUcx/ExlbpQz8cyT82uy/OhujxFvRCpRDMtkkCs6zCCMEsKQ3ugUE+xIktFCPEBQzqT2Lyd55k9jBa74+jsfLrd2b19mN2d2yUpuL86Ag/uvn3GnTnX88R/vgPvf+fFb/jMMILAfF2WL8/4M9j1L6LSOpsjO7gt4WKw6/RwCPVfkq0qVqiz+VotbjxwByZ2HWaFiGgUTvX7CKfq7QjGp7BirWL0jXbc/I87sW2sUHugvew3MZK7IEaoNRghF+0oQrHO451jWTEjaO1uEaP0KzCgdAFgm4ueu/oiK6SqVysUMdqnATORj4bFiMo+9YBk/dgsWiQCAUoe2m/K16pZoSY1VvuTZA38LFkElIbQYPQQ+9RPybHW01KMmhBQctFfJKs3ELAms2JHpXj9MSAn0Q/IR89KsfdZoUOBfNkRKZ77Xo7TUXT8FmqFw+ExrNg3cmLPd3I3HQZ0BPnoCSnOO/X9aqJiv9zd9zWwA2gIVeIK+9R3KYmmPUqC9ind9CUgD+0/GIzPZYV2SsllnymJwc+BAaVGD/1Kjh8UmLc+aruSatuhJOljBJS+KKK9jSHmqW9VU29uU5P0IdoOzEU/cVE1uZUV2oipv6OmnC1qit5DPvqRkrQauafeoKYa31LT9DYgoOSjH6ipNbynwtQ3aXZfvZamBoBDqJaS2Kf+qmafeU2zaSOwTchDb2zWbd6pv2Rkl6/T7MFXgG1APvq6lv6Wfeov6Jm21XqG1moZWg/IQ//ZIGYnslrPapmGlXqWnge2Cq3x0HV6+l1WqA5TX6pnnTpgK9BKQEXUtp7jnnqNkd27yMjREkDL0BBqZHinXmUUZi4wcn1PAqtBtbdQkX3qlXru7BOGQ9UIKD1VRG/UcE+9wigsn2U6g3MAVSIXnQdsoZ47wD71h8yejulmD1UgoOSijxvO35Xn7XJWa4JR2DzJzNMUQEDJR2ebzhbmP818WVko74wDNgGVoFEhTLxTvy9U2DcmVKD7Q3kCSj46ucVZzXuq83/NFloK/wnAgFIJOgDULkeTzB57KnoYPYJmIjxe+zHDsavQXITl2gvR0+gZtFjP2vgw2HhlrqzQc/VFLJQ/5UKluehYD33QO2m5e1I8WqAElIASUHoUIwJKQAkozcd63XcUKPkfBqADdWpmKbBCejh2N3T8COiMm6hzG1pdgtZ46GIt+6kgmAXlbthw9AEXNW9Hp42AVpagC3xUd14Gdn0ObnjpXqDb6BHQiSXodA+dVYLiw9A/z8zd/NX7HzEvJHngoXNkAAAAGmZjVEwAAAAlAAAADgAAAAUAAAANAAAAKwAEAGQBAJ/K/NgAAABTZmRBVAAAACZo3mOQ2f74uvyOB7UMDf+ZGEgB4tsf/ZcEYuntD9NJ0igE1CQCxOLbH68iSSPv9sf/+YFYaPvjepI0cux4/I9r+5ON4jtfcJOiDwCu9COhqRjjzAAAABpmY1RMAAAAJwAAAA0AAAAFAAAAAAAAACsABABkAQAanuSfAAAAYGZkQVQAAAAoaN5jYNj2RIZhx5OvQPyfCYhZgJh9x+P/nDsfr2PACXY8ngvSgIyBmn8ANarg0fTkDromhp2Puxjwgu1PNqFpesGw+y4/AU3PFYAKz0I1PGbY+ciOgQAAAF9eSoCTwHWxAAAAGmZjVEwAAAApAAAAGgAAACMAAAABAAAACAAEAGQAACJuQm4AAAK1ZmRBVAAAACpo3u3VW0gUYRTA8cmNLqggGmSJYCYUCUKBoBTZBQJNIioqhCipEIokySCwixRZgd2IioouqGRsOLNz25nNaCkwNAV1173O7s6us0ZFPRRhkeTpTO7m4vPpqQ78nwa+H99whmEYwnltHcrr73J97WddkNpAl/sYpcPgoe0zEezHAOdeSob0sa5yPHRyJvSGG24lQ5qbIe0l6+7rYd3Qm4qwrveD3GAWGaTaPLXdnBteYK8QM8G+KeggGcLz/kyeG3krcSOgYiboxPCGg1ar1UIGddq8F602D7CcBxCEJPiMdVWQIQ+6goWPbN7v7TYvdCKWBAXO84R0nW/xPv4OIvcxBKEDIQTHOzlfARlyWQxsvMr74AaGINxNgA85TzPdOjuds1t4v+sS74dWLAne5n1Gm2M4nQxqEoP1p4UAnBX8cB6hJHid9+4mQxpUT3ajEPx4AqEm7EwCvMD7ewBgFhl0SNJu1otBaBCCcBwzwZNC4OcpIVBKhtTatBUHRG2iTtTgMDYNavdI17lGDjv2iCHYhwiCkAC/HFW9i8iQLVJ423YpDDulENRgJliL0H4h1EiGVNq1uZVSJFiN0FbMBHdNgaEj+IwMWitFmjbIEdiEIQhJcIccriZDSmU9t0zWP6+WdahAKAlWSZFu0gUoUaJtK+1RQBAQhDVT4MR6VSsmQ4rsetkye2yyGKESbFUCLJf1K3RXwa88X432LrHHoAhbjkgC/FSuGtlkTo4S27tQGYXFWL4Sgz+gotfR3cb5ISNDMcayFANyEJoGR4cYK9D9ntMc8ZY5qgHzsUzETHABQrmKsY7uNs9jhYwa/4aBBUsBn5KuMwLXTCQ1iyM+Pk/RC4gh4/FMiHHEzzHkoxhVePhkChRiHO/Smb8yanwzo4x1/H6NopHH/J9/Yn4ByYxYN7/uQDkAAAAaZmNUTAAAACsAAAAVAAAAHgAAAAUAAAAJAAQAZAEAs3ud4wAAAfBmZEFUAAAALGje7dRPSBRhGMfx8Q9pggUZFoqBEQgSgQSCZbSQXhQURA8S5GE7FJUHFfKgsHkxaS9FeglBUC97mNnZd+Yd96Kgl7IlaLfR3XF23d1xV7xIFyFEfXpGZmnxEjx63B98rx/emRdeQTjHvonhhe9iGM50SAY1MdyyLEVO1sQIfM1D16WfXhLo8UCxJOnrivQLghji4OB7IV/oKgmdkzbci34dfJiEaA5fkSJuEjglRyun5c3sF/8GzGF5+A/7C0jopBzzfpCj8FHehBnMwU/m/fojEjgqm3fGArE/7wIxmETY6+B48gXyjb9mhjoUMOAtouPYRCBq4wfvmX6LBA4o8U4324IX2BtmwDDiozbOjDES2OfTL/WyeLRfMeEZM8HGX2KDzEh5WLaChLYpiZEOJQ7dWC9m4wOIP1eMHhL4IGhWt6rbv11qAtqxHN6nxJfJl9PIk7NNPAnN6jY8xBz8qEtO3COBNTzZVM9Txw08BXcR/ocnPtOOCFB0TUuv3tDSUKel4DbCDr5/n2Wvk8ySoPW0fMmCSs2CKoRvOni9mnxFOyXfKhOWdiwMSrDLiF+xcZ6OCCtQSnwsLZcN5leKlWs7T+hPOt9tPIsKwYwonHta5lMeagrMqhUuZPaJufX49B8XVlhh/99fDnKESFU/MpsAAAAaZmNUTAAAAC0AAAALAAAADQAAABAAAAAIAAQAZAEA9UdUDgAAAThmZEFUAAAALmjefZBPK0RhFMZ/58wted+ZspYssFCWslBKFkpZsGEhn0EpCwsLyp+NBWXFN7DRlBQb38ByjJpYkJKbycJcZsY9FjNu103z1Ls4T7/zvKdHyOiqWO4tfNfvAsinfTFZC7Jw1Zp7X6J5j+HMyLXshgRa/APvn92OhsKyx4gwHEZ76WhsbqSiCWkmrzk9CEU1FCX13qrN3DZAkrx0fr8Uik60UsEBHiGCjYXF4bcEHj997H7Vxq4zTb53rVNKXYXnk9/AAKCaj9c/0f7srZ/Y6vHUVDNppPviqc9JXHaY92Y4wJnhseLl7MB8uoAgUtuKUB/9SaVe0++1bK0ByCRADaEmgjejJvFhODNUycKKUUobHyIvYdDc4R8p5FaAm/b8hMSLTA++01HXDz1smnZCfgAx7nr6AIqbTAAAABpmY1RMAAAALwAAAAYAAAAEAAAAFQAAAAcABABkAADHjO1dAAAAQGZkQVQAAAAwaN5jOL32cuzpdZf+o2CgGMOZtZeL0SVAYgyn115SAuIvCNVANlCMAQROr7lgeHrtxTlgDGSDxAAF5EHBroZQLgAAABpmY1RMAAAAMQAAAA8AAAAJAAAAFQAAAAUABABkAACeX6S1AAABHWZkQVQAAAAyaN6Nj0ErRGEYhZ/3u/d+N5ntWFpM2ZgNo252UhaSYiFlMT/BD7DzF+QPyMKsJKXLykZJjVm4UmpCMigsxuY2zL3zWhjCqJlnc+qczqkjAKoqld0oaCkZJzXP4jVfCnOFB7og1bDq1xvxPsjkn+xVIRLkSFvpVrAwctFRLm+fFxHdpDsVQdf7EreUX8y/A5hD1x04djxOHY/IuFwal2vjUBPDkxjqIsQICYwpshG76U1552wJQKb2bnMeaWTRfotiAattRbH6qf5vX63qrAAQ3o9ao8u+as6iWR8GrWrme6BjULFQkn/fraphvJYDMw1aBIKfsQF8dE3ohYO7AFgBmW87VzR1orfyF+HjMCRZaJwwM/T2AQyzafxz+v/6AAAAGmZjVEwAAAAzAAAAFgAAAA8AAAAVAAAABgAEAGQAAK3aH+QAAAHSZmRBVAAAADRo3q2Sv2uTURSGn3PviSVEu0h1cwhULEG0igHHDoI/0IBWQaEKXcRBSgfBRcg/UEUUXIMFhThUqSZxdq2KFQcbRDEZFFOhQ0oa/b7jkDb9Uqsl2hcul3Pv5TnvuedIoVDu6WssFkGG6NSCwawgLywMHqSH97+jC8mzqbcjHrnvMRTwBorhAdf59qVgd+I/9WHqXKq5Edh9Q3fURKiJ+219F8eCCHURGsjBH0iursHHmak3V/L5vP+r41tP55ISBLMKCQ+otdwq0K4ich65e+UCLg8N751ZFwxw40l50Etw1UNSzfoU2eWxrauQPyZsaMjFzOnUo3XBa5XNmmsMfkjGCI6qMOLN0u0ERBKYoRCqyNilzMDdDcFrNT79Pu1DuaZiZzxI27W1v8YUxscye253BV7R6HT5cAzuKezrBBseTJHR7Kndua7BAMcK5Z7e0E167GwLHGkwVt/iggM3TwzMuW7BxeP9S+Fi8vy8SK4mwvzyaC7via9hLIeZdO14tcPm0oc+TSpc6Ghqq4oj/w4Gdj7/kugNll4r1h8dSzWu/xcYYHvpc8Ybj9uuDWLGSTZDrlSdiJWqzXip0txWrE6wqcpX4uQr8ZXwF/buq2nt8Lx5AAAAGmZjVEwAAAA1AAAAGQAAABkAAAAVAAAABQAEAGQAAFT/qnAAAAKNZmRBVAAAADZo3q2UT0iUURTFz3nvUxOFKKyFRgvD0PzXTDLYrhZhRFJqDrWwRUHQosIoajm7Ni3KJLdmYDAFkxgTQUTQpiIxLbUU0ijaJIHZ92b8M99tMc44M/ZHne/AXbzN+3HPvecSAESEL/uGfVpQqGPqO3MWpr1HvN/gkhgOT+TlRqOPNbFfC6ABaAg0MCPAMMEX4sR6fcd2j6wbEgqNtmk4PfHPk4B4yfKbwAAht/IXrXuV/sr5tUCUDdlqSBgSBhnF5YqCe+bBbtuKTb4JDZ0NBoN61ZB5JydkQDv+KZAOxAqgTRYbUbdLrIrXrx68q1uVXQDQ0TfiyaU6p0RKtWCLBrZroPBv1iVtJaLKkZP7mmvu/xeSqUBA1DbPaCmgDmqRNg34/gF0LPDCgabKzjVBMtUV+uiz6FzWkBYN8A9A0ZD2xqbqm+uGJNTZP7ZXO+jSIrXLtiW7EktwqqWpsjsrCAB0hCfynIXFuxpojXeSOifYuQ69x5srxtO2a62Q84fK5ornyk/Yoroz19yQBbNK7gQCorKCAIDfz1j07c7ThuhNzxZgyPoiz5g/K7tSdenJUEHeXP6ghpQlZxNfhFEzWF4dCNBZdycJXW+otW3yTFpwSRiqXdrz4WhWdqXqRmPZ8wj5bMVporriGgQAZqmu2SBsEDaT58nX/nCs2jVIz+EdTw04mOgiAYzonHrXIABgk/0Z6wwD1ACA5RYkQgxr4VL6GQ8nWeUuRPG9coi0cyNSlXVOUtUaFP2pYOqXBjak3rSY6M2uQQCgIjz1VQMlKZ3A0SxWbkIMOJlxYn6iaHraVUgEuGrImaXtWjTExYG6ugVX7QKAjY8+b4KGVytr/EdDyRcA+A3D0hL1rKSxAAAAABpmY1RMAAAANwAAABkAAAAiAAAAFQAAAAUABABkAACrOn62AAADL2ZkQVQAAAA4aN6t1llIVFEcx3FLWqAeCgLDoEXKAsnQ9oVWi6IgKgwLRSEKFNswKorKQikyipKixcwsra7jXeYu0+KWWWpOonM9M+M4zThD9dJLkNBLzb+fmS2itHgOfGFA8MOZ//9eJiwMh4iGVMlsfq3UuqrBYsbWKc2RYTyPYXSMsIltVY+kNqqQTKpGtaJJz0XzQ4PoqG0SzdyXlpaYQSHlkjNFAmBFOnqIngCqQk+B1aF60UFNosNuF1tTmcCG/zNSKrGsBzIjC5Ik1j8m/cReio63dqk1XRCE8L9GCss9UcWys6sEyH1UhkRgChAN2dBjVAmoBj0D9qIHe9VoMef8NVSgsLhC2VV4W3HW3JUZuyezjwKwcmAyABUZqJ+5fWoUHYn/NafsbBp6R2FT7yssE1jjH7AvdZIjc9AbWCKxeZhbGeYWGmBJQpjbXi7rXiq6FuJ2Lf3PzQxVSo40LtAlPFdYEmGAJemqEF3RXCBBoPAimd3CkhCWhH5bEtms754pF6j7HxXKrKRIdtIdVAqo93kTxbYkbq+k4keto65LTs9NIH0wxu023Sdfci2/orjoGoACdAvh4aYSxdzM9SV7QXFVXgJ0GV0FcKMHa+SK5MmehHOKm4DRD+zb7VwzuUI5iqv5DKA8dB7AxR5sJ1fkhLX95ClrO+UC+QXL54octnq2HAVyHJ1EOVY3nba6q7kiexX39ANWDx0CcAQdQ9nW9vdckUS8Bfaonk/7Af2KHdYcY7lCu9SOtxlqB+1WPbQPUBY6qLj5/ihJU73vdgABRukoE1gmTySt2j9yu+b9nKJ6CRh9x0IZAhvNDdmk+mZt0V7TVs1L21AyoFTVG+T6Va3VfMkbgGxEm1EioCTNa+OKJBi+vDW6j9ZpPurFcLuz3IDZdvuwJbo/sAzISrQa4Wa0HrfjhsTbAslzdT8tQIvRUiArdN8XgJO4AJOxVTFGp3+W0UnxqBdbpPslbreYogdSphkBmgEAGMWiODTHCCzmhkx4GMyaaAvQFEBT0XQUo3dqXLcqQgtEjbcFuybYgvQd64rS30SH8T5jjM64cbZgQQSKxOe+f/8KwVMMQUzpBO4AAAAaZmNUTAAAADkAAAAZAAAAKQAAABUAAAAFAAQAZAAAmL3pFAAAA+1mZEFUAAAAOmjerddrbFNlHMfx6jKQiC5DvOEUMycacUNAmQuKI6BGYzQi4I0Fb4iYEYKXKF5ivRAFJBIVvOEmOHAetnO/tCIdDpAVq1l7+uy0Xdv17AzemBiMBF4o+/sbQ6yAyVifk3xfrp895/88zzqfDw8RnRWSWXVIis5qb7GrdiuJcT6ej2l2j9TFeMiS4vQd2iHZtBPtFu2DP4qx9rBor9zX0jmxIESQuupEiZECQEeDmH0C2yXaBIzCYiwSEaMLmcBGnDGyVWLPfyszakESABUZKIC2AwmhH8RjK6O9wPaJsf0RKbpEEISiISMNranyJpkd+gaIgFqxKhmAhkwURN8DakPtgPagDmA/ibGfwy32jUOGNips8ibZafhaYTu3yowB+2OI2JGIGJs3rDn5/XS2oLAKVI95hf87r/jJ8zoalmL1Be9AQWLTRJFtw7z6T5nX4E7s75Ciy7hsd0F0arA5Ov9nc/TvkWKPcTtXrTLGdvp5Hdoldk7gsyKBirDlG089X8Bkey9hplyggc3RLLMt27DtT8aCYvwhblfS5mD0XBzm1GkOM/PzWs3A0yg5tU1yF504zPLg+dJFew7XS7ZBcnZsAoSbg/JujjBX5HO5a/ZGII1oM9oCpPkY5lRyhTYozi+fAcjHmpT4Iq7IOtV582PFoU8QVkZfoq8k9hFXZK3qPPABgA/RevQp+kLuauOKvK0krlmlJOh9lIf9yhUZuAXeURJH3gWyGq0Fsg5t0GOlXKE31OT+t9QErQTyHlqDVvH+UrJCSx54TU0SMPoH44r423rOeUFN/fUSgFfQ68ivJvv9AhvNDVmqJSct01L0nJqiF9HLQF5Vk71cX9VivXvBEq2b6gH9iyUtrsjjemrNU0AWo2fRUkDLldRqbsDTkUjxAi3tLtTS9ASAReiZgVVhddyQuVrm0fl6mh5GwOg4dvRJIzue21/Ie/UMu1/P0Fz0IKBHUJ2Wlrit4k4jW3eXnqV7ANyH5qB5aL6Zns4FqDW7y2qN7G+zjCzdgfKwEBdg6vZMyc1GT3i60UMz0EwgsxFWRncb2RkFA5W6WzrJzHVMMXN0EwBgdAu6DQCw5oKBci1zxQTTjV8HoBLdgKYCmIZqjJxXE/DGDPvDK/DN8TLLXTHedH8vN126Gl0LYCKqQpPN3OEpevbW4f/6+J/yAssNXWT10qWozHIJGOVhh6833NsLekWjDK/6fMujUgBj0cVoHLoc2JWme/AqPTez4DkUB73qUQGPRgMqQWMAXIgusXq9Msur4nPi8LqKAn2hEYCOY3+WWH3rz9MOjOV6y/oweF+gr6442Ld8ZMCrOJMf/RuAQ7maj2/maQAAABpmY1RMAAAAOwAAABkAAAArAAAAFQAAAAUABABkAADdrYtsAAAEPmZkQVQAAAA8aN6tl01oXFUUx//nnjdNUlMkgl2EGtqhak2aSWvbMYW6iAjmo9Km1QErqVAholJEQQKCMAvBjS7EqktThYijJq2RaWnVVLPQSkQz6aS0oYSQGBctxZSkybyPe1y8eW8+Mm2TybvwmDswc3/vfP3vOQQAIkLnTo9HQ2JXG466rkKhG/sObJtFQIuSyYkKZylzhgktDIAhYAAsmGNQSkGGWTt90ed2pMuGJAbGuwzIF/7h/uPDvP2fDPm4yja+aog1mKuBKBuy0SLAIoIF5D3Z7+TtaZcF6l0wnMmRgdFXE4kErxiypEMDFrDgHki5w30QuaAcrNYW+nSLse2Pi9+O7V6RuwDg5On0Tog6bpAOs+BBBupYUF3owrx9zoVLDBzdfSjyzT0hxSseF1W/czysgFbW0sVAtHSsAIZog/DGns7IiVVBitfAQDpKIm8z4TADVAImTPrN5s6mj8qGeKu///JeJuczBppKuFAMkmN7OyO9a4IAQDI5UWGamS+V4PllLtRYUOQ8/uShHVcLsmu1kPb2hzOm2fCCBepdloUK99mKT0pc1JogABCLkTM2Wv+yTdS3LOUFzT9F0rE1Q9wMJH27yu42gYnCQibYhHfjedaotQjf0WeaFizo7hKFXP9E5NLBQCAA0NXZeMES9bMvQR6MqCcwCADYJO/7wc/CTKLoqVOpxsAgxw7W/2gBfxUIK4AMqebAIABgKRosTmlbUwQAjKAgJpAyiKABaBH3k2h7oJCM0CWBf7gH2l6WrNxpJRLCUxVX5hlSmX/DClsPBBaTWIwcC7hZkGUAHGddVWDuygaftAi0ABpufNYFmV3xoclKS7AxW4ieJaIyzq3ALLk1bz4aAlgDueBDZl6PNcwHBnFINcJL3WyWOaB0oClsQZo0Za0QNx5K9FhgFd89MhKyhGIFLRQAG5wKzJLb/9bEDEid5yYNgibRJvNwIJbE46IckndyzZ+vX99/0hGeCsSSv/dMvshC9QyBplw8ROODsruV/NWWnNiktEoxUFPUuQz17d/6lPe7si15+vy1+02TvmNCjVvhuXgIOfH835YF2ffDVM2iqc8wENWem5BVXqKv+zse+XVNkF2D1+oWoZMMNPiZlJP4GYdDrxX/Z+WQhPBjG6ZeWRK8x0BNweXkiuGiI3Lkl9aHbq66Ta0dnF3PbL+kIG8ZwNZlPTAAFllUkAMXO8LnV9ZwJ6arqtc7m1mpCBNaGXKYQRv8w2XZyDenNDpH928euvvocHb6CEA9BIQZecOPlBiA3Df39v8octqvtIVTdx+Czk5HAfotv/pV/psKSk1bwoTPqyyj5+qztTfu5XIDQEuxvPh3gqtBWWUFNEg05BxExWfbNv2+0pwxQJSG3OGOyGXOfxqSEI0Tcx11Y6ue492YzHwI4DiAUFbfrgO4DGAMIsOotJNo2bJUrjr8DzgKCvJ3CR9TAAAAGmZjVEwAAAA9AAAAIgAAACsAAAAMAAAABQAEAGQAAHrt1WoAAAS9ZmRBVAAAAD5o3r2Yb2iVZRjGf/f9nunmZrbAPoiKDu2Pc5t/h4J+MKJsM3SaByxUMDCKIgoi6NP5EAQRQWT1yVADo1M2TZuW2aQRWExkm1NKzcbUCEUU57Zz3vM+dx/On51zXDVl573h4cB77ufl4rru+3qf5xbGGGYmJw90Nzqjygv0qpT51xatXXSFcQoZS1Jb27mJ1cODhxVZpYV/3TToFqTDXLC38ZkFvSUFcry1Z7MaexRQjPTvqJtPCvZhRSryeW20Nnk3QHQsSUl40BfwBXwkt1KAK0xdbMiuwUhwsbO168V4PO6NLxBnrT5y20fIASoABQFgI1ummcnHsyOP/PrLVz1Lxk0agAMHehdGAveKitZ42FTBZipUKaBGTq586TIxLLBlyfr6L8cFSHHEYqbLFp6p8VywWpDNCo2FoApqySG8urSlfse4AymOI629jWrBG57IBgUZhSUTsdcaWxo+KCmQbBz+unu5J/KJQkMOyAhLJsK25S31u0oOJOs7kkx8psbGfInUQI3bSLBo5foFv99119xtNDXNTdxKntnkw678zvIFfKUyUG+3xUxLDgQgGo0GnV21z6dgr0+h//jGsmP1vdGSS5Mfe77rqqwajJxSbO5I8YLCmRNdtXWxmLiSMpKNLU823E7gtvuSJ1F6zVtSf3pdyaXJj00tdcd948e0IwtZUCmRN0MFAuCLvFPAiEBKpHH//rN1oQLZum7eDz6cSn8s0x9MH0hIsCxUIAAp7GAqVyMZeZzUA0TCBJJQ7Y4YqI2YXCAyP3Qggclpw1CRPLe1+aH4SH7E4+b1T/xtQLHyfE8Rz38g1BqJRiXw4XqB7QNBMKEiVGkAfEXUZdlIS5QIW5pY+8Vydys5oODlzimGJRPBfaEyMjSQfHgERIYR4VIsWjsQKhDfaZ2KFR8le0Nv36RnDZ5lT2zp+hBzPaE66/bOzrKUSbTgSgKk8LpDZST115SowMz8blHB4XkdoTESi5kmRd4q9g8fvvmouaYvNEZ6l55/Tk3mqWRtPc0IjvdCOyqubzs33TntVqgu6pb2vWvmPJbNKykjjx+9MGU4IfsEqy7wDsCTIJafWzIgKw71VbtkcDgpNCqSadk0GyLyxcHmh34qOZAVBy/MNFybj9TmpJAcG5fwyl4q3hMBmHKor8Y8b60K1264oThNcxP3AmBj3Lw/Jve9kHD2tuRqQvLvwEOe8eyx1TOu33HlLGu7vFDVdShUZu6o59Xs/cogsvvK09MGxwJg8cErkwa9xFZFXleYk3foyb/HDCm29ufmmqOjX8KP9O9UZFvxKEGNW4rsE3NHIs51Vwx6f16KzhgCmB7vr/AmBbOcar1ntlqFDQqT73jHyLopjpaTa2a1//tY4kj/TpBt2V6+Y+BSMF5gIPO8SotzjVEAGAqXRVzT6adquv97dOV0B8IQmdFTUHTKLhxVUeUjVUXumMnLrtxz89FP/WDCgv8DMWJoh/vrEX0X7IlikxsDS8VymMD3YkHsctPsE/c23vy2vw6VlxGiwP2jTf5GqaVse95QI17m2PF384ye8Zmztl8sZzjShMhKoA54FJgKlGU2+QpXFc4qrkdNOobKU22smj18r97zD55t9cK/Y9FxAAAAGmZjVEwAAAA/AAAAKAAAACoAAAAFAAAABgAEAGQAABkw4gcAAAUQZmRBVAAAAEBo3s3Ye0yVdRzH8ccbitc0BS+EhCh5AWaa6PA6pcuareFMVzKrpYU6rbTbWo1yrmY1ui1npdSapUd5nnN4riiCl0oOUIPznEeQA+f2HPynDZk43Fzy7fPAOXm42JDg8Py293Z2+D0Pr/34nd+eA8P8z+GSXCMr2OqSCtZBXWouZx0XKlj1QPmpqvnMYI2yAjW7vDuupyor2eqtmkWLiijwYoG69zdWpUtAlKFeYBsrueoci8UyLCLA4gJH4jlOvXEByIvIwP7eO+wf9lPq4oggz9i0hWdZ9WgJp54DVjvPqi29xN6sZB0bI74vc3NpaKlNSyrlHLuAtXfF2jsjb1dgHjOY4yynLTnHOk4C22Zgf+2ObSvnqvcwgz2KWccybIOqUk6l88E9G4YF0vH8oCMlnJunrU5LMZDAUidsgXrDzlbNGXSkccTInDO/iHPSaQA7Ya3qJcIeHnSk8UHiOecxEUhgKRxbzDo3M2YYRUXVYzjOWVcInIBCWIVzarlmWEVjnOTU1QWcRhyyAmdgeQPMqlmMWcYJTjtrsWp0EoVh7aYB/mi9vO4YcD+j4yiEtVprUkyD/MF6+U9A6ScUwp6wObeZBvitVfvge+COImCpHctpX5kGeKiwZsMhWw0dBuw7FMSWmgb4ua02+UsAv0bfoCD2L9MALRYa9pmt5mYeYF+gEJYx0/jYVtt40FZLnyJgKc9swP187dUDwH2EgCUDaxpcbqln1PuFV/7OLbxCH6L9hbUEbJtpgG/xV9LeAexd9B4CloD1mwb4us215Y3COnoTvQ1cECubBrhbqPvkVb6OXgNwL9pnYG11B02B215ZOSKHd/l28i7aBeRutAcZq9oxg2hIquhJX4SM15EGvsi7nnsJuO3oZQQs7eBdt3eK7plMEr4jzJO9JfMlL6WgNLw23ovkk3W2UK9t5evpBcCAJQO7jXdx7ROSRF/2bMlHc9BDAM5DC0TPK5ECbhZd2ZuFenoWbQEyGxnYrbb6jPYJMyXvvgTgHkSzUBDblCQF4gYalyW54jYIDU2INgK4CQWxJf9Omi55F86Q/RQn+ygehbBYWXvimYYJA4Vbh3s/KTTY1wP3FHoaZSED+4xYt7LT5Cmy/5dYIKehcCxWtyxe8E3sb9xy3DNTdJc9KrrpccFNTwAFLBnY9aL7eLcLxiv6pEmyX58MXAwKYae3Y/1OrGR8v+H4hvhVgse5Grg1aC1ah4JY/TFYerxwnOJfMUHWWyfKOgFLXbBNwO5g8EjUV9hGXPuI4N2RLnqalokeykDL0Uq0qgPbulZwr/jPm4wp8mWOBXIckMBSOHZKB9Y1VfLnTOevju4tbBHmpkqenDTJ61qIE+JhtBioJQhYCmJbM0R3Zq9uOEoJrIlW9ObRik7AUgh7Xyes7zpWNz9W8m+aJnjnxln06ND1xuuZeG8WfjZb9OUnS77rc0PHV+isRWHY5nTBu+ae/hxRsp46vCgQGAnkKGRgx/SAvf/OytJU2d+CbdCCPUsPtH/AOk6ERONECB5fyeFnbQc2sEB2p/Zt0/BXJw9V9CPDlEDbCCVAUfeGbf+Azbg7ti1Z8h+Zg9/RD/8vCyxllEZlCKDA0t2w43vAxnTHtsVLPiVB8izt/5NV1FMYOXCYUQLXgKWu2OgesBNDWMV/LUbWD8ca9xjwgUdzRtazAM1DxcA2Antr+B3sLWAbgS0eq/jzAM1KMK7p4/gHhfht8rs3/k0AAAAaZmNUTAAAAEEAAAArAAAAKQAAAAIAAAAHAAQAZAAAz3myWAAABXlmZEFUAAAAQmjezZhtTJVlGMf///s5xwAxZFM+kJKedL4Qh0wF23JFs0zAEp3HmlqrNluu1mpzbs4P50Nf2lxby16/qLWsKCIlEULFjbVpUY5DUFMZAidaL5NShMPzdvXhwHl5eBEQOefant3bc5499++5z/++7uv6E1MYP1Y07wTl43E8+hMh76Sars9yfbn6eN+vphJWB7JMADYAGfvRlQIe7nNZ7Y2VTS+Vl5dr0w5rQyoN4Q0DhAHCBGCNDZ4twvcWupb+cP6r5lU3ez8xxVF3rGWFZtmvaISHgrkEchSQTgjU4ISjrFCIwDOrNnu/nDZYZ/j9oh5a0erRbOtxCncSKFCQCDTjIWwQr64u8x5MCKwzTle2FGhi7VHgFgUwDB0HL0J5raAs/+2Eww7Fqa8DD2jk+wTylSAGVqAAUcTzBWXew0kBCwDV1ZfumKEPfEKRrRFYiYw33LTuL9x838Xbkg0mGsXFiweu6q1PG+DhcAYBDA5eCjND0I6IX1RSwAKAz+ezzjXlvqADR4dSXgz4mtPeFl9SyCA2amubZob6tAsEFsemOAKt55py8/x+2ipZYNevz7+hQ3ZFVjV6LV/l/WVTUsggNraW5Z01gTMGCZNDpyBhknuTSgZD8ek3resAqXNIAW4or0o22O2blp8ywAtxGw3AAK01SQcbrt6kKqrZMLRu0+tKRlhLqYAtACWm+CHvdQHArqrutD7071GQZZqg/tDGez4CKQmDNdEsGkAyplKTXAUAPew7alL8BrFNV/hgx4m2/Ylc2SxzaZsBhOJTGOeqrXVtGSb4hEPQOxJ7qtEywKvOTeYa6HPPtDWD0eUmCMxKtG4NBdIeSl1hOahrd16/ZoDiODmyHq5vT0kUqL++PcUUZhlktLABRJ0tyu3ViWD4JsMXqKX3ypJEwfb36kt0QItNXQYZVABggi1xYiYwQOQlTAK2ynPq1QBaVDgJs3lYeaaQnyhYU5N856FgCJsVABhiBxxpAobQt7Kx0T3doLsaG92G0BenVwImGFAAIESDQdpRzQIGkOP+a45v2lf1jwyfAeTErSpoD7i0BgUAF0o8HSZwPKrZMLQO7ENMWzEdbbtF7huhpj3+bomnIwJigAdGKnzzV3duny7Y31Zf3q4Dy8OpirFFzIFh9aznZMcZJShytMU9Lri8geJ5wdsJurn60jzaKkAg0+He1B8tXfTIsE7BsOkfttHAzJBYFZ66tozbBbquri1Dt1WFDmQ6tAqTtn/UhjG7pvNzCrZFXBIZsnjkvGlzQ2fp3T1TCVrybUemTuukAgrDnkHUnQH5RVWJ56lRW/FecLcBBGNOjnDqIAup0OCpasuZKtAHq9pyemE3GEBh1DOInKJBXXPvvqkjk1nTuVYJagmkOnshBfQQ2N91ff6H8NGaVGNYLlpnWseLpLyhgEzHHgGBfiVYf7rU0zAu+yijtuNR2OqYAlKdduXgeJmCt8RyHenemN03HsiVVd1phjbwrAJfV8CiuE4gOvYD8uT3JZ66CRlz6TXBIohUEsiIqdgdL5frCqyAoMZt2wGrT7sS9M3vB4B55V2pqWnWAirlhcjjirJFAbMccIN7Q0DgP01Ydr50Qf2kLM8ZJ7u8SqFaCe6KmGbD/zbn2Dv4e3q8Qxj3kc77v7toF/+8wRO4NTO5qnuO2229SeC5iKcqN508MkY+bGRw0SCHLGvG3osbs/8ZC2NiJkd1cI2m6CfkMQWJdhcjQoy66kMfJkrwHWD7rxQvPDee6SfnyJzoylOKL5PwEZg9DG6sVSf+pbAcNg7+WTK/eSLT3pp9VN+egpCrWJFrBcjTgGUE5iqIexDOoOBvDfgVlGYlbJidYlZfKVoYmsx0/wMN5mfvJKM07gAAABpmY1RMAAAAQwAAACsAAAAMAAAAAgAAAA8ABABkAACqQq/DAAABy2ZkQVQAAABEaN7Flb9rFEEYhp939k7QQhC0sbQwel4uihYRIRCIpL0IHng2VmlFUayELQOp7O1EkUsTibExqKUIGjgTA0YL/4FgYSB7s7ufxW72stff3QvDwvxgHmaeb1YMZHl1px1IjwU4s+X7zYuvGGI6nU5wslp7LrjnMAQ4yL7G55lu/YZCpeR9RZbe/Jwx0o8OXL4odamuP1yY+DJM4DA0d3Vq+0UA7T6s4QBMd+Zu1V+T9xcLIuyZF84LPODBRYHNMuSEodJjJ5JFD7v5vniER8TiaRiaK8FGV3abXlw+nOQlvCDGthlB5uen9nvYYrY/R1vtWmOrWYKNxaOBSXjc1+TbhXeMKLcXJj/F8MFLxMpPFhFLTwpnH6zvTFoSdAuxD51JdXOpeX6DEebl6o85sPdlFqjiGg4gSqvTXlC0zJnNUYMC3G3WNjzaLHTMbzlSMu0APNboD2a+xs7WGFN62NpgofVSNSoZLPXBY3epuuOCTZzrpgYy6/NI9UpWXLokK/taCYLv44KNTFsBhqQjPwiru/bbP6d6cKbsrA7+7p/7PS7Ys9HELw8HpZdJOu3+JTpe8hXwYm+lpWRcsK2WEo/2BovsP/LZyUqNvyewAAAAGmZjVEwAAABFAAAADQAAAAwAAAAFAAAACAAEAGQAABBMi7MAAAFBZmRBVAAAAEZo3n2STSuEURiGr/vxamws/QKbySTEwlYWVlNGGSULRWyUhY2NmrK0kI+yQ8LGYhpZSfIPSIMiSxtsKd5557GYDzMac+p06vRc57rPeY5oMtxdF9l8CmPMnHeCaG042fui/4Cz7G2/S9vmGhRggOA5isUSDaGT3N24OQdy2gynBqIFHwr+Ake5u4XQ2TAwCQyVIAfhFGSvddBe7n4xdNYFKp3sVYMJQFsTo4n7aryd04dpK/qugWrjlNe8ebQ0leo+p7zPZvap06xwDbRXi90rsXJR8Dk5nxz4rAiCTMbt2x4PDdrrDBJy9jvC+Gw6paj2Gtba95gO8cEQ8TuhII7fbuIz6XQ9ABAUxErV4BWTnoqxr7lMRsVGLQlC6BIqFQsMR/K55ZGej/8aH4T1r4Shy9Vk/KrZ9/oBXY1omw5NKvUAAAAaZmNUTAAAAEcAAAAgAAAAKQAAAAsAAAAFAAQAZAAAZJZ0ogAABJ5mZEFUAAAASGjexVhdbFRVEP6+ubtY/mxqJCYVGmwEhA1bfrdoNBpDFIuEtOBNwKiJJBBJfNCEF+PDPpj4QGJCJDH6QEpIUBZL25QAK5ImEuVHLG1xG40U+an1AUJCKOz2nnvv+LA/7K5tLbRcJzm5D+ec+31nZs6cmSHGKV3tXdVqwo97lj8LACxPrjNsbixbv2wQExCONnH22+4Ixdqs0BcIRAFUjrL0lgK9BE+q7+2PbVySemACqURqyo2QbhLo+wIsJxSSWyTj/+cvhH4+1Q19HbEjzrgIJBIJqyq8cCugHwtYnQekooiAFohwLNXdk0FSP7lkfv/Ktm1vVALt7RdWiI8vBVxWDFAO+F+ExnIf3+e2+o2Lz41IoKUtlaaiYkTAwlchwBCBqwJcz5GZRaBGgBnjMFWGwNsrmqIHyydCBqggAQGzP9ACIAicJbgvLDz20/lFl+Jx+sWb43GVF5f21Vq+t4bKtwjERjFVhQLf/Nza+8TKxujuEg3sa+vTshMogRYodtqNkbP349EnWlMxS70dAm4QgCOYSpX6QayxbleBwJ62Pi0sIHtCHt7b3LTw1ETu9veHep+1yC8I1GU1WmJKFeLdWGO0GQDEADAAjKI9LXeemyg4AKxuip5KP1JR75IHDYHCAGFAOj53nznUPT9LgIQBmx81CzdsW7fiLiZJGhrmDd90+jYZsDkLXEREMD0Da6/GVcQl9l/vfmaLbdPDJItt297pnsgWB9ifOz2KyKw6EU3Z3Jnsmb7j1bo7eIiSTPZMz9y1zhOYV3bN+4iA5GDrhZcE0vkAEXXy5EBr6gSJl/PxRu7vjZm4uOSnBoBb5JCBagAAmtv6ugRYmg9SEjQBB9pRiD0gQkET8ER6fQWo2dMHTmBY+asFBcngnRAAqocXXDRAJm+GwAnYNj0D3sxHxcBNAABGQPrjyqYmX+Kdf1bgtjMEwPpfnDA95CywACsfjgMnYHxZ7FMLiW3gBFxL63w//yIy2Fuw9dy5sFHahiy8BYFqwP270vazqTyIgANRPK7ikR8VMqLcCEwDv628+CaVi0hAlIWkRKJHBmY/bPCmI3/MNiq7/pWcEp2SUa+l9nh/5cMCX328v9LxpcUBqvJPcH649ONiiBiMlaw5fKVqssHXHr5SRYdJQ8bKbe+QBxJr5/8ghoBL1lNwsrajv2aywJ/v6K8Zgn/SAPX31E7k6pABxwpvz1VGOZWQEScU7p5z9Op2JNR6UOA3EmrVH7683RXpNkSkpBbIjrQBNifXzLkJAHzs6FUdoSS/SMVn6oX2Dq6rHle1tLxjcJqxht8R8EMBns5nPGX/TQO6/se1tccLxenMo9d09KaE3hawBYpjYd/v9e5alwfsOWkAmJ24NnXqNG8uRaJQXSPUDQLMHLHHoAoCtyxl45nX53aWlOcVyWsDoniytPtR0iMo/w7l5meUVr5jdlf+CtFv6Hqttrdcc5JxrCUG2GMIvVfFll6XYu81wIzsyDqUm4vrbm7eze11s3vVA/ZkvClLRgIv7ZIdGVhlCeOEviJQFiKVjtqyGev0KorvAD9+ueGp02P5zj9F+PJVVhzSogAAABpmY1RMAAAASQAAAA0AAAAJAAAAGAAAAAUABABkAAAnmz+BAAAAvWZkQVQAAABKaN5jOLPhovn///8ZGUgBp9dd+n963cV9t7fdZidRExCvvRxLtKZTUE1n1l4uRpc7tuqC9Jl1lyecWXdpyal1l4Pg3ji67vL/42svfTm99pISsgaQc4GG3YG7BIiBFhw/u/6SMcOBdZfnHVxz1RDdluPrLzsga0DC33E6+9CGq1rHgIqOA/FJiC1wjXj9e2j95UmHgM4/AsRgbwA1nCCkCQT2rr/stn/95csH1l/+DzLgMBADAOTpoMvneFgUAAAAGmZjVEwAAABLAAAADQAAAAwAAAAeAAAACAAEAGQBAGnzyCEAAAB4ZmRBVAAAAExo3u3OoQ3CUACE4f+uzENQtaQz4NiDKVAsQepKXRMGAE1SdgHxDlH/cCh+fV9y8O/H6dvgennsm+ggwCXH7W59rqJpmNuQm8EiGIqcblVDb6Uj2IAQBqvoVEWvktkyJghYMJvqvSTqx+e9gVaAs8APAjUhlh67PNsAAAAaZmNUTAAAAE0AAAATAAAAHAAAABsAAAARAAQAZAEAxHV91wAAAgZmZEFUAAAATmje7ZQ9aJNRFIaf935plUgt2bVoKREsouLP5KI4tKbiH1bQwa0FR0dxCOIiOrjo6CgqOLSVOhQJKA5CcYhIK1okpeomiNGafF/ucciPSe3fl7kHLme55+U57zn3wkZsxLKhdorMTPfHZkfkdFRmM879uj168uDvRDtid8dnriPdcGYIcD65HzjdFtmtsdkPgrQDhOHASqXOVFtkoaNLHqpiwoG0KdwSmyyb+7yZn+UiEDTIDAtLla2xyRaL5V0BBKKJTCxkh/uLscVC7/Z41YynnnkPEFssCmyv99REVM3GO2qk646R6emO0DQcSoSicSKUj00Wfese9tDTNEUEPkoEr2KRZbPmKtK1EBFC8xm/l+ktxCKbPfTpkky7JXCmuvHguRPrbZ6d/LhN3uUFqdrG18VyD4f6jtXvrUl2fGquu1ziqSC1xCsCVbLNd1cVyzwrpMrlyvNQHJa17BVIjycy6ZfrEjsyMddTxE8K+h0gtezVggUdV5bW/Cd2/okF88nCaCS76SH1r62GV4sOLr4Y2P59xc/xwMTXZBiULjt01UGfrMXoel4EO/U60zu17E+bnpy/gNmAk51z0LWkuNaWIfgRmM68GdqRW8maRBl75NQ6pWajBTjpS0L+xPTgzvxqA3P1dxbVNrqaRYQIkVXgwZ9K5763g735tdboL3R+tcS6Adb4AAAAGmZjVEwAAABPAAAAKAAAACkAAAADAAAABwAEAGQBAFnJ6ywAAAUEZmRBVAAAAFBo3s2YW2xUVRiF1/rPmdISSJ0IPFSug1EotIRbig8kNlGRUmILMgZMVKKBKBCjkfiCySSaGKPBeEkML6KihgypTa29IEo1jREJiLYpJC0FWgaMYqiGXpieOef3YWbOXCvl0nZWcjInM3Nyvqz97/3vvYibUEewI6/P1M2A7hLocgFAADLSA8qnVm4sOYDbkDmaPwWDQcPrWbjtD9h7BCwiAFEiAajIBktgBm5TNwSsq2tfYTjYZ4HLiCiUQEEiAZUGG/0OAwKtHVPAQ3UdmyKKzxxofrJDArr3hEKisP0C9BK8QsU5U+WDsscXnbtdQI70wxd1HTtF8R4BkTiMZgzncQEPiKD52Knic4EAHdxhZQXcX3f6RSreFYBZakwJ1JiKt6urFx3HGCsD8KOvzzxjOPoxAbrOxT/J3w0bz2/ZsPBnjJNSAN+v7ZovEjlFYKpbbxoteirqbHNwy/b1KwYxjnInSSCgMiydnwswNWVCkBDFJ3dbC57zV9PGOMtdtjxLO/0R6CoLROICLOLLP39b8KzfP/5w7hAHAipc1tku0OLoTHUd7JL88NLda5YMYIJkAkB4aVeVARQLmLQAK2jrttcmEM4FjBCvOOkzFjz6evWCHzDBMl9qOFNi2XhAkNauHL6JHJAZdjyrSAep3YKn9lbd911OAFrQ0sQmACAVQq1Hjsi0wMWMtbJY7UEctOUMYIRYBE1yEArTMNpzBnAYmB5fWqI1yOv9A77uXBripH2egsTVQxPUNUYATF7/CP7PHnEiJBapbt+NXjMebDmfnzOAw0DIImCR0Qs0pvTr/TkDGAE7ktyDRSBMlOSQg2zP2GIJluRODarTluIgCEvpX37ihCcnAJVotUgnWn8u6GzPX9P8406jym0NnWU7GjrLoEp3w7q48UItgKq0Q9Lpk8fnlGAMjpLZtKuxa9KAjSYC5TGGlkkG1gqiw/pO2lIDCyhesrL3yfEy76otWy2wPGkulA9G4HcXZV9Tz1FRlz4eYfSZMEvbKmaGxhJuQ2PXTNNhmwBeJm37DMVu99BkOQxkTBbQG1a7xneku3Cs4DYd6S60HamxQG/aYQ1hU79PaWtFzb0HRfEEoRBNzmL0l2GHa3sr5/TdSbh13/R4HdhNhJZlhATAwa8q529Oifb6wReGgZAFJjoLAQssE0Grr7579p2Ce6i+e/YQnFaLKIt1MCTNg5Bh5u3IGn14m3tXi+KwAAUJB9267BNwT8+1WftwizueTUE1Lk3u2S7UNwh43bgu8Z4hUaw5XOlrHTE8Kjzc8zAdqSO0IN362P1ZUey1bfPTy+uLRhWFLK+/PBlG+Gk4fFmo96YNZ7yUhgA89uM635Ebxm9TmkPlVK0lUOjmgBl1otcErBFFszhOmz1oXAj5Zw0BwMzgxYKCyfZcU7SUKo+SulGSMx8A1JTU7F9DWf1T5dyWUeWDAJDXdLHUEDSKg3tSHdRsrsZd6I8lrFOylMgIz+AS6FT8utbXNuoA01X95Wl5HvstAlsFYPLszpZPpzkcS8iyDicYzRr3F9h5r55cX/T3TSWsGWoMrTKFAYHziJsd3gA2q+vR7EcF+JZwAmcr5h27pQh4RDVcLBHhTiH8AtyV9uLsDsa/I/4RZZAOPgytmzWqk+Otnz9azufjulkh5GoBSgAsNKDTBfDEYC0CVwQ4Y1DbqWydmh9pvFA+7/rNvOY/L9Lne0Dh1moAAAAaZmNUTAAAAFEAAAAiAAAAKQAAAAIAAAAHAAQAZAEACVOYiAAABG5mZEFUAAAAUmjexZhdTFxFFMf/58xdCtiKKO0DSqtoVBahUkqkMTzw4AdtSYrVNdZE22hqNBgToyYaHvZNjUbjx0t9INYa06yhZEUoVdPW8GBsGlE2iIFCC2yIESOmLCwwe+/x4S67e7fAbgl7Pclks7tzZ35z7pnzPzOE67TBwGDeVSP2FINeZqA24wNCz9QdrDqRqZuRLUAgEFC3eCqOTsNsY+FSBsAQ2J8ArfIcAduyGT8rkO5gaDdbOBYD7bIAMNmTs1ACJBUq6Q3MCaRzQ0BOnRp8Qot8wUC+PVHK5JScPA4VYciEAqYJGCOxPql7/P6xbEBorT9PBgdbSfARA8ziXHVKu8CwThisen/s9475/WRhHbYqyPHg76+Q4EOG0DWTC4RFOhTRe80tlRewAbYiyGedQ4eJpJ2BNAgBE35TJr/oe6ziJ2ygXQPycefIncyxfga22KtP2RmC4JIxf+iF5t3z2GBzBKvfL6x5+MsEBAAmikNYn9+svc8faSETOTDHbvPUDPs0pF6DYDdAA1gifPXnr97nfL7cQDhejd8vTLuGQwzx2jsk0UaQv1jz+iM755BDS7yaxZqRAwrwMiiesAQsgLLk6Js5hnCAxAivWY4dQmDC2baWe8/DBTMAoLV7qEqb2OPImhAYFr0Nl8wAAMvy1GuSZOYUgEH97xy4+wdXQTSkmlJ1hASKpAsumgEAS6D7nDpCiFkYcB1EEyqTkm4DKaVCroIc+na8WENvTdQYILBgYXaufNRVkIhJBawoXdj++TqHWXRFkCiAvPT8kaFOyYnW6Btnr2oiSdUWDWw7fO5yvqsg5xsrIxoIawI0LYsdqb8jco+rIHYeocGEN8hui4Sq/wMklJT++Cti7HQfhGkgJT6gQYgJ+WovXvS4ChK1zD5NZNkxkgDa7vmrxOcqyNC+8nENfGPHCCWbyFvwC7sGAgAm6P20LYwYkbembuJpN0Aciav89PhZFjSmHSFnGEb1wN7bwq54BAC0Rf7UgI23Yi1mR+33o0WueQQASnsnTrLIk8kCKaFBP2+yqCm0f8dMzj0CABHQS0ugsMZy0MbjBfRAlNFX3jW63RWPAEBx70SDEpxRQIFDlW0PzSiitkuzZcewToVu6hnZFBPlI0iJR4xg9/4dY6uqbNGZ8YeURUF2wCShSHBJgT5YMI3jU82lWR1Ba7umCgvV4rNk0atM1l3x8eZA3LCm3G/uDTcqkU4Gila+khCwYFYJOoioly1rIDqvroR9ZVEA2BOYLFgsNG8HSzUJP8qwDjqOs4kxqD1j3XHD6clqAnoYuDX9ZmgFqOXvkfhvm1fsK5J+zdGeVQG0pWuqxPSY75LgiPOqQjIBYc2+NlDUIHrwuioxT0+4XrH4GXiYJRPQalCJvsKg7wwy3/ilqXxgXSVhXvdkFTFameBjwU0ZV+4E+peBgBL+9I99ZaGs7tAy2rnL+XkLxl4iaWBQlRJUMLCVAU8cSDMwzaAhRRIioT4jP9ZzpfGOhfSh/gMVwbrySbrr8QAAABpmY1RMAAAAUwAAABkAAAApAAAAAgAAAAcABABkAABi76wSAAAD82ZkQVQAAABUaN6tl19oW3UUx7/nd25qx+i2yLqHyWqpaFlqMtturnvYQxEVVwKraEAHMlEGSsUHFYbsIS8iQ1F0T/NB1MnASC2x3daqbMMJwzGpa4kdq22Xtfig4sD+W/O7+R0ffkmam9k2ae6B30O4uefD+Z7f+XMJFVoqkapZdNznBPQagPY1XxB6wSnXeSKR4B2B5iPzkj1GoO3lvkfANirnj98lR3c7BidZ0MYAGAK2DtaIAvMAImtGMvBN6llX5AsBag0JDAAjBFMEK7I5Am4J8BeASYg5seeZRyZXhSSSqZ6MwUcsUAaAgXVeArvCJKccxYNtw6FJipMp9bMi5FTyt9ddkQ+FQAYEIznHFiZZMb1M/N5j3S1XysjL3fZJ39hhh+RTBigvCQNgARzINSXmlejTkcsVJN9rH/eNP+Aod5hF6grO8/oLkhudxeej0d0LlVx7j1zxuChXXf9SgDpDOf2XZfosoEMvR7spW2ltqeIfgdYbMQ3q0CBowB4iZBSdvvlr6KVYrHKAR654XBS13RhlkZBHImBc12Za33py1zzWaQW5llrHDzIQsjIJjOSurJEj1QA8EE14s+iKwhBgIOePdu+8iCrNAYCeM2NhbbAvX8kGNtkw6l34YA4AuCbQYSC2kqVQ2cPvHHzoB98gS5CIU5Ap3zKkHz6ZjQT0sEDg6U/AiK8QTWix/Wk5Hy7zqG+QroF0UMOttzkpdNY7C/NNE75BOEsbNN/Vxv/5ep3V/b+QRQAOqCCThQnBR1N60+y/miCefgXadvjCVK1vkIudLXMamNFkm2EOxn/PSbNvkNwVThUiycFcQthXiAaN5mQqSOYq7PIVsqRopCgf9ghi7VevBnyDZEz2kiYyNicFWMPGP7fGfIOMdTWlNfBtfhLmYRmRtxEX5QsEADKg90vHrgZCe/dMHaoW4im6pnPp8yzodIrXIOB2ADry84EHZ6qOBAC0obhbnHwbVXBJanrbv5/Y7Atkuqvhx4yir7w3DdAkj2rNQ+GBdLBqiNWPXtVEtgN4o9oLJZfa+ycaqspJ3uoHb+1nwRADG3KbY/EmedshHGuevf9kuZ16xW5771D6ccdQ0oIAFkHJPvY7Qz4IZO/5/Jfo9oV1QQBgy+BMpyOmj4HNRftwKWyWhXqZzGCNoRFa4JuXYzsWy4YAQPDcdIQgZxm4r2T5LoUtH4M5Jplk0PGfuhpPlzWc6vr/2MqB7HEWedF+TuQ/JWRlkH1mlJF9FU3ATWdnOpgkzpAnlmGrR+UYObquMRs8Mx0mhR4mibFgy2owJRStapY3Xpiqnb3jHFAk+1ko7EB2skg9AwEGNJOcuP5U4xv/AaU65cQdibPpAAAAGmZjVEwAAABVAAAAGQAAACcAAAACAAAACQAEAGQAADJpvUAAAAOJZmRBVAAAAFZo3t2WS2hcZRiGn+//T0wKtiWg4iKNEK9M2tTEFuNCMbiwTRxsREfQjaAUFMGNLhQXs/KCoqgg6EK8IVKsYazSeKEpZCENhWhCFBKTknQ2XrBQc5tz+T8X58zNVJPMnJUvHGZz5n/O+36Xc4Qt6JvC9AHreMdCn1WwKBYwm/1RWQF6vM3uK3w+80Cg+qGDNofiBJwKjipMqrcvCywp/A4soO6tg/ffvPCfkGOFmSdDxxuqGAc44sOdaPwbwyY80Y88Y0f7JjMLkhf3z3Pk3wAfFH56yqq+bkEsUBuTBbXKcU/klbuGuyc2S+OSkHdHfn7EiL5XAVQPxyo/tmj0ePa+nu/ZojZA3hyZu9aYcNLCTqs1hwOeauFyb+2hbPbAKttQXU3yeTXrZvZjD3ZawIokT69Y9P3WIPNYdlgitqm6LjS9s7kQ7Q8Q4gsCwDfyyfkfMo/mctsH1MWVz6txfbPTFjIWTQoNHsxFbaXeZ+7ev0KDqsS12jt3xEAmzl+wEscUOT36bBOAOogvPG3Lc0AyByKnnh++6TRNygM4+tX8vsC52xyK0/LQKTh5kRTkAYRO+7USU9K2KpMvH7nhu/Qg0BPHVF0datwJUpKX1GOvRZKo4nqok6l0IUi3ReOOQrAKvjXTqUGGvlxsDwivdLWdJayHK13zqUH8SHYYKzVLUPDQPz9rcLovCVkFWiUpeKUmIqQo07Lrr4sBogEQCAQiBMhVd46da0sNcnqge9mHoo8QX+ALtnVZb0wNAhAYmSlv3PL2LQn7UoX4julAJIkqBkXG7E/byZQPSVRxZCXV3C1nz7ak6CQaDxBXiSx21Wl+uyKXGuTcUNdigH6x4Y0Iz5FXkwokWS2v+pJEVu20zN6DSw83C6kbuqtPLp6yyEDt69fChVZsz9RgR7FpJwCRk3yljSudRvuaRse7vp3fnYoTgPbR4qdG3YPV762yKz0TOjm8dM81F5pyAhChT/hIsW4442671RjGu07MdzbtBKBtdOl2T+VrCzvqPlFjZxc9x0tG/Nd+Gby+1JATgPVDneOBcff6hrW6nRZ33q6SkRd8uewkqtKwk8p7YLQ4YNERC7ur3VbjzEl/cWjPmYaclBUe6hgrKXf4SDGQ2gVaHdiG46rT4T1TYWB6fZG3fZGwPLAlZOzXwY6JpuPaoNHz1xmRrFX+CNzaMbZY+P+P/gZjNJnGDOT1EQAAABpmY1RMAAAAVwAAABMAAAAmAAAAAgAAAAgABABkAQCkfZTAAAACtmZkQVQAAABYaN7tlF1oT3EYxz/P7zn/mYtdSEYWeSkzMwu74I4bJMqUv+JGWZMoJa642J28lCgXSigvabI1TJJQklqrsTVqa5mQi2kXspdz5n8eF+f/Nm32P3O7b/3q/OqcT8/zPd/nEQpUY2OjliXK69XktMLCid6RQkDPWrpqXMhVhXVqoIBi6F/v6VSgpqbuPaHwKEQWhQihEB2EMF2L5J1Jdael+6galxRcVJHhMb4yhTbFbjmnTyeFXWv5cEyNiwqS9yFpqKnxwBM5v622su2fnl1++PGAGtcVRC0PhKHCe025w8ndFW+n/AHnmnuXO5fqUKwkBwE1Q42WMW9436GdNcMTFeHlXxoazI1oz23PKFHkL2/kZunYyrpkraQms8blX0bW9iQD2OCL4IvgAz6CL3L3x7uVB5PJyUHjotHQYG5k4eA9Q+YZYICJYOJ6i2aN7jhVtyCYKkbZNr/X9O7yTFYphlquxYSk6k9urR4qJNxZWGByIhV5g0raK3Mvzu4sf1XoyHkA+1v7qgKzjZlgpg3HOTtDDHkAw6FsUAEViyoz8LCOGztWPI8NCyRc4xCycRDjNzwipjwA37nVaulgZn2TzunBTCqjUZHs/AnWFRtW9fjzHJ9w3rjEC6Nzh5b1xYZ5RTI7+C25+YuiMXh/irRPCBtOz1RkfBYqTENuMFH800fMJzOL4IuUbnr5qTg2bGBz6a9A5GsABEj6oAO+lceGEVXTnd0Ukt4UplXTggVIV7ZFMutHqqdbWWeuRSEAAiO5vr09ERs2GuprXyT0hVybIov7B+bvjQPLReDpl2aQXfmr2pn0DxWPVbB56WjBlUVP7gJAKu+vjoktKfYTe2K1CcCWsjdAa+aag1IaHxYRjgP5K3oo9FLN8T3L6Mm3tWh4JIK7K2wv62BGM/o//QFuzQanlLTaOQAAABpmY1RMAAAAWQAAABQAAAAWAAAAAgAAAAgABABkAQDPl48GAAAB/2ZkQVQAAABaaN6dlL9rU2EUhp/zna/SpYOgi0UcioGmVlHuUP8ClxZUMIOToBQFQRAFB4dsDgri2EXEFikRkagVBREHQSnYUIMorYmIOAgVUdqbSJsch+ZHbzBtcl84cO/H5eE953vPFTpUJpPR/p7BcWd2VWGXtPlOOoHNZPOBqzKhcEgBBdRAMRRw3QCnsx9OOOOuGr11QLOsFb68KXAi+/G8N7ul4CIAQK3xPKvIJI5nb3PJYlvgjeynCx67qSAtABTMYw+8cT11bGh2yxmmHy2cUqq31WqwDe48zLsK584eH3zT0aVcfrg4IGo5xfoiMAOFbNktn0yPBWG7znzEWdrcD/95SqFPkTpkvYQ7C+XEmfspqWw29403TiEopEJkJEQIEUIRQoFQ5F7PXOL0VrBIy+m0ufmgmPdYsiVri2vbwoOTRw6sdJLZRsuvg+JRjyQjORPwZuPTHcIiwJJzl9ajIU13Zi+fju19RRfyAMMz34ZDKodb3Sl2jS7lAUKpjnikBmlsQu7d6MCLWMASsl/FUJMG0Is9JoZqDmVfs81akKvyPjawJAy5liA7NB8P+OTr9r/ITgDXnGG5vNJfiAf01lt/qdZqVeQnHWzF/1dvx9IS2J/IqfGFmHIEwSrmLgJrtbPfOLkSF9j8fT3/vpuqJahU5hjd8ysu8B/6h7Fbz1BUNQAAABpmY1RMAAAAWwAAABUAAAANAAAABQAAAAgABABkAQBGTvCFAAABdmZkQVQAAABcaN6tkcsrrVEYh593rfdzGVBmcimlk8gIfwIx2RNlIspIKWXCzMDEhHLSGZ2JtJXBV9KXS+r8Aaf2RAaKhHIZyOiULdvlew32pYNNmzy1Wq3eelq/3yt8QBiGviZoHQ2waW9SpxgeED7m3XkyOujy8dNvFTo8oJYVekABj6GWf2dnABjpotK56GBAsaSHCs2LctKCEPAGit14OAuQa2fxSZl3v95IJ6PDcSeyqJgrSCwnyf9KLBWYrATEOxe7bSczMxK/G39o43jCYz8VkyIxzRtr6mx+NtGSKqnTnq3TEW+25DF58ats9D2BsWTix19KQADat8+alXhXzape96YQlccVgxuJultKxGMm7vjfZkak+Q4hI8KdZO8Mbrk+3TS03l99zycQ3bnsFuyPYrltFnpcvUo1DvNqCaWgj8SdIDwg/zUsRzgd/YoQwCGyXyTAFL21ab6Io7dhE1gAHnJngb76iG8hPK8kPK/8DtUztGqCyuea2MoAAAAaZmNUTAAAAF0AAAAPAAAABgAAAAwAAAAIAAQAZAAAeXELuwAAAMFmZEFUAAAAXmjejY4xTgJRGIS/yXv7HlcQsDK21FyAxNBQk3AMD2BHY6VH8AIGjJBY2e4BoCBsAR3barbZ3d9iSTRbqF8zyZ+Z+UcAD4vtNBr3iVk3YAQg2FkxgjXq+EamW41W+3FS8RJAP42xFWwVfrrSDfybwsx56RcjoeYjyA4JlkeUeZWPq8l15kGnCigQhQB03kUKeoJ6TdrPuFNNC7E89kj0Dlw1J3sG5txcpvxB8+Z1F6EzBJ8zvtjwT74AljFC6d2II+4AAAASdEVYdFNvZnR3YXJlAGV6Z2lmLmNvbaDDs1gAAAAxdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBBbmltYXRlZCBQTkcgbWFrZXKphWVeAAAAAElFTkSuQmCC",z2=()=>jsx(D2,{children:jsx("img",{src:I2})}),D2=createStyled$1("div",{target:"e1ho5dd50"})({name:"hmtpto",styles:"height:24px;width:24px;overflow:hidden;img{height:100%;}"}),at=({device:et,id:tt,cameraName:nt,height:it,width:ot})=>{const[Ut,Ft]=reactExports.useState(!0),Qt=async Xt=>{await o.waitTilAuthenticated();const Zt=await Vt();et.addRealtimeListener((Yt,Mt)=>{Mt.header.stream.streamName===nt&&Xt.drawVideoFrame(Mt.payload.h264VideoFrame)}),et.startListeningToRealtimeVideo(Zt),Ft(!1)},Bt=async()=>{const Xt=await l.getCurrentDevice(),Zt=await Vt();await Xt.stopListeningToRealtimeVideo(Zt)},Vt=reactExports.useCallback(async()=>{const Xt=(await et.getRealtimeVideoStreams()).filter(Zt=>Zt.name===nt);return Xt.length===0&&console.error("Error: Camera name is incorrect or doesn't exist"),Xt[0]},[nt]),Wt=reactExports.useCallback(async()=>{const Xt=document.querySelector(`#${tt}`);Xt.drawer.start(),await Qt(Xt)},[]);return reactExports.useLayoutEffect(()=>{if(et)return Wt().then(Xt=>console.warn("video mounted")),()=>{Bt()}},[et]),jsxs(T2,{height:it,width:ot,children:[Ut&&jsx(z2,{}),jsx("formant-realtime-player",{id:tt,style:{display:Ut?"none":"block",backgroundColor:"transparent",height:"100%",width:"100%"}})]})},T2=createStyled$1("div",{target:"ee073z40"})("display:flex;align-items:center;justify-content:center;width:",et=>et.width?et.width:"100%",";height:",et=>et.height?et.height:"100%",";");Chart.register(...registerables);const App$1="";function timeout(et){return new Promise(tt=>setTimeout(tt,et))}function App(){const et=Oe(),{camera:tt,isTeleopModule:nt}=et.configuration,it=s0(),[ot,Ut]=reactExports.useState(!0),Ft=reactExports.useCallback(async()=>{if(!it)return;await it.startRealtimeConnection({sessionType:Ht.OBSERVE,maxConnectRetries:10,deadlineMs:1e4});let Qt=!1;for(;!Qt;)Qt=await it.isInRealtimeSession(),console.warn("Waiting for the main connection to establish."),await timeout(2e3);console.warn("Main connection completed"),Ut(!1)},[it]);return reactExports.useEffect(()=>{if(!(!it||!tt)){if(!nt){it.startRealtimeConnection({sessionType:Ht.OBSERVE,maxConnectRetries:50,deadlineMs:2e4}).then(()=>Ut(!1));return}return Ft(),()=>{it.stopRealtimeConnection()}}},[it,tt]),jsx$1("div",{className:"App",children:ot||!it?jsx$1(z2,{}):jsx$1(at,{cameraName:tt,device:it,id:"rtc-video"})})}const index="";client.createRoot(document.getElementById("root")).render(jsx$1(Ke,{parseConfiguration:!0,children:jsx$1(App,{})})); \ No newline at end of file diff --git a/examples/realtime-video/dist/assets/index-643462ad.js b/examples/realtime-video/dist/assets/index-643462ad.js new file mode 100644 index 000000000..9203aa9d8 --- /dev/null +++ b/examples/realtime-video/dist/assets/index-643462ad.js @@ -0,0 +1,210 @@ +var Ty=Object.defineProperty;var vy=(o,s,_)=>s in o?Ty(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_;var On=(o,s,_)=>(vy(o,typeof s!="symbol"?s+"":s,_),_);function _mergeNamespaces(o,s){for(var _=0;_j[$]})}}}return Object.freeze(Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const $ of document.querySelectorAll('link[rel="modulepreload"]'))j($);new MutationObserver($=>{for(const _e of $)if(_e.type==="childList")for(const et of _e.addedNodes)et.tagName==="LINK"&&et.rel==="modulepreload"&&j(et)}).observe(document,{childList:!0,subtree:!0});function _($){const _e={};return $.integrity&&(_e.integrity=$.integrity),$.referrerPolicy&&(_e.referrerPolicy=$.referrerPolicy),$.crossOrigin==="use-credentials"?_e.credentials="include":$.crossOrigin==="anonymous"?_e.credentials="omit":_e.credentials="same-origin",_e}function j($){if($.ep)return;$.ep=!0;const _e=_($);fetch($.href,_e)}})();var commonjsGlobal$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs$1(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}function getAugmentedNamespace(o){if(o.__esModule)return o;var s=o.default;if(typeof s=="function"){var _=function j(){return this instanceof j?Reflect.construct(s,arguments,this.constructor):s.apply(this,arguments)};_.prototype=s.prototype}else _={};return Object.defineProperty(_,"__esModule",{value:!0}),Object.keys(o).forEach(function(j){var $=Object.getOwnPropertyDescriptor(o,j);Object.defineProperty(_,j,$.get?$:{enumerable:!0,get:function(){return o[j]}})}),_}var jsxRuntime={exports:{}},reactJsxRuntime_production_min={},react={exports:{}},react_production_min={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var l$2=Symbol.for("react.element"),n$2=Symbol.for("react.portal"),p$3=Symbol.for("react.fragment"),q$2=Symbol.for("react.strict_mode"),r$2=Symbol.for("react.profiler"),t$1=Symbol.for("react.provider"),u=Symbol.for("react.context"),v$2=Symbol.for("react.forward_ref"),w$1=Symbol.for("react.suspense"),x$1=Symbol.for("react.memo"),y$1=Symbol.for("react.lazy"),z$2=Symbol.iterator;function A$2(o){return o===null||typeof o!="object"?null:(o=z$2&&o[z$2]||o["@@iterator"],typeof o=="function"?o:null)}var B$1={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C$1=Object.assign,D$1={};function E$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}E$1.prototype.isReactComponent={};E$1.prototype.setState=function(o,s){if(typeof o!="object"&&typeof o!="function"&&o!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,o,s,"setState")};E$1.prototype.forceUpdate=function(o){this.updater.enqueueForceUpdate(this,o,"forceUpdate")};function F(){}F.prototype=E$1.prototype;function G$1(o,s,_){this.props=o,this.context=s,this.refs=D$1,this.updater=_||B$1}var H$1=G$1.prototype=new F;H$1.constructor=G$1;C$1(H$1,E$1.prototype);H$1.isPureReactComponent=!0;var I$1=Array.isArray,J=Object.prototype.hasOwnProperty,K$1={current:null},L$1={key:!0,ref:!0,__self:!0,__source:!0};function M$1(o,s,_){var j,$={},_e=null,et=null;if(s!=null)for(j in s.ref!==void 0&&(et=s.ref),s.key!==void 0&&(_e=""+s.key),s)J.call(s,j)&&!L$1.hasOwnProperty(j)&&($[j]=s[j]);var tt=arguments.length-2;if(tt===1)$.children=_;else if(1>>1,zt=Jt[jt];if(0<$(zt,Zt))Jt[jt]=Zt,Jt[Vt]=zt,Vt=jt;else break e}}function _(Jt){return Jt.length===0?null:Jt[0]}function j(Jt){if(Jt.length===0)return null;var Zt=Jt[0],Vt=Jt.pop();if(Vt!==Zt){Jt[0]=Vt;e:for(var jt=0,zt=Jt.length,$t=zt>>>1;jt<$t;){var nn=2*(jt+1)-1,rn=Jt[nn],Dt=nn+1,wt=Jt[Dt];if(0>$(rn,Vt))Dt$(wt,rn)?(Jt[jt]=wt,Jt[Dt]=Vt,jt=Dt):(Jt[jt]=rn,Jt[nn]=Vt,jt=nn);else if(Dt$(wt,Vt))Jt[jt]=wt,Jt[Dt]=Vt,jt=Dt;else break e}}return Zt}function $(Jt,Zt){var Vt=Jt.sortIndex-Zt.sortIndex;return Vt!==0?Vt:Jt.id-Zt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var _e=performance;o.unstable_now=function(){return _e.now()}}else{var et=Date,tt=et.now();o.unstable_now=function(){return et.now()-tt}}var nt=[],rt=[],ot=1,ut=null,dt=3,Ut=!1,st=!1,ct=!1,pt=typeof setTimeout=="function"?setTimeout:null,Bt=typeof clearTimeout=="function"?clearTimeout:null,Qt=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function gt(Jt){for(var Zt=_(rt);Zt!==null;){if(Zt.callback===null)j(rt);else if(Zt.startTime<=Jt)j(rt),Zt.sortIndex=Zt.expirationTime,s(nt,Zt);else break;Zt=_(rt)}}function ft(Jt){if(ct=!1,gt(Jt),!st)if(_(nt)!==null)st=!0,Wt(Ft);else{var Zt=_(rt);Zt!==null&&bt(ft,Zt.startTime-Jt)}}function Ft(Jt,Zt){st=!1,ct&&(ct=!1,Bt(xt),xt=-1),Ut=!0;var Vt=dt;try{for(gt(Zt),ut=_(nt);ut!==null&&(!(ut.expirationTime>Zt)||Jt&&!It());){var jt=ut.callback;if(typeof jt=="function"){ut.callback=null,dt=ut.priorityLevel;var zt=jt(ut.expirationTime<=Zt);Zt=o.unstable_now(),typeof zt=="function"?ut.callback=zt:ut===_(nt)&&j(nt),gt(Zt)}else j(nt);ut=_(nt)}if(ut!==null)var $t=!0;else{var nn=_(rt);nn!==null&&bt(ft,nn.startTime-Zt),$t=!1}return $t}finally{ut=null,dt=Vt,Ut=!1}}var yt=!1,Ct=null,xt=-1,ht=5,mt=-1;function It(){return!(o.unstable_now()-mtJt||125jt?(Jt.sortIndex=Vt,s(rt,Jt),_(nt)===null&&Jt===_(rt)&&(ct?(Bt(xt),xt=-1):ct=!0,bt(ft,Vt-jt))):(Jt.sortIndex=zt,s(nt,Jt),st||Ut||(st=!0,Wt(Ft))),Jt},o.unstable_shouldYield=It,o.unstable_wrapCallback=function(Jt){var Zt=dt;return function(){var Vt=dt;dt=Zt;try{return Jt.apply(this,arguments)}finally{dt=Vt}}}})(scheduler_production_min);scheduler.exports=scheduler_production_min;var schedulerExports=scheduler.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var aa=reactExports,ca=schedulerExports;function p$1(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,_=1;_"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,la={},ma={};function oa(o){return ja.call(ma,o)?!0:ja.call(la,o)?!1:ka.test(o)?ma[o]=!0:(la[o]=!0,!1)}function pa(o,s,_,j){if(_!==null&&_.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return j?!1:_!==null?!_.acceptsBooleans:(o=o.toLowerCase().slice(0,5),o!=="data-"&&o!=="aria-");default:return!1}}function qa(o,s,_,j){if(s===null||typeof s>"u"||pa(o,s,_,j))return!0;if(j)return!1;if(_!==null)switch(_.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function v$1(o,s,_,j,$,_e,et){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=j,this.attributeNamespace=$,this.mustUseProperty=_,this.propertyName=o,this.type=s,this.sanitizeURL=_e,this.removeEmptyString=et}var z$1={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(o){z$1[o]=new v$1(o,0,!1,o,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(o){var s=o[0];z$1[s]=new v$1(s,1,!1,o[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(o){z$1[o]=new v$1(o,2,!1,o,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(o){z$1[o]=new v$1(o,3,!1,o.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(o){z$1[o]=new v$1(o,3,!0,o,null,!1,!1)});["capture","download"].forEach(function(o){z$1[o]=new v$1(o,4,!1,o,null,!1,!1)});["cols","rows","size","span"].forEach(function(o){z$1[o]=new v$1(o,6,!1,o,null,!1,!1)});["rowSpan","start"].forEach(function(o){z$1[o]=new v$1(o,5,!1,o.toLowerCase(),null,!1,!1)});var ra=/[\-:]([a-z])/g;function sa(o){return o[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(o){var s=o.replace(ra,sa);z$1[s]=new v$1(s,1,!1,o,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!1,!1)});z$1.xlinkHref=new v$1("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(o){z$1[o]=new v$1(o,1,!1,o.toLowerCase(),null,!0,!0)});function ta(o,s,_,j){var $=z$1.hasOwnProperty(s)?z$1[s]:null;($!==null?$.type!==0:j||!(2tt||$[et]!==_e[tt]){var nt=` +`+$[et].replace(" at new "," at ");return o.displayName&&nt.includes("")&&(nt=nt.replace("",o.displayName)),nt}while(1<=et&&0<=tt);break}}}finally{Na=!1,Error.prepareStackTrace=_}return(o=o?o.displayName||o.name:"")?Ma(o):""}function Pa(o){switch(o.tag){case 5:return Ma(o.type);case 16:return Ma("Lazy");case 13:return Ma("Suspense");case 19:return Ma("SuspenseList");case 0:case 2:case 15:return o=Oa(o.type,!1),o;case 11:return o=Oa(o.type.render,!1),o;case 1:return o=Oa(o.type,!0),o;default:return""}}function Qa(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case ya:return"Fragment";case wa:return"Portal";case Aa:return"Profiler";case za:return"StrictMode";case Ea:return"Suspense";case Fa:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case Ca:return(o.displayName||"Context")+".Consumer";case Ba:return(o._context.displayName||"Context")+".Provider";case Da:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case Ga:return s=o.displayName||null,s!==null?s:Qa(o.type)||"Memo";case Ha:s=o._payload,o=o._init;try{return Qa(o(s))}catch{}}return null}function Ra(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Qa(s);case 8:return s===za?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Sa(o){switch(typeof o){case"boolean":case"number":case"string":case"undefined":return o;case"object":return o;default:return""}}function Ta(o){var s=o.type;return(o=o.nodeName)&&o.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function Ua(o){var s=Ta(o)?"checked":"value",_=Object.getOwnPropertyDescriptor(o.constructor.prototype,s),j=""+o[s];if(!o.hasOwnProperty(s)&&typeof _<"u"&&typeof _.get=="function"&&typeof _.set=="function"){var $=_.get,_e=_.set;return Object.defineProperty(o,s,{configurable:!0,get:function(){return $.call(this)},set:function(et){j=""+et,_e.call(this,et)}}),Object.defineProperty(o,s,{enumerable:_.enumerable}),{getValue:function(){return j},setValue:function(et){j=""+et},stopTracking:function(){o._valueTracker=null,delete o[s]}}}}function Va(o){o._valueTracker||(o._valueTracker=Ua(o))}function Wa(o){if(!o)return!1;var s=o._valueTracker;if(!s)return!0;var _=s.getValue(),j="";return o&&(j=Ta(o)?o.checked?"true":"false":o.value),o=j,o!==_?(s.setValue(o),!0):!1}function Xa(o){if(o=o||(typeof document<"u"?document:void 0),typeof o>"u")return null;try{return o.activeElement||o.body}catch{return o.body}}function Ya(o,s){var _=s.checked;return A$1({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:_??o._wrapperState.initialChecked})}function Za(o,s){var _=s.defaultValue==null?"":s.defaultValue,j=s.checked!=null?s.checked:s.defaultChecked;_=Sa(s.value!=null?s.value:_),o._wrapperState={initialChecked:j,initialValue:_,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ab(o,s){s=s.checked,s!=null&&ta(o,"checked",s,!1)}function bb(o,s){ab(o,s);var _=Sa(s.value),j=s.type;if(_!=null)j==="number"?(_===0&&o.value===""||o.value!=_)&&(o.value=""+_):o.value!==""+_&&(o.value=""+_);else if(j==="submit"||j==="reset"){o.removeAttribute("value");return}s.hasOwnProperty("value")?cb(o,s.type,_):s.hasOwnProperty("defaultValue")&&cb(o,s.type,Sa(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(o.defaultChecked=!!s.defaultChecked)}function db(o,s,_){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var j=s.type;if(!(j!=="submit"&&j!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+o._wrapperState.initialValue,_||s===o.value||(o.value=s),o.defaultValue=s}_=o.name,_!==""&&(o.name=""),o.defaultChecked=!!o._wrapperState.initialChecked,_!==""&&(o.name=_)}function cb(o,s,_){(s!=="number"||Xa(o.ownerDocument)!==o)&&(_==null?o.defaultValue=""+o._wrapperState.initialValue:o.defaultValue!==""+_&&(o.defaultValue=""+_))}var eb=Array.isArray;function fb(o,s,_,j){if(o=o.options,s){s={};for(var $=0;$<_.length;$++)s["$"+_[$]]=!0;for(_=0;_"+s.valueOf().toString()+"",s=mb.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;s.firstChild;)o.appendChild(s.firstChild)}});function ob(o,s){if(s){var _=o.firstChild;if(_&&_===o.lastChild&&_.nodeType===3){_.nodeValue=s;return}}o.textContent=s}var pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=["Webkit","ms","Moz","O"];Object.keys(pb).forEach(function(o){qb.forEach(function(s){s=s+o.charAt(0).toUpperCase()+o.substring(1),pb[s]=pb[o]})});function rb(o,s,_){return s==null||typeof s=="boolean"||s===""?"":_||typeof s!="number"||s===0||pb.hasOwnProperty(o)&&pb[o]?(""+s).trim():s+"px"}function sb(o,s){o=o.style;for(var _ in s)if(s.hasOwnProperty(_)){var j=_.indexOf("--")===0,$=rb(_,s[_],j);_==="float"&&(_="cssFloat"),j?o.setProperty(_,$):o[_]=$}}var tb=A$1({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ub(o,s){if(s){if(tb[o]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(p$1(137,o));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(p$1(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(p$1(61))}if(s.style!=null&&typeof s.style!="object")throw Error(p$1(62))}}function vb(o,s){if(o.indexOf("-")===-1)return typeof s.is=="string";switch(o){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wb=null;function xb(o){return o=o.target||o.srcElement||window,o.correspondingUseElement&&(o=o.correspondingUseElement),o.nodeType===3?o.parentNode:o}var yb=null,zb=null,Ab=null;function Bb(o){if(o=Cb(o)){if(typeof yb!="function")throw Error(p$1(280));var s=o.stateNode;s&&(s=Db(s),yb(o.stateNode,o.type,s))}}function Eb(o){zb?Ab?Ab.push(o):Ab=[o]:zb=o}function Fb(){if(zb){var o=zb,s=Ab;if(Ab=zb=null,Bb(o),s)for(o=0;o>>=0,o===0?32:31-(pc(o)/qc|0)|0}var rc=64,sc=4194304;function tc(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function uc(o,s){var _=o.pendingLanes;if(_===0)return 0;var j=0,$=o.suspendedLanes,_e=o.pingedLanes,et=_&268435455;if(et!==0){var tt=et&~$;tt!==0?j=tc(tt):(_e&=et,_e!==0&&(j=tc(_e)))}else et=_&~$,et!==0?j=tc(et):_e!==0&&(j=tc(_e));if(j===0)return 0;if(s!==0&&s!==j&&!(s&$)&&($=j&-j,_e=s&-s,$>=_e||$===16&&(_e&4194240)!==0))return s;if(j&4&&(j|=_&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=j;0_;_++)s.push(o);return s}function Ac(o,s,_){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-oc(s),o[s]=_}function Bc(o,s){var _=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var j=o.eventTimes;for(o=o.expirationTimes;0<_;){var $=31-oc(_),_e=1<<$;s[$]=0,j[$]=-1,o[$]=-1,_&=~_e}}function Cc(o,s){var _=o.entangledLanes|=s;for(o=o.entanglements;_;){var j=31-oc(_),$=1<=be),ee=String.fromCharCode(32),fe=!1;function ge(o,s){switch(o){case"keyup":return $d.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function he$1(o){return o=o.detail,typeof o=="object"&&"data"in o?o.data:null}var ie=!1;function je(o,s){switch(o){case"compositionend":return he$1(s);case"keypress":return s.which!==32?null:(fe=!0,ee);case"textInput":return o=s.data,o===ee&&fe?null:o;default:return null}}function ke(o,s){if(ie)return o==="compositionend"||!ae&&ge(o,s)?(o=nd(),md=ld=kd=null,ie=!1,o):null;switch(o){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:_,offset:s-o};o=j}e:{for(;_;){if(_.nextSibling){_=_.nextSibling;break e}_=_.parentNode}_=void 0}_=Je(_)}}function Le(o,s){return o&&s?o===s?!0:o&&o.nodeType===3?!1:s&&s.nodeType===3?Le(o,s.parentNode):"contains"in o?o.contains(s):o.compareDocumentPosition?!!(o.compareDocumentPosition(s)&16):!1:!1}function Me(){for(var o=window,s=Xa();s instanceof o.HTMLIFrameElement;){try{var _=typeof s.contentWindow.location.href=="string"}catch{_=!1}if(_)o=s.contentWindow;else break;s=Xa(o.document)}return s}function Ne(o){var s=o&&o.nodeName&&o.nodeName.toLowerCase();return s&&(s==="input"&&(o.type==="text"||o.type==="search"||o.type==="tel"||o.type==="url"||o.type==="password")||s==="textarea"||o.contentEditable==="true")}function Oe$1(o){var s=Me(),_=o.focusedElem,j=o.selectionRange;if(s!==_&&_&&_.ownerDocument&&Le(_.ownerDocument.documentElement,_)){if(j!==null&&Ne(_)){if(s=j.start,o=j.end,o===void 0&&(o=s),"selectionStart"in _)_.selectionStart=s,_.selectionEnd=Math.min(o,_.value.length);else if(o=(s=_.ownerDocument||document)&&s.defaultView||window,o.getSelection){o=o.getSelection();var $=_.textContent.length,_e=Math.min(j.start,$);j=j.end===void 0?_e:Math.min(j.end,$),!o.extend&&_e>j&&($=j,j=_e,_e=$),$=Ke$1(_,_e);var et=Ke$1(_,j);$&&et&&(o.rangeCount!==1||o.anchorNode!==$.node||o.anchorOffset!==$.offset||o.focusNode!==et.node||o.focusOffset!==et.offset)&&(s=s.createRange(),s.setStart($.node,$.offset),o.removeAllRanges(),_e>j?(o.addRange(s),o.extend(et.node,et.offset)):(s.setEnd(et.node,et.offset),o.addRange(s)))}}for(s=[],o=_;o=o.parentNode;)o.nodeType===1&&s.push({element:o,left:o.scrollLeft,top:o.scrollTop});for(typeof _.focus=="function"&&_.focus(),_=0;_=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;function Ue(o,s,_){var j=_.window===_?_.document:_.nodeType===9?_:_.ownerDocument;Te||Qe==null||Qe!==Xa(j)||(j=Qe,"selectionStart"in j&&Ne(j)?j={start:j.selectionStart,end:j.selectionEnd}:(j=(j.ownerDocument&&j.ownerDocument.defaultView||window).getSelection(),j={anchorNode:j.anchorNode,anchorOffset:j.anchorOffset,focusNode:j.focusNode,focusOffset:j.focusOffset}),Se&&Ie(Se,j)||(Se=j,j=oe(Re,"onSelect"),0Tf||(o.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(o,s){Tf++,Sf[Tf]=o.current,o.current=s}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(o,s){var _=o.type.contextTypes;if(!_)return Vf;var j=o.stateNode;if(j&&j.__reactInternalMemoizedUnmaskedChildContext===s)return j.__reactInternalMemoizedMaskedChildContext;var $={},_e;for(_e in _)$[_e]=s[_e];return j&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=$),$}function Zf(o){return o=o.childContextTypes,o!=null}function $f(){E(Wf),E(H)}function ag(o,s,_){if(H.current!==Vf)throw Error(p$1(168));G(H,s),G(Wf,_)}function bg(o,s,_){var j=o.stateNode;if(s=s.childContextTypes,typeof j.getChildContext!="function")return _;j=j.getChildContext();for(var $ in j)if(!($ in s))throw Error(p$1(108,Ra(o)||"Unknown",$));return A$1({},_,j)}function cg(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Vf,Xf=H.current,G(H,o),G(Wf,Wf.current),!0}function dg(o,s,_){var j=o.stateNode;if(!j)throw Error(p$1(169));_?(o=bg(o,s,Xf),j.__reactInternalMemoizedMergedChildContext=o,E(Wf),E(H),G(H,o)):E(Wf),G(Wf,_)}var eg=null,fg=!1,gg=!1;function hg(o){eg===null?eg=[o]:eg.push(o)}function ig(o){fg=!0,hg(o)}function jg(){if(!gg&&eg!==null){gg=!0;var o=0,s=C;try{var _=eg;for(C=1;o<_.length;o++){var j=_[o];do j=j(!0);while(j!==null)}eg=null,fg=!1}catch($){throw eg!==null&&(eg=eg.slice(o+1)),ac(fc,jg),$}finally{C=s,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg="";function tg(o,s){kg[lg++]=ng,kg[lg++]=mg,mg=o,ng=s}function ug(o,s,_){og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,qg=o;var j=rg;o=sg;var $=32-oc(j)-1;j&=~(1<<$),_+=1;var _e=32-oc(s)+$;if(30<_e){var et=$-$%5;_e=(j&(1<>=et,$-=et,rg=1<<32-oc(s)+$|_<<$|j,sg=_e+o}else rg=1<<_e|_<<$|j,sg=o}function vg(o){o.return!==null&&(tg(o,1),ug(o,1,0))}function wg(o){for(;o===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;o===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;function Ag(o,s){var _=Bg(5,null,null,0);_.elementType="DELETED",_.stateNode=s,_.return=o,s=o.deletions,s===null?(o.deletions=[_],o.flags|=16):s.push(_)}function Cg(o,s){switch(o.tag){case 5:var _=o.type;return s=s.nodeType!==1||_.toLowerCase()!==s.nodeName.toLowerCase()?null:s,s!==null?(o.stateNode=s,xg=o,yg=Lf(s.firstChild),!0):!1;case 6:return s=o.pendingProps===""||s.nodeType!==3?null:s,s!==null?(o.stateNode=s,xg=o,yg=null,!0):!1;case 13:return s=s.nodeType!==8?null:s,s!==null?(_=qg!==null?{id:rg,overflow:sg}:null,o.memoizedState={dehydrated:s,treeContext:_,retryLane:1073741824},_=Bg(18,null,null,0),_.stateNode=s,_.return=o,o.child=_,xg=o,yg=null,!0):!1;default:return!1}}function Dg(o){return(o.mode&1)!==0&&(o.flags&128)===0}function Eg(o){if(I){var s=yg;if(s){var _=s;if(!Cg(o,s)){if(Dg(o))throw Error(p$1(418));s=Lf(_.nextSibling);var j=xg;s&&Cg(o,s)?Ag(j,_):(o.flags=o.flags&-4097|2,I=!1,xg=o)}}else{if(Dg(o))throw Error(p$1(418));o.flags=o.flags&-4097|2,I=!1,xg=o}}}function Fg(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;xg=o}function Gg(o){if(o!==xg)return!1;if(!I)return Fg(o),I=!0,!1;var s;if((s=o.tag!==3)&&!(s=o.tag!==5)&&(s=o.type,s=s!=="head"&&s!=="body"&&!Ef(o.type,o.memoizedProps)),s&&(s=yg)){if(Dg(o))throw Hg(),Error(p$1(418));for(;s;)Ag(o,s),s=Lf(s.nextSibling)}if(Fg(o),o.tag===13){if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(p$1(317));e:{for(o=o.nextSibling,s=0;o;){if(o.nodeType===8){var _=o.data;if(_==="/$"){if(s===0){yg=Lf(o.nextSibling);break e}s--}else _!=="$"&&_!=="$!"&&_!=="$?"||s++}o=o.nextSibling}yg=null}}else yg=xg?Lf(o.stateNode.nextSibling):null;return!0}function Hg(){for(var o=yg;o;)o=Lf(o.nextSibling)}function Ig(){yg=xg=null,I=!1}function Jg(o){zg===null?zg=[o]:zg.push(o)}var Kg=ua$1.ReactCurrentBatchConfig;function Lg(o,s,_){if(o=_.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(_._owner){if(_=_._owner,_){if(_.tag!==1)throw Error(p$1(309));var j=_.stateNode}if(!j)throw Error(p$1(147,o));var $=j,_e=""+o;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===_e?s.ref:(s=function(et){var tt=$.refs;et===null?delete tt[_e]:tt[_e]=et},s._stringRef=_e,s)}if(typeof o!="string")throw Error(p$1(284));if(!_._owner)throw Error(p$1(290,o))}return o}function Mg(o,s){throw o=Object.prototype.toString.call(s),Error(p$1(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o))}function Ng(o){var s=o._init;return s(o._payload)}function Og(o){function s(Bt,Qt){if(o){var gt=Bt.deletions;gt===null?(Bt.deletions=[Qt],Bt.flags|=16):gt.push(Qt)}}function _(Bt,Qt){if(!o)return null;for(;Qt!==null;)s(Bt,Qt),Qt=Qt.sibling;return null}function j(Bt,Qt){for(Bt=new Map;Qt!==null;)Qt.key!==null?Bt.set(Qt.key,Qt):Bt.set(Qt.index,Qt),Qt=Qt.sibling;return Bt}function $(Bt,Qt){return Bt=Pg(Bt,Qt),Bt.index=0,Bt.sibling=null,Bt}function _e(Bt,Qt,gt){return Bt.index=gt,o?(gt=Bt.alternate,gt!==null?(gt=gt.index,gtxt?(ht=Ct,Ct=null):ht=Ct.sibling;var mt=dt(Bt,Ct,gt[xt],ft);if(mt===null){Ct===null&&(Ct=ht);break}o&&Ct&&mt.alternate===null&&s(Bt,Ct),Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt,Ct=ht}if(xt===gt.length)return _(Bt,Ct),I&&tg(Bt,xt),Ft;if(Ct===null){for(;xtxt?(ht=Ct,Ct=null):ht=Ct.sibling;var It=dt(Bt,Ct,mt.value,ft);if(It===null){Ct===null&&(Ct=ht);break}o&&Ct&&It.alternate===null&&s(Bt,Ct),Qt=_e(It,Qt,xt),yt===null?Ft=It:yt.sibling=It,yt=It,Ct=ht}if(mt.done)return _(Bt,Ct),I&&tg(Bt,xt),Ft;if(Ct===null){for(;!mt.done;xt++,mt=gt.next())mt=ut(Bt,mt.value,ft),mt!==null&&(Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt);return I&&tg(Bt,xt),Ft}for(Ct=j(Bt,Ct);!mt.done;xt++,mt=gt.next())mt=Ut(Ct,Bt,xt,mt.value,ft),mt!==null&&(o&&mt.alternate!==null&&Ct.delete(mt.key===null?xt:mt.key),Qt=_e(mt,Qt,xt),yt===null?Ft=mt:yt.sibling=mt,yt=mt);return o&&Ct.forEach(function(vt){return s(Bt,vt)}),I&&tg(Bt,xt),Ft}function pt(Bt,Qt,gt,ft){if(typeof gt=="object"&>!==null&>.type===ya&>.key===null&&(gt=gt.props.children),typeof gt=="object"&>!==null){switch(gt.$$typeof){case va:e:{for(var Ft=gt.key,yt=Qt;yt!==null;){if(yt.key===Ft){if(Ft=gt.type,Ft===ya){if(yt.tag===7){_(Bt,yt.sibling),Qt=$(yt,gt.props.children),Qt.return=Bt,Bt=Qt;break e}}else if(yt.elementType===Ft||typeof Ft=="object"&&Ft!==null&&Ft.$$typeof===Ha&&Ng(Ft)===yt.type){_(Bt,yt.sibling),Qt=$(yt,gt.props),Qt.ref=Lg(Bt,yt,gt),Qt.return=Bt,Bt=Qt;break e}_(Bt,yt);break}else s(Bt,yt);yt=yt.sibling}gt.type===ya?(Qt=Tg(gt.props.children,Bt.mode,ft,gt.key),Qt.return=Bt,Bt=Qt):(ft=Rg(gt.type,gt.key,gt.props,null,Bt.mode,ft),ft.ref=Lg(Bt,Qt,gt),ft.return=Bt,Bt=ft)}return et(Bt);case wa:e:{for(yt=gt.key;Qt!==null;){if(Qt.key===yt)if(Qt.tag===4&&Qt.stateNode.containerInfo===gt.containerInfo&&Qt.stateNode.implementation===gt.implementation){_(Bt,Qt.sibling),Qt=$(Qt,gt.children||[]),Qt.return=Bt,Bt=Qt;break e}else{_(Bt,Qt);break}else s(Bt,Qt);Qt=Qt.sibling}Qt=Sg(gt,Bt.mode,ft),Qt.return=Bt,Bt=Qt}return et(Bt);case Ha:return yt=gt._init,pt(Bt,Qt,yt(gt._payload),ft)}if(eb(gt))return st(Bt,Qt,gt,ft);if(Ka(gt))return ct(Bt,Qt,gt,ft);Mg(Bt,gt)}return typeof gt=="string"&>!==""||typeof gt=="number"?(gt=""+gt,Qt!==null&&Qt.tag===6?(_(Bt,Qt.sibling),Qt=$(Qt,gt),Qt.return=Bt,Bt=Qt):(_(Bt,Qt),Qt=Qg(gt,Bt.mode,ft),Qt.return=Bt,Bt=Qt),et(Bt)):_(Bt,Qt)}return pt}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(o){var s=Wg.current;E(Wg),o._currentValue=s}function bh(o,s,_){for(;o!==null;){var j=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,j!==null&&(j.childLanes|=s)):j!==null&&(j.childLanes&s)!==s&&(j.childLanes|=s),o===_)break;o=o.return}}function ch(o,s){Xg=o,Zg=Yg=null,o=o.dependencies,o!==null&&o.firstContext!==null&&(o.lanes&s&&(dh=!0),o.firstContext=null)}function eh(o){var s=o._currentValue;if(Zg!==o)if(o={context:o,memoizedValue:s,next:null},Yg===null){if(Xg===null)throw Error(p$1(308));Yg=o,Xg.dependencies={lanes:0,firstContext:o}}else Yg=Yg.next=o;return s}var fh=null;function gh(o){fh===null?fh=[o]:fh.push(o)}function hh(o,s,_,j){var $=s.interleaved;return $===null?(_.next=_,gh(s)):(_.next=$.next,$.next=_),s.interleaved=_,ih(o,j)}function ih(o,s){o.lanes|=s;var _=o.alternate;for(_!==null&&(_.lanes|=s),_=o,o=o.return;o!==null;)o.childLanes|=s,_=o.alternate,_!==null&&(_.childLanes|=s),_=o,o=o.return;return _.tag===3?_.stateNode:null}var jh=!1;function kh(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lh(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function mh(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function nh(o,s,_){var j=o.updateQueue;if(j===null)return null;if(j=j.shared,K&2){var $=j.pending;return $===null?s.next=s:(s.next=$.next,$.next=s),j.pending=s,ih(o,_)}return $=j.interleaved,$===null?(s.next=s,gh(j)):(s.next=$.next,$.next=s),j.interleaved=s,ih(o,_)}function oh(o,s,_){if(s=s.updateQueue,s!==null&&(s=s.shared,(_&4194240)!==0)){var j=s.lanes;j&=o.pendingLanes,_|=j,s.lanes=_,Cc(o,_)}}function ph(o,s){var _=o.updateQueue,j=o.alternate;if(j!==null&&(j=j.updateQueue,_===j)){var $=null,_e=null;if(_=_.firstBaseUpdate,_!==null){do{var et={eventTime:_.eventTime,lane:_.lane,tag:_.tag,payload:_.payload,callback:_.callback,next:null};_e===null?$=_e=et:_e=_e.next=et,_=_.next}while(_!==null);_e===null?$=_e=s:_e=_e.next=s}else $=_e=s;_={baseState:j.baseState,firstBaseUpdate:$,lastBaseUpdate:_e,shared:j.shared,effects:j.effects},o.updateQueue=_;return}o=_.lastBaseUpdate,o===null?_.firstBaseUpdate=s:o.next=s,_.lastBaseUpdate=s}function qh(o,s,_,j){var $=o.updateQueue;jh=!1;var _e=$.firstBaseUpdate,et=$.lastBaseUpdate,tt=$.shared.pending;if(tt!==null){$.shared.pending=null;var nt=tt,rt=nt.next;nt.next=null,et===null?_e=rt:et.next=rt,et=nt;var ot=o.alternate;ot!==null&&(ot=ot.updateQueue,tt=ot.lastBaseUpdate,tt!==et&&(tt===null?ot.firstBaseUpdate=rt:tt.next=rt,ot.lastBaseUpdate=nt))}if(_e!==null){var ut=$.baseState;et=0,ot=rt=nt=null,tt=_e;do{var dt=tt.lane,Ut=tt.eventTime;if((j&dt)===dt){ot!==null&&(ot=ot.next={eventTime:Ut,lane:0,tag:tt.tag,payload:tt.payload,callback:tt.callback,next:null});e:{var st=o,ct=tt;switch(dt=s,Ut=_,ct.tag){case 1:if(st=ct.payload,typeof st=="function"){ut=st.call(Ut,ut,dt);break e}ut=st;break e;case 3:st.flags=st.flags&-65537|128;case 0:if(st=ct.payload,dt=typeof st=="function"?st.call(Ut,ut,dt):st,dt==null)break e;ut=A$1({},ut,dt);break e;case 2:jh=!0}}tt.callback!==null&&tt.lane!==0&&(o.flags|=64,dt=$.effects,dt===null?$.effects=[tt]:dt.push(tt))}else Ut={eventTime:Ut,lane:dt,tag:tt.tag,payload:tt.payload,callback:tt.callback,next:null},ot===null?(rt=ot=Ut,nt=ut):ot=ot.next=Ut,et|=dt;if(tt=tt.next,tt===null){if(tt=$.shared.pending,tt===null)break;dt=tt,tt=dt.next,dt.next=null,$.lastBaseUpdate=dt,$.shared.pending=null}}while(1);if(ot===null&&(nt=ut),$.baseState=nt,$.firstBaseUpdate=rt,$.lastBaseUpdate=ot,s=$.shared.interleaved,s!==null){$=s;do et|=$.lane,$=$.next;while($!==s)}else _e===null&&($.shared.lanes=0);rh|=et,o.lanes=et,o.memoizedState=ut}}function sh(o,s,_){if(o=s.effects,s.effects=null,o!==null)for(s=0;s_?_:4,o(!0);var j=Gh.transition;Gh.transition={};try{o(!1),s()}finally{C=_,Gh.transition=j}}function wi(){return Uh().memoizedState}function xi(o,s,_){var j=yi(o);if(_={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null},zi(o))Ai(s,_);else if(_=hh(o,s,_,j),_!==null){var $=R();gi(_,o,j,$),Bi(_,s,j)}}function ii(o,s,_){var j=yi(o),$={lane:j,action:_,hasEagerState:!1,eagerState:null,next:null};if(zi(o))Ai(s,$);else{var _e=o.alternate;if(o.lanes===0&&(_e===null||_e.lanes===0)&&(_e=s.lastRenderedReducer,_e!==null))try{var et=s.lastRenderedState,tt=_e(et,_);if($.hasEagerState=!0,$.eagerState=tt,He(tt,et)){var nt=s.interleaved;nt===null?($.next=$,gh(s)):($.next=nt.next,nt.next=$),s.interleaved=$;return}}catch{}finally{}_=hh(o,s,$,j),_!==null&&($=R(),gi(_,o,j,$),Bi(_,s,j))}}function zi(o){var s=o.alternate;return o===M||s!==null&&s===M}function Ai(o,s){Jh=Ih=!0;var _=o.pending;_===null?s.next=s:(s.next=_.next,_.next=s),o.pending=s}function Bi(o,s,_){if(_&4194240){var j=s.lanes;j&=o.pendingLanes,_|=j,s.lanes=_,Cc(o,_)}}var Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(o,s){return Th().memoizedState=[o,s===void 0?null:s],o},useContext:eh,useEffect:mi,useImperativeHandle:function(o,s,_){return _=_!=null?_.concat([o]):null,ki(4194308,4,pi.bind(null,s,o),_)},useLayoutEffect:function(o,s){return ki(4194308,4,o,s)},useInsertionEffect:function(o,s){return ki(4,2,o,s)},useMemo:function(o,s){var _=Th();return s=s===void 0?null:s,o=o(),_.memoizedState=[o,s],o},useReducer:function(o,s,_){var j=Th();return s=_!==void 0?_(s):s,j.memoizedState=j.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},j.queue=o,o=o.dispatch=xi.bind(null,M,o),[j.memoizedState,o]},useRef:function(o){var s=Th();return o={current:o},s.memoizedState=o},useState:hi,useDebugValue:ri,useDeferredValue:function(o){return Th().memoizedState=o},useTransition:function(){var o=hi(!1),s=o[0];return o=vi.bind(null,o[1]),Th().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,_){var j=M,$=Th();if(I){if(_===void 0)throw Error(p$1(407));_=_()}else{if(_=s(),Q===null)throw Error(p$1(349));Hh&30||di(j,s,_)}$.memoizedState=_;var _e={value:_,getSnapshot:s};return $.queue=_e,mi(ai.bind(null,j,_e,o),[o]),j.flags|=2048,bi(9,ci.bind(null,j,_e,_,s),void 0,null),_},useId:function(){var o=Th(),s=Q.identifierPrefix;if(I){var _=sg,j=rg;_=(j&~(1<<32-oc(j)-1)).toString(32)+_,s=":"+s+"R"+_,_=Kh++,0<_&&(s+="H"+_.toString(32)),s+=":"}else _=Lh++,s=":"+s+"r"+_.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},useDebugValue:ri,useDeferredValue:function(o){var s=Uh();return ui(s,N.memoizedState,o)},useTransition:function(){var o=Wh(Vh)[0],s=Uh().memoizedState;return[o,s]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(o){var s=Uh();return N===null?s.memoizedState=o:ui(s,N.memoizedState,o)},useTransition:function(){var o=Xh(Vh)[0],s=Uh().memoizedState;return[o,s]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(o,s){if(o&&o.defaultProps){s=A$1({},s),o=o.defaultProps;for(var _ in o)s[_]===void 0&&(s[_]=o[_]);return s}return s}function Di(o,s,_,j){s=o.memoizedState,_=_(j,s),_=_==null?s:A$1({},s,_),o.memoizedState=_,o.lanes===0&&(o.updateQueue.baseState=_)}var Ei={isMounted:function(o){return(o=o._reactInternals)?Vb(o)===o:!1},enqueueSetState:function(o,s,_){o=o._reactInternals;var j=R(),$=yi(o),_e=mh(j,$);_e.payload=s,_!=null&&(_e.callback=_),s=nh(o,_e,$),s!==null&&(gi(s,o,$,j),oh(s,o,$))},enqueueReplaceState:function(o,s,_){o=o._reactInternals;var j=R(),$=yi(o),_e=mh(j,$);_e.tag=1,_e.payload=s,_!=null&&(_e.callback=_),s=nh(o,_e,$),s!==null&&(gi(s,o,$,j),oh(s,o,$))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var _=R(),j=yi(o),$=mh(_,j);$.tag=2,s!=null&&($.callback=s),s=nh(o,$,j),s!==null&&(gi(s,o,j,_),oh(s,o,j))}};function Fi(o,s,_,j,$,_e,et){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(j,_e,et):s.prototype&&s.prototype.isPureReactComponent?!Ie(_,j)||!Ie($,_e):!0}function Gi(o,s,_){var j=!1,$=Vf,_e=s.contextType;return typeof _e=="object"&&_e!==null?_e=eh(_e):($=Zf(s)?Xf:H.current,j=s.contextTypes,_e=(j=j!=null)?Yf(o,$):Vf),s=new s(_,_e),o.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=Ei,o.stateNode=s,s._reactInternals=o,j&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=$,o.__reactInternalMemoizedMaskedChildContext=_e),s}function Hi(o,s,_,j){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(_,j),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(_,j),s.state!==o&&Ei.enqueueReplaceState(s,s.state,null)}function Ii(o,s,_,j){var $=o.stateNode;$.props=_,$.state=o.memoizedState,$.refs={},kh(o);var _e=s.contextType;typeof _e=="object"&&_e!==null?$.context=eh(_e):(_e=Zf(s)?Xf:H.current,$.context=Yf(o,_e)),$.state=o.memoizedState,_e=s.getDerivedStateFromProps,typeof _e=="function"&&(Di(o,s,_e,_),$.state=o.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof $.getSnapshotBeforeUpdate=="function"||typeof $.UNSAFE_componentWillMount!="function"&&typeof $.componentWillMount!="function"||(s=$.state,typeof $.componentWillMount=="function"&&$.componentWillMount(),typeof $.UNSAFE_componentWillMount=="function"&&$.UNSAFE_componentWillMount(),s!==$.state&&Ei.enqueueReplaceState($,$.state,null),qh(o,_,$,j),$.state=o.memoizedState),typeof $.componentDidMount=="function"&&(o.flags|=4194308)}function Ji(o,s){try{var _="",j=s;do _+=Pa(j),j=j.return;while(j);var $=_}catch(_e){$=` +Error generating stack: `+_e.message+` +`+_e.stack}return{value:o,source:s,stack:$,digest:null}}function Ki(o,s,_){return{value:o,source:null,stack:_??null,digest:s??null}}function Li(o,s){try{console.error(s.value)}catch(_){setTimeout(function(){throw _})}}var Mi=typeof WeakMap=="function"?WeakMap:Map;function Ni(o,s,_){_=mh(-1,_),_.tag=3,_.payload={element:null};var j=s.value;return _.callback=function(){Oi||(Oi=!0,Pi=j),Li(o,s)},_}function Qi(o,s,_){_=mh(-1,_),_.tag=3;var j=o.type.getDerivedStateFromError;if(typeof j=="function"){var $=s.value;_.payload=function(){return j($)},_.callback=function(){Li(o,s)}}var _e=o.stateNode;return _e!==null&&typeof _e.componentDidCatch=="function"&&(_.callback=function(){Li(o,s),typeof j!="function"&&(Ri===null?Ri=new Set([this]):Ri.add(this));var et=s.stack;this.componentDidCatch(s.value,{componentStack:et!==null?et:""})}),_}function Si(o,s,_){var j=o.pingCache;if(j===null){j=o.pingCache=new Mi;var $=new Set;j.set(s,$)}else $=j.get(s),$===void 0&&($=new Set,j.set(s,$));$.has(_)||($.add(_),o=Ti.bind(null,o,s,_),s.then(o,o))}function Ui(o){do{var s;if((s=o.tag===13)&&(s=o.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return o;o=o.return}while(o!==null);return null}function Vi(o,s,_,j,$){return o.mode&1?(o.flags|=65536,o.lanes=$,o):(o===s?o.flags|=65536:(o.flags|=128,_.flags|=131072,_.flags&=-52805,_.tag===1&&(_.alternate===null?_.tag=17:(s=mh(-1,1),s.tag=2,nh(_,s,1))),_.lanes|=1),o)}var Wi=ua$1.ReactCurrentOwner,dh=!1;function Xi(o,s,_,j){s.child=o===null?Vg(s,null,_,j):Ug(s,o.child,_,j)}function Yi(o,s,_,j,$){_=_.render;var _e=s.ref;return ch(s,$),j=Nh(o,s,_,j,_e,$),_=Sh(),o!==null&&!dh?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,Zi(o,s,$)):(I&&_&&vg(s),s.flags|=1,Xi(o,s,j,$),s.child)}function $i(o,s,_,j,$){if(o===null){var _e=_.type;return typeof _e=="function"&&!aj(_e)&&_e.defaultProps===void 0&&_.compare===null&&_.defaultProps===void 0?(s.tag=15,s.type=_e,bj(o,s,_e,j,$)):(o=Rg(_.type,null,j,s,s.mode,$),o.ref=s.ref,o.return=s,s.child=o)}if(_e=o.child,!(o.lanes&$)){var et=_e.memoizedProps;if(_=_.compare,_=_!==null?_:Ie,_(et,j)&&o.ref===s.ref)return Zi(o,s,$)}return s.flags|=1,o=Pg(_e,j),o.ref=s.ref,o.return=s,s.child=o}function bj(o,s,_,j,$){if(o!==null){var _e=o.memoizedProps;if(Ie(_e,j)&&o.ref===s.ref)if(dh=!1,s.pendingProps=j=_e,(o.lanes&$)!==0)o.flags&131072&&(dh=!0);else return s.lanes=o.lanes,Zi(o,s,$)}return cj(o,s,_,j,$)}function dj(o,s,_){var j=s.pendingProps,$=j.children,_e=o!==null?o.memoizedState:null;if(j.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=_;else{if(!(_&1073741824))return o=_e!==null?_e.baseLanes|_:_,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,G(ej,fj),fj|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},j=_e!==null?_e.baseLanes:_,G(ej,fj),fj|=j}else _e!==null?(j=_e.baseLanes|_,s.memoizedState=null):j=_,G(ej,fj),fj|=j;return Xi(o,s,$,_),s.child}function gj(o,s){var _=s.ref;(o===null&&_!==null||o!==null&&o.ref!==_)&&(s.flags|=512,s.flags|=2097152)}function cj(o,s,_,j,$){var _e=Zf(_)?Xf:H.current;return _e=Yf(s,_e),ch(s,$),_=Nh(o,s,_,j,_e,$),j=Sh(),o!==null&&!dh?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~$,Zi(o,s,$)):(I&&j&&vg(s),s.flags|=1,Xi(o,s,_,$),s.child)}function hj(o,s,_,j,$){if(Zf(_)){var _e=!0;cg(s)}else _e=!1;if(ch(s,$),s.stateNode===null)ij(o,s),Gi(s,_,j),Ii(s,_,j,$),j=!0;else if(o===null){var et=s.stateNode,tt=s.memoizedProps;et.props=tt;var nt=et.context,rt=_.contextType;typeof rt=="object"&&rt!==null?rt=eh(rt):(rt=Zf(_)?Xf:H.current,rt=Yf(s,rt));var ot=_.getDerivedStateFromProps,ut=typeof ot=="function"||typeof et.getSnapshotBeforeUpdate=="function";ut||typeof et.UNSAFE_componentWillReceiveProps!="function"&&typeof et.componentWillReceiveProps!="function"||(tt!==j||nt!==rt)&&Hi(s,et,j,rt),jh=!1;var dt=s.memoizedState;et.state=dt,qh(s,j,et,$),nt=s.memoizedState,tt!==j||dt!==nt||Wf.current||jh?(typeof ot=="function"&&(Di(s,_,ot,j),nt=s.memoizedState),(tt=jh||Fi(s,_,tt,j,dt,nt,rt))?(ut||typeof et.UNSAFE_componentWillMount!="function"&&typeof et.componentWillMount!="function"||(typeof et.componentWillMount=="function"&&et.componentWillMount(),typeof et.UNSAFE_componentWillMount=="function"&&et.UNSAFE_componentWillMount()),typeof et.componentDidMount=="function"&&(s.flags|=4194308)):(typeof et.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=j,s.memoizedState=nt),et.props=j,et.state=nt,et.context=rt,j=tt):(typeof et.componentDidMount=="function"&&(s.flags|=4194308),j=!1)}else{et=s.stateNode,lh(o,s),tt=s.memoizedProps,rt=s.type===s.elementType?tt:Ci(s.type,tt),et.props=rt,ut=s.pendingProps,dt=et.context,nt=_.contextType,typeof nt=="object"&&nt!==null?nt=eh(nt):(nt=Zf(_)?Xf:H.current,nt=Yf(s,nt));var Ut=_.getDerivedStateFromProps;(ot=typeof Ut=="function"||typeof et.getSnapshotBeforeUpdate=="function")||typeof et.UNSAFE_componentWillReceiveProps!="function"&&typeof et.componentWillReceiveProps!="function"||(tt!==ut||dt!==nt)&&Hi(s,et,j,nt),jh=!1,dt=s.memoizedState,et.state=dt,qh(s,j,et,$);var st=s.memoizedState;tt!==ut||dt!==st||Wf.current||jh?(typeof Ut=="function"&&(Di(s,_,Ut,j),st=s.memoizedState),(rt=jh||Fi(s,_,rt,j,dt,st,nt)||!1)?(ot||typeof et.UNSAFE_componentWillUpdate!="function"&&typeof et.componentWillUpdate!="function"||(typeof et.componentWillUpdate=="function"&&et.componentWillUpdate(j,st,nt),typeof et.UNSAFE_componentWillUpdate=="function"&&et.UNSAFE_componentWillUpdate(j,st,nt)),typeof et.componentDidUpdate=="function"&&(s.flags|=4),typeof et.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof et.componentDidUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=4),typeof et.getSnapshotBeforeUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=1024),s.memoizedProps=j,s.memoizedState=st),et.props=j,et.state=st,et.context=nt,j=rt):(typeof et.componentDidUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=4),typeof et.getSnapshotBeforeUpdate!="function"||tt===o.memoizedProps&&dt===o.memoizedState||(s.flags|=1024),j=!1)}return jj(o,s,_,j,_e,$)}function jj(o,s,_,j,$,_e){gj(o,s);var et=(s.flags&128)!==0;if(!j&&!et)return $&&dg(s,_,!1),Zi(o,s,_e);j=s.stateNode,Wi.current=s;var tt=et&&typeof _.getDerivedStateFromError!="function"?null:j.render();return s.flags|=1,o!==null&&et?(s.child=Ug(s,o.child,null,_e),s.child=Ug(s,null,tt,_e)):Xi(o,s,tt,_e),s.memoizedState=j.state,$&&dg(s,_,!0),s.child}function kj(o){var s=o.stateNode;s.pendingContext?ag(o,s.pendingContext,s.pendingContext!==s.context):s.context&&ag(o,s.context,!1),yh(o,s.containerInfo)}function lj(o,s,_,j,$){return Ig(),Jg($),s.flags|=256,Xi(o,s,_,j),s.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(o){return{baseLanes:o,cachePool:null,transitions:null}}function oj(o,s,_){var j=s.pendingProps,$=L.current,_e=!1,et=(s.flags&128)!==0,tt;if((tt=et)||(tt=o!==null&&o.memoizedState===null?!1:($&2)!==0),tt?(_e=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&($|=1),G(L,$&1),o===null)return Eg(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?o.data==="$!"?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(et=j.children,o=j.fallback,_e?(j=s.mode,_e=s.child,et={mode:"hidden",children:et},!(j&1)&&_e!==null?(_e.childLanes=0,_e.pendingProps=et):_e=pj(et,j,0,null),o=Tg(o,j,_,null),_e.return=s,o.return=s,_e.sibling=o,s.child=_e,s.child.memoizedState=nj(_),s.memoizedState=mj,o):qj(s,et));if($=o.memoizedState,$!==null&&(tt=$.dehydrated,tt!==null))return rj(o,s,et,j,tt,$,_);if(_e){_e=j.fallback,et=s.mode,$=o.child,tt=$.sibling;var nt={mode:"hidden",children:j.children};return!(et&1)&&s.child!==$?(j=s.child,j.childLanes=0,j.pendingProps=nt,s.deletions=null):(j=Pg($,nt),j.subtreeFlags=$.subtreeFlags&14680064),tt!==null?_e=Pg(tt,_e):(_e=Tg(_e,et,_,null),_e.flags|=2),_e.return=s,j.return=s,j.sibling=_e,s.child=j,j=_e,_e=s.child,et=o.child.memoizedState,et=et===null?nj(_):{baseLanes:et.baseLanes|_,cachePool:null,transitions:et.transitions},_e.memoizedState=et,_e.childLanes=o.childLanes&~_,s.memoizedState=mj,j}return _e=o.child,o=_e.sibling,j=Pg(_e,{mode:"visible",children:j.children}),!(s.mode&1)&&(j.lanes=_),j.return=s,j.sibling=null,o!==null&&(_=s.deletions,_===null?(s.deletions=[o],s.flags|=16):_.push(o)),s.child=j,s.memoizedState=null,j}function qj(o,s){return s=pj({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function sj(o,s,_,j){return j!==null&&Jg(j),Ug(s,o.child,null,_),o=qj(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function rj(o,s,_,j,$,_e,et){if(_)return s.flags&256?(s.flags&=-257,j=Ki(Error(p$1(422))),sj(o,s,et,j)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(_e=j.fallback,$=s.mode,j=pj({mode:"visible",children:j.children},$,0,null),_e=Tg(_e,$,et,null),_e.flags|=2,j.return=s,_e.return=s,j.sibling=_e,s.child=j,s.mode&1&&Ug(s,o.child,null,et),s.child.memoizedState=nj(et),s.memoizedState=mj,_e);if(!(s.mode&1))return sj(o,s,et,null);if($.data==="$!"){if(j=$.nextSibling&&$.nextSibling.dataset,j)var tt=j.dgst;return j=tt,_e=Error(p$1(419)),j=Ki(_e,j,void 0),sj(o,s,et,j)}if(tt=(et&o.childLanes)!==0,dh||tt){if(j=Q,j!==null){switch(et&-et){case 4:$=2;break;case 16:$=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:$=32;break;case 536870912:$=268435456;break;default:$=0}$=$&(j.suspendedLanes|et)?0:$,$!==0&&$!==_e.retryLane&&(_e.retryLane=$,ih(o,$),gi(j,o,$,-1))}return tj(),j=Ki(Error(p$1(421))),sj(o,s,et,j)}return $.data==="$?"?(s.flags|=128,s.child=o.child,s=uj.bind(null,o),$._reactRetry=s,null):(o=_e.treeContext,yg=Lf($.nextSibling),xg=s,I=!0,zg=null,o!==null&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=o.id,sg=o.overflow,qg=s),s=qj(s,j.children),s.flags|=4096,s)}function vj(o,s,_){o.lanes|=s;var j=o.alternate;j!==null&&(j.lanes|=s),bh(o.return,s,_)}function wj(o,s,_,j,$){var _e=o.memoizedState;_e===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:j,tail:_,tailMode:$}:(_e.isBackwards=s,_e.rendering=null,_e.renderingStartTime=0,_e.last=j,_e.tail=_,_e.tailMode=$)}function xj(o,s,_){var j=s.pendingProps,$=j.revealOrder,_e=j.tail;if(Xi(o,s,j.children,_),j=L.current,j&2)j=j&1|2,s.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&vj(o,_,s);else if(o.tag===19)vj(o,_,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}j&=1}if(G(L,j),!(s.mode&1))s.memoizedState=null;else switch($){case"forwards":for(_=s.child,$=null;_!==null;)o=_.alternate,o!==null&&Ch(o)===null&&($=_),_=_.sibling;_=$,_===null?($=s.child,s.child=null):($=_.sibling,_.sibling=null),wj(s,!1,$,_,_e);break;case"backwards":for(_=null,$=s.child,s.child=null;$!==null;){if(o=$.alternate,o!==null&&Ch(o)===null){s.child=$;break}o=$.sibling,$.sibling=_,_=$,$=o}wj(s,!0,_,null,_e);break;case"together":wj(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function ij(o,s){!(s.mode&1)&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function Zi(o,s,_){if(o!==null&&(s.dependencies=o.dependencies),rh|=s.lanes,!(_&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(p$1(153));if(s.child!==null){for(o=s.child,_=Pg(o,o.pendingProps),s.child=_,_.return=s;o.sibling!==null;)o=o.sibling,_=_.sibling=Pg(o,o.pendingProps),_.return=s;_.sibling=null}return s.child}function yj(o,s,_){switch(s.tag){case 3:kj(s),Ig();break;case 5:Ah(s);break;case 1:Zf(s.type)&&cg(s);break;case 4:yh(s,s.stateNode.containerInfo);break;case 10:var j=s.type._context,$=s.memoizedProps.value;G(Wg,j._currentValue),j._currentValue=$;break;case 13:if(j=s.memoizedState,j!==null)return j.dehydrated!==null?(G(L,L.current&1),s.flags|=128,null):_&s.child.childLanes?oj(o,s,_):(G(L,L.current&1),o=Zi(o,s,_),o!==null?o.sibling:null);G(L,L.current&1);break;case 19:if(j=(_&s.childLanes)!==0,o.flags&128){if(j)return xj(o,s,_);s.flags|=128}if($=s.memoizedState,$!==null&&($.rendering=null,$.tail=null,$.lastEffect=null),G(L,L.current),j)break;return null;case 22:case 23:return s.lanes=0,dj(o,s,_)}return Zi(o,s,_)}var zj,Aj,Bj,Cj;zj=function(o,s){for(var _=s.child;_!==null;){if(_.tag===5||_.tag===6)o.appendChild(_.stateNode);else if(_.tag!==4&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===s)break;for(;_.sibling===null;){if(_.return===null||_.return===s)return;_=_.return}_.sibling.return=_.return,_=_.sibling}};Aj=function(){};Bj=function(o,s,_,j){var $=o.memoizedProps;if($!==j){o=s.stateNode,xh(uh.current);var _e=null;switch(_){case"input":$=Ya(o,$),j=Ya(o,j),_e=[];break;case"select":$=A$1({},$,{value:void 0}),j=A$1({},j,{value:void 0}),_e=[];break;case"textarea":$=gb(o,$),j=gb(o,j),_e=[];break;default:typeof $.onClick!="function"&&typeof j.onClick=="function"&&(o.onclick=Bf)}ub(_,j);var et;_=null;for(rt in $)if(!j.hasOwnProperty(rt)&&$.hasOwnProperty(rt)&&$[rt]!=null)if(rt==="style"){var tt=$[rt];for(et in tt)tt.hasOwnProperty(et)&&(_||(_={}),_[et]="")}else rt!=="dangerouslySetInnerHTML"&&rt!=="children"&&rt!=="suppressContentEditableWarning"&&rt!=="suppressHydrationWarning"&&rt!=="autoFocus"&&(ea.hasOwnProperty(rt)?_e||(_e=[]):(_e=_e||[]).push(rt,null));for(rt in j){var nt=j[rt];if(tt=$!=null?$[rt]:void 0,j.hasOwnProperty(rt)&&nt!==tt&&(nt!=null||tt!=null))if(rt==="style")if(tt){for(et in tt)!tt.hasOwnProperty(et)||nt&&nt.hasOwnProperty(et)||(_||(_={}),_[et]="");for(et in nt)nt.hasOwnProperty(et)&&tt[et]!==nt[et]&&(_||(_={}),_[et]=nt[et])}else _||(_e||(_e=[]),_e.push(rt,_)),_=nt;else rt==="dangerouslySetInnerHTML"?(nt=nt?nt.__html:void 0,tt=tt?tt.__html:void 0,nt!=null&&tt!==nt&&(_e=_e||[]).push(rt,nt)):rt==="children"?typeof nt!="string"&&typeof nt!="number"||(_e=_e||[]).push(rt,""+nt):rt!=="suppressContentEditableWarning"&&rt!=="suppressHydrationWarning"&&(ea.hasOwnProperty(rt)?(nt!=null&&rt==="onScroll"&&D("scroll",o),_e||tt===nt||(_e=[])):(_e=_e||[]).push(rt,nt))}_&&(_e=_e||[]).push("style",_);var rt=_e;(s.updateQueue=rt)&&(s.flags|=4)}};Cj=function(o,s,_,j){_!==j&&(s.flags|=4)};function Dj(o,s){if(!I)switch(o.tailMode){case"hidden":s=o.tail;for(var _=null;s!==null;)s.alternate!==null&&(_=s),s=s.sibling;_===null?o.tail=null:_.sibling=null;break;case"collapsed":_=o.tail;for(var j=null;_!==null;)_.alternate!==null&&(j=_),_=_.sibling;j===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:j.sibling=null}}function S(o){var s=o.alternate!==null&&o.alternate.child===o.child,_=0,j=0;if(s)for(var $=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags&14680064,j|=$.flags&14680064,$.return=o,$=$.sibling;else for($=o.child;$!==null;)_|=$.lanes|$.childLanes,j|=$.subtreeFlags,j|=$.flags,$.return=o,$=$.sibling;return o.subtreeFlags|=j,o.childLanes=_,s}function Ej(o,s,_){var j=s.pendingProps;switch(wg(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(s),null;case 1:return Zf(s.type)&&$f(),S(s),null;case 3:return j=s.stateNode,zh(),E(Wf),E(H),Eh(),j.pendingContext&&(j.context=j.pendingContext,j.pendingContext=null),(o===null||o.child===null)&&(Gg(s)?s.flags|=4:o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,zg!==null&&(Fj(zg),zg=null))),Aj(o,s),S(s),null;case 5:Bh(s);var $=xh(wh.current);if(_=s.type,o!==null&&s.stateNode!=null)Bj(o,s,_,j,$),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!j){if(s.stateNode===null)throw Error(p$1(166));return S(s),null}if(o=xh(uh.current),Gg(s)){j=s.stateNode,_=s.type;var _e=s.memoizedProps;switch(j[Of]=s,j[Pf]=_e,o=(s.mode&1)!==0,_){case"dialog":D("cancel",j),D("close",j);break;case"iframe":case"object":case"embed":D("load",j);break;case"video":case"audio":for($=0;$<\/script>",o=o.removeChild(o.firstChild)):typeof j.is=="string"?o=et.createElement(_,{is:j.is}):(o=et.createElement(_),_==="select"&&(et=o,j.multiple?et.multiple=!0:j.size&&(et.size=j.size))):o=et.createElementNS(o,_),o[Of]=s,o[Pf]=j,zj(o,s,!1,!1),s.stateNode=o;e:{switch(et=vb(_,j),_){case"dialog":D("cancel",o),D("close",o),$=j;break;case"iframe":case"object":case"embed":D("load",o),$=j;break;case"video":case"audio":for($=0;$Gj&&(s.flags|=128,j=!0,Dj(_e,!1),s.lanes=4194304)}else{if(!j)if(o=Ch(et),o!==null){if(s.flags|=128,j=!0,_=o.updateQueue,_!==null&&(s.updateQueue=_,s.flags|=4),Dj(_e,!0),_e.tail===null&&_e.tailMode==="hidden"&&!et.alternate&&!I)return S(s),null}else 2*B()-_e.renderingStartTime>Gj&&_!==1073741824&&(s.flags|=128,j=!0,Dj(_e,!1),s.lanes=4194304);_e.isBackwards?(et.sibling=s.child,s.child=et):(_=_e.last,_!==null?_.sibling=et:s.child=et,_e.last=et)}return _e.tail!==null?(s=_e.tail,_e.rendering=s,_e.tail=s.sibling,_e.renderingStartTime=B(),s.sibling=null,_=L.current,G(L,j?_&1|2:_&1),s):(S(s),null);case 22:case 23:return Hj(),j=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==j&&(s.flags|=8192),j&&s.mode&1?fj&1073741824&&(S(s),s.subtreeFlags&6&&(s.flags|=8192)):S(s),null;case 24:return null;case 25:return null}throw Error(p$1(156,s.tag))}function Ij(o,s){switch(wg(s),s.tag){case 1:return Zf(s.type)&&$f(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return zh(),E(Wf),E(H),Eh(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return Bh(s),null;case 13:if(E(L),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(p$1(340));Ig()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(s.type._context),null;case 22:case 23:return Hj(),null;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=typeof WeakSet=="function"?WeakSet:Set,V=null;function Lj(o,s){var _=o.ref;if(_!==null)if(typeof _=="function")try{_(null)}catch(j){W(o,s,j)}else _.current=null}function Mj(o,s,_){try{_()}catch(j){W(o,s,j)}}var Nj=!1;function Oj(o,s){if(Cf=dd,o=Me(),Ne(o)){if("selectionStart"in o)var _={start:o.selectionStart,end:o.selectionEnd};else e:{_=(_=o.ownerDocument)&&_.defaultView||window;var j=_.getSelection&&_.getSelection();if(j&&j.rangeCount!==0){_=j.anchorNode;var $=j.anchorOffset,_e=j.focusNode;j=j.focusOffset;try{_.nodeType,_e.nodeType}catch{_=null;break e}var et=0,tt=-1,nt=-1,rt=0,ot=0,ut=o,dt=null;t:for(;;){for(var Ut;ut!==_||$!==0&&ut.nodeType!==3||(tt=et+$),ut!==_e||j!==0&&ut.nodeType!==3||(nt=et+j),ut.nodeType===3&&(et+=ut.nodeValue.length),(Ut=ut.firstChild)!==null;)dt=ut,ut=Ut;for(;;){if(ut===o)break t;if(dt===_&&++rt===$&&(tt=et),dt===_e&&++ot===j&&(nt=et),(Ut=ut.nextSibling)!==null)break;ut=dt,dt=ut.parentNode}ut=Ut}_=tt===-1||nt===-1?null:{start:tt,end:nt}}else _=null}_=_||{start:0,end:0}}else _=null;for(Df={focusedElem:o,selectionRange:_},dd=!1,V=s;V!==null;)if(s=V,o=s.child,(s.subtreeFlags&1028)!==0&&o!==null)o.return=s,V=o;else for(;V!==null;){s=V;try{var st=s.alternate;if(s.flags&1024)switch(s.tag){case 0:case 11:case 15:break;case 1:if(st!==null){var ct=st.memoizedProps,pt=st.memoizedState,Bt=s.stateNode,Qt=Bt.getSnapshotBeforeUpdate(s.elementType===s.type?ct:Ci(s.type,ct),pt);Bt.__reactInternalSnapshotBeforeUpdate=Qt}break;case 3:var gt=s.stateNode.containerInfo;gt.nodeType===1?gt.textContent="":gt.nodeType===9&>.documentElement&>.removeChild(gt.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p$1(163))}}catch(ft){W(s,s.return,ft)}if(o=s.sibling,o!==null){o.return=s.return,V=o;break}V=s.return}return st=Nj,Nj=!1,st}function Pj(o,s,_){var j=s.updateQueue;if(j=j!==null?j.lastEffect:null,j!==null){var $=j=j.next;do{if(($.tag&o)===o){var _e=$.destroy;$.destroy=void 0,_e!==void 0&&Mj(s,_,_e)}$=$.next}while($!==j)}}function Qj(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var _=s=s.next;do{if((_.tag&o)===o){var j=_.create;_.destroy=j()}_=_.next}while(_!==s)}}function Rj(o){var s=o.ref;if(s!==null){var _=o.stateNode;switch(o.tag){case 5:o=_;break;default:o=_}typeof s=="function"?s(o):s.current=o}}function Sj(o){var s=o.alternate;s!==null&&(o.alternate=null,Sj(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&(delete s[Of],delete s[Pf],delete s[of],delete s[Qf],delete s[Rf])),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Tj(o){return o.tag===5||o.tag===3||o.tag===4}function Uj(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Tj(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Vj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.nodeType===8?_.parentNode.insertBefore(o,s):_.insertBefore(o,s):(_.nodeType===8?(s=_.parentNode,s.insertBefore(o,_)):(s=_,s.appendChild(o)),_=_._reactRootContainer,_!=null||s.onclick!==null||(s.onclick=Bf));else if(j!==4&&(o=o.child,o!==null))for(Vj(o,s,_),o=o.sibling;o!==null;)Vj(o,s,_),o=o.sibling}function Wj(o,s,_){var j=o.tag;if(j===5||j===6)o=o.stateNode,s?_.insertBefore(o,s):_.appendChild(o);else if(j!==4&&(o=o.child,o!==null))for(Wj(o,s,_),o=o.sibling;o!==null;)Wj(o,s,_),o=o.sibling}var X=null,Xj=!1;function Yj(o,s,_){for(_=_.child;_!==null;)Zj(o,s,_),_=_.sibling}function Zj(o,s,_){if(lc&&typeof lc.onCommitFiberUnmount=="function")try{lc.onCommitFiberUnmount(kc,_)}catch{}switch(_.tag){case 5:U||Lj(_,s);case 6:var j=X,$=Xj;X=null,Yj(o,s,_),X=j,Xj=$,X!==null&&(Xj?(o=X,_=_.stateNode,o.nodeType===8?o.parentNode.removeChild(_):o.removeChild(_)):X.removeChild(_.stateNode));break;case 18:X!==null&&(Xj?(o=X,_=_.stateNode,o.nodeType===8?Kf(o.parentNode,_):o.nodeType===1&&Kf(o,_),bd(o)):Kf(X,_.stateNode));break;case 4:j=X,$=Xj,X=_.stateNode.containerInfo,Xj=!0,Yj(o,s,_),X=j,Xj=$;break;case 0:case 11:case 14:case 15:if(!U&&(j=_.updateQueue,j!==null&&(j=j.lastEffect,j!==null))){$=j=j.next;do{var _e=$,et=_e.destroy;_e=_e.tag,et!==void 0&&(_e&2||_e&4)&&Mj(_,s,et),$=$.next}while($!==j)}Yj(o,s,_);break;case 1:if(!U&&(Lj(_,s),j=_.stateNode,typeof j.componentWillUnmount=="function"))try{j.props=_.memoizedProps,j.state=_.memoizedState,j.componentWillUnmount()}catch(tt){W(_,s,tt)}Yj(o,s,_);break;case 21:Yj(o,s,_);break;case 22:_.mode&1?(U=(j=U)||_.memoizedState!==null,Yj(o,s,_),U=j):Yj(o,s,_);break;default:Yj(o,s,_)}}function ak(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var _=o.stateNode;_===null&&(_=o.stateNode=new Kj),s.forEach(function(j){var $=bk.bind(null,o,j);_.has(j)||(_.add(j),j.then($,$))})}}function ck(o,s){var _=s.deletions;if(_!==null)for(var j=0;j<_.length;j++){var $=_[j];try{var _e=o,et=s,tt=et;e:for(;tt!==null;){switch(tt.tag){case 5:X=tt.stateNode,Xj=!1;break e;case 3:X=tt.stateNode.containerInfo,Xj=!0;break e;case 4:X=tt.stateNode.containerInfo,Xj=!0;break e}tt=tt.return}if(X===null)throw Error(p$1(160));Zj(_e,et,$),X=null,Xj=!1;var nt=$.alternate;nt!==null&&(nt.return=null),$.return=null}catch(rt){W($,s,rt)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)dk(s,o),s=s.sibling}function dk(o,s){var _=o.alternate,j=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(ck(s,o),ek(o),j&4){try{Pj(3,o,o.return),Qj(3,o)}catch(ct){W(o,o.return,ct)}try{Pj(5,o,o.return)}catch(ct){W(o,o.return,ct)}}break;case 1:ck(s,o),ek(o),j&512&&_!==null&&Lj(_,_.return);break;case 5:if(ck(s,o),ek(o),j&512&&_!==null&&Lj(_,_.return),o.flags&32){var $=o.stateNode;try{ob($,"")}catch(ct){W(o,o.return,ct)}}if(j&4&&($=o.stateNode,$!=null)){var _e=o.memoizedProps,et=_!==null?_.memoizedProps:_e,tt=o.type,nt=o.updateQueue;if(o.updateQueue=null,nt!==null)try{tt==="input"&&_e.type==="radio"&&_e.name!=null&&ab($,_e),vb(tt,et);var rt=vb(tt,_e);for(et=0;et$&&($=et),j&=~_e}if(j=$,j=B()-j,j=(120>j?120:480>j?480:1080>j?1080:1920>j?1920:3e3>j?3e3:4320>j?4320:1960*lk(j/1960))-j,10o?16:o,wk===null)var j=!1;else{if(o=wk,wk=null,xk=0,K&6)throw Error(p$1(331));var $=K;for(K|=4,V=o.current;V!==null;){var _e=V,et=_e.child;if(V.flags&16){var tt=_e.deletions;if(tt!==null){for(var nt=0;ntB()-fk?Kk(o,0):rk|=_),Dk(o,s)}function Yk(o,s){s===0&&(o.mode&1?(s=sc,sc<<=1,!(sc&130023424)&&(sc=4194304)):s=1);var _=R();o=ih(o,s),o!==null&&(Ac(o,s,_),Dk(o,_))}function uj(o){var s=o.memoizedState,_=0;s!==null&&(_=s.retryLane),Yk(o,_)}function bk(o,s){var _=0;switch(o.tag){case 13:var j=o.stateNode,$=o.memoizedState;$!==null&&(_=$.retryLane);break;case 19:j=o.stateNode;break;default:throw Error(p$1(314))}j!==null&&j.delete(s),Yk(o,_)}var Vk;Vk=function(o,s,_){if(o!==null)if(o.memoizedProps!==s.pendingProps||Wf.current)dh=!0;else{if(!(o.lanes&_)&&!(s.flags&128))return dh=!1,yj(o,s,_);dh=!!(o.flags&131072)}else dh=!1,I&&s.flags&1048576&&ug(s,ng,s.index);switch(s.lanes=0,s.tag){case 2:var j=s.type;ij(o,s),o=s.pendingProps;var $=Yf(s,H.current);ch(s,_),$=Nh(null,s,j,o,$,_);var _e=Sh();return s.flags|=1,typeof $=="object"&&$!==null&&typeof $.render=="function"&&$.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Zf(j)?(_e=!0,cg(s)):_e=!1,s.memoizedState=$.state!==null&&$.state!==void 0?$.state:null,kh(s),$.updater=Ei,s.stateNode=$,$._reactInternals=s,Ii(s,j,o,_),s=jj(null,s,j,!0,_e,_)):(s.tag=0,I&&_e&&vg(s),Xi(null,s,$,_),s=s.child),s;case 16:j=s.elementType;e:{switch(ij(o,s),o=s.pendingProps,$=j._init,j=$(j._payload),s.type=j,$=s.tag=Zk(j),o=Ci(j,o),$){case 0:s=cj(null,s,j,o,_);break e;case 1:s=hj(null,s,j,o,_);break e;case 11:s=Yi(null,s,j,o,_);break e;case 14:s=$i(null,s,j,Ci(j.type,o),_);break e}throw Error(p$1(306,j,""))}return s;case 0:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),cj(o,s,j,$,_);case 1:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),hj(o,s,j,$,_);case 3:e:{if(kj(s),o===null)throw Error(p$1(387));j=s.pendingProps,_e=s.memoizedState,$=_e.element,lh(o,s),qh(s,j,null,_);var et=s.memoizedState;if(j=et.element,_e.isDehydrated)if(_e={element:j,isDehydrated:!1,cache:et.cache,pendingSuspenseBoundaries:et.pendingSuspenseBoundaries,transitions:et.transitions},s.updateQueue.baseState=_e,s.memoizedState=_e,s.flags&256){$=Ji(Error(p$1(423)),s),s=lj(o,s,j,_,$);break e}else if(j!==$){$=Ji(Error(p$1(424)),s),s=lj(o,s,j,_,$);break e}else for(yg=Lf(s.stateNode.containerInfo.firstChild),xg=s,I=!0,zg=null,_=Vg(s,null,j,_),s.child=_;_;)_.flags=_.flags&-3|4096,_=_.sibling;else{if(Ig(),j===$){s=Zi(o,s,_);break e}Xi(o,s,j,_)}s=s.child}return s;case 5:return Ah(s),o===null&&Eg(s),j=s.type,$=s.pendingProps,_e=o!==null?o.memoizedProps:null,et=$.children,Ef(j,$)?et=null:_e!==null&&Ef(j,_e)&&(s.flags|=32),gj(o,s),Xi(o,s,et,_),s.child;case 6:return o===null&&Eg(s),null;case 13:return oj(o,s,_);case 4:return yh(s,s.stateNode.containerInfo),j=s.pendingProps,o===null?s.child=Ug(s,null,j,_):Xi(o,s,j,_),s.child;case 11:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),Yi(o,s,j,$,_);case 7:return Xi(o,s,s.pendingProps,_),s.child;case 8:return Xi(o,s,s.pendingProps.children,_),s.child;case 12:return Xi(o,s,s.pendingProps.children,_),s.child;case 10:e:{if(j=s.type._context,$=s.pendingProps,_e=s.memoizedProps,et=$.value,G(Wg,j._currentValue),j._currentValue=et,_e!==null)if(He(_e.value,et)){if(_e.children===$.children&&!Wf.current){s=Zi(o,s,_);break e}}else for(_e=s.child,_e!==null&&(_e.return=s);_e!==null;){var tt=_e.dependencies;if(tt!==null){et=_e.child;for(var nt=tt.firstContext;nt!==null;){if(nt.context===j){if(_e.tag===1){nt=mh(-1,_&-_),nt.tag=2;var rt=_e.updateQueue;if(rt!==null){rt=rt.shared;var ot=rt.pending;ot===null?nt.next=nt:(nt.next=ot.next,ot.next=nt),rt.pending=nt}}_e.lanes|=_,nt=_e.alternate,nt!==null&&(nt.lanes|=_),bh(_e.return,_,s),tt.lanes|=_;break}nt=nt.next}}else if(_e.tag===10)et=_e.type===s.type?null:_e.child;else if(_e.tag===18){if(et=_e.return,et===null)throw Error(p$1(341));et.lanes|=_,tt=et.alternate,tt!==null&&(tt.lanes|=_),bh(et,_,s),et=_e.sibling}else et=_e.child;if(et!==null)et.return=_e;else for(et=_e;et!==null;){if(et===s){et=null;break}if(_e=et.sibling,_e!==null){_e.return=et.return,et=_e;break}et=et.return}_e=et}Xi(o,s,$.children,_),s=s.child}return s;case 9:return $=s.type,j=s.pendingProps.children,ch(s,_),$=eh($),j=j($),s.flags|=1,Xi(o,s,j,_),s.child;case 14:return j=s.type,$=Ci(j,s.pendingProps),$=Ci(j.type,$),$i(o,s,j,$,_);case 15:return bj(o,s,s.type,s.pendingProps,_);case 17:return j=s.type,$=s.pendingProps,$=s.elementType===j?$:Ci(j,$),ij(o,s),s.tag=1,Zf(j)?(o=!0,cg(s)):o=!1,ch(s,_),Gi(s,j,$),Ii(s,j,$,_),jj(null,s,j,!0,o,_);case 19:return xj(o,s,_);case 22:return dj(o,s,_)}throw Error(p$1(156,s.tag))};function Fk(o,s){return ac(o,s)}function $k(o,s,_,j){this.tag=o,this.key=_,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=j,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Bg(o,s,_,j){return new $k(o,s,_,j)}function aj(o){return o=o.prototype,!(!o||!o.isReactComponent)}function Zk(o){if(typeof o=="function")return aj(o)?1:0;if(o!=null){if(o=o.$$typeof,o===Da)return 11;if(o===Ga)return 14}return 2}function Pg(o,s){var _=o.alternate;return _===null?(_=Bg(o.tag,s,o.key,o.mode),_.elementType=o.elementType,_.type=o.type,_.stateNode=o.stateNode,_.alternate=o,o.alternate=_):(_.pendingProps=s,_.type=o.type,_.flags=0,_.subtreeFlags=0,_.deletions=null),_.flags=o.flags&14680064,_.childLanes=o.childLanes,_.lanes=o.lanes,_.child=o.child,_.memoizedProps=o.memoizedProps,_.memoizedState=o.memoizedState,_.updateQueue=o.updateQueue,s=o.dependencies,_.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},_.sibling=o.sibling,_.index=o.index,_.ref=o.ref,_}function Rg(o,s,_,j,$,_e){var et=2;if(j=o,typeof o=="function")aj(o)&&(et=1);else if(typeof o=="string")et=5;else e:switch(o){case ya:return Tg(_.children,$,_e,s);case za:et=8,$|=8;break;case Aa:return o=Bg(12,_,s,$|2),o.elementType=Aa,o.lanes=_e,o;case Ea:return o=Bg(13,_,s,$),o.elementType=Ea,o.lanes=_e,o;case Fa:return o=Bg(19,_,s,$),o.elementType=Fa,o.lanes=_e,o;case Ia:return pj(_,$,_e,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case Ba:et=10;break e;case Ca:et=9;break e;case Da:et=11;break e;case Ga:et=14;break e;case Ha:et=16,j=null;break e}throw Error(p$1(130,o==null?o:typeof o,""))}return s=Bg(et,_,s,$),s.elementType=o,s.type=j,s.lanes=_e,s}function Tg(o,s,_,j){return o=Bg(7,o,j,s),o.lanes=_,o}function pj(o,s,_,j){return o=Bg(22,o,j,s),o.elementType=Ia,o.lanes=_,o.stateNode={isHidden:!1},o}function Qg(o,s,_){return o=Bg(6,o,null,s),o.lanes=_,o}function Sg(o,s,_){return s=Bg(4,o.children!==null?o.children:[],o.key,s),s.lanes=_,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function al(o,s,_,j,$){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zc(0),this.expirationTimes=zc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zc(0),this.identifierPrefix=j,this.onRecoverableError=$,this.mutableSourceEagerHydrationData=null}function bl(o,s,_,j,$,_e,et,tt,nt){return o=new al(o,s,_,tt,nt),s===1?(s=1,_e===!0&&(s|=8)):s=0,_e=Bg(3,null,null,s),o.current=_e,_e.stateNode=o,_e.memoizedState={element:j,isDehydrated:_,cache:null,transitions:null,pendingSuspenseBoundaries:null},kh(_e),o}function cl(o,s,_){var j=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE)}catch(o){console.error(o)}}checkDCE(),reactDom.exports=reactDom_production_min;var reactDomExports=reactDom.exports,m$1=reactDomExports;client.createRoot=m$1.createRoot,client.hydrateRoot=m$1.hydrateRoot;var isDevelopment$3=!1;function sheetForTag(o){if(o.sheet)return o.sheet;for(var s=0;s0?charat(characters,--position):0,column--,character===10&&(column=1,line--),character}function next(){return character=position2||token(character)>3?"":" "}function escaping(o,s){for(;--s&&next()&&!(character<48||character>102||character>57&&character<65||character>70&&character<97););return slice(o,caret()+(s<6&&peek()==32&&next()==32))}function delimiter(o){for(;next();)switch(character){case o:return position;case 34:case 39:o!==34&&o!==39&&delimiter(character);break;case 40:o===41&&delimiter(o);break;case 92:next();break}return position}function commenter(o,s){for(;next()&&o+character!==47+10;)if(o+character===42+42&&peek()===47)break;return"/*"+slice(s,position-1)+"*"+from$1(o===47?o:next())}function identifier(o){for(;!token(peek());)next();return slice(o,position)}function compile(o){return dealloc(parse$1("",null,null,null,[""],o=alloc(o),0,[0],o))}function parse$1(o,s,_,j,$,_e,et,tt,nt){for(var rt=0,ot=0,ut=et,dt=0,Ut=0,st=0,ct=1,pt=1,Bt=1,Qt=0,gt="",ft=$,Ft=_e,yt=j,Ct=gt;pt;)switch(st=Qt,Qt=next()){case 40:if(st!=108&&charat(Ct,ut-1)==58){indexof(Ct+=replace(delimit(Qt),"&","&\f"),"&\f")!=-1&&(Bt=-1);break}case 34:case 39:case 91:Ct+=delimit(Qt);break;case 9:case 10:case 13:case 32:Ct+=whitespace(st);break;case 92:Ct+=escaping(caret()-1,7);continue;case 47:switch(peek()){case 42:case 47:append(comment(commenter(next(),caret()),s,_),nt);break;default:Ct+="/"}break;case 123*ct:tt[rt++]=strlen(Ct)*Bt;case 125*ct:case 59:case 0:switch(Qt){case 0:case 125:pt=0;case 59+ot:Bt==-1&&(Ct=replace(Ct,/\f/g,"")),Ut>0&&strlen(Ct)-ut&&append(Ut>32?declaration(Ct+";",j,_,ut-1):declaration(replace(Ct," ","")+";",j,_,ut-2),nt);break;case 59:Ct+=";";default:if(append(yt=ruleset(Ct,s,_,rt,ot,$,tt,gt,ft=[],Ft=[],ut),_e),Qt===123)if(ot===0)parse$1(Ct,s,yt,yt,ft,_e,ut,tt,Ft);else switch(dt===99&&charat(Ct,3)===110?100:dt){case 100:case 108:case 109:case 115:parse$1(o,yt,yt,j&&append(ruleset(o,yt,yt,0,0,$,tt,gt,$,ft=[],ut),Ft),$,Ft,ut,tt,j?ft:Ft);break;default:parse$1(Ct,yt,yt,yt,[""],Ft,0,tt,Ft)}}rt=ot=Ut=0,ct=Bt=1,gt=Ct="",ut=et;break;case 58:ut=1+strlen(Ct),Ut=st;default:if(ct<1){if(Qt==123)--ct;else if(Qt==125&&ct++==0&&prev()==125)continue}switch(Ct+=from$1(Qt),Qt*ct){case 38:Bt=ot>0?1:(Ct+="\f",-1);break;case 44:tt[rt++]=(strlen(Ct)-1)*Bt,Bt=1;break;case 64:peek()===45&&(Ct+=delimit(next())),dt=peek(),ot=ut=strlen(gt=Ct+=identifier(caret())),Qt++;break;case 45:st===45&&strlen(Ct)==2&&(ct=0)}}return _e}function ruleset(o,s,_,j,$,_e,et,tt,nt,rt,ot){for(var ut=$-1,dt=$===0?_e:[""],Ut=sizeof(dt),st=0,ct=0,pt=0;st0?dt[Bt]+" "+Qt:replace(Qt,/&\f/g,dt[Bt])))&&(nt[pt++]=gt);return node(o,s,_,$===0?RULESET:tt,nt,rt,ot)}function comment(o,s,_){return node(o,s,_,COMMENT,from$1(char()),substr(o,2,-2),0)}function declaration(o,s,_,j){return node(o,s,_,DECLARATION,substr(o,0,j),substr(o,j+1,-1),j)}function serialize(o,s){for(var _="",j=sizeof(o),$=0;$6)switch(charat(o,s+1)){case 109:if(charat(o,s+4)!==45)break;case 102:return replace(o,/(.+:)(.+)-([^]+)/,"$1"+WEBKIT+"$2-$3$1"+MOZ+(charat(o,s+3)==108?"$3":"$2-$3"))+o;case 115:return~indexof(o,"stretch")?prefix(replace(o,"stretch","fill-available"),s)+o:o}break;case 4949:if(charat(o,s+1)!==115)break;case 6444:switch(charat(o,strlen(o)-3-(~indexof(o,"!important")&&10))){case 107:return replace(o,":",":"+WEBKIT)+o;case 101:return replace(o,/(.+:)([^;!]+)(;|!.+)?/,"$1"+WEBKIT+(charat(o,14)===45?"inline-":"")+"box$3$1"+WEBKIT+"$2$3$1"+MS+"$2box$3")+o}break;case 5936:switch(charat(o,s+11)){case 114:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb")+o;case 108:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"tb-rl")+o;case 45:return WEBKIT+o+MS+replace(o,/[svh]\w+-[tblr]{2}/,"lr")+o}return WEBKIT+o+MS+o+o}return o}var prefixer=function(s,_,j,$){if(s.length>-1&&!s.return)switch(s.type){case DECLARATION:s.return=prefix(s.value,s.length);break;case KEYFRAMES:return serialize([copy(s,{value:replace(s.value,"@","@"+WEBKIT)})],$);case RULESET:if(s.length)return combine(s.props,function(_e){switch(match(_e,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return serialize([copy(s,{props:[replace(_e,/:(read-\w+)/,":"+MOZ+"$1")]})],$);case"::placeholder":return serialize([copy(s,{props:[replace(_e,/:(plac\w+)/,":"+WEBKIT+"input-$1")]}),copy(s,{props:[replace(_e,/:(plac\w+)/,":"+MOZ+"$1")]}),copy(s,{props:[replace(_e,/:(plac\w+)/,MS+"input-$1")]})],$)}return""})}},defaultStylisPlugins=[prefixer],createCache=function(s){var _=s.key;if(_==="css"){var j=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(j,function(ct){var pt=ct.getAttribute("data-emotion");pt.indexOf(" ")!==-1&&(document.head.appendChild(ct),ct.setAttribute("data-s",""))})}var $=s.stylisPlugins||defaultStylisPlugins,_e={},et,tt=[];et=s.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+_+' "]'),function(ct){for(var pt=ct.getAttribute("data-emotion").split(" "),Bt=1;Bt=4;++j,$-=4)_=o.charCodeAt(j)&255|(o.charCodeAt(++j)&255)<<8|(o.charCodeAt(++j)&255)<<16|(o.charCodeAt(++j)&255)<<24,_=(_&65535)*1540483477+((_>>>16)*59797<<16),_^=_>>>24,s=(_&65535)*1540483477+((_>>>16)*59797<<16)^(s&65535)*1540483477+((s>>>16)*59797<<16);switch($){case 3:s^=(o.charCodeAt(j+2)&255)<<16;case 2:s^=(o.charCodeAt(j+1)&255)<<8;case 1:s^=o.charCodeAt(j)&255,s=(s&65535)*1540483477+((s>>>16)*59797<<16)}return s^=s>>>13,s=(s&65535)*1540483477+((s>>>16)*59797<<16),((s^s>>>15)>>>0).toString(36)}var unitlessKeys={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},isDevelopment$2=!1,hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function(s){return s.charCodeAt(1)===45},isProcessableValue=function(s){return s!=null&&typeof s!="boolean"},processStyleName=memoize$1(function(o){return isCustomProperty(o)?o:o.replace(hyphenateRegex,"-$&").toLowerCase()}),processStyleValue=function(s,_){switch(s){case"animation":case"animationName":if(typeof _=="string")return _.replace(animationRegex,function(j,$,_e){return cursor={name:$,styles:_e,next:cursor},$})}return unitlessKeys[s]!==1&&!isCustomProperty(s)&&typeof _=="number"&&_!==0?_+"px":_},noComponentSelectorMessage="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function handleInterpolation(o,s,_){if(_==null)return"";var j=_;if(j.__emotion_styles!==void 0)return j;switch(typeof _){case"boolean":return"";case"object":{var $=_;if($.anim===1)return cursor={name:$.name,styles:$.styles,next:cursor},$.name;var _e=_;if(_e.styles!==void 0){var et=_e.next;if(et!==void 0)for(;et!==void 0;)cursor={name:et.name,styles:et.styles,next:cursor},et=et.next;var tt=_e.styles+";";return tt}return createStringFromObject(o,s,_)}case"function":{if(o!==void 0){var nt=cursor,rt=_(o);return cursor=nt,handleInterpolation(o,s,rt)}break}}var ot=_;if(s==null)return ot;var ut=s[ot];return ut!==void 0?ut:ot}function createStringFromObject(o,s,_){var j="";if(Array.isArray(_))for(var $=0;$<_.length;$++)j+=handleInterpolation(o,s,_[$])+";";else for(var _e in _){var et=_[_e];if(typeof et!="object"){var tt=et;s!=null&&s[tt]!==void 0?j+=_e+"{"+s[tt]+"}":isProcessableValue(tt)&&(j+=processStyleName(_e)+":"+processStyleValue(_e,tt)+";")}else{if(_e==="NO_COMPONENT_SELECTOR"&&isDevelopment$2)throw new Error(noComponentSelectorMessage);if(Array.isArray(et)&&typeof et[0]=="string"&&(s==null||s[et[0]]===void 0))for(var nt=0;nt96?testOmitPropsOnStringTag:testOmitPropsOnComponent},composeShouldForwardProps=function(s,_,j){var $;if(_){var _e=_.shouldForwardProp;$=s.__emotion_forwardProp&&_e?function(et){return s.__emotion_forwardProp(et)&&_e(et)}:_e}return typeof $!="function"&&j&&($=s.__emotion_forwardProp),$},Insertion=function(s){var _=s.cache,j=s.serialized,$=s.isStringTag;return registerStyles(_,j,$),useInsertionEffectAlwaysWithSyncFallback(function(){return insertStyles(_,j,$)}),null},createStyled$2=function o(s,_){var j=s.__emotion_real===s,$=j&&s.__emotion_base||s,_e,et;_!==void 0&&(_e=_.label,et=_.target);var tt=composeShouldForwardProps(s,_,j),nt=tt||getDefaultShouldForwardProp($),rt=!nt("as");return function(){var ot=arguments,ut=j&&s.__emotion_styles!==void 0?s.__emotion_styles.slice(0):[];if(_e!==void 0&&ut.push("label:"+_e+";"),ot[0]==null||ot[0].raw===void 0)ut.push.apply(ut,ot);else{var dt=ot[0];ut.push(dt[0]);for(var Ut=ot.length,st=1;st($[1].styles.match(/^@layer\s+[^{]*$/)||($[1].styles=`@layer mui {${$[1].styles}}`),j(...$))}return _}const cacheMap=new Map;function StyledEngineProvider(o){const{injectFirst:s,enableCssLayer:_,children:j}=o,$=reactExports.useMemo(()=>{const _e=`${s}-${_}`;if(typeof document=="object"&&cacheMap.has(_e))return cacheMap.get(_e);const et=getCache(s,_);return cacheMap.set(_e,et),et},[s,_]);return s||_?jsx$2(CacheProvider,{value:$,children:j}):j}function isEmpty$1(o){return o==null||Object.keys(o).length===0}function GlobalStyles$2(o){const{styles:s,defaultTheme:_={}}=o;return jsx$2(Global,{styles:typeof s=="function"?$=>s(isEmpty$1($)?_:$):s})}/** + * @mui/styled-engine v5.18.0 + * + * @license MIT + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function styled$2(o,s){return styled$3(o,s)}const internal_processStyles=(o,s)=>{Array.isArray(o.__emotion_styles)&&(o.__emotion_styles=s(o.__emotion_styles))},wrapper=[];function internal_serializeStyles(o){return wrapper[0]=o,serializeStyles(wrapper)}const styledEngine=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:GlobalStyles$2,StyledEngineProvider,ThemeContext:ThemeContext$2,css,default:styled$2,internal_processStyles,internal_serializeStyles,keyframes},Symbol.toStringTag,{value:"Module"}));function isPlainObject(o){if(typeof o!="object"||o===null)return!1;const s=Object.getPrototypeOf(o);return(s===null||s===Object.prototype||Object.getPrototypeOf(s)===null)&&!(Symbol.toStringTag in o)&&!(Symbol.iterator in o)}function deepClone(o){if(reactExports.isValidElement(o)||!isPlainObject(o))return o;const s={};return Object.keys(o).forEach(_=>{s[_]=deepClone(o[_])}),s}function deepmerge$1(o,s,_={clone:!0}){const j=_.clone?_extends$1({},o):o;return isPlainObject(o)&&isPlainObject(s)&&Object.keys(s).forEach($=>{reactExports.isValidElement(s[$])?j[$]=s[$]:isPlainObject(s[$])&&Object.prototype.hasOwnProperty.call(o,$)&&isPlainObject(o[$])?j[$]=deepmerge$1(o[$],s[$],_):_.clone?j[$]=isPlainObject(s[$])?deepClone(s[$]):s[$]:j[$]=s[$]}),j}const deepmerge=Object.freeze(Object.defineProperty({__proto__:null,default:deepmerge$1,isPlainObject},Symbol.toStringTag,{value:"Module"})),_excluded$a=["values","unit","step"],sortBreakpointsValues=o=>{const s=Object.keys(o).map(_=>({key:_,val:o[_]}))||[];return s.sort((_,j)=>_.val-j.val),s.reduce((_,j)=>_extends$1({},_,{[j.key]:j.val}),{})};function createBreakpoints(o){const{values:s={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:_="px",step:j=5}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$a),_e=sortBreakpointsValues(s),et=Object.keys(_e);function tt(dt){return`@media (min-width:${typeof s[dt]=="number"?s[dt]:dt}${_})`}function nt(dt){return`@media (max-width:${(typeof s[dt]=="number"?s[dt]:dt)-j/100}${_})`}function rt(dt,Ut){const st=et.indexOf(Ut);return`@media (min-width:${typeof s[dt]=="number"?s[dt]:dt}${_}) and (max-width:${(st!==-1&&typeof s[et[st]]=="number"?s[et[st]]:Ut)-j/100}${_})`}function ot(dt){return et.indexOf(dt)+1`@media (min-width:${values[o]}px)`};function handleBreakpoints(o,s,_){const j=o.theme||{};if(Array.isArray(s)){const _e=j.breakpoints||defaultBreakpoints;return s.reduce((et,tt,nt)=>(et[_e.up(_e.keys[nt])]=_(s[nt]),et),{})}if(typeof s=="object"){const _e=j.breakpoints||defaultBreakpoints;return Object.keys(s).reduce((et,tt)=>{if(Object.keys(_e.values||values).indexOf(tt)!==-1){const nt=_e.up(tt);et[nt]=_(s[tt],tt)}else{const nt=tt;et[nt]=s[nt]}return et},{})}return _(s)}function createEmptyBreakpointObject(o={}){var s;return((s=o.keys)==null?void 0:s.reduce((j,$)=>{const _e=o.up($);return j[_e]={},j},{}))||{}}function removeUnusedBreakpoints(o,s){return o.reduce((_,j)=>{const $=_[j];return(!$||Object.keys($).length===0)&&delete _[j],_},s)}function capitalize$1(o){if(typeof o!="string")throw new Error(formatMuiErrorMessage$1(7));return o.charAt(0).toUpperCase()+o.slice(1)}const capitalize=Object.freeze(Object.defineProperty({__proto__:null,default:capitalize$1},Symbol.toStringTag,{value:"Module"}));function getPath(o,s,_=!0){if(!s||typeof s!="string")return null;if(o&&o.vars&&_){const j=`vars.${s}`.split(".").reduce(($,_e)=>$&&$[_e]?$[_e]:null,o);if(j!=null)return j}return s.split(".").reduce((j,$)=>j&&j[$]!=null?j[$]:null,o)}function getStyleValue(o,s,_,j=_){let $;return typeof o=="function"?$=o(_):Array.isArray(o)?$=o[_]||j:$=getPath(o,_)||j,s&&($=s($,j,o)),$}function style$1(o){const{prop:s,cssProperty:_=o.prop,themeKey:j,transform:$}=o,_e=et=>{if(et[s]==null)return null;const tt=et[s],nt=et.theme,rt=getPath(nt,j)||{};return handleBreakpoints(et,tt,ut=>{let dt=getStyleValue(rt,$,ut);return ut===dt&&typeof ut=="string"&&(dt=getStyleValue(rt,$,`${s}${ut==="default"?"":capitalize$1(ut)}`,ut)),_===!1?dt:{[_]:dt}})};return _e.propTypes={},_e.filterProps=[s],_e}function memoize(o){const s={};return _=>(s[_]===void 0&&(s[_]=o(_)),s[_])}const properties={m:"margin",p:"padding"},directions={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},aliases={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},getCssProperties=memoize(o=>{if(o.length>2)if(aliases[o])o=aliases[o];else return[o];const[s,_]=o.split(""),j=properties[s],$=directions[_]||"";return Array.isArray($)?$.map(_e=>j+_e):[j+$]}),marginKeys=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],paddingKeys=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...marginKeys,...paddingKeys];function createUnaryUnit(o,s,_,j){var $;const _e=($=getPath(o,s,!1))!=null?$:_;return typeof _e=="number"?et=>typeof et=="string"?et:_e*et:Array.isArray(_e)?et=>typeof et=="string"?et:_e[et]:typeof _e=="function"?_e:()=>{}}function createUnarySpacing(o){return createUnaryUnit(o,"spacing",8)}function getValue(o,s){if(typeof s=="string"||s==null)return s;const _=Math.abs(s),j=o(_);return s>=0?j:typeof j=="number"?-j:`-${j}`}function getStyleFromPropValue(o,s){return _=>o.reduce((j,$)=>(j[$]=getValue(s,_),j),{})}function resolveCssProperty(o,s,_,j){if(s.indexOf(_)===-1)return null;const $=getCssProperties(_),_e=getStyleFromPropValue($,j),et=o[_];return handleBreakpoints(o,et,_e)}function style(o,s){const _=createUnarySpacing(o.theme);return Object.keys(o).map(j=>resolveCssProperty(o,s,j,_)).reduce(merge$2,{})}function margin(o){return style(o,marginKeys)}margin.propTypes={};margin.filterProps=marginKeys;function padding(o){return style(o,paddingKeys)}padding.propTypes={};padding.filterProps=paddingKeys;function createSpacing(o=8){if(o.mui)return o;const s=createUnarySpacing({spacing:o}),_=(...j)=>(j.length===0?[1]:j).map(_e=>{const et=s(_e);return typeof et=="number"?`${et}px`:et}).join(" ");return _.mui=!0,_}function compose(...o){const s=o.reduce((j,$)=>($.filterProps.forEach(_e=>{j[_e]=$}),j),{}),_=j=>Object.keys(j).reduce(($,_e)=>s[_e]?merge$2($,s[_e](j)):$,{});return _.propTypes={},_.filterProps=o.reduce((j,$)=>j.concat($.filterProps),[]),_}function borderTransform(o){return typeof o!="number"?o:`${o}px solid`}function createBorderStyle(o,s){return style$1({prop:o,themeKey:"borders",transform:s})}const border=createBorderStyle("border",borderTransform),borderTop=createBorderStyle("borderTop",borderTransform),borderRight=createBorderStyle("borderRight",borderTransform),borderBottom=createBorderStyle("borderBottom",borderTransform),borderLeft=createBorderStyle("borderLeft",borderTransform),borderColor=createBorderStyle("borderColor"),borderTopColor=createBorderStyle("borderTopColor"),borderRightColor=createBorderStyle("borderRightColor"),borderBottomColor=createBorderStyle("borderBottomColor"),borderLeftColor=createBorderStyle("borderLeftColor"),outline=createBorderStyle("outline",borderTransform),outlineColor=createBorderStyle("outlineColor"),borderRadius=o=>{if(o.borderRadius!==void 0&&o.borderRadius!==null){const s=createUnaryUnit(o.theme,"shape.borderRadius",4),_=j=>({borderRadius:getValue(s,j)});return handleBreakpoints(o,o.borderRadius,_)}return null};borderRadius.propTypes={};borderRadius.filterProps=["borderRadius"];compose(border,borderTop,borderRight,borderBottom,borderLeft,borderColor,borderTopColor,borderRightColor,borderBottomColor,borderLeftColor,borderRadius,outline,outlineColor);const gap=o=>{if(o.gap!==void 0&&o.gap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({gap:getValue(s,j)});return handleBreakpoints(o,o.gap,_)}return null};gap.propTypes={};gap.filterProps=["gap"];const columnGap=o=>{if(o.columnGap!==void 0&&o.columnGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({columnGap:getValue(s,j)});return handleBreakpoints(o,o.columnGap,_)}return null};columnGap.propTypes={};columnGap.filterProps=["columnGap"];const rowGap=o=>{if(o.rowGap!==void 0&&o.rowGap!==null){const s=createUnaryUnit(o.theme,"spacing",8),_=j=>({rowGap:getValue(s,j)});return handleBreakpoints(o,o.rowGap,_)}return null};rowGap.propTypes={};rowGap.filterProps=["rowGap"];const gridColumn=style$1({prop:"gridColumn"}),gridRow=style$1({prop:"gridRow"}),gridAutoFlow=style$1({prop:"gridAutoFlow"}),gridAutoColumns=style$1({prop:"gridAutoColumns"}),gridAutoRows=style$1({prop:"gridAutoRows"}),gridTemplateColumns=style$1({prop:"gridTemplateColumns"}),gridTemplateRows=style$1({prop:"gridTemplateRows"}),gridTemplateAreas=style$1({prop:"gridTemplateAreas"}),gridArea=style$1({prop:"gridArea"});compose(gap,columnGap,rowGap,gridColumn,gridRow,gridAutoFlow,gridAutoColumns,gridAutoRows,gridTemplateColumns,gridTemplateRows,gridTemplateAreas,gridArea);function paletteTransform(o,s){return s==="grey"?s:o}const color$1=style$1({prop:"color",themeKey:"palette",transform:paletteTransform}),bgcolor=style$1({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:paletteTransform}),backgroundColor=style$1({prop:"backgroundColor",themeKey:"palette",transform:paletteTransform});compose(color$1,bgcolor,backgroundColor);function sizingTransform(o){return o<=1&&o!==0?`${o*100}%`:o}const width=style$1({prop:"width",transform:sizingTransform}),maxWidth=o=>{if(o.maxWidth!==void 0&&o.maxWidth!==null){const s=_=>{var j,$;const _e=((j=o.theme)==null||(j=j.breakpoints)==null||(j=j.values)==null?void 0:j[_])||values[_];return _e?(($=o.theme)==null||($=$.breakpoints)==null?void 0:$.unit)!=="px"?{maxWidth:`${_e}${o.theme.breakpoints.unit}`}:{maxWidth:_e}:{maxWidth:sizingTransform(_)}};return handleBreakpoints(o,o.maxWidth,s)}return null};maxWidth.filterProps=["maxWidth"];const minWidth=style$1({prop:"minWidth",transform:sizingTransform}),height=style$1({prop:"height",transform:sizingTransform}),maxHeight=style$1({prop:"maxHeight",transform:sizingTransform}),minHeight=style$1({prop:"minHeight",transform:sizingTransform});style$1({prop:"size",cssProperty:"width",transform:sizingTransform});style$1({prop:"size",cssProperty:"height",transform:sizingTransform});const boxSizing=style$1({prop:"boxSizing"});compose(width,maxWidth,minWidth,height,maxHeight,minHeight,boxSizing);const defaultSxConfig={border:{themeKey:"borders",transform:borderTransform},borderTop:{themeKey:"borders",transform:borderTransform},borderRight:{themeKey:"borders",transform:borderTransform},borderBottom:{themeKey:"borders",transform:borderTransform},borderLeft:{themeKey:"borders",transform:borderTransform},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:borderTransform},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:borderRadius},color:{themeKey:"palette",transform:paletteTransform},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:paletteTransform},backgroundColor:{themeKey:"palette",transform:paletteTransform},p:{style:padding},pt:{style:padding},pr:{style:padding},pb:{style:padding},pl:{style:padding},px:{style:padding},py:{style:padding},padding:{style:padding},paddingTop:{style:padding},paddingRight:{style:padding},paddingBottom:{style:padding},paddingLeft:{style:padding},paddingX:{style:padding},paddingY:{style:padding},paddingInline:{style:padding},paddingInlineStart:{style:padding},paddingInlineEnd:{style:padding},paddingBlock:{style:padding},paddingBlockStart:{style:padding},paddingBlockEnd:{style:padding},m:{style:margin},mt:{style:margin},mr:{style:margin},mb:{style:margin},ml:{style:margin},mx:{style:margin},my:{style:margin},margin:{style:margin},marginTop:{style:margin},marginRight:{style:margin},marginBottom:{style:margin},marginLeft:{style:margin},marginX:{style:margin},marginY:{style:margin},marginInline:{style:margin},marginInlineStart:{style:margin},marginInlineEnd:{style:margin},marginBlock:{style:margin},marginBlockStart:{style:margin},marginBlockEnd:{style:margin},displayPrint:{cssProperty:!1,transform:o=>({"@media print":{display:o}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:gap},rowGap:{style:rowGap},columnGap:{style:columnGap},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:sizingTransform},maxWidth:{style:maxWidth},minWidth:{transform:sizingTransform},height:{transform:sizingTransform},maxHeight:{transform:sizingTransform},minHeight:{transform:sizingTransform},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},defaultSxConfig$1=defaultSxConfig;function objectsHaveSameKeys(...o){const s=o.reduce((j,$)=>j.concat(Object.keys($)),[]),_=new Set(s);return o.every(j=>_.size===Object.keys(j).length)}function callIfFn(o,s){return typeof o=="function"?o(s):o}function unstable_createStyleFunctionSx(){function o(_,j,$,_e){const et={[_]:j,theme:$},tt=_e[_];if(!tt)return{[_]:j};const{cssProperty:nt=_,themeKey:rt,transform:ot,style:ut}=tt;if(j==null)return null;if(rt==="typography"&&j==="inherit")return{[_]:j};const dt=getPath($,rt)||{};return ut?ut(et):handleBreakpoints(et,j,st=>{let ct=getStyleValue(dt,ot,st);return st===ct&&typeof st=="string"&&(ct=getStyleValue(dt,ot,`${_}${st==="default"?"":capitalize$1(st)}`,st)),nt===!1?ct:{[nt]:ct}})}function s(_){var j;const{sx:$,theme:_e={},nested:et}=_||{};if(!$)return null;const tt=(j=_e.unstable_sxConfig)!=null?j:defaultSxConfig$1;function nt(rt){let ot=rt;if(typeof rt=="function")ot=rt(_e);else if(typeof rt!="object")return rt;if(!ot)return null;const ut=createEmptyBreakpointObject(_e.breakpoints),dt=Object.keys(ut);let Ut=ut;return Object.keys(ot).forEach(st=>{const ct=callIfFn(ot[st],_e);if(ct!=null)if(typeof ct=="object")if(tt[st])Ut=merge$2(Ut,o(st,ct,_e,tt));else{const pt=handleBreakpoints({theme:_e},ct,Bt=>({[st]:Bt}));objectsHaveSameKeys(pt,ct)?Ut[st]=s({sx:ct,theme:_e,nested:!0}):Ut=merge$2(Ut,pt)}else Ut=merge$2(Ut,o(st,ct,_e,tt))}),!et&&_e.modularCssLayers?{"@layer sx":removeUnusedBreakpoints(dt,Ut)}:removeUnusedBreakpoints(dt,Ut)}return Array.isArray($)?$.map(nt):nt($)}return s}const styleFunctionSx$1=unstable_createStyleFunctionSx();styleFunctionSx$1.filterProps=["sx"];const styleFunctionSx$2=styleFunctionSx$1;function applyStyles(o,s){const _=this;return _.vars&&typeof _.getColorSchemeSelector=="function"?{[_.getColorSchemeSelector(o).replace(/(\[[^\]]+\])/,"*:where($1)")]:s}:_.palette.mode===o?s:{}}const _excluded$9=["breakpoints","palette","spacing","shape"];function createTheme$2(o={},...s){const{breakpoints:_={},palette:j={},spacing:$,shape:_e={}}=o,et=_objectWithoutPropertiesLoose$1(o,_excluded$9),tt=createBreakpoints(_),nt=createSpacing($);let rt=deepmerge$1({breakpoints:tt,direction:"ltr",components:{},palette:_extends$1({mode:"light"},j),spacing:nt,shape:_extends$1({},shape$1,_e)},et);return rt.applyStyles=applyStyles,rt=s.reduce((ot,ut)=>deepmerge$1(ot,ut),rt),rt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,et==null?void 0:et.unstable_sxConfig),rt.unstable_sx=function(ut){return styleFunctionSx$2({sx:ut,theme:this})},rt}const createTheme$1=Object.freeze(Object.defineProperty({__proto__:null,default:createTheme$2,private_createBreakpoints:createBreakpoints,unstable_applyStyles:applyStyles},Symbol.toStringTag,{value:"Module"}));function isObjectEmpty(o){return Object.keys(o).length===0}function useTheme$2(o=null){const s=reactExports.useContext(ThemeContext$2);return!s||isObjectEmpty(s)?o:s}const systemDefaultTheme$1=createTheme$2();function useTheme$1(o=systemDefaultTheme$1){return useTheme$2(o)}function wrapGlobalLayer(o){const s=internal_serializeStyles(o);return o!==s&&s.styles?(s.styles.match(/^@layer\s+[^{]*$/)||(s.styles=`@layer global{${s.styles}}`),s):o}function GlobalStyles$1({styles:o,themeId:s,defaultTheme:_={}}){const j=useTheme$1(_),$=s&&j[s]||j;let _e=typeof o=="function"?o($):o;return $.modularCssLayers&&(Array.isArray(_e)?_e=_e.map(et=>wrapGlobalLayer(typeof et=="function"?et($):et)):_e=wrapGlobalLayer(_e)),jsx$2(GlobalStyles$2,{styles:_e})}const _excluded$8=["sx"],splitProps=o=>{var s,_;const j={systemProps:{},otherProps:{}},$=(s=o==null||(_=o.theme)==null?void 0:_.unstable_sxConfig)!=null?s:defaultSxConfig$1;return Object.keys(o).forEach(_e=>{$[_e]?j.systemProps[_e]=o[_e]:j.otherProps[_e]=o[_e]}),j};function extendSxProp(o){const{sx:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$8),{systemProps:j,otherProps:$}=splitProps(_);let _e;return Array.isArray(s)?_e=[j,...s]:typeof s=="function"?_e=(...et)=>{const tt=s(...et);return isPlainObject(tt)?_extends$1({},j,tt):j}:_e=_extends$1({},j,s),_extends$1({},$,{sx:_e})}const styleFunctionSx=Object.freeze(Object.defineProperty({__proto__:null,default:styleFunctionSx$2,extendSxProp,unstable_createStyleFunctionSx,unstable_defaultSxConfig:defaultSxConfig$1},Symbol.toStringTag,{value:"Module"})),defaultGenerator=o=>o,createClassNameGenerator=()=>{let o=defaultGenerator;return{configure(s){o=s},generate(s){return o(s)},reset(){o=defaultGenerator}}},ClassNameGenerator=createClassNameGenerator(),ClassNameGenerator$1=ClassNameGenerator;function r(o){var s,_,j="";if(typeof o=="string"||typeof o=="number")j+=o;else if(typeof o=="object")if(Array.isArray(o)){var $=o.length;for(s=0;s<$;s++)o[s]&&(_=r(o[s]))&&(j&&(j+=" "),j+=_)}else for(_ in o)o[_]&&(j&&(j+=" "),j+=_);return j}function clsx(){for(var o,s,_=0,j="",$=arguments.length;_<$;_++)(o=arguments[_])&&(s=r(o))&&(j&&(j+=" "),j+=s);return j}const globalStateClasses={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function generateUtilityClass(o,s,_="Mui"){const j=globalStateClasses[s];return j?`${_}-${j}`:`${ClassNameGenerator$1.generate(o)}-${s}`}function generateUtilityClasses(o,s,_="Mui"){const j={};return s.forEach($=>{j[$]=generateUtilityClass(o,$,_)}),j}var reactIs={exports:{}},reactIs_production={};/** + * @license React + * react-is.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var REACT_ELEMENT_TYPE=Symbol.for("react.transitional.element"),REACT_PORTAL_TYPE=Symbol.for("react.portal"),REACT_FRAGMENT_TYPE=Symbol.for("react.fragment"),REACT_STRICT_MODE_TYPE=Symbol.for("react.strict_mode"),REACT_PROFILER_TYPE=Symbol.for("react.profiler"),REACT_CONSUMER_TYPE=Symbol.for("react.consumer"),REACT_CONTEXT_TYPE=Symbol.for("react.context"),REACT_FORWARD_REF_TYPE=Symbol.for("react.forward_ref"),REACT_SUSPENSE_TYPE=Symbol.for("react.suspense"),REACT_SUSPENSE_LIST_TYPE=Symbol.for("react.suspense_list"),REACT_MEMO_TYPE=Symbol.for("react.memo"),REACT_LAZY_TYPE=Symbol.for("react.lazy"),REACT_VIEW_TRANSITION_TYPE=Symbol.for("react.view_transition"),REACT_CLIENT_REFERENCE=Symbol.for("react.client.reference");function typeOf(o){if(typeof o=="object"&&o!==null){var s=o.$$typeof;switch(s){case REACT_ELEMENT_TYPE:switch(o=o.type,o){case REACT_FRAGMENT_TYPE:case REACT_PROFILER_TYPE:case REACT_STRICT_MODE_TYPE:case REACT_SUSPENSE_TYPE:case REACT_SUSPENSE_LIST_TYPE:case REACT_VIEW_TRANSITION_TYPE:return o;default:switch(o=o&&o.$$typeof,o){case REACT_CONTEXT_TYPE:case REACT_FORWARD_REF_TYPE:case REACT_LAZY_TYPE:case REACT_MEMO_TYPE:return o;case REACT_CONSUMER_TYPE:return o;default:return s}}case REACT_PORTAL_TYPE:return s}}}reactIs_production.ContextConsumer=REACT_CONSUMER_TYPE;reactIs_production.ContextProvider=REACT_CONTEXT_TYPE;reactIs_production.Element=REACT_ELEMENT_TYPE;reactIs_production.ForwardRef=REACT_FORWARD_REF_TYPE;reactIs_production.Fragment=REACT_FRAGMENT_TYPE;reactIs_production.Lazy=REACT_LAZY_TYPE;reactIs_production.Memo=REACT_MEMO_TYPE;reactIs_production.Portal=REACT_PORTAL_TYPE;reactIs_production.Profiler=REACT_PROFILER_TYPE;reactIs_production.StrictMode=REACT_STRICT_MODE_TYPE;reactIs_production.Suspense=REACT_SUSPENSE_TYPE;reactIs_production.SuspenseList=REACT_SUSPENSE_LIST_TYPE;reactIs_production.isContextConsumer=function(o){return typeOf(o)===REACT_CONSUMER_TYPE};reactIs_production.isContextProvider=function(o){return typeOf(o)===REACT_CONTEXT_TYPE};reactIs_production.isElement=function(o){return typeof o=="object"&&o!==null&&o.$$typeof===REACT_ELEMENT_TYPE};reactIs_production.isForwardRef=function(o){return typeOf(o)===REACT_FORWARD_REF_TYPE};reactIs_production.isFragment=function(o){return typeOf(o)===REACT_FRAGMENT_TYPE};reactIs_production.isLazy=function(o){return typeOf(o)===REACT_LAZY_TYPE};reactIs_production.isMemo=function(o){return typeOf(o)===REACT_MEMO_TYPE};reactIs_production.isPortal=function(o){return typeOf(o)===REACT_PORTAL_TYPE};reactIs_production.isProfiler=function(o){return typeOf(o)===REACT_PROFILER_TYPE};reactIs_production.isStrictMode=function(o){return typeOf(o)===REACT_STRICT_MODE_TYPE};reactIs_production.isSuspense=function(o){return typeOf(o)===REACT_SUSPENSE_TYPE};reactIs_production.isSuspenseList=function(o){return typeOf(o)===REACT_SUSPENSE_LIST_TYPE};reactIs_production.isValidElementType=function(o){return typeof o=="string"||typeof o=="function"||o===REACT_FRAGMENT_TYPE||o===REACT_PROFILER_TYPE||o===REACT_STRICT_MODE_TYPE||o===REACT_SUSPENSE_TYPE||o===REACT_SUSPENSE_LIST_TYPE||typeof o=="object"&&o!==null&&(o.$$typeof===REACT_LAZY_TYPE||o.$$typeof===REACT_MEMO_TYPE||o.$$typeof===REACT_CONTEXT_TYPE||o.$$typeof===REACT_CONSUMER_TYPE||o.$$typeof===REACT_FORWARD_REF_TYPE||o.$$typeof===REACT_CLIENT_REFERENCE||o.getModuleId!==void 0)};reactIs_production.typeOf=typeOf;reactIs.exports=reactIs_production;var reactIsExports=reactIs.exports;const fnNameMatchRegex=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function getFunctionName(o){const s=`${o}`.match(fnNameMatchRegex);return s&&s[1]||""}function getFunctionComponentName(o,s=""){return o.displayName||o.name||getFunctionName(o)||s}function getWrappedName(o,s,_){const j=getFunctionComponentName(s);return o.displayName||(j!==""?`${_}(${j})`:_)}function getDisplayName$1(o){if(o!=null){if(typeof o=="string")return o;if(typeof o=="function")return getFunctionComponentName(o,"Component");if(typeof o=="object")switch(o.$$typeof){case reactIsExports.ForwardRef:return getWrappedName(o,o.render,"ForwardRef");case reactIsExports.Memo:return getWrappedName(o,o.type,"memo");default:return}}}const getDisplayName=Object.freeze(Object.defineProperty({__proto__:null,default:getDisplayName$1,getFunctionName},Symbol.toStringTag,{value:"Module"}));function resolveProps(o,s){const _=_extends$1({},s);return Object.keys(o).forEach(j=>{if(j.toString().match(/^(components|slots)$/))_[j]=_extends$1({},o[j],_[j]);else if(j.toString().match(/^(componentsProps|slotProps)$/)){const $=o[j]||{},_e=s[j];_[j]={},!_e||!Object.keys(_e)?_[j]=$:!$||!Object.keys($)?_[j]=_e:(_[j]=_extends$1({},_e),Object.keys($).forEach(et=>{_[j][et]=resolveProps($[et],_e[et])}))}else _[j]===void 0&&(_[j]=o[j])}),_}const useEnhancedEffect=typeof window<"u"?reactExports.useLayoutEffect:reactExports.useEffect,useEnhancedEffect$1=useEnhancedEffect;function clamp$1(o,s=Number.MIN_SAFE_INTEGER,_=Number.MAX_SAFE_INTEGER){return Math.max(s,Math.min(o,_))}const clamp=Object.freeze(Object.defineProperty({__proto__:null,default:clamp$1},Symbol.toStringTag,{value:"Module"}));let globalId=0;function useGlobalId(o){const[s,_]=reactExports.useState(o),j=o||s;return reactExports.useEffect(()=>{s==null&&(globalId+=1,_(`mui-${globalId}`))},[s]),j}const maybeReactUseId=React$2["useId".toString()];function useId(o){if(maybeReactUseId!==void 0){const s=maybeReactUseId();return o??s}return useGlobalId(o)}function composeClasses(o,s,_=void 0){const j={};return Object.keys(o).forEach($=>{j[$]=o[$].reduce((_e,et)=>{if(et){const tt=s(et);tt!==""&&_e.push(tt),_&&_[et]&&_e.push(_[et])}return _e},[]).join(" ")}),j}const ThemeContext=reactExports.createContext(null),ThemeContext$1=ThemeContext;function useTheme(){return reactExports.useContext(ThemeContext$1)}const hasSymbol=typeof Symbol=="function"&&Symbol.for,nested=hasSymbol?Symbol.for("mui.nested"):"__THEME_NESTED__";function mergeOuterLocalTheme(o,s){return typeof s=="function"?s(o):_extends$1({},o,s)}function ThemeProvider$2(o){const{children:s,theme:_}=o,j=useTheme(),$=reactExports.useMemo(()=>{const _e=j===null?_:mergeOuterLocalTheme(j,_);return _e!=null&&(_e[nested]=j!==null),_e},[_,j]);return jsx$2(ThemeContext$1.Provider,{value:$,children:s})}const _excluded$7=["value"],RtlContext=reactExports.createContext();function RtlProvider(o){let{value:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$7);return jsx$2(RtlContext.Provider,_extends$1({value:s??!0},_))}const PropsContext=reactExports.createContext(void 0);function DefaultPropsProvider({value:o,children:s}){return jsx$2(PropsContext.Provider,{value:o,children:s})}function getThemeProps(o){const{theme:s,name:_,props:j}=o;if(!s||!s.components||!s.components[_])return j;const $=s.components[_];return $.defaultProps?resolveProps($.defaultProps,j):!$.styleOverrides&&!$.variants?resolveProps($,j):j}function useDefaultProps$1({props:o,name:s}){const _=reactExports.useContext(PropsContext);return getThemeProps({props:o,name:s,theme:{components:_}})}function useLayerOrder(o){const s=useTheme$2(),_=useId()||"",{modularCssLayers:j}=o;let $="mui.global, mui.components, mui.theme, mui.custom, mui.sx";return!j||s!==null?$="":typeof j=="string"?$=j.replace(/mui(?!\.)/g,$):$=`@layer ${$};`,useEnhancedEffect$1(()=>{const _e=document.querySelector("head");if(!_e)return;const et=_e.firstChild;if($){var tt;if(et&&(tt=et.hasAttribute)!=null&&tt.call(et,"data-mui-layer-order")&&et.getAttribute("data-mui-layer-order")===_)return;const rt=document.createElement("style");rt.setAttribute("data-mui-layer-order",_),rt.textContent=$,_e.prepend(rt)}else{var nt;(nt=_e.querySelector(`style[data-mui-layer-order="${_}"]`))==null||nt.remove()}},[$,_]),$?jsx$2(GlobalStyles$1,{styles:$}):null}const EMPTY_THEME={};function useThemeScoping(o,s,_,j=!1){return reactExports.useMemo(()=>{const $=o&&s[o]||s;if(typeof _=="function"){const _e=_($),et=o?_extends$1({},s,{[o]:_e}):_e;return j?()=>et:et}return o?_extends$1({},s,{[o]:_}):_extends$1({},s,_)},[o,s,_,j])}function ThemeProvider$1(o){const{children:s,theme:_,themeId:j}=o,$=useTheme$2(EMPTY_THEME),_e=useTheme()||EMPTY_THEME,et=useThemeScoping(j,$,_),tt=useThemeScoping(j,_e,_,!0),nt=et.direction==="rtl",rt=useLayerOrder(et);return jsx$2(ThemeProvider$2,{theme:tt,children:jsx$2(ThemeContext$2.Provider,{value:et,children:jsx$2(RtlProvider,{value:nt,children:jsxs$1(DefaultPropsProvider,{value:et==null?void 0:et.components,children:[rt,s]})})})})}const THEME_ID="$$material",_excluded$6=["theme"];function ThemeProvider(o){let{theme:s}=o,_=_objectWithoutPropertiesLoose$1(o,_excluded$6);const j=s[THEME_ID];let $=j||s;return typeof s!="function"&&(j&&!j.vars?$=_extends$1({},j,{vars:null}):s&&!s.vars&&($=_extends$1({},s,{vars:null}))),jsx$2(ThemeProvider$1,_extends$1({},_,{themeId:j?THEME_ID:void 0,theme:$}))}function useDefaultProps(o){return useDefaultProps$1(o)}function createMixins(o,s){return _extends$1({toolbar:{minHeight:56,[o.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[o.up("sm")]:{minHeight:64}}},s)}var colorManipulator={},interopRequireDefault={exports:{}};(function(o){function s(_){return _&&_.__esModule?_:{default:_}}o.exports=s,o.exports.__esModule=!0,o.exports.default=o.exports})(interopRequireDefault);var interopRequireDefaultExports=interopRequireDefault.exports;const require$$1$2=getAugmentedNamespace(formatMuiErrorMessage),require$$2=getAugmentedNamespace(clamp);var _interopRequireDefault$1=interopRequireDefaultExports;Object.defineProperty(colorManipulator,"__esModule",{value:!0});colorManipulator.alpha=alpha$1;colorManipulator.blend=blend;colorManipulator.colorChannel=void 0;var darken_1=colorManipulator.darken=darken;colorManipulator.decomposeColor=decomposeColor;colorManipulator.emphasize=emphasize;var getContrastRatio_1=colorManipulator.getContrastRatio=getContrastRatio;colorManipulator.getLuminance=getLuminance;colorManipulator.hexToRgb=hexToRgb;colorManipulator.hslToRgb=hslToRgb;var lighten_1=colorManipulator.lighten=lighten;colorManipulator.private_safeAlpha=private_safeAlpha;colorManipulator.private_safeColorChannel=void 0;colorManipulator.private_safeDarken=private_safeDarken;colorManipulator.private_safeEmphasize=private_safeEmphasize;colorManipulator.private_safeLighten=private_safeLighten;colorManipulator.recomposeColor=recomposeColor;colorManipulator.rgbToHex=rgbToHex;var _formatMuiErrorMessage2=_interopRequireDefault$1(require$$1$2),_clamp=_interopRequireDefault$1(require$$2);function clampWrapper(o,s=0,_=1){return(0,_clamp.default)(o,s,_)}function hexToRgb(o){o=o.slice(1);const s=new RegExp(`.{1,${o.length>=6?2:1}}`,"g");let _=o.match(s);return _&&_[0].length===1&&(_=_.map(j=>j+j)),_?`rgb${_.length===4?"a":""}(${_.map((j,$)=>$<3?parseInt(j,16):Math.round(parseInt(j,16)/255*1e3)/1e3).join(", ")})`:""}function intToHex(o){const s=o.toString(16);return s.length===1?`0${s}`:s}function decomposeColor(o){if(o.type)return o;if(o.charAt(0)==="#")return decomposeColor(hexToRgb(o));const s=o.indexOf("("),_=o.substring(0,s);if(["rgb","rgba","hsl","hsla","color"].indexOf(_)===-1)throw new Error((0,_formatMuiErrorMessage2.default)(9,o));let j=o.substring(s+1,o.length-1),$;if(_==="color"){if(j=j.split(" "),$=j.shift(),j.length===4&&j[3].charAt(0)==="/"&&(j[3]=j[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf($)===-1)throw new Error((0,_formatMuiErrorMessage2.default)(10,$))}else j=j.split(",");return j=j.map(_e=>parseFloat(_e)),{type:_,values:j,colorSpace:$}}const colorChannel=o=>{const s=decomposeColor(o);return s.values.slice(0,3).map((_,j)=>s.type.indexOf("hsl")!==-1&&j!==0?`${_}%`:_).join(" ")};colorManipulator.colorChannel=colorChannel;const private_safeColorChannel=(o,s)=>{try{return colorChannel(o)}catch{return o}};colorManipulator.private_safeColorChannel=private_safeColorChannel;function recomposeColor(o){const{type:s,colorSpace:_}=o;let{values:j}=o;return s.indexOf("rgb")!==-1?j=j.map(($,_e)=>_e<3?parseInt($,10):$):s.indexOf("hsl")!==-1&&(j[1]=`${j[1]}%`,j[2]=`${j[2]}%`),s.indexOf("color")!==-1?j=`${_} ${j.join(" ")}`:j=`${j.join(", ")}`,`${s}(${j})`}function rgbToHex(o){if(o.indexOf("#")===0)return o;const{values:s}=decomposeColor(o);return`#${s.map((_,j)=>intToHex(j===3?Math.round(255*_):_)).join("")}`}function hslToRgb(o){o=decomposeColor(o);const{values:s}=o,_=s[0],j=s[1]/100,$=s[2]/100,_e=j*Math.min($,1-$),et=(rt,ot=(rt+_/30)%12)=>$-_e*Math.max(Math.min(ot-3,9-ot,1),-1);let tt="rgb";const nt=[Math.round(et(0)*255),Math.round(et(8)*255),Math.round(et(4)*255)];return o.type==="hsla"&&(tt+="a",nt.push(s[3])),recomposeColor({type:tt,values:nt})}function getLuminance(o){o=decomposeColor(o);let s=o.type==="hsl"||o.type==="hsla"?decomposeColor(hslToRgb(o)).values:o.values;return s=s.map(_=>(o.type!=="color"&&(_/=255),_<=.03928?_/12.92:((_+.055)/1.055)**2.4)),Number((.2126*s[0]+.7152*s[1]+.0722*s[2]).toFixed(3))}function getContrastRatio(o,s){const _=getLuminance(o),j=getLuminance(s);return(Math.max(_,j)+.05)/(Math.min(_,j)+.05)}function alpha$1(o,s){return o=decomposeColor(o),s=clampWrapper(s),(o.type==="rgb"||o.type==="hsl")&&(o.type+="a"),o.type==="color"?o.values[3]=`/${s}`:o.values[3]=s,recomposeColor(o)}function private_safeAlpha(o,s,_){try{return alpha$1(o,s)}catch{return o}}function darken(o,s){if(o=decomposeColor(o),s=clampWrapper(s),o.type.indexOf("hsl")!==-1)o.values[2]*=1-s;else if(o.type.indexOf("rgb")!==-1||o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]*=1-s;return recomposeColor(o)}function private_safeDarken(o,s,_){try{return darken(o,s)}catch{return o}}function lighten(o,s){if(o=decomposeColor(o),s=clampWrapper(s),o.type.indexOf("hsl")!==-1)o.values[2]+=(100-o.values[2])*s;else if(o.type.indexOf("rgb")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(255-o.values[_])*s;else if(o.type.indexOf("color")!==-1)for(let _=0;_<3;_+=1)o.values[_]+=(1-o.values[_])*s;return recomposeColor(o)}function private_safeLighten(o,s,_){try{return lighten(o,s)}catch{return o}}function emphasize(o,s=.15){return getLuminance(o)>.5?darken(o,s):lighten(o,s)}function private_safeEmphasize(o,s,_){try{return emphasize(o,s)}catch{return o}}function blend(o,s,_,j=1){const $=(nt,rt)=>Math.round((nt**(1/j)*(1-_)+rt**(1/j)*_)**j),_e=decomposeColor(o),et=decomposeColor(s),tt=[$(_e.values[0],et.values[0]),$(_e.values[1],et.values[1]),$(_e.values[2],et.values[2])];return recomposeColor({type:"rgb",values:tt})}const common$1={black:"#000",white:"#fff"},common$2=common$1,grey={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},grey$1=grey,purple={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},purple$1=purple,red={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},red$1=red,orange={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},orange$1=orange,blue={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},blue$1=blue,lightBlue={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},lightBlue$1=lightBlue,green={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},green$1=green,_excluded$5=["mode","contrastThreshold","tonalOffset"],light={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:common$2.white,default:common$2.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},dark={text:{primary:common$2.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:common$2.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function addLightOrDark(o,s,_,j){const $=j.light||j,_e=j.dark||j*1.5;o[s]||(o.hasOwnProperty(_)?o[s]=o[_]:s==="light"?o.light=lighten_1(o.main,$):s==="dark"&&(o.dark=darken_1(o.main,_e)))}function getDefaultPrimary(o="light"){return o==="dark"?{main:blue$1[200],light:blue$1[50],dark:blue$1[400]}:{main:blue$1[700],light:blue$1[400],dark:blue$1[800]}}function getDefaultSecondary(o="light"){return o==="dark"?{main:purple$1[200],light:purple$1[50],dark:purple$1[400]}:{main:purple$1[500],light:purple$1[300],dark:purple$1[700]}}function getDefaultError(o="light"){return o==="dark"?{main:red$1[500],light:red$1[300],dark:red$1[700]}:{main:red$1[700],light:red$1[400],dark:red$1[800]}}function getDefaultInfo(o="light"){return o==="dark"?{main:lightBlue$1[400],light:lightBlue$1[300],dark:lightBlue$1[700]}:{main:lightBlue$1[700],light:lightBlue$1[500],dark:lightBlue$1[900]}}function getDefaultSuccess(o="light"){return o==="dark"?{main:green$1[400],light:green$1[300],dark:green$1[700]}:{main:green$1[800],light:green$1[500],dark:green$1[900]}}function getDefaultWarning(o="light"){return o==="dark"?{main:orange$1[400],light:orange$1[300],dark:orange$1[700]}:{main:"#ed6c02",light:orange$1[500],dark:orange$1[900]}}function createPalette(o){const{mode:s="light",contrastThreshold:_=3,tonalOffset:j=.2}=o,$=_objectWithoutPropertiesLoose$1(o,_excluded$5),_e=o.primary||getDefaultPrimary(s),et=o.secondary||getDefaultSecondary(s),tt=o.error||getDefaultError(s),nt=o.info||getDefaultInfo(s),rt=o.success||getDefaultSuccess(s),ot=o.warning||getDefaultWarning(s);function ut(ct){return getContrastRatio_1(ct,dark.text.primary)>=_?dark.text.primary:light.text.primary}const dt=({color:ct,name:pt,mainShade:Bt=500,lightShade:Qt=300,darkShade:gt=700})=>{if(ct=_extends$1({},ct),!ct.main&&ct[Bt]&&(ct.main=ct[Bt]),!ct.hasOwnProperty("main"))throw new Error(formatMuiErrorMessage$1(11,pt?` (${pt})`:"",Bt));if(typeof ct.main!="string")throw new Error(formatMuiErrorMessage$1(12,pt?` (${pt})`:"",JSON.stringify(ct.main)));return addLightOrDark(ct,"light",Qt,j),addLightOrDark(ct,"dark",gt,j),ct.contrastText||(ct.contrastText=ut(ct.main)),ct},Ut={dark,light};return deepmerge$1(_extends$1({common:_extends$1({},common$2),mode:s,primary:dt({color:_e,name:"primary"}),secondary:dt({color:et,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:dt({color:tt,name:"error"}),warning:dt({color:ot,name:"warning"}),info:dt({color:nt,name:"info"}),success:dt({color:rt,name:"success"}),grey:grey$1,contrastThreshold:_,getContrastText:ut,augmentColor:dt,tonalOffset:j},Ut[s]),$)}const _excluded$4=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function round$1(o){return Math.round(o*1e5)/1e5}const caseAllCaps={textTransform:"uppercase"},defaultFontFamily='"Roboto", "Helvetica", "Arial", sans-serif';function createTypography(o,s){const _=typeof s=="function"?s(o):s,{fontFamily:j=defaultFontFamily,fontSize:$=14,fontWeightLight:_e=300,fontWeightRegular:et=400,fontWeightMedium:tt=500,fontWeightBold:nt=700,htmlFontSize:rt=16,allVariants:ot,pxToRem:ut}=_,dt=_objectWithoutPropertiesLoose$1(_,_excluded$4),Ut=$/14,st=ut||(Bt=>`${Bt/rt*Ut}rem`),ct=(Bt,Qt,gt,ft,Ft)=>_extends$1({fontFamily:j,fontWeight:Bt,fontSize:st(Qt),lineHeight:gt},j===defaultFontFamily?{letterSpacing:`${round$1(ft/Qt)}em`}:{},Ft,ot),pt={h1:ct(_e,96,1.167,-1.5),h2:ct(_e,60,1.2,-.5),h3:ct(et,48,1.167,0),h4:ct(et,34,1.235,.25),h5:ct(et,24,1.334,0),h6:ct(tt,20,1.6,.15),subtitle1:ct(et,16,1.75,.15),subtitle2:ct(tt,14,1.57,.1),body1:ct(et,16,1.5,.15),body2:ct(et,14,1.43,.15),button:ct(tt,14,1.75,.4,caseAllCaps),caption:ct(et,12,1.66,.4),overline:ct(et,12,2.66,1,caseAllCaps),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return deepmerge$1(_extends$1({htmlFontSize:rt,pxToRem:st,fontFamily:j,fontSize:$,fontWeightLight:_e,fontWeightRegular:et,fontWeightMedium:tt,fontWeightBold:nt},pt),dt,{clone:!1})}const shadowKeyUmbraOpacity=.2,shadowKeyPenumbraOpacity=.14,shadowAmbientShadowOpacity=.12;function createShadow(...o){return[`${o[0]}px ${o[1]}px ${o[2]}px ${o[3]}px rgba(0,0,0,${shadowKeyUmbraOpacity})`,`${o[4]}px ${o[5]}px ${o[6]}px ${o[7]}px rgba(0,0,0,${shadowKeyPenumbraOpacity})`,`${o[8]}px ${o[9]}px ${o[10]}px ${o[11]}px rgba(0,0,0,${shadowAmbientShadowOpacity})`].join(",")}const shadows=["none",createShadow(0,2,1,-1,0,1,1,0,0,1,3,0),createShadow(0,3,1,-2,0,2,2,0,0,1,5,0),createShadow(0,3,3,-2,0,3,4,0,0,1,8,0),createShadow(0,2,4,-1,0,4,5,0,0,1,10,0),createShadow(0,3,5,-1,0,5,8,0,0,1,14,0),createShadow(0,3,5,-1,0,6,10,0,0,1,18,0),createShadow(0,4,5,-2,0,7,10,1,0,2,16,1),createShadow(0,5,5,-3,0,8,10,1,0,3,14,2),createShadow(0,5,6,-3,0,9,12,1,0,3,16,2),createShadow(0,6,6,-3,0,10,14,1,0,4,18,3),createShadow(0,6,7,-4,0,11,15,1,0,4,20,3),createShadow(0,7,8,-4,0,12,17,2,0,5,22,4),createShadow(0,7,8,-4,0,13,19,2,0,5,24,4),createShadow(0,7,9,-4,0,14,21,2,0,5,26,4),createShadow(0,8,9,-5,0,15,22,2,0,6,28,5),createShadow(0,8,10,-5,0,16,24,2,0,6,30,5),createShadow(0,8,11,-5,0,17,26,2,0,6,32,5),createShadow(0,9,11,-5,0,18,28,2,0,7,34,6),createShadow(0,9,12,-6,0,19,29,2,0,7,36,6),createShadow(0,10,13,-6,0,20,31,3,0,8,38,7),createShadow(0,10,13,-6,0,21,33,3,0,8,40,7),createShadow(0,10,14,-6,0,22,35,3,0,8,42,7),createShadow(0,11,14,-7,0,23,36,3,0,9,44,8),createShadow(0,11,15,-7,0,24,38,3,0,9,46,8)],shadows$1=shadows,_excluded$3=["duration","easing","delay"],easing={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},duration$3={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function formatMs(o){return`${Math.round(o)}ms`}function getAutoHeightDuration(o){if(!o)return 0;const s=o/36;return Math.round((4+15*s**.25+s/5)*10)}function createTransitions(o){const s=_extends$1({},easing,o.easing),_=_extends$1({},duration$3,o.duration);return _extends$1({getAutoHeightDuration,create:($=["all"],_e={})=>{const{duration:et=_.standard,easing:tt=s.easeInOut,delay:nt=0}=_e;return _objectWithoutPropertiesLoose$1(_e,_excluded$3),(Array.isArray($)?$:[$]).map(rt=>`${rt} ${typeof et=="string"?et:formatMs(et)} ${tt} ${typeof nt=="string"?nt:formatMs(nt)}`).join(",")}},o,{easing:s,duration:_})}const zIndex={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},zIndex$1=zIndex,_excluded$2=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function createTheme(o={},...s){const{mixins:_={},palette:j={},transitions:$={},typography:_e={}}=o,et=_objectWithoutPropertiesLoose$1(o,_excluded$2);if(o.vars&&o.generateCssVars===void 0)throw new Error(formatMuiErrorMessage$1(18));const tt=createPalette(j),nt=createTheme$2(o);let rt=deepmerge$1(nt,{mixins:createMixins(nt.breakpoints,_),palette:tt,shadows:shadows$1.slice(),typography:createTypography(tt,_e),transitions:createTransitions($),zIndex:_extends$1({},zIndex$1)});return rt=deepmerge$1(rt,et),rt=s.reduce((ot,ut)=>deepmerge$1(ot,ut),rt),rt.unstable_sxConfig=_extends$1({},defaultSxConfig$1,et==null?void 0:et.unstable_sxConfig),rt.unstable_sx=function(ut){return styleFunctionSx$2({sx:ut,theme:this})},rt}const defaultTheme=createTheme(),defaultTheme$1=defaultTheme;function GlobalStyles(o){return jsx$2(GlobalStyles$1,_extends$1({},o,{defaultTheme:defaultTheme$1,themeId:THEME_ID}))}const html=(o,s)=>_extends$1({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},s&&!o.vars&&{colorScheme:o.palette.mode}),body=o=>_extends$1({color:(o.vars||o).palette.text.primary},o.typography.body1,{backgroundColor:(o.vars||o).palette.background.default,"@media print":{backgroundColor:(o.vars||o).palette.common.white}}),styles=(o,s=!1)=>{var _;const j={};s&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([et,tt])=>{var nt;j[o.getColorSchemeSelector(et).replace(/\s*&/,"")]={colorScheme:(nt=tt.palette)==null?void 0:nt.mode}});let $=_extends$1({html:html(o,s),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:o.typography.fontWeightBold},body:_extends$1({margin:0},body(o),{"&::backdrop":{backgroundColor:(o.vars||o).palette.background.default}})},j);const _e=(_=o.components)==null||(_=_.MuiCssBaseline)==null?void 0:_.styleOverrides;return _e&&($=[$,_e]),$};function CssBaseline(o){const s=useDefaultProps({props:o,name:"MuiCssBaseline"}),{children:_,enableColorScheme:j=!1}=s;return jsxs$1(reactExports.Fragment,{children:[jsx$2(GlobalStyles,{styles:$=>styles($,j)}),_]})}var createStyled$1={};const require$$1$1=getAugmentedNamespace(_extends$2);var objectWithoutPropertiesLoose={exports:{}},hasRequiredObjectWithoutPropertiesLoose;function requireObjectWithoutPropertiesLoose(){return hasRequiredObjectWithoutPropertiesLoose||(hasRequiredObjectWithoutPropertiesLoose=1,function(o){function s(_,j){if(_==null)return{};var $={};for(var _e in _)if({}.hasOwnProperty.call(_,_e)){if(j.indexOf(_e)!==-1)continue;$[_e]=_[_e]}return $}o.exports=s,o.exports.__esModule=!0,o.exports.default=o.exports}(objectWithoutPropertiesLoose)),objectWithoutPropertiesLoose.exports}const require$$1=getAugmentedNamespace(styledEngine),require$$4=getAugmentedNamespace(deepmerge),require$$5=getAugmentedNamespace(capitalize),require$$6=getAugmentedNamespace(getDisplayName),require$$7=getAugmentedNamespace(createTheme$1),require$$8=getAugmentedNamespace(styleFunctionSx);var _interopRequireDefault=interopRequireDefaultExports;Object.defineProperty(createStyled$1,"__esModule",{value:!0});var _default=createStyled$1.default=createStyled;createStyled$1.shouldForwardProp=shouldForwardProp;createStyled$1.systemDefaultTheme=void 0;var _extends2=_interopRequireDefault(require$$1$1),_objectWithoutPropertiesLoose2=_interopRequireDefault(requireObjectWithoutPropertiesLoose()),_styledEngine=_interopRequireWildcard(require$$1),_deepmerge=require$$4;_interopRequireDefault(require$$5);_interopRequireDefault(require$$6);var _createTheme=_interopRequireDefault(require$$7),_styleFunctionSx=_interopRequireDefault(require$$8);const _excluded$1=["ownerState"],_excluded2=["variants"],_excluded3=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function _getRequireWildcardCache(o){if(typeof WeakMap!="function")return null;var s=new WeakMap,_=new WeakMap;return(_getRequireWildcardCache=function(j){return j?_:s})(o)}function _interopRequireWildcard(o,s){if(!s&&o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var _=_getRequireWildcardCache(s);if(_&&_.has(o))return _.get(o);var j={__proto__:null},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _e in o)if(_e!=="default"&&Object.prototype.hasOwnProperty.call(o,_e)){var et=$?Object.getOwnPropertyDescriptor(o,_e):null;et&&(et.get||et.set)?Object.defineProperty(j,_e,et):j[_e]=o[_e]}return j.default=o,_&&_.set(o,j),j}function isEmpty(o){return Object.keys(o).length===0}function isStringTag(o){return typeof o=="string"&&o.charCodeAt(0)>96}function shouldForwardProp(o){return o!=="ownerState"&&o!=="theme"&&o!=="sx"&&o!=="as"}function shallowLayer(o,s){return s&&o&&typeof o=="object"&&o.styles&&!o.styles.startsWith("@layer")&&(o.styles=`@layer ${s}{${String(o.styles)}}`),o}const systemDefaultTheme=createStyled$1.systemDefaultTheme=(0,_createTheme.default)(),lowercaseFirstLetter=o=>o&&o.charAt(0).toLowerCase()+o.slice(1);function resolveTheme({defaultTheme:o,theme:s,themeId:_}){return isEmpty(s)?o:s[_]||s}function defaultOverridesResolver(o){return o?(s,_)=>_[o]:null}function processStyleArg(o,s,_){let{ownerState:j}=s,$=(0,_objectWithoutPropertiesLoose2.default)(s,_excluded$1);const _e=typeof o=="function"?o((0,_extends2.default)({ownerState:j},$)):o;if(Array.isArray(_e))return _e.flatMap(et=>processStyleArg(et,(0,_extends2.default)({ownerState:j},$),_));if(_e&&typeof _e=="object"&&Array.isArray(_e.variants)){const{variants:et=[]}=_e;let nt=(0,_objectWithoutPropertiesLoose2.default)(_e,_excluded2);return et.forEach(rt=>{let ot=!0;if(typeof rt.props=="function"?ot=rt.props((0,_extends2.default)({ownerState:j},$,j)):Object.keys(rt.props).forEach(ut=>{(j==null?void 0:j[ut])!==rt.props[ut]&&$[ut]!==rt.props[ut]&&(ot=!1)}),ot){Array.isArray(nt)||(nt=[nt]);const ut=typeof rt.style=="function"?rt.style((0,_extends2.default)({ownerState:j},$,j)):rt.style;nt.push(_?shallowLayer((0,_styledEngine.internal_serializeStyles)(ut),_):ut)}}),nt}return _?shallowLayer((0,_styledEngine.internal_serializeStyles)(_e),_):_e}function createStyled(o={}){const{themeId:s,defaultTheme:_=systemDefaultTheme,rootShouldForwardProp:j=shouldForwardProp,slotShouldForwardProp:$=shouldForwardProp}=o,_e=et=>(0,_styleFunctionSx.default)((0,_extends2.default)({},et,{theme:resolveTheme((0,_extends2.default)({},et,{defaultTheme:_,themeId:s}))}));return _e.__mui_systemSx=!0,(et,tt={})=>{(0,_styledEngine.internal_processStyles)(et,yt=>yt.filter(Ct=>!(Ct!=null&&Ct.__mui_systemSx)));const{name:nt,slot:rt,skipVariantsResolver:ot,skipSx:ut,overridesResolver:dt=defaultOverridesResolver(lowercaseFirstLetter(rt))}=tt,Ut=(0,_objectWithoutPropertiesLoose2.default)(tt,_excluded3),st=nt&&nt.startsWith("Mui")||rt?"components":"custom",ct=ot!==void 0?ot:rt&&rt!=="Root"&&rt!=="root"||!1,pt=ut||!1;let Bt,Qt=shouldForwardProp;rt==="Root"||rt==="root"?Qt=j:rt?Qt=$:isStringTag(et)&&(Qt=void 0);const gt=(0,_styledEngine.default)(et,(0,_extends2.default)({shouldForwardProp:Qt,label:Bt},Ut)),ft=yt=>typeof yt=="function"&&yt.__emotion_real!==yt||(0,_deepmerge.isPlainObject)(yt)?Ct=>{const xt=resolveTheme({theme:Ct.theme,defaultTheme:_,themeId:s});return processStyleArg(yt,(0,_extends2.default)({},Ct,{theme:xt}),xt.modularCssLayers?st:void 0)}:yt,Ft=(yt,...Ct)=>{let xt=ft(yt);const ht=Ct?Ct.map(ft):[];nt&&dt&&ht.push(vt=>{const Tt=resolveTheme((0,_extends2.default)({},vt,{defaultTheme:_,themeId:s}));if(!Tt.components||!Tt.components[nt]||!Tt.components[nt].styleOverrides)return null;const Ot=Tt.components[nt].styleOverrides,_t={};return Object.entries(Ot).forEach(([Wt,bt])=>{_t[Wt]=processStyleArg(bt,(0,_extends2.default)({},vt,{theme:Tt}),Tt.modularCssLayers?"theme":void 0)}),dt(vt,_t)}),nt&&!ct&&ht.push(vt=>{var Tt;const Ot=resolveTheme((0,_extends2.default)({},vt,{defaultTheme:_,themeId:s})),_t=Ot==null||(Tt=Ot.components)==null||(Tt=Tt[nt])==null?void 0:Tt.variants;return processStyleArg({variants:_t},(0,_extends2.default)({},vt,{theme:Ot}),Ot.modularCssLayers?"theme":void 0)}),pt||ht.push(_e);const mt=ht.length-Ct.length;if(Array.isArray(yt)&&mt>0){const vt=new Array(mt).fill("");xt=[...yt,...vt],xt.raw=[...yt.raw,...vt]}const It=gt(xt,...ht);return et.muiName&&(It.muiName=et.muiName),It};return gt.withConfig&&(Ft.withConfig=gt.withConfig),Ft}}function slotShouldForwardProp(o){return o!=="ownerState"&&o!=="theme"&&o!=="sx"&&o!=="as"}const rootShouldForwardProp=o=>slotShouldForwardProp(o)&&o!=="classes",rootShouldForwardProp$1=rootShouldForwardProp,styled=_default({themeId:THEME_ID,defaultTheme:defaultTheme$1,rootShouldForwardProp:rootShouldForwardProp$1}),styled$1=styled;function getScopedCssBaselineUtilityClass(o){return generateUtilityClass("MuiScopedCssBaseline",o)}generateUtilityClasses("MuiScopedCssBaseline",["root"]);const _excluded=["className","component","enableColorScheme"],useUtilityClasses=o=>{const{classes:s}=o;return composeClasses({root:["root"]},getScopedCssBaselineUtilityClass,s)},ScopedCssBaselineRoot=styled$1("div",{name:"MuiScopedCssBaseline",slot:"Root",overridesResolver:(o,s)=>s.root})(({theme:o,ownerState:s})=>{const _={};return s.enableColorScheme&&o.colorSchemes&&Object.entries(o.colorSchemes).forEach(([j,$])=>{var _e;_[`&${o.getColorSchemeSelector(j).replace(/\s*&/,"")}`]={colorScheme:(_e=$.palette)==null?void 0:_e.mode}}),_extends$1({},html(o,s.enableColorScheme),body(o),{"& *, & *::before, & *::after":{boxSizing:"inherit"},"& strong, & b":{fontWeight:o.typography.fontWeightBold}},_)}),ScopedCssBaseline=reactExports.forwardRef(function(s,_){const j=useDefaultProps({props:s,name:"MuiScopedCssBaseline"}),{className:$,component:_e="div"}=j,et=_objectWithoutPropertiesLoose$1(j,_excluded),tt=_extends$1({},j,{component:_e}),nt=useUtilityClasses(tt);return jsx$2(ScopedCssBaselineRoot,_extends$1({as:_e,className:clsx(nt.root,$),ref:_,ownerState:tt},et))}),D0=ScopedCssBaseline;var Bn=Object.defineProperty,Sn=(o,s,_)=>s in o?Bn(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,he=(o,s,_)=>(Sn(o,typeof s!="symbol"?s+"":s,_),_);const DEFAULT_FORMANT_API_URL="https://api.formant.io";function whichFormantApiUrl(o,s,_){try{if(s.get("formant_prod"))return"https://api.formant.io";if(s.get("formant_stage"))return"https://api-stage.formant.io";if(s.get("formant_dev"))return"https://api-dev.formant.io";if(s.get("formant_local"))return"https://api.formant.local";if(s.get("formant_url")){const j=s.get("formant_url");if(j!==null)try{return new URL(j).origin}catch{console.warn(`Ignoring malformed \`formant_url\` url parameter: ${j}`)}}if(_){if(_.includes("app-dev.formant.io")||_.includes("v2-coherence-dev.vercel.app")||_.includes("localhost"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io")||_.includes("v2-coherence.vercel.app"))return"https://api.formant.io"}}catch{}if(_){if(_.includes("app-dev.formant.io"))return"https://api-dev.formant.io";if(_.includes("app-stage.formant.io"))return"https://api-stage.formant.io";if(_.includes("app.formant.io"))return"https://api.formant.io"}return typeof o<"u"&&"FORMANT_API_URL"in o&&typeof o.FORMANT_API_URL=="string"?o.FORMANT_API_URL:DEFAULT_FORMANT_API_URL}let FORMANT_API_URL=whichFormantApiUrl(typeof window<"u"?window:globalThis,new URLSearchParams(typeof window<"u"&&window.location?window.location.search:void 0),typeof window<"u"&&window.location?window.location.host:void 0);const setFormantApiUrl=o=>{FORMANT_API_URL=o};function addAccessTokenRefreshListener(o){function s(_){const j=_.data;j.type==="auth_token"&&o(j.token)}return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}}function getCurrentModuleContext(){return typeof window<"u"&&window.location?new URLSearchParams(window.location.search).get("module"):null}function sendAppMessage(o){if(!(window&&window.parent))throw new Error("cannot send message to non-existent parent");window.parent.postMessage(o,"*")}function refreshAuthToken(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"refresh_auth_token",module:o})}var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var base64={exports:{}};/*! https://mths.be/base64 v1.0.0 by @mathias | MIT license */base64.exports;(function(o,s){(function(_){var j=s,$=o&&o.exports==j&&o,_e=typeof commonjsGlobal=="object"&&commonjsGlobal;(_e.global===_e||_e.window===_e)&&(_=_e);var et=function(st){this.message=st};et.prototype=new Error,et.prototype.name="InvalidCharacterError";var tt=function(st){throw new et(st)},nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",rt=/[\t\n\f\r ]/g,ot=function(st){st=String(st).replace(rt,"");var ct=st.length;ct%4==0&&(st=st.replace(/==?$/,""),ct=st.length),(ct%4==1||/[^+a-zA-Z0-9/]/.test(st))&&tt("Invalid character: the string to be decoded is not correctly encoded.");for(var pt=0,Bt,Qt,gt="",ft=-1;++ft>(-2*pt&6)));return gt},ut=function(st){st=String(st),/[^\0-\xFF]/.test(st)&&tt("The string to be encoded contains characters outside of the Latin1 range.");for(var ct=st.length%3,pt="",Bt=-1,Qt,gt,ft,Ft,yt=st.length-ct;++Bt>18&63)+nt.charAt(Ft>>12&63)+nt.charAt(Ft>>6&63)+nt.charAt(Ft&63);return ct==2?(Qt=st.charCodeAt(Bt)<<8,gt=st.charCodeAt(++Bt),Ft=Qt+gt,pt+=nt.charAt(Ft>>10)+nt.charAt(Ft>>4&63)+nt.charAt(Ft<<2&63)+"="):ct==1&&(Ft=st.charCodeAt(Bt),pt+=nt.charAt(Ft>>2)+nt.charAt(Ft<<4&63)+"=="),pt},dt={encode:ut,decode:ot,version:"1.0.0"};if(j&&!j.nodeType)if($)$.exports=dt;else for(var Ut in dt)dt.hasOwnProperty(Ut)&&(j[Ut]=dt[Ut]);else _.base64=dt})(commonjsGlobal)})(base64,base64.exports);var base64Exports=base64.exports;class LoginFailureError extends Error{constructor(s){super("login failed"),he(this,"reason"),this.reason=s,this.name="LoginFailureError",Object.setPrototypeOf(this,new.target.prototype)}}class LoginChallengedError extends Error{constructor(s){super("login challenged"),he(this,"challenge"),this.challenge=s,this.name="LoginChallengedError",Object.setPrototypeOf(this,new.target.prototype)}}class AuthenticationStore{constructor({apiUrl:s,refreshAuthToken:_,addAccessTokenRefreshListener:j}){he(this,"_refreshToken"),he(this,"_isShareToken",!1),he(this,"_currentOrganization"),he(this,"_currentUser"),he(this,"_defaultDeviceId"),he(this,"_token"),he(this,"_waitingForAuth",new Set),he(this,"_refreshTimer"),he(this,"_apiUrl"),he(this,"_refreshAuthToken"),he(this,"_addAccessTokenRefreshListener"),this._apiUrl=s,this._refreshAuthToken=_,this._addAccessTokenRefreshListener=j}set apiUrl(s){this._apiUrl=s,setFormantApiUrl(s)}get apiUrl(){return this._apiUrl}get token(){return this._token}get currentUser(){return this._currentUser}get currentOrganization(){return this._currentOrganization}get defaultDeviceId(){return this._defaultDeviceId}get refreshToken(){return this._refreshToken}get isShareToken(){return this._isShareToken}async login(s,_,j={}){const{advanced:$=!1}=j;try{const _e=await fetch(`${this._apiUrl}/v1/admin/auth/login`,{method:"POST",body:JSON.stringify({email:s,password:_}),headers:{"Content-Type":"application/json"}}),et=await _e.json();if(_e.status!==200)throw new LoginFailureError(et.message);if("challenge"in et)throw new LoginChallengedError(et.challenge);const{authentication:tt}=et;return await this.loginWithToken(tt.accessToken,tt.refreshToken),$?{result:"success",authentication:tt}:tt}catch(_e){if($||console.error("login() failed",{err:_e}),this._waitingForAuth.forEach(et=>et(!1)),this._waitingForAuth.clear(),!$)throw _e;return _e instanceof LoginChallengedError?{result:"challenged",challenge:_e.challenge}:{result:"failure",reason:_e instanceof LoginFailureError?_e.reason:_e instanceof Error?_e.message:String(_e)}}}async loginWithToken(s,_){var j;const $=JSON.parse(base64Exports.decode(s.split(".")[1]));try{let _e;if(this._isShareToken=$["formant:claims"]&&$["formant:claims"].type=="share",$["formant:claims"]&&(this._currentOrganization=$["formant:claims"].organizationId),$["custom:organization_id"]&&(this._currentOrganization=$["custom:organization_id"]),this._isShareToken||(_e=$.sub),$["formant:claims"]&&$["formant:claims"].userId&&(_e=$["formant:claims"].userId),_e&&((j=this._currentUser)==null?void 0:j.id)!==_e){const et=await fetch(`${this._apiUrl}/v1/admin/users/${_e}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+s}}),tt=await et.json();if(et.status===404)this._currentUser=void 0;else{if(et.status!==200)throw new Error(tt.message);this._currentUser=tt}}this._token=s,this._waitingForAuth.forEach(et=>et(!0))}catch(_e){console.error("loginWithToken() failed",{err:_e}),this._waitingForAuth.forEach(et=>et(!1))}finally{this._waitingForAuth.clear()}_&&(this._refreshToken=_,setInterval(async()=>{if(this._refreshToken){const _e=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:this._refreshToken})})).json();this._token=_e.authentication.accessToken}},1e3*60*60))}isAuthenticated(){return this._token!==void 0}async loginToPeer(s,_,j){if((await fetch(`${s}/login`,{method:"POST",body:JSON.stringify({username:_,password:j}),headers:{"Content-Type":"application/json"}})).status!==200)throw new LoginFailureError("Invalid authentication")}getCurrentUser(){return this._currentUser}async waitTilAuthenticated(){return this.token!==void 0?!0:new Promise(s=>{this._waitingForAuth.add(s)})}async listenForRefresh(){const s=()=>{this._refreshTimer=void 0,this._refreshAuthToken()};this._addAccessTokenRefreshListener(_=>{this._refreshTimer&&clearTimeout(this._refreshTimer),this._refreshTimer=setTimeout(s,36e5),this.loginWithToken(_)}),this._refreshTimer=setTimeout(s,36e5)}async forgotPassword(s){await fetch(`${this._apiUrl}/v1/admin/auth/forgot-password`,{method:"POST",body:JSON.stringify({email:s}),headers:{"Content-Type":"application/json"}})}async confirmForgotPassword(s){return(await fetch(`${this._apiUrl}/v1/admin/auth/confirm-forgot-password`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).ok}async respondToNewPasswordRequiredChallenge(s){const _=await fetch(`${this._apiUrl}/v1/admin/auth/respond-to-new-password-required-challenge`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}});if(_.ok)return await _.json();throw new Error("respond-to-new-password-required-challenge failed")}async loginWithGoogle(s){return await(await fetch(`${this._apiUrl}/v1/admin/auth/login-google`,{method:"POST",body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()}async refresh(s){const _=await(await fetch(`${this._apiUrl}/v1/admin/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:s})})).json();await this.loginWithToken(_.authentication.accessToken,s)}async checkSso(s,_){return await(await fetch(`${this._apiUrl}/v1/admin/auth/check-sso`,{method:"POST",body:JSON.stringify({email:s,allowUserAutoCreation:_}),headers:{"Content-Type":"application/json"}})).json()}async loginWithSso(s,_){const j=await(await fetch(`${this._apiUrl}/v1/admin/auth/login-sso`,{method:"POST",body:JSON.stringify({token:s,refreshToken:_}),headers:{"Content-Type":"application/json"}})).json();if(!j.authentication)throw new Error("Failed to login with SSO");return await this.loginWithToken(j.authentication.accessToken,j.authentication.refreshToken)}}const Authentication=new AuthenticationStore({apiUrl:FORMANT_API_URL,refreshAuthToken,addAccessTokenRefreshListener});async function getModuleConfiguration(o){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/module-configurations/${o}`,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).configuration}function disableAnalyticsBottomBar(){sendAppMessage({type:"hide_analytics_date_picker"})}function goToDevice(o){sendAppMessage({type:"go_to_device",deviceId:o})}function goToTime(o){sendAppMessage({type:"go_to_time",time:o.getTime()})}function requestModuleData(){const o=getCurrentModuleContext();if(!o)throw new Error("No module context");sendAppMessage({type:"request_module_data",module:o})}function sendChannelData(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"send_channel_data",source:_,channel:o,data:s})}function setModuleDateTimeRange(o,s){const _=getCurrentModuleContext();if(!_)throw new Error("No module context");sendAppMessage({type:"set_module_data_time_range",module:_,before:o,after:s||0})}function setupModuleMenus(o){const s=getCurrentModuleContext();if(!s)throw new Error("No module context");sendAppMessage({type:"setup_module_menus",module:s,menus:o})}function showMessage(o){sendAppMessage({type:"show_message",message:o})}function addChannelDataListener(o,s){const _=j=>{const $=j.data;$.type==="channel_data"&&$.channel===o&&s({source:$.source,data:$.data})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addMenuListener(o){const s=_=>{const j=_.data;j.type==="module_menu_item_clicked"&&o(j.menu)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleConfigurationListener(o){const s=_=>{const j=_.data;j.type==="module_configuration"&&o(j)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function addModuleDataListener(o){const s=getCurrentModuleContext();s&&sendAppMessage({type:"request_module_data",module:s});const _=j=>{const $=j.data;$.type==="module_data"&&o({streams:$.streams,time:$.time,queryRange:$.queryRange})};return window.addEventListener("message",_),()=>window.removeEventListener("message",_)}function addOverviewDeviceListener(o){sendAppMessage({type:"request_devices"});const s=_=>{const j=_.data;j.type==="overview_devices"&&o(j.data)};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function _typeof$1(o){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(s){return typeof s}:function(s){return s&&typeof Symbol=="function"&&s.constructor===Symbol&&s!==Symbol.prototype?"symbol":typeof s},_typeof$1(o)}function toInteger(o){if(o===null||o===!0||o===!1)return NaN;var s=Number(o);return isNaN(s)?s:s<0?Math.ceil(s):Math.floor(s)}function requiredArgs(o,s){if(s.length1?"s":"")+" required, but only "+s.length+" present")}function toDate(o){requiredArgs(1,arguments);var s=Object.prototype.toString.call(o);return o instanceof Date||_typeof$1(o)==="object"&&s==="[object Date]"?new Date(o.getTime()):typeof o=="number"||s==="[object Number]"?new Date(o):((typeof o=="string"||s==="[object String]")&&typeof console<"u"&&(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function addDays(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);return isNaN(j)?new Date(NaN):(j&&_.setDate(_.getDate()+j),_)}function addMonths(o,s){requiredArgs(2,arguments);var _=toDate(o),j=toInteger(s);if(isNaN(j))return new Date(NaN);if(!j)return _;var $=_.getDate(),_e=new Date(_.getTime());_e.setMonth(_.getMonth()+j+1,0);var et=_e.getDate();return $>=et?_e:(_.setFullYear(_e.getFullYear(),_e.getMonth(),$),_)}function addMilliseconds(o,s){requiredArgs(2,arguments);var _=toDate(o).getTime(),j=toInteger(s);return new Date(_+j)}var MILLISECONDS_IN_HOUR=36e5;function addHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMilliseconds(o,_*MILLISECONDS_IN_HOUR)}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function startOfWeek(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.weekStartsOn)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.weekStartsOn)!==null&&$!==void 0?$:ot.weekStartsOn)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.weekStartsOn)!==null&&_!==void 0?_:0);if(!(ut>=0&&ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var dt=toDate(o),Ut=dt.getDay(),st=(Ut=et)throw new RangeError("Invalid interval");var tt=[],nt=j,rt=Number((_=s==null?void 0:s.step)!==null&&_!==void 0?_:1);if(rt<1||isNaN(rt))throw new RangeError("`options.step` must be a number equal to or greater than 1");for(;nt.getTime()<=et;)tt.push(toDate(nt)),nt=addMinutes(nt,rt);return tt}function eachMonthOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime(),_e=[];if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var et=_;for(et.setHours(0,0,0,0),et.setDate(1);et.getTime()<=$;)_e.push(toDate(et)),et.setMonth(et.getMonth()+1);return _e}function startOfQuarter(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getMonth(),j=_-_%3;return s.setMonth(j,1),s.setHours(0,0,0,0),s}function eachQuarterOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var _e=startOfQuarter(_),et=startOfQuarter(j);$=et.getTime();for(var tt=[],nt=_e;nt.getTime()<=$;)tt.push(toDate(nt)),nt=addQuarters(nt,1);return tt}function eachWeekOfInterval(o,s){requiredArgs(1,arguments);var _=o||{},j=toDate(_.start),$=toDate(_.end),_e=$.getTime();if(!(j.getTime()<=_e))throw new RangeError("Invalid interval");var et=startOfWeek(j,s),tt=startOfWeek($,s);et.setHours(15),tt.setHours(15),_e=tt.getTime();for(var nt=[],rt=et;rt.getTime()<=_e;)rt.setHours(0),nt.push(toDate(rt)),rt=addWeeks(rt,1),rt.setHours(15);return nt}function startOfMonth(o){requiredArgs(1,arguments);var s=toDate(o);return s.setDate(1),s.setHours(0,0,0,0),s}function endOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=s.getFullYear();return s.setFullYear(_+1,0,0),s.setHours(23,59,59,999),s}function startOfYear(o){requiredArgs(1,arguments);var s=toDate(o),_=new Date(0);return _.setFullYear(s.getFullYear(),0,1),_.setHours(0,0,0,0),_}function eachYearOfInterval(o){requiredArgs(1,arguments);var s=o||{},_=toDate(s.start),j=toDate(s.end),$=j.getTime();if(!(_.getTime()<=$))throw new RangeError("Invalid interval");var _e=[],et=_;for(et.setHours(0,0,0,0),et.setMonth(0,1);et.getTime()<=$;)_e.push(toDate(et)),et.setFullYear(et.getFullYear()+1);return _e}function endOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(59,59,999),s}function endOfWeek(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.weekStartsOn)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.weekStartsOn)!==null&&$!==void 0?$:ot.weekStartsOn)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.weekStartsOn)!==null&&_!==void 0?_:0);if(!(ut>=0&&ut<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var dt=toDate(o),Ut=dt.getDay(),st=(Ut=1&&Ut<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var st=new Date(0);st.setFullYear(ut+1,0,Ut),st.setHours(0,0,0,0);var ct=startOfWeek(st,s),pt=new Date(0);pt.setFullYear(ut,0,Ut),pt.setHours(0,0,0,0);var Bt=startOfWeek(pt,s);return ot.getTime()>=ct.getTime()?ut+1:ot.getTime()>=Bt.getTime()?ut:ut-1}function startOfWeekYear(o,s){var _,j,$,_e,et,tt,nt,rt;requiredArgs(1,arguments);var ot=getDefaultOptions(),ut=toInteger((_=(j=($=(_e=s==null?void 0:s.firstWeekContainsDate)!==null&&_e!==void 0?_e:s==null||(et=s.locale)===null||et===void 0||(tt=et.options)===null||tt===void 0?void 0:tt.firstWeekContainsDate)!==null&&$!==void 0?$:ot.firstWeekContainsDate)!==null&&j!==void 0?j:(nt=ot.locale)===null||nt===void 0||(rt=nt.options)===null||rt===void 0?void 0:rt.firstWeekContainsDate)!==null&&_!==void 0?_:1),dt=getWeekYear(o,s),Ut=new Date(0);Ut.setFullYear(dt,0,ut),Ut.setHours(0,0,0,0);var st=startOfWeek(Ut,s);return st}var MILLISECONDS_IN_WEEK=6048e5;function getWeek(o,s){requiredArgs(1,arguments);var _=toDate(o),j=startOfWeek(_,s).getTime()-startOfWeekYear(_,s).getTime();return Math.round(j/MILLISECONDS_IN_WEEK)+1}function getYear(o){return requiredArgs(1,arguments),toDate(o).getFullYear()}function startOfHour(o){requiredArgs(1,arguments);var s=toDate(o);return s.setMinutes(0,0,0),s}function subDays(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addDays(o,-_)}function roundToNearestMinutes(o,s){var _;if(arguments.length<1)throw new TypeError("1 argument required, but only none provided present");var j=toInteger((_=s==null?void 0:s.nearestTo)!==null&&_!==void 0?_:1);if(j<1||j>30)throw new RangeError("`options.nearestTo` must be between 1 and 30");var $=toDate(o),_e=$.getSeconds(),et=$.getMinutes()+_e/60,tt=getRoundingMethod(s==null?void 0:s.roundingMethod),nt=tt(et/j)*j,rt=et%j,ot=Math.round(rt/j)*j;return new Date($.getFullYear(),$.getMonth(),$.getDate(),$.getHours(),nt+ot)}function subMonths(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMonths(o,-_)}function subHours(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addHours(o,-_)}function subMinutes(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addMinutes(o,-_)}function subQuarters(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addQuarters(o,-_)}function subWeeks(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addWeeks(o,-_)}function subYears(o,s){requiredArgs(2,arguments);var _=toInteger(s);return addYears(o,-_)}const millisecond$2=1,second$2=1e3,minute$2=60*second$2,hour$2=60*minute$2,day$2=24*hour$2,week$2=7*day$2,month$2=30*day$2,year$2=365*day$2,duration$2={millisecond:millisecond$2,second:second$2,minute:minute$2,hour:hour$2,day:day$2,week:week$2,month:month$2,year:year$2};function filterDataByType$1(o,s){return o.filter(_=>s.includes(_.type))}function filterDataByTime$1(o,s,_){const j=s.getTime(),$=_.getTime();return o.map(_e=>({..._e,points:_e.points.filter(([et])=>et>=j&&et<$)})).filter(({points:_e})=>_e.length>0)}let StoreCache$1=class{constructor({capacity:o,timeout:s}={}){he(this,"entries",new Map),he(this,"metadata",new Map),he(this,"capacity"),he(this,"staleIntervalMs"),this.capacity=o||1e4,this.staleIntervalMs=s||duration$2.minute}get(o,s){const _=this.keyToCacheKey(o);return this.isStale(_)&&!this.isGenerating(_)&&s&&this.generate(o,s),this.entries.get(_)}set(o,s){const _=this.keyToCacheKey(o);this.metadata.set(_,{generating:!1,staleAt:performance.now()+this.staleIntervalMs});const j=this.entries.get(_);JSON.stringify(j)===JSON.stringify(s)||(this.entries.set(_,s),this.enforceMaxSize())}clear(){this.entries.clear(),[...this.metadata.values()].forEach(o=>o.generating=!1)}clearKey(o){this.metadata.delete(o),this.entries.delete(o)}keyToCacheKey(o){return JSON.stringify(o)}enforceMaxSize(){for(;this.metadata.size>this.capacity&&this.metadata.size>0;){const[o]=[...this.metadata.entries()].reduce(([s,_],[j,$])=>$.staleAt<_.staleAt?[j,$]:[s,_]);this.clearKey(o)}}isStale(o){const s=this.metadata.get(o);return s?(s==null?void 0:s.staleAt){const et=this.metadata.get(_);return(et==null?void 0:et.generating)!==$||this.set(o,_e),_e}).catch(_e=>{throw this.metadata.delete(_),_e});this.metadata.set(_,{...j,generating:$,staleAt:performance.now()+this.staleIntervalMs})}};async function queryTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}let QueryStore$1=class{constructor(){he(this,"queryStoreCache",new StoreCache$1({capacity:1e4,timeout:20*duration$2.second})),he(this,"liveQueryStoreCache",new StoreCache$1({capacity:1e4,timeout:200*duration$2.millisecond}))}moduleQuery(o,s,_,j,$,_e=!1){const et={...o,names:[...s],types:[..._]},tt=this.query(et,j,$,_e);return tt===void 0||tt==="too much data"?tt:filterDataByType$1(tt,_)}query(o,s,_,j=!1){const $={...o,start:startOfMinute(s).toISOString(),end:j?_.toISOString():addMinutes(roundToNearestMinutes(_),1).toISOString(),latestOnly:j},_e=_>addSeconds(new Date,-20);let et;return _e?et=this.liveQueryCache($):et=this.queryCache($),!et||et==="too much data"||j?et:filterDataByTime$1(et,s,_)}queryCache(o){return this.queryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}liveQueryCache(o){return this.liveQueryStoreCache.get(o,async()=>{try{return await queryTelemetry(o)}catch(s){throw s}})}};const queryStore=new QueryStore$1;function addStreamListener(o,s,_){const j=$=>{const _e=$.data;if(_e.type==="module_data"){const{start:et,end:tt}=_e.queryRange;_(queryStore.moduleQuery({},o,s,new Date(et),new Date(tt),!1))}};return window.addEventListener("message",j),()=>window.removeEventListener("message",j)}async function getDate(o,s,_){return new Promise(j=>{sendAppMessage({type:"request_date",minTime:s,maxTime:_,time:o});const $=_e=>{const et=_e.data;et.type==="date_response"&&(window.removeEventListener("message",$),j(et.data))};window.addEventListener("message",$)})}async function prompt(o,s){return new Promise(_=>{const j=Math.random().toString();sendAppMessage({type:"prompt",promptId:j,schema:o,okText:s==null?void 0:s.okText,cancelText:s==null?void 0:s.cancelText});const $=_e=>{const et=_e.data;et.type==="prompt_response"&&et.promptId===j&&_(et.data),window.removeEventListener("message",$)};window.addEventListener("message",$)})}const Xt=class{static isModule(){return getCurrentModuleContext()!==null}static async getCurrentModuleConfiguration(){let o=new URLSearchParams("");typeof window<"u"&&window.location&&(o=new URLSearchParams(window.location.search));const s=o.get("configuration");if(!(s===null||s.trim()===""))return getModuleConfiguration(s.trim())}static get isOnline(){return Xt._isOnline}static listenForConnectionEvents(){const o=s=>{const{data:_}=s;_.type==="formant_online"&&(this._isOnline=_.online)};return window.addEventListener("message",o),()=>window.removeEventListener("message",o)}static checkConnection(o=1e3){return new Promise((s,_)=>{const j=setTimeout(()=>_(new Error("deadline expired: took too long")),o),$=_e=>{window.removeEventListener("message",$),clearTimeout(j);const{data:et}=_e;et.type==="formant_online"&&(this._isOnline=et.online,s(et.online))};window.addEventListener("message",$),sendAppMessage({type:"formant_online"})})}static waitForConnection(o=5e3){let s=!1;const _=new Promise((_e,et)=>{setTimeout(()=>{s=!0,et(new Error("deadline expired: took too long"))},o)}),j=_e=>new Promise(et=>setTimeout(et,_e)),$=async()=>{for(await j(50);!s&&!(this.isOnline||await this.checkConnection);)await j(500)};return Promise.race([_,$()])}};let App$2=Xt;he(App$2,"getCurrentModuleContext",getCurrentModuleContext),he(App$2,"disableAnalyticsBottomBar",disableAnalyticsBottomBar),he(App$2,"goToDevice",goToDevice),he(App$2,"goToTime",goToTime),he(App$2,"refreshAuthToken",refreshAuthToken),he(App$2,"requestModuleData",requestModuleData),he(App$2,"sendChannelData",sendChannelData),he(App$2,"setModuleDateTimeRange",setModuleDateTimeRange),he(App$2,"setupModuleMenus",setupModuleMenus),he(App$2,"showMessage",showMessage),he(App$2,"addAccessTokenRefreshListener",addAccessTokenRefreshListener),he(App$2,"addChannelDataListener",addChannelDataListener),he(App$2,"addMenuListener",addMenuListener),he(App$2,"addModuleConfigurationListener",addModuleConfigurationListener),he(App$2,"addModuleDataListener",addModuleDataListener),he(App$2,"addOverviewDeviceListener",addOverviewDeviceListener),he(App$2,"addStreamListener",addStreamListener),he(App$2,"getDate",getDate),he(App$2,"prompt",prompt),he(App$2,"_isOnline",null);class CaptureStream{constructor(s){he(this,"token"),this.captureSession=s}async ingestJSON(s){if(!this.token){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions/${this.captureSession.code}/authenticate`,{method:"POST"})).json();this.token=_.token}await fetch(`${FORMANT_API_URL}/v1/ingest`,{method:"POST",body:JSON.stringify({deviceId:this.captureSession.deviceId,name:this.captureSession.streamName,type:"json",points:[[Date.now(),JSON.stringify(s)]]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+this.token}})}}class DataChannel{constructor(s){he(this,"ready",!1),he(this,"listeners",[]),he(this,"openListeners",[]),he(this,"closeListeners",[]),he(this,"errorListeners",[]),he(this,"binaryListeners",[]),he(this,"error"),he(this,"decoder",new TextDecoder),this.dataChannel=s,this.dataChannel.binaryType="arraybuffer",this.dataChannel.onopen=()=>{this.setReady()},this.dataChannel.onclose=()=>{this.ready=!1,this.closeListeners.forEach(_=>_())},this.dataChannel.onerror=_=>{console.error(_),this.error="An error occurred in DataChannel",this.errorListeners.forEach(j=>j(_))},this.dataChannel.onmessage=_=>{this.listeners.forEach(j=>{const $=new Uint8Array(_.data),_e=this.decoder.decode($);j(_e)}),this.binaryListeners.forEach(j=>{j(new Uint8Array(_.data))})}}setReady(){this.ready=!0,this.openListeners.forEach(s=>s())}addOpenListener(s){this.openListeners.push(s)}removeOpenListener(s){this.openListeners=this.openListeners.filter(_=>_!==s)}addCloseListener(s){this.closeListeners.push(s)}removeCloseListener(s){this.closeListeners=this.closeListeners.filter(_=>_!==s)}addErrorListener(s){this.errorListeners.push(s)}removeErrorListener(s){this.errorListeners=this.errorListeners.filter(_=>_!==s)}async waitTilReady(){return this.ready?!0:new Promise((s,_)=>{let j=setInterval(()=>{this.dataChannel.readyState==="open"&&this.setReady(),this.ready&&(clearInterval(j),s(!0)),this.error&&_(this.error)},10)})}send(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}sendBinary(s){if(!this.ready)throw new Error("Connection has been closed");this.dataChannel.send(s)}addListener(s){this.listeners.push(s)}removeListener(s){const _=this.listeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.listeners.splice(_,1)}addBinaryListener(s){this.binaryListeners.push(s)}removeBinaryListener(s){const _=this.binaryListeners.indexOf(s);if(_===-1)throw new Error("Could not find data channel listener to remove");if(this.error)throw new Error(this.error);this.binaryListeners.splice(_,1)}}function defined$1(o,s){if(o!==void 0)return o;throw new Error(s||"Value is undefined")}function delay$1(o){return new Promise(s=>setTimeout(s,o))}async function createDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const Z_FIXED$1=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN$1=2;function zero$1(o){let s=o.length;for(;--s>=0;)o[s]=0}const STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH$1=3,MAX_MATCH$1=258,LENGTH_CODES$1=29,LITERALS$1=256,L_CODES$1=LITERALS$1+1+LENGTH_CODES$1,D_CODES$1=30,BL_CODES$1=19,HEAP_SIZE$1=2*L_CODES$1+1,MAX_BITS$1=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),DIST_CODE_LEN=512,static_ltree=new Array((L_CODES$1+2)*2);zero$1(static_ltree);const static_dtree=new Array(D_CODES$1*2);zero$1(static_dtree);const _dist_code=new Array(DIST_CODE_LEN);zero$1(_dist_code);const _length_code=new Array(MAX_MATCH$1-MIN_MATCH$1+1);zero$1(_length_code);const base_length=new Array(LENGTH_CODES$1);zero$1(base_length);const base_dist=new Array(D_CODES$1);zero$1(base_dist);function StaticTreeDesc(o,s,_,j,$){this.static_tree=o,this.extra_bits=s,this.extra_base=_,this.elems=j,this.max_length=$,this.has_stree=o&&o.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(o,s){this.dyn_tree=o,this.max_code=0,this.stat_desc=s}const d_code=o=>o<256?_dist_code[o]:_dist_code[256+(o>>>7)],put_short=(o,s)=>{o.pending_buf[o.pending++]=s&255,o.pending_buf[o.pending++]=s>>>8&255},send_bits=(o,s,_)=>{o.bi_valid>Buf_size-_?(o.bi_buf|=s<>Buf_size-o.bi_valid,o.bi_valid+=_-Buf_size):(o.bi_buf|=s<{send_bits(o,_[s*2],_[s*2+1])},bi_reverse=(o,s)=>{let _=0;do _|=o&1,o>>>=1,_<<=1;while(--s>0);return _>>>1},bi_flush=o=>{o.bi_valid===16?(put_short(o,o.bi_buf),o.bi_buf=0,o.bi_valid=0):o.bi_valid>=8&&(o.pending_buf[o.pending++]=o.bi_buf&255,o.bi_buf>>=8,o.bi_valid-=8)},gen_bitlen=(o,s)=>{const _=s.dyn_tree,j=s.max_code,$=s.stat_desc.static_tree,_e=s.stat_desc.has_stree,et=s.stat_desc.extra_bits,tt=s.stat_desc.extra_base,nt=s.stat_desc.max_length;let rt,ot,ut,dt,Ut,st,ct=0;for(dt=0;dt<=MAX_BITS$1;dt++)o.bl_count[dt]=0;for(_[o.heap[o.heap_max]*2+1]=0,rt=o.heap_max+1;rtnt&&(dt=nt,ct++),_[ot*2+1]=dt,!(ot>j)&&(o.bl_count[dt]++,Ut=0,ot>=tt&&(Ut=et[ot-tt]),st=_[ot*2],o.opt_len+=st*(dt+Ut),_e&&(o.static_len+=st*($[ot*2+1]+Ut)));if(ct!==0){do{for(dt=nt-1;o.bl_count[dt]===0;)dt--;o.bl_count[dt]--,o.bl_count[dt+1]+=2,o.bl_count[nt]--,ct-=2}while(ct>0);for(dt=nt;dt!==0;dt--)for(ot=o.bl_count[dt];ot!==0;)ut=o.heap[--rt],!(ut>j)&&(_[ut*2+1]!==dt&&(o.opt_len+=(dt-_[ut*2+1])*_[ut*2],_[ut*2+1]=dt),ot--)}},gen_codes=(o,s,_)=>{const j=new Array(MAX_BITS$1+1);let $=0,_e,et;for(_e=1;_e<=MAX_BITS$1;_e++)$=$+_[_e-1]<<1,j[_e]=$;for(et=0;et<=s;et++){let tt=o[et*2+1];tt!==0&&(o[et*2]=bi_reverse(j[tt]++,tt))}},tr_static_init=()=>{let o,s,_,j,$;const _e=new Array(MAX_BITS$1+1);for(_=0,j=0;j>=7;j{let s;for(s=0;s{o.bi_valid>8?put_short(o,o.bi_buf):o.bi_valid>0&&(o.pending_buf[o.pending++]=o.bi_buf),o.bi_buf=0,o.bi_valid=0},smaller=(o,s,_,j)=>{const $=s*2,_e=_*2;return o[$]{const j=o.heap[_];let $=_<<1;for(;$<=o.heap_len&&(${let j,$,_e=0,et,tt;if(o.sym_next!==0)do j=o.pending_buf[o.sym_buf+_e++]&255,j+=(o.pending_buf[o.sym_buf+_e++]&255)<<8,$=o.pending_buf[o.sym_buf+_e++],j===0?send_code(o,$,s):(et=_length_code[$],send_code(o,et+LITERALS$1+1,s),tt=extra_lbits[et],tt!==0&&($-=base_length[et],send_bits(o,$,tt)),j--,et=d_code(j),send_code(o,et,_),tt=extra_dbits[et],tt!==0&&(j-=base_dist[et],send_bits(o,j,tt)));while(_e{const _=s.dyn_tree,j=s.stat_desc.static_tree,$=s.stat_desc.has_stree,_e=s.stat_desc.elems;let et,tt,nt=-1,rt;for(o.heap_len=0,o.heap_max=HEAP_SIZE$1,et=0;et<_e;et++)_[et*2]!==0?(o.heap[++o.heap_len]=nt=et,o.depth[et]=0):_[et*2+1]=0;for(;o.heap_len<2;)rt=o.heap[++o.heap_len]=nt<2?++nt:0,_[rt*2]=1,o.depth[rt]=0,o.opt_len--,$&&(o.static_len-=j[rt*2+1]);for(s.max_code=nt,et=o.heap_len>>1;et>=1;et--)pqdownheap(o,_,et);rt=_e;do et=o.heap[1],o.heap[1]=o.heap[o.heap_len--],pqdownheap(o,_,1),tt=o.heap[1],o.heap[--o.heap_max]=et,o.heap[--o.heap_max]=tt,_[rt*2]=_[et*2]+_[tt*2],o.depth[rt]=(o.depth[et]>=o.depth[tt]?o.depth[et]:o.depth[tt])+1,_[et*2+1]=_[tt*2+1]=rt,o.heap[1]=rt++,pqdownheap(o,_,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],gen_bitlen(o,s),gen_codes(_,nt,o.bl_count)},scan_tree=(o,s,_)=>{let j,$=-1,_e,et=s[0*2+1],tt=0,nt=7,rt=4;for(et===0&&(nt=138,rt=3),s[(_+1)*2+1]=65535,j=0;j<=_;j++)_e=et,et=s[(j+1)*2+1],!(++tt{let j,$=-1,_e,et=s[0*2+1],tt=0,nt=7,rt=4;for(et===0&&(nt=138,rt=3),j=0;j<=_;j++)if(_e=et,et=s[(j+1)*2+1],!(++tt{let s;for(scan_tree(o,o.dyn_ltree,o.l_desc.max_code),scan_tree(o,o.dyn_dtree,o.d_desc.max_code),build_tree(o,o.bl_desc),s=BL_CODES$1-1;s>=3&&o.bl_tree[bl_order[s]*2+1]===0;s--);return o.opt_len+=3*(s+1)+5+5+4,s},send_all_trees=(o,s,_,j)=>{let $;for(send_bits(o,s-257,5),send_bits(o,_-1,5),send_bits(o,j-4,4),$=0;${let s=4093624447,_;for(_=0;_<=31;_++,s>>>=1)if(s&1&&o.dyn_ltree[_*2]!==0)return Z_BINARY;if(o.dyn_ltree[9*2]!==0||o.dyn_ltree[10*2]!==0||o.dyn_ltree[13*2]!==0)return Z_TEXT;for(_=32;_{static_init_done||(tr_static_init(),static_init_done=!0),o.l_desc=new TreeDesc(o.dyn_ltree,static_l_desc),o.d_desc=new TreeDesc(o.dyn_dtree,static_d_desc),o.bl_desc=new TreeDesc(o.bl_tree,static_bl_desc),o.bi_buf=0,o.bi_valid=0,init_block(o)},_tr_stored_block$1=(o,s,_,j)=>{send_bits(o,(STORED_BLOCK<<1)+(j?1:0),3),bi_windup(o),put_short(o,_),put_short(o,~_),_&&o.pending_buf.set(o.window.subarray(s,s+_),o.pending),o.pending+=_},_tr_align$1=o=>{send_bits(o,STATIC_TREES<<1,3),send_code(o,END_BLOCK,static_ltree),bi_flush(o)},_tr_flush_block$1=(o,s,_,j)=>{let $,_e,et=0;o.level>0?(o.strm.data_type===Z_UNKNOWN$1&&(o.strm.data_type=detect_data_type(o)),build_tree(o,o.l_desc),build_tree(o,o.d_desc),et=build_bl_tree(o),$=o.opt_len+3+7>>>3,_e=o.static_len+3+7>>>3,_e<=$&&($=_e)):$=_e=_+5,_+4<=$&&s!==-1?_tr_stored_block$1(o,s,_,j):o.strategy===Z_FIXED$1||_e===$?(send_bits(o,(STATIC_TREES<<1)+(j?1:0),3),compress_block(o,static_ltree,static_dtree)):(send_bits(o,(DYN_TREES<<1)+(j?1:0),3),send_all_trees(o,o.l_desc.max_code+1,o.d_desc.max_code+1,et+1),compress_block(o,o.dyn_ltree,o.dyn_dtree)),init_block(o),j&&bi_windup(o)},_tr_tally$1=(o,s,_)=>(o.pending_buf[o.sym_buf+o.sym_next++]=s,o.pending_buf[o.sym_buf+o.sym_next++]=s>>8,o.pending_buf[o.sym_buf+o.sym_next++]=_,s===0?o.dyn_ltree[_*2]++:(o.matches++,s--,o.dyn_ltree[(_length_code[_]+LITERALS$1+1)*2]++,o.dyn_dtree[d_code(s)*2]++),o.sym_next===o.sym_end);var _tr_init_1=_tr_init$1,_tr_stored_block_1=_tr_stored_block$1,_tr_flush_block_1=_tr_flush_block$1,_tr_tally_1=_tr_tally$1,_tr_align_1=_tr_align$1,trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block_1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:_tr_align_1};const adler32=(o,s,_,j)=>{let $=o&65535|0,_e=o>>>16&65535|0,et=0;for(;_!==0;){et=_>2e3?2e3:_,_-=et;do $=$+s[j++]|0,_e=_e+$|0;while(--et);$%=65521,_e%=65521}return $|_e<<16|0};var adler32_1=adler32;const makeTable=()=>{let o,s=[];for(var _=0;_<256;_++){o=_;for(var j=0;j<8;j++)o=o&1?3988292384^o>>>1:o>>>1;s[_]=o}return s},crcTable=new Uint32Array(makeTable()),crc32=(o,s,_,j)=>{const $=crcTable,_e=j+_;o^=-1;for(let et=j;et<_e;et++)o=o>>>8^$[(o^s[et])&255];return o^-1};var crc32_1=crc32,messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init,_tr_stored_block,_tr_flush_block,_tr_tally,_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED,Z_HUFFMAN_ONLY,Z_RLE,Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,MAX_MEM_LEVEL=9,MAX_WBITS$1=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,GZIP_STATE=57,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3,err=(o,s)=>(o.msg=messages[s],s),rank=o=>o*2-(o>4?9:0),zero=o=>{let s=o.length;for(;--s>=0;)o[s]=0},slide_hash=o=>{let s,_,j,$=o.w_size;s=o.hash_size,j=s;do _=o.head[--j],o.head[j]=_>=$?_-$:0;while(--s);s=$,j=s;do _=o.prev[--j],o.prev[j]=_>=$?_-$:0;while(--s)};let HASH_ZLIB=(o,s,_)=>(s<{const s=o.state;let _=s.pending;_>o.avail_out&&(_=o.avail_out),_!==0&&(o.output.set(s.pending_buf.subarray(s.pending_out,s.pending_out+_),o.next_out),o.next_out+=_,s.pending_out+=_,o.total_out+=_,o.avail_out-=_,s.pending-=_,s.pending===0&&(s.pending_out=0))},flush_block_only=(o,s)=>{_tr_flush_block(o,o.block_start>=0?o.block_start:-1,o.strstart-o.block_start,s),o.block_start=o.strstart,flush_pending(o.strm)},put_byte=(o,s)=>{o.pending_buf[o.pending++]=s},putShortMSB=(o,s)=>{o.pending_buf[o.pending++]=s>>>8&255,o.pending_buf[o.pending++]=s&255},read_buf=(o,s,_,j)=>{let $=o.avail_in;return $>j&&($=j),$===0?0:(o.avail_in-=$,s.set(o.input.subarray(o.next_in,o.next_in+$),_),o.state.wrap===1?o.adler=adler32_1(o.adler,s,$,_):o.state.wrap===2&&(o.adler=crc32_1(o.adler,s,$,_)),o.next_in+=$,o.total_in+=$,$)},longest_match=(o,s)=>{let _=o.max_chain_length,j=o.strstart,$,_e,et=o.prev_length,tt=o.nice_match;const nt=o.strstart>o.w_size-MIN_LOOKAHEAD?o.strstart-(o.w_size-MIN_LOOKAHEAD):0,rt=o.window,ot=o.w_mask,ut=o.prev,dt=o.strstart+MAX_MATCH;let Ut=rt[j+et-1],st=rt[j+et];o.prev_length>=o.good_match&&(_>>=2),tt>o.lookahead&&(tt=o.lookahead);do if($=s,!(rt[$+et]!==st||rt[$+et-1]!==Ut||rt[$]!==rt[j]||rt[++$]!==rt[j+1])){j+=2,$++;do;while(rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&rt[++j]===rt[++$]&&jet){if(o.match_start=s,et=_e,_e>=tt)break;Ut=rt[j+et-1],st=rt[j+et]}}while((s=ut[s&ot])>nt&&--_!==0);return et<=o.lookahead?et:o.lookahead},fill_window=o=>{const s=o.w_size;let _,j,$;do{if(j=o.window_size-o.lookahead-o.strstart,o.strstart>=s+(s-MIN_LOOKAHEAD)&&(o.window.set(o.window.subarray(s,s+s-j),0),o.match_start-=s,o.strstart-=s,o.block_start-=s,o.insert>o.strstart&&(o.insert=o.strstart),slide_hash(o),j+=s),o.strm.avail_in===0)break;if(_=read_buf(o.strm,o.window,o.strstart+o.lookahead,j),o.lookahead+=_,o.lookahead+o.insert>=MIN_MATCH)for($=o.strstart-o.insert,o.ins_h=o.window[$],o.ins_h=HASH(o,o.ins_h,o.window[$+1]);o.insert&&(o.ins_h=HASH(o,o.ins_h,o.window[$+MIN_MATCH-1]),o.prev[$&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=$,$++,o.insert--,!(o.lookahead+o.insert{let _=o.pending_buf_size-5>o.w_size?o.w_size:o.pending_buf_size-5,j,$,_e,et=0,tt=o.strm.avail_in;do{if(j=65535,_e=o.bi_valid+42>>3,o.strm.avail_out<_e||(_e=o.strm.avail_out-_e,$=o.strstart-o.block_start,j>$+o.strm.avail_in&&(j=$+o.strm.avail_in),j>_e&&(j=_e),j<_&&(j===0&&s!==Z_FINISH$3||s===Z_NO_FLUSH$2||j!==$+o.strm.avail_in)))break;et=s===Z_FINISH$3&&j===$+o.strm.avail_in?1:0,_tr_stored_block(o,0,0,et),o.pending_buf[o.pending-4]=j,o.pending_buf[o.pending-3]=j>>8,o.pending_buf[o.pending-2]=~j,o.pending_buf[o.pending-1]=~j>>8,flush_pending(o.strm),$&&($>j&&($=j),o.strm.output.set(o.window.subarray(o.block_start,o.block_start+$),o.strm.next_out),o.strm.next_out+=$,o.strm.avail_out-=$,o.strm.total_out+=$,o.block_start+=$,j-=$),j&&(read_buf(o.strm,o.strm.output,o.strm.next_out,j),o.strm.next_out+=j,o.strm.avail_out-=j,o.strm.total_out+=j)}while(et===0);return tt-=o.strm.avail_in,tt&&(tt>=o.w_size?(o.matches=2,o.window.set(o.strm.input.subarray(o.strm.next_in-o.w_size,o.strm.next_in),0),o.strstart=o.w_size,o.insert=o.strstart):(o.window_size-o.strstart<=tt&&(o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,o.insert>o.strstart&&(o.insert=o.strstart)),o.window.set(o.strm.input.subarray(o.strm.next_in-tt,o.strm.next_in),o.strstart),o.strstart+=tt,o.insert+=tt>o.w_size-o.insert?o.w_size-o.insert:tt),o.block_start=o.strstart),o.high_water_e&&o.block_start>=o.w_size&&(o.block_start-=o.w_size,o.strstart-=o.w_size,o.window.set(o.window.subarray(o.w_size,o.w_size+o.strstart),0),o.matches<2&&o.matches++,_e+=o.w_size,o.insert>o.strstart&&(o.insert=o.strstart)),_e>o.strm.avail_in&&(_e=o.strm.avail_in),_e&&(read_buf(o.strm,o.window,o.strstart,_e),o.strstart+=_e,o.insert+=_e>o.w_size-o.insert?o.w_size-o.insert:_e),o.high_water>3,_e=o.pending_buf_size-_e>65535?65535:o.pending_buf_size-_e,_=_e>o.w_size?o.w_size:_e,$=o.strstart-o.block_start,($>=_||($||s===Z_FINISH$3)&&s!==Z_NO_FLUSH$2&&o.strm.avail_in===0&&$<=_e)&&(j=$>_e?_e:$,et=s===Z_FINISH$3&&o.strm.avail_in===0&&j===$?1:0,_tr_stored_block(o,o.block_start,j,et),o.block_start+=j,flush_pending(o.strm)),et?BS_FINISH_STARTED:BS_NEED_MORE)},deflate_fast=(o,s)=>{let _,j;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),_!==0&&o.strstart-_<=o.w_size-MIN_LOOKAHEAD&&(o.match_length=longest_match(o,_)),o.match_length>=MIN_MATCH)if(j=_tr_tally(o,o.strstart-o.match_start,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.match_length<=o.max_lazy_match&&o.lookahead>=MIN_MATCH){o.match_length--;do o.strstart++,o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart;while(--o.match_length!==0);o.strstart++}else o.strstart+=o.match_length,o.match_length=0,o.ins_h=o.window[o.strstart],o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+1]);else j=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++;if(j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=o.strstart{let _,j,$;for(;;){if(o.lookahead=MIN_MATCH&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart),o.prev_length=o.match_length,o.prev_match=o.match_start,o.match_length=MIN_MATCH-1,_!==0&&o.prev_length4096)&&(o.match_length=MIN_MATCH-1)),o.prev_length>=MIN_MATCH&&o.match_length<=o.prev_length){$=o.strstart+o.lookahead-MIN_MATCH,j=_tr_tally(o,o.strstart-1-o.prev_match,o.prev_length-MIN_MATCH),o.lookahead-=o.prev_length-1,o.prev_length-=2;do++o.strstart<=$&&(o.ins_h=HASH(o,o.ins_h,o.window[o.strstart+MIN_MATCH-1]),_=o.prev[o.strstart&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=o.strstart);while(--o.prev_length!==0);if(o.match_available=0,o.match_length=MIN_MATCH-1,o.strstart++,j&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}else if(o.match_available){if(j=_tr_tally(o,0,o.window[o.strstart-1]),j&&flush_block_only(o,!1),o.strstart++,o.lookahead--,o.strm.avail_out===0)return BS_NEED_MORE}else o.match_available=1,o.strstart++,o.lookahead--}return o.match_available&&(j=_tr_tally(o,0,o.window[o.strstart-1]),o.match_available=0),o.insert=o.strstart{let _,j,$,_e;const et=o.window;for(;;){if(o.lookahead<=MAX_MATCH){if(fill_window(o),o.lookahead<=MAX_MATCH&&s===Z_NO_FLUSH$2)return BS_NEED_MORE;if(o.lookahead===0)break}if(o.match_length=0,o.lookahead>=MIN_MATCH&&o.strstart>0&&($=o.strstart-1,j=et[$],j===et[++$]&&j===et[++$]&&j===et[++$])){_e=o.strstart+MAX_MATCH;do;while(j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&j===et[++$]&&$<_e);o.match_length=MAX_MATCH-(_e-$),o.match_length>o.lookahead&&(o.match_length=o.lookahead)}if(o.match_length>=MIN_MATCH?(_=_tr_tally(o,1,o.match_length-MIN_MATCH),o.lookahead-=o.match_length,o.strstart+=o.match_length,o.match_length=0):(_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++),_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE},deflate_huff=(o,s)=>{let _;for(;;){if(o.lookahead===0&&(fill_window(o),o.lookahead===0)){if(s===Z_NO_FLUSH$2)return BS_NEED_MORE;break}if(o.match_length=0,_=_tr_tally(o,0,o.window[o.strstart]),o.lookahead--,o.strstart++,_&&(flush_block_only(o,!1),o.strm.avail_out===0))return BS_NEED_MORE}return o.insert=0,s===Z_FINISH$3?(flush_block_only(o,!0),o.strm.avail_out===0?BS_FINISH_STARTED:BS_FINISH_DONE):o.sym_next&&(flush_block_only(o,!1),o.strm.avail_out===0)?BS_NEED_MORE:BS_BLOCK_DONE};function Config$1(o,s,_,j,$){this.good_length=o,this.max_lazy=s,this.nice_length=_,this.max_chain=j,this.func=$}const configuration_table=[new Config$1(0,0,0,0,deflate_stored),new Config$1(4,4,8,4,deflate_fast),new Config$1(4,5,16,8,deflate_fast),new Config$1(4,6,32,32,deflate_fast),new Config$1(4,4,16,16,deflate_slow),new Config$1(8,16,32,32,deflate_slow),new Config$1(8,16,128,128,deflate_slow),new Config$1(8,32,128,256,deflate_slow),new Config$1(32,128,258,1024,deflate_slow),new Config$1(32,258,258,4096,deflate_slow)],lm_init=o=>{o.window_size=2*o.w_size,zero(o.head),o.max_lazy_match=configuration_table[o.level].max_lazy,o.good_match=configuration_table[o.level].good_length,o.nice_match=configuration_table[o.level].nice_length,o.max_chain_length=configuration_table[o.level].max_chain,o.strstart=0,o.block_start=0,o.lookahead=0,o.insert=0,o.match_length=o.prev_length=MIN_MATCH-1,o.match_available=0,o.ins_h=0};function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(HEAP_SIZE*2),this.dyn_dtree=new Uint16Array((2*D_CODES+1)*2),this.bl_tree=new Uint16Array((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(MAX_BITS+1),this.heap=new Uint16Array(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*L_CODES+1),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=o=>{if(!o)return 1;const s=o.state;return!s||s.strm!==o||s.status!==INIT_STATE&&s.status!==GZIP_STATE&&s.status!==EXTRA_STATE&&s.status!==NAME_STATE&&s.status!==COMMENT_STATE&&s.status!==HCRC_STATE&&s.status!==BUSY_STATE&&s.status!==FINISH_STATE?1:0},deflateResetKeep=o=>{if(deflateStateCheck(o))return err(o,Z_STREAM_ERROR$2);o.total_in=o.total_out=0,o.data_type=Z_UNKNOWN;const s=o.state;return s.pending=0,s.pending_out=0,s.wrap<0&&(s.wrap=-s.wrap),s.status=s.wrap===2?GZIP_STATE:s.wrap?INIT_STATE:BUSY_STATE,o.adler=s.wrap===2?0:1,s.last_flush=-2,_tr_init(s),Z_OK$3},deflateReset=o=>{const s=deflateResetKeep(o);return s===Z_OK$3&&lm_init(o.state),s},deflateSetHeader=(o,s)=>deflateStateCheck(o)||o.state.wrap!==2?Z_STREAM_ERROR$2:(o.state.gzhead=s,Z_OK$3),deflateInit2=(o,s,_,j,$,_e)=>{if(!o)return Z_STREAM_ERROR$2;let et=1;if(s===Z_DEFAULT_COMPRESSION$1&&(s=6),j<0?(et=0,j=-j):j>15&&(et=2,j-=16),$<1||$>MAX_MEM_LEVEL||_!==Z_DEFLATED$2||j<8||j>15||s<0||s>9||_e<0||_e>Z_FIXED||j===8&&et!==1)return err(o,Z_STREAM_ERROR$2);j===8&&(j=9);const tt=new DeflateState;return o.state=tt,tt.strm=o,tt.status=INIT_STATE,tt.wrap=et,tt.gzhead=null,tt.w_bits=j,tt.w_size=1<deflateInit2(o,s,Z_DEFLATED$2,MAX_WBITS$1,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY$1),deflate$2=(o,s)=>{if(deflateStateCheck(o)||s>Z_BLOCK$1||s<0)return o?err(o,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const _=o.state;if(!o.output||o.avail_in!==0&&!o.input||_.status===FINISH_STATE&&s!==Z_FINISH$3)return err(o,o.avail_out===0?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const j=_.last_flush;if(_.last_flush=s,_.pending!==0){if(flush_pending(o),o.avail_out===0)return _.last_flush=-1,Z_OK$3}else if(o.avail_in===0&&rank(s)<=rank(j)&&s!==Z_FINISH$3)return err(o,Z_BUF_ERROR$1);if(_.status===FINISH_STATE&&o.avail_in!==0)return err(o,Z_BUF_ERROR$1);if(_.status===INIT_STATE&&_.wrap===0&&(_.status=BUSY_STATE),_.status===INIT_STATE){let $=Z_DEFLATED$2+(_.w_bits-8<<4)<<8,_e=-1;if(_.strategy>=Z_HUFFMAN_ONLY||_.level<2?_e=0:_.level<6?_e=1:_.level===6?_e=2:_e=3,$|=_e<<6,_.strstart!==0&&($|=PRESET_DICT),$+=31-$%31,putShortMSB(_,$),_.strstart!==0&&(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),o.adler=1,_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===GZIP_STATE){if(o.adler=0,put_byte(_,31),put_byte(_,139),put_byte(_,8),_.gzhead)put_byte(_,(_.gzhead.text?1:0)+(_.gzhead.hcrc?2:0)+(_.gzhead.extra?4:0)+(_.gzhead.name?8:0)+(_.gzhead.comment?16:0)),put_byte(_,_.gzhead.time&255),put_byte(_,_.gzhead.time>>8&255),put_byte(_,_.gzhead.time>>16&255),put_byte(_,_.gzhead.time>>24&255),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,_.gzhead.os&255),_.gzhead.extra&&_.gzhead.extra.length&&(put_byte(_,_.gzhead.extra.length&255),put_byte(_,_.gzhead.extra.length>>8&255)),_.gzhead.hcrc&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending,0)),_.gzindex=0,_.status=EXTRA_STATE;else if(put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,0),put_byte(_,_.level===9?2:_.strategy>=Z_HUFFMAN_ONLY||_.level<2?4:0),put_byte(_,OS_CODE),_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(_.status===EXTRA_STATE){if(_.gzhead.extra){let $=_.pending,_e=(_.gzhead.extra.length&65535)-_.gzindex;for(;_.pending+_e>_.pending_buf_size;){let tt=_.pending_buf_size-_.pending;if(_.pending_buf.set(_.gzhead.extra.subarray(_.gzindex,_.gzindex+tt),_.pending),_.pending=_.pending_buf_size,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex+=tt,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0,_e-=tt}let et=new Uint8Array(_.gzhead.extra);_.pending_buf.set(et.subarray(_.gzindex,_.gzindex+_e),_.pending),_.pending+=_e,_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=NAME_STATE}if(_.status===NAME_STATE){if(_.gzhead.name){let $=_.pending,_e;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.name.length?_e=_.gzhead.name.charCodeAt(_.gzindex++)&255:_e=0,put_byte(_,_e)}while(_e!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),_.gzindex=0}_.status=COMMENT_STATE}if(_.status===COMMENT_STATE){if(_.gzhead.comment){let $=_.pending,_e;do{if(_.pending===_.pending_buf_size){if(_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$)),flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3;$=0}_.gzindex<_.gzhead.comment.length?_e=_.gzhead.comment.charCodeAt(_.gzindex++)&255:_e=0,put_byte(_,_e)}while(_e!==0);_.gzhead.hcrc&&_.pending>$&&(o.adler=crc32_1(o.adler,_.pending_buf,_.pending-$,$))}_.status=HCRC_STATE}if(_.status===HCRC_STATE){if(_.gzhead.hcrc){if(_.pending+2>_.pending_buf_size&&(flush_pending(o),_.pending!==0))return _.last_flush=-1,Z_OK$3;put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),o.adler=0}if(_.status=BUSY_STATE,flush_pending(o),_.pending!==0)return _.last_flush=-1,Z_OK$3}if(o.avail_in!==0||_.lookahead!==0||s!==Z_NO_FLUSH$2&&_.status!==FINISH_STATE){let $=_.level===0?deflate_stored(_,s):_.strategy===Z_HUFFMAN_ONLY?deflate_huff(_,s):_.strategy===Z_RLE?deflate_rle(_,s):configuration_table[_.level].func(_,s);if(($===BS_FINISH_STARTED||$===BS_FINISH_DONE)&&(_.status=FINISH_STATE),$===BS_NEED_MORE||$===BS_FINISH_STARTED)return o.avail_out===0&&(_.last_flush=-1),Z_OK$3;if($===BS_BLOCK_DONE&&(s===Z_PARTIAL_FLUSH?_tr_align(_):s!==Z_BLOCK$1&&(_tr_stored_block(_,0,0,!1),s===Z_FULL_FLUSH$1&&(zero(_.head),_.lookahead===0&&(_.strstart=0,_.block_start=0,_.insert=0))),flush_pending(o),o.avail_out===0))return _.last_flush=-1,Z_OK$3}return s!==Z_FINISH$3?Z_OK$3:_.wrap<=0?Z_STREAM_END$3:(_.wrap===2?(put_byte(_,o.adler&255),put_byte(_,o.adler>>8&255),put_byte(_,o.adler>>16&255),put_byte(_,o.adler>>24&255),put_byte(_,o.total_in&255),put_byte(_,o.total_in>>8&255),put_byte(_,o.total_in>>16&255),put_byte(_,o.total_in>>24&255)):(putShortMSB(_,o.adler>>>16),putShortMSB(_,o.adler&65535)),flush_pending(o),_.wrap>0&&(_.wrap=-_.wrap),_.pending!==0?Z_OK$3:Z_STREAM_END$3)},deflateEnd=o=>{if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const s=o.state.status;return o.state=null,s===BUSY_STATE?err(o,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary=(o,s)=>{let _=s.length;if(deflateStateCheck(o))return Z_STREAM_ERROR$2;const j=o.state,$=j.wrap;if($===2||$===1&&j.status!==INIT_STATE||j.lookahead)return Z_STREAM_ERROR$2;if($===1&&(o.adler=adler32_1(o.adler,s,_,0)),j.wrap=0,_>=j.w_size){$===0&&(zero(j.head),j.strstart=0,j.block_start=0,j.insert=0);let nt=new Uint8Array(j.w_size);nt.set(s.subarray(_-j.w_size,_),0),s=nt,_=j.w_size}const _e=o.avail_in,et=o.next_in,tt=o.input;for(o.avail_in=_,o.next_in=0,o.input=s,fill_window(j);j.lookahead>=MIN_MATCH;){let nt=j.strstart,rt=j.lookahead-(MIN_MATCH-1);do j.ins_h=HASH(j,j.ins_h,j.window[nt+MIN_MATCH-1]),j.prev[nt&j.w_mask]=j.head[j.ins_h],j.head[j.ins_h]=nt,nt++;while(--rt);j.strstart=nt,j.lookahead=MIN_MATCH-1,fill_window(j)}return j.strstart+=j.lookahead,j.block_start=j.strstart,j.insert=j.lookahead,j.lookahead=0,j.match_length=j.prev_length=MIN_MATCH-1,j.match_available=0,o.next_in=et,o.input=tt,o.avail_in=_e,j.wrap=$,Z_OK$3};var deflateInit_1=deflateInit,deflateInit2_1=deflateInit2,deflateReset_1=deflateReset,deflateResetKeep_1=deflateResetKeep,deflateSetHeader_1=deflateSetHeader,deflate_2$1=deflate$2,deflateEnd_1=deflateEnd,deflateSetDictionary_1=deflateSetDictionary,deflateInfo="pako deflate (from Nodeca project)",deflate_1$2={deflateInit:deflateInit_1,deflateInit2:deflateInit2_1,deflateReset:deflateReset_1,deflateResetKeep:deflateResetKeep_1,deflateSetHeader:deflateSetHeader_1,deflate:deflate_2$1,deflateEnd:deflateEnd_1,deflateSetDictionary:deflateSetDictionary_1,deflateInfo};const _has=(o,s)=>Object.prototype.hasOwnProperty.call(o,s);var assign=function(o){const s=Array.prototype.slice.call(arguments,1);for(;s.length;){const _=s.shift();if(_){if(typeof _!="object")throw new TypeError(_+"must be non-object");for(const j in _)_has(_,j)&&(o[j]=_[j])}}return o},flattenChunks=o=>{let s=0;for(let j=0,$=o.length;j<$;j++)s+=o[j].length;const _=new Uint8Array(s);for(let j=0,$=0,_e=o.length;j<_e;j++){let et=o[j];_.set(et,$),$+=et.length}return _},common={assign,flattenChunks};let STR_APPLY_UIA_OK=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{STR_APPLY_UIA_OK=!1}const _utf8len=new Uint8Array(256);for(let o=0;o<256;o++)_utf8len[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1;_utf8len[254]=_utf8len[254]=1;var string2buf=o=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(o);let s,_,j,$,_e,et=o.length,tt=0;for($=0;$>>6,s[_e++]=128|_&63):_<65536?(s[_e++]=224|_>>>12,s[_e++]=128|_>>>6&63,s[_e++]=128|_&63):(s[_e++]=240|_>>>18,s[_e++]=128|_>>>12&63,s[_e++]=128|_>>>6&63,s[_e++]=128|_&63);return s};const buf2binstring=(o,s)=>{if(s<65534&&o.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,o.length===s?o:o.subarray(0,s));let _="";for(let j=0;j{const _=s||o.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(o.subarray(0,s));let j,$;const _e=new Array(_*2);for($=0,j=0;j<_;){let et=o[j++];if(et<128){_e[$++]=et;continue}let tt=_utf8len[et];if(tt>4){_e[$++]=65533,j+=tt-1;continue}for(et&=tt===2?31:tt===3?15:7;tt>1&&j<_;)et=et<<6|o[j++]&63,tt--;if(tt>1){_e[$++]=65533;continue}et<65536?_e[$++]=et:(et-=65536,_e[$++]=55296|et>>10&1023,_e[$++]=56320|et&1023)}return buf2binstring(_e,$)},utf8border=(o,s)=>{s=s||o.length,s>o.length&&(s=o.length);let _=s-1;for(;_>=0&&(o[_]&192)===128;)_--;return _<0||_===0?s:_+_utf8len[o[_]]>s?_:s},strings={string2buf,buf2string,utf8border};function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var zstream=ZStream;const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH,Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(o){this.options=common.assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},o||{});let s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let _=deflate_1$2.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(_!==Z_OK$2)throw new Error(messages[_]);if(s.header&&deflate_1$2.deflateSetHeader(this.strm,s.header),s.dictionary){let j;if(typeof s.dictionary=="string"?j=strings.string2buf(s.dictionary):toString$1.call(s.dictionary)==="[object ArrayBuffer]"?j=new Uint8Array(s.dictionary):j=s.dictionary,_=deflate_1$2.deflateSetDictionary(this.strm,j),_!==Z_OK$2)throw new Error(messages[_]);this._dict_set=!0}}Deflate$1.prototype.push=function(o,s){const _=this.strm,j=this.options.chunkSize;let $,_e;if(this.ended)return!1;for(s===~~s?_e=s:_e=s===!0?Z_FINISH$2:Z_NO_FLUSH$1,typeof o=="string"?_.input=strings.string2buf(o):toString$1.call(o)==="[object ArrayBuffer]"?_.input=new Uint8Array(o):_.input=o,_.next_in=0,_.avail_in=_.input.length;;){if(_.avail_out===0&&(_.output=new Uint8Array(j),_.next_out=0,_.avail_out=j),(_e===Z_SYNC_FLUSH||_e===Z_FULL_FLUSH)&&_.avail_out<=6){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if($=deflate_1$2.deflate(_,_e),$===Z_STREAM_END$2)return _.next_out>0&&this.onData(_.output.subarray(0,_.next_out)),$=deflate_1$2.deflateEnd(this.strm),this.onEnd($),this.ended=!0,$===Z_OK$2;if(_.avail_out===0){this.onData(_.output);continue}if(_e>0&&_.next_out>0){this.onData(_.output.subarray(0,_.next_out)),_.avail_out=0;continue}if(_.avail_in===0)break}return!0};Deflate$1.prototype.onData=function(o){this.chunks.push(o)};Deflate$1.prototype.onEnd=function(o){o===Z_OK$2&&(this.result=common.flattenChunks(this.chunks)),this.chunks=[],this.err=o,this.msg=this.strm.msg};function deflate$1(o,s){const _=new Deflate$1(s);if(_.push(o,!0),_.err)throw _.msg||messages[_.err];return _.result}function deflateRaw$1(o,s){return s=s||{},s.raw=!0,deflate$1(o,s)}function gzip$1(o,s){return s=s||{},s.gzip=!0,deflate$1(o,s)}var Deflate_1$1=Deflate$1,deflate_2=deflate$1,deflateRaw_1$1=deflateRaw$1,gzip_1$1=gzip$1,constants$1=constants$2,deflate_1$1={Deflate:Deflate_1$1,deflate:deflate_2,deflateRaw:deflateRaw_1$1,gzip:gzip_1$1,constants:constants$1};const{Deflate,deflate,deflateRaw,gzip}=deflate_1$1;var deflate_1=deflate,fromByteArray_1=fromByteArray,lookup=[],code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[o&63]}function encodeChunk(o,s,_){for(var j,$=[],_e=s;_e<_;_e+=3)j=(o[_e]<<16&16711680)+(o[_e+1]<<8&65280)+(o[_e+2]&255),$.push(tripletToBase64(j));return $.join("")}function fromByteArray(o){for(var s,_=o.length,j=_%3,$=[],_e=16383,et=0,tt=_-j;ettt?tt:et+_e));return j===1?(s=o[_-1],$.push(lookup[s>>2]+lookup[s<<4&63]+"==")):j===2&&(s=(o[_-2]<<8)+o[_-1],$.push(lookup[s>>10]+lookup[s>>4&63]+lookup[s<<2&63]+"=")),$.join("")}const encoder=new TextEncoder;new TextDecoder;function serializeHash(o){const s=JSON.stringify(o),_=encoder.encode(s),j=deflate_1(_);return fromByteArray_1(j)}async function getViews(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/views`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function createShareLink(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=(await getViews()).filter(et=>et.name===s);if(_.length===0)return console.warn("View does not exist or it is misspell"),null;const j=await fetch(`${FORMANT_API_URL}/v1/admin/shares`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),$=FORMANT_API_URL.replace("api","app"),{code:_e}=await j.json();return`${$}/shares/${_e}#${serializeHash({viewId:_[0].id})}`}async function disableDevice(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}/disable`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const aggregateByDateFunctions={day:{interval:eachDayOfInterval,start:startOfDay,end:endOfDay,sub:subDays,get:getDay},week:{interval:eachWeekOfInterval,start:startOfWeek,end:endOfWeek,sub:subWeeks,get:getWeek},month:{interval:eachMonthOfInterval,start:startOfMonth,end:endOfMonth,sub:subMonths,get:getMonth},year:{interval:eachYearOfInterval,start:startOfYear,end:endOfYear,sub:subYears,get:getYear},hour:{interval:eachHourOfInterval,start:startOfHour,end:endOfHour,sub:subHours,get:getHours},minute:{interval:eachMinuteOfInterval,start:startOfMinute,end:endOfMinute,sub:subMinutes,get:getMinutes},quarter:{interval:eachQuarterOfInterval,start:startOfQuarter,end:endOfQuarter,sub:subQuarters,get:getQuarter}},formatTimeFrameText=(o,s)=>o.split("/")[0]+"/"+o.split("/")[1]+"–"+s.split("/")[0]+"/"+s.split("/")[1];async function queryEvents(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function eventsCounter(o,s,_,j,$){const _e=aggregateByDateFunctions[s];return await Promise.all(Array(_).fill(0).map(async(et,tt)=>{const nt=new Date(j),rt=_e.sub(_e.start(nt),_-tt-1),ot=_e.sub(_e.end(nt),_-tt-1),ut=formatTimeFrameText(rt.toLocaleDateString(),ot.toLocaleDateString()),dt=await queryEvents({...$,eventTypes:o,start:new Date(rt).toISOString(),end:new Date(ot).toISOString()});return{date:ut,events:dt}}))}async function getAnnotationCount(o,s){return(await queryEvents({...o,eventTypes:["annotation"]})).filter(_=>!!_.tags&&Object.keys(_.tags).includes(s)).reduce((_,j)=>{const $=j.tags[s];return $ in _?(_[$]+=1,_):(_[$]=1,_)},{})}async function getAnnotationCountByIntervals(o,s,_){const{end:j,start:$}=o,_e=aggregateByDateFunctions[_].interval({start:new Date($),end:new Date(j)}),et=_e.map((nt,rt)=>{const ot=new Date(nt).toISOString(),ut=rt===_e.length-1?new Date(Date.now()).toISOString():new Date(_e[rt+1]);return getAnnotationCount({...o,start:ot,end:ut},s)}),tt=await Promise.all(et);return _e.map((nt,rt)=>({date:new Date(nt).toISOString(),annotations:tt[rt]}))}async function getDevicesData(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}var dist={exports:{}};/*! For license information please see index.js.LICENSE.txt */(function(module,exports){(function(o,s){module.exports=s()})(window,function(){return function(o){function s(rt){for(var ot,ut,dt=rt[0],Ut=rt[1],st=0,ct=[];st1?"s":"")+" required, but only "+Ht.length+" present")}function rt(Kt){if(Kt===null||Kt===!0||Kt===!1)return NaN;var Ht=Number(Kt);return isNaN(Ht)?Ht:Ht<0?Math.ceil(Ht):Math.floor(Ht)}var ot={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},ut=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,dt=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Ut=/^([+-])(\d{2})(?::?(\d{2}))?$/;function st(Kt){var Ht,on={},sn=Kt.split(ot.dateTimeDelimiter);if(sn.length>2)return on;if(/:/.test(sn[0])?Ht=sn[0]:(on.date=sn[0],Ht=sn[1],ot.timeZoneDelimiter.test(on.date)&&(on.date=Kt.split(ot.timeZoneDelimiter)[0],Ht=Kt.substr(on.date.length,Kt.length))),Ht){var gn=ot.timezone.exec(Ht);gn?(on.time=Ht.replace(gn[1],""),on.timezone=gn[1]):on.time=Ht}return on}function ct(Kt,Ht){var on=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+Ht)+"})|(\\d{2}|[+-]\\d{"+(2+Ht)+"})$)"),sn=Kt.match(on);if(!sn)return{year:NaN,restDateString:""};var gn=sn[1]?parseInt(sn[1]):null,Cn=sn[2]?parseInt(sn[2]):null;return{year:Cn===null?gn:100*Cn,restDateString:Kt.slice((sn[1]||sn[2]).length)}}function pt(Kt,Ht){if(Ht===null)return new Date(NaN);var on=Kt.match(ut);if(!on)return new Date(NaN);var sn=!!on[4],gn=Bt(on[1]),Cn=Bt(on[2])-1,In=Bt(on[3]),Mn=Bt(on[4]),rr=Bt(on[5])-1;if(sn)return function(Dn,Hn,Fr){return Hn>=1&&Hn<=53&&Fr>=0&&Fr<=6}(0,Mn,rr)?function(Dn,Hn,Fr){var hr=new Date(0);hr.setUTCFullYear(Dn,0,4);var Gr=hr.getUTCDay()||7,Co=7*(Hn-1)+Fr+1-Gr;return hr.setUTCDate(hr.getUTCDate()+Co),hr}(Ht,Mn,rr):new Date(NaN);var An=new Date(0);return function(Dn,Hn,Fr){return Hn>=0&&Hn<=11&&Fr>=1&&Fr<=(Ft[Hn]||(yt(Dn)?29:28))}(Ht,Cn,In)&&function(Dn,Hn){return Hn>=1&&Hn<=(yt(Dn)?366:365)}(Ht,gn)?(An.setUTCFullYear(Ht,Cn,Math.max(gn,In)),An):new Date(NaN)}function Bt(Kt){return Kt?parseInt(Kt):1}function Qt(Kt){var Ht=Kt.match(dt);if(!Ht)return NaN;var on=gt(Ht[1]),sn=gt(Ht[2]),gn=gt(Ht[3]);return function(Cn,In,Mn){return Cn===24?In===0&&Mn===0:Mn>=0&&Mn<60&&In>=0&&In<60&&Cn>=0&&Cn<25}(on,sn,gn)?36e5*on+6e4*sn+1e3*gn:NaN}function gt(Kt){return Kt&&parseFloat(Kt.replace(",","."))||0}function ft(Kt){if(Kt==="Z")return 0;var Ht=Kt.match(Ut);if(!Ht)return 0;var on=Ht[1]==="+"?-1:1,sn=parseInt(Ht[2]),gn=Ht[3]&&parseInt(Ht[3])||0;return function(Cn,In){return In>=0&&In<=59}(0,gn)?on*(36e5*sn+6e4*gn):NaN}var Ft=[31,null,31,30,31,30,31,31,30,31,30,31];function yt(Kt){return Kt%400==0||Kt%4==0&&Kt%100!=0}var Ct=_(40);function xt(Kt){return nt(1,arguments),Kt instanceof Date||Object(Ct.a)(Kt)==="object"&&Object.prototype.toString.call(Kt)==="[object Date]"}function ht(Kt){nt(1,arguments);var Ht=Object.prototype.toString.call(Kt);return Kt instanceof Date||Object(Ct.a)(Kt)==="object"&&Ht==="[object Date]"?new Date(Kt.getTime()):typeof Kt=="number"||Ht==="[object Number]"?new Date(Kt):(typeof Kt!="string"&&Ht!=="[object String]"||typeof console>"u"||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn(new Error().stack)),new Date(NaN))}function mt(Kt){const Ht=function(on,sn){var gn;nt(1,arguments);var Cn=rt((gn=sn==null?void 0:sn.additionalDigits)!==null&&gn!==void 0?gn:2);if(Cn!==2&&Cn!==1&&Cn!==0)throw new RangeError("additionalDigits must be 0, 1 or 2");if(typeof on!="string"&&Object.prototype.toString.call(on)!=="[object String]")return new Date(NaN);var In,Mn=st(on);if(Mn.date){var rr=ct(Mn.date,Cn);In=pt(rr.restDateString,rr.year)}if(!In||isNaN(In.getTime()))return new Date(NaN);var An,Dn=In.getTime(),Hn=0;if(Mn.time&&(Hn=Qt(Mn.time),isNaN(Hn)))return new Date(NaN);if(!Mn.timezone){var Fr=new Date(Dn+Hn),hr=new Date(0);return hr.setFullYear(Fr.getUTCFullYear(),Fr.getUTCMonth(),Fr.getUTCDate()),hr.setHours(Fr.getUTCHours(),Fr.getUTCMinutes(),Fr.getUTCSeconds(),Fr.getUTCMilliseconds()),hr}return An=ft(Mn.timezone),isNaN(An)?new Date(NaN):new Date(Dn+Hn+An)}(Kt);if(!function(on){if(nt(1,arguments),!xt(on)&&typeof on!="number")return!1;var sn=ht(on);return!isNaN(Number(sn))}(Ht))throw new Error(`Invalid ISO 8601 date string (${Kt})`);return Ht}const It=Math.pow(2,20),vt=It;var Tt=_(3),Ot=_(28);function _t(Kt){return et()(Kt,{cycles:!0})}var Wt=function(Kt,Ht){var on={};for(var sn in Kt)Object.prototype.hasOwnProperty.call(Kt,sn)&&Ht.indexOf(sn)<0&&(on[sn]=Kt[sn]);if(Kt!=null&&typeof Object.getOwnPropertySymbols=="function"){var gn=0;for(sn=Object.getOwnPropertySymbols(Kt);gnon?Object(Ot.a)(rr):rr;if(!Kt.stack)return{message:_t(sn(Kt))};const{name:gn,message:Cn,stack:In}=Kt,Mn=Wt(Kt,["name","message","stack"]);return{name:gn,message:Cn!==void 0?Cn:_t(sn(Kt)),stack:In,meta:Mn&&Object.keys(Mn).length===0?void 0:sn(Mn)}}function Jt(Kt,Ht={}){const{message:on,stack:sn,meta:gn}=bt(Kt,Ht);return`${sn||on||""}${gn&&Object.keys(gn).length>0?" -- "+_t(gn):""}`}var Zt=_(236);const Vt=Object(Zt.a)();var jt=_(14),zt=_.n(jt),$t=function(Kt,Ht,on,sn){return new(on||(on=Promise))(function(gn,Cn){function In(An){try{rr(sn.next(An))}catch(Dn){Cn(Dn)}}function Mn(An){try{rr(sn.throw(An))}catch(Dn){Cn(Dn)}}function rr(An){var Dn;An.done?gn(An.value):(Dn=An.value,Dn instanceof on?Dn:new on(function(Hn){Hn(Dn)})).then(In,Mn)}rr((sn=sn.apply(Kt,Ht||[])).next())})},nn=function(Kt,Ht){var on={};for(var sn in Kt)Object.prototype.hasOwnProperty.call(Kt,sn)&&Ht.indexOf(sn)<0&&(on[sn]=Kt[sn]);if(Kt!=null&&typeof Object.getOwnPropertySymbols=="function"){var gn=0;for(sn=Object.getOwnPropertySymbols(Kt);gn{var{timestamp:Ht,level:on,message:sn,error:gn}=Kt,Cn=Dt(Kt,["timestamp","level","message","error"]);const In=Object.assign(Object.assign({timestamp:Ht?mt(Ht).getTime():new Date().getTime(),level:on.toUpperCase(),message:sn},gn?{error:bt(gn)}:{}),{meta:Object.assign(Object.assign({},wt),Cn)});return et()(In,{cycles:!0})}):tt.format.printf(Kt=>{var{timestamp:Ht,level:on,message:sn,error:gn}=Kt,Cn=Dt(Kt,["timestamp","level","message","error"]);let In=`${Ht||new Date().toISOString()} ${on.toUpperCase()}: ${sn} `;return Object.keys(Cn).length>0&&(In+=et()(Cn,{cycles:!0})),gn&&(In+=` +`+Jt(gn)),In}),kt=Object(tt.createLogger)({level:Tt.g});if(kt.add(new tt.transports.Console({format:Et,level:"debug"})),kt.transports.forEach(Kt=>{Kt.silent=!Tt.h}),Tt.e&&kt.add(new rn(Tt.e,wt)),Tt.i){const Kt=$.resolve(j.tmpdir(),`silly-${Tt.a}.log`);kt.debug("Logging silly logs to file",{filename:Kt}),kt.add(new tt.transports.File({filename:Kt,maxsize:1*vt,maxFiles:10,format:tt.format.combine((Pt="silly",Object(tt.format)(Ht=>Ht.level===Pt&&Ht)()),Et),level:"silly"}))}var Pt},function(o,s,_){_.d(s,"a",function(){return $});const j=864e5,$={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:j,week:6048e5,month:2592e6,year:31536e6}},function(o,s){var _,j,$=o.exports={};function _e(){throw new Error("setTimeout has not been defined")}function et(){throw new Error("clearTimeout has not been defined")}function tt(pt){if(_===setTimeout)return setTimeout(pt,0);if((_===_e||!_)&&setTimeout)return _=setTimeout,setTimeout(pt,0);try{return _(pt,0)}catch{try{return _.call(null,pt,0)}catch{return _.call(this,pt,0)}}}(function(){try{_=typeof setTimeout=="function"?setTimeout:_e}catch{_=_e}try{j=typeof clearTimeout=="function"?clearTimeout:et}catch{j=et}})();var nt,rt=[],ot=!1,ut=-1;function dt(){ot&&nt&&(ot=!1,nt.length?rt=nt.concat(rt):ut=-1,rt.length&&Ut())}function Ut(){if(!ot){var pt=tt(dt);ot=!0;for(var Bt=rt.length;Bt;){for(nt=rt,rt=[];++ut1)for(var Qt=1;Qt=tt())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+tt().toString(16)+" bytes");return 0|Et}function ct(Et,kt){if(rt.isBuffer(Et))return Et.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(Et)||Et instanceof ArrayBuffer))return Et.byteLength;typeof Et!="string"&&(Et=""+Et);var Pt=Et.length;if(Pt===0)return 0;for(var Kt=!1;;)switch(kt){case"ascii":case"latin1":case"binary":return Pt;case"utf8":case"utf-8":case void 0:return rn(Et).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*Pt;case"hex":return Pt>>>1;case"base64":return Dt(Et).length;default:if(Kt)return rn(Et).length;kt=(""+kt).toLowerCase(),Kt=!0}}function pt(Et,kt,Pt){var Kt=!1;if((kt===void 0||kt<0)&&(kt=0),kt>this.length||((Pt===void 0||Pt>this.length)&&(Pt=this.length),Pt<=0)||(Pt>>>=0)<=(kt>>>=0))return"";for(Et||(Et="utf8");;)switch(Et){case"hex":return Ot(this,kt,Pt);case"utf8":case"utf-8":return It(this,kt,Pt);case"ascii":return vt(this,kt,Pt);case"latin1":case"binary":return Tt(this,kt,Pt);case"base64":return mt(this,kt,Pt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _t(this,kt,Pt);default:if(Kt)throw new TypeError("Unknown encoding: "+Et);Et=(Et+"").toLowerCase(),Kt=!0}}function Bt(Et,kt,Pt){var Kt=Et[kt];Et[kt]=Et[Pt],Et[Pt]=Kt}function Qt(Et,kt,Pt,Kt,Ht){if(Et.length===0)return-1;if(typeof Pt=="string"?(Kt=Pt,Pt=0):Pt>2147483647?Pt=2147483647:Pt<-2147483648&&(Pt=-2147483648),Pt=+Pt,isNaN(Pt)&&(Pt=Ht?0:Et.length-1),Pt<0&&(Pt=Et.length+Pt),Pt>=Et.length){if(Ht)return-1;Pt=Et.length-1}else if(Pt<0){if(!Ht)return-1;Pt=0}if(typeof kt=="string"&&(kt=rt.from(kt,Kt)),rt.isBuffer(kt))return kt.length===0?-1:gt(Et,kt,Pt,Kt,Ht);if(typeof kt=="number")return kt&=255,rt.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?Ht?Uint8Array.prototype.indexOf.call(Et,kt,Pt):Uint8Array.prototype.lastIndexOf.call(Et,kt,Pt):gt(Et,[kt],Pt,Kt,Ht);throw new TypeError("val must be string, number or Buffer")}function gt(Et,kt,Pt,Kt,Ht){var on,sn=1,gn=Et.length,Cn=kt.length;if(Kt!==void 0&&((Kt=String(Kt).toLowerCase())==="ucs2"||Kt==="ucs-2"||Kt==="utf16le"||Kt==="utf-16le")){if(Et.length<2||kt.length<2)return-1;sn=2,gn/=2,Cn/=2,Pt/=2}function In(Dn,Hn){return sn===1?Dn[Hn]:Dn.readUInt16BE(Hn*sn)}if(Ht){var Mn=-1;for(on=Pt;ongn&&(Pt=gn-Cn),on=Pt;on>=0;on--){for(var rr=!0,An=0;AnHt&&(Kt=Ht):Kt=Ht;var on=kt.length;if(on%2!=0)throw new TypeError("Invalid hex string");Kt>on/2&&(Kt=on/2);for(var sn=0;sn>8,Cn=sn%256,In.push(Cn),In.push(gn);return In}(kt,Et.length-Pt),Et,Pt,Kt)}function mt(Et,kt,Pt){return kt===0&&Pt===Et.length?$.fromByteArray(Et):$.fromByteArray(Et.slice(kt,Pt))}function It(Et,kt,Pt){Pt=Math.min(Et.length,Pt);for(var Kt=[],Ht=kt;Ht239?4:In>223?3:In>191?2:1;if(Ht+rr<=Pt)switch(rr){case 1:In<128&&(Mn=In);break;case 2:(192&(on=Et[Ht+1]))==128&&(Cn=(31&In)<<6|63&on)>127&&(Mn=Cn);break;case 3:on=Et[Ht+1],sn=Et[Ht+2],(192&on)==128&&(192&sn)==128&&(Cn=(15&In)<<12|(63&on)<<6|63&sn)>2047&&(Cn<55296||Cn>57343)&&(Mn=Cn);break;case 4:on=Et[Ht+1],sn=Et[Ht+2],gn=Et[Ht+3],(192&on)==128&&(192&sn)==128&&(192&gn)==128&&(Cn=(15&In)<<18|(63&on)<<12|(63&sn)<<6|63&gn)>65535&&Cn<1114112&&(Mn=Cn)}Mn===null?(Mn=65533,rr=1):Mn>65535&&(Mn-=65536,Kt.push(Mn>>>10&1023|55296),Mn=56320|1023&Mn),Kt.push(Mn),Ht+=rr}return function(An){var Dn=An.length;if(Dn<=4096)return String.fromCharCode.apply(String,An);for(var Hn="",Fr=0;Fr0&&(Et=this.toString("hex",0,kt).match(/.{2}/g).join(" "),this.length>kt&&(Et+=" ... ")),""},rt.prototype.compare=function(Et,kt,Pt,Kt,Ht){if(!rt.isBuffer(Et))throw new TypeError("Argument must be a Buffer");if(kt===void 0&&(kt=0),Pt===void 0&&(Pt=Et?Et.length:0),Kt===void 0&&(Kt=0),Ht===void 0&&(Ht=this.length),kt<0||Pt>Et.length||Kt<0||Ht>this.length)throw new RangeError("out of range index");if(Kt>=Ht&&kt>=Pt)return 0;if(Kt>=Ht)return-1;if(kt>=Pt)return 1;if(this===Et)return 0;for(var on=(Ht>>>=0)-(Kt>>>=0),sn=(Pt>>>=0)-(kt>>>=0),gn=Math.min(on,sn),Cn=this.slice(Kt,Ht),In=Et.slice(kt,Pt),Mn=0;MnHt)&&(Pt=Ht),Et.length>0&&(Pt<0||kt<0)||kt>this.length)throw new RangeError("Attempt to write outside buffer bounds");Kt||(Kt="utf8");for(var on=!1;;)switch(Kt){case"hex":return ft(this,Et,kt,Pt);case"utf8":case"utf-8":return Ft(this,Et,kt,Pt);case"ascii":return yt(this,Et,kt,Pt);case"latin1":case"binary":return Ct(this,Et,kt,Pt);case"base64":return xt(this,Et,kt,Pt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ht(this,Et,kt,Pt);default:if(on)throw new TypeError("Unknown encoding: "+Kt);Kt=(""+Kt).toLowerCase(),on=!0}},rt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function vt(Et,kt,Pt){var Kt="";Pt=Math.min(Et.length,Pt);for(var Ht=kt;HtKt)&&(Pt=Kt);for(var Ht="",on=kt;onPt)throw new RangeError("Trying to access beyond buffer length")}function bt(Et,kt,Pt,Kt,Ht,on){if(!rt.isBuffer(Et))throw new TypeError('"buffer" argument must be a Buffer instance');if(kt>Ht||ktEt.length)throw new RangeError("Index out of range")}function Jt(Et,kt,Pt,Kt){kt<0&&(kt=65535+kt+1);for(var Ht=0,on=Math.min(Et.length-Pt,2);Ht>>8*(Kt?Ht:1-Ht)}function Zt(Et,kt,Pt,Kt){kt<0&&(kt=4294967295+kt+1);for(var Ht=0,on=Math.min(Et.length-Pt,4);Ht>>8*(Kt?Ht:3-Ht)&255}function Vt(Et,kt,Pt,Kt,Ht,on){if(Pt+Kt>Et.length)throw new RangeError("Index out of range");if(Pt<0)throw new RangeError("Index out of range")}function jt(Et,kt,Pt,Kt,Ht){return Ht||Vt(Et,0,Pt,4),_e.write(Et,kt,Pt,Kt,23,4),Pt+4}function zt(Et,kt,Pt,Kt,Ht){return Ht||Vt(Et,0,Pt,8),_e.write(Et,kt,Pt,Kt,52,8),Pt+8}rt.prototype.slice=function(Et,kt){var Pt,Kt=this.length;if((Et=~~Et)<0?(Et+=Kt)<0&&(Et=0):Et>Kt&&(Et=Kt),(kt=kt===void 0?Kt:~~kt)<0?(kt+=Kt)<0&&(kt=0):kt>Kt&&(kt=Kt),kt0&&(Ht*=256);)Kt+=this[Et+--kt]*Ht;return Kt},rt.prototype.readUInt8=function(Et,kt){return kt||Wt(Et,1,this.length),this[Et]},rt.prototype.readUInt16LE=function(Et,kt){return kt||Wt(Et,2,this.length),this[Et]|this[Et+1]<<8},rt.prototype.readUInt16BE=function(Et,kt){return kt||Wt(Et,2,this.length),this[Et]<<8|this[Et+1]},rt.prototype.readUInt32LE=function(Et,kt){return kt||Wt(Et,4,this.length),(this[Et]|this[Et+1]<<8|this[Et+2]<<16)+16777216*this[Et+3]},rt.prototype.readUInt32BE=function(Et,kt){return kt||Wt(Et,4,this.length),16777216*this[Et]+(this[Et+1]<<16|this[Et+2]<<8|this[Et+3])},rt.prototype.readIntLE=function(Et,kt,Pt){Et|=0,kt|=0,Pt||Wt(Et,kt,this.length);for(var Kt=this[Et],Ht=1,on=0;++on=(Ht*=128)&&(Kt-=Math.pow(2,8*kt)),Kt},rt.prototype.readIntBE=function(Et,kt,Pt){Et|=0,kt|=0,Pt||Wt(Et,kt,this.length);for(var Kt=kt,Ht=1,on=this[Et+--Kt];Kt>0&&(Ht*=256);)on+=this[Et+--Kt]*Ht;return on>=(Ht*=128)&&(on-=Math.pow(2,8*kt)),on},rt.prototype.readInt8=function(Et,kt){return kt||Wt(Et,1,this.length),128&this[Et]?-1*(255-this[Et]+1):this[Et]},rt.prototype.readInt16LE=function(Et,kt){kt||Wt(Et,2,this.length);var Pt=this[Et]|this[Et+1]<<8;return 32768&Pt?4294901760|Pt:Pt},rt.prototype.readInt16BE=function(Et,kt){kt||Wt(Et,2,this.length);var Pt=this[Et+1]|this[Et]<<8;return 32768&Pt?4294901760|Pt:Pt},rt.prototype.readInt32LE=function(Et,kt){return kt||Wt(Et,4,this.length),this[Et]|this[Et+1]<<8|this[Et+2]<<16|this[Et+3]<<24},rt.prototype.readInt32BE=function(Et,kt){return kt||Wt(Et,4,this.length),this[Et]<<24|this[Et+1]<<16|this[Et+2]<<8|this[Et+3]},rt.prototype.readFloatLE=function(Et,kt){return kt||Wt(Et,4,this.length),_e.read(this,Et,!0,23,4)},rt.prototype.readFloatBE=function(Et,kt){return kt||Wt(Et,4,this.length),_e.read(this,Et,!1,23,4)},rt.prototype.readDoubleLE=function(Et,kt){return kt||Wt(Et,8,this.length),_e.read(this,Et,!0,52,8)},rt.prototype.readDoubleBE=function(Et,kt){return kt||Wt(Et,8,this.length),_e.read(this,Et,!1,52,8)},rt.prototype.writeUIntLE=function(Et,kt,Pt,Kt){Et=+Et,kt|=0,Pt|=0,Kt||bt(this,Et,kt,Pt,Math.pow(2,8*Pt)-1,0);var Ht=1,on=0;for(this[kt]=255&Et;++on=0&&(on*=256);)this[kt+Ht]=Et/on&255;return kt+Pt},rt.prototype.writeUInt8=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,1,255,0),rt.TYPED_ARRAY_SUPPORT||(Et=Math.floor(Et)),this[kt]=255&Et,kt+1},rt.prototype.writeUInt16LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,65535,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8):Jt(this,Et,kt,!0),kt+2},rt.prototype.writeUInt16BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,65535,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>8,this[kt+1]=255&Et):Jt(this,Et,kt,!1),kt+2},rt.prototype.writeUInt32LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,4294967295,0),rt.TYPED_ARRAY_SUPPORT?(this[kt+3]=Et>>>24,this[kt+2]=Et>>>16,this[kt+1]=Et>>>8,this[kt]=255&Et):Zt(this,Et,kt,!0),kt+4},rt.prototype.writeUInt32BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,4294967295,0),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>24,this[kt+1]=Et>>>16,this[kt+2]=Et>>>8,this[kt+3]=255&Et):Zt(this,Et,kt,!1),kt+4},rt.prototype.writeIntLE=function(Et,kt,Pt,Kt){if(Et=+Et,kt|=0,!Kt){var Ht=Math.pow(2,8*Pt-1);bt(this,Et,kt,Pt,Ht-1,-Ht)}var on=0,sn=1,gn=0;for(this[kt]=255&Et;++on>0)-gn&255;return kt+Pt},rt.prototype.writeIntBE=function(Et,kt,Pt,Kt){if(Et=+Et,kt|=0,!Kt){var Ht=Math.pow(2,8*Pt-1);bt(this,Et,kt,Pt,Ht-1,-Ht)}var on=Pt-1,sn=1,gn=0;for(this[kt+on]=255&Et;--on>=0&&(sn*=256);)Et<0&&gn===0&&this[kt+on+1]!==0&&(gn=1),this[kt+on]=(Et/sn>>0)-gn&255;return kt+Pt},rt.prototype.writeInt8=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,1,127,-128),rt.TYPED_ARRAY_SUPPORT||(Et=Math.floor(Et)),Et<0&&(Et=255+Et+1),this[kt]=255&Et,kt+1},rt.prototype.writeInt16LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,32767,-32768),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8):Jt(this,Et,kt,!0),kt+2},rt.prototype.writeInt16BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,2,32767,-32768),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>8,this[kt+1]=255&Et):Jt(this,Et,kt,!1),kt+2},rt.prototype.writeInt32LE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,2147483647,-2147483648),rt.TYPED_ARRAY_SUPPORT?(this[kt]=255&Et,this[kt+1]=Et>>>8,this[kt+2]=Et>>>16,this[kt+3]=Et>>>24):Zt(this,Et,kt,!0),kt+4},rt.prototype.writeInt32BE=function(Et,kt,Pt){return Et=+Et,kt|=0,Pt||bt(this,Et,kt,4,2147483647,-2147483648),Et<0&&(Et=4294967295+Et+1),rt.TYPED_ARRAY_SUPPORT?(this[kt]=Et>>>24,this[kt+1]=Et>>>16,this[kt+2]=Et>>>8,this[kt+3]=255&Et):Zt(this,Et,kt,!1),kt+4},rt.prototype.writeFloatLE=function(Et,kt,Pt){return jt(this,Et,kt,!0,Pt)},rt.prototype.writeFloatBE=function(Et,kt,Pt){return jt(this,Et,kt,!1,Pt)},rt.prototype.writeDoubleLE=function(Et,kt,Pt){return zt(this,Et,kt,!0,Pt)},rt.prototype.writeDoubleBE=function(Et,kt,Pt){return zt(this,Et,kt,!1,Pt)},rt.prototype.copy=function(Et,kt,Pt,Kt){if(Pt||(Pt=0),Kt||Kt===0||(Kt=this.length),kt>=Et.length&&(kt=Et.length),kt||(kt=0),Kt>0&&Kt=this.length)throw new RangeError("sourceStart out of bounds");if(Kt<0)throw new RangeError("sourceEnd out of bounds");Kt>this.length&&(Kt=this.length),Et.length-kt=0;--Ht)Et[Ht+kt]=this[Ht+Pt];else if(on<1e3||!rt.TYPED_ARRAY_SUPPORT)for(Ht=0;Ht>>=0,Pt=Pt===void 0?this.length:Pt>>>0,Et||(Et=0),typeof Et=="number")for(on=kt;on55295&&Pt<57344){if(!Ht){if(Pt>56319){(kt-=3)>-1&&on.push(239,191,189);continue}if(sn+1===Kt){(kt-=3)>-1&&on.push(239,191,189);continue}Ht=Pt;continue}if(Pt<56320){(kt-=3)>-1&&on.push(239,191,189),Ht=Pt;continue}Pt=65536+(Ht-55296<<10|Pt-56320)}else Ht&&(kt-=3)>-1&&on.push(239,191,189);if(Ht=null,Pt<128){if((kt-=1)<0)break;on.push(Pt)}else if(Pt<2048){if((kt-=2)<0)break;on.push(Pt>>6|192,63&Pt|128)}else if(Pt<65536){if((kt-=3)<0)break;on.push(Pt>>12|224,Pt>>6&63|128,63&Pt|128)}else{if(!(Pt<1114112))throw new Error("Invalid code point");if((kt-=4)<0)break;on.push(Pt>>18|240,Pt>>12&63|128,Pt>>6&63|128,63&Pt|128)}}return on}function Dt(Et){return $.toByteArray(function(kt){if((kt=function(Pt){return Pt.trim?Pt.trim():Pt.replace(/^\s+|\s+$/g,"")}(kt).replace($t,"")).length<2)return"";for(;kt.length%4!=0;)kt+="=";return kt}(Et))}function wt(Et,kt,Pt,Kt){for(var Ht=0;Ht=kt.length||Ht>=Et.length);++Ht)kt[Ht+Pt]=Et[Ht];return Ht}}).call(this,_(6))},function(o,s){var _;_=function(){return this}();try{_=_||new Function("return this")()}catch{typeof window=="object"&&(_=window)}o.exports=_},function(o,s){typeof Object.create=="function"?o.exports=function(_,j){j&&(_.super_=j,_.prototype=Object.create(j.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}))}:o.exports=function(_,j){if(j){_.super_=j;var $=function(){};$.prototype=j.prototype,_.prototype=new $,_.prototype.constructor=_}}},function(o,s,_){function j(dt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ut){return typeof Ut}:function(Ut){return Ut&&typeof Symbol=="function"&&Ut.constructor===Symbol&&Ut!==Symbol.prototype?"symbol":typeof Ut})(dt)}function $(dt,Ut){if(Ut&&(j(Ut)==="object"||typeof Ut=="function"))return Ut;if(Ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _e(dt)}function _e(dt){if(dt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return dt}function et(dt){var Ut=typeof Map=="function"?new Map:void 0;return(et=function(st){if(st===null||(ct=st,Function.toString.call(ct).indexOf("[native code]")===-1))return st;var ct;if(typeof st!="function")throw new TypeError("Super expression must either be null or a function");if(Ut!==void 0){if(Ut.has(st))return Ut.get(st);Ut.set(st,pt)}function pt(){return tt(st,arguments,ot(this).constructor)}return pt.prototype=Object.create(st.prototype,{constructor:{value:pt,enumerable:!1,writable:!0,configurable:!0}}),rt(pt,st)})(dt)}function tt(dt,Ut,st){return(tt=nt()?Reflect.construct.bind():function(ct,pt,Bt){var Qt=[null];Qt.push.apply(Qt,pt);var gt=new(Function.bind.apply(ct,Qt));return Bt&&rt(gt,Bt.prototype),gt}).apply(null,arguments)}function nt(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function rt(dt,Ut){return(rt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(st,ct){return st.__proto__=ct,st})(dt,Ut)}function ot(dt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Ut){return Ut.__proto__||Object.getPrototypeOf(Ut)})(dt)}var ut=function(dt){(function(Qt,gt){if(typeof gt!="function"&>!==null)throw new TypeError("Super expression must either be null or a function");Qt.prototype=Object.create(gt&>.prototype,{constructor:{value:Qt,writable:!0,configurable:!0}}),Object.defineProperty(Qt,"prototype",{writable:!1}),gt&&rt(Qt,gt)})(Bt,dt);var Ut,st,ct,pt=(Ut=Bt,st=nt(),function(){var Qt,gt=ot(Ut);if(st){var ft=ot(this).constructor;Qt=Reflect.construct(gt,arguments,ft)}else Qt=gt.apply(this,arguments);return $(this,Qt)});function Bt(Qt){var gt;return function(ft,Ft){if(!(ft instanceof Ft))throw new TypeError("Cannot call a class as a function")}(this,Bt),gt=pt.call(this,`Format functions must be synchronous taking a two arguments: (info, opts) +Found: `.concat(Qt.toString().split(` +`)[0],` +`)),Error.captureStackTrace(_e(gt),Bt),gt}return ct=Bt,Object.defineProperty(ct,"prototype",{writable:!1}),ct}(et(Error));o.exports=function(dt){if(dt.length>2)throw new ut(dt);function Ut(){var ct=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.options=ct}function st(ct){return new Ut(ct)}return Ut.prototype.transform=dt,st.Format=Ut,st}},function(o,s,_){_.d(s,"a",function(){return j});const j=$=>new Promise(_e=>setTimeout(_e,$||0))},function(o,s,_){var j=_(98),$=j,_e=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||_e!==void 0&&_e||typeof self<"u"&&self||(function(){return this}).call(null)||Function("return this")(),et=_(97);$.object.extend(proto,et),$.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.Peer",null,_e),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.RtcSession",null,_e),$.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,_e),$.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,_e),$.exportSymbol("proto.v1.signaling.api.SessionType",null,_e),$.exportSymbol("proto.v1.signaling.api.Signal",null,_e),proto.v1.signaling.api.Peer=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.Peer,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.Signal,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RtcSession,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetSessionsRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetSessionsResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetHealthResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.CreatePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.DeletePeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.RefreshPeerResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetPeersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(tt){j.Message.initialize(this,tt,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},$.inherits(proto.v1.signaling.api.GetPeersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.GetIceServersResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.SendSignalResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(tt){j.Message.initialize(this,tt,0,-1,null,null)},$.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,j.Message),$.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(tt){return proto.v1.signaling.api.Peer.toObject(tt,this)},proto.v1.signaling.api.Peer.toObject=function(tt,nt){var rt,ot={peerId:j.Message.getFieldWithDefault(nt,1,""),organizationId:j.Message.getFieldWithDefault(nt,2,""),userId:(rt=nt.getUserId())&&et.StringValue.toObject(tt,rt),deviceId:(rt=nt.getDeviceId())&&et.StringValue.toObject(tt,rt),sessionIdsList:(rt=j.Message.getRepeatedField(nt,5))==null?void 0:rt,peerCreatedTimestamp:(rt=nt.getPeerCreatedTimestamp())&&et.Int64Value.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.Peer.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;case 2:rt=nt.readString(),tt.setOrganizationId(rt);break;case 3:rt=new et.StringValue,nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setUserId(rt);break;case 4:rt=new et.StringValue,nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setDeviceId(rt);break;case 5:rt=nt.readString(),tt.addSessionIds(rt);break;case 6:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setPeerCreatedTimestamp(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt),(rt=tt.getOrganizationId()).length>0&&nt.writeString(2,rt),(rt=tt.getUserId())!=null&&nt.writeMessage(3,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getDeviceId())!=null&&nt.writeMessage(4,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionIdsList()).length>0&&nt.writeRepeatedString(5,rt),(rt=tt.getPeerCreatedTimestamp())!=null&&nt.writeMessage(6,rt,et.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(tt){return j.Message.setProto3StringField(this,2,tt)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return j.Message.getWrapperField(this,et.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(tt){return j.Message.setWrapperField(this,3,tt)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return j.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return j.Message.getWrapperField(this,et.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(tt){return j.Message.setWrapperField(this,4,tt)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return j.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return j.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(tt){return j.Message.setField(this,5,tt||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(tt,nt){return j.Message.addToRepeatedField(this,5,tt,nt)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,6,tt)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return j.Message.getField(this,6)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(tt){return proto.v1.signaling.api.Signal.toObject(tt,this)},proto.v1.signaling.api.Signal.toObject=function(tt,nt){var rt,ot={sessionId:(rt=nt.getSessionId())&&et.StringValue.toObject(tt,rt),sessionCreatedTimestamp:(rt=nt.getSessionCreatedTimestamp())&&et.Int64Value.toObject(tt,rt),senderId:j.Message.getFieldWithDefault(nt,3,""),receiverId:j.Message.getFieldWithDefault(nt,4,""),payload:j.Message.getFieldWithDefault(nt,5,""),iceServers:j.Message.getFieldWithDefault(nt,6,""),iceTransportPolicy:j.Message.getFieldWithDefault(nt,7,""),sessionType:j.Message.getFieldWithDefault(nt,8,0)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.Signal.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new et.StringValue;nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setSessionId(rt);break;case 2:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setSessionCreatedTimestamp(rt);break;case 3:rt=nt.readString(),tt.setSenderId(rt);break;case 4:rt=nt.readString(),tt.setReceiverId(rt);break;case 5:rt=nt.readString(),tt.setPayload(rt);break;case 6:rt=nt.readString(),tt.setIceServers(rt);break;case 7:rt=nt.readString(),tt.setIceTransportPolicy(rt);break;case 8:rt=nt.readEnum(),tt.setSessionType(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId())!=null&&nt.writeMessage(1,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionCreatedTimestamp())!=null&&nt.writeMessage(2,rt,et.Int64Value.serializeBinaryToWriter),(rt=tt.getSenderId()).length>0&&nt.writeString(3,rt),(rt=tt.getReceiverId()).length>0&&nt.writeString(4,rt),(rt=tt.getPayload()).length>0&&nt.writeString(5,rt),(rt=tt.getIceServers()).length>0&&nt.writeString(6,rt),(rt=tt.getIceTransportPolicy()).length>0&&nt.writeString(7,rt),(rt=tt.getSessionType())!==0&&nt.writeEnum(8,rt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return j.Message.getWrapperField(this,et.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,2,tt)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(tt){return j.Message.setProto3StringField(this,3,tt)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(tt){return j.Message.setProto3StringField(this,4,tt)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(tt){return j.Message.setProto3StringField(this,5,tt)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(tt){return j.Message.setProto3StringField(this,6,tt)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return j.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(tt){return j.Message.setProto3StringField(this,7,tt)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(tt){return j.Message.setProto3EnumField(this,8,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(tt){return proto.v1.signaling.api.RtcSession.toObject(tt,this)},proto.v1.signaling.api.RtcSession.toObject=function(tt,nt){var rt={sessionId:j.Message.getFieldWithDefault(nt,1,""),offerPeerId:j.Message.getFieldWithDefault(nt,2,""),answerPeerId:j.Message.getFieldWithDefault(nt,3,""),organizationId:j.Message.getFieldWithDefault(nt,4,""),sessionType:j.Message.getFieldWithDefault(nt,5,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setSessionId(rt);break;case 2:rt=nt.readString(),tt.setOfferPeerId(rt);break;case 3:rt=nt.readString(),tt.setAnswerPeerId(rt);break;case 4:rt=nt.readString(),tt.setOrganizationId(rt);break;case 5:rt=nt.readString(),tt.setSessionType(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId()).length>0&&nt.writeString(1,rt),(rt=tt.getOfferPeerId()).length>0&&nt.writeString(2,rt),(rt=tt.getAnswerPeerId()).length>0&&nt.writeString(3,rt),(rt=tt.getOrganizationId()).length>0&&nt.writeString(4,rt),(rt=tt.getSessionType()).length>0&&nt.writeString(5,rt)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(tt){return j.Message.setProto3StringField(this,1,tt)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return j.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(tt){return j.Message.setProto3StringField(this,2,tt)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return j.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(tt){return j.Message.setProto3StringField(this,3,tt)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return j.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(tt){return j.Message.setProto3StringField(this,4,tt)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return j.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(tt){return j.Message.setProto3StringField(this,5,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetSessionsRequest.toObject(tt,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(tt,nt){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetSessionsResponse.toObject(tt,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(tt,nt){var rt={sessionsList:j.Message.toObjectList(nt.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,tt)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.RtcSession;nt.readMessage(rt,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),tt.addSessions(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSessionsList()).length>0&&nt.writeRepeatedMessage(1,rt,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(tt){return j.Message.setRepeatedWrapperField(this,1,tt)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(tt,nt){return j.Message.addToRepeatedWrapperField(this,1,tt,proto.v1.signaling.api.RtcSession,nt)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetHealthRequest.toObject(tt,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetHealthResponse.toObject(tt,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(tt,nt){var rt={version:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setVersion(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getVersion()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.CreatePeerRequest.toObject(tt,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.CreatePeerResponse.toObject(tt,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(tt,nt){var rt,ot={peer:(rt=nt.getPeer())&&proto.v1.signaling.api.Peer.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.setPeer(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeer())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.DeletePeerRequest.toObject(tt,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(tt,nt){var rt={peerId:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.DeletePeerResponse.toObject(tt,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.RefreshPeerRequest.toObject(tt,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(tt,nt){var rt,ot={peer:(rt=nt.getPeer())&&proto.v1.signaling.api.Peer.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.setPeer(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeer())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.RefreshPeerResponse.toObject(tt,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetPeersRequest.toObject(tt,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(tt,nt){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetPeersResponse.toObject(tt,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(tt,nt){var rt={peersList:j.Message.toObjectList(nt.getPeersList(),proto.v1.signaling.api.Peer.toObject,tt)};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Peer;nt.readMessage(rt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),tt.addPeers(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeersList()).length>0&&nt.writeRepeatedMessage(1,rt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return j.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(tt){return j.Message.setRepeatedWrapperField(this,1,tt)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(tt,nt){return j.Message.addToRepeatedWrapperField(this,1,tt,proto.v1.signaling.api.Peer,nt)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.GetIceServersRequest.toObject(tt,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(tt,nt){var rt={};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)nt.getFieldNumber(),nt.skipField();return tt},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(tt,nt){},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.GetIceServersResponse.toObject(tt,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(tt,nt){var rt={iceServers:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setIceServers(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getIceServers()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.SendSignalRequest.toObject(tt,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(tt,nt){var rt,ot={signal:(rt=nt.getSignal())&&proto.v1.signaling.api.Signal.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Signal;nt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),tt.setSignal(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSignal())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.SendSignalResponse.toObject(tt,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(tt,nt){var rt,ot={sessionId:(rt=nt.getSessionId())&&et.StringValue.toObject(tt,rt),sessionCreatedTimestamp:(rt=nt.getSessionCreatedTimestamp())&&et.Int64Value.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new et.StringValue;nt.readMessage(rt,et.StringValue.deserializeBinaryFromReader),tt.setSessionId(rt);break;case 2:rt=new et.Int64Value,nt.readMessage(rt,et.Int64Value.deserializeBinaryFromReader),tt.setSessionCreatedTimestamp(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(tt,nt){var rt=void 0;(rt=tt.getSessionId())!=null&&nt.writeMessage(1,rt,et.StringValue.serializeBinaryToWriter),(rt=tt.getSessionCreatedTimestamp())!=null&&nt.writeMessage(2,rt,et.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return j.Message.getWrapperField(this,et.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return j.Message.getWrapperField(this,et.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(tt){return j.Message.setWrapperField(this,2,tt)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return j.Message.getField(this,2)!=null},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(tt){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(tt,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(tt,nt){var rt={peerId:j.Message.getFieldWithDefault(nt,1,"")};return tt&&(rt.$jspbMessageInstance=nt),rt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=nt.readString();tt.setPeerId(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getPeerId()).length>0&&nt.writeString(1,rt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(tt){return j.Message.setProto3StringField(this,1,tt)},j.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(tt){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(tt,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(tt,nt){var rt,ot={signal:(rt=nt.getSignal())&&proto.v1.signaling.api.Signal.toObject(tt,rt)};return tt&&(ot.$jspbMessageInstance=nt),ot}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(tt){var nt=new j.BinaryReader(tt),rt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(rt,nt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(tt,nt){for(;nt.nextField()&&!nt.isEndGroup();)switch(nt.getFieldNumber()){case 1:var rt=new proto.v1.signaling.api.Signal;nt.readMessage(rt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),tt.setSignal(rt);break;default:nt.skipField()}return tt},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var tt=new j.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,tt),tt.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(tt,nt){var rt;(rt=tt.getSignal())!=null&&nt.writeMessage(1,rt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return j.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(tt){return j.Message.setWrapperField(this,1,tt)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return j.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},$.object.extend(s,proto.v1.signaling.api)},function(o,s,_){_.d(s,"a",function(){return $});var j=_(28);class $ extends Error{constructor(et,tt,nt,rt,ot,ut,dt={}){super("Response error "+JSON.stringify({method:et,url:tt,requestBody:Object(j.a)(nt),statusCode:rt,responseHeaders:ot?Object(j.a)([...ot.entries()].reduce((Ut,[st,ct])=>(Ut[st]=ct,Ut),{})):{},responseBody:Object(j.a)(ut)})),this.method=et,this.url=tt,this.requestBody=nt,this.statusCode=rt,this.headers=ot,this.body=ut,this.validationErrors=dt,this.name="ResponseError",Object.setPrototypeOf(this,new.target.prototype)}}},function(o,s,_){function j($,_e,et=()=>!0){if(function(tt,nt,rt=()=>!0){return tt instanceof nt&&rt(tt)}($,_e,et))return $;throw $}_.d(s,"a",function(){return j})},function(o,s,_){(function(j){var $=Object.getOwnPropertyDescriptors||function(Wt){for(var bt=Object.keys(Wt),Jt={},Zt=0;Zt=Vt)return $t;switch($t){case"%s":return String(Zt[Jt++]);case"%d":return Number(Zt[Jt++]);case"%j":try{return JSON.stringify(Zt[Jt++])}catch{return"[Circular]"}default:return $t}}),zt=Zt[Jt];Jt=3&&(Jt.depth=arguments[2]),arguments.length>=4&&(Jt.colors=arguments[3]),ct(bt)?Jt.showHidden=bt:bt&&s._extend(Jt,bt),gt(Jt.showHidden)&&(Jt.showHidden=!1),gt(Jt.depth)&&(Jt.depth=2),gt(Jt.colors)&&(Jt.colors=!1),gt(Jt.customInspect)&&(Jt.customInspect=!0),Jt.colors&&(Jt.stylize=rt),ut(Jt,Wt,Jt.depth)}function rt(Wt,bt){var Jt=nt.styles[bt];return Jt?"\x1B["+nt.colors[Jt][0]+"m"+Wt+"\x1B["+nt.colors[Jt][1]+"m":Wt}function ot(Wt,bt){return Wt}function ut(Wt,bt,Jt){if(Wt.customInspect&&bt&&xt(bt.inspect)&&bt.inspect!==s.inspect&&(!bt.constructor||bt.constructor.prototype!==bt)){var Zt=bt.inspect(Jt,Wt);return Qt(Zt)||(Zt=ut(Wt,Zt,Jt)),Zt}var Vt=function(Et,kt){if(gt(kt))return Et.stylize("undefined","undefined");if(Qt(kt)){var Pt="'"+JSON.stringify(kt).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return Et.stylize(Pt,"string")}if(Bt(kt))return Et.stylize(""+kt,"number");if(ct(kt))return Et.stylize(""+kt,"boolean");if(pt(kt))return Et.stylize("null","null")}(Wt,bt);if(Vt)return Vt;var jt=Object.keys(bt),zt=function(Et){var kt={};return Et.forEach(function(Pt,Kt){kt[Pt]=!0}),kt}(jt);if(Wt.showHidden&&(jt=Object.getOwnPropertyNames(bt)),Ct(bt)&&(jt.indexOf("message")>=0||jt.indexOf("description")>=0))return dt(bt);if(jt.length===0){if(xt(bt)){var $t=bt.name?": "+bt.name:"";return Wt.stylize("[Function"+$t+"]","special")}if(ft(bt))return Wt.stylize(RegExp.prototype.toString.call(bt),"regexp");if(yt(bt))return Wt.stylize(Date.prototype.toString.call(bt),"date");if(Ct(bt))return dt(bt)}var nn,rn="",Dt=!1,wt=["{","}"];return st(bt)&&(Dt=!0,wt=["[","]"]),xt(bt)&&(rn=" [Function"+(bt.name?": "+bt.name:"")+"]"),ft(bt)&&(rn=" "+RegExp.prototype.toString.call(bt)),yt(bt)&&(rn=" "+Date.prototype.toUTCString.call(bt)),Ct(bt)&&(rn=" "+dt(bt)),jt.length!==0||Dt&&bt.length!=0?Jt<0?ft(bt)?Wt.stylize(RegExp.prototype.toString.call(bt),"regexp"):Wt.stylize("[Object]","special"):(Wt.seen.push(bt),nn=Dt?function(Et,kt,Pt,Kt,Ht){for(var on=[],sn=0,gn=kt.length;sn=0,Kt+Ht.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?Pt[0]+(kt===""?"":kt+` + `)+" "+Et.join(`, + `)+" "+Pt[1]:Pt[0]+kt+" "+Et.join(", ")+" "+Pt[1]}(nn,rn,wt)):wt[0]+rn+wt[1]}function dt(Wt){return"["+Error.prototype.toString.call(Wt)+"]"}function Ut(Wt,bt,Jt,Zt,Vt,jt){var zt,$t,nn;if((nn=Object.getOwnPropertyDescriptor(bt,Vt)||{value:bt[Vt]}).get?$t=nn.set?Wt.stylize("[Getter/Setter]","special"):Wt.stylize("[Getter]","special"):nn.set&&($t=Wt.stylize("[Setter]","special")),Tt(Zt,Vt)||(zt="["+Vt+"]"),$t||(Wt.seen.indexOf(nn.value)<0?($t=pt(Jt)?ut(Wt,nn.value,null):ut(Wt,nn.value,Jt-1)).indexOf(` +`)>-1&&($t=jt?$t.split(` +`).map(function(rn){return" "+rn}).join(` +`).substr(2):` +`+$t.split(` +`).map(function(rn){return" "+rn}).join(` +`)):$t=Wt.stylize("[Circular]","special")),gt(zt)){if(jt&&Vt.match(/^\d+$/))return $t;(zt=JSON.stringify(""+Vt)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(zt=zt.substr(1,zt.length-2),zt=Wt.stylize(zt,"name")):(zt=zt.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),zt=Wt.stylize(zt,"string"))}return zt+": "+$t}function st(Wt){return Array.isArray(Wt)}function ct(Wt){return typeof Wt=="boolean"}function pt(Wt){return Wt===null}function Bt(Wt){return typeof Wt=="number"}function Qt(Wt){return typeof Wt=="string"}function gt(Wt){return Wt===void 0}function ft(Wt){return Ft(Wt)&&ht(Wt)==="[object RegExp]"}function Ft(Wt){return typeof Wt=="object"&&Wt!==null}function yt(Wt){return Ft(Wt)&&ht(Wt)==="[object Date]"}function Ct(Wt){return Ft(Wt)&&(ht(Wt)==="[object Error]"||Wt instanceof Error)}function xt(Wt){return typeof Wt=="function"}function ht(Wt){return Object.prototype.toString.call(Wt)}function mt(Wt){return Wt<10?"0"+Wt.toString(10):Wt.toString(10)}s.debuglog=function(Wt){if(gt(et)&&(et=j.env.NODE_DEBUG||""),Wt=Wt.toUpperCase(),!tt[Wt])if(new RegExp("\\b"+Wt+"\\b","i").test(et)){var bt=j.pid;tt[Wt]=function(){var Jt=s.format.apply(s,arguments);console.error("%s %d: %s",Wt,bt,Jt)}}else tt[Wt]=function(){};return tt[Wt]},s.inspect=nt,nt.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},nt.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},s.isArray=st,s.isBoolean=ct,s.isNull=pt,s.isNullOrUndefined=function(Wt){return Wt==null},s.isNumber=Bt,s.isString=Qt,s.isSymbol=function(Wt){return typeof Wt=="symbol"},s.isUndefined=gt,s.isRegExp=ft,s.isObject=Ft,s.isDate=yt,s.isError=Ct,s.isFunction=xt,s.isPrimitive=function(Wt){return Wt===null||typeof Wt=="boolean"||typeof Wt=="number"||typeof Wt=="string"||typeof Wt=="symbol"||Wt===void 0},s.isBuffer=_(104);var It=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function vt(){var Wt=new Date,bt=[mt(Wt.getHours()),mt(Wt.getMinutes()),mt(Wt.getSeconds())].join(":");return[Wt.getDate(),It[Wt.getMonth()],bt].join(" ")}function Tt(Wt,bt){return Object.prototype.hasOwnProperty.call(Wt,bt)}s.log=function(){console.log("%s - %s",vt(),s.format.apply(s,arguments))},s.inherits=_(105),s._extend=function(Wt,bt){if(!bt||!Ft(bt))return Wt;for(var Jt=Object.keys(bt),Zt=Jt.length;Zt--;)Wt[Jt[Zt]]=bt[Jt[Zt]];return Wt};var Ot=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;function _t(Wt,bt){if(!Wt){var Jt=new Error("Promise was rejected with a falsy value");Jt.reason=Wt,Wt=Jt}return bt(Wt)}s.promisify=function(Wt){if(typeof Wt!="function")throw new TypeError('The "original" argument must be of type Function');if(Ot&&Wt[Ot]){var bt;if(typeof(bt=Wt[Ot])!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(bt,Ot,{value:bt,enumerable:!1,writable:!1,configurable:!0}),bt}function bt(){for(var Jt,Zt,Vt=new Promise(function($t,nn){Jt=$t,Zt=nn}),jt=[],zt=0;zt0&&arguments[0]!==void 0?arguments[0]:{};$.call(this,{objectMode:!0,highWaterMark:nt.highWaterMark}),this.format=nt.format,this.level=nt.level,this.handleExceptions=nt.handleExceptions,this.handleRejections=nt.handleRejections,this.silent=nt.silent,nt.log&&(this.log=nt.log),nt.logv&&(this.logv=nt.logv),nt.close&&(this.close=nt.close),this.once("pipe",function(rt){tt.levels=rt.levels,tt.parent=rt}),this.once("unpipe",function(rt){rt===tt.parent&&(tt.parent=null,tt.close&&tt.close())})};j.inherits(et,$),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);var ot=this.level||this.parent&&this.parent.level;if(!ot||this.levels[ot]>=this.levels[tt[_e]]){if(tt&&!this.format)return this.log(tt,rt);var ut=void 0,dt=void 0;try{dt=this.format.transform(Object.assign({},tt),this.format.options)}catch(Ut){ut=Ut}if(ut||!dt){if(rt(),ut)throw ut;return}return this.log(dt,rt)}return this._writableState.sync=!1,rt(null)},et.prototype._writev=function(tt,nt){if(this.logv){var rt=tt.filter(this._accept,this);return rt.length?this.logv(rt,nt):nt(null)}for(var ot=0;ot=this.levels[nt[_e]])||!this.handleExceptions&&nt.exception===!0)},et.prototype._nop=function(){},o.exports.LegacyTransportStream=_(151)},function(o,s,_){o.exports=function(j,$){$||($={}),typeof $=="function"&&($={cmp:$});var _e,et=typeof $.cycles=="boolean"&&$.cycles,tt=$.cmp&&(_e=$.cmp,function(rt){return function(ot,ut){var dt={key:ot,value:rt[ot]},Ut={key:ut,value:rt[ut]};return _e(dt,Ut)}}),nt=[];return function rt(ot){if(ot&&ot.toJSON&&typeof ot.toJSON=="function"&&(ot=ot.toJSON()),ot!==void 0){if(typeof ot=="number")return isFinite(ot)?""+ot:"null";if(typeof ot!="object")return JSON.stringify(ot);var ut,dt;if(Array.isArray(ot)){for(dt="[",ut=0;ut(an=an||0)&&(an=Math.max(an+mn,0));anGt?1:0}e:{var Cn=yt.navigator;if(Cn){var In=Cn.userAgent;if(In){Kt=In;break e}}Kt=""}var Mn="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function rr(Nt){var Gt=1;Nt=Nt.split(":");for(var an=[];0parseFloat(Jr)){Dn=String(ro);break e}}Dn=Jr}var sr={};function Xn(){return function(Nt){var Gt=sr;return Object.prototype.hasOwnProperty.call(Gt,9)?Gt[9]:Gt[9]=Nt(9)}(function(){for(var Nt=0,Gt=on(String(Dn)).split("."),an=on("9").split("."),cn=Math.max(Gt.length,an.length),mn=0;Nt==0&&mn>>0);function bn(Nt){return typeof Nt=="function"?Nt:(Nt[hn]||(Nt[hn]=function(Gt){return Nt.handleEvent(Gt)}),Nt[hn])}function Vn(){gr.call(this),this.f=new Oo(this),this.U=this}function Qn(Nt,Gt){Nt=Nt.U;var an=Gt.type||Gt;if(typeof Gt=="string")Gt=new Wr(Gt,Nt);else if(Gt instanceof Wr)Gt.target=Gt.target||Nt;else{var cn=Gt;(function(mn,Tn){for(var fn,vn,kn=1;kn=(Nt?Lr(Bo(Go(),Nt.getName())):Kr).value),cn&&(Gt=Gt||Kr,cn=Bo(Go(),Nt.getName()),typeof an=="function"&&(an=an()),Nr||(Nr=new Zr),function(mn,Tn){for(;mn;)mn.f.forEach(function(fn){fn(Tn)}),mn=mn.b}(cn,Nt=new Dr(Gt,an,Nt=Nt.getName())))}function Fo(Nt,Gt){Nt&&$a(Nt,vr,Gt)}function Dl(){}function Ml(Nt){var Gt;return(Gt=Nt.a)||(Gt={},Hs(Nt)&&(Gt[0]=!0,Gt[1]=!0),Gt=Nt.a=Gt),Gt}function Al(){}function Ys(Nt){return(Nt=Hs(Nt))?new ActiveXObject(Nt):new XMLHttpRequest}function Hs(Nt){if(!Nt.b&&typeof XMLHttpRequest>"u"&&typeof ActiveXObject<"u"){for(var Gt=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],an=0;an2*this.size&&Rs(this),!0)},$.get=function(Nt,Gt){return ts(this.o,Nt)?this.o[Nt]:Gt},$.set=function(Nt,Gt){ts(this.o,Nt)||(this.size+=1,this.j.push(Nt),this.B++),this.o[Nt]=Gt},$.addAll=function(Nt){if(Nt instanceof Bs)for(var Gt=Nt.G(),an=0;an=cn.j.length)throw es;var Tn=cn.j[Gt++];return Nt?Tn:cn.o[Tn]},mn.next=mn.a.bind(mn),mn};var Ol=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^\\/?#]*)@)?([^\\/?#]*?)(?::([0-9]+))?(?=[\\/?#]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/;function ns(Nt){Vn.call(this),this.headers=new Bs,this.C=Nt||null,this.c=!1,this.J=this.a=null,this.P=this.v="",this.g=0,this.l="",this.i=this.N=this.s=this.L=!1,this.h=0,this.w=null,this.m=_s,this.I=this.M=!1}Tt(ns,Vn);var _s="";ns.prototype.b=Bo(Go(),"goog.net.XhrIo",void 0).g;var rs=/^https?$/i,xl=["POST","PUT"];function Il(Nt,Gt,an){if(Nt.a)throw Error("[goog.net.XhrIo] Object is active with another request="+Nt.v+"; newUri="+Gt);Nt.v=Gt,Nt.l="",Nt.g=0,Nt.P="POST",Nt.L=!1,Nt.c=!0,Nt.a=Nt.C?Ys(Nt.C):Ys(jr),Nt.J=Nt.C?Ml(Nt.C):Ml(jr),Nt.a.onreadystatechange=vt(Nt.R,Nt);try{Fo(Nt.b,wo(Nt,"Opening Xhr")),Nt.N=!0,Nt.a.open("POST",String(Gt),!0),Nt.N=!1}catch(Tn){return Fo(Nt.b,wo(Nt,"Error opening Xhr: "+Tn.message)),void Ll(Nt,Tn)}Gt=an||"";var cn=(an=Nt.headers.clone()).G().find(function(Tn){return Tn.toLowerCase()=="content-type"}),mn=yt.FormData&&Gt instanceof yt.FormData;!(0<=Ht(xl,"POST"))||cn||mn||an.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8"),an.forEach(function(Tn,fn){this.a.setRequestHeader(fn,Tn)},Nt),Nt.m&&(Nt.a.responseType=Nt.m),"withCredentials"in Nt.a&&Nt.a.withCredentials!==Nt.M&&(Nt.a.withCredentials=Nt.M);try{$s(Nt),0>4),ir!=64&&(fn(zn<<4&240|ir>>2),Qr!=64&&fn(ir<<6&192|Qr))}}(Nt,function(Tn){cn[mn++]=Tn}),cn.subarray(0,mn)}function zl(){if(!Ss){Ss={};for(var Nt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),Gt=["+/=","+/","-_=","-_.","-_"],an=0;5>an;an++){var cn=Nt.concat(Gt[an].split(""));Ul[an]=cn;for(var mn=0;mn(vn=mn.indexOf("#"))&&(vn=mn.length),0>(fn=mn.indexOf("?"))||fn>vn?(fn=vn,kn=""):kn=mn.substring(fn+1,vn),vn=(mn=[mn.substr(0,fn),kn,mn.substr(vn)])[1],mn[1]=zn?vn?vn+"&"+zn:zn:vn,mn=mn[0]+(mn[1]?"?"+mn[1]:"")+mn[2])):mn.a("$httpHeaders",vn))}for(cn=(Gt=(0,cn.a)(Gt.getRequestMessage())).length,zn=[0,0,0,0],vn=new Uint8Array(5+cn),fn=3;0<=fn;fn--)zn[fn]=cn%256,cn>>>=8;if(vn.set(new Uint8Array(zn),1),vn.set(Gt,5),Gt=vn,Nt.a=="text"){var ir;for(Nt=Gt,ir===void 0&&(ir=0),zl(),ir=Ul[ir],Gt=Array(Math.floor(Nt.length/3)),cn=ir[64]||"",zn=vn=0;vn>2],Zn=ir[(3&Zn)<<4|Qr>>4],Qr=ir[(15&Qr)<<2|kn>>6],kn=ir[63&kn],Gt[zn++]=fn+Zn+Qr+kn}switch(fn=0,kn=cn,Nt.length-vn){case 2:kn=ir[(15&(fn=Nt[vn+1]))<<2]||cn;case 1:Nt=Nt[vn],Gt[zn]=ir[Nt>>2]+ir[(3&Nt)<<4|fn>>4]+kn+cn}Gt=Gt.join("")}else Nt.a=="binary"&&(an.m="arraybuffer");return Il(an,mn,Gt),Tn}function Gl(Nt,Gt,an){var cn=!1,mn=null,Tn=!1;Nt.on("data",function(fn){cn=!0,mn=fn}),Nt.on("error",function(fn){fn.code==0||Tn||(Tn=!0,Gt(fn,null))}),Nt.on("status",function(fn){fn.code==0||Tn?an&&Gt(null,null,fn):(Tn=!0,Gt({code:fn.code,message:fn.details,metadata:fn.metadata},null))}),an&&Nt.on("metadata",function(fn){Gt(null,null,null,fn)}),Nt.on("end",function(){Tn||(cn?an?Gt(null,mn,null,null,!0):Gt(null,mn):Gt({code:2,message:"Incomplete response"})),an&&Gt(null,null)})}function Vr(Nt,Gt){var an=Nt;return Gt.forEach(function(cn){var mn=an;an=function(Tn){return cn.intercept(Tn,mn)}}),an}go.prototype.on=function(Nt,Gt){return Nt=="data"?this.b.push(Gt):Nt=="status"?this.h.push(Gt):Nt=="metadata"?this.g.push(Gt):Nt=="end"?this.c.push(Gt):Nt=="error"&&this.f.push(Gt),this},go.prototype.removeListener=function(Nt,Gt){return Nt=="data"?ms(this.b,Gt):Nt=="status"?ms(this.h,Gt):Nt=="metadata"?ms(this.g,Gt):Nt=="end"?ms(this.c,Gt):Nt=="error"&&ms(this.f,Gt),this},go.prototype.cancel=function(){this.l=!0,this.a.abort()},go.prototype.cancel=go.prototype.cancel,go.prototype.removeListener=go.prototype.removeListener,go.prototype.on=go.prototype.on,io.prototype.X=function(Nt,Gt,an,cn,mn){var Tn=this,fn=Nt.substr(0,Nt.length-cn.name.length);return Gl(Nt=Vr(function(vn){return Fl(Tn,vn,fn)},this.b).call(this,Jt(cn,Gt,an)),mn,!1),new Vt(Nt)},io.prototype.S=function(Nt,Gt,an,cn){var mn=this,Tn=Nt.substr(0,Nt.length-cn.name.length);return Vr(function(fn){return new Promise(function(vn,kn){var Zn,zn,ir;Gl(Fl(mn,fn,Tn),function(Qr,yr,cr,qn,Mr){Qr?kn(Qr):Mr?ir=yr:cr?zn=cr:qn?Zn=qn:(Qr=fn.getMethodDescriptor(),vn(new Wt(ir,Qr,yr=(yr=Zn)===void 0?{}:yr,zn===void 0?null:zn)))},!0)})},this.h).call(this,Jt(cn,Gt,an)).then(function(fn){return fn.getResponseMessage()})},io.prototype.unaryCall=function(Nt,Gt,an,cn){return this.S(Nt,Gt,an,cn)},io.prototype.Y=function(Nt,Gt,an,cn){var mn=this,Tn=Nt.substr(0,Nt.length-cn.name.length);return Vr(function(fn){return Fl(mn,fn,Tn)},this.b).call(this,Jt(cn,Gt,an))},io.prototype.serverStreaming=io.prototype.Y,io.prototype.unaryCall=io.prototype.unaryCall,io.prototype.thenableCall=io.prototype.S,io.prototype.rpcCall=io.prototype.X,o.exports.CallOptions=Ot,o.exports.MethodDescriptor=bt,o.exports.GrpcWebClientBase=io,o.exports.RpcError=Zt,o.exports.StatusCode={OK:0,CANCELLED:1,UNKNOWN:2,INVALID_ARGUMENT:3,DEADLINE_EXCEEDED:4,NOT_FOUND:5,ALREADY_EXISTS:6,PERMISSION_DENIED:7,UNAUTHENTICATED:16,RESOURCE_EXHAUSTED:8,FAILED_PRECONDITION:9,ABORTED:10,OUT_OF_RANGE:11,UNIMPLEMENTED:12,INTERNAL:13,UNAVAILABLE:14,DATA_LOSS:15},o.exports.MethodType={UNARY:"unary",SERVER_STREAMING:"server_streaming",BIDI_STREAMING:"bidi_streaming"},xn=typeof globalThis<"u"&&globalThis||self}).call(this,_(6))},function(o,s,_){var j=_(57),$=_(60).warn;s.version=_(136).version,s.transports=_(137),s.config=_(49),s.addColors=j.levels,s.format=j.format,s.createLogger=_(87),s.ExceptionHandler=_(88),s.RejectionHandler=_(92),s.Container=_(215),s.Transport=_(14),s.loggers=new s.Container;var _e=s.createLogger();Object.keys(s.config.npm.levels).concat(["log","query","stream","add","remove","clear","profile","startTimer","handleExceptions","unhandleExceptions","handleRejections","unhandleRejections","configure","child"]).forEach(function(et){return s[et]=function(){return _e[et].apply(_e,arguments)}}),Object.defineProperty(s,"level",{get:function(){return _e.level},set:function(et){_e.level=et}}),Object.defineProperty(s,"exceptions",{get:function(){return _e.exceptions}}),["exitOnError"].forEach(function(et){Object.defineProperty(s,et,{get:function(){return _e[et]},set:function(tt){_e[et]=tt}})}),Object.defineProperty(s,"default",{get:function(){return{exceptionHandlers:_e.exceptionHandlers,rejectionHandlers:_e.rejectionHandlers,transports:_e.transports}}}),$.deprecated(s,"setLevels"),$.forFunctions(s,"useFormat",["cli"]),$.forProperties(s,"useFormat",["padLevels","stripColors"]),$.forFunctions(s,"deprecated",["addRewriter","addFilter","clone","extend"]),$.forProperties(s,"deprecated",["emitErrs","levelLength"]),$.moved(s,"createLogger","Logger")},function(o,s,_){(function(j){var $=j!==void 0&&j||typeof self<"u"&&self||window,_e=Function.prototype.apply;function et(tt,nt){this._id=tt,this._clearFn=nt}s.setTimeout=function(){return new et(_e.call(setTimeout,$,arguments),clearTimeout)},s.setInterval=function(){return new et(_e.call(setInterval,$,arguments),clearInterval)},s.clearTimeout=s.clearInterval=function(tt){tt&&tt.close()},et.prototype.unref=et.prototype.ref=function(){},et.prototype.close=function(){this._clearFn.call($,this._id)},s.enroll=function(tt,nt){clearTimeout(tt._idleTimeoutId),tt._idleTimeout=nt},s.unenroll=function(tt){clearTimeout(tt._idleTimeoutId),tt._idleTimeout=-1},s._unrefActive=s.active=function(tt){clearTimeout(tt._idleTimeoutId);var nt=tt._idleTimeout;nt>=0&&(tt._idleTimeoutId=setTimeout(function(){tt._onTimeout&&tt._onTimeout()},nt))},_(139),s.setImmediate=typeof self<"u"&&self.setImmediate||j!==void 0&&j.setImmediate||this&&this.setImmediate,s.clearImmediate=typeof self<"u"&&self.clearImmediate||j!==void 0&&j.clearImmediate||this&&this.clearImmediate}).call(this,_(6))},function(o,s,_){var j,$=typeof Reflect=="object"?Reflect:null,_e=$&&typeof $.apply=="function"?$.apply:function(Qt,gt,ft){return Function.prototype.apply.call(Qt,gt,ft)};j=$&&typeof $.ownKeys=="function"?$.ownKeys:Object.getOwnPropertySymbols?function(Qt){return Object.getOwnPropertyNames(Qt).concat(Object.getOwnPropertySymbols(Qt))}:function(Qt){return Object.getOwnPropertyNames(Qt)};var et=Number.isNaN||function(Qt){return Qt!=Qt};function tt(){tt.init.call(this)}o.exports=tt,o.exports.once=function(Qt,gt){return new Promise(function(ft,Ft){function yt(xt){Qt.removeListener(gt,Ct),Ft(xt)}function Ct(){typeof Qt.removeListener=="function"&&Qt.removeListener("error",yt),ft([].slice.call(arguments))}Bt(Qt,gt,Ct,{once:!0}),gt!=="error"&&function(xt,ht,mt){typeof xt.on=="function"&&Bt(xt,"error",ht,mt)}(Qt,yt,{once:!0})})},tt.EventEmitter=tt,tt.prototype._events=void 0,tt.prototype._eventsCount=0,tt.prototype._maxListeners=void 0;var nt=10;function rt(Qt){if(typeof Qt!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Qt)}function ot(Qt){return Qt._maxListeners===void 0?tt.defaultMaxListeners:Qt._maxListeners}function ut(Qt,gt,ft,Ft){var yt,Ct,xt,ht;if(rt(ft),(Ct=Qt._events)===void 0?(Ct=Qt._events=Object.create(null),Qt._eventsCount=0):(Ct.newListener!==void 0&&(Qt.emit("newListener",gt,ft.listener?ft.listener:ft),Ct=Qt._events),xt=Ct[gt]),xt===void 0)xt=Ct[gt]=ft,++Qt._eventsCount;else if(typeof xt=="function"?xt=Ct[gt]=Ft?[ft,xt]:[xt,ft]:Ft?xt.unshift(ft):xt.push(ft),(yt=ot(Qt))>0&&xt.length>yt&&!xt.warned){xt.warned=!0;var mt=new Error("Possible EventEmitter memory leak detected. "+xt.length+" "+String(gt)+" listeners added. Use emitter.setMaxListeners() to increase limit");mt.name="MaxListenersExceededWarning",mt.emitter=Qt,mt.type=gt,mt.count=xt.length,ht=mt,console&&console.warn&&console.warn(ht)}return Qt}function dt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ut(Qt,gt,ft){var Ft={fired:!1,wrapFn:void 0,target:Qt,type:gt,listener:ft},yt=dt.bind(Ft);return yt.listener=ft,Ft.wrapFn=yt,yt}function st(Qt,gt,ft){var Ft=Qt._events;if(Ft===void 0)return[];var yt=Ft[gt];return yt===void 0?[]:typeof yt=="function"?ft?[yt.listener||yt]:[yt]:ft?function(Ct){for(var xt=new Array(Ct.length),ht=0;ht0&&(Ct=gt[0]),Ct instanceof Error)throw Ct;var xt=new Error("Unhandled error."+(Ct?" ("+Ct.message+")":""));throw xt.context=Ct,xt}var ht=yt[Qt];if(ht===void 0)return!1;if(typeof ht=="function")_e(ht,this,gt);else{var mt=ht.length,It=pt(ht,mt);for(ft=0;ft=0;Ct--)if(ft[Ct]===gt||ft[Ct].listener===gt){xt=ft[Ct].listener,yt=Ct;break}if(yt<0)return this;yt===0?ft.shift():function(ht,mt){for(;mt+1=0;Ft--)this.removeListener(Qt,gt[Ft]);return this},tt.prototype.listeners=function(Qt){return st(this,Qt,!0)},tt.prototype.rawListeners=function(Qt){return st(this,Qt,!1)},tt.listenerCount=function(Qt,gt){return typeof Qt.listenerCount=="function"?Qt.listenerCount(gt):ct.call(Qt,gt)},tt.prototype.listenerCount=ct,tt.prototype.eventNames=function(){return this._eventsCount>0?j(this._events):[]}},function(o,s,_){var j=_(147).Buffer,$=j.isEncoding||function(st){switch((st=""+st)&&st.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 _e(st){var ct;switch(this.encoding=function(pt){var Bt=function(Qt){if(!Qt)return"utf8";for(var gt;;)switch(Qt){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 Qt;default:if(gt)return;Qt=(""+Qt).toLowerCase(),gt=!0}}(pt);if(typeof Bt!="string"&&(j.isEncoding===$||!$(pt)))throw new Error("Unknown encoding: "+pt);return Bt||pt}(st),this.encoding){case"utf16le":this.text=nt,this.end=rt,ct=4;break;case"utf8":this.fillLast=tt,ct=4;break;case"base64":this.text=ot,this.end=ut,ct=3;break;default:return this.write=dt,void(this.end=Ut)}this.lastNeed=0,this.lastTotal=0,this.lastChar=j.allocUnsafe(ct)}function et(st){return st<=127?0:st>>5==6?2:st>>4==14?3:st>>3==30?4:st>>6==2?-1:-2}function tt(st){var ct=this.lastTotal-this.lastNeed,pt=function(Bt,Qt,gt){if((192&Qt[0])!=128)return Bt.lastNeed=0,"�";if(Bt.lastNeed>1&&Qt.length>1){if((192&Qt[1])!=128)return Bt.lastNeed=1,"�";if(Bt.lastNeed>2&&Qt.length>2&&(192&Qt[2])!=128)return Bt.lastNeed=2,"�"}}(this,st);return pt!==void 0?pt:this.lastNeed<=st.length?(st.copy(this.lastChar,ct,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(st.copy(this.lastChar,ct,0,st.length),void(this.lastNeed-=st.length))}function nt(st,ct){if((st.length-ct)%2==0){var pt=st.toString("utf16le",ct);if(pt){var Bt=pt.charCodeAt(pt.length-1);if(Bt>=55296&&Bt<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=st[st.length-2],this.lastChar[1]=st[st.length-1],pt.slice(0,-1)}return pt}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=st[st.length-1],st.toString("utf16le",ct,st.length-1)}function rt(st){var ct=st&&st.length?this.write(st):"";if(this.lastNeed){var pt=this.lastTotal-this.lastNeed;return ct+this.lastChar.toString("utf16le",0,pt)}return ct}function ot(st,ct){var pt=(st.length-ct)%3;return pt===0?st.toString("base64",ct):(this.lastNeed=3-pt,this.lastTotal=3,pt===1?this.lastChar[0]=st[st.length-1]:(this.lastChar[0]=st[st.length-2],this.lastChar[1]=st[st.length-1]),st.toString("base64",ct,st.length-pt))}function ut(st){var ct=st&&st.length?this.write(st):"";return this.lastNeed?ct+this.lastChar.toString("base64",0,3-this.lastNeed):ct}function dt(st){return st.toString(this.encoding)}function Ut(st){return st&&st.length?this.write(st):""}s.StringDecoder=_e,_e.prototype.write=function(st){if(st.length===0)return"";var ct,pt;if(this.lastNeed){if((ct=this.fillLast(st))===void 0)return"";pt=this.lastNeed,this.lastNeed=0}else pt=0;return pt=0?(yt>0&&(Qt.lastNeed=yt-1),yt):--Ft=0?(yt>0&&(Qt.lastNeed=yt-2),yt):--Ft=0?(yt>0&&(yt===2?yt=0:Qt.lastNeed=yt-3),yt):0}(this,st,ct);if(!this.lastNeed)return st.toString("utf8",ct);this.lastTotal=pt;var Bt=st.length-(pt-this.lastNeed);return st.copy(this.lastChar,0,Bt),st.toString("utf8",ct,Bt)},_e.prototype.fillLast=function(st){if(this.lastNeed<=st.length)return st.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);st.copy(this.lastChar,this.lastTotal-this.lastNeed,0,st.length),this.lastNeed-=st.length}},function(o,s,_){var j=_(37),$=Object.keys||function(st){var ct=[];for(var pt in st)ct.push(pt);return ct};o.exports=ut;var _e=Object.create(_(32));_e.inherits=_(7);var et=_(69),tt=_(47);_e.inherits(ut,et);for(var nt=$(tt.prototype),rt=0;rt2?"one of ".concat(tt," ").concat(et.slice(0,nt-1).join(", "),", or ")+et[nt-1]:nt===2?"one of ".concat(tt," ").concat(et[0]," or ").concat(et[1]):"of ".concat(tt," ").concat(et[0])}return"of ".concat(tt," ").concat(String(et))}$("ERR_INVALID_OPT_VALUE",function(et,tt){return'The value "'+tt+'" is invalid for option "'+et+'"'},TypeError),$("ERR_INVALID_ARG_TYPE",function(et,tt,nt){var rt,ot,ut;if(typeof tt=="string"&&(ot="not ",tt.substr(0,ot.length)===ot)?(rt="must not be",tt=tt.replace(/^not /,"")):rt="must be",function(Ut,st,ct){return(ct===void 0||ct>Ut.length)&&(ct=Ut.length),Ut.substring(ct-st.length,ct)===st}(et," argument"))ut="The ".concat(et," ").concat(rt," ").concat(_e(tt,"type"));else{var dt=function(Ut,st,ct){return typeof ct!="number"&&(ct=0),!(ct+st.length>Ut.length)&&Ut.indexOf(st,ct)!==-1}(et,".")?"property":"argument";ut='The "'.concat(et,'" ').concat(dt," ").concat(rt," ").concat(_e(tt,"type"))}return ut+=". Received type ".concat(typeof nt)},TypeError),$("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),$("ERR_METHOD_NOT_IMPLEMENTED",function(et){return"The "+et+" method is not implemented"}),$("ERR_STREAM_PREMATURE_CLOSE","Premature close"),$("ERR_STREAM_DESTROYED",function(et){return"Cannot call "+et+" after a stream was destroyed"}),$("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),$("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),$("ERR_STREAM_WRITE_AFTER_END","write after end"),$("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),$("ERR_UNKNOWN_ENCODING",function(et){return"Unknown encoding: "+et},TypeError),$("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),o.exports.codes=j},function(o,s,_){(function(j){var $=Object.keys||function(Ut){var st=[];for(var ct in Ut)st.push(ct);return st};o.exports=ot;var _e=_(76),et=_(80);_(7)(ot,_e);for(var tt=$(et.prototype),nt=0;nt(""+ot.get("app-id")).startsWith("formant/")?{}:_e},rt)),this.endpoint=nt}getHeaders(){return Object.assign(Object.assign({},et.headers),{"App-ID":"formant/"+$.a,"App-Version":$.k})}}et.headers={}},function(o,s,_){_(232),o.exports={encode:j=>new TextEncoder().encode(j),decode:j=>new TextDecoder().decode(j)}},function(o,s,_){_.d(s,"a",function(){return nt});const j=["query"],$=["expected one of:","maybe you meant:","in query:","while processing query","column"],_e=["password","secret","token","key","buffer","authorization"],et=new Set(["email","firstName","lastName","phoneNumber","phoneNumbers"]),tt=rt=>_e.some(ot=>rt.toLowerCase().includes(ot.toLowerCase()))||et.has(rt);function nt(rt,ot=new WeakSet){return ot.has(rt)?"[ RECURSIVE ]":Array.isArray(rt)?(ot.add(rt),rt.map(dt=>nt(dt,ot))):!(ut=rt)||typeof ut!="object"&&typeof ut!="function"?typeof rt=="string"&&!$.some(dt=>rt.toLowerCase().includes(dt))&&tt(rt)?"[ REDACTED ]":rt:(ot.add(rt),Object.keys(rt).reduce((dt,Ut)=>j.includes(Ut.toLowerCase())?(dt[Ut]=rt[Ut],dt):(dt[Ut]=tt(Ut)?"[ REDACTED ]":nt(rt[Ut],ot),dt),{}));var ut}},function(o,s,_){const{hasOwnProperty:j}=Object.prototype,$=Qt();$.configure=Qt,$.stringify=$,$.default=$,s.stringify=$,s.configure=Qt,o.exports=$;const _e=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]|[\ud800-\udbff](?![\udc00-\udfff])|(?:[^\ud800-\udbff]|^)[\udc00-\udfff]/,et=new RegExp(_e,"g"),tt=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000b","\\f","\\r","\\u000e","\\u000f","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001a","\\u001b","\\u001c","\\u001d","\\u001e","\\u001f","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\"];function nt(gt){if(gt.length===2){const Ft=gt.charCodeAt(1);return`${gt[0]}\\u${Ft.toString(16)}`}const ft=gt.charCodeAt(0);return tt.length>ft?tt[ft]:"\\u"+ft.toString(16)}function rt(gt){if(gt.length<5e3&&!_e.test(gt))return gt;if(gt.length>100)return gt.replace(et,nt);let ft="",Ft=0;for(let yt=0;yt=55296&&Ct<=57343){if(Ct<=56319&&yt+1=56320&&xt<=57343){yt++;continue}}ft+=`${gt.slice(Ft,yt)}\\u${Ct.toString(16)}`,Ft=yt+1}}return ft+=gt.slice(Ft),ft}function ot(gt){if(gt.length>200)return gt.sort();for(let ft=1;ftFt;)gt[yt]=gt[yt-1],yt--;gt[yt]=Ft}return gt}const ut=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function dt(gt){return ut.call(gt)!==void 0&>.length!==0}function Ut(gt,ft,Ft){gt.length= 1`)}return Ft===void 0?1/0:Ft}function pt(gt){return gt===1?"1 item":gt+" items"}function Bt(gt){const ft=new Set;for(const Ft of gt)typeof Ft!="string"&&typeof Ft!="number"||ft.add(String(Ft));return ft}function Qt(gt){const ft=function(Ot){if(j.call(Ot,"strict")){const _t=Ot.strict;if(typeof _t!="boolean")throw new TypeError('The "strict" argument must be of type boolean');if(_t)return Wt=>{let bt="Object can not safely be stringified. Received type "+typeof Wt;throw typeof Wt!="function"&&(bt+=` (${Wt.toString()})`),new Error(bt)}}}(gt={...gt});ft&&(gt.bigint===void 0&&(gt.bigint=!1),"circularValue"in gt||(gt.circularValue=Error));const Ft=function(Ot){if(j.call(Ot,"circularValue")){const _t=Ot.circularValue;if(typeof _t=="string")return`"${_t}"`;if(_t==null)return _t;if(_t===Error||_t===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}(gt),yt=st(gt,"bigint"),Ct=st(gt,"deterministic"),xt=ct(gt,"maximumDepth"),ht=ct(gt,"maximumBreadth");function mt(Ot,_t,Wt,bt,Jt,Zt){let Vt=_t[Ot];switch(typeof Vt=="object"&&Vt!==null&&typeof Vt.toJSON=="function"&&(Vt=Vt.toJSON(Ot)),Vt=bt.call(_t,Ot,Vt),typeof Vt){case"string":return`"${rt(Vt)}"`;case"object":{if(Vt===null)return"null";if(Wt.indexOf(Vt)!==-1)return Ft;let jt="",zt=",";const $t=Zt;if(Array.isArray(Vt)){if(Vt.length===0)return"[]";if(xtht&&(jt+=`${zt}"... ${pt(Vt.length-ht-1)} not stringified"`),Jt!==""&&(jt+=` +`+$t),Wt.pop(),`[${jt}]`}let nn=Object.keys(Vt);const rn=nn.length;if(rn===0)return"{}";if(xtht&&(jt+=`${wt}"...":${Dt}"${pt(rn-ht)} not stringified"`,wt=zt),Jt!==""&&wt.length>1&&(jt=` +${Zt}${jt} +${$t}`),Wt.pop(),`{${jt}}`}case"number":return isFinite(Vt)?String(Vt):ft?ft(Vt):"null";case"boolean":return Vt===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(Vt);default:return ft?ft(Vt):void 0}}function It(Ot,_t,Wt,bt,Jt,Zt){switch(typeof _t=="object"&&_t!==null&&typeof _t.toJSON=="function"&&(_t=_t.toJSON(Ot)),typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(Wt.indexOf(_t)!==-1)return Ft;const Vt=Zt;let jt="",zt=",";if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(jt+=`${zt}"... ${pt(_t.length-ht-1)} not stringified"`),Jt!==""&&(jt+=` +`+Vt),Wt.pop(),`[${jt}]`}Wt.push(_t);let $t="";Jt!==""&&(zt=`, +`+(Zt+=Jt),$t=" ");let nn="";for(const rn of bt){const Dt=It(rn,_t[rn],Wt,bt,Jt,Zt);Dt!==void 0&&(jt+=`${nn}"${rt(rn)}":${$t}${Dt}`,nn=zt)}return Jt!==""&&nn.length>1&&(jt=` +${Zt}${jt} +${Vt}`),Wt.pop(),`{${jt}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}function vt(Ot,_t,Wt,bt,Jt){switch(typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(typeof _t.toJSON=="function"){if(typeof(_t=_t.toJSON(Ot))!="object")return vt(Ot,_t,Wt,bt,Jt);if(_t===null)return"null"}if(Wt.indexOf(_t)!==-1)return Ft;const Zt=Jt;if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(Dt+=`${wt}"... ${pt(_t.length-ht-1)} not stringified"`),Dt+=` +`+Zt,Wt.pop(),`[${Dt}]`}let Vt=Object.keys(_t);const jt=Vt.length;if(jt===0)return"{}";if(xtht&&($t+=`${nn}"...": "${pt(jt-ht)} not stringified"`,nn=zt),nn!==""&&($t=` +${Jt}${$t} +${Zt}`),Wt.pop(),`{${$t}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}function Tt(Ot,_t,Wt){switch(typeof _t){case"string":return`"${rt(_t)}"`;case"object":{if(_t===null)return"null";if(typeof _t.toJSON=="function"){if(typeof(_t=_t.toJSON(Ot))!="object")return Tt(Ot,_t,Wt);if(_t===null)return"null"}if(Wt.indexOf(_t)!==-1)return Ft;let bt="";if(Array.isArray(_t)){if(_t.length===0)return"[]";if(xtht&&(bt+=`,"... ${pt(_t.length-ht-1)} not stringified"`),Wt.pop(),`[${bt}]`}let Jt=Object.keys(_t);const Zt=Jt.length;if(Zt===0)return"{}";if(xtht&&(bt+=`${Vt}"...":"${pt(Zt-ht)} not stringified"`),Wt.pop(),`{${bt}}`}case"number":return isFinite(_t)?String(_t):ft?ft(_t):"null";case"boolean":return _t===!0?"true":"false";case"undefined":return;case"bigint":if(yt)return String(_t);default:return ft?ft(_t):void 0}}return function(Ot,_t,Wt){if(arguments.length>1){let bt="";if(typeof Wt=="number"?bt=" ".repeat(Math.min(Wt,10)):typeof Wt=="string"&&(bt=Wt.slice(0,10)),_t!=null){if(typeof _t=="function")return mt("",{"":Ot},[],_t,bt,"");if(Array.isArray(_t))return It("",Ot,[],Bt(_t),bt,"")}if(bt.length!==0)return vt("",Ot,[],bt,"")}return Tt("",Ot,[])}}},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j,$=j.length){if(!$)throw new Error("arity is undefined");return function(..._e){return typeof _e[$-1]=="function"?j.apply(this,_e):new Promise((et,tt)=>{_e[$-1]=(nt,...rt)=>{if(nt)return tt(nt);et(rt.length>1?rt:rt[0])},j.apply(this,_e)})}},o.exports=s.default},function(o,s,_){(s=o.exports=_(69)).Stream=s,s.Readable=s,s.Writable=_(47),s.Duplex=_(22),s.Transform=_(72),s.PassThrough=_(169)},function(o,s,_){(function(j){function $(_e){return Object.prototype.toString.call(_e)}s.isArray=function(_e){return Array.isArray?Array.isArray(_e):$(_e)==="[object Array]"},s.isBoolean=function(_e){return typeof _e=="boolean"},s.isNull=function(_e){return _e===null},s.isNullOrUndefined=function(_e){return _e==null},s.isNumber=function(_e){return typeof _e=="number"},s.isString=function(_e){return typeof _e=="string"},s.isSymbol=function(_e){return typeof _e=="symbol"},s.isUndefined=function(_e){return _e===void 0},s.isRegExp=function(_e){return $(_e)==="[object RegExp]"},s.isObject=function(_e){return typeof _e=="object"&&_e!==null},s.isDate=function(_e){return $(_e)==="[object Date]"},s.isError=function(_e){return $(_e)==="[object Error]"||_e instanceof Error},s.isFunction=function(_e){return typeof _e=="function"},s.isPrimitive=function(_e){return _e===null||typeof _e=="boolean"||typeof _e=="number"||typeof _e=="string"||typeof _e=="symbol"||_e===void 0},s.isBuffer=j.isBuffer}).call(this,_(5).Buffer)},function(o,s,_){(s=o.exports=_(76)).Stream=s,s.Readable=s,s.Writable=_(80),s.Duplex=_(25),s.Transform=_(81),s.PassThrough=_(189),s.finished=_(48),s.pipeline=_(190)},function(o,s,_){o.exports=function(j){return j}},function(o,s,_){var j={};function $(et,tt,nt){nt||(nt=Error);var rt=function(ot){var ut,dt;function Ut(st,ct,pt){return ot.call(this,function(Bt,Qt,gt){return typeof tt=="string"?tt:tt(Bt,Qt,gt)}(st,ct,pt))||this}return dt=ot,(ut=Ut).prototype=Object.create(dt.prototype),ut.prototype.constructor=ut,ut.__proto__=dt,Ut}(nt);rt.prototype.name=nt.name,rt.prototype.code=et,j[et]=rt}function _e(et,tt){if(Array.isArray(et)){var nt=et.length;return et=et.map(function(rt){return String(rt)}),nt>2?"one of ".concat(tt," ").concat(et.slice(0,nt-1).join(", "),", or ")+et[nt-1]:nt===2?"one of ".concat(tt," ").concat(et[0]," or ").concat(et[1]):"of ".concat(tt," ").concat(et[0])}return"of ".concat(tt," ").concat(String(et))}$("ERR_INVALID_OPT_VALUE",function(et,tt){return'The value "'+tt+'" is invalid for option "'+et+'"'},TypeError),$("ERR_INVALID_ARG_TYPE",function(et,tt,nt){var rt,ot,ut;if(typeof tt=="string"&&(ot="not ",tt.substr(0,ot.length)===ot)?(rt="must not be",tt=tt.replace(/^not /,"")):rt="must be",function(Ut,st,ct){return(ct===void 0||ct>Ut.length)&&(ct=Ut.length),Ut.substring(ct-st.length,ct)===st}(et," argument"))ut="The ".concat(et," ").concat(rt," ").concat(_e(tt,"type"));else{var dt=function(Ut,st,ct){return typeof ct!="number"&&(ct=0),!(ct+st.length>Ut.length)&&Ut.indexOf(st,ct)!==-1}(et,".")?"property":"argument";ut='The "'.concat(et,'" ').concat(dt," ").concat(rt," ").concat(_e(tt,"type"))}return ut+=". Received type ".concat(typeof nt)},TypeError),$("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),$("ERR_METHOD_NOT_IMPLEMENTED",function(et){return"The "+et+" method is not implemented"}),$("ERR_STREAM_PREMATURE_CLOSE","Premature close"),$("ERR_STREAM_DESTROYED",function(et){return"Cannot call "+et+" after a stream was destroyed"}),$("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),$("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),$("ERR_STREAM_WRITE_AFTER_END","write after end"),$("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),$("ERR_UNKNOWN_ENCODING",function(et){return"Unknown encoding: "+et},TypeError),$("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),o.exports.codes=j},function(o,s,_){(function(j){var $=Object.keys||function(Ut){var st=[];for(var ct in Ut)st.push(ct);return st};o.exports=ot;var _e=_(143),et=_(61);_(7)(ot,_e);for(var tt=$(et.prototype),nt=0;ntQt.validateHeaders?Qt.validateHeaders(gt):{},this.verbose=Qt.verbose!==!1,Qt.retries!==void 0&&!(Qt.retries>=0))throw new Error("retries must be positive or zero");if(this.configuredRetries=Qt.retries,Qt.timeoutMs!==void 0&&!(Qt.timeoutMs>0))throw new Error("timeoutMs must be positive");if(this.timeoutMs=Qt.timeoutMs,Qt.maxBackoffDelayMs!==void 0&&!(Qt.maxBackoffDelayMs>0))throw new Error("maxBackoffDelayMs must be positive");this.maxBackoffDelayMs=Qt.maxBackoffDelayMs||30*_e.a.second,this.json=Qt.json!==!1}getRetries(){return this.configuredRetries!==void 0?this.configuredRetries:this.getConstructor().retries}getHeaders(){return{}}fetch(Bt,Qt={}){return dt(this,void 0,void 0,function*(){return(yield this.fetchVerbose(Bt,Qt)).body})}fetchVerbose(Bt,Qt={}){return dt(this,void 0,void 0,function*(){let gt=100*_e.a.millisecond,ft=0;const Ft=this.timeoutMs!==void 0?new Date().getTime()+this.timeoutMs:void 0,yt=Ft?()=>Math.max(Ft-new Date().getTime(),0):void 0;for(;;)try{return yield this.doFetch(Bt,Qt,yt)}catch(Ct){const xt=Ct,ht=Object(rt.a)(xt,et);if((yt==null?void 0:yt())===0||ft===this.getRetries()||!ht.retryable)throw ht;ft++,gt=Math.min(...yt?[yt()]:[],gt*(2+.1*(Math.random()-.5)),this.maxBackoffDelayMs),yield Object(tt.a)(gt),this.verbose&&nt.a.warn("Connection failure, retrying. Error: "+xt.cause.message,{url:xt.url,error:xt.cause,attempt:ft})}})}doFetch(Bt,Qt,gt){return dt(this,void 0,void 0,function*(){const{token:ft,json:Ft=this.json,allowUnsafeRetries:yt}=Qt,Ct=Ut(Qt,["token","json","allowUnsafeRetries"]),xt=(Ct.method||"GET").toUpperCase(),ht=this.endpoint!==void 0?`${this.endpoint}${Bt?"/"+Bt:""}`:Bt,mt=new AbortController;let It;if(gt){const vt=gt();vt>0?It=setTimeout(()=>{mt.abort()},vt):mt.abort()}try{let vt;yield Promise.race([this.getConstructor().waitForConnectivity(),new Promise(Zt=>{vt=setTimeout(Zt,gt?Math.min(_e.a.minute,gt()):_e.a.minute)})]),vt&&clearTimeout(vt);const Tt=yield $()(ht,Object.assign(Object.assign(Object.assign({},Ct),Ct.body!==void 0?{body:Ft!==!1?JSON.stringify(Ct.body):Ct.body}:{}),{headers:Object.assign(Object.assign(Object.assign(Object.assign({},Ft!==!1?{"Content-Type":"application/json"}:{}),this.getHeaders()),Ct.headers||{}),ft!==void 0?{Authorization:"Bearer "+ft}:{}),signal:mt.signal})),Ot=Tt.headers.get("content-type")||"",_t=Ot&&Ot.startsWith("application/json"),Wt=_t?yield Tt.json():yield Tt.text(),bt=()=>new ot.a(xt,ht,Ct.body,Tt.status,Tt.headers,Wt,Wt&&Wt.validationErrors||{});if(!Tt.ok)throw this.verbose&&nt.a[Tt.status>=500?"warn":"info"]("Response error",{method:xt,url:ht,statusCode:Tt.status}),bt();const Jt=this.validateHeaders(Tt.headers);if(Object.keys(Jt).length!==0)throw new ut(Jt,bt());if(Tt.status===204)return{body:void 0,headers:Tt.headers};if(Ft&&!_t)throw new Error("Response is not JSON: "+JSON.stringify(Wt));return{body:Wt,headers:Tt.headers}}catch(vt){const Tt=vt,Ot=yt||st.has(xt);if(Tt.message==="Network request failed")throw new et(Tt,ht,Ot);if(Tt.type==="system"&&["EAI_AGAIN","ECONNREFUSED","EHOSTUNREACH","ENOTFOUND"].find(Jt=>Jt===Tt.code))throw new et(Tt,ht,!0);if(Tt.type==="system"&&["ETIMEDOUT","ECONNRESET","ESOCKETTIMEDOUT","EPIPE"].find(Jt=>Jt===Tt.code))throw new et(Tt,ht,Ot);if(Tt.name==="AbortError")throw new et(Tt,ht,Ot);const _t=Object(rt.a)(Tt,ot.a),{statusCode:Wt}=_t;if(Wt===408||Wt===429||Wt===502||Wt===503||Wt===504)throw this.verbose&&!Ot&&nt.a.warn("Potentially unsafe retry"),new et(Tt,ht,!0);if(Wt===500&&["/online-devices","/stream-current-value","/events/counts","/queries/queries"].some(Jt=>ht.includes(Jt)))throw new et(Tt,ht,Ot);const bt=this.validateHeaders(_t.headers);throw Object.keys(bt).length!==0?new ut(bt,_t):(yield this.getConstructor().onResponseError(_t),Tt)}finally{It&&clearTimeout(It)}})}getConstructor(){return Object.getPrototypeOf(this).constructor}}ct.retries=8,ct.waitForConnectivity=()=>dt(void 0,void 0,void 0,function*(){}),ct.onResponseError=()=>dt(void 0,void 0,void 0,function*(){})},function(o,s,_){function j(ut,dt){if(!(ut instanceof dt))throw new TypeError("Cannot call a class as a function")}function $(ut,dt){for(var Ut=0;Ut0&&arguments[0]!==void 0?arguments[0]:{};j(this,ut),ct.colors&&this.addColors(ct.colors),this.options=ct}var dt,Ut,st;return dt=ut,st=[{key:"addColors",value:function(ct){var pt=Object.keys(ct).reduce(function(Bt,Qt){return Bt[Qt]=rt.test(ct[Qt])?ct[Qt].split(rt):ct[Qt],Bt},{});return ut.allColors=Object.assign({},ut.allColors||{},pt),ut.allColors}}],(Ut=[{key:"addColors",value:function(ct){return ut.addColors(ct)}},{key:"colorize",value:function(ct,pt,Bt){if(Bt===void 0&&(Bt=pt),!Array.isArray(ut.allColors[ct]))return _e[ut.allColors[ct]](Bt);for(var Qt=0,gt=ut.allColors[ct].length;Qt=0&&j.length%1==0},o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default={},o.exports=s.default},function(o,s,_){var j=_(5),$=j.Buffer;function _e(tt,nt){for(var rt in tt)nt[rt]=tt[rt]}function et(tt,nt,rt){return $(tt,nt,rt)}$.from&&$.alloc&&$.allocUnsafe&&$.allocUnsafeSlow?o.exports=j:(_e(j,s),s.Buffer=et),_e($,et),et.from=function(tt,nt,rt){if(typeof tt=="number")throw new TypeError("Argument must not be a number");return $(tt,nt,rt)},et.alloc=function(tt,nt,rt){if(typeof tt!="number")throw new TypeError("Argument must be a number");var ot=$(tt);return nt!==void 0?typeof rt=="string"?ot.fill(nt,rt):ot.fill(nt):ot.fill(0),ot},et.allocUnsafe=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return $(tt)},et.allocUnsafeSlow=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(tt)}},function(o,s,_){(function(j,$,_e){var et=_(37);function tt(mt){var It=this;this.next=null,this.entry=null,this.finish=function(){(function(vt,Tt,Ot){var _t=vt.entry;for(vt.entry=null;_t;){var Wt=_t.callback;Tt.pendingcb--,Wt(Ot),_t=_t.next}Tt.corkedRequestsFree?Tt.corkedRequestsFree.next=vt:Tt.corkedRequestsFree=vt})(It,mt)}}o.exports=gt;var nt,rt=!j.browser&&["v0.10","v0.9."].indexOf(j.version.slice(0,5))>-1?$:et.nextTick;gt.WritableState=Qt;var ot=Object.create(_(32));ot.inherits=_(7);var ut={deprecate:_(43)},dt=_(70),Ut=_(46).Buffer,st=_e.Uint8Array||function(){},ct,pt=_(71);function Bt(){}function Qt(mt,It){nt=nt||_(22),mt=mt||{};var vt=It instanceof nt;this.objectMode=!!mt.objectMode,vt&&(this.objectMode=this.objectMode||!!mt.writableObjectMode);var Tt=mt.highWaterMark,Ot=mt.writableHighWaterMark,_t=this.objectMode?16:16384;this.highWaterMark=Tt||Tt===0?Tt:vt&&(Ot||Ot===0)?Ot:_t,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Wt=mt.decodeStrings===!1;this.decodeStrings=!Wt,this.defaultEncoding=mt.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(bt){(function(Jt,Zt){var Vt=Jt._writableState,jt=Vt.sync,zt=Vt.writecb;if(function(nn){nn.writing=!1,nn.writecb=null,nn.length-=nn.writelen,nn.writelen=0}(Vt),Zt)(function(nn,rn,Dt,wt,Et){--rn.pendingcb,Dt?(et.nextTick(Et,wt),et.nextTick(ht,nn,rn),nn._writableState.errorEmitted=!0,nn.emit("error",wt)):(Et(wt),nn._writableState.errorEmitted=!0,nn.emit("error",wt),ht(nn,rn))})(Jt,Vt,jt,Zt,zt);else{var $t=Ct(Vt);$t||Vt.corked||Vt.bufferProcessing||!Vt.bufferedRequest||yt(Jt,Vt),jt?rt(Ft,Jt,Vt,$t,zt):Ft(Jt,Vt,$t,zt)}})(It,bt)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new tt(this)}function gt(mt){if(nt=nt||_(22),!(ct.call(gt,this)||this instanceof nt))return new gt(mt);this._writableState=new Qt(mt,this),this.writable=!0,mt&&(typeof mt.write=="function"&&(this._write=mt.write),typeof mt.writev=="function"&&(this._writev=mt.writev),typeof mt.destroy=="function"&&(this._destroy=mt.destroy),typeof mt.final=="function"&&(this._final=mt.final)),dt.call(this)}function ft(mt,It,vt,Tt,Ot,_t,Wt){It.writelen=Tt,It.writecb=Wt,It.writing=!0,It.sync=!0,vt?mt._writev(Ot,It.onwrite):mt._write(Ot,_t,It.onwrite),It.sync=!1}function Ft(mt,It,vt,Tt){vt||function(Ot,_t){_t.length===0&&_t.needDrain&&(_t.needDrain=!1,Ot.emit("drain"))}(mt,It),It.pendingcb--,Tt(),ht(mt,It)}function yt(mt,It){It.bufferProcessing=!0;var vt=It.bufferedRequest;if(mt._writev&&vt&&vt.next){var Tt=It.bufferedRequestCount,Ot=new Array(Tt),_t=It.corkedRequestsFree;_t.entry=vt;for(var Wt=0,bt=!0;vt;)Ot[Wt]=vt,vt.isBuf||(bt=!1),vt=vt.next,Wt+=1;Ot.allBuffers=bt,ft(mt,It,!0,It.length,Ot,"",_t.finish),It.pendingcb++,It.lastBufferedRequest=null,_t.next?(It.corkedRequestsFree=_t.next,_t.next=null):It.corkedRequestsFree=new tt(It),It.bufferedRequestCount=0}else{for(;vt;){var Jt=vt.chunk,Zt=vt.encoding,Vt=vt.callback;if(ft(mt,It,!1,It.objectMode?1:Jt.length,Jt,Zt,Vt),vt=vt.next,It.bufferedRequestCount--,It.writing)break}vt===null&&(It.lastBufferedRequest=null)}It.bufferedRequest=vt,It.bufferProcessing=!1}function Ct(mt){return mt.ending&&mt.length===0&&mt.bufferedRequest===null&&!mt.finished&&!mt.writing}function xt(mt,It){mt._final(function(vt){It.pendingcb--,vt&&mt.emit("error",vt),It.prefinished=!0,mt.emit("prefinish"),ht(mt,It)})}function ht(mt,It){var vt=Ct(It);return vt&&(function(Tt,Ot){Ot.prefinished||Ot.finalCalled||(typeof Tt._final=="function"?(Ot.pendingcb++,Ot.finalCalled=!0,et.nextTick(xt,Tt,Ot)):(Ot.prefinished=!0,Tt.emit("prefinish")))}(mt,It),It.pendingcb===0&&(It.finished=!0,mt.emit("finish"))),vt}ot.inherits(gt,dt),Qt.prototype.getBuffer=function(){for(var mt=this.bufferedRequest,It=[];mt;)It.push(mt),mt=mt.next;return It},function(){try{Object.defineProperty(Qt.prototype,"buffer",{get:ut.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ct=Function.prototype[Symbol.hasInstance],Object.defineProperty(gt,Symbol.hasInstance,{value:function(mt){return!!ct.call(this,mt)||this===gt&&mt&&mt._writableState instanceof Qt}})):ct=function(mt){return mt instanceof this},gt.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},gt.prototype.write=function(mt,It,vt){var Tt,Ot=this._writableState,_t=!1,Wt=!Ot.objectMode&&(Tt=mt,Ut.isBuffer(Tt)||Tt instanceof st);return Wt&&!Ut.isBuffer(mt)&&(mt=function(bt){return Ut.from(bt)}(mt)),typeof It=="function"&&(vt=It,It=null),Wt?It="buffer":It||(It=Ot.defaultEncoding),typeof vt!="function"&&(vt=Bt),Ot.ended?function(bt,Jt){var Zt=new Error("write after end");bt.emit("error",Zt),et.nextTick(Jt,Zt)}(this,vt):(Wt||function(bt,Jt,Zt,Vt){var jt=!0,zt=!1;return Zt===null?zt=new TypeError("May not write null values to stream"):typeof Zt=="string"||Zt===void 0||Jt.objectMode||(zt=new TypeError("Invalid non-string/buffer chunk")),zt&&(bt.emit("error",zt),et.nextTick(Vt,zt),jt=!1),jt}(this,Ot,mt,vt))&&(Ot.pendingcb++,_t=function(bt,Jt,Zt,Vt,jt,zt){if(!Zt){var $t=function(wt,Et,kt){return wt.objectMode||wt.decodeStrings===!1||typeof Et!="string"||(Et=Ut.from(Et,kt)),Et}(Jt,Vt,jt);Vt!==$t&&(Zt=!0,jt="buffer",Vt=$t)}var nn=Jt.objectMode?1:Vt.length;Jt.length+=nn;var rn=Jt.length-1))throw new TypeError("Unknown encoding: "+mt);return this._writableState.defaultEncoding=mt,this},Object.defineProperty(gt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),gt.prototype._write=function(mt,It,vt){vt(new Error("_write() is not implemented"))},gt.prototype._writev=null,gt.prototype.end=function(mt,It,vt){var Tt=this._writableState;typeof mt=="function"?(vt=mt,mt=null,It=null):typeof It=="function"&&(vt=It,It=null),mt!=null&&this.write(mt,It),Tt.corked&&(Tt.corked=1,this.uncork()),Tt.ending||Tt.finished||function(Ot,_t,Wt){_t.ending=!0,ht(Ot,_t),Wt&&(_t.finished?et.nextTick(Wt):Ot.once("finish",Wt)),_t.ended=!0,Ot.writable=!1}(this,Tt,vt)},Object.defineProperty(gt.prototype,"destroyed",{get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(mt){this._writableState&&(this._writableState.destroyed=mt)}}),gt.prototype.destroy=pt.destroy,gt.prototype._undestroy=pt.undestroy,gt.prototype._destroy=function(mt,It){this.end(),It(mt)}}).call(this,_(2),_(19).setImmediate,_(6))},function(o,s,_){var j=_(24).codes.ERR_STREAM_PREMATURE_CLOSE;function $(){}o.exports=function _e(et,tt,nt){if(typeof tt=="function")return _e(et,null,tt);tt||(tt={}),nt=function(gt){var ft=!1;return function(){if(!ft){ft=!0;for(var Ft=arguments.length,yt=new Array(Ft),Ct=0;Ct=0;ot--){var ut=tt[ot];ut==="."?tt.splice(ot,1):ut===".."?(tt.splice(ot,1),rt++):rt&&(tt.splice(ot,1),rt--)}if(nt)for(;rt--;rt)tt.unshift("..");return tt}function _e(tt,nt){if(tt.filter)return tt.filter(nt);for(var rt=[],ot=0;ot=-1&&!nt;rt--){var ot=rt>=0?arguments[rt]:j.cwd();if(typeof ot!="string")throw new TypeError("Arguments to path.resolve must be strings");ot&&(tt=ot+"/"+tt,nt=ot.charAt(0)==="/")}return(nt?"/":"")+(tt=$(_e(tt.split("/"),function(ut){return!!ut}),!nt).join("/"))||"."},s.normalize=function(tt){var nt=s.isAbsolute(tt),rt=et(tt,-1)==="/";return(tt=$(_e(tt.split("/"),function(ot){return!!ot}),!nt).join("/"))||nt||(tt="."),tt&&rt&&(tt+="/"),(nt?"/":"")+tt},s.isAbsolute=function(tt){return tt.charAt(0)==="/"},s.join=function(){var tt=Array.prototype.slice.call(arguments,0);return s.normalize(_e(tt,function(nt,rt){if(typeof nt!="string")throw new TypeError("Arguments to path.join must be strings");return nt}).join("/"))},s.relative=function(tt,nt){function rt(pt){for(var Bt=0;Bt=0&&pt[Qt]==="";Qt--);return Bt>Qt?[]:pt.slice(Bt,Qt-Bt+1)}tt=s.resolve(tt).substr(1),nt=s.resolve(nt).substr(1);for(var ot=rt(tt.split("/")),ut=rt(nt.split("/")),dt=Math.min(ot.length,ut.length),Ut=dt,st=0;st=1;--dt)if((nt=tt.charCodeAt(dt))===47){if(!ut){ot=dt;break}}else ut=!1;return ot===-1?rt?"/":".":rt&&ot===1?"/":tt.slice(0,ot)},s.basename=function(tt,nt){var rt=function(ot){typeof ot!="string"&&(ot+="");var ut,dt=0,Ut=-1,st=!0;for(ut=ot.length-1;ut>=0;--ut)if(ot.charCodeAt(ut)===47){if(!st){dt=ut+1;break}}else Ut===-1&&(st=!1,Ut=ut+1);return Ut===-1?"":ot.slice(dt,Ut)}(tt);return nt&&rt.substr(-1*nt.length)===nt&&(rt=rt.substr(0,rt.length-nt.length)),rt},s.extname=function(tt){typeof tt!="string"&&(tt+="");for(var nt=-1,rt=0,ot=-1,ut=!0,dt=0,Ut=tt.length-1;Ut>=0;--Ut){var st=tt.charCodeAt(Ut);if(st!==47)ot===-1&&(ut=!1,ot=Ut+1),st===46?nt===-1?nt=Ut:dt!==1&&(dt=1):nt!==-1&&(dt=-1);else if(!ut){rt=Ut+1;break}}return nt===-1||ot===-1||dt===0||dt===1&&nt===ot-1&&nt===rt+1?"":tt.slice(nt,ot)};var et="ab".substr(-1)==="b"?function(tt,nt,rt){return tt.substr(nt,rt)}:function(tt,nt,rt){return nt<0&&(nt=tt.length+nt),tt.substr(nt,rt)}}).call(this,_(2))},,function(o,s,_){var j=s.format=_(8);s.levels=_(102),Object.defineProperty(j,"align",{value:_(119)}),Object.defineProperty(j,"cli",{value:_(120)}),Object.defineProperty(j,"colorize",{value:_(42)}),Object.defineProperty(j,"combine",{value:_(121)}),Object.defineProperty(j,"errors",{value:_(122)}),Object.defineProperty(j,"json",{value:_(123)}),Object.defineProperty(j,"label",{value:_(124)}),Object.defineProperty(j,"logstash",{value:_(125)}),Object.defineProperty(j,"metadata",{value:_(126)}),Object.defineProperty(j,"ms",{value:_(127)}),Object.defineProperty(j,"padLevels",{value:_(59)}),Object.defineProperty(j,"prettyPrint",{value:_(129)}),Object.defineProperty(j,"printf",{value:_(130)}),Object.defineProperty(j,"simple",{value:_(131)}),Object.defineProperty(j,"splat",{value:_(132)}),Object.defineProperty(j,"timestamp",{value:_(133)}),Object.defineProperty(j,"uncolorize",{value:_(135)})},function(o,s,_){var j=_(103);o.exports=j},function(o,s,_){function j(dt){return function(Ut){if(Array.isArray(Ut))return $(Ut)}(dt)||function(Ut){if(typeof Symbol<"u"&&Ut[Symbol.iterator]!=null||Ut["@@iterator"]!=null)return Array.from(Ut)}(dt)||function(Ut,st){if(Ut){if(typeof Ut=="string")return $(Ut,st);var ct=Object.prototype.toString.call(Ut).slice(8,-1);if(ct==="Object"&&Ut.constructor&&(ct=Ut.constructor.name),ct==="Map"||ct==="Set")return Array.from(Ut);if(ct==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ct))return $(Ut,st)}}(dt)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function $(dt,Ut){(Ut==null||Ut>dt.length)&&(Ut=dt.length);for(var st=0,ct=new Array(Ut);st0&&arguments[0]!==void 0?arguments[0]:{levels:nt.npm.levels};_e(this,dt),this.paddings=dt.paddingForLevels(pt.levels,pt.filler),this.options=pt}var Ut,st,ct;return Ut=dt,ct=[{key:"getLongestLevel",value:function(pt){var Bt=Object.keys(pt).map(function(Qt){return Qt.length});return Math.max.apply(Math,j(Bt))}},{key:"paddingForLevel",value:function(pt,Bt,Qt){var gt=Qt+1-pt.length,ft=Math.floor(gt/Bt.length);return"".concat(Bt).concat(Bt.repeat(ft)).slice(0,gt)}},{key:"paddingForLevels",value:function(pt){var Bt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:" ",Qt=dt.getLongestLevel(pt);return Object.keys(pt).reduce(function(gt,ft){return gt[ft]=dt.paddingForLevel(ft,Bt,Qt),gt},{})}}],(st=[{key:"transform",value:function(pt,Bt){return pt.message="".concat(this.paddings[pt[rt]]).concat(pt.message),pt[ot]&&(pt[ot]="".concat(this.paddings[pt[rt]]).concat(pt[ot])),pt}}])&&et(Ut.prototype,st),ct&&et(Ut,ct),Object.defineProperty(Ut,"prototype",{writable:!1}),dt}();o.exports=function(dt){return new ut(dt)},o.exports.Padder=o.exports.Format=ut},function(o,s,_){var j=_(13).format;s.warn={deprecated:function($){return function(){throw new Error(j("{ %s } was removed in winston@3.0.0.",$))}},useFormat:function($){return function(){throw new Error([j("{ %s } was removed in winston@3.0.0.",$),"Use a custom winston.format = winston.format(function) instead."].join(` +`))}},forFunctions:function($,_e,et){et.forEach(function(tt){$[tt]=s.warn[_e](tt)})},moved:function($,_e,et){function tt(){return function(){throw new Error([j("winston.%s was moved in winston@3.0.0.",et),j("Use a winston.%s instead.",_e)].join(` +`))}}Object.defineProperty($,et,{get:tt,set:tt})},forProperties:function($,_e,et){et.forEach(function(tt){var nt=s.warn[_e](tt);Object.defineProperty($,tt,{get:nt,set:nt})})}}},function(o,s,_){(function(j,$){function _e(bt){var Jt=this;this.next=null,this.entry=null,this.finish=function(){(function(Zt,Vt,jt){var zt=Zt.entry;for(Zt.entry=null;zt;){var $t=zt.callback;Vt.pendingcb--,$t(jt),zt=zt.next}Vt.corkedRequestsFree.next=Zt})(Jt,bt)}}var et;o.exports=mt,mt.WritableState=ht;var tt={deprecate:_(43)},nt=_(62),rt=_(5).Buffer,ot=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ut,dt=_(63),Ut=_(64).getHighWaterMark,st=_(35).codes,ct=st.ERR_INVALID_ARG_TYPE,pt=st.ERR_METHOD_NOT_IMPLEMENTED,Bt=st.ERR_MULTIPLE_CALLBACK,Qt=st.ERR_STREAM_CANNOT_PIPE,gt=st.ERR_STREAM_DESTROYED,ft=st.ERR_STREAM_NULL_VALUES,Ft=st.ERR_STREAM_WRITE_AFTER_END,yt=st.ERR_UNKNOWN_ENCODING,Ct=dt.errorOrDestroy;function xt(){}function ht(bt,Jt,Zt){et=et||_(36),bt=bt||{},typeof Zt!="boolean"&&(Zt=Jt instanceof et),this.objectMode=!!bt.objectMode,Zt&&(this.objectMode=this.objectMode||!!bt.writableObjectMode),this.highWaterMark=Ut(this,bt,"writableHighWaterMark",Zt),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var Vt=bt.decodeStrings===!1;this.decodeStrings=!Vt,this.defaultEncoding=bt.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(jt){(function(zt,$t){var nn=zt._writableState,rn=nn.sync,Dt=nn.writecb;if(typeof Dt!="function")throw new Bt;if(function(Et){Et.writing=!1,Et.writecb=null,Et.length-=Et.writelen,Et.writelen=0}(nn),$t)(function(Et,kt,Pt,Kt,Ht){--kt.pendingcb,Pt?($.nextTick(Ht,Kt),$.nextTick(Wt,Et,kt),Et._writableState.errorEmitted=!0,Ct(Et,Kt)):(Ht(Kt),Et._writableState.errorEmitted=!0,Ct(Et,Kt),Wt(Et,kt))})(zt,nn,rn,$t,Dt);else{var wt=Ot(nn)||zt.destroyed;wt||nn.corked||nn.bufferProcessing||!nn.bufferedRequest||Tt(zt,nn),rn?$.nextTick(vt,zt,nn,wt,Dt):vt(zt,nn,wt,Dt)}})(Jt,jt)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=bt.emitClose!==!1,this.autoDestroy=!!bt.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new _e(this)}function mt(bt){var Jt=this instanceof(et=et||_(36));if(!Jt&&!ut.call(mt,this))return new mt(bt);this._writableState=new ht(bt,this,Jt),this.writable=!0,bt&&(typeof bt.write=="function"&&(this._write=bt.write),typeof bt.writev=="function"&&(this._writev=bt.writev),typeof bt.destroy=="function"&&(this._destroy=bt.destroy),typeof bt.final=="function"&&(this._final=bt.final)),nt.call(this)}function It(bt,Jt,Zt,Vt,jt,zt,$t){Jt.writelen=Vt,Jt.writecb=$t,Jt.writing=!0,Jt.sync=!0,Jt.destroyed?Jt.onwrite(new gt("write")):Zt?bt._writev(jt,Jt.onwrite):bt._write(jt,zt,Jt.onwrite),Jt.sync=!1}function vt(bt,Jt,Zt,Vt){Zt||function(jt,zt){zt.length===0&&zt.needDrain&&(zt.needDrain=!1,jt.emit("drain"))}(bt,Jt),Jt.pendingcb--,Vt(),Wt(bt,Jt)}function Tt(bt,Jt){Jt.bufferProcessing=!0;var Zt=Jt.bufferedRequest;if(bt._writev&&Zt&&Zt.next){var Vt=Jt.bufferedRequestCount,jt=new Array(Vt),zt=Jt.corkedRequestsFree;zt.entry=Zt;for(var $t=0,nn=!0;Zt;)jt[$t]=Zt,Zt.isBuf||(nn=!1),Zt=Zt.next,$t+=1;jt.allBuffers=nn,It(bt,Jt,!0,Jt.length,jt,"",zt.finish),Jt.pendingcb++,Jt.lastBufferedRequest=null,zt.next?(Jt.corkedRequestsFree=zt.next,zt.next=null):Jt.corkedRequestsFree=new _e(Jt),Jt.bufferedRequestCount=0}else{for(;Zt;){var rn=Zt.chunk,Dt=Zt.encoding,wt=Zt.callback;if(It(bt,Jt,!1,Jt.objectMode?1:rn.length,rn,Dt,wt),Zt=Zt.next,Jt.bufferedRequestCount--,Jt.writing)break}Zt===null&&(Jt.lastBufferedRequest=null)}Jt.bufferedRequest=Zt,Jt.bufferProcessing=!1}function Ot(bt){return bt.ending&&bt.length===0&&bt.bufferedRequest===null&&!bt.finished&&!bt.writing}function _t(bt,Jt){bt._final(function(Zt){Jt.pendingcb--,Zt&&Ct(bt,Zt),Jt.prefinished=!0,bt.emit("prefinish"),Wt(bt,Jt)})}function Wt(bt,Jt){var Zt=Ot(Jt);if(Zt&&(function(jt,zt){zt.prefinished||zt.finalCalled||(typeof jt._final!="function"||zt.destroyed?(zt.prefinished=!0,jt.emit("prefinish")):(zt.pendingcb++,zt.finalCalled=!0,$.nextTick(_t,jt,zt)))}(bt,Jt),Jt.pendingcb===0&&(Jt.finished=!0,bt.emit("finish"),Jt.autoDestroy))){var Vt=bt._readableState;(!Vt||Vt.autoDestroy&&Vt.endEmitted)&&bt.destroy()}return Zt}_(7)(mt,nt),ht.prototype.getBuffer=function(){for(var bt=this.bufferedRequest,Jt=[];bt;)Jt.push(bt),bt=bt.next;return Jt},function(){try{Object.defineProperty(ht.prototype,"buffer",{get:tt.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(ut=Function.prototype[Symbol.hasInstance],Object.defineProperty(mt,Symbol.hasInstance,{value:function(bt){return!!ut.call(this,bt)||this===mt&&bt&&bt._writableState instanceof ht}})):ut=function(bt){return bt instanceof this},mt.prototype.pipe=function(){Ct(this,new Qt)},mt.prototype.write=function(bt,Jt,Zt){var Vt,jt=this._writableState,zt=!1,$t=!jt.objectMode&&(Vt=bt,rt.isBuffer(Vt)||Vt instanceof ot);return $t&&!rt.isBuffer(bt)&&(bt=function(nn){return rt.from(nn)}(bt)),typeof Jt=="function"&&(Zt=Jt,Jt=null),$t?Jt="buffer":Jt||(Jt=jt.defaultEncoding),typeof Zt!="function"&&(Zt=xt),jt.ending?function(nn,rn){var Dt=new Ft;Ct(nn,Dt),$.nextTick(rn,Dt)}(this,Zt):($t||function(nn,rn,Dt,wt){var Et;return Dt===null?Et=new ft:typeof Dt=="string"||rn.objectMode||(Et=new ct("chunk",["string","Buffer"],Dt)),!Et||(Ct(nn,Et),$.nextTick(wt,Et),!1)}(this,jt,bt,Zt))&&(jt.pendingcb++,zt=function(nn,rn,Dt,wt,Et,kt){if(!Dt){var Pt=function(sn,gn,Cn){return sn.objectMode||sn.decodeStrings===!1||typeof gn!="string"||(gn=rt.from(gn,Cn)),gn}(rn,wt,Et);wt!==Pt&&(Dt=!0,Et="buffer",wt=Pt)}var Kt=rn.objectMode?1:wt.length;rn.length+=Kt;var Ht=rn.length-1))throw new yt(bt);return this._writableState.defaultEncoding=bt,this},Object.defineProperty(mt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(mt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),mt.prototype._write=function(bt,Jt,Zt){Zt(new pt("_write()"))},mt.prototype._writev=null,mt.prototype.end=function(bt,Jt,Zt){var Vt=this._writableState;return typeof bt=="function"?(Zt=bt,bt=null,Jt=null):typeof Jt=="function"&&(Zt=Jt,Jt=null),bt!=null&&this.write(bt,Jt),Vt.corked&&(Vt.corked=1,this.uncork()),Vt.ending||function(jt,zt,$t){zt.ending=!0,Wt(jt,zt),$t&&(zt.finished?$.nextTick($t):jt.once("finish",$t)),zt.ended=!0,jt.writable=!1}(this,Vt,Zt),this},Object.defineProperty(mt.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(mt.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(bt){this._writableState&&(this._writableState.destroyed=bt)}}),mt.prototype.destroy=dt.destroy,mt.prototype._undestroy=dt.undestroy,mt.prototype._destroy=function(bt,Jt){Jt(bt)}}).call(this,_(6),_(2))},function(o,s,_){o.exports=_(20).EventEmitter},function(o,s,_){(function(j){function $(tt,nt){et(tt,nt),_e(tt)}function _e(tt){tt._writableState&&!tt._writableState.emitClose||tt._readableState&&!tt._readableState.emitClose||tt.emit("close")}function et(tt,nt){tt.emit("error",nt)}o.exports={destroy:function(tt,nt){var rt=this,ot=this._readableState&&this._readableState.destroyed,ut=this._writableState&&this._writableState.destroyed;return ot||ut?(nt?nt(tt):tt&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,j.nextTick(et,this,tt)):j.nextTick(et,this,tt)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(tt||null,function(dt){!nt&&dt?rt._writableState?rt._writableState.errorEmitted?j.nextTick(_e,rt):(rt._writableState.errorEmitted=!0,j.nextTick($,rt,dt)):j.nextTick($,rt,dt):nt?(j.nextTick(_e,rt),nt(dt)):j.nextTick(_e,rt)}),this)},undestroy:function(){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)},errorOrDestroy:function(tt,nt){var rt=tt._readableState,ot=tt._writableState;rt&&rt.autoDestroy||ot&&ot.autoDestroy?tt.destroy(nt):tt.emit("error",nt)}}}).call(this,_(2))},function(o,s,_){var j=_(35).codes.ERR_INVALID_OPT_VALUE;o.exports={getHighWaterMark:function($,_e,et,tt){var nt=function(rt,ot,ut){return rt.highWaterMark!=null?rt.highWaterMark:ot?rt[ut]:null}(_e,tt,et);if(nt!=null){if(!isFinite(nt)||Math.floor(nt)!==nt||nt<0)throw new j(tt?et:"highWaterMark",nt);return Math.floor(nt)}return $.objectMode?16:16384}}},function(o,s){},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=et(_(159)),$=et(_(23)),_e=et(_(30));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}s.default=(0,_e.default)(function(tt,nt,rt,ot){return(0,j.default)(nt)(tt,(0,$.default)(rt),ot)},4),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){function $(..._e){if(j!==null){var et=j;j=null,et.apply(this,_e)}}return Object.assign($,j),$},o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){return function(...$){if(j===null)throw new Error("Callback was already called.");var _e=j;j=null,_e.apply(this,$)}},o.exports=s.default},function(o,s,_){(function(j,$){var _e=_(37);o.exports=ft;var et,tt=_(165);ft.ReadableState=gt,_(20).EventEmitter;var nt=function(Zt,Vt){return Zt.listeners(Vt).length},rt=_(70),ot=_(46).Buffer,ut=j.Uint8Array||function(){},dt=Object.create(_(32));dt.inherits=_(7);var Ut=_(166),st=void 0;st=Ut&&Ut.debuglog?Ut.debuglog("stream"):function(){};var ct,pt=_(167),Bt=_(71);dt.inherits(ft,rt);var Qt=["error","close","destroy","pause","resume"];function gt(Zt,Vt){Zt=Zt||{};var jt=Vt instanceof(et=et||_(22));this.objectMode=!!Zt.objectMode,jt&&(this.objectMode=this.objectMode||!!Zt.readableObjectMode);var zt=Zt.highWaterMark,$t=Zt.readableHighWaterMark,nn=this.objectMode?16:16384;this.highWaterMark=zt||zt===0?zt:jt&&($t||$t===0)?$t:nn,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new pt,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.destroyed=!1,this.defaultEncoding=Zt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Zt.encoding&&(ct||(ct=_(21).StringDecoder),this.decoder=new ct(Zt.encoding),this.encoding=Zt.encoding)}function ft(Zt){if(et=et||_(22),!(this instanceof ft))return new ft(Zt);this._readableState=new gt(Zt,this),this.readable=!0,Zt&&(typeof Zt.read=="function"&&(this._read=Zt.read),typeof Zt.destroy=="function"&&(this._destroy=Zt.destroy)),rt.call(this)}function Ft(Zt,Vt,jt,zt,$t){var nn,rn=Zt._readableState;return Vt===null?(rn.reading=!1,function(Dt,wt){if(!wt.ended){if(wt.decoder){var Et=wt.decoder.end();Et&&Et.length&&(wt.buffer.push(Et),wt.length+=wt.objectMode?1:Et.length)}wt.ended=!0,xt(Dt)}}(Zt,rn)):($t||(nn=function(Dt,wt){var Et;kt=wt,ot.isBuffer(kt)||kt instanceof ut||typeof wt=="string"||wt===void 0||Dt.objectMode||(Et=new TypeError("Invalid non-string/buffer chunk"));var kt;return Et}(rn,Vt)),nn?Zt.emit("error",nn):rn.objectMode||Vt&&Vt.length>0?(typeof Vt=="string"||rn.objectMode||Object.getPrototypeOf(Vt)===ot.prototype||(Vt=function(Dt){return ot.from(Dt)}(Vt)),zt?rn.endEmitted?Zt.emit("error",new Error("stream.unshift() after end event")):yt(Zt,rn,Vt,!0):rn.ended?Zt.emit("error",new Error("stream.push() after EOF")):(rn.reading=!1,rn.decoder&&!jt?(Vt=rn.decoder.write(Vt),rn.objectMode||Vt.length!==0?yt(Zt,rn,Vt,!1):mt(Zt,rn)):yt(Zt,rn,Vt,!1))):zt||(rn.reading=!1)),function(Dt){return!Dt.ended&&(Dt.needReadable||Dt.lengthVt.highWaterMark&&(Vt.highWaterMark=function(jt){return jt>=8388608?jt=8388608:(jt--,jt|=jt>>>1,jt|=jt>>>2,jt|=jt>>>4,jt|=jt>>>8,jt|=jt>>>16,jt++),jt}(Zt)),Zt<=Vt.length?Zt:Vt.ended?Vt.length:(Vt.needReadable=!0,0))}function xt(Zt){var Vt=Zt._readableState;Vt.needReadable=!1,Vt.emittedReadable||(st("emitReadable",Vt.flowing),Vt.emittedReadable=!0,Vt.sync?_e.nextTick(ht,Zt):ht(Zt))}function ht(Zt){st("emit readable"),Zt.emit("readable"),Ot(Zt)}function mt(Zt,Vt){Vt.readingMore||(Vt.readingMore=!0,_e.nextTick(It,Zt,Vt))}function It(Zt,Vt){for(var jt=Vt.length;!Vt.reading&&!Vt.flowing&&!Vt.ended&&Vt.length=Vt.length?(jt=Vt.decoder?Vt.buffer.join(""):Vt.buffer.length===1?Vt.buffer.head.data:Vt.buffer.concat(Vt.length),Vt.buffer.clear()):jt=function(zt,$t,nn){var rn;return zt<$t.head.data.length?(rn=$t.head.data.slice(0,zt),$t.head.data=$t.head.data.slice(zt)):rn=zt===$t.head.data.length?$t.shift():nn?function(Dt,wt){var Et=wt.head,kt=1,Pt=Et.data;for(Dt-=Pt.length;Et=Et.next;){var Kt=Et.data,Ht=Dt>Kt.length?Kt.length:Dt;if(Ht===Kt.length?Pt+=Kt:Pt+=Kt.slice(0,Dt),(Dt-=Ht)===0){Ht===Kt.length?(++kt,Et.next?wt.head=Et.next:wt.head=wt.tail=null):(wt.head=Et,Et.data=Kt.slice(Ht));break}++kt}return wt.length-=kt,Pt}(zt,$t):function(Dt,wt){var Et=ot.allocUnsafe(Dt),kt=wt.head,Pt=1;for(kt.data.copy(Et),Dt-=kt.data.length;kt=kt.next;){var Kt=kt.data,Ht=Dt>Kt.length?Kt.length:Dt;if(Kt.copy(Et,Et.length-Dt,0,Ht),(Dt-=Ht)===0){Ht===Kt.length?(++Pt,kt.next?wt.head=kt.next:wt.head=wt.tail=null):(wt.head=kt,kt.data=Kt.slice(Ht));break}++Pt}return wt.length-=Pt,Et}(zt,$t),rn}(Zt,Vt.buffer,Vt.decoder),jt);var jt}function Wt(Zt){var Vt=Zt._readableState;if(Vt.length>0)throw new Error('"endReadable()" called on non-empty stream');Vt.endEmitted||(Vt.ended=!0,_e.nextTick(bt,Vt,Zt))}function bt(Zt,Vt){Zt.endEmitted||Zt.length!==0||(Zt.endEmitted=!0,Vt.readable=!1,Vt.emit("end"))}function Jt(Zt,Vt){for(var jt=0,zt=Zt.length;jt=Vt.highWaterMark||Vt.ended))return st("read: emitReadable",Vt.length,Vt.ended),Vt.length===0&&Vt.ended?Wt(this):xt(this),null;if((Zt=Ct(Zt,Vt))===0&&Vt.ended)return Vt.length===0&&Wt(this),null;var zt,$t=Vt.needReadable;return st("need readable",$t),(Vt.length===0||Vt.length-Zt0?_t(Zt,Vt):null)===null?(Vt.needReadable=!0,Zt=0):Vt.length-=Zt,Vt.length===0&&(Vt.ended||(Vt.needReadable=!0),jt!==Zt&&Vt.ended&&Wt(this)),zt!==null&&this.emit("data",zt),zt},ft.prototype._read=function(Zt){this.emit("error",new Error("_read() is not implemented"))},ft.prototype.pipe=function(Zt,Vt){var jt=this,zt=this._readableState;switch(zt.pipesCount){case 0:zt.pipes=Zt;break;case 1:zt.pipes=[zt.pipes,Zt];break;default:zt.pipes.push(Zt)}zt.pipesCount+=1,st("pipe count=%d opts=%j",zt.pipesCount,Vt);var $t=(!Vt||Vt.end!==!1)&&Zt!==$.stdout&&Zt!==$.stderr?rn:on;function nn(sn,gn){st("onunpipe"),sn===jt&&gn&&gn.hasUnpiped===!1&&(gn.hasUnpiped=!0,st("cleanup"),Zt.removeListener("close",Kt),Zt.removeListener("finish",Ht),Zt.removeListener("drain",Dt),Zt.removeListener("error",Pt),Zt.removeListener("unpipe",nn),jt.removeListener("end",rn),jt.removeListener("end",on),jt.removeListener("data",kt),wt=!0,!zt.awaitDrain||Zt._writableState&&!Zt._writableState.needDrain||Dt())}function rn(){st("onend"),Zt.end()}zt.endEmitted?_e.nextTick($t):jt.once("end",$t),Zt.on("unpipe",nn);var Dt=function(sn){return function(){var gn=sn._readableState;st("pipeOnDrain",gn.awaitDrain),gn.awaitDrain&&gn.awaitDrain--,gn.awaitDrain===0&&nt(sn,"data")&&(gn.flowing=!0,Ot(sn))}}(jt);Zt.on("drain",Dt);var wt=!1,Et=!1;function kt(sn){st("ondata"),Et=!1,Zt.write(sn)!==!1||Et||((zt.pipesCount===1&&zt.pipes===Zt||zt.pipesCount>1&&Jt(zt.pipes,Zt)!==-1)&&!wt&&(st("false write response, pause",jt._readableState.awaitDrain),jt._readableState.awaitDrain++,Et=!0),jt.pause())}function Pt(sn){st("onerror",sn),on(),Zt.removeListener("error",Pt),nt(Zt,"error")===0&&Zt.emit("error",sn)}function Kt(){Zt.removeListener("finish",Ht),on()}function Ht(){st("onfinish"),Zt.removeListener("close",Kt),on()}function on(){st("unpipe"),jt.unpipe(Zt)}return jt.on("data",kt),function(sn,gn,Cn){if(typeof sn.prependListener=="function")return sn.prependListener(gn,Cn);sn._events&&sn._events[gn]?tt(sn._events[gn])?sn._events[gn].unshift(Cn):sn._events[gn]=[Cn,sn._events[gn]]:sn.on(gn,Cn)}(Zt,"error",Pt),Zt.once("close",Kt),Zt.once("finish",Ht),Zt.emit("pipe",jt),zt.flowing||(st("pipe resume"),jt.resume()),Zt},ft.prototype.unpipe=function(Zt){var Vt=this._readableState,jt={hasUnpiped:!1};if(Vt.pipesCount===0)return this;if(Vt.pipesCount===1)return Zt&&Zt!==Vt.pipes||(Zt||(Zt=Vt.pipes),Vt.pipes=null,Vt.pipesCount=0,Vt.flowing=!1,Zt&&Zt.emit("unpipe",this,jt)),this;if(!Zt){var zt=Vt.pipes,$t=Vt.pipesCount;Vt.pipes=null,Vt.pipesCount=0,Vt.flowing=!1;for(var nn=0;nn<$t;nn++)zt[nn].emit("unpipe",this,jt);return this}var rn=Jt(Vt.pipes,Zt);return rn===-1||(Vt.pipes.splice(rn,1),Vt.pipesCount-=1,Vt.pipesCount===1&&(Vt.pipes=Vt.pipes[0]),Zt.emit("unpipe",this,jt)),this},ft.prototype.on=function(Zt,Vt){var jt=rt.prototype.on.call(this,Zt,Vt);if(Zt==="data")this._readableState.flowing!==!1&&this.resume();else if(Zt==="readable"){var zt=this._readableState;zt.endEmitted||zt.readableListening||(zt.readableListening=zt.needReadable=!0,zt.emittedReadable=!1,zt.reading?zt.length&&xt(this):_e.nextTick(vt,this))}return jt},ft.prototype.addListener=ft.prototype.on,ft.prototype.resume=function(){var Zt=this._readableState;return Zt.flowing||(st("resume"),Zt.flowing=!0,function(Vt,jt){jt.resumeScheduled||(jt.resumeScheduled=!0,_e.nextTick(Tt,Vt,jt))}(this,Zt)),this},ft.prototype.pause=function(){return st("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(st("pause"),this._readableState.flowing=!1,this.emit("pause")),this},ft.prototype.wrap=function(Zt){var Vt=this,jt=this._readableState,zt=!1;for(var $t in Zt.on("end",function(){if(st("wrapped end"),jt.decoder&&!jt.ended){var rn=jt.decoder.end();rn&&rn.length&&Vt.push(rn)}Vt.push(null)}),Zt.on("data",function(rn){st("wrapped data"),jt.decoder&&(rn=jt.decoder.write(rn)),jt.objectMode&&rn==null||(jt.objectMode||rn&&rn.length)&&(Vt.push(rn)||(zt=!0,Zt.pause()))}),Zt)this[$t]===void 0&&typeof Zt[$t]=="function"&&(this[$t]=function(rn){return function(){return Zt[rn].apply(Zt,arguments)}}($t));for(var nn=0;nn=0;jt--)if(zt[jt]!==$t[jt])return!1;for(jt=zt.length-1;jt>=0;jt--)if(Vt=zt[jt],!ft(Ot[Vt],_t[Vt],Wt,bt))return!1;return!0}(ht,mt,It,vt))}return It?ht===mt:ht==mt}function Ft(ht){return Object.prototype.toString.call(ht)=="[object Arguments]"}function yt(ht,mt){if(!ht||!mt)return!1;if(Object.prototype.toString.call(mt)=="[object RegExp]")return mt.test(ht);try{if(ht instanceof mt)return!0}catch{}return!Error.isPrototypeOf(mt)&&mt.call({},ht)===!0}function Ct(ht,mt,It,vt){var Tt;if(typeof mt!="function")throw new TypeError('"block" argument must be a function');typeof It=="string"&&(vt=It,It=null),Tt=function(Wt){var bt;try{Wt()}catch(Jt){bt=Jt}return bt}(mt),vt=(It&&It.name?" ("+It.name+").":".")+(vt?" "+vt:"."),ht&&!Tt&&Qt(Tt,It,"Missing expected exception"+vt);var Ot=typeof vt=="string",_t=!ht&&Tt&&!It;if((!ht&&tt.isError(Tt)&&Ot&&yt(Tt,It)||_t)&&Qt(Tt,It,"Got unwanted exception"+vt),ht&&Tt&&It&&!yt(Tt,It)||!ht&&Tt)throw Tt}Ut.AssertionError=function(ht){this.name="AssertionError",this.actual=ht.actual,this.expected=ht.expected,this.operator=ht.operator,ht.message?(this.message=ht.message,this.generatedMessage=!1):(this.message=function(Wt){return pt(Bt(Wt.actual),128)+" "+Wt.operator+" "+pt(Bt(Wt.expected),128)}(this),this.generatedMessage=!0);var mt=ht.stackStartFunction||Qt;if(Error.captureStackTrace)Error.captureStackTrace(this,mt);else{var It=new Error;if(It.stack){var vt=It.stack,Tt=ct(mt),Ot=vt.indexOf(` +`+Tt);if(Ot>=0){var _t=vt.indexOf(` +`,Ot+1);vt=vt.substring(_t+1)}this.stack=vt}}},tt.inherits(Ut.AssertionError,Error),Ut.fail=Qt,Ut.ok=gt,Ut.equal=function(ht,mt,It){ht!=mt&&Qt(ht,mt,It,"==",Ut.equal)},Ut.notEqual=function(ht,mt,It){ht==mt&&Qt(ht,mt,It,"!=",Ut.notEqual)},Ut.deepEqual=function(ht,mt,It){ft(ht,mt,!1)||Qt(ht,mt,It,"deepEqual",Ut.deepEqual)},Ut.deepStrictEqual=function(ht,mt,It){ft(ht,mt,!0)||Qt(ht,mt,It,"deepStrictEqual",Ut.deepStrictEqual)},Ut.notDeepEqual=function(ht,mt,It){ft(ht,mt,!1)&&Qt(ht,mt,It,"notDeepEqual",Ut.notDeepEqual)},Ut.notDeepStrictEqual=function ht(mt,It,vt){ft(mt,It,!0)&&Qt(mt,It,vt,"notDeepStrictEqual",ht)},Ut.strictEqual=function(ht,mt,It){ht!==mt&&Qt(ht,mt,It,"===",Ut.strictEqual)},Ut.notStrictEqual=function(ht,mt,It){ht===mt&&Qt(ht,mt,It,"!==",Ut.notStrictEqual)},Ut.throws=function(ht,mt,It){Ct(!0,ht,mt,It)},Ut.doesNotThrow=function(ht,mt,It){Ct(!1,ht,mt,It)},Ut.ifError=function(ht){if(ht)throw ht},Ut.strict=$(function ht(mt,It){mt||Qt(mt,!0,It,"==",ht)},Ut,{equal:Ut.strictEqual,deepEqual:Ut.deepStrictEqual,notEqual:Ut.notStrictEqual,notDeepEqual:Ut.notDeepStrictEqual}),Ut.strict.strict=Ut.strict;var xt=Object.keys||function(ht){var mt=[];for(var It in ht)nt.call(ht,It)&&mt.push(It);return mt}}).call(this,_(6))},function(o,s,_){o.exports=function(j,$,_e,et){for(var tt=65535&j|0,nt=j>>>16&65535|0,rt=0;_e!==0;){_e-=rt=_e>2e3?2e3:_e;do nt=nt+(tt=tt+$[et++]|0)|0;while(--rt);tt%=65521,nt%=65521}return tt|nt<<16|0}},function(o,s,_){var j=function(){for(var $,_e=[],et=0;et<256;et++){$=et;for(var tt=0;tt<8;tt++)$=1&$?3988292384^$>>>1:$>>>1;_e[et]=$}return _e}();o.exports=function($,_e,et,tt){var nt=j,rt=tt+et;$^=-1;for(var ot=tt;ot>>8^nt[255&($^_e[ot])];return-1^$}},function(o,s,_){(function(j,$){var _e;o.exports=mt,mt.ReadableState=ht,_(20).EventEmitter;var et=function(Dt,wt){return Dt.listeners(wt).length},tt=_(77),nt=_(5).Buffer,rt=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ot,ut=_(184);ot=ut&&ut.debuglog?ut.debuglog("stream"):function(){};var dt,Ut,st,ct=_(185),pt=_(78),Bt=_(79).getHighWaterMark,Qt=_(24).codes,gt=Qt.ERR_INVALID_ARG_TYPE,ft=Qt.ERR_STREAM_PUSH_AFTER_EOF,Ft=Qt.ERR_METHOD_NOT_IMPLEMENTED,yt=Qt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;_(7)(mt,tt);var Ct=pt.errorOrDestroy,xt=["error","close","destroy","pause","resume"];function ht(Dt,wt,Et){_e=_e||_(25),Dt=Dt||{},typeof Et!="boolean"&&(Et=wt instanceof _e),this.objectMode=!!Dt.objectMode,Et&&(this.objectMode=this.objectMode||!!Dt.readableObjectMode),this.highWaterMark=Bt(this,Dt,"readableHighWaterMark",Et),this.buffer=new ct,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=Dt.emitClose!==!1,this.autoDestroy=!!Dt.autoDestroy,this.destroyed=!1,this.defaultEncoding=Dt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Dt.encoding&&(dt||(dt=_(21).StringDecoder),this.decoder=new dt(Dt.encoding),this.encoding=Dt.encoding)}function mt(Dt){if(_e=_e||_(25),!(this instanceof mt))return new mt(Dt);var wt=this instanceof _e;this._readableState=new ht(Dt,this,wt),this.readable=!0,Dt&&(typeof Dt.read=="function"&&(this._read=Dt.read),typeof Dt.destroy=="function"&&(this._destroy=Dt.destroy)),tt.call(this)}function It(Dt,wt,Et,kt,Pt){ot("readableAddChunk",wt);var Kt,Ht=Dt._readableState;if(wt===null)Ht.reading=!1,function(on,sn){if(ot("onEofChunk"),!sn.ended){if(sn.decoder){var gn=sn.decoder.end();gn&&gn.length&&(sn.buffer.push(gn),sn.length+=sn.objectMode?1:gn.length)}sn.ended=!0,sn.sync?Ot(on):(sn.needReadable=!1,sn.emittedReadable||(sn.emittedReadable=!0,_t(on)))}}(Dt,Ht);else if(Pt||(Kt=function(on,sn){var gn;Cn=sn,nt.isBuffer(Cn)||Cn instanceof rt||typeof sn=="string"||sn===void 0||on.objectMode||(gn=new gt("chunk",["string","Buffer","Uint8Array"],sn));var Cn;return gn}(Ht,wt)),Kt)Ct(Dt,Kt);else if(Ht.objectMode||wt&&wt.length>0)if(typeof wt=="string"||Ht.objectMode||Object.getPrototypeOf(wt)===nt.prototype||(wt=function(on){return nt.from(on)}(wt)),kt)Ht.endEmitted?Ct(Dt,new yt):vt(Dt,Ht,wt,!0);else if(Ht.ended)Ct(Dt,new ft);else{if(Ht.destroyed)return!1;Ht.reading=!1,Ht.decoder&&!Et?(wt=Ht.decoder.write(wt),Ht.objectMode||wt.length!==0?vt(Dt,Ht,wt,!1):Wt(Dt,Ht)):vt(Dt,Ht,wt,!1)}else kt||(Ht.reading=!1,Wt(Dt,Ht));return!Ht.ended&&(Ht.lengthwt.highWaterMark&&(wt.highWaterMark=function(Et){return Et>=1073741824?Et=1073741824:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et}(Dt)),Dt<=wt.length?Dt:wt.ended?wt.length:(wt.needReadable=!0,0))}function Ot(Dt){var wt=Dt._readableState;ot("emitReadable",wt.needReadable,wt.emittedReadable),wt.needReadable=!1,wt.emittedReadable||(ot("emitReadable",wt.flowing),wt.emittedReadable=!0,$.nextTick(_t,Dt))}function _t(Dt){var wt=Dt._readableState;ot("emitReadable_",wt.destroyed,wt.length,wt.ended),wt.destroyed||!wt.length&&!wt.ended||(Dt.emit("readable"),wt.emittedReadable=!1),wt.needReadable=!wt.flowing&&!wt.ended&&wt.length<=wt.highWaterMark,jt(Dt)}function Wt(Dt,wt){wt.readingMore||(wt.readingMore=!0,$.nextTick(bt,Dt,wt))}function bt(Dt,wt){for(;!wt.reading&&!wt.ended&&(wt.length0,wt.resumeScheduled&&!wt.paused?wt.flowing=!0:Dt.listenerCount("data")>0&&Dt.resume()}function Zt(Dt){ot("readable nexttick read 0"),Dt.read(0)}function Vt(Dt,wt){ot("resume",wt.reading),wt.reading||Dt.read(0),wt.resumeScheduled=!1,Dt.emit("resume"),jt(Dt),wt.flowing&&!wt.reading&&Dt.read(0)}function jt(Dt){var wt=Dt._readableState;for(ot("flow",wt.flowing);wt.flowing&&Dt.read()!==null;);}function zt(Dt,wt){return wt.length===0?null:(wt.objectMode?Et=wt.buffer.shift():!Dt||Dt>=wt.length?(Et=wt.decoder?wt.buffer.join(""):wt.buffer.length===1?wt.buffer.first():wt.buffer.concat(wt.length),wt.buffer.clear()):Et=wt.buffer.consume(Dt,wt.decoder),Et);var Et}function $t(Dt){var wt=Dt._readableState;ot("endReadable",wt.endEmitted),wt.endEmitted||(wt.ended=!0,$.nextTick(nn,wt,Dt))}function nn(Dt,wt){if(ot("endReadableNT",Dt.endEmitted,Dt.length),!Dt.endEmitted&&Dt.length===0&&(Dt.endEmitted=!0,wt.readable=!1,wt.emit("end"),Dt.autoDestroy)){var Et=wt._writableState;(!Et||Et.autoDestroy&&Et.finished)&&wt.destroy()}}function rn(Dt,wt){for(var Et=0,kt=Dt.length;Et=wt.highWaterMark:wt.length>0)||wt.ended))return ot("read: emitReadable",wt.length,wt.ended),wt.length===0&&wt.ended?$t(this):Ot(this),null;if((Dt=Tt(Dt,wt))===0&&wt.ended)return wt.length===0&&$t(this),null;var kt,Pt=wt.needReadable;return ot("need readable",Pt),(wt.length===0||wt.length-Dt0?zt(Dt,wt):null)===null?(wt.needReadable=wt.length<=wt.highWaterMark,Dt=0):(wt.length-=Dt,wt.awaitDrain=0),wt.length===0&&(wt.ended||(wt.needReadable=!0),Et!==Dt&&wt.ended&&$t(this)),kt!==null&&this.emit("data",kt),kt},mt.prototype._read=function(Dt){Ct(this,new Ft("_read()"))},mt.prototype.pipe=function(Dt,wt){var Et=this,kt=this._readableState;switch(kt.pipesCount){case 0:kt.pipes=Dt;break;case 1:kt.pipes=[kt.pipes,Dt];break;default:kt.pipes.push(Dt)}kt.pipesCount+=1,ot("pipe count=%d opts=%j",kt.pipesCount,wt);var Pt=(!wt||wt.end!==!1)&&Dt!==$.stdout&&Dt!==$.stderr?Ht:rr;function Kt(An,Dn){ot("onunpipe"),An===Et&&Dn&&Dn.hasUnpiped===!1&&(Dn.hasUnpiped=!0,ot("cleanup"),Dt.removeListener("close",In),Dt.removeListener("finish",Mn),Dt.removeListener("drain",on),Dt.removeListener("error",Cn),Dt.removeListener("unpipe",Kt),Et.removeListener("end",Ht),Et.removeListener("end",rr),Et.removeListener("data",gn),sn=!0,!kt.awaitDrain||Dt._writableState&&!Dt._writableState.needDrain||on())}function Ht(){ot("onend"),Dt.end()}kt.endEmitted?$.nextTick(Pt):Et.once("end",Pt),Dt.on("unpipe",Kt);var on=function(An){return function(){var Dn=An._readableState;ot("pipeOnDrain",Dn.awaitDrain),Dn.awaitDrain&&Dn.awaitDrain--,Dn.awaitDrain===0&&et(An,"data")&&(Dn.flowing=!0,jt(An))}}(Et);Dt.on("drain",on);var sn=!1;function gn(An){ot("ondata");var Dn=Dt.write(An);ot("dest.write",Dn),Dn===!1&&((kt.pipesCount===1&&kt.pipes===Dt||kt.pipesCount>1&&rn(kt.pipes,Dt)!==-1)&&!sn&&(ot("false write response, pause",kt.awaitDrain),kt.awaitDrain++),Et.pause())}function Cn(An){ot("onerror",An),rr(),Dt.removeListener("error",Cn),et(Dt,"error")===0&&Ct(Dt,An)}function In(){Dt.removeListener("finish",Mn),rr()}function Mn(){ot("onfinish"),Dt.removeListener("close",In),rr()}function rr(){ot("unpipe"),Et.unpipe(Dt)}return Et.on("data",gn),function(An,Dn,Hn){if(typeof An.prependListener=="function")return An.prependListener(Dn,Hn);An._events&&An._events[Dn]?Array.isArray(An._events[Dn])?An._events[Dn].unshift(Hn):An._events[Dn]=[Hn,An._events[Dn]]:An.on(Dn,Hn)}(Dt,"error",Cn),Dt.once("close",In),Dt.once("finish",Mn),Dt.emit("pipe",Et),kt.flowing||(ot("pipe resume"),Et.resume()),Dt},mt.prototype.unpipe=function(Dt){var wt=this._readableState,Et={hasUnpiped:!1};if(wt.pipesCount===0)return this;if(wt.pipesCount===1)return Dt&&Dt!==wt.pipes||(Dt||(Dt=wt.pipes),wt.pipes=null,wt.pipesCount=0,wt.flowing=!1,Dt&&Dt.emit("unpipe",this,Et)),this;if(!Dt){var kt=wt.pipes,Pt=wt.pipesCount;wt.pipes=null,wt.pipesCount=0,wt.flowing=!1;for(var Kt=0;Kt0,kt.flowing!==!1&&this.resume()):Dt==="readable"&&(kt.endEmitted||kt.readableListening||(kt.readableListening=kt.needReadable=!0,kt.flowing=!1,kt.emittedReadable=!1,ot("on readable",kt.length,kt.reading),kt.length?Ot(this):kt.reading||$.nextTick(Zt,this))),Et},mt.prototype.addListener=mt.prototype.on,mt.prototype.removeListener=function(Dt,wt){var Et=tt.prototype.removeListener.call(this,Dt,wt);return Dt==="readable"&&$.nextTick(Jt,this),Et},mt.prototype.removeAllListeners=function(Dt){var wt=tt.prototype.removeAllListeners.apply(this,arguments);return Dt!=="readable"&&Dt!==void 0||$.nextTick(Jt,this),wt},mt.prototype.resume=function(){var Dt=this._readableState;return Dt.flowing||(ot("resume"),Dt.flowing=!Dt.readableListening,function(wt,Et){Et.resumeScheduled||(Et.resumeScheduled=!0,$.nextTick(Vt,wt,Et))}(this,Dt)),Dt.paused=!1,this},mt.prototype.pause=function(){return ot("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ot("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},mt.prototype.wrap=function(Dt){var wt=this,Et=this._readableState,kt=!1;for(var Pt in Dt.on("end",function(){if(ot("wrapped end"),Et.decoder&&!Et.ended){var Ht=Et.decoder.end();Ht&&Ht.length&&wt.push(Ht)}wt.push(null)}),Dt.on("data",function(Ht){ot("wrapped data"),Et.decoder&&(Ht=Et.decoder.write(Ht)),Et.objectMode&&Ht==null||(Et.objectMode||Ht&&Ht.length)&&(wt.push(Ht)||(kt=!0,Dt.pause()))}),Dt)this[Pt]===void 0&&typeof Dt[Pt]=="function"&&(this[Pt]=function(Ht){return function(){return Dt[Ht].apply(Dt,arguments)}}(Pt));for(var Kt=0;Kt-1))throw new yt(bt);return this._writableState.defaultEncoding=bt,this},Object.defineProperty(mt.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(mt.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),mt.prototype._write=function(bt,Jt,Zt){Zt(new pt("_write()"))},mt.prototype._writev=null,mt.prototype.end=function(bt,Jt,Zt){var Vt=this._writableState;return typeof bt=="function"?(Zt=bt,bt=null,Jt=null):typeof Jt=="function"&&(Zt=Jt,Jt=null),bt!=null&&this.write(bt,Jt),Vt.corked&&(Vt.corked=1,this.uncork()),Vt.ending||function(jt,zt,$t){zt.ending=!0,Wt(jt,zt),$t&&(zt.finished?$.nextTick($t):jt.once("finish",$t)),zt.ended=!0,jt.writable=!1}(this,Vt,Zt),this},Object.defineProperty(mt.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(mt.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(bt){this._writableState&&(this._writableState.destroyed=bt)}}),mt.prototype.destroy=dt.destroy,mt.prototype._undestroy=dt.undestroy,mt.prototype._destroy=function(bt,Jt){Jt(bt)}}).call(this,_(6),_(2))},function(o,s,_){o.exports=ot;var j=_(24).codes,$=j.ERR_METHOD_NOT_IMPLEMENTED,_e=j.ERR_MULTIPLE_CALLBACK,et=j.ERR_TRANSFORM_ALREADY_TRANSFORMING,tt=j.ERR_TRANSFORM_WITH_LENGTH_0,nt=_(25);function rt(Ut,st){var ct=this._transformState;ct.transforming=!1;var pt=ct.writecb;if(pt===null)return this.emit("error",new _e);ct.writechunk=null,ct.writecb=null,st!=null&&this.push(st),pt(Ut);var Bt=this._readableState;Bt.reading=!1,(Bt.needReadable||Bt.lengthut._pos){var st=Ut.substr(ut._pos);if(ut._charset==="x-user-defined"){for(var ct=new $(st.length),pt=0;ptut._pos&&(ut.push(new $(new Uint8Array(Bt.result.slice(ut._pos)))),ut._pos=Bt.result.byteLength)},Bt.onload=function(){ut.push(null)},Bt.readAsArrayBuffer(Ut)}ut._xhr.readyState===rt.DONE&&ut._mode!=="ms-stream"&&ut.push(null)}}).call(this,_(2),_(5).Buffer,_(6))},function(o,s,_){var j=_(199),$=_(201);function _e(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}s.parse=gt,s.resolve=function(ft,Ft){return gt(ft,!1,!0).resolve(Ft)},s.resolveObject=function(ft,Ft){return ft?gt(ft,!1,!0).resolveObject(Ft):Ft},s.format=function(ft){return $.isString(ft)&&(ft=gt(ft)),ft instanceof _e?ft.format():_e.prototype.format.call(ft)},s.Url=_e;var et=/^([a-z0-9.+-]+:)/i,tt=/:[0-9]*$/,nt=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,rt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),ot=["'"].concat(rt),ut=["%","/","?",";","#"].concat(ot),dt=["/","?","#"],Ut=/^[+a-z0-9A-Z_-]{0,63}$/,st=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,ct={javascript:!0,"javascript:":!0},pt={javascript:!0,"javascript:":!0},Bt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Qt=_(202);function gt(ft,Ft,yt){if(ft&&$.isObject(ft)&&ft instanceof _e)return ft;var Ct=new _e;return Ct.parse(ft,Ft,yt),Ct}_e.prototype.parse=function(ft,Ft,yt){if(!$.isString(ft))throw new TypeError("Parameter 'url' must be a string, not "+typeof ft);var Ct=ft.indexOf("?"),xt=Ct!==-1&&Ct127?nn+="x":nn+=$t[rn];if(!nn.match(Ut)){var wt=jt.slice(0,Jt),Et=jt.slice(Jt+1),kt=$t.match(st);kt&&(wt.push(kt[1]),Et.unshift(kt[2])),Et.length&&(mt="/"+Et.join(".")+mt),this.hostname=wt.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),Vt||(this.hostname=j.toASCII(this.hostname));var Pt=this.port?":"+this.port:"",Kt=this.hostname||"";this.host=Kt+Pt,this.href+=this.host,Vt&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),mt[0]!=="/"&&(mt="/"+mt))}if(!ct[Tt])for(Jt=0,zt=ot.length;Jt0)&&yt.host.split("@"))&&(yt.auth=kt.shift(),yt.host=yt.hostname=kt.shift())),yt.search=ft.search,yt.query=ft.query,$.isNull(yt.pathname)&&$.isNull(yt.search)||(yt.path=(yt.pathname?yt.pathname:"")+(yt.search?yt.search:"")),yt.href=yt.format(),yt;if(!$t.length)return yt.pathname=null,yt.search?yt.path="/"+yt.search:yt.path=null,yt.href=yt.format(),yt;for(var rn=$t.slice(-1)[0],Dt=(yt.host||ft.host||$t.length>1)&&(rn==="."||rn==="..")||rn==="",wt=0,Et=$t.length;Et>=0;Et--)(rn=$t[Et])==="."?$t.splice(Et,1):rn===".."?($t.splice(Et,1),wt++):wt&&($t.splice(Et,1),wt--);if(!jt&&!zt)for(;wt--;wt)$t.unshift("..");!jt||$t[0]===""||$t[0]&&$t[0].charAt(0)==="/"||$t.unshift(""),Dt&&$t.join("/").substr(-1)!=="/"&&$t.push("");var kt,Pt=$t[0]===""||$t[0]&&$t[0].charAt(0)==="/";return nn&&(yt.hostname=yt.host=Pt?"":$t.length?$t.shift():"",(kt=!!(yt.host&&yt.host.indexOf("@")>0)&&yt.host.split("@"))&&(yt.auth=kt.shift(),yt.host=yt.hostname=kt.shift())),(jt=jt||yt.host&&$t.length)&&!Pt&&$t.unshift(""),$t.length?yt.pathname=$t.join("/"):(yt.pathname=null,yt.path=null),$.isNull(yt.pathname)&&$.isNull(yt.search)||(yt.path=(yt.pathname?yt.pathname:"")+(yt.search?yt.search:"")),yt.auth=ft.auth||yt.auth,yt.slashes=yt.slashes||ft.slashes,yt.href=yt.format(),yt},_e.prototype.parseHost=function(){var ft=this.host,Ft=tt.exec(ft);Ft&&((Ft=Ft[0])!==":"&&(this.port=Ft.substr(1)),ft=ft.substr(0,ft.length-Ft.length)),ft&&(this.hostname=ft)}},function(o,s,_){const j=$=>$!==null&&typeof $=="object"&&typeof $.pipe=="function";j.writable=$=>j($)&&$.writable!==!1&&typeof $._write=="function"&&typeof $._writableState=="object",j.readable=$=>j($)&&$.readable!==!1&&typeof $._read=="function"&&typeof $._readableState=="object",j.duplex=$=>j.writable($)&&j.readable($),j.transform=$=>j.duplex($)&&typeof $._transform=="function"&&typeof $._transformState=="object",o.exports=j},function(o,s,_){function j(Bt){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Qt){return typeof Qt}:function(Qt){return Qt&&typeof Symbol=="function"&&Qt.constructor===Symbol&&Qt!==Symbol.prototype?"symbol":typeof Qt})(Bt)}function $(Bt,Qt){for(var gt=0;gt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var gt,ft=ut(Bt);if(Qt){var Ft=ut(this).constructor;gt=Reflect.construct(ft,arguments,Ft)}else gt=ft.apply(this,arguments);return ot(this,gt)}}function ot(Bt,Qt){if(Qt&&(j(Qt)==="object"||typeof Qt=="function"))return Qt;if(Qt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(gt){if(gt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return gt}(Bt)}function ut(Bt){return(ut=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Qt){return Qt.__proto__||Object.getPrototypeOf(Qt)})(Bt)}var dt=_(4).LEVEL,Ut=_(49),st=_(207),ct=_(39)("winston:create-logger");function pt(Bt){return"is"+Bt.charAt(0).toUpperCase()+Bt.slice(1)+"Enabled"}o.exports=function(){var Bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bt.levels=Bt.levels||Ut.npm.levels;var Qt=function(ft){tt(yt,ft);var Ft=rt(yt);function yt(Ct){return et(this,yt),Ft.call(this,Ct)}return _e(yt)}(st),gt=new Qt(Bt);return Object.keys(Bt.levels).forEach(function(ft){ct('Define prototype method for "%s"',ft),ft!=="log"?(Qt.prototype[ft]=function(){for(var Ft=this||gt,yt=arguments.length,Ct=new Array(yt),xt=0;xt0){tt=rt.substr(0,Ut),nt=rt.substr(Ut+1);var st=tt.indexOf(".Module");st>0&&(rt=rt.substr(st+1),tt=tt.substr(0,st))}ot=null}nt&&(ot=tt,ut=nt),nt===""&&(ut=null,rt=null);var ct={fileName:et[2]||null,lineNumber:parseInt(et[3],10)||null,functionName:rt,typeName:ot,methodName:ut,columnNumber:parseInt(et[4],10)||null,native:dt};return $._createParsedCallSite(ct)}}).filter(function(_e){return!!_e})},["this","typeName","functionName","methodName","fileName","lineNumber","columnNumber","function","evalOrigin"].forEach(function(j){_.prototype[j]=null,_.prototype["get"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),["topLevel","eval","native","constructor"].forEach(function(j){_.prototype[j]=!1,_.prototype["is"+j[0].toUpperCase()+j.substr(1)]=function(){return this[j]}}),s._createParsedCallSite=function(j){return new _(j)}},function(o,s,_){function j(ot){return(j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ut){return typeof ut}:function(ut){return ut&&typeof Symbol=="function"&&ut.constructor===Symbol&&ut!==Symbol.prototype?"symbol":typeof ut})(ot)}function $(ot,ut){for(var dt=0;dt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var dt,Ut=nt(ot);if(ut){var st=nt(this).constructor;dt=Reflect.construct(Ut,arguments,st)}else dt=Ut.apply(this,arguments);return tt(this,dt)}}function tt(ot,ut){if(ut&&(j(ut)==="object"||typeof ut=="function"))return ut;if(ut!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(dt){if(dt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return dt}(ot)}function nt(ot){return(nt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ut){return ut.__proto__||Object.getPrototypeOf(ut)})(ot)}var rt=_(33).Writable;o.exports=function(ot){(function(ct,pt){if(typeof pt!="function"&&pt!==null)throw new TypeError("Super expression must either be null or a function");ct.prototype=Object.create(pt&&pt.prototype,{constructor:{value:ct,writable:!0,configurable:!0}}),Object.defineProperty(ct,"prototype",{writable:!1}),pt&&_e(ct,pt)})(st,ot);var ut,dt,Ut=et(st);function st(ct){var pt;if(function(Bt,Qt){if(!(Bt instanceof Qt))throw new TypeError("Cannot call a class as a function")}(this,st),pt=Ut.call(this,{objectMode:!0}),!ct)throw new Error("ExceptionStream requires a TransportStream instance.");return pt.handleExceptions=!0,pt.transport=ct,pt}return ut=st,(dt=[{key:"_write",value:function(ct,pt,Bt){return ct.exception?this.transport.log(ct,Bt):(Bt(),!0)}}])&&$(ut.prototype,dt),Object.defineProperty(ut,"prototype",{writable:!1}),st}(rt)},function(o,s,_){(function(j){function $(ut,dt){for(var Ut=0;Ut0&&tt.writeString(1,nt)},proto.google.protobuf.StringValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function(et){return j.Message.setProto3StringField(this,1,et)},j.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function(et){return proto.google.protobuf.BytesValue.toObject(et,this)},proto.google.protobuf.BytesValue.toObject=function(et,tt){var nt={value:tt.getValue_asB64()};return et&&(nt.$jspbMessageInstance=tt),nt}),proto.google.protobuf.BytesValue.deserializeBinary=function(et){var tt=new j.BinaryReader(et),nt=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(nt,tt)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function(et,tt){for(;tt.nextField()&&!tt.isEndGroup();)switch(tt.getFieldNumber()){case 1:var nt=tt.readBytes();et.setValue(nt);break;default:tt.skipField()}return et},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var et=new j.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,et),et.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function(et,tt){var nt;(nt=et.getValue_asU8()).length>0&&tt.writeBytes(1,nt)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return j.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return j.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return j.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function(et){return j.Message.setProto3BytesField(this,1,et)},$.object.extend(s,proto.google.protobuf)},function(module,exports,__webpack_require__){(function(global,Buffer){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,s,_){o instanceof String&&(o=String(o));for(var j=o.length,$=0;$=$}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(o){return o||function(s,_){return $jscomp.findInternal(this,s,_).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(o){return o||function(s,_){var j=$jscomp.checkStringArgs(this,s,"startsWith");s+="";var $=j.length,_e=s.length;_=Math.max(0,Math.min(0|_,j.length));for(var et=0;et<_e&&_<$;)if(j[_++]!=s[et++])return!1;return et>=_e}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(o){return o||function(s){var _=$jscomp.checkStringArgs(this,null,"repeat");if(0>s||1342177279>>=1)&&(_+=_);return j}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(o){return o!==void 0},goog.isString=function(o){return typeof o=="string"},goog.isBoolean=function(o){return typeof o=="boolean"},goog.isNumber=function(o){return typeof o=="number"},goog.exportPath_=function(o,s,_){o=o.split("."),_=_||goog.global,o[0]in _||_.execScript===void 0||_.execScript("var "+o[0]);for(var j;o.length&&(j=o.shift());)!o.length&&goog.isDef(s)?_[j]=s:_=_[j]&&_[j]!==Object.prototype[j]?_[j]:_[j]={}},goog.define=function(o,s){return s},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,s){goog.exportPath_(o,s)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(!goog.isString(o)||!o||o.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(o){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return!!o&&typeof o.getCurrentModulePath=="function"&&!!o.getCurrentModulePath()},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var s=goog.global.$jscomp;if(!s||typeof s.getCurrentModulePath!="function")throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');s=s.require(s.getCurrentModulePath()),goog.loadedModules_[o]={exports:s,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(o){},goog.getObjectByName=function(o,s){o=o.split("."),s=s||goog.global;for(var _=0;_>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var s=goog.typeOf(o);if(s=="object"||s=="array"){if(typeof o.clone=="function")return o.clone();for(var _ in s=s=="array"?[]:{},o)s[_]=goog.cloneObject(o[_]);return s}return o},goog.bindNative_=function(o,s,_){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,s,_){if(!o)throw Error();if(2"u"||!TrustedTypes.createPolicy)return s;try{s=TrustedTypes.createPolicy(o,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(_){goog.logToConsole_(_.message)}return s},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null;var jspb={BinaryConstants:{},ConstBinaryMessage:function(){},BinaryMessage:function(){}};jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31},jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5},jspb.BinaryConstants.FieldTypeToWireType=function(o){var s=jspb.BinaryConstants.FieldType,_=jspb.BinaryConstants.WireType;switch(o){case s.INT32:case s.INT64:case s.UINT32:case s.UINT64:case s.SINT32:case s.SINT64:case s.BOOL:case s.ENUM:case s.VHASH64:return _.VARINT;case s.DOUBLE:case s.FIXED64:case s.SFIXED64:case s.FHASH64:return _.FIXED64;case s.STRING:case s.MESSAGE:case s.BYTES:return _.DELIMITED;case s.FLOAT:case s.FIXED32:case s.SFIXED32:return _.FIXED32;default:return _.INVALID}},jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1,jspb.BinaryConstants.FLOAT32_EPS=1401298464324817e-60,jspb.BinaryConstants.FLOAT32_MIN=11754943508222875e-54,jspb.BinaryConstants.FLOAT32_MAX=34028234663852886e22,jspb.BinaryConstants.FLOAT64_EPS=5e-324,jspb.BinaryConstants.FLOAT64_MIN=22250738585072014e-324,jspb.BinaryConstants.FLOAT64_MAX=17976931348623157e292,jspb.BinaryConstants.TWO_TO_20=1048576,jspb.BinaryConstants.TWO_TO_23=8388608,jspb.BinaryConstants.TWO_TO_31=2147483648,jspb.BinaryConstants.TWO_TO_32=4294967296,jspb.BinaryConstants.TWO_TO_52=4503599627370496,jspb.BinaryConstants.TWO_TO_63=9223372036854776e3,jspb.BinaryConstants.TWO_TO_64=18446744073709552e3,jspb.BinaryConstants.ZERO_HASH="\0\0\0\0\0\0\0\0",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.debug={},goog.debug.Error=function(o){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var s=Error().stack;s&&(this.stack=s)}o&&(this.message=String(o)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(o,s){goog.debug.Error.call(this,goog.asserts.subs_(o,s)),this.messagePattern=o},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(o){throw o},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(o,s){for(var _="",j=(o=o.split("%s")).length-1,$=0;$_?Math.max(0,o.length+_):_,goog.isString(o))return goog.isString(s)&&s.length==1?o.indexOf(s,_):-1;for(;_(_=_??o.length-1)&&(_=Math.max(0,o.length+_)),goog.isString(o))return goog.isString(s)&&s.length==1?o.lastIndexOf(s,_):-1;for(;0<=_;_--)if(_ in o&&o[_]===s)return _;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,s,_){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,s,_)}:function(o,s,_){for(var j=o.length,$=goog.isString(o)?o.split(""):o,_e=0;_e(s=goog.array.findIndex(o,s,_))?null:goog.isString(o)?o.charAt(s):o[s]},goog.array.findIndex=function(o,s,_){for(var j=o.length,$=goog.isString(o)?o.split(""):o,_e=0;_e(s=goog.array.findIndexRight(o,s,_))?null:goog.isString(o)?o.charAt(s):o[s]},goog.array.findIndexRight=function(o,s,_){var j=o.length,$=goog.isString(o)?o.split(""):o;for(--j;0<=j;j--)if(j in $&&s.call(_,$[j],j,o))return j;return-1},goog.array.contains=function(o,s){return 0<=goog.array.indexOf(o,s)},goog.array.isEmpty=function(o){return o.length==0},goog.array.clear=function(o){if(!goog.isArray(o))for(var s=o.length-1;0<=s;s--)delete o[s];o.length=0},goog.array.insert=function(o,s){goog.array.contains(o,s)||o.push(s)},goog.array.insertAt=function(o,s,_){goog.array.splice(o,_,0,s)},goog.array.insertArrayAt=function(o,s,_){goog.partial(goog.array.splice,o,_,0).apply(null,s)},goog.array.insertBefore=function(o,s,_){var j;arguments.length==2||0>(j=goog.array.indexOf(o,_))?o.push(s):goog.array.insertAt(o,s,j)},goog.array.remove=function(o,s){var _;return(_=0<=(s=goog.array.indexOf(o,s)))&&goog.array.removeAt(o,s),_},goog.array.removeLast=function(o,s){return 0<=(s=goog.array.lastIndexOf(o,s))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAt=function(o,s){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,s,1).length==1},goog.array.removeIf=function(o,s,_){return 0<=(s=goog.array.findIndex(o,s,_))&&(goog.array.removeAt(o,s),!0)},goog.array.removeAllIf=function(o,s,_){var j=0;return goog.array.forEachRight(o,function($,_e){s.call(_,$,_e,o)&&goog.array.removeAt(o,_e)&&j++}),j},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var s=o.length;if(0=arguments.length?Array.prototype.slice.call(o,s):Array.prototype.slice.call(o,s,_)},goog.array.removeDuplicates=function(o,s,_){s=s||o;var j=function(nt){return goog.isObject(nt)?"o"+goog.getUid(nt):(typeof nt).charAt(0)+nt};_=_||j,j={};for(var $=0,_e=0;_e>1,rt=_?s.call($,o[nt],nt,o):s(j,o[nt]);0s?1:o(_=goog.array.binarySearch(o,s,_))&&(goog.array.insertAt(o,s,-(_+1)),!0)},goog.array.binaryRemove=function(o,s,_){return 0<=(s=goog.array.binarySearch(o,s,_))&&goog.array.removeAt(o,s)},goog.array.bucket=function(o,s,_){for(var j={},$=0;$(_=_||1)*(_e-$))return[];if(0<_)for(o=$;o<_e;o+=_)j.push(o);else for(o=$;o>_e;o+=_)j.push(o);return j},goog.array.repeat=function(o,s){for(var _=[],j=0;js&&Array.prototype.push.apply(o,o.splice(0,-s))),o},goog.array.moveItem=function(o,s,_){goog.asserts.assert(0<=s&&s>=8),s[_++]=$}return s},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var s="",_=0;_$?s[_++]=$:(2048>$?s[_++]=$>>6|192:((64512&$)==55296&&j+1>18|240,s[_++]=$>>12&63|128):s[_++]=$>>12|224,s[_++]=$>>6&63|128),s[_++]=63&$|128)}return s},goog.crypt.utf8ByteArrayToString=function(o){for(var s=[],_=0,j=0;_$)s[j++]=String.fromCharCode($);else if(191<$&&224>$){var _e=o[_++];s[j++]=String.fromCharCode((31&$)<<6|63&_e)}else if(239<$&&365>$){_e=o[_++];var et=o[_++];$=((7&$)<<18|(63&_e)<<12|(63&et)<<6|63&o[_++])-65536,s[j++]=String.fromCharCode(55296+($>>10)),s[j++]=String.fromCharCode(56320+(1023&$))}else _e=o[_++],et=o[_++],s[j++]=String.fromCharCode((15&$)<<12|(63&_e)<<6|63&et)}return s.join("")},goog.crypt.xorByteArray=function(o,s){goog.asserts.assert(o.length==s.length,"XOR array lengths must match");for(var _=[],j=0;j":"
")},goog.string.internal.htmlEscape=function(o,s){if(s)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"<")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,">")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,s){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.internal.contains=function(o,s){return o.indexOf(s)!=-1},goog.string.internal.caseInsensitiveContains=function(o,s){return goog.string.internal.contains(o.toLowerCase(),s.toLowerCase())},goog.string.internal.compareVersions=function(o,s){var _=0;o=goog.string.internal.trim(String(o)).split("."),s=goog.string.internal.trim(String(s)).split(".");for(var j=Math.max(o.length,s.length),$=0;_==0&&$s?1:0},goog.string.TypedString=function(){},goog.string.Const=function(o,s){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(o){return goog.fs.url.getUrlObject_().createObjectURL(o)},goog.fs.url.revokeObjectUrl=function(o){goog.fs.url.getUrlObject_().revokeObjectURL(o)},goog.fs.url.getUrlObject_=function(){var o=goog.fs.url.findUrlObject_();if(o!=null)return o;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return goog.fs.url.findUrlObject_()!=null},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||(goog.LOCALE.substring(0,2).toLowerCase()=="ar"||goog.LOCALE.substring(0,2).toLowerCase()=="fa"||goog.LOCALE.substring(0,2).toLowerCase()=="he"||goog.LOCALE.substring(0,2).toLowerCase()=="iw"||goog.LOCALE.substring(0,2).toLowerCase()=="ps"||goog.LOCALE.substring(0,2).toLowerCase()=="sd"||goog.LOCALE.substring(0,2).toLowerCase()=="ug"||goog.LOCALE.substring(0,2).toLowerCase()=="ur"||goog.LOCALE.substring(0,2).toLowerCase()=="yi")&&(goog.LOCALE.length==2||goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")||3<=goog.LOCALE.length&&goog.LOCALE.substring(0,3).toLowerCase()=="ckb"&&(goog.LOCALE.length==3||goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")||7<=goog.LOCALE.length&&(goog.LOCALE.substring(2,3)=="-"||goog.LOCALE.substring(2,3)=="_")&&(goog.LOCALE.substring(3,7).toLowerCase()=="adlm"||goog.LOCALE.substring(3,7).toLowerCase()=="arab"||goog.LOCALE.substring(3,7).toLowerCase()=="hebr"||goog.LOCALE.substring(3,7).toLowerCase()=="nkoo"||goog.LOCALE.substring(3,7).toLowerCase()=="rohg"||goog.LOCALE.substring(3,7).toLowerCase()=="thaa")||8<=goog.LOCALE.length&&(goog.LOCALE.substring(3,4)=="-"||goog.LOCALE.substring(3,4)=="_")&&(goog.LOCALE.substring(4,8).toLowerCase()=="adlm"||goog.LOCALE.substring(4,8).toLowerCase()=="arab"||goog.LOCALE.substring(4,8).toLowerCase()=="hebr"||goog.LOCALE.substring(4,8).toLowerCase()=="nkoo"||goog.LOCALE.substring(4,8).toLowerCase()=="rohg"||goog.LOCALE.substring(4,8).toLowerCase()=="thaa"),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(o,s){return typeof o=="number"?0o?goog.i18n.bidi.Dir.RTL:s?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,s){return s?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,s){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,s){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,s){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,s){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,s){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,s){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,s){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,s){return s=(s===void 0?goog.i18n.bidi.hasAnyRtl(o):s)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,s+"$&"+s)},goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):` +`+o+""},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):` +`+o+""},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,s){var _=0,j=0,$=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s).split(goog.i18n.bidi.wordSeparatorRe_),s=0;sgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,s){return goog.i18n.bidi.estimateDirection(o,s)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,s){o&&(s=goog.i18n.bidi.toDir(s))&&(o.style.textAlign=s==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=s==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,s){switch(goog.i18n.bidi.estimateDirection(s)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,s){var _=goog.html.TrustedResourceUrl.unwrap(this),j=(_=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(_))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(_[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",_[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",j,s))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(o){return o.trustedURL_?o.trustedURL_:goog.html.TrustedResourceUrl.unwrap(o)},goog.html.TrustedResourceUrl.format=function(o,s){var _=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(_))throw Error("Invalid TrustedResourceUrl format: "+_);return o=_.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(j,$){if(!Object.prototype.hasOwnProperty.call(s,$))throw Error('Found marker, "'+$+'", in format string, "'+_+'", but no valid label mapping found in args: '+JSON.stringify(s));return(j=s[$])instanceof goog.string.Const?goog.string.Const.unwrap(j):encodeURIComponent(String(j))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,s,_,j){return goog.html.TrustedResourceUrl.format(o,s).cloneWithParams(_,j)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var s="",_=0;_o.length?"&":"")+encodeURIComponent(j)+"="+encodeURIComponent(String(et)))}}return s},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return goog.html.SafeUrl.unwrapTrustedURL(o).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SAFE_MIME_TYPE_PATTERN_.test(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){var s=(o=o.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return s=s&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(s[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var s=o.indexOf("#");if(0+~[\]()=^$|]+$/.test(_))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(_))throw Error("() and [] in selector must be balanced, got: "+o);return s instanceof goog.html.SafeStyle||(s=goog.html.SafeStyle.create(s)),o=o+"{"+goog.html.SafeStyle.unwrap(s).replace(/.");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+o+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(o,s,_,j){o&&goog.html.TrustedResourceUrl.unwrap(o);var $={};return $.src=o||null,$.srcdoc=s&&goog.html.SafeHtml.unwrap(s),o=goog.html.SafeHtml.combineAttributes($,{sandbox:""},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.createSandboxIframe=function(o,s,_,j){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var $={};return $.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,$.srcdoc=s||null,$.sandbox="",o=goog.html.SafeHtml.combineAttributes($,{},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,s){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},s),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,s){for(var _ in s){var j=_.toLowerCase();if(j=="language"||j=="src"||j=="text"||j=="type")throw Error('Cannot set "'+j+'" attribute')}for(_="",o=goog.array.concat(o),j=0;j does not allow content."),$+=">"):(j=goog.html.SafeHtml.concat(_),$+=">"+goog.html.SafeHtml.unwrap(j)+"",j=j.getDirection()),(o=s&&s.dir)&&(j=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse($,j)},goog.html.SafeHtml.stringifyAttributes=function(o,s){var _="";if(s)for(var j in s){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(j))throw Error('Invalid attribute name "'+j+'".');var $=s[j];goog.isDefAndNotNull($)&&(_+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,j,$))}return _},goog.html.SafeHtml.combineAttributes=function(o,s,_){var j,$={};for(j in o)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=o[j];for(j in s)goog.asserts.assert(j.toLowerCase()==j,"Must be lower case"),$[j]=s[j];for(j in _){var _e=j.toLowerCase();if(_e in o)throw Error('Cannot override "'+_e+'" attribute, got "'+j+'" with value "'+_[j]+'"');_e in s&&delete $[_e],$[j]=_[j]}return $},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,s,_){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s,_||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(s)},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(o){if(goog.asserts.ENABLE_ASSERTS){var s=goog.dom.asserts.getWindow_(o);s&&(!o||!(o instanceof s.Location)&&o instanceof s.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(o))}return o},goog.dom.asserts.assertIsElementType_=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=goog.dom.asserts.getWindow_(o);_&&_[s]!==void 0&&(o&&(o instanceof _[s]||!(o instanceof _.Location||o instanceof _.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",s,goog.dom.asserts.debugStringForType_(o)))}return o},goog.dom.asserts.assertIsHTMLAnchorElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(o){return goog.dom.asserts.assertIsElementType_(o,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(o){if(!goog.isObject(o))return o===void 0?"undefined":o===null?"null":typeof o;try{return o.constructor.displayName||o.constructor.name||Object.prototype.toString.call(o)}catch{return""}},goog.dom.asserts.getWindow_=function(o){try{var s=o&&o.ownerDocument,_=s&&(s.defaultView||s.parentWindow);if((_=_||goog.global).Element&&_.Location)return _}catch{}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o,s){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,s){return s=s||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,s))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,s){var _=Array.prototype.slice.call(arguments,1);return function(){var j=Array.prototype.slice.call(arguments);return j.push.apply(j,_),o.apply(this,j)}},goog.functions.withReturnValue=function(o,s){return goog.functions.sequence(o,goog.functions.constant(s))},goog.functions.equalTo=function(o,s){return function(_){return s?o==_:o===_}},goog.functions.compose=function(o,s){var _=arguments,j=_.length;return function(){var $;j&&($=_[j-1].apply(this,arguments));for(var _e=j-2;0<=_e;_e--)$=_[_e].call(this,$);return $}},goog.functions.sequence=function(o){var s=arguments,_=s.length;return function(){for(var j,$=0;$<_;$++)j=s[$].apply(this,arguments);return j}},goog.functions.and=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(!s[j].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(s[j].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,s){var _=function(){};return _.prototype=o.prototype,_=new _,o.apply(_,Array.prototype.slice.call(arguments,1)),_},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var s,_=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(_||(s=o(),_=!0),s):o()}},goog.functions.once=function(o){var s=o;return function(){if(s){var _=s;s=null,_()}}},goog.functions.debounce=function(o,s,_){var j=0;return function($){goog.global.clearTimeout(j);var _e=arguments;j=goog.global.setTimeout(function(){o.apply(_,_e)},s)}},goog.functions.throttle=function(o,s,_){var j=0,$=!1,_e=[],et=function(){j=0,$&&($=!1,tt())},tt=function(){j=goog.global.setTimeout(et,s),o.apply(_,_e)};return function(nt){_e=arguments,j?$=!0:tt()}},goog.functions.rateLimit=function(o,s,_){var j=0,$=function(){j=0};return function(_e){j||(j=goog.global.setTimeout($,s),o.apply(_,arguments))}},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,s,_){o.insertAdjacentHTML(s,goog.html.SafeHtml.unwrapTrustedHTML(_))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),s=document.createElement("div");return s.appendChild(document.createElement("div")),o.appendChild(s),!(goog.DEBUG&&!o.firstChild)&&(s=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!s.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,s){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setInnerHtml=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[_])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,s)},goog.dom.safe.setOuterHtml=function(o,s){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setFormElementAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setButtonFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setInputFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setStyle=function(o,s){o.style.cssText=goog.html.SafeStyle.unwrap(s)},goog.dom.safe.documentWrite=function(o,s){o.write(goog.html.SafeHtml.unwrapTrustedHTML(s))},goog.dom.safe.setAnchorHref=function(o,s){goog.dom.asserts.assertIsHTMLAnchorElement(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setImageSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:image\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setAudioSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:audio\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setVideoSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:video\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.setEmbedSrc=function(o,s){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setFrameSrc=function(o,s){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)},goog.dom.safe.setIframeSrc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)},goog.dom.safe.setIframeSrcdoc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setLinkHrefAndRel=function(o,s,_){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=_,goog.string.internal.caseInsensitiveContains(_,"stylesheet")?(goog.asserts.assert(s instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(s)):o.href=s instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(s):s instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(s):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(s))},goog.dom.safe.setObjectData=function(o,s){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setScriptSrc=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setScriptContent=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setLocationHref=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrapTrustedURL(s)},goog.dom.safe.assignLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.assign(goog.html.SafeUrl.unwrapTrustedURL(s))},goog.dom.safe.replaceLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.replace(goog.html.SafeUrl.unwrapTrustedURL(s))},goog.dom.safe.openInWindow=function(o,s,_,j,$){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),(s||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(o),_?goog.string.Const.unwrap(_):"",j,$)},goog.dom.safe.parseFromStringHtml=function(o,s){return goog.dom.safe.parseFromString(o,s,"text/html")},goog.dom.safe.parseFromString=function(o,s,_){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(s),_)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var s=goog.global.URL.createObjectURL(o);return(o=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(s)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),s)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,s){for(var _=o.split("%s"),j="",$=Array.prototype.slice.call(arguments,1);$.length&&1<_.length;)j+=_.shift()+$.shift();return j+_.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return o.length==0},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return o==" "},goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"€"<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,` +`)},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,s,_){if(o==s)return 0;if(!o)return-1;if(!s)return 1;for(var j=o.toLowerCase().match(_),$=s.toLowerCase().match(_),_e=Math.min(j.length,$.length),et=0;et<_e;et++){_=j[et];var tt=$[et];if(_!=tt)return o=parseInt(_,10),!isNaN(o)&&(s=parseInt(tt,10),!isNaN(s)&&o-s)?o-s:_",""":'"'},j=s?s.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function($,_e){var et=_[$];return et||(_e.charAt(0)=="#"&&(_e=+("0"+_e.substr(1)),isNaN(_e)||(et=String.fromCharCode(_e))),et||(goog.dom.safe.setInnerHtml(j,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),$+" ")),et=j.firstChild.nodeValue.slice(0,-1)),_[$]=et)})},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(s,_){switch(_){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return _.charAt(0)!="#"||(_=+("0"+_.substr(1)),isNaN(_))?s:String.fromCharCode(_)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,s){return goog.string.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,s){for(var _=s.length,j=0;j<_;j++){var $=_==1?s:s.charAt(j);if(o.charAt(0)==$&&o.charAt(o.length-1)==$)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,s,_){return _&&(o=goog.string.unescapeEntities(o)),o.length>s&&(o=o.substring(0,s-3)+"..."),_&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,s,_,j){if(_&&(o=goog.string.unescapeEntities(o)),j&&o.length>s){j>s&&(j=s);var $=o.length-j;o=o.substring(0,s-j)+"..."+o.substring($)}else o.length>s&&(j=Math.floor(s/2),$=o.length-j,o=o.substring(0,j+s%2)+"..."+o.substring($));return _&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var s=['"'],_=0;_$?j:goog.string.escapeChar(j))}return s.push('"'),s.join("")},goog.string.escapeString=function(o){for(var s=[],_=0;_s)var _=o;else 256>s?(_="\\x",(16>s||256s&&(_+="0")),_+=s.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=_},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,s){return o&&s?o.split(s).length-1:0},goog.string.removeAt=function(o,s,_){var j=o;return 0<=s&&s>>0;return s},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var s=Number(o);return s==0&&goog.string.isEmptyOrWhitespace(o)?NaN:s},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(s,_){return _.toUpperCase()})},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,s){return s=goog.isString(s)?goog.string.regExpEscape(s):"\\s",o.replace(new RegExp("(^"+(s?"|["+s+"]+":"")+")([a-z])","g"),function(_,j,$){return j+$.toUpperCase()})},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),goog.isString(o)?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,s,_){o=o.split(s);for(var j=[];0<_&&o.length;)j.push(o.shift()),_--;return o.length&&j.push(o.join(s)),j},goog.string.lastComponent=function(o,s){if(!s)return o;typeof s=="string"&&(s=[s]);for(var _=-1,j=0;j_&&(_=$)}return _==-1?o:o.slice(_+1)},goog.string.editDistance=function(o,s){var _=[],j=[];if(o==s)return 0;if(!o.length||!s.length)return Math.max(o.length,s.length);for(var $=0;$parseFloat(o)?String(s):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(o):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(o):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(o):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(o):void 0},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,s){return goog.string.compareVersions(o,s)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(o,s){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),s===void 0&&(s=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),s=goog.crypt.base64.byteToCharMaps_[s];for(var _=[],j=0;j>2;$=(3&$)<<4|et>>4,et=(15&et)<<2|nt>>6,nt&=63,tt||(nt=64,_e||(et=64)),_.push(s[rt],s[$],s[et]||"",s[nt]||"")}return _.join("")},goog.crypt.base64.encodeString=function(o,s){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!s?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),s)},goog.crypt.base64.decodeString=function(o,s){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!s)return goog.global.atob(o);var _="";return goog.crypt.base64.decodeStringInternal_(o,function(j){_+=String.fromCharCode(j)}),_},goog.crypt.base64.decodeStringToByteArray=function(o,s){var _=[];return goog.crypt.base64.decodeStringInternal_(o,function(j){_.push(j)}),_},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var s=o.length,_=3*s/4;_%3?_=Math.floor(_):goog.crypt.base64.isPadding_(o[s-1])&&(_=goog.crypt.base64.isPadding_(o[s-2])?_-2:_-1);var j=new Uint8Array(_),$=0;return goog.crypt.base64.decodeStringInternal_(o,function(_e){j[$++]=_e}),j.subarray(0,$)},goog.crypt.base64.decodeStringInternal_=function(o,s){function _(nt){for(;j>4),et!=64&&(s(_e<<4&240|et>>2),tt!=64&&s(et<<6&192|tt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),s=["+/=","+/","-_=","-_.","-_"],_=0;5>_;_++){var j=o.concat(s[_].split(""));goog.crypt.base64.byteToCharMaps_[_]=j;for(var $=0;$>>0;o=Math.floor((o-s)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=s,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var s=0>o,_=(o=Math.abs(o))>>>0;o=Math.floor((o-_)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,s&&(o=~o>>>0,4294967295<(_=1+(~_>>>0))&&(_=0,4294967295<++o&&(o=0))),jspb.utils.split64Low=_,jspb.utils.split64High=o},jspb.utils.splitZigzag64=function(o){var s=0>o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;s&&(o==0?_==0?_=o=4294967295:(_--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=_},jspb.utils.splitFloat32=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|2139095040)>>>0;else if(o>>0;else{var _=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-_),o=8388607&Math.round(o*jspb.BinaryConstants.TWO_TO_23),jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|_+127<<23|o)>>>0}},jspb.utils.splitFloat64=function(o){var s=0>o?1:0;if((o=s?-o:o)===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(s<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o>>0,jspb.utils.split64Low=_>>>0}else{var j=0;if(2<=(_=o))for(;2<=_&&1023>j;)j++,_/=2;else for(;1>_&&-1022>>0,jspb.utils.split64High=(s<<31|j+1023<<20|o)>>>0,jspb.utils.split64Low=_}},jspb.utils.splitHash64=function(o){var s=o.charCodeAt(0),_=o.charCodeAt(1),j=o.charCodeAt(2),$=o.charCodeAt(3),_e=o.charCodeAt(4),et=o.charCodeAt(5),tt=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=s+(_<<8)+(j<<16)+($<<24)>>>0,jspb.utils.split64High=_e+(et<<8)+(tt<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,s){return s*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,s){var _=2147483648&s;return _&&(s=~s>>>0,(o=1+~o>>>0)==0&&(s=s+1>>>0)),o=jspb.utils.joinUint64(o,s),_?-o:o},jspb.utils.toZigzag64=function(o,s,_){var j=s>>31;return _(o<<1^j,(s<<1|o>>>31)^j)},jspb.utils.joinZigzag64=function(o,s){return jspb.utils.fromZigzag64(o,s,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,s,_){var j=-(1&o);return _((o>>>1|s<<31)^j,s>>>1^j)},jspb.utils.joinFloat32=function(o,s){s=2*(o>>31)+1;var _=o>>>23&255;return o&=8388607,_==255?o?NaN:1/0*s:_==0?s*Math.pow(2,-149)*o:s*Math.pow(2,_-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,s){var _=2*(s>>31)+1,j=s>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(1048575&s)+o,j==2047?o?NaN:1/0*_:j==0?_*Math.pow(2,-1074)*o:_*Math.pow(2,j-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,s){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,s>>>0&255,s>>>8&255,s>>>16&255,s>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,s){function _($,_e){return $=$?String($):"",_e?"0000000".slice($.length)+$:$}if(2097151>=s)return""+(jspb.BinaryConstants.TWO_TO_32*s+o);var j=(o>>>24|s<<8)>>>0&16777215;return o=(16777215&o)+6777216*j+6710656*(s=s>>16&65535),j+=8147497*s,s*=2,1e7<=o&&(j+=Math.floor(o/1e7),o%=1e7),1e7<=j&&(s+=Math.floor(j/1e7),j%=1e7),_(s,0)+_(j,s)+_(o,1)},jspb.utils.joinSignedDecimalString=function(o,s){var _=2147483648&s;return _&&(s=~s+((o=1+~o>>>0)==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,s),_?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinSignedDecimalString(o,_):jspb.utils.joinUnsignedDecimalString(o,_)},jspb.utils.hash64ArrayToDecimalStrings=function(o,s){for(var _=Array(o.length),j=0;jtt&&(_e!==1||0>>=8}goog.asserts.assert(0_e;_e++)j[_e]=255&~j[_e]}(),s(1,1)),goog.crypt.byteArrayToString(j)},jspb.utils.splitDecimalString=function(o){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(o))},jspb.utils.toHexDigit_=function(o){return String.fromCharCode(10>o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var s=Array(18);s[0]="0",s[1]="x";for(var _=0;8>_;_++){var j=o.charCodeAt(7-_);s[2*_+2]=jspb.utils.toHexDigit_(j>>4),s[2*_+3]=jspb.utils.toHexDigit_(15&j)}return s.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),goog.asserts.assert(o.length==18),goog.asserts.assert(o[0]=="0"),goog.asserts.assert(o[1]=="x");for(var s="",_=0;8>_;_++){var j=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+2)),$=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+3));s=String.fromCharCode(16*j+$)+s}return s},jspb.utils.hash64ToNumber=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinInt64(o,_):jspb.utils.joinUint64(o,_)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,s,_){for(var j=0,$=s;$<_;$++)j+=o[$]>>7;return _-s-j},jspb.utils.countVarintFields=function(o,s,_,j){var $=0;if(128>(j=8*j+jspb.BinaryConstants.WireType.VARINT))for(;s<_&&o[s++]==j;)for($++;;){var _e=o[s++];if(!(128&_e))break}else for(;s<_;){for(_e=j;128<_e;){if(o[s]!=(127&_e|128))return $;s++,_e>>=7}if(o[s++]!=_e)break;for($++;128&(_e=o[s++]););}return $},jspb.utils.countFixedFields_=function(o,s,_,j,$){var _e=0;if(128>j)for(;s<_&&o[s++]==j;)_e++,s+=$;else for(;s<_;){for(var et=j;128>=7}if(o[s++]!=et)break;_e++,s+=$}return _e},jspb.utils.countFixed32Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,s,_,j){var $=0;for(j=8*j+jspb.BinaryConstants.WireType.DELIMITED;s<_;){for(var _e=j;128<_e;){if(o[s++]!=(127&_e|128))return $;_e>>=7}if(o[s++]!=_e)break;$++;for(var et=0,tt=1;et+=(127&(_e=o[s++]))*tt,tt*=128,(128&_e)!=0;);s+=et}return $},jspb.utils.debugBytesToTextFormat=function(o){var s='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var _=0;_o[_]&&(s+="0"),s+=o[_].toString(16)}return s+'"'},jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var s=new Uint8Array(o.length),_=0;_jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,s,_){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=s!==void 0?s:0,this.end_=_!==void 0?this.start_+_:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var s=128,_=0,j=0,$=0;4>$&&128<=s;$++)_|=(127&(s=this.bytes_[this.cursor_++]))<<7*$;if(128<=s&&(_|=(127&(s=this.bytes_[this.cursor_++]))<<28,j|=(127&s)>>4),128<=s)for($=0;5>$&&128<=s;$++)j|=(127&(s=this.bytes_[this.cursor_++]))<<7*$+3;if(128>s)return o(_>>>0,j>>>0);goog.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var s=this.bytes_,_=this.cursor_;this.cursor_+=8;for(var j=0,$=0,_e=_+7;_e>=_;_e--)j=j<<8|s[_e],$=$<<8|s[_e+4];return o(j,$)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,s=o[this.cursor_+0],_=127&s;return 128>s?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+1]))<<7,128>s?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+2]))<<14,128>s?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(127&(s=o[this.cursor_+3]))<<21,128>s?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),_):(_|=(15&(s=o[this.cursor_+4]))<<28,128>s?(this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),_>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&goog.asserts.assert(!1),goog.asserts.assert(this.cursor_<=this.end_),_)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32,jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(1&o)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8|_<<16|j<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUint64(o,s)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8|_<<16|j<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinInt64(o,s)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinSignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinFloat64(o,s)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var s=this.bytes_,_=this.cursor_;o=_+o;for(var j=[],$="";__e)j.push(_e);else{if(192>_e)continue;if(224>_e){var et=s[_++];j.push((31&_e)<<6|63&et)}else if(240>_e){et=s[_++];var tt=s[_++];j.push((15&_e)<<12|(63&et)<<6|63&tt)}else 248>_e&&(_e=(7&_e)<<18|(63&(et=s[_++]))<<12|(63&(tt=s[_++]))<<6|63&s[_++],_e-=65536,j.push(55296+(_e>>10&1023),56320+(1023&_e)))}8192<=j.length&&($+=String.fromCharCode.apply(null,j),j.length=0)}return $+=goog.crypt.byteArrayToString(j),this.cursor_=_,$},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,goog.asserts.fail("Invalid byte length!"),new Uint8Array(0);var s=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,goog.asserts.assert(this.cursor_<=this.end_),s},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,s=this.cursor_,_=o[s+0],j=o[s+1],$=o[s+2],_e=o[s+3],et=o[s+4],tt=o[s+5],nt=o[s+6];return o=o[s+7],this.cursor_+=8,String.fromCharCode(_,j,$,_e,et,tt,nt,o)},jspb.BinaryReader=function(o,s,_){this.decoder_=jspb.BinaryDecoder.alloc(o,s,_),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,s,_){if(jspb.BinaryReader.instanceCache_.length){var j=jspb.BinaryReader.instanceCache_.pop();return o&&j.decoder_.setBlock(o,s,_),j}return new jspb.BinaryReader(o,s,_)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,s,_){this.decoder_.setBlock(o,s,_),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),s=o>>>3;return(o&=7)!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=s,this.nextWireType_=o,!0)},jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){for(var o=this.nextField_;;){if(!this.nextField()){goog.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(goog.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,s){this.readCallbacks_===null&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=s},jspb.BinaryReader.prototype.runReadCallback=function(o){return goog.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],goog.asserts.assert(o),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var s=jspb.BinaryConstants.FieldType;switch(o){case s.DOUBLE:return this.readDouble();case s.FLOAT:return this.readFloat();case s.INT64:return this.readInt64();case s.UINT64:return this.readUint64();case s.INT32:return this.readInt32();case s.FIXED64:return this.readFixed64();case s.FIXED32:return this.readFixed32();case s.BOOL:return this.readBool();case s.STRING:return this.readString();case s.GROUP:goog.asserts.fail("Group field type not supported in readAny()");case s.MESSAGE:goog.asserts.fail("Message field type not supported in readAny()");case s.BYTES:return this.readBytes();case s.UINT32:return this.readUint32();case s.ENUM:return this.readEnum();case s.SFIXED32:return this.readSfixed32();case s.SFIXED64:return this.readSfixed64();case s.SINT32:return this.readSint32();case s.SINT64:return this.readSint64();case s.FHASH64:return this.readFixedHash64();case s.VHASH64:return this.readVarintHash64();default:goog.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,s){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var _=this.decoder_.getEnd(),j=this.decoder_.readUnsignedVarint32();j=this.decoder_.getCursor()+j,this.decoder_.setEnd(j),s(o,this),this.decoder_.setCursor(j),this.decoder_.setEnd(_)},jspb.BinaryReader.prototype.readGroup=function(o,s,_){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==o),_(s,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),s=this.decoder_.getCursor(),_=s+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),s,o),this.decoder_.setCursor(_),o},jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var s=this.decoder_.readUnsignedVarint32();s=this.decoder_.getCursor()+s;for(var _=[];this.decoder_.getCursor()s.length?_.length:s.length;for(o.getJsPbMessageId()&&(j[0]=o.getJsPbMessageId(),$=1);$<_e;$++)jspb.Message.compareFields(_[$],s[$])||(j[$]=s[$]);return new o.constructor(j)},jspb.Message.equals=function(o,s){return o==s||!(!o||!s)&&o instanceof s.constructor&&jspb.Message.compareFields(o.toArray(),s.toArray())},jspb.Message.compareExtensions=function(o,s){o=o||{},s=s||{};var _,j={};for(_ in o)j[_]=0;for(_ in s)j[_]=0;for(_ in j)if(!jspb.Message.compareFields(o[_],s[_]))return!1;return!0},jspb.Message.compareFields=function(o,s){if(o==s)return!0;if(!goog.isObject(o)||!goog.isObject(s))return!!(typeof o=="number"&&isNaN(o)||typeof s=="number"&&isNaN(s))&&String(o)==String(s);if(o.constructor!=s.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=s.length)return!1;for(var _=0;_>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,s){var _=65535&o,j=65535&s,$=s>>>16;for(s=_*j+65536*(_*$&65535)+65536*((o>>>=16)*j&65535),_=o*$+(_*$>>>16)+(o*j>>>16);4294967296<=s;)s-=4294967296,_+=1;return new jspb.arith.UInt64(s>>>0,_>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var s=jspb.arith.UInt64.mul32x32(this.lo,o);return(o=jspb.arith.UInt64.mul32x32(this.hi,o)).hi=o.lo,o.lo=0,s.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var j=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),j=j.leftShift();for(;!j.zero();)0>=o.cmp(_)&&(s=s.add(j),_=_.sub(o)),o=o.rightShift(),j=j.rightShift();return[s,_]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",s=this;!s.zero();){var _=(s=s.div(10))[0];o=s[1].lo+o,s=_}return o==""&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(0,0),j=0;jo[j]||"9">>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=(2147483648&this.hi)!=0,s=new jspb.arith.UInt64(this.lo,this.hi);return o&&(s=new jspb.arith.UInt64(0,0).sub(s)),(o?"-":"")+s.toString()},jspb.arith.Int64.fromString=function(o){var s=0>>7|s<<25)>>>0,s>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,s){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(s==Math.floor(s)),goog.asserts.assert(0<=o&&o>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&os;s++)this.buffer_.push(127&o|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_31&&o>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o>>0,j>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(0<=o&&oo),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_63&&+o=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){goog.asserts.assert(1/0===o||-1/0===o||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){goog.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){goog.asserts.assert(o==Math.floor(o)),goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&oj)this.buffer_.push(j);else if(2048>j)this.buffer_.push(j>>6|192),this.buffer_.push(63&j|128);else if(65536>j)if(55296<=j&&56319>=j&&_+1=$&&(j=1024*(j-55296)+$-56320+65536,this.buffer_.push(j>>18|240),this.buffer_.push(j>>12&63|128),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128),_++)}else this.buffer_.push(j>>12|224),this.buffer_.push(j>>6&63|128),this.buffer_.push(63&j|128)}return this.buffer_.length-s},jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]},jspb.BinaryWriter.prototype.appendUint8Array_=function(o){var s=this.encoder_.end();this.blocks_.push(s),this.blocks_.push(o),this.totalLength_+=s.length+o.length},jspb.BinaryWriter.prototype.beginDelimited_=function(o){return this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.DELIMITED),o=this.encoder_.end(),this.blocks_.push(o),this.totalLength_+=o.length,o.push(this.totalLength_),o},jspb.BinaryWriter.prototype.endDelimited_=function(o){var s=o.pop();for(s=this.totalLength_+this.encoder_.length()-s,goog.asserts.assert(0<=s);127>>=7,this.totalLength_++;o.push(s),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,s,_){this.appendUint8Array_(o.subarray(s,_))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,s,_){o!=null&&s!=null&&_!=null&&this.writeSerializedMessage(o,s,_)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),s=this.blocks_,_=s.length,j=0,$=0;$<_;$++){var _e=s[$];o.set(_e,j),j+=_e.length}return s=this.encoder_.end(),o.set(s,j),j+=s.length,goog.asserts.assert(j==o.length),this.blocks_=[o],o},jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,s){goog.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+s)},jspb.BinaryWriter.prototype.writeAny=function(o,s,_){var j=jspb.BinaryConstants.FieldType;switch(o){case j.DOUBLE:this.writeDouble(s,_);break;case j.FLOAT:this.writeFloat(s,_);break;case j.INT64:this.writeInt64(s,_);break;case j.UINT64:this.writeUint64(s,_);break;case j.INT32:this.writeInt32(s,_);break;case j.FIXED64:this.writeFixed64(s,_);break;case j.FIXED32:this.writeFixed32(s,_);break;case j.BOOL:this.writeBool(s,_);break;case j.STRING:this.writeString(s,_);break;case j.GROUP:goog.asserts.fail("Group field type not supported in writeAny()");break;case j.MESSAGE:goog.asserts.fail("Message field type not supported in writeAny()");break;case j.BYTES:this.writeBytes(s,_);break;case j.UINT32:this.writeUint32(s,_);break;case j.ENUM:this.writeEnum(s,_);break;case j.SFIXED32:this.writeSfixed32(s,_);break;case j.SFIXED64:this.writeSfixed64(s,_);break;case j.SINT32:this.writeSint32(s,_);break;case j.SINT64:this.writeSint64(s,_);break;case j.FHASH64:this.writeFixedHash64(s,_);break;case j.VHASH64:this.writeVarintHash64(s,_);break;default:goog.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(s))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(s))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(s))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(s))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(s))},jspb.BinaryWriter.prototype.writeInt32=function(o,s){s!=null&&(goog.asserts.assert(s>=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s>>0,_e>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,s){if(s!=null)for(var _=0;_>>0,tt>>>0)});this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,s){if(s!=null&&s.length){o=this.beginDelimited_(o);for(var _=0;_-1};function st(Tt){if(typeof Tt!="string"&&(Tt=String(Tt)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(Tt))throw new TypeError("Invalid character in header field name");return Tt.toLowerCase()}function ct(Tt){return typeof Tt!="string"&&(Tt=String(Tt)),Tt}function pt(Tt){var Ot={next:function(){var _t=Tt.shift();return{done:_t===void 0,value:_t}}};return nt&&(Ot[Symbol.iterator]=function(){return Ot}),Ot}function Bt(Tt){this.map={},Tt instanceof Bt?Tt.forEach(function(Ot,_t){this.append(_t,Ot)},this):Array.isArray(Tt)?Tt.forEach(function(Ot){this.append(Ot[0],Ot[1])},this):Tt&&Object.getOwnPropertyNames(Tt).forEach(function(Ot){this.append(Ot,Tt[Ot])},this)}function Qt(Tt){if(Tt.bodyUsed)return Promise.reject(new TypeError("Already read"));Tt.bodyUsed=!0}function gt(Tt){return new Promise(function(Ot,_t){Tt.onload=function(){Ot(Tt.result)},Tt.onerror=function(){_t(Tt.error)}})}function ft(Tt){var Ot=new FileReader,_t=gt(Ot);return Ot.readAsArrayBuffer(Tt),_t}function Ft(Tt){if(Tt.slice)return Tt.slice(0);var Ot=new Uint8Array(Tt.byteLength);return Ot.set(new Uint8Array(Tt)),Ot.buffer}function yt(){return this.bodyUsed=!1,this._initBody=function(Tt){var Ot;this._bodyInit=Tt,Tt?typeof Tt=="string"?this._bodyText=Tt:rt&&Blob.prototype.isPrototypeOf(Tt)?this._bodyBlob=Tt:ot&&FormData.prototype.isPrototypeOf(Tt)?this._bodyFormData=Tt:tt&&URLSearchParams.prototype.isPrototypeOf(Tt)?this._bodyText=Tt.toString():ut&&rt&&(Ot=Tt)&&DataView.prototype.isPrototypeOf(Ot)?(this._bodyArrayBuffer=Ft(Tt.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):ut&&(ArrayBuffer.prototype.isPrototypeOf(Tt)||Ut(Tt))?this._bodyArrayBuffer=Ft(Tt):this._bodyText=Tt=Object.prototype.toString.call(Tt):this._bodyText="",this.headers.get("content-type")||(typeof Tt=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):tt&&URLSearchParams.prototype.isPrototypeOf(Tt)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},rt&&(this.blob=function(){var Tt=Qt(this);if(Tt)return Tt;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?Qt(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(ft)}),this.text=function(){var Tt,Ot,_t,Wt=Qt(this);if(Wt)return Wt;if(this._bodyBlob)return Tt=this._bodyBlob,Ot=new FileReader,_t=gt(Ot),Ot.readAsText(Tt),_t;if(this._bodyArrayBuffer)return Promise.resolve(function(bt){for(var Jt=new Uint8Array(bt),Zt=new Array(Jt.length),Vt=0;Vt-1?Wt:_t),this.mode=Ot.mode||this.mode||null,this.signal=Ot.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&bt)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(bt)}function ht(Tt){var Ot=new FormData;return Tt.trim().split("&").forEach(function(_t){if(_t){var Wt=_t.split("="),bt=Wt.shift().replace(/\+/g," "),Jt=Wt.join("=").replace(/\+/g," ");Ot.append(decodeURIComponent(bt),decodeURIComponent(Jt))}}),Ot}function mt(Tt,Ot){Ot||(Ot={}),this.type="default",this.status=Ot.status===void 0?200:Ot.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in Ot?Ot.statusText:"OK",this.headers=new Bt(Ot.headers),this.url=Ot.url||"",this._initBody(Tt)}xt.prototype.clone=function(){return new xt(this,{body:this._bodyInit})},yt.call(xt.prototype),yt.call(mt.prototype),mt.prototype.clone=function(){return new mt(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Bt(this.headers),url:this.url})},mt.error=function(){var Tt=new mt(null,{status:0,statusText:""});return Tt.type="error",Tt};var It=[301,302,303,307,308];mt.redirect=function(Tt,Ot){if(It.indexOf(Ot)===-1)throw new RangeError("Invalid status code");return new mt(null,{status:Ot,headers:{location:Tt}})},et.DOMException=_e.DOMException;try{new et.DOMException}catch{et.DOMException=function(Tt,Ot){this.message=Tt,this.name=Ot;var _t=Error(Tt);this.stack=_t.stack},et.DOMException.prototype=Object.create(Error.prototype),et.DOMException.prototype.constructor=et.DOMException}function vt(Tt,Ot){return new Promise(function(_t,Wt){var bt=new xt(Tt,Ot);if(bt.signal&&bt.signal.aborted)return Wt(new et.DOMException("Aborted","AbortError"));var Jt=new XMLHttpRequest;function Zt(){Jt.abort()}Jt.onload=function(){var Vt,jt,zt={status:Jt.status,statusText:Jt.statusText,headers:(Vt=Jt.getAllResponseHeaders()||"",jt=new Bt,Vt.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(nn){var rn=nn.split(":"),Dt=rn.shift().trim();if(Dt){var wt=rn.join(":").trim();jt.append(Dt,wt)}}),jt)};zt.url="responseURL"in Jt?Jt.responseURL:zt.headers.get("X-Request-URL");var $t="response"in Jt?Jt.response:Jt.responseText;_t(new mt($t,zt))},Jt.onerror=function(){Wt(new TypeError("Network request failed"))},Jt.ontimeout=function(){Wt(new TypeError("Network request failed"))},Jt.onabort=function(){Wt(new et.DOMException("Aborted","AbortError"))},Jt.open(bt.method,bt.url,!0),bt.credentials==="include"?Jt.withCredentials=!0:bt.credentials==="omit"&&(Jt.withCredentials=!1),"responseType"in Jt&&rt&&(Jt.responseType="blob"),bt.headers.forEach(function(Vt,jt){Jt.setRequestHeader(jt,Vt)}),bt.signal&&(bt.signal.addEventListener("abort",Zt),Jt.onreadystatechange=function(){Jt.readyState===4&&bt.signal.removeEventListener("abort",Zt)}),Jt.send(bt._bodyInit===void 0?null:bt._bodyInit)})}vt.polyfill=!0,_e.fetch||(_e.fetch=vt,_e.Headers=Bt,_e.Request=xt,_e.Response=mt),et.Headers=Bt,et.Request=xt,et.Response=mt,et.fetch=vt,Object.defineProperty(et,"__esModule",{value:!0})})({})})(j),j.fetch.ponyfill=!0,delete j.fetch.polyfill;var $=j;(s=$.fetch).default=$.fetch,s.fetch=$.fetch,s.Headers=$.Headers,s.Request=$.Request,s.Response=$.Response,o.exports=s},function(o,s,_){(function(j){const $=_(216),_e=_(51),et=(tt,nt,rt)=>({from:et,EnvVarError:_(51),get:function(ot){if(!ot)return tt;if(arguments.length>1)throw new _e("It looks like you passed more than one argument to env.get(). Since env-var@6.0.0 this is no longer supported. To set a default value use env.get(TARGET).default(DEFAULT)");return $(tt,ot,nt||{},rt||function(){})},accessors:_(93),logger:_(230)(console.log,tt.NODE_ENV)});o.exports=et(j===void 0?{}:j.env)}).call(this,_(2))},function(o,s,_){(function(j){const $=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,_e=typeof AbortController=="function"?AbortController:class{constructor(){this.signal=new nt}abort(){this.signal.dispatchEvent("abort")}},et=typeof AbortSignal=="function",tt=typeof _e.AbortSignal=="function",nt=et?AbortSignal:tt?_e.AbortController:class{constructor(){this.aborted=!1,this._listeners=[]}dispatchEvent(ft){if(ft==="abort"){this.aborted=!0;const Ft={type:ft,target:this};this.onabort(Ft),this._listeners.forEach(yt=>yt(Ft),this)}}onabort(){}addEventListener(ft,Ft){ft==="abort"&&this._listeners.push(Ft)}removeEventListener(ft,Ft){ft==="abort"&&(this._listeners=this._listeners.filter(yt=>yt!==Ft))}},rt=new Set,ot=(ft,Ft)=>{const yt="LRU_CACHE_OPTION_"+ft;Ut(yt)&&st(yt,ft+" option","options."+Ft,gt)},ut=(ft,Ft)=>{const yt="LRU_CACHE_METHOD_"+ft;if(Ut(yt)){const{prototype:Ct}=gt,{get:xt}=Object.getOwnPropertyDescriptor(Ct,ft);st(yt,ft+" method",`cache.${Ft}()`,xt)}},dt=(...ft)=>{typeof j=="object"&&j&&typeof j.emitWarning=="function"?j.emitWarning(...ft):console.error(...ft)},Ut=ft=>!rt.has(ft),st=(ft,Ft,yt,Ct)=>{rt.add(ft),dt(`The ${Ft} is deprecated. Please use ${yt} instead.`,"DeprecationWarning",ft,Ct)},ct=ft=>ft&&ft===Math.floor(ft)&&ft>0&&isFinite(ft),pt=ft=>ct(ft)?ft<=Math.pow(2,8)?Uint8Array:ft<=Math.pow(2,16)?Uint16Array:ft<=Math.pow(2,32)?Uint32Array:ft<=Number.MAX_SAFE_INTEGER?Bt:null:null;class Bt extends Array{constructor(Ft){super(Ft),this.fill(0)}}class Qt{constructor(Ft){if(Ft===0)return[];const yt=pt(Ft);this.heap=new yt(Ft),this.length=0}push(Ft){this.heap[this.length++]=Ft}pop(){return this.heap[--this.length]}}class gt{constructor(Ft={}){const{max:yt=0,ttl:Ct,ttlResolution:xt=1,ttlAutopurge:ht,updateAgeOnGet:mt,updateAgeOnHas:It,allowStale:vt,dispose:Tt,disposeAfter:Ot,noDisposeOnSet:_t,noUpdateTTL:Wt,maxSize:bt=0,maxEntrySize:Jt=0,sizeCalculation:Zt,fetchMethod:Vt,fetchContext:jt,noDeleteOnFetchRejection:zt,noDeleteOnStaleGet:$t}=Ft,{length:nn,maxAge:rn,stale:Dt}=Ft instanceof gt?{}:Ft;if(yt!==0&&!ct(yt))throw new TypeError("max option must be a nonnegative integer");const wt=yt?pt(yt):Array;if(!wt)throw new Error("invalid max value: "+yt);if(this.max=yt,this.maxSize=bt,this.maxEntrySize=Jt||this.maxSize,this.sizeCalculation=Zt||nn,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=Vt||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=jt,!this.fetchMethod&&jt!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(yt).fill(null),this.valList=new Array(yt).fill(null),this.next=new wt(yt),this.prev=new wt(yt),this.head=0,this.tail=0,this.free=new Qt(yt),this.initialFill=1,this.size=0,typeof Tt=="function"&&(this.dispose=Tt),typeof Ot=="function"?(this.disposeAfter=Ot,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!_t,this.noUpdateTTL=!!Wt,this.noDeleteOnFetchRejection=!!zt,this.maxEntrySize!==0){if(this.maxSize!==0&&!ct(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!ct(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!vt||!!Dt,this.noDeleteOnStaleGet=!!$t,this.updateAgeOnGet=!!mt,this.updateAgeOnHas=!!It,this.ttlResolution=ct(xt)||xt===0?xt:1,this.ttlAutopurge=!!ht,this.ttl=Ct||rn||0,this.ttl){if(!ct(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const Et="LRU_CACHE_UNBOUNDED";Ut(Et)&&(rt.add(Et),dt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",Et,gt))}Dt&&ot("stale","allowStale"),rn&&ot("maxAge","ttl"),nn&&ot("length","sizeCalculation")}getRemainingTTL(Ft){return this.has(Ft,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Bt(this.max),this.starts=new Bt(this.max),this.setItemTTL=(Ct,xt,ht=$.now())=>{if(this.starts[Ct]=xt!==0?ht:0,this.ttls[Ct]=xt,xt!==0&&this.ttlAutopurge){const mt=setTimeout(()=>{this.isStale(Ct)&&this.delete(this.keyList[Ct])},xt+1);mt.unref&&mt.unref()}},this.updateItemAge=Ct=>{this.starts[Ct]=this.ttls[Ct]!==0?$.now():0};let Ft=0;const yt=()=>{const Ct=$.now();if(this.ttlResolution>0){Ft=Ct;const xt=setTimeout(()=>Ft=0,this.ttlResolution);xt.unref&&xt.unref()}return Ct};this.getRemainingTTL=Ct=>{const xt=this.keyMap.get(Ct);return xt===void 0?0:this.ttls[xt]===0||this.starts[xt]===0?1/0:this.starts[xt]+this.ttls[xt]-(Ft||yt())},this.isStale=Ct=>this.ttls[Ct]!==0&&this.starts[Ct]!==0&&(Ft||yt())-this.starts[Ct]>this.ttls[Ct]}updateItemAge(Ft){}setItemTTL(Ft,yt,Ct){}isStale(Ft){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Bt(this.max),this.removeItemSize=Ft=>{this.calculatedSize-=this.sizes[Ft],this.sizes[Ft]=0},this.requireSize=(Ft,yt,Ct,xt)=>{if(!ct(Ct)){if(!xt)throw new TypeError("invalid size value (must be positive integer)");if(typeof xt!="function")throw new TypeError("sizeCalculation must be a function");if(Ct=xt(yt,Ft),!ct(Ct))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return Ct},this.addItemSize=(Ft,yt)=>{this.sizes[Ft]=yt;const Ct=this.maxSize-this.sizes[Ft];for(;this.calculatedSize>Ct;)this.evict(!0);this.calculatedSize+=this.sizes[Ft]}}removeItemSize(Ft){}addItemSize(Ft,yt){}requireSize(Ft,yt,Ct,xt){if(Ct||xt)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:Ft=this.allowStale}={}){if(this.size)for(let yt=this.tail;this.isValidIndex(yt)&&(!Ft&&this.isStale(yt)||(yield yt),yt!==this.head);)yt=this.prev[yt]}*rindexes({allowStale:Ft=this.allowStale}={}){if(this.size)for(let yt=this.head;this.isValidIndex(yt)&&(!Ft&&this.isStale(yt)||(yield yt),yt!==this.tail);)yt=this.next[yt]}isValidIndex(Ft){return this.keyMap.get(this.keyList[Ft])===Ft}*entries(){for(const Ft of this.indexes())yield[this.keyList[Ft],this.valList[Ft]]}*rentries(){for(const Ft of this.rindexes())yield[this.keyList[Ft],this.valList[Ft]]}*keys(){for(const Ft of this.indexes())yield this.keyList[Ft]}*rkeys(){for(const Ft of this.rindexes())yield this.keyList[Ft]}*values(){for(const Ft of this.indexes())yield this.valList[Ft]}*rvalues(){for(const Ft of this.rindexes())yield this.valList[Ft]}[Symbol.iterator](){return this.entries()}find(Ft,yt={}){for(const Ct of this.indexes())if(Ft(this.valList[Ct],this.keyList[Ct],this))return this.get(this.keyList[Ct],yt)}forEach(Ft,yt=this){for(const Ct of this.indexes())Ft.call(yt,this.valList[Ct],this.keyList[Ct],this)}rforEach(Ft,yt=this){for(const Ct of this.rindexes())Ft.call(yt,this.valList[Ct],this.keyList[Ct],this)}get prune(){return ut("prune","purgeStale"),this.purgeStale}purgeStale(){let Ft=!1;for(const yt of this.rindexes({allowStale:!0}))this.isStale(yt)&&(this.delete(this.keyList[yt]),Ft=!0);return Ft}dump(){const Ft=[];for(const yt of this.indexes({allowStale:!0})){const Ct=this.keyList[yt],xt=this.valList[yt],ht={value:this.isBackgroundFetch(xt)?xt.__staleWhileFetching:xt};if(this.ttls){ht.ttl=this.ttls[yt];const mt=$.now()-this.starts[yt];ht.start=Math.floor(Date.now()-mt)}this.sizes&&(ht.size=this.sizes[yt]),Ft.unshift([Ct,ht])}return Ft}load(Ft){this.clear();for(const[yt,Ct]of Ft){if(Ct.start){const xt=Date.now()-Ct.start;Ct.start=$.now()-xt}this.set(yt,Ct.value,Ct)}}dispose(Ft,yt,Ct){}set(Ft,yt,{ttl:Ct=this.ttl,start:xt,noDisposeOnSet:ht=this.noDisposeOnSet,size:mt=0,sizeCalculation:It=this.sizeCalculation,noUpdateTTL:vt=this.noUpdateTTL}={}){if(mt=this.requireSize(Ft,yt,mt,It),this.maxEntrySize&&mt>this.maxEntrySize)return this;let Tt=this.size===0?void 0:this.keyMap.get(Ft);if(Tt===void 0)Tt=this.newIndex(),this.keyList[Tt]=Ft,this.valList[Tt]=yt,this.keyMap.set(Ft,Tt),this.next[this.tail]=Tt,this.prev[Tt]=this.tail,this.tail=Tt,this.size++,this.addItemSize(Tt,mt),vt=!1;else{const Ot=this.valList[Tt];yt!==Ot&&(this.isBackgroundFetch(Ot)?Ot.__abortController.abort():ht||(this.dispose(Ot,Ft,"set"),this.disposeAfter&&this.disposed.push([Ot,Ft,"set"])),this.removeItemSize(Tt),this.valList[Tt]=yt,this.addItemSize(Tt,mt)),this.moveToTail(Tt)}if(Ct===0||this.ttl!==0||this.ttls||this.initializeTTLTracking(),vt||this.setItemTTL(Tt,Ct,xt),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const Ft=this.valList[this.head];return this.evict(!0),Ft}}evict(Ft){const yt=this.head,Ct=this.keyList[yt],xt=this.valList[yt];return this.isBackgroundFetch(xt)?xt.__abortController.abort():(this.dispose(xt,Ct,"evict"),this.disposeAfter&&this.disposed.push([xt,Ct,"evict"])),this.removeItemSize(yt),Ft&&(this.keyList[yt]=null,this.valList[yt]=null,this.free.push(yt)),this.head=this.next[yt],this.keyMap.delete(Ct),this.size--,yt}has(Ft,{updateAgeOnHas:yt=this.updateAgeOnHas}={}){const Ct=this.keyMap.get(Ft);return Ct!==void 0&&!this.isStale(Ct)&&(yt&&this.updateItemAge(Ct),!0)}peek(Ft,{allowStale:yt=this.allowStale}={}){const Ct=this.keyMap.get(Ft);if(Ct!==void 0&&(yt||!this.isStale(Ct))){const xt=this.valList[Ct];return this.isBackgroundFetch(xt)?xt.__staleWhileFetching:xt}}backgroundFetch(Ft,yt,Ct,xt){const ht=yt===void 0?void 0:this.valList[yt];if(this.isBackgroundFetch(ht))return ht;const mt=new _e,It={signal:mt.signal,options:Ct,context:xt},vt=new Promise(Tt=>Tt(this.fetchMethod(Ft,ht,It))).then(Tt=>(mt.signal.aborted||this.set(Ft,Tt,It.options),Tt),Tt=>{if(this.valList[yt]===vt&&(!Ct.noDeleteOnFetchRejection||vt.__staleWhileFetching===void 0?this.delete(Ft):this.valList[yt]=vt.__staleWhileFetching),vt.__returned===vt)throw Tt});return vt.__abortController=mt,vt.__staleWhileFetching=ht,vt.__returned=null,yt===void 0?(this.set(Ft,vt,It.options),yt=this.keyMap.get(Ft)):this.valList[yt]=vt,vt}isBackgroundFetch(Ft){return Ft&&typeof Ft=="object"&&typeof Ft.then=="function"&&Object.prototype.hasOwnProperty.call(Ft,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(Ft,"__returned")&&(Ft.__returned===Ft||Ft.__returned===null)}async fetch(Ft,{allowStale:yt=this.allowStale,updateAgeOnGet:Ct=this.updateAgeOnGet,noDeleteOnStaleGet:xt=this.noDeleteOnStaleGet,ttl:ht=this.ttl,noDisposeOnSet:mt=this.noDisposeOnSet,size:It=0,sizeCalculation:vt=this.sizeCalculation,noUpdateTTL:Tt=this.noUpdateTTL,noDeleteOnFetchRejection:Ot=this.noDeleteOnFetchRejection,fetchContext:_t=this.fetchContext,forceRefresh:Wt=!1}={}){if(!this.fetchMethod)return this.get(Ft,{allowStale:yt,updateAgeOnGet:Ct,noDeleteOnStaleGet:xt});const bt={allowStale:yt,updateAgeOnGet:Ct,noDeleteOnStaleGet:xt,ttl:ht,noDisposeOnSet:mt,size:It,sizeCalculation:vt,noUpdateTTL:Tt,noDeleteOnFetchRejection:Ot};let Jt=this.keyMap.get(Ft);if(Jt===void 0){const Zt=this.backgroundFetch(Ft,Jt,bt,_t);return Zt.__returned=Zt}{const Zt=this.valList[Jt];if(this.isBackgroundFetch(Zt))return yt&&Zt.__staleWhileFetching!==void 0?Zt.__staleWhileFetching:Zt.__returned=Zt;if(!Wt&&!this.isStale(Jt))return this.moveToTail(Jt),Ct&&this.updateItemAge(Jt),Zt;const Vt=this.backgroundFetch(Ft,Jt,bt,_t);return yt&&Vt.__staleWhileFetching!==void 0?Vt.__staleWhileFetching:Vt.__returned=Vt}}get(Ft,{allowStale:yt=this.allowStale,updateAgeOnGet:Ct=this.updateAgeOnGet,noDeleteOnStaleGet:xt=this.noDeleteOnStaleGet}={}){const ht=this.keyMap.get(Ft);if(ht!==void 0){const mt=this.valList[ht],It=this.isBackgroundFetch(mt);return this.isStale(ht)?It?yt?mt.__staleWhileFetching:void 0:(xt||this.delete(Ft),yt?mt:void 0):It?void 0:(this.moveToTail(ht),Ct&&this.updateItemAge(ht),mt)}}connect(Ft,yt){this.prev[yt]=Ft,this.next[Ft]=yt}moveToTail(Ft){Ft!==this.tail&&(Ft===this.head?this.head=this.next[Ft]:this.connect(this.prev[Ft],this.next[Ft]),this.connect(this.tail,Ft),this.tail=Ft)}get del(){return ut("del","delete"),this.delete}delete(Ft){let yt=!1;if(this.size!==0){const Ct=this.keyMap.get(Ft);if(Ct!==void 0)if(yt=!0,this.size===1)this.clear();else{this.removeItemSize(Ct);const xt=this.valList[Ct];this.isBackgroundFetch(xt)?xt.__abortController.abort():(this.dispose(xt,Ft,"delete"),this.disposeAfter&&this.disposed.push([xt,Ft,"delete"])),this.keyMap.delete(Ft),this.keyList[Ct]=null,this.valList[Ct]=null,Ct===this.tail?this.tail=this.prev[Ct]:Ct===this.head?this.head=this.next[Ct]:(this.next[this.prev[Ct]]=this.next[Ct],this.prev[this.next[Ct]]=this.prev[Ct]),this.size--,this.free.push(Ct)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return yt}clear(){for(const Ft of this.rindexes({allowStale:!0})){const yt=this.valList[Ft];if(this.isBackgroundFetch(yt))yt.__abortController.abort();else{const Ct=this.keyList[Ft];this.dispose(yt,Ct,"delete"),this.disposeAfter&&this.disposed.push([yt,Ct,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return ut("reset","clear"),this.clear}get length(){return((Ft,yt)=>{const Ct="LRU_CACHE_PROPERTY_"+Ft;if(Ut(Ct)){const{prototype:xt}=gt,{get:ht}=Object.getOwnPropertyDescriptor(xt,Ft);st(Ct,Ft+" property","cache."+yt,ht)}})("length","size"),this.size}static get AbortController(){return _e}static get AbortSignal(){return nt}}o.exports=gt}).call(this,_(2))},function(o,s,_){var j=_(42).Colorizer;o.exports=function($){return j.addColors($.colors||$),$}},function(o,s,_){var j={};o.exports=j,j.themes={};var $=_(13),_e=j.styles=_(106),et=Object.defineProperties,tt=new RegExp(/[\r\n]+/g);j.supportsColor=_(107).supportsColor,j.enabled===void 0&&(j.enabled=j.supportsColor()!==!1),j.enable=function(){j.enabled=!0},j.disable=function(){j.enabled=!1},j.stripColors=j.strip=function(pt){return(""+pt).replace(/\x1B\[\d+m/g,"")},j.stylize=function(pt,Bt){if(!j.enabled)return pt+"";var Qt=_e[Bt];return!Qt&&Bt in j?j[Bt](pt):Qt.open+pt+Qt.close};var nt=/[|\\{}()[\]^$+*?.]/g;function rt(pt){var Bt=function Qt(){return Ut.apply(Qt,arguments)};return Bt._styles=pt,Bt.__proto__=dt,Bt}var ot,ut=(ot={},_e.grey=_e.gray,Object.keys(_e).forEach(function(pt){_e[pt].closeRe=new RegExp(function(Bt){if(typeof Bt!="string")throw new TypeError("Expected a string");return Bt.replace(nt,"\\$&")}(_e[pt].close),"g"),ot[pt]={get:function(){return rt(this._styles.concat(pt))}}}),ot),dt=et(function(){},ut);function Ut(){var pt=Array.prototype.slice.call(arguments),Bt=pt.map(function(yt){return yt!=null&&yt.constructor===String?yt:$.inspect(yt)}).join(" ");if(!j.enabled||!Bt)return Bt;for(var Qt=Bt.indexOf(` +`)!=-1,gt=this._styles,ft=gt.length;ft--;){var Ft=_e[gt[ft]];Bt=Ft.open+Bt.replace(Ft.closeRe,Ft.open)+Ft.close,Qt&&(Bt=Bt.replace(tt,function(yt){return Ft.close+yt+Ft.open}))}return Bt}j.setTheme=function(pt){if(typeof pt!="string")for(var Bt in pt)(function(Qt){j[Qt]=function(gt){if(typeof pt[Qt]=="object"){var ft=gt;for(var Ft in pt[Qt])ft=j[pt[Qt][Ft]](ft);return ft}return j[pt[Qt]](gt)}})(Bt);else console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));")};var st=function(pt,Bt){var Qt=Bt.split("");return(Qt=Qt.map(pt)).join("")};for(var ct in j.trap=_(109),j.zalgo=_(110),j.maps={},j.maps.america=_(111)(j),j.maps.zebra=_(112)(j),j.maps.rainbow=_(113)(j),j.maps.random=_(114)(j),j.maps)(function(pt){j[pt]=function(Bt){return st(j.maps[pt],Bt)}})(ct);et(j,function(){var pt={};return Object.keys(ut).forEach(function(Bt){pt[Bt]={get:function(){return rt([Bt])}}}),pt}())},function(o,s){o.exports=function(_){return _&&typeof _=="object"&&typeof _.copy=="function"&&typeof _.fill=="function"&&typeof _.readUInt8=="function"}},function(o,s){typeof Object.create=="function"?o.exports=function(_,j){_.super_=j,_.prototype=Object.create(j.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}})}:o.exports=function(_,j){_.super_=j;var $=function(){};$.prototype=j.prototype,_.prototype=new $,_.prototype.constructor=_}},function(o,s){var _={};o.exports=_;var j={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(j).forEach(function($){var _e=j[$],et=_[$]=[];et.open="\x1B["+_e[0]+"m",et.close="\x1B["+_e[1]+"m"})},function(o,s,_){(function(j){var $=_(16),_e=_(108),et=j.env,tt=void 0;function nt(rt){return function(ot){return ot!==0&&{level:ot,hasBasic:!0,has256:ot>=2,has16m:ot>=3}}(function(ot){if(tt===!1)return 0;if(_e("color=16m")||_e("color=full")||_e("color=truecolor"))return 3;if(_e("color=256"))return 2;if(ot&&!ot.isTTY&&tt!==!0)return 0;var ut=tt?1:0;if(j.platform==="win32"){var dt=$.release().split(".");return Number(j.versions.node.split(".")[0])>=8&&Number(dt[0])>=10&&Number(dt[2])>=10586?Number(dt[2])>=14931?3:2:1}if("CI"in et)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(st){return st in et})||et.CI_NAME==="codeship"?1:ut;if("TEAMCITY_VERSION"in et)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(et.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in et){var Ut=parseInt((et.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(et.TERM_PROGRAM){case"iTerm.app":return Ut>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test("xterm")?2:/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test("xterm")||"COLORTERM"in et?1:ut}(rt))}_e("no-color")||_e("no-colors")||_e("color=false")?tt=!1:(_e("color")||_e("colors")||_e("color=true")||_e("color=always"))&&(tt=!0),"FORCE_COLOR"in et&&(tt=et.FORCE_COLOR.length===0||parseInt(et.FORCE_COLOR,10)!==0),o.exports={supportsColor:nt,stdout:nt(j.stdout),stderr:nt(j.stderr)}}).call(this,_(2))},function(o,s,_){(function(j){o.exports=function($,_e){var et=(_e=_e||j.argv).indexOf("--"),tt=/^-{1,2}/.test($)?"":"--",nt=_e.indexOf(tt+$);return nt!==-1&&(et===-1||nt0&&arguments[0]!==void 0?arguments[0]:{};j(this,ut),st.levels||(st.levels=nt.cli.levels),this.colorizer=new _e(st),this.padder=new et(st),this.options=st}var dt,Ut;return dt=ut,(Ut=[{key:"transform",value:function(st,ct){return this.colorizer.transform(this.padder.transform(st,ct),ct),st[rt]="".concat(st.level,":").concat(st.message),st}}])&&$(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}();o.exports=function(ut){return new ot(ut)},o.exports.Format=ot},function(o,s,_){var j=_(8);function $(et){if(et.every(_e))return function(tt){for(var nt=tt,rt=0;rt1&&arguments[1]!==void 0?arguments[1]:{},nt="metadata";tt.key&&(nt=tt.key);var rt=[];return tt.fillExcept||tt.fillWith||(rt.push("level"),rt.push("message")),tt.fillExcept&&(rt=tt.fillExcept),rt.length>0?$(et,rt,nt):tt.fillWith?_e(et,tt.fillWith,nt):et})},function(o,s,_){var j=_(8),$=_(128);o.exports=j(function(_e){var et=+new Date;return(void 0).diff=et-((void 0).prevTime||et),(void 0).prevTime=et,_e.ms="+".concat($((void 0).diff)),_e})},function(o,s){var _=1e3,j=6e4,$=60*j,_e=24*$;function et(tt,nt,rt,ot){var ut=nt>=1.5*rt;return Math.round(tt/rt)+" "+ot+(ut?"s":"")}o.exports=function(tt,nt){nt=nt||{};var rt=typeof tt;if(rt==="string"&&tt.length>0)return function(ot){if(!((ot=String(ot)).length>100)){var ut=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(ot);if(ut){var dt=parseFloat(ut[1]);switch((ut[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*dt;case"weeks":case"week":case"w":return 6048e5*dt;case"days":case"day":case"d":return dt*_e;case"hours":case"hour":case"hrs":case"hr":case"h":return dt*$;case"minutes":case"minute":case"mins":case"min":case"m":return dt*j;case"seconds":case"second":case"secs":case"sec":case"s":return dt*_;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return dt;default:return}}}}(tt);if(rt==="number"&&isFinite(tt))return nt.long?function(ot){var ut=Math.abs(ot);return ut>=_e?et(ot,ut,_e,"day"):ut>=$?et(ot,ut,$,"hour"):ut>=j?et(ot,ut,j,"minute"):ut>=_?et(ot,ut,_,"second"):ot+" ms"}(tt):function(ot){var ut=Math.abs(ot);return ut>=_e?Math.round(ot/_e)+"d":ut>=$?Math.round(ot/$)+"h":ut>=j?Math.round(ot/j)+"m":ut>=_?Math.round(ot/_)+"s":ot+"ms"}(tt);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(tt))}},function(o,s,_){var j=_(13).inspect,$=_(8),_e=_(4),et=_e.LEVEL,tt=_e.MESSAGE,nt=_e.SPLAT;o.exports=$(function(rt){var ot=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=Object.assign({},rt);return delete ut[et],delete ut[tt],delete ut[nt],rt[tt]=j(ut,!1,ot.depth||null,ot.colorize),rt})},function(o,s,_){function j(et,tt){for(var nt=0;ntut.length)&&(dt=ut.length);for(var Ut=0,st=new Array(dt);Ut1?pt.splice(0):pt,gt=Qt.length;if(gt)for(var ft=0;ft1&&arguments[1]!==void 0?arguments[1]:{};return et.format&&(_e.timestamp=typeof et.format=="function"?et.format():j.format(new Date,et.format)),_e.timestamp||(_e.timestamp=new Date().toISOString()),et.alias&&(_e[et.alias]=_e.timestamp),_e})},function(o,s,_){_.r(s),_.d(s,"assign",function(){return nt}),_.d(s,"format",function(){return mt}),_.d(s,"parse",function(){return It}),_.d(s,"defaultI18n",function(){return dt}),_.d(s,"setGlobalDateI18n",function(){return st}),_.d(s,"setGlobalDateMasks",function(){return ht});var j=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,$="[^\\s]+",_e=/\[([^]*?)\]/gm;function et(Tt,Ot){for(var _t=[],Wt=0,bt=Tt.length;Wt-1?Wt:null}};function nt(Tt){for(var Ot=[],_t=1;_t3?0:(Tt-Tt%10!=10?1:0)*Tt%10]}},Ut=nt({},dt),st=function(Tt){return Ut=nt(Ut,Tt)},ct=function(Tt){return Tt.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},pt=function(Tt,Ot){for(Ot===void 0&&(Ot=2),Tt=String(Tt);Tt.length0?"-":"+")+pt(100*Math.floor(Math.abs(Ot)/60)+Math.abs(Ot)%60,4)},Z:function(Tt){var Ot=Tt.getTimezoneOffset();return(Ot>0?"-":"+")+pt(Math.floor(Math.abs(Ot)/60),2)+":"+pt(Math.abs(Ot)%60,2)}},Qt=function(Tt){return+Tt-1},gt=[null,"[1-9]\\d?"],ft=[null,$],Ft=["isPm",$,function(Tt,Ot){var _t=Tt.toLowerCase();return _t===Ot.amPm[0]?0:_t===Ot.amPm[1]?1:null}],yt=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(Tt){var Ot=(Tt+"").match(/([+-]|\d\d)/gi);if(Ot){var _t=60*+Ot[1]+parseInt(Ot[2],10);return Ot[0]==="+"?_t:-_t}return 0}],Ct={D:["day","[1-9]\\d?"],DD:["day","\\d\\d"],Do:["day","[1-9]\\d?"+$,function(Tt){return parseInt(Tt,10)}],M:["month","[1-9]\\d?",Qt],MM:["month","\\d\\d",Qt],YY:["year","\\d\\d",function(Tt){var Ot=+(""+new Date().getFullYear()).substr(0,2);return+(""+(+Tt>68?Ot-1:Ot)+Tt)}],h:["hour","[1-9]\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","[1-9]\\d?"],HH:["hour","\\d\\d"],m:["minute","[1-9]\\d?"],mm:["minute","\\d\\d"],s:["second","[1-9]\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(Tt){return 100*+Tt}],SS:["millisecond","\\d\\d",function(Tt){return 10*+Tt}],SSS:["millisecond","\\d{3}"],d:gt,dd:gt,ddd:ft,dddd:ft,MMM:["month",$,tt("monthNamesShort")],MMMM:["month",$,tt("monthNames")],a:Ft,A:Ft,ZZ:yt,Z:yt},xt={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},ht=function(Tt){return nt(xt,Tt)},mt=function(Tt,Ot,_t){if(Ot===void 0&&(Ot=xt.default),_t===void 0&&(_t={}),typeof Tt=="number"&&(Tt=new Date(Tt)),Object.prototype.toString.call(Tt)!=="[object Date]"||isNaN(Tt.getTime()))throw new Error("Invalid Date pass to format");var Wt=[];Ot=(Ot=xt[Ot]||Ot).replace(_e,function(Jt,Zt){return Wt.push(Zt),"@@@"});var bt=nt(nt({},Ut),_t);return(Ot=Ot.replace(j,function(Jt){return Bt[Jt](Tt,bt)})).replace(/@@@/g,function(){return Wt.shift()})};function It(Tt,Ot,_t){if(_t===void 0&&(_t={}),typeof Ot!="string")throw new Error("Invalid format in fecha parse");if(Ot=xt[Ot]||Ot,Tt.length>1e3)return null;var Wt={year:new Date().getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},bt=[],Jt=[],Zt=Ot.replace(_e,function(Ht,on){return Jt.push(ct(on)),"@@@"}),Vt={},jt={};Zt=ct(Zt).replace(j,function(Ht){var on=Ct[Ht],sn=on[0],gn=on[1],Cn=on[3];if(Vt[sn])throw new Error("Invalid format. "+sn+" specified twice in format");return Vt[sn]=!0,Cn&&(jt[Cn]=!0),bt.push(on),"("+gn+")"}),Object.keys(jt).forEach(function(Ht){if(!Vt[Ht])throw new Error("Invalid format. "+Ht+" is required in specified format")}),Zt=Zt.replace(/@@@/g,function(){return Jt.shift()});var zt=Tt.match(new RegExp(Zt,"i"));if(!zt)return null;for(var $t=nt(nt({},Ut),_t),nn=1;nn","maintainers":["David Hyde "],"repository":{"type":"git","url":"https://github.com/winstonjs/winston.git"},"keywords":["winston","logger","logging","logs","sysadmin","bunyan","pino","loglevel","tools","json","stream"],"dependencies":{"@dabh/diagnostics":"^2.0.2","@colors/colors":"1.5.0","async":"^3.2.3","is-stream":"^2.0.0","logform":"^2.4.0","one-time":"^1.0.0","readable-stream":"^3.4.0","safe-stable-stringify":"^2.3.1","stack-trace":"0.0.x","triple-beam":"^1.3.0","winston-transport":"^4.5.0"},"devDependencies":{"@babel/cli":"^7.17.0","@babel/core":"^7.17.2","@babel/preset-env":"^7.16.7","@dabh/eslint-config-populist":"^5.0.0","@types/node":"^18.0.0","abstract-winston-transport":"^0.5.1","assume":"^2.2.0","cross-spawn-async":"^2.2.5","eslint":"^8.9.0","hock":"^1.4.1","mocha":"8.1.3","nyc":"^15.1.0","rimraf":"^3.0.2","split2":"^4.1.0","std-mocks":"^1.0.1","through2":"^4.0.2","winston-compat":"^0.1.5"},"main":"./lib/winston.js","browser":"./dist/winston","types":"./index.d.ts","scripts":{"lint":"eslint lib/*.js lib/winston/*.js lib/winston/**/*.js --resolve-plugins-relative-to ./node_modules/@dabh/eslint-config-populist","test":"mocha","test:coverage":"nyc npm run test:unit","test:unit":"mocha test/unit","test:integration":"mocha test/integration","build":"rimraf dist && babel lib -d dist","prepublishOnly":"npm run build"},"engines":{"node":">= 12.0.0"},"license":"MIT"}')},function(o,s,_){Object.defineProperty(s,"Console",{configurable:!0,enumerable:!0,get:function(){return _(138)}}),Object.defineProperty(s,"File",{configurable:!0,enumerable:!0,get:function(){return _(152)}}),Object.defineProperty(s,"Http",{configurable:!0,enumerable:!0,get:function(){return _(194)}}),Object.defineProperty(s,"Stream",{configurable:!0,enumerable:!0,get:function(){return _(206)}})},function(o,s,_){(function(j){function $(pt){return($=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Bt){return typeof Bt}:function(Bt){return Bt&&typeof Symbol=="function"&&Bt.constructor===Symbol&&Bt!==Symbol.prototype?"symbol":typeof Bt})(pt)}function _e(pt,Bt){if(!(pt instanceof Bt))throw new TypeError("Cannot call a class as a function")}function et(pt,Bt){for(var Qt=0;Qt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Qt,gt=ot(pt);if(Bt){var ft=ot(this).constructor;Qt=Reflect.construct(gt,arguments,ft)}else Qt=gt.apply(this,arguments);return rt(this,Qt)}}function rt(pt,Bt){if(Bt&&($(Bt)==="object"||typeof Bt=="function"))return Bt;if(Bt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Qt){if(Qt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Qt}(pt)}function ot(pt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Bt){return Bt.__proto__||Object.getPrototypeOf(Bt)})(pt)}var ut=_(16),dt=_(4),Ut=dt.LEVEL,st=dt.MESSAGE,ct=_(14);o.exports=function(pt){(function(Ft,yt){if(typeof yt!="function"&&yt!==null)throw new TypeError("Super expression must either be null or a function");Ft.prototype=Object.create(yt&&yt.prototype,{constructor:{value:Ft,writable:!0,configurable:!0}}),Object.defineProperty(Ft,"prototype",{writable:!1}),yt&&tt(Ft,yt)})(ft,pt);var Bt,Qt,gt=nt(ft);function ft(){var Ft,yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return _e(this,ft),(Ft=gt.call(this,yt)).name=yt.name||"console",Ft.stderrLevels=Ft._stringArrayToSet(yt.stderrLevels),Ft.consoleWarnLevels=Ft._stringArrayToSet(yt.consoleWarnLevels),Ft.eol=typeof yt.eol=="string"?yt.eol:ut.EOL,Ft.setMaxListeners(30),Ft}return Bt=ft,(Qt=[{key:"log",value:function(Ft,yt){var Ct=this;return j(function(){return Ct.emit("logged",Ft)}),this.stderrLevels[Ft[Ut]]?(console._stderr?console._stderr.write("".concat(Ft[st]).concat(this.eol)):console.error(Ft[st]),void(yt&&yt())):this.consoleWarnLevels[Ft[Ut]]?(console._stderr?console._stderr.write("".concat(Ft[st]).concat(this.eol)):console.warn(Ft[st]),void(yt&&yt())):(console._stdout?console._stdout.write("".concat(Ft[st]).concat(this.eol)):console.log(Ft[st]),void(yt&&yt()))}},{key:"_stringArrayToSet",value:function(Ft,yt){if(!Ft)return{};if(yt=yt||"Cannot make set from type other than Array of string elements",!Array.isArray(Ft))throw new Error(yt);return Ft.reduce(function(Ct,xt){if(typeof xt!="string")throw new Error(yt);return Ct[xt]=!0,Ct},{})}}])&&et(Bt.prototype,Qt),Object.defineProperty(Bt,"prototype",{writable:!1}),ft}(ct)}).call(this,_(19).setImmediate)},function(o,s,_){(function(j,$){(function(_e,et){if(!_e.setImmediate){var tt,nt,rt,ot,ut,dt=1,Ut={},st=!1,ct=_e.document,pt=Object.getPrototypeOf&&Object.getPrototypeOf(_e);pt=pt&&pt.setTimeout?pt:_e,{}.toString.call(_e.process)==="[object process]"?tt=function(gt){$.nextTick(function(){Qt(gt)})}:function(){if(_e.postMessage&&!_e.importScripts){var gt=!0,ft=_e.onmessage;return _e.onmessage=function(){gt=!1},_e.postMessage("","*"),_e.onmessage=ft,gt}}()?(ot="setImmediate$"+Math.random()+"$",ut=function(gt){gt.source===_e&&typeof gt.data=="string"&>.data.indexOf(ot)===0&&Qt(+gt.data.slice(ot.length))},_e.addEventListener?_e.addEventListener("message",ut,!1):_e.attachEvent("onmessage",ut),tt=function(gt){_e.postMessage(ot+gt,"*")}):_e.MessageChannel?((rt=new MessageChannel).port1.onmessage=function(gt){Qt(gt.data)},tt=function(gt){rt.port2.postMessage(gt)}):ct&&"onreadystatechange"in ct.createElement("script")?(nt=ct.documentElement,tt=function(gt){var ft=ct.createElement("script");ft.onreadystatechange=function(){Qt(gt),ft.onreadystatechange=null,nt.removeChild(ft),ft=null},nt.appendChild(ft)}):tt=function(gt){setTimeout(Qt,0,gt)},pt.setImmediate=function(gt){typeof gt!="function"&&(gt=new Function(""+gt));for(var ft=new Array(arguments.length-1),Ft=0;Ft"u"?j===void 0?this:j:self)}).call(this,_(6),_(2))},function(o,s,_){s.byteLength=function(ut){var dt=rt(ut),Ut=dt[0],st=dt[1];return 3*(Ut+st)/4-st},s.toByteArray=function(ut){var dt,Ut,st=rt(ut),ct=st[0],pt=st[1],Bt=new _e(function(ft,Ft,yt){return 3*(Ft+yt)/4-yt}(0,ct,pt)),Qt=0,gt=pt>0?ct-4:ct;for(Ut=0;Ut>16&255,Bt[Qt++]=dt>>8&255,Bt[Qt++]=255&dt;return pt===2&&(dt=$[ut.charCodeAt(Ut)]<<2|$[ut.charCodeAt(Ut+1)]>>4,Bt[Qt++]=255&dt),pt===1&&(dt=$[ut.charCodeAt(Ut)]<<10|$[ut.charCodeAt(Ut+1)]<<4|$[ut.charCodeAt(Ut+2)]>>2,Bt[Qt++]=dt>>8&255,Bt[Qt++]=255&dt),Bt},s.fromByteArray=function(ut){for(var dt,Ut=ut.length,st=Ut%3,ct=[],pt=0,Bt=Ut-st;ptBt?Bt:pt+16383));return st===1?(dt=ut[Ut-1],ct.push(j[dt>>2]+j[dt<<4&63]+"==")):st===2&&(dt=(ut[Ut-2]<<8)+ut[Ut-1],ct.push(j[dt>>10]+j[dt>>4&63]+j[dt<<2&63]+"=")),ct.join("")};for(var j=[],$=[],_e=typeof Uint8Array<"u"?Uint8Array:Array,et="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=0,nt=et.length;tt0)throw new Error("Invalid string. Length must be a multiple of 4");var Ut=ut.indexOf("=");return Ut===-1&&(Ut=dt),[Ut,Ut===dt?0:4-Ut%4]}function ot(ut,dt,Ut){for(var st,ct,pt=[],Bt=dt;Bt>18&63]+j[ct>>12&63]+j[ct>>6&63]+j[63&ct]);return pt.join("")}$["-".charCodeAt(0)]=62,$["_".charCodeAt(0)]=63},function(o,s){s.read=function(_,j,$,_e,et){var tt,nt,rt=8*et-_e-1,ot=(1<>1,dt=-7,Ut=$?et-1:0,st=$?-1:1,ct=_[j+Ut];for(Ut+=st,tt=ct&(1<<-dt)-1,ct>>=-dt,dt+=rt;dt>0;tt=256*tt+_[j+Ut],Ut+=st,dt-=8);for(nt=tt&(1<<-dt)-1,tt>>=-dt,dt+=_e;dt>0;nt=256*nt+_[j+Ut],Ut+=st,dt-=8);if(tt===0)tt=1-ut;else{if(tt===ot)return nt?NaN:1/0*(ct?-1:1);nt+=Math.pow(2,_e),tt-=ut}return(ct?-1:1)*nt*Math.pow(2,tt-_e)},s.write=function(_,j,$,_e,et,tt){var nt,rt,ot,ut=8*tt-et-1,dt=(1<>1,st=et===23?Math.pow(2,-24)-Math.pow(2,-77):0,ct=_e?0:tt-1,pt=_e?1:-1,Bt=j<0||j===0&&1/j<0?1:0;for(j=Math.abs(j),isNaN(j)||j===1/0?(rt=isNaN(j)?1:0,nt=dt):(nt=Math.floor(Math.log(j)/Math.LN2),j*(ot=Math.pow(2,-nt))<1&&(nt--,ot*=2),(j+=nt+Ut>=1?st/ot:st*Math.pow(2,1-Ut))*ot>=2&&(nt++,ot/=2),nt+Ut>=dt?(rt=0,nt=dt):nt+Ut>=1?(rt=(j*ot-1)*Math.pow(2,et),nt+=Ut):(rt=j*Math.pow(2,Ut-1)*Math.pow(2,et),nt=0));et>=8;_[$+ct]=255&rt,ct+=pt,rt/=256,et-=8);for(nt=nt<0;_[$+ct]=255&nt,ct+=pt,nt/=256,ut-=8);_[$+ct-pt]|=128*Bt}},function(o,s){var _={}.toString;o.exports=Array.isArray||function(j){return _.call(j)=="[object Array]"}},function(o,s,_){(function(j,$){var _e;o.exports=mt,mt.ReadableState=ht,_(20).EventEmitter;var et=function(Dt,wt){return Dt.listeners(wt).length},tt=_(62),nt=_(5).Buffer,rt=(j!==void 0?j:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},ot,ut=_(144);ot=ut&&ut.debuglog?ut.debuglog("stream"):function(){};var dt,Ut,st,ct=_(145),pt=_(63),Bt=_(64).getHighWaterMark,Qt=_(35).codes,gt=Qt.ERR_INVALID_ARG_TYPE,ft=Qt.ERR_STREAM_PUSH_AFTER_EOF,Ft=Qt.ERR_METHOD_NOT_IMPLEMENTED,yt=Qt.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;_(7)(mt,tt);var Ct=pt.errorOrDestroy,xt=["error","close","destroy","pause","resume"];function ht(Dt,wt,Et){_e=_e||_(36),Dt=Dt||{},typeof Et!="boolean"&&(Et=wt instanceof _e),this.objectMode=!!Dt.objectMode,Et&&(this.objectMode=this.objectMode||!!Dt.readableObjectMode),this.highWaterMark=Bt(this,Dt,"readableHighWaterMark",Et),this.buffer=new ct,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=Dt.emitClose!==!1,this.autoDestroy=!!Dt.autoDestroy,this.destroyed=!1,this.defaultEncoding=Dt.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,Dt.encoding&&(dt||(dt=_(21).StringDecoder),this.decoder=new dt(Dt.encoding),this.encoding=Dt.encoding)}function mt(Dt){if(_e=_e||_(36),!(this instanceof mt))return new mt(Dt);var wt=this instanceof _e;this._readableState=new ht(Dt,this,wt),this.readable=!0,Dt&&(typeof Dt.read=="function"&&(this._read=Dt.read),typeof Dt.destroy=="function"&&(this._destroy=Dt.destroy)),tt.call(this)}function It(Dt,wt,Et,kt,Pt){ot("readableAddChunk",wt);var Kt,Ht=Dt._readableState;if(wt===null)Ht.reading=!1,function(on,sn){if(ot("onEofChunk"),!sn.ended){if(sn.decoder){var gn=sn.decoder.end();gn&&gn.length&&(sn.buffer.push(gn),sn.length+=sn.objectMode?1:gn.length)}sn.ended=!0,sn.sync?Ot(on):(sn.needReadable=!1,sn.emittedReadable||(sn.emittedReadable=!0,_t(on)))}}(Dt,Ht);else if(Pt||(Kt=function(on,sn){var gn;Cn=sn,nt.isBuffer(Cn)||Cn instanceof rt||typeof sn=="string"||sn===void 0||on.objectMode||(gn=new gt("chunk",["string","Buffer","Uint8Array"],sn));var Cn;return gn}(Ht,wt)),Kt)Ct(Dt,Kt);else if(Ht.objectMode||wt&&wt.length>0)if(typeof wt=="string"||Ht.objectMode||Object.getPrototypeOf(wt)===nt.prototype||(wt=function(on){return nt.from(on)}(wt)),kt)Ht.endEmitted?Ct(Dt,new yt):vt(Dt,Ht,wt,!0);else if(Ht.ended)Ct(Dt,new ft);else{if(Ht.destroyed)return!1;Ht.reading=!1,Ht.decoder&&!Et?(wt=Ht.decoder.write(wt),Ht.objectMode||wt.length!==0?vt(Dt,Ht,wt,!1):Wt(Dt,Ht)):vt(Dt,Ht,wt,!1)}else kt||(Ht.reading=!1,Wt(Dt,Ht));return!Ht.ended&&(Ht.lengthwt.highWaterMark&&(wt.highWaterMark=function(Et){return Et>=1073741824?Et=1073741824:(Et--,Et|=Et>>>1,Et|=Et>>>2,Et|=Et>>>4,Et|=Et>>>8,Et|=Et>>>16,Et++),Et}(Dt)),Dt<=wt.length?Dt:wt.ended?wt.length:(wt.needReadable=!0,0))}function Ot(Dt){var wt=Dt._readableState;ot("emitReadable",wt.needReadable,wt.emittedReadable),wt.needReadable=!1,wt.emittedReadable||(ot("emitReadable",wt.flowing),wt.emittedReadable=!0,$.nextTick(_t,Dt))}function _t(Dt){var wt=Dt._readableState;ot("emitReadable_",wt.destroyed,wt.length,wt.ended),wt.destroyed||!wt.length&&!wt.ended||(Dt.emit("readable"),wt.emittedReadable=!1),wt.needReadable=!wt.flowing&&!wt.ended&&wt.length<=wt.highWaterMark,jt(Dt)}function Wt(Dt,wt){wt.readingMore||(wt.readingMore=!0,$.nextTick(bt,Dt,wt))}function bt(Dt,wt){for(;!wt.reading&&!wt.ended&&(wt.length0,wt.resumeScheduled&&!wt.paused?wt.flowing=!0:Dt.listenerCount("data")>0&&Dt.resume()}function Zt(Dt){ot("readable nexttick read 0"),Dt.read(0)}function Vt(Dt,wt){ot("resume",wt.reading),wt.reading||Dt.read(0),wt.resumeScheduled=!1,Dt.emit("resume"),jt(Dt),wt.flowing&&!wt.reading&&Dt.read(0)}function jt(Dt){var wt=Dt._readableState;for(ot("flow",wt.flowing);wt.flowing&&Dt.read()!==null;);}function zt(Dt,wt){return wt.length===0?null:(wt.objectMode?Et=wt.buffer.shift():!Dt||Dt>=wt.length?(Et=wt.decoder?wt.buffer.join(""):wt.buffer.length===1?wt.buffer.first():wt.buffer.concat(wt.length),wt.buffer.clear()):Et=wt.buffer.consume(Dt,wt.decoder),Et);var Et}function $t(Dt){var wt=Dt._readableState;ot("endReadable",wt.endEmitted),wt.endEmitted||(wt.ended=!0,$.nextTick(nn,wt,Dt))}function nn(Dt,wt){if(ot("endReadableNT",Dt.endEmitted,Dt.length),!Dt.endEmitted&&Dt.length===0&&(Dt.endEmitted=!0,wt.readable=!1,wt.emit("end"),Dt.autoDestroy)){var Et=wt._writableState;(!Et||Et.autoDestroy&&Et.finished)&&wt.destroy()}}function rn(Dt,wt){for(var Et=0,kt=Dt.length;Et=wt.highWaterMark:wt.length>0)||wt.ended))return ot("read: emitReadable",wt.length,wt.ended),wt.length===0&&wt.ended?$t(this):Ot(this),null;if((Dt=Tt(Dt,wt))===0&&wt.ended)return wt.length===0&&$t(this),null;var kt,Pt=wt.needReadable;return ot("need readable",Pt),(wt.length===0||wt.length-Dt0?zt(Dt,wt):null)===null?(wt.needReadable=wt.length<=wt.highWaterMark,Dt=0):(wt.length-=Dt,wt.awaitDrain=0),wt.length===0&&(wt.ended||(wt.needReadable=!0),Et!==Dt&&wt.ended&&$t(this)),kt!==null&&this.emit("data",kt),kt},mt.prototype._read=function(Dt){Ct(this,new Ft("_read()"))},mt.prototype.pipe=function(Dt,wt){var Et=this,kt=this._readableState;switch(kt.pipesCount){case 0:kt.pipes=Dt;break;case 1:kt.pipes=[kt.pipes,Dt];break;default:kt.pipes.push(Dt)}kt.pipesCount+=1,ot("pipe count=%d opts=%j",kt.pipesCount,wt);var Pt=(!wt||wt.end!==!1)&&Dt!==$.stdout&&Dt!==$.stderr?Ht:rr;function Kt(An,Dn){ot("onunpipe"),An===Et&&Dn&&Dn.hasUnpiped===!1&&(Dn.hasUnpiped=!0,ot("cleanup"),Dt.removeListener("close",In),Dt.removeListener("finish",Mn),Dt.removeListener("drain",on),Dt.removeListener("error",Cn),Dt.removeListener("unpipe",Kt),Et.removeListener("end",Ht),Et.removeListener("end",rr),Et.removeListener("data",gn),sn=!0,!kt.awaitDrain||Dt._writableState&&!Dt._writableState.needDrain||on())}function Ht(){ot("onend"),Dt.end()}kt.endEmitted?$.nextTick(Pt):Et.once("end",Pt),Dt.on("unpipe",Kt);var on=function(An){return function(){var Dn=An._readableState;ot("pipeOnDrain",Dn.awaitDrain),Dn.awaitDrain&&Dn.awaitDrain--,Dn.awaitDrain===0&&et(An,"data")&&(Dn.flowing=!0,jt(An))}}(Et);Dt.on("drain",on);var sn=!1;function gn(An){ot("ondata");var Dn=Dt.write(An);ot("dest.write",Dn),Dn===!1&&((kt.pipesCount===1&&kt.pipes===Dt||kt.pipesCount>1&&rn(kt.pipes,Dt)!==-1)&&!sn&&(ot("false write response, pause",kt.awaitDrain),kt.awaitDrain++),Et.pause())}function Cn(An){ot("onerror",An),rr(),Dt.removeListener("error",Cn),et(Dt,"error")===0&&Ct(Dt,An)}function In(){Dt.removeListener("finish",Mn),rr()}function Mn(){ot("onfinish"),Dt.removeListener("close",In),rr()}function rr(){ot("unpipe"),Et.unpipe(Dt)}return Et.on("data",gn),function(An,Dn,Hn){if(typeof An.prependListener=="function")return An.prependListener(Dn,Hn);An._events&&An._events[Dn]?Array.isArray(An._events[Dn])?An._events[Dn].unshift(Hn):An._events[Dn]=[Hn,An._events[Dn]]:An.on(Dn,Hn)}(Dt,"error",Cn),Dt.once("close",In),Dt.once("finish",Mn),Dt.emit("pipe",Et),kt.flowing||(ot("pipe resume"),Et.resume()),Dt},mt.prototype.unpipe=function(Dt){var wt=this._readableState,Et={hasUnpiped:!1};if(wt.pipesCount===0)return this;if(wt.pipesCount===1)return Dt&&Dt!==wt.pipes||(Dt||(Dt=wt.pipes),wt.pipes=null,wt.pipesCount=0,wt.flowing=!1,Dt&&Dt.emit("unpipe",this,Et)),this;if(!Dt){var kt=wt.pipes,Pt=wt.pipesCount;wt.pipes=null,wt.pipesCount=0,wt.flowing=!1;for(var Kt=0;Kt0,kt.flowing!==!1&&this.resume()):Dt==="readable"&&(kt.endEmitted||kt.readableListening||(kt.readableListening=kt.needReadable=!0,kt.flowing=!1,kt.emittedReadable=!1,ot("on readable",kt.length,kt.reading),kt.length?Ot(this):kt.reading||$.nextTick(Zt,this))),Et},mt.prototype.addListener=mt.prototype.on,mt.prototype.removeListener=function(Dt,wt){var Et=tt.prototype.removeListener.call(this,Dt,wt);return Dt==="readable"&&$.nextTick(Jt,this),Et},mt.prototype.removeAllListeners=function(Dt){var wt=tt.prototype.removeAllListeners.apply(this,arguments);return Dt!=="readable"&&Dt!==void 0||$.nextTick(Jt,this),wt},mt.prototype.resume=function(){var Dt=this._readableState;return Dt.flowing||(ot("resume"),Dt.flowing=!Dt.readableListening,function(wt,Et){Et.resumeScheduled||(Et.resumeScheduled=!0,$.nextTick(Vt,wt,Et))}(this,Dt)),Dt.paused=!1,this},mt.prototype.pause=function(){return ot("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(ot("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},mt.prototype.wrap=function(Dt){var wt=this,Et=this._readableState,kt=!1;for(var Pt in Dt.on("end",function(){if(ot("wrapped end"),Et.decoder&&!Et.ended){var Ht=Et.decoder.end();Ht&&Ht.length&&wt.push(Ht)}wt.push(null)}),Dt.on("data",function(Ht){ot("wrapped data"),Et.decoder&&(Ht=Et.decoder.write(Ht)),Et.objectMode&&Ht==null||(Et.objectMode||Ht&&Ht.length)&&(wt.push(Ht)||(kt=!0,Dt.pause()))}),Dt)this[Pt]===void 0&&typeof Dt[Pt]=="function"&&(this[Pt]=function(Ht){return function(){return Dt[Ht].apply(Dt,arguments)}}(Pt));for(var Kt=0;Kt0?this.tail.next=ct:this.head=ct,this.tail=ct,++this.length}},{key:"unshift",value:function(st){var ct={data:st,next:this.head};this.length===0&&(this.tail=ct),this.head=ct,++this.length}},{key:"shift",value:function(){if(this.length!==0){var st=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,st}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(st){if(this.length===0)return"";for(var ct=this.head,pt=""+ct.data;ct=ct.next;)pt+=st+ct.data;return pt}},{key:"concat",value:function(st){if(this.length===0)return nt.alloc(0);for(var ct,pt,Bt,Qt=nt.allocUnsafe(st>>>0),gt=this.head,ft=0;gt;)ct=gt.data,pt=Qt,Bt=ft,nt.prototype.copy.call(ct,pt,Bt),ft+=gt.data.length,gt=gt.next;return Qt}},{key:"consume",value:function(st,ct){var pt;return stQt.length?Qt.length:st;if(gt===Qt.length?Bt+=Qt:Bt+=Qt.slice(0,st),(st-=gt)==0){gt===Qt.length?(++pt,ct.next?this.head=ct.next:this.head=this.tail=null):(this.head=ct,ct.data=Qt.slice(gt));break}++pt}return this.length-=pt,Bt}},{key:"_getBuffer",value:function(st){var ct=nt.allocUnsafe(st),pt=this.head,Bt=1;for(pt.data.copy(ct),st-=pt.data.length;pt=pt.next;){var Qt=pt.data,gt=st>Qt.length?Qt.length:st;if(Qt.copy(ct,ct.length-st,0,gt),(st-=gt)==0){gt===Qt.length?(++Bt,pt.next?this.head=pt.next:this.head=this.tail=null):(this.head=pt,pt.data=Qt.slice(gt));break}++Bt}return this.length-=Bt,ct}},{key:ot,value:function(st,ct){return rt(this,$($({},ct),{},{depth:0,customInspect:!1}))}}])&&et(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}()},function(o,s){},function(o,s,_){var j=_(5),$=j.Buffer;function _e(tt,nt){for(var rt in tt)nt[rt]=tt[rt]}function et(tt,nt,rt){return $(tt,nt,rt)}$.from&&$.alloc&&$.allocUnsafe&&$.allocUnsafeSlow?o.exports=j:(_e(j,s),s.Buffer=et),_e($,et),et.from=function(tt,nt,rt){if(typeof tt=="number")throw new TypeError("Argument must not be a number");return $(tt,nt,rt)},et.alloc=function(tt,nt,rt){if(typeof tt!="number")throw new TypeError("Argument must be a number");var ot=$(tt);return nt!==void 0?typeof rt=="string"?ot.fill(nt,rt):ot.fill(nt):ot.fill(0),ot},et.allocUnsafe=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return $(tt)},et.allocUnsafeSlow=function(tt){if(typeof tt!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(tt)}},function(o,s,_){(function(j){var $;function _e(gt,ft,Ft){return(ft=function(yt){var Ct=function(xt,ht){if(typeof xt!="object"||xt===null)return xt;var mt=xt[Symbol.toPrimitive];if(mt!==void 0){var It=mt.call(xt,ht||"default");if(typeof It!="object")return It;throw new TypeError("@@toPrimitive must return a primitive value.")}return(ht==="string"?String:Number)(xt)}(yt,"string");return typeof Ct=="symbol"?Ct:String(Ct)}(ft))in gt?Object.defineProperty(gt,ft,{value:Ft,enumerable:!0,configurable:!0,writable:!0}):gt[ft]=Ft,gt}var et=_(149),tt=Symbol("lastResolve"),nt=Symbol("lastReject"),rt=Symbol("error"),ot=Symbol("ended"),ut=Symbol("lastPromise"),dt=Symbol("handlePromise"),Ut=Symbol("stream");function st(gt,ft){return{value:gt,done:ft}}function ct(gt){var ft=gt[tt];if(ft!==null){var Ft=gt[Ut].read();Ft!==null&&(gt[ut]=null,gt[tt]=null,gt[nt]=null,ft(st(Ft,!1)))}}function pt(gt){j.nextTick(ct,gt)}var Bt=Object.getPrototypeOf(function(){}),Qt=Object.setPrototypeOf((_e($={get stream(){return this[Ut]},next:function(){var gt=this,ft=this[rt];if(ft!==null)return Promise.reject(ft);if(this[ot])return Promise.resolve(st(void 0,!0));if(this[Ut].destroyed)return new Promise(function(xt,ht){j.nextTick(function(){gt[rt]?ht(gt[rt]):xt(st(void 0,!0))})});var Ft,yt=this[ut];if(yt)Ft=new Promise(function(xt,ht){return function(mt,It){xt.then(function(){ht[ot]?mt(st(void 0,!0)):ht[dt](mt,It)},It)}}(yt,this));else{var Ct=this[Ut].read();if(Ct!==null)return Promise.resolve(st(Ct,!1));Ft=new Promise(this[dt])}return this[ut]=Ft,Ft}},Symbol.asyncIterator,function(){return this}),_e($,"return",function(){var gt=this;return new Promise(function(ft,Ft){gt[Ut].destroy(null,function(yt){yt?Ft(yt):ft(st(void 0,!0))})})}),$),Bt);o.exports=function(gt){var ft,Ft=Object.create(Qt,(_e(ft={},Ut,{value:gt,writable:!0}),_e(ft,tt,{value:null,writable:!0}),_e(ft,nt,{value:null,writable:!0}),_e(ft,rt,{value:null,writable:!0}),_e(ft,ot,{value:gt._readableState.endEmitted,writable:!0}),_e(ft,dt,{value:function(yt,Ct){var xt=Ft[Ut].read();xt?(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,yt(st(xt,!1))):(Ft[tt]=yt,Ft[nt]=Ct)},writable:!0}),ft));return Ft[ut]=null,et(gt,function(yt){if(yt&&yt.code!=="ERR_STREAM_PREMATURE_CLOSE"){var Ct=Ft[nt];return Ct!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,Ct(yt)),void(Ft[rt]=yt)}var xt=Ft[tt];xt!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,xt(st(void 0,!0))),Ft[ot]=!0}),gt.on("readable",pt.bind(null,Ft)),Ft}}).call(this,_(2))},function(o,s,_){var j=_(35).codes.ERR_STREAM_PREMATURE_CLOSE;function $(){}o.exports=function _e(et,tt,nt){if(typeof tt=="function")return _e(et,null,tt);tt||(tt={}),nt=function(gt){var ft=!1;return function(){if(!ft){ft=!0;for(var Ft=arguments.length,yt=new Array(Ft),Ct=0;Ct0&&arguments[0]!==void 0?arguments[0]:{};if(_e.call(this,tt),!tt.transport||typeof tt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");function nt(rt){this.emit("error",rt,this.transport)}this.transport=tt.transport,this.level=this.level||tt.transport.level,this.handleExceptions=this.handleExceptions||tt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=nt.bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(et,_e),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);(!this.level||this.levels[this.level]>=this.levels[tt[$]])&&this.transport.log(tt[$],tt.message,tt,this._nop),rt(null)},et.prototype._writev=function(tt,nt){for(var rt=0;rt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var It,vt=dt(ht);if(mt){var Tt=dt(this).constructor;It=Reflect.construct(vt,arguments,Tt)}else It=vt.apply(this,arguments);return ot(this,It)}}function ot(ht,mt){if(mt&&(_e(mt)==="object"||typeof mt=="function"))return mt;if(mt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ut(ht)}function ut(ht){if(ht===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ht}function dt(ht){return(dt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(mt){return mt.__proto__||Object.getPrototypeOf(mt)})(ht)}var Ut=_(65),st=_(55),ct=_(153),pt=_(163),Bt=_(4).MESSAGE,Qt=_(33),gt=Qt.Stream,ft=Qt.PassThrough,Ft=_(14),yt=_(39)("winston:file"),Ct=_(16),xt=_(193);o.exports=function(ht){(function(Ot,_t){if(typeof _t!="function"&&_t!==null)throw new TypeError("Super expression must either be null or a function");Ot.prototype=Object.create(_t&&_t.prototype,{constructor:{value:Ot,writable:!0,configurable:!0}}),Object.defineProperty(Ot,"prototype",{writable:!1}),_t&&nt(Ot,_t)})(Tt,ht);var mt,It,vt=rt(Tt);function Tt(){var Ot,_t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};function Wt(bt){for(var Jt=arguments.length,Zt=new Array(Jt>1?Jt-1:0),Vt=1;Vt1&&arguments[1]!==void 0?arguments[1]:function(){};if(this.silent)return Wt(),!0;if(this._drain)this._stream.once("drain",function(){_t._drain=!1,_t.log(Ot,Wt)});else{if(!this._rotate){var bt="".concat(Ot[Bt]).concat(this.eol),Jt=$.byteLength(bt);this._pendingSize+=Jt,this._opening&&!this.rotatedWhileOpening&&this._needsNewFile(this._size+this._pendingSize)&&(this.rotatedWhileOpening=!0);var Zt=this._stream.write(bt,Vt.bind(this));return Zt?Wt():(this._drain=!0,this._stream.once("drain",function(){_t._drain=!1,Wt()})),yt("written",Zt,this._drain),this.finishIfEnding(),Zt}this._stream.once("rotate",function(){_t._rotate=!1,_t.log(Ot,Wt)})}function Vt(){var jt=this;this._size+=Jt,this._pendingSize-=Jt,yt("logged %s %s",this._size,bt),this.emit("logged",Ot),this._opening||this._needsNewFile()&&(this._rotate=!0,this._endStream(function(){return jt._rotateFile()}))}}},{key:"query",value:function(Ot,_t){typeof Ot=="function"&&(_t=Ot,Ot={}),Ot=function(zt){return(zt=zt||{}).rows=zt.rows||zt.limit||10,zt.start=zt.start||0,zt.until=zt.until||new Date,_e(zt.until)!=="object"&&(zt.until=new Date(zt.until)),zt.from=zt.from||zt.until-864e5,_e(zt.from)!=="object"&&(zt.from=new Date(zt.from)),zt.order=zt.order||"desc",zt}(Ot);var Wt=st.join(this.dirname,this.filename),bt="",Jt=[],Zt=0,Vt=Ut.createReadStream(Wt,{encoding:"utf8"});function jt(zt,$t){try{var nn=JSON.parse(zt);(function(rn){if(rn&&_e(rn)==="object"){var Dt=new Date(rn.timestamp);if(!(Ot.from&&DtOt.until||Ot.level&&Ot.level!==rn.level))return!0}})(nn)&&function(rn){Ot.rows&&Jt.length>=Ot.rows&&Ot.order!=="desc"?Vt.readable&&Vt.destroy():(Ot.fields&&(rn=Ot.fields.reduce(function(Dt,wt){return Dt[wt]=rn[wt],Dt},{})),Ot.order==="desc"&&Jt.length>=Ot.rows&&Jt.shift(),Jt.push(rn))}(nn)}catch(rn){$t||Vt.emit("error",rn)}}Vt.on("error",function(zt){if(Vt.readable&&Vt.destroy(),_t)return zt.code!=="ENOENT"?_t(zt):_t(null,Jt)}),Vt.on("data",function(zt){for(var $t=(zt=(bt+zt).split(/\n+/)).length-1,nn=0;nn<$t;nn++)(!Ot.start||Zt>=Ot.start)&&jt(zt[nn]),Zt++;bt=zt[$t]}),Vt.on("close",function(){bt&&jt(bt,!0),Ot.order==="desc"&&(Jt=Jt.reverse()),_t&&_t(null,Jt)})}},{key:"stream",value:function(){var Ot=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_t=st.join(this.dirname,this.filename),Wt=new gt,bt={file:_t,start:Ot.start};return Wt.destroy=xt(bt,function(Jt,Zt){if(Jt)return Wt.emit("error",Jt);try{Wt.emit("data",Zt),Zt=JSON.parse(Zt),Wt.emit("log",Zt)}catch(Vt){Wt.emit("error",Vt)}}),Wt}},{key:"open",value:function(){var Ot=this;this.filename&&(this._opening||(this._opening=!0,this.stat(function(_t,Wt){if(_t)return Ot.emit("error",_t);yt("stat done: %s { size: %s }",Ot.filename,Wt),Ot._size=Wt,Ot._dest=Ot._createStream(Ot._stream),Ot._opening=!1,Ot.once("open",function(){Ot._stream.eventNames().includes("rotate")?Ot._stream.emit("rotate"):Ot._rotate=!1})})))}},{key:"stat",value:function(Ot){var _t=this,Wt=this._getFile(),bt=st.join(this.dirname,Wt);Ut.stat(bt,function(Jt,Zt){return Jt&&Jt.code==="ENOENT"?(yt("ENOENT ok",bt),_t.filename=Wt,Ot(null,0)):Jt?(yt("err ".concat(Jt.code," ").concat(bt)),Ot(Jt)):!Zt||_t._needsNewFile(Zt.size)?_t._incFile(function(){return _t.stat(Ot)}):(_t.filename=Wt,void Ot(null,Zt.size))})}},{key:"close",value:function(Ot){var _t=this;this._stream&&this._stream.end(function(){Ot&&Ot(),_t.emit("flush"),_t.emit("closed")})}},{key:"_needsNewFile",value:function(Ot){return Ot=Ot||this._size,this.maxsize&&Ot>=this.maxsize}},{key:"_onError",value:function(Ot){this.emit("error",Ot)}},{key:"_setupStream",value:function(Ot){return Ot.on("error",this._onError),Ot}},{key:"_cleanupStream",value:function(Ot){return Ot.removeListener("error",this._onError),Ot}},{key:"_rotateFile",value:function(){var Ot=this;this._incFile(function(){return Ot.open()})}},{key:"_endStream",value:function(){var Ot=this,_t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(){};this._dest?(this._stream.unpipe(this._dest),this._dest.end(function(){Ot._cleanupStream(Ot._dest),_t()})):_t()}},{key:"_createStream",value:function(Ot){var _t=this,Wt=st.join(this.dirname,this.filename);yt("create stream start",Wt,this.options);var bt=Ut.createWriteStream(Wt,this.options).on("error",function(Zt){return yt(Zt)}).on("close",function(){return yt("close",bt.path,bt.bytesWritten)}).on("open",function(){yt("file open ok",Wt),_t.emit("open",Wt),Ot.pipe(bt),_t.rotatedWhileOpening&&(_t._stream=new ft,_t._stream.setMaxListeners(30),_t._rotateFile(),_t.rotatedWhileOpening=!1,_t._cleanupStream(bt),Ot.end())});if(yt("create stream ok",Wt),this.zippedArchive){var Jt=pt.createGzip();return Jt.pipe(bt),Jt}return bt}},{key:"_incFile",value:function(Ot){yt("_incFile",this.filename);var _t=st.extname(this._basename),Wt=st.basename(this._basename,_t);this.tailable?this._checkMaxFilesTailable(_t,Wt,Ot):(this._created+=1,this._checkMaxFilesIncrementing(_t,Wt,Ot))}},{key:"_getFile",value:function(){var Ot=st.extname(this._basename),_t=st.basename(this._basename,Ot),Wt=this.rotationFormat?this.rotationFormat():this._created,bt=!this.tailable&&this._created?"".concat(_t).concat(Wt).concat(Ot):"".concat(_t).concat(Ot);return this.zippedArchive&&!this.tailable?"".concat(bt,".gz"):bt}},{key:"_checkMaxFilesIncrementing",value:function(Ot,_t,Wt){if(!this.maxFiles||this._created1;Vt--)Jt.push((function(jt,zt){var $t=this,nn="".concat(_t).concat(jt-1).concat(Ot).concat(Zt),rn=st.join(this.dirname,nn);Ut.exists(rn,function(Dt){if(!Dt)return zt(null);nn="".concat(_t).concat(jt).concat(Ot).concat(Zt),Ut.rename(rn,st.join($t.dirname,nn),zt)})}).bind(this,Vt));ct(Jt,function(){Ut.rename(st.join(bt.dirname,"".concat(_t).concat(Ot)),st.join(bt.dirname,"".concat(_t,"1").concat(Ot).concat(Zt)),Wt)})}}},{key:"_createLogDirIfNotExist",value:function(Ot){Ut.existsSync(Ot)||Ut.mkdirSync(Ot,{recursive:!0})}}])&&tt(mt.prototype,It),Object.defineProperty(mt,"prototype",{writable:!1}),Tt}(Ft)}).call(this,_(19).setImmediate,_(5).Buffer)},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(et,tt){return(0,j.default)($.default,et,tt)};var j=_e(_(154)),$=_e(_(158));function _e(et){return et&&et.__esModule?et:{default:et}}o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=et(_(44)),$=et(_(23)),_e=et(_(30));function et(tt){return tt&&tt.__esModule?tt:{default:tt}}s.default=(0,_e.default)((tt,nt,rt)=>{var ot=(0,j.default)(nt)?[]:{};tt(nt,(ut,dt,Ut)=>{(0,$.default)(ut)((st,...ct)=>{ct.length<2&&([ct]=ct),ot[dt]=ct,Ut(st)})},ut=>rt(ut,ot))},3),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(rt){return(0,_e.isAsync)(rt)?function(...ot){const ut=ot.pop();return tt(rt.apply(this,ot),ut)}:(0,j.default)(function(ot,ut){var dt;try{dt=rt.apply(this,ot)}catch(Ut){return ut(Ut)}if(dt&&typeof dt.then=="function")return tt(dt,ut);ut(null,dt)})};var j=et(_(156)),$=et(_(157)),_e=_(23);function et(rt){return rt&&rt.__esModule?rt:{default:rt}}function tt(rt,ot){return rt.then(ut=>{nt(ot,null,ut)},ut=>{nt(ot,ut&&ut.message?ut:new Error(ut))})}function nt(rt,ot,ut){try{rt(ot,ut)}catch(dt){(0,$.default)(Ut=>{throw Ut},dt)}}o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0}),s.default=function(j){return function(...$){var _e=$.pop();return j.call(this,$,_e)}},o.exports=s.default},function(o,s,_){(function(j,$){Object.defineProperty(s,"__esModule",{value:!0}),s.fallback=rt,s.wrap=ot;var _e,et=s.hasQueueMicrotask=typeof queueMicrotask=="function"&&queueMicrotask,tt=s.hasSetImmediate=typeof j=="function"&&j,nt=s.hasNextTick=typeof $=="object"&&typeof $.nextTick=="function";function rt(ut){setTimeout(ut,0)}function ot(ut){return(dt,...Ut)=>ut(()=>dt(...Ut))}_e=et?queueMicrotask:tt?j:nt?$.nextTick:rt,s.default=ot(_e)}).call(this,_(19).setImmediate,_(2))},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=_e(_(66)),$=_e(_(30));function _e(et){return et&&et.__esModule?et:{default:et}}s.default=(0,$.default)(function(et,tt,nt){return(0,j.default)(et,1,tt,nt)},3),o.exports=s.default},function(o,s,_){Object.defineProperty(s,"__esModule",{value:!0});var j=rt(_(67)),$=rt(_(160)),_e=rt(_(68)),et=_(23),tt=rt(_(162)),nt=rt(_(45));function rt(ot){return ot&&ot.__esModule?ot:{default:ot}}s.default=ot=>(ut,dt,Ut)=>{if(Ut=(0,j.default)(Ut),ot<=0)throw new RangeError("concurrency limit cannot be less than 1");if(!ut)return Ut(null);if((0,et.isAsyncGenerator)(ut))return(0,tt.default)(ut,ot,dt,Ut);if((0,et.isAsyncIterable)(ut))return(0,tt.default)(ut[Symbol.asyncIterator](),ot,dt,Ut);var st=(0,$.default)(ut),ct=!1,pt=!1,Bt=0,Qt=!1;function gt(Ft,yt){if(!pt)if(Bt-=1,Ft)ct=!0,Ut(Ft);else if(Ft===!1)ct=!0,pt=!0;else{if(yt===nt.default||ct&&Bt<=0)return ct=!0,Ut(null);Qt||ft()}}function ft(){for(Qt=!0;Bt=tt||dt||ot||(dt=!0,et.next().then(({value:Qt,done:gt})=>{if(!ut&&!ot){if(dt=!1,gt)return ot=!0,void(Ut<=0&&rt(null));Ut++,nt(Qt,st,pt),st++,ct()}}).catch(Bt))}function pt(Qt,gt){if(Ut-=1,!ut)return Qt?Bt(Qt):Qt===!1?(ot=!0,void(ut=!0)):gt===_e.default||ot&&Ut<=0?(ot=!0,rt(null)):void ct()}function Bt(Qt){ut||(dt=!1,ot=!0,rt(Qt))}ct()};var j,$=_(45),_e=(j=$)&&j.__esModule?j:{default:j};o.exports=s.default},function(o,s,_){(function(j){var $=_(5).Buffer,_e=_(164).Transform,et=_(174),tt=_(13),nt=_(73).ok,rt=_(5).kMaxLength,ot="Cannot create final Buffer. It would be larger than 0x"+rt.toString(16)+" bytes";et.Z_MIN_WINDOWBITS=8,et.Z_MAX_WINDOWBITS=15,et.Z_DEFAULT_WINDOWBITS=15,et.Z_MIN_CHUNK=64,et.Z_MAX_CHUNK=1/0,et.Z_DEFAULT_CHUNK=16384,et.Z_MIN_MEMLEVEL=1,et.Z_MAX_MEMLEVEL=9,et.Z_DEFAULT_MEMLEVEL=8,et.Z_MIN_LEVEL=-1,et.Z_MAX_LEVEL=9,et.Z_DEFAULT_LEVEL=et.Z_DEFAULT_COMPRESSION;for(var ut=Object.keys(et),dt=0;dt=rt?$t=new RangeError(ot):zt=$.concat(Jt,Zt),Jt=[],_t.close(),bt($t,zt)}_t.on("error",function(zt){_t.removeListener("end",jt),_t.removeListener("readable",Vt),bt(zt)}),_t.on("end",jt),_t.end(Wt),Vt()}function gt(_t,Wt){if(typeof Wt=="string"&&(Wt=$.from(Wt)),!$.isBuffer(Wt))throw new TypeError("Not a string or buffer");var bt=_t._finishFlushFlag;return _t._processChunk(Wt,bt)}function ft(_t){if(!(this instanceof ft))return new ft(_t);vt.call(this,_t,et.DEFLATE)}function Ft(_t){if(!(this instanceof Ft))return new Ft(_t);vt.call(this,_t,et.INFLATE)}function yt(_t){if(!(this instanceof yt))return new yt(_t);vt.call(this,_t,et.GZIP)}function Ct(_t){if(!(this instanceof Ct))return new Ct(_t);vt.call(this,_t,et.GUNZIP)}function xt(_t){if(!(this instanceof xt))return new xt(_t);vt.call(this,_t,et.DEFLATERAW)}function ht(_t){if(!(this instanceof ht))return new ht(_t);vt.call(this,_t,et.INFLATERAW)}function mt(_t){if(!(this instanceof mt))return new mt(_t);vt.call(this,_t,et.UNZIP)}function It(_t){return _t===et.Z_NO_FLUSH||_t===et.Z_PARTIAL_FLUSH||_t===et.Z_SYNC_FLUSH||_t===et.Z_FULL_FLUSH||_t===et.Z_FINISH||_t===et.Z_BLOCK}function vt(_t,Wt){var bt=this;if(this._opts=_t=_t||{},this._chunkSize=_t.chunkSize||s.Z_DEFAULT_CHUNK,_e.call(this,_t),_t.flush&&!It(_t.flush))throw new Error("Invalid flush flag: "+_t.flush);if(_t.finishFlush&&!It(_t.finishFlush))throw new Error("Invalid flush flag: "+_t.finishFlush);if(this._flushFlag=_t.flush||et.Z_NO_FLUSH,this._finishFlushFlag=_t.finishFlush!==void 0?_t.finishFlush:et.Z_FINISH,_t.chunkSize&&(_t.chunkSizes.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+_t.chunkSize);if(_t.windowBits&&(_t.windowBitss.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+_t.windowBits);if(_t.level&&(_t.levels.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+_t.level);if(_t.memLevel&&(_t.memLevels.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+_t.memLevel);if(_t.strategy&&_t.strategy!=s.Z_FILTERED&&_t.strategy!=s.Z_HUFFMAN_ONLY&&_t.strategy!=s.Z_RLE&&_t.strategy!=s.Z_FIXED&&_t.strategy!=s.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+_t.strategy);if(_t.dictionary&&!$.isBuffer(_t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new et.Zlib(Wt);var Jt=this;this._hadError=!1,this._handle.onerror=function(jt,zt){Tt(Jt),Jt._hadError=!0;var $t=new Error(jt);$t.errno=zt,$t.code=s.codes[zt],Jt.emit("error",$t)};var Zt=s.Z_DEFAULT_COMPRESSION;typeof _t.level=="number"&&(Zt=_t.level);var Vt=s.Z_DEFAULT_STRATEGY;typeof _t.strategy=="number"&&(Vt=_t.strategy),this._handle.init(_t.windowBits||s.Z_DEFAULT_WINDOWBITS,Zt,_t.memLevel||s.Z_DEFAULT_MEMLEVEL,Vt,_t.dictionary),this._buffer=$.allocUnsafe(this._chunkSize),this._offset=0,this._level=Zt,this._strategy=Vt,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!bt._handle},configurable:!0,enumerable:!0})}function Tt(_t,Wt){Wt&&j.nextTick(Wt),_t._handle&&(_t._handle.close(),_t._handle=null)}function Ot(_t){_t.emit("close")}Object.defineProperty(s,"codes",{enumerable:!0,value:Object.freeze(st),writable:!1}),s.Deflate=ft,s.Inflate=Ft,s.Gzip=yt,s.Gunzip=Ct,s.DeflateRaw=xt,s.InflateRaw=ht,s.Unzip=mt,s.createDeflate=function(_t){return new ft(_t)},s.createInflate=function(_t){return new Ft(_t)},s.createDeflateRaw=function(_t){return new xt(_t)},s.createInflateRaw=function(_t){return new ht(_t)},s.createGzip=function(_t){return new yt(_t)},s.createGunzip=function(_t){return new Ct(_t)},s.createUnzip=function(_t){return new mt(_t)},s.deflate=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new ft(Wt),_t,bt)},s.deflateSync=function(_t,Wt){return gt(new ft(Wt),_t)},s.gzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new yt(Wt),_t,bt)},s.gzipSync=function(_t,Wt){return gt(new yt(Wt),_t)},s.deflateRaw=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new xt(Wt),_t,bt)},s.deflateRawSync=function(_t,Wt){return gt(new xt(Wt),_t)},s.unzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new mt(Wt),_t,bt)},s.unzipSync=function(_t,Wt){return gt(new mt(Wt),_t)},s.inflate=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new Ft(Wt),_t,bt)},s.inflateSync=function(_t,Wt){return gt(new Ft(Wt),_t)},s.gunzip=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new Ct(Wt),_t,bt)},s.gunzipSync=function(_t,Wt){return gt(new Ct(Wt),_t)},s.inflateRaw=function(_t,Wt,bt){return typeof Wt=="function"&&(bt=Wt,Wt={}),Qt(new ht(Wt),_t,bt)},s.inflateRawSync=function(_t,Wt){return gt(new ht(Wt),_t)},tt.inherits(vt,_e),vt.prototype.params=function(_t,Wt,bt){if(_ts.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+_t);if(Wt!=s.Z_FILTERED&&Wt!=s.Z_HUFFMAN_ONLY&&Wt!=s.Z_RLE&&Wt!=s.Z_FIXED&&Wt!=s.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+Wt);if(this._level!==_t||this._strategy!==Wt){var Jt=this;this.flush(et.Z_SYNC_FLUSH,function(){nt(Jt._handle,"zlib binding closed"),Jt._handle.params(_t,Wt),Jt._hadError||(Jt._level=_t,Jt._strategy=Wt,bt&&bt())})}else j.nextTick(bt)},vt.prototype.reset=function(){return nt(this._handle,"zlib binding closed"),this._handle.reset()},vt.prototype._flush=function(_t){this._transform($.alloc(0),"",_t)},vt.prototype.flush=function(_t,Wt){var bt=this,Jt=this._writableState;(typeof _t=="function"||_t===void 0&&!Wt)&&(Wt=_t,_t=et.Z_FULL_FLUSH),Jt.ended?Wt&&j.nextTick(Wt):Jt.ending?Wt&&this.once("end",Wt):Jt.needDrain?Wt&&this.once("drain",function(){return bt.flush(_t,Wt)}):(this._flushFlag=_t,this.write($.alloc(0),"",Wt))},vt.prototype.close=function(_t){Tt(this,_t),j.nextTick(Ot,this)},vt.prototype._transform=function(_t,Wt,bt){var Jt,Zt=this._writableState,Vt=(Zt.ending||Zt.ended)&&(!_t||Zt.length===_t.length);return _t===null||$.isBuffer(_t)?this._handle?(Vt?Jt=this._finishFlushFlag:(Jt=this._flushFlag,_t.length>=Zt.length&&(this._flushFlag=this._opts.flush||et.Z_NO_FLUSH)),void this._processChunk(_t,Jt,bt)):bt(new Error("zlib binding closed")):bt(new Error("invalid input"))},vt.prototype._processChunk=function(_t,Wt,bt){var Jt=_t&&_t.length,Zt=this._chunkSize-this._offset,Vt=0,jt=this,zt=typeof bt=="function";if(!zt){var $t,nn=[],rn=0;this.on("error",function(Pt){$t=Pt}),nt(this._handle,"zlib binding closed");do var Dt=this._handle.writeSync(Wt,_t,Vt,Jt,this._buffer,this._offset,Zt);while(!this._hadError&&kt(Dt[0],Dt[1]));if(this._hadError)throw $t;if(rn>=rt)throw Tt(this),new RangeError(ot);var wt=$.concat(nn,rn);return Tt(this),wt}nt(this._handle,"zlib binding closed");var Et=this._handle.write(Wt,_t,Vt,Jt,this._buffer,this._offset,Zt);function kt(Pt,Kt){if(this&&(this.buffer=null,this.callback=null),!jt._hadError){var Ht=Zt-Kt;if(nt(Ht>=0,"have should not go down"),Ht>0){var on=jt._buffer.slice(jt._offset,jt._offset+Ht);jt._offset+=Ht,zt?jt.push(on):(nn.push(on),rn+=on.length)}if((Kt===0||jt._offset>=jt._chunkSize)&&(Zt=jt._chunkSize,jt._offset=0,jt._buffer=$.allocUnsafe(jt._chunkSize)),Kt===0){if(Vt+=Jt-Pt,Jt=Pt,!zt)return!0;var sn=jt._handle.write(Wt,_t,Vt,Jt,jt._buffer,jt._offset,jt._chunkSize);return sn.callback=kt,void(sn.buffer=_t)}if(!zt)return!1;bt()}}Et.buffer=_t,Et.callback=kt},tt.inherits(ft,vt),tt.inherits(Ft,vt),tt.inherits(yt,vt),tt.inherits(Ct,vt),tt.inherits(xt,vt),tt.inherits(ht,vt),tt.inherits(mt,vt)}).call(this,_(2))},function(o,s,_){o.exports=$;var j=_(20).EventEmitter;function $(){j.call(this)}_(7)($,j),$.Readable=_(31),$.Writable=_(170),$.Duplex=_(171),$.Transform=_(172),$.PassThrough=_(173),$.Stream=$,$.prototype.pipe=function(_e,et){var tt=this;function nt(ct){_e.writable&&_e.write(ct)===!1&&tt.pause&&tt.pause()}function rt(){tt.readable&&tt.resume&&tt.resume()}tt.on("data",nt),_e.on("drain",rt),_e._isStdio||et&&et.end===!1||(tt.on("end",ut),tt.on("close",dt));var ot=!1;function ut(){ot||(ot=!0,_e.end())}function dt(){ot||(ot=!0,typeof _e.destroy=="function"&&_e.destroy())}function Ut(ct){if(st(),j.listenerCount(this,"error")===0)throw ct}function st(){tt.removeListener("data",nt),_e.removeListener("drain",rt),tt.removeListener("end",ut),tt.removeListener("close",dt),tt.removeListener("error",Ut),_e.removeListener("error",Ut),tt.removeListener("end",st),tt.removeListener("close",st),_e.removeListener("close",st)}return tt.on("error",Ut),_e.on("error",Ut),tt.on("end",st),tt.on("close",st),_e.on("close",st),_e.emit("pipe",tt),_e}},function(o,s){var _={}.toString;o.exports=Array.isArray||function(j){return _.call(j)=="[object Array]"}},function(o,s){},function(o,s,_){var j=_(46).Buffer,$=_(168);o.exports=function(){function _e(){(function(et,tt){if(!(et instanceof tt))throw new TypeError("Cannot call a class as a function")})(this,_e),this.head=null,this.tail=null,this.length=0}return _e.prototype.push=function(et){var tt={data:et,next:null};this.length>0?this.tail.next=tt:this.head=tt,this.tail=tt,++this.length},_e.prototype.unshift=function(et){var tt={data:et,next:this.head};this.length===0&&(this.tail=tt),this.head=tt,++this.length},_e.prototype.shift=function(){if(this.length!==0){var et=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,et}},_e.prototype.clear=function(){this.head=this.tail=null,this.length=0},_e.prototype.join=function(et){if(this.length===0)return"";for(var tt=this.head,nt=""+tt.data;tt=tt.next;)nt+=et+tt.data;return nt},_e.prototype.concat=function(et){if(this.length===0)return j.alloc(0);if(this.length===1)return this.head.data;for(var tt,nt,rt,ot=j.allocUnsafe(et>>>0),ut=this.head,dt=0;ut;)tt=ut.data,nt=ot,rt=dt,tt.copy(nt,rt),dt+=ut.data.length,ut=ut.next;return ot},_e}(),$&&$.inspect&&$.inspect.custom&&(o.exports.prototype[$.inspect.custom]=function(){var _e=$.inspect({length:this.length});return this.constructor.name+" "+_e})},function(o,s){},function(o,s,_){o.exports=_e;var j=_(72),$=Object.create(_(32));function _e(et){if(!(this instanceof _e))return new _e(et);j.call(this,et)}$.inherits=_(7),$.inherits(_e,j),_e.prototype._transform=function(et,tt,nt){nt(null,et)}},function(o,s,_){o.exports=_(47)},function(o,s,_){o.exports=_(22)},function(o,s,_){o.exports=_(31).Transform},function(o,s,_){o.exports=_(31).PassThrough},function(o,s,_){(function(j,$){var _e=_(73),et=_(176),tt=_(177),nt=_(180),rt=_(183);for(var ot in rt)s[ot]=rt[ot];s.NONE=0,s.DEFLATE=1,s.INFLATE=2,s.GZIP=3,s.GUNZIP=4,s.DEFLATERAW=5,s.INFLATERAW=6,s.UNZIP=7;function ut(dt){if(typeof dt!="number"||dts.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=dt,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}ut.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,_e(this.init_done,"close before init"),_e(this.mode<=s.UNZIP),this.mode===s.DEFLATE||this.mode===s.GZIP||this.mode===s.DEFLATERAW?tt.deflateEnd(this.strm):this.mode!==s.INFLATE&&this.mode!==s.GUNZIP&&this.mode!==s.INFLATERAW&&this.mode!==s.UNZIP||nt.inflateEnd(this.strm),this.mode=s.NONE,this.dictionary=null)},ut.prototype.write=function(dt,Ut,st,ct,pt,Bt,Qt){return this._write(!0,dt,Ut,st,ct,pt,Bt,Qt)},ut.prototype.writeSync=function(dt,Ut,st,ct,pt,Bt,Qt){return this._write(!1,dt,Ut,st,ct,pt,Bt,Qt)},ut.prototype._write=function(dt,Ut,st,ct,pt,Bt,Qt,gt){if(_e.equal(arguments.length,8),_e(this.init_done,"write before init"),_e(this.mode!==s.NONE,"already finalized"),_e.equal(!1,this.write_in_progress,"write already in progress"),_e.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,_e.equal(!1,Ut===void 0,"must provide flush value"),this.write_in_progress=!0,Ut!==s.Z_NO_FLUSH&&Ut!==s.Z_PARTIAL_FLUSH&&Ut!==s.Z_SYNC_FLUSH&&Ut!==s.Z_FULL_FLUSH&&Ut!==s.Z_FINISH&&Ut!==s.Z_BLOCK)throw new Error("Invalid flush value");if(st==null&&(st=j.alloc(0),pt=0,ct=0),this.strm.avail_in=pt,this.strm.input=st,this.strm.next_in=ct,this.strm.avail_out=gt,this.strm.output=Bt,this.strm.next_out=Qt,this.flush=Ut,!dt)return this._process(),this._checkError()?this._afterSync():void 0;var ft=this;return $.nextTick(function(){ft._process(),ft._after()}),this},ut.prototype._afterSync=function(){var dt=this.strm.avail_out,Ut=this.strm.avail_in;return this.write_in_progress=!1,[Ut,dt]},ut.prototype._process=function(){var dt=null;switch(this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=tt.deflate(this.strm,this.flush);break;case s.UNZIP:switch(this.strm.avail_in>0&&(dt=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(dt===null)break;if(this.strm.input[dt]!==31){this.mode=s.INFLATE;break}if(this.gzip_id_bytes_read=1,dt++,this.strm.avail_in===1)break;case 1:if(dt===null)break;this.strm.input[dt]===139?(this.gzip_id_bytes_read=2,this.mode=s.GUNZIP):this.mode=s.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:for(this.err=nt.inflate(this.strm,this.flush),this.err===s.Z_NEED_DICT&&this.dictionary&&(this.err=nt.inflateSetDictionary(this.strm,this.dictionary),this.err===s.Z_OK?this.err=nt.inflate(this.strm,this.flush):this.err===s.Z_DATA_ERROR&&(this.err=s.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===s.GUNZIP&&this.err===s.Z_STREAM_END&&this.strm.next_in[0]!==0;)this.reset(),this.err=nt.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},ut.prototype._checkError=function(){switch(this.err){case s.Z_OK:case s.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===s.Z_FINISH)return this._error("unexpected end of file"),!1;break;case s.Z_STREAM_END:break;case s.Z_NEED_DICT:return this.dictionary==null?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},ut.prototype._after=function(){if(this._checkError()){var dt=this.strm.avail_out,Ut=this.strm.avail_in;this.write_in_progress=!1,this.callback(Ut,dt),this.pending_close&&this.close()}},ut.prototype._error=function(dt){this.strm.msg&&(dt=this.strm.msg),this.onerror(dt,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},ut.prototype.init=function(dt,Ut,st,ct,pt){_e(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),_e(dt>=8&&dt<=15,"invalid windowBits"),_e(Ut>=-1&&Ut<=9,"invalid compression level"),_e(st>=1&&st<=9,"invalid memlevel"),_e(ct===s.Z_FILTERED||ct===s.Z_HUFFMAN_ONLY||ct===s.Z_RLE||ct===s.Z_FIXED||ct===s.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(Ut,dt,st,ct,pt),this._setDictionary()},ut.prototype.params=function(){throw new Error("deflateParams Not supported")},ut.prototype.reset=function(){this._reset(),this._setDictionary()},ut.prototype._init=function(dt,Ut,st,ct,pt){switch(this.level=dt,this.windowBits=Ut,this.memLevel=st,this.strategy=ct,this.flush=s.Z_NO_FLUSH,this.err=s.Z_OK,this.mode!==s.GZIP&&this.mode!==s.GUNZIP||(this.windowBits+=16),this.mode===s.UNZIP&&(this.windowBits+=32),this.mode!==s.DEFLATERAW&&this.mode!==s.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new et,this.mode){case s.DEFLATE:case s.GZIP:case s.DEFLATERAW:this.err=tt.deflateInit2(this.strm,this.level,s.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case s.INFLATE:case s.GUNZIP:case s.INFLATERAW:case s.UNZIP:this.err=nt.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==s.Z_OK&&this._error("Init error"),this.dictionary=pt,this.write_in_progress=!1,this.init_done=!0},ut.prototype._setDictionary=function(){if(this.dictionary!=null){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:this.err=tt.deflateSetDictionary(this.strm,this.dictionary)}this.err!==s.Z_OK&&this._error("Failed to set dictionary")}},ut.prototype._reset=function(){switch(this.err=s.Z_OK,this.mode){case s.DEFLATE:case s.DEFLATERAW:case s.GZIP:this.err=tt.deflateReset(this.strm);break;case s.INFLATE:case s.INFLATERAW:case s.GUNZIP:this.err=nt.inflateReset(this.strm)}this.err!==s.Z_OK&&this._error("Failed to reset stream")},s.Zlib=ut}).call(this,_(5).Buffer,_(2))},function(o,s,_){var j=Object.getOwnPropertySymbols,$=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;function et(tt){if(tt==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(tt)}o.exports=function(){try{if(!Object.assign)return!1;var tt=new String("abc");if(tt[5]="de",Object.getOwnPropertyNames(tt)[0]==="5")return!1;for(var nt={},rt=0;rt<10;rt++)nt["_"+String.fromCharCode(rt)]=rt;if(Object.getOwnPropertyNames(nt).map(function(ut){return nt[ut]}).join("")!=="0123456789")return!1;var ot={};return"abcdefghijklmnopqrst".split("").forEach(function(ut){ot[ut]=ut}),Object.keys(Object.assign({},ot)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}()?Object.assign:function(tt,nt){for(var rt,ot,ut=et(tt),dt=1;dt4?9:0)}function ut(ht){for(var mt=ht.length;--mt>=0;)ht[mt]=0}function dt(ht){var mt=ht.state,It=mt.pending;It>ht.avail_out&&(It=ht.avail_out),It!==0&&($.arraySet(ht.output,mt.pending_buf,mt.pending_out,It,ht.next_out),ht.next_out+=It,mt.pending_out+=It,ht.total_out+=It,ht.avail_out-=It,mt.pending-=It,mt.pending===0&&(mt.pending_out=0))}function Ut(ht,mt){_e._tr_flush_block(ht,ht.block_start>=0?ht.block_start:-1,ht.strstart-ht.block_start,mt),ht.block_start=ht.strstart,dt(ht.strm)}function st(ht,mt){ht.pending_buf[ht.pending++]=mt}function ct(ht,mt){ht.pending_buf[ht.pending++]=mt>>>8&255,ht.pending_buf[ht.pending++]=255&mt}function pt(ht,mt){var It,vt,Tt=ht.max_chain_length,Ot=ht.strstart,_t=ht.prev_length,Wt=ht.nice_match,bt=ht.strstart>ht.w_size-262?ht.strstart-(ht.w_size-262):0,Jt=ht.window,Zt=ht.w_mask,Vt=ht.prev,jt=ht.strstart+258,zt=Jt[Ot+_t-1],$t=Jt[Ot+_t];ht.prev_length>=ht.good_match&&(Tt>>=2),Wt>ht.lookahead&&(Wt=ht.lookahead);do if(Jt[(It=mt)+_t]===$t&&Jt[It+_t-1]===zt&&Jt[It]===Jt[Ot]&&Jt[++It]===Jt[Ot+1]){Ot+=2,It++;do;while(Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Jt[++Ot]===Jt[++It]&&Ot_t){if(ht.match_start=mt,_t=vt,vt>=Wt)break;zt=Jt[Ot+_t-1],$t=Jt[Ot+_t]}}while((mt=Vt[mt&Zt])>bt&&--Tt!=0);return _t<=ht.lookahead?_t:ht.lookahead}function Bt(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt=ht.w_size;do{if(Tt=ht.window_size-ht.lookahead-ht.strstart,ht.strstart>=Vt+(Vt-262)){$.arraySet(ht.window,ht.window,Vt,Vt,0),ht.match_start-=Vt,ht.strstart-=Vt,ht.block_start-=Vt,mt=It=ht.hash_size;do vt=ht.head[--mt],ht.head[mt]=vt>=Vt?vt-Vt:0;while(--It);mt=It=Vt;do vt=ht.prev[--mt],ht.prev[mt]=vt>=Vt?vt-Vt:0;while(--It);Tt+=Vt}if(ht.strm.avail_in===0)break;if(_t=ht.strm,Wt=ht.window,bt=ht.strstart+ht.lookahead,Jt=Tt,Zt=void 0,(Zt=_t.avail_in)>Jt&&(Zt=Jt),It=Zt===0?0:(_t.avail_in-=Zt,$.arraySet(Wt,_t.input,_t.next_in,Zt,bt),_t.state.wrap===1?_t.adler=et(_t.adler,Wt,Zt,bt):_t.state.wrap===2&&(_t.adler=tt(_t.adler,Wt,Zt,bt)),_t.next_in+=Zt,_t.total_in+=Zt,Zt),ht.lookahead+=It,ht.lookahead+ht.insert>=3)for(Ot=ht.strstart-ht.insert,ht.ins_h=ht.window[Ot],ht.ins_h=(ht.ins_h<=3&&(ht.ins_h=(ht.ins_h<=3)if(vt=_e._tr_tally(ht,ht.strstart-ht.match_start,ht.match_length-3),ht.lookahead-=ht.match_length,ht.match_length<=ht.max_lazy_match&&ht.lookahead>=3){ht.match_length--;do ht.strstart++,ht.ins_h=(ht.ins_h<=3&&(ht.ins_h=(ht.ins_h<4096)&&(ht.match_length=2)),ht.prev_length>=3&&ht.match_length<=ht.prev_length){Tt=ht.strstart+ht.lookahead-3,vt=_e._tr_tally(ht,ht.strstart-1-ht.prev_match,ht.prev_length-3),ht.lookahead-=ht.prev_length-1,ht.prev_length-=2;do++ht.strstart<=Tt&&(ht.ins_h=(ht.ins_h<15&&(_t=2,vt-=16),Tt<1||Tt>9||It!==8||vt<8||vt>15||mt<0||mt>9||Ot<0||Ot>4)return rt(ht,-2);vt===8&&(vt=9);var Wt=new Ft;return ht.state=Wt,Wt.strm=ht,Wt.wrap=_t,Wt.gzhead=null,Wt.w_bits=vt,Wt.w_size=1<ht.pending_buf_size-5&&(It=ht.pending_buf_size-5);;){if(ht.lookahead<=1){if(Bt(ht),ht.lookahead===0&&mt===0)return 1;if(ht.lookahead===0)break}ht.strstart+=ht.lookahead,ht.lookahead=0;var vt=ht.block_start+It;if((ht.strstart===0||ht.strstart>=vt)&&(ht.lookahead=ht.strstart-vt,ht.strstart=vt,Ut(ht,!1),ht.strm.avail_out===0)||ht.strstart-ht.block_start>=ht.w_size-262&&(Ut(ht,!1),ht.strm.avail_out===0))return 1}return ht.insert=0,mt===4?(Ut(ht,!0),ht.strm.avail_out===0?3:4):(ht.strstart>ht.block_start&&(Ut(ht,!1),ht.strm.avail_out),1)}),new ft(4,4,8,4,Qt),new ft(4,5,16,8,Qt),new ft(4,6,32,32,Qt),new ft(4,4,16,16,gt),new ft(8,16,32,32,gt),new ft(8,16,128,128,gt),new ft(8,32,128,256,gt),new ft(32,128,258,1024,gt),new ft(32,258,258,4096,gt)],s.deflateInit=function(ht,mt){return xt(ht,mt,8,15,8,0)},s.deflateInit2=xt,s.deflateReset=Ct,s.deflateResetKeep=yt,s.deflateSetHeader=function(ht,mt){return ht&&ht.state?ht.state.wrap!==2?-2:(ht.state.gzhead=mt,0):-2},s.deflate=function(ht,mt){var It,vt,Tt,Ot;if(!ht||!ht.state||mt>5||mt<0)return ht?rt(ht,-2):-2;if(vt=ht.state,!ht.output||!ht.input&&ht.avail_in!==0||vt.status===666&&mt!==4)return rt(ht,ht.avail_out===0?-5:-2);if(vt.strm=ht,It=vt.last_flush,vt.last_flush=mt,vt.status===42)if(vt.wrap===2)ht.adler=0,st(vt,31),st(vt,139),st(vt,8),vt.gzhead?(st(vt,(vt.gzhead.text?1:0)+(vt.gzhead.hcrc?2:0)+(vt.gzhead.extra?4:0)+(vt.gzhead.name?8:0)+(vt.gzhead.comment?16:0)),st(vt,255&vt.gzhead.time),st(vt,vt.gzhead.time>>8&255),st(vt,vt.gzhead.time>>16&255),st(vt,vt.gzhead.time>>24&255),st(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),st(vt,255&vt.gzhead.os),vt.gzhead.extra&&vt.gzhead.extra.length&&(st(vt,255&vt.gzhead.extra.length),st(vt,vt.gzhead.extra.length>>8&255)),vt.gzhead.hcrc&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending,0)),vt.gzindex=0,vt.status=69):(st(vt,0),st(vt,0),st(vt,0),st(vt,0),st(vt,0),st(vt,vt.level===9?2:vt.strategy>=2||vt.level<2?4:0),st(vt,3),vt.status=113);else{var _t=8+(vt.w_bits-8<<4)<<8;_t|=(vt.strategy>=2||vt.level<2?0:vt.level<6?1:vt.level===6?2:3)<<6,vt.strstart!==0&&(_t|=32),_t+=31-_t%31,vt.status=113,ct(vt,_t),vt.strstart!==0&&(ct(vt,ht.adler>>>16),ct(vt,65535&ht.adler)),ht.adler=1}if(vt.status===69)if(vt.gzhead.extra){for(Tt=vt.pending;vt.gzindex<(65535&vt.gzhead.extra.length)&&(vt.pending!==vt.pending_buf_size||(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending!==vt.pending_buf_size));)st(vt,255&vt.gzhead.extra[vt.gzindex]),vt.gzindex++;vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),vt.gzindex===vt.gzhead.extra.length&&(vt.gzindex=0,vt.status=73)}else vt.status=73;if(vt.status===73)if(vt.gzhead.name){Tt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending===vt.pending_buf_size)){Ot=1;break}Ot=vt.gzindexTt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),Ot===0&&(vt.gzindex=0,vt.status=91)}else vt.status=91;if(vt.status===91)if(vt.gzhead.comment){Tt=vt.pending;do{if(vt.pending===vt.pending_buf_size&&(vt.gzhead.hcrc&&vt.pending>Tt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),dt(ht),Tt=vt.pending,vt.pending===vt.pending_buf_size)){Ot=1;break}Ot=vt.gzindexTt&&(ht.adler=tt(ht.adler,vt.pending_buf,vt.pending-Tt,Tt)),Ot===0&&(vt.status=103)}else vt.status=103;if(vt.status===103&&(vt.gzhead.hcrc?(vt.pending+2>vt.pending_buf_size&&dt(ht),vt.pending+2<=vt.pending_buf_size&&(st(vt,255&ht.adler),st(vt,ht.adler>>8&255),ht.adler=0,vt.status=113)):vt.status=113),vt.pending!==0){if(dt(ht),ht.avail_out===0)return vt.last_flush=-1,0}else if(ht.avail_in===0&&ot(mt)<=ot(It)&&mt!==4)return rt(ht,-5);if(vt.status===666&&ht.avail_in!==0)return rt(ht,-5);if(ht.avail_in!==0||vt.lookahead!==0||mt!==0&&vt.status!==666){var Wt=vt.strategy===2?function(bt,Jt){for(var Zt;;){if(bt.lookahead===0&&(Bt(bt),bt.lookahead===0)){if(Jt===0)return 1;break}if(bt.match_length=0,Zt=_e._tr_tally(bt,0,bt.window[bt.strstart]),bt.lookahead--,bt.strstart++,Zt&&(Ut(bt,!1),bt.strm.avail_out===0))return 1}return bt.insert=0,Jt===4?(Ut(bt,!0),bt.strm.avail_out===0?3:4):bt.last_lit&&(Ut(bt,!1),bt.strm.avail_out===0)?1:2}(vt,mt):vt.strategy===3?function(bt,Jt){for(var Zt,Vt,jt,zt,$t=bt.window;;){if(bt.lookahead<=258){if(Bt(bt),bt.lookahead<=258&&Jt===0)return 1;if(bt.lookahead===0)break}if(bt.match_length=0,bt.lookahead>=3&&bt.strstart>0&&(Vt=$t[jt=bt.strstart-1])===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]){zt=bt.strstart+258;do;while(Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&Vt===$t[++jt]&&jtbt.lookahead&&(bt.match_length=bt.lookahead)}if(bt.match_length>=3?(Zt=_e._tr_tally(bt,1,bt.match_length-3),bt.lookahead-=bt.match_length,bt.strstart+=bt.match_length,bt.match_length=0):(Zt=_e._tr_tally(bt,0,bt.window[bt.strstart]),bt.lookahead--,bt.strstart++),Zt&&(Ut(bt,!1),bt.strm.avail_out===0))return 1}return bt.insert=0,Jt===4?(Ut(bt,!0),bt.strm.avail_out===0?3:4):bt.last_lit&&(Ut(bt,!1),bt.strm.avail_out===0)?1:2}(vt,mt):j[vt.level].func(vt,mt);if(Wt!==3&&Wt!==4||(vt.status=666),Wt===1||Wt===3)return ht.avail_out===0&&(vt.last_flush=-1),0;if(Wt===2&&(mt===1?_e._tr_align(vt):mt!==5&&(_e._tr_stored_block(vt,0,0,!1),mt===3&&(ut(vt.head),vt.lookahead===0&&(vt.strstart=0,vt.block_start=0,vt.insert=0))),dt(ht),ht.avail_out===0))return vt.last_flush=-1,0}return mt!==4?0:vt.wrap<=0?1:(vt.wrap===2?(st(vt,255&ht.adler),st(vt,ht.adler>>8&255),st(vt,ht.adler>>16&255),st(vt,ht.adler>>24&255),st(vt,255&ht.total_in),st(vt,ht.total_in>>8&255),st(vt,ht.total_in>>16&255),st(vt,ht.total_in>>24&255)):(ct(vt,ht.adler>>>16),ct(vt,65535&ht.adler)),dt(ht),vt.wrap>0&&(vt.wrap=-vt.wrap),vt.pending!==0?0:1)},s.deflateEnd=function(ht){var mt;return ht&&ht.state?(mt=ht.state.status)!==42&&mt!==69&&mt!==73&&mt!==91&&mt!==103&&mt!==113&&mt!==666?rt(ht,-2):(ht.state=null,mt===113?rt(ht,-3):0):-2},s.deflateSetDictionary=function(ht,mt){var It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt=mt.length;if(!ht||!ht.state||(Ot=(It=ht.state).wrap)===2||Ot===1&&It.status!==42||It.lookahead)return-2;for(Ot===1&&(ht.adler=et(ht.adler,mt,Zt,0)),It.wrap=0,Zt>=It.w_size&&(Ot===0&&(ut(It.head),It.strstart=0,It.block_start=0,It.insert=0),Jt=new $.Buf8(It.w_size),$.arraySet(Jt,mt,Zt-It.w_size,It.w_size,0),mt=Jt,Zt=It.w_size),_t=ht.avail_in,Wt=ht.next_in,bt=ht.input,ht.avail_in=Zt,ht.next_in=0,ht.input=mt,Bt(It);It.lookahead>=3;){vt=It.strstart,Tt=It.lookahead-2;do It.ins_h=(It.ins_h<=0;)Vt[jt]=0}var _e=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],et=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],tt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=new Array(576);$(rt);var ot=new Array(60);$(ot);var ut=new Array(512);$(ut);var dt=new Array(256);$(dt);var Ut=new Array(29);$(Ut);var st,ct,pt,Bt=new Array(30);function Qt(Vt,jt,zt,$t,nn){this.static_tree=Vt,this.extra_bits=jt,this.extra_base=zt,this.elems=$t,this.max_length=nn,this.has_stree=Vt&&Vt.length}function gt(Vt,jt){this.dyn_tree=Vt,this.max_code=0,this.stat_desc=jt}function ft(Vt){return Vt<256?ut[Vt]:ut[256+(Vt>>>7)]}function Ft(Vt,jt){Vt.pending_buf[Vt.pending++]=255&jt,Vt.pending_buf[Vt.pending++]=jt>>>8&255}function yt(Vt,jt,zt){Vt.bi_valid>16-zt?(Vt.bi_buf|=jt<>16-Vt.bi_valid,Vt.bi_valid+=zt-16):(Vt.bi_buf|=jt<>>=1,zt<<=1;while(--jt>0);return zt>>>1}function ht(Vt,jt,zt){var $t,nn,rn=new Array(16),Dt=0;for($t=1;$t<=15;$t++)rn[$t]=Dt=Dt+zt[$t-1]<<1;for(nn=0;nn<=jt;nn++){var wt=Vt[2*nn+1];wt!==0&&(Vt[2*nn]=xt(rn[wt]++,wt))}}function mt(Vt){var jt;for(jt=0;jt<286;jt++)Vt.dyn_ltree[2*jt]=0;for(jt=0;jt<30;jt++)Vt.dyn_dtree[2*jt]=0;for(jt=0;jt<19;jt++)Vt.bl_tree[2*jt]=0;Vt.dyn_ltree[512]=1,Vt.opt_len=Vt.static_len=0,Vt.last_lit=Vt.matches=0}function It(Vt){Vt.bi_valid>8?Ft(Vt,Vt.bi_buf):Vt.bi_valid>0&&(Vt.pending_buf[Vt.pending++]=Vt.bi_buf),Vt.bi_buf=0,Vt.bi_valid=0}function vt(Vt,jt,zt,$t){var nn=2*jt,rn=2*zt;return Vt[nn]>1;zt>=1;zt--)Tt(Vt,rn,zt);nn=Et;do zt=Vt.heap[1],Vt.heap[1]=Vt.heap[Vt.heap_len--],Tt(Vt,rn,1),$t=Vt.heap[1],Vt.heap[--Vt.heap_max]=zt,Vt.heap[--Vt.heap_max]=$t,rn[2*nn]=rn[2*zt]+rn[2*$t],Vt.depth[nn]=(Vt.depth[zt]>=Vt.depth[$t]?Vt.depth[zt]:Vt.depth[$t])+1,rn[2*zt+1]=rn[2*$t+1]=nn,Vt.heap[1]=nn++,Tt(Vt,rn,1);while(Vt.heap_len>=2);Vt.heap[--Vt.heap_max]=Vt.heap[1],function(Pt,Kt){var Ht,on,sn,gn,Cn,In,Mn=Kt.dyn_tree,rr=Kt.max_code,An=Kt.stat_desc.static_tree,Dn=Kt.stat_desc.has_stree,Hn=Kt.stat_desc.extra_bits,Fr=Kt.stat_desc.extra_base,hr=Kt.stat_desc.max_length,Gr=0;for(gn=0;gn<=15;gn++)Pt.bl_count[gn]=0;for(Mn[2*Pt.heap[Pt.heap_max]+1]=0,Ht=Pt.heap_max+1;Ht<573;Ht++)(gn=Mn[2*Mn[2*(on=Pt.heap[Ht])+1]+1]+1)>hr&&(gn=hr,Gr++),Mn[2*on+1]=gn,on>rr||(Pt.bl_count[gn]++,Cn=0,on>=Fr&&(Cn=Hn[on-Fr]),In=Mn[2*on],Pt.opt_len+=In*(gn+Cn),Dn&&(Pt.static_len+=In*(An[2*on+1]+Cn)));if(Gr!==0){do{for(gn=hr-1;Pt.bl_count[gn]===0;)gn--;Pt.bl_count[gn]--,Pt.bl_count[gn+1]+=2,Pt.bl_count[hr]--,Gr-=2}while(Gr>0);for(gn=hr;gn!==0;gn--)for(on=Pt.bl_count[gn];on!==0;)(sn=Pt.heap[--Ht])>rr||(Mn[2*sn+1]!==gn&&(Pt.opt_len+=(gn-Mn[2*sn+1])*Mn[2*sn],Mn[2*sn+1]=gn),on--)}}(Vt,jt),ht(rn,kt,Vt.bl_count)}function Wt(Vt,jt,zt){var $t,nn,rn=-1,Dt=jt[1],wt=0,Et=7,kt=4;for(Dt===0&&(Et=138,kt=3),jt[2*(zt+1)+1]=65535,$t=0;$t<=zt;$t++)nn=Dt,Dt=jt[2*($t+1)+1],++wt>=7;nn<30;nn++)for(Bt[nn]=rn<<7,jt=0;jt<1<0?(Vt.strm.data_type===2&&(Vt.strm.data_type=function(wt){var Et,kt=4093624447;for(Et=0;Et<=31;Et++,kt>>>=1)if(1&kt&&wt.dyn_ltree[2*Et]!==0)return 0;if(wt.dyn_ltree[18]!==0||wt.dyn_ltree[20]!==0||wt.dyn_ltree[26]!==0)return 1;for(Et=32;Et<256;Et++)if(wt.dyn_ltree[2*Et]!==0)return 1;return 0}(Vt)),_t(Vt,Vt.l_desc),_t(Vt,Vt.d_desc),Dt=function(wt){var Et;for(Wt(wt,wt.dyn_ltree,wt.l_desc.max_code),Wt(wt,wt.dyn_dtree,wt.d_desc.max_code),_t(wt,wt.bl_desc),Et=18;Et>=3&&wt.bl_tree[2*nt[Et]+1]===0;Et--);return wt.opt_len+=3*(Et+1)+5+5+4,Et}(Vt),nn=Vt.opt_len+3+7>>>3,(rn=Vt.static_len+3+7>>>3)<=nn&&(nn=rn)):nn=rn=zt+5,zt+4<=nn&&jt!==-1?Zt(Vt,jt,zt,$t):Vt.strategy===4||rn===nn?(yt(Vt,2+($t?1:0),3),Ot(Vt,rt,ot)):(yt(Vt,4+($t?1:0),3),function(wt,Et,kt,Pt){var Kt;for(yt(wt,Et-257,5),yt(wt,kt-1,5),yt(wt,Pt-4,4),Kt=0;Kt>>8&255,Vt.pending_buf[Vt.d_buf+2*Vt.last_lit+1]=255&jt,Vt.pending_buf[Vt.l_buf+Vt.last_lit]=255&zt,Vt.last_lit++,jt===0?Vt.dyn_ltree[2*zt]++:(Vt.matches++,jt--,Vt.dyn_ltree[2*(dt[zt]+256+1)]++,Vt.dyn_dtree[2*ft(jt)]++),Vt.last_lit===Vt.lit_bufsize-1},s._tr_align=function(Vt){yt(Vt,2,3),Ct(Vt,256,rt),function(jt){jt.bi_valid===16?(Ft(jt,jt.bi_buf),jt.bi_buf=0,jt.bi_valid=0):jt.bi_valid>=8&&(jt.pending_buf[jt.pending++]=255&jt.bi_buf,jt.bi_buf>>=8,jt.bi_valid-=8)}(Vt)}},function(o,s,_){o.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(o,s,_){var j=_(38),$=_(74),_e=_(75),et=_(181),tt=_(182);function nt(gt){return(gt>>>24&255)+(gt>>>8&65280)+((65280>)<<8)+((255>)<<24)}function rt(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new j.Buf16(320),this.work=new j.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ot(gt){var ft;return gt&>.state?(ft=gt.state,gt.total_in=gt.total_out=ft.total=0,gt.msg="",ft.wrap&&(gt.adler=1&ft.wrap),ft.mode=1,ft.last=0,ft.havedict=0,ft.dmax=32768,ft.head=null,ft.hold=0,ft.bits=0,ft.lencode=ft.lendyn=new j.Buf32(852),ft.distcode=ft.distdyn=new j.Buf32(592),ft.sane=1,ft.back=-1,0):-2}function ut(gt){var ft;return gt&>.state?((ft=gt.state).wsize=0,ft.whave=0,ft.wnext=0,ot(gt)):-2}function dt(gt,ft){var Ft,yt;return gt&>.state?(yt=gt.state,ft<0?(Ft=0,ft=-ft):(Ft=1+(ft>>4),ft<48&&(ft&=15)),ft&&(ft<8||ft>15)?-2:(yt.window!==null&&yt.wbits!==ft&&(yt.window=null),yt.wrap=Ft,yt.wbits=ft,ut(gt))):-2}function Ut(gt,ft){var Ft,yt;return gt?(yt=new rt,gt.state=yt,yt.window=null,(Ft=dt(gt,ft))!==0&&(gt.state=null),Ft):-2}var st,ct,pt=!0;function Bt(gt){if(pt){var ft;for(st=new j.Buf32(512),ct=new j.Buf32(32),ft=0;ft<144;)gt.lens[ft++]=8;for(;ft<256;)gt.lens[ft++]=9;for(;ft<280;)gt.lens[ft++]=7;for(;ft<288;)gt.lens[ft++]=8;for(tt(1,gt.lens,0,288,st,0,gt.work,{bits:9}),ft=0;ft<32;)gt.lens[ft++]=5;tt(2,gt.lens,0,32,ct,0,gt.work,{bits:5}),pt=!1}gt.lencode=st,gt.lenbits=9,gt.distcode=ct,gt.distbits=5}function Qt(gt,ft,Ft,yt){var Ct,xt=gt.state;return xt.window===null&&(xt.wsize=1<=xt.wsize?(j.arraySet(xt.window,ft,Ft-xt.wsize,xt.wsize,0),xt.wnext=0,xt.whave=xt.wsize):((Ct=xt.wsize-xt.wnext)>yt&&(Ct=yt),j.arraySet(xt.window,ft,Ft-yt,Ct,xt.wnext),(yt-=Ct)?(j.arraySet(xt.window,ft,Ft-yt,yt,0),xt.wnext=yt,xt.whave=xt.wsize):(xt.wnext+=Ct,xt.wnext===xt.wsize&&(xt.wnext=0),xt.whave>>8&255,Ft.check=_e(Ft.check,Pt,2,0),vt=0,Tt=0,Ft.mode=2;break}if(Ft.flags=0,Ft.head&&(Ft.head.done=!1),!(1&Ft.wrap)||(((255&vt)<<8)+(vt>>8))%31){gt.msg="incorrect header check",Ft.mode=30;break}if((15&vt)!=8){gt.msg="unknown compression method",Ft.mode=30;break}if(Tt-=4,rn=8+(15&(vt>>>=4)),Ft.wbits===0)Ft.wbits=rn;else if(rn>Ft.wbits){gt.msg="invalid window size",Ft.mode=30;break}Ft.dmax=1<>8&1),512&Ft.flags&&(Pt[0]=255&vt,Pt[1]=vt>>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0,Ft.mode=3;case 3:for(;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>8&255,Pt[2]=vt>>>16&255,Pt[3]=vt>>>24&255,Ft.check=_e(Ft.check,Pt,4,0)),vt=0,Tt=0,Ft.mode=4;case 4:for(;Tt<16;){if(mt===0)break e;mt--,vt+=yt[xt++]<>8),512&Ft.flags&&(Pt[0]=255&vt,Pt[1]=vt>>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0,Ft.mode=5;case 5:if(1024&Ft.flags){for(;Tt<16;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>8&255,Ft.check=_e(Ft.check,Pt,2,0)),vt=0,Tt=0}else Ft.head&&(Ft.head.extra=null);Ft.mode=6;case 6:if(1024&Ft.flags&&((Wt=Ft.length)>mt&&(Wt=mt),Wt&&(Ft.head&&(rn=Ft.head.extra_len-Ft.length,Ft.head.extra||(Ft.head.extra=new Array(Ft.head.extra_len)),j.arraySet(Ft.head.extra,yt,xt,Wt,rn)),512&Ft.flags&&(Ft.check=_e(Ft.check,yt,Wt,xt)),mt-=Wt,xt+=Wt,Ft.length-=Wt),Ft.length))break e;Ft.length=0,Ft.mode=7;case 7:if(2048&Ft.flags){if(mt===0)break e;Wt=0;do rn=yt[xt+Wt++],Ft.head&&rn&&Ft.length<65536&&(Ft.head.name+=String.fromCharCode(rn));while(rn&&Wt>9&1,Ft.head.done=!0),gt.adler=Ft.check=0,Ft.mode=12;break;case 10:for(;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=7&Tt,Tt-=7&Tt,Ft.mode=27;break}for(;Tt<3;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=1)){case 0:Ft.mode=14;break;case 1:if(Bt(Ft),Ft.mode=20,ft===6){vt>>>=2,Tt-=2;break e}break;case 2:Ft.mode=17;break;case 3:gt.msg="invalid block type",Ft.mode=30}vt>>>=2,Tt-=2;break;case 14:for(vt>>>=7&Tt,Tt-=7&Tt;Tt<32;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>16^65535)){gt.msg="invalid stored block lengths",Ft.mode=30;break}if(Ft.length=65535&vt,vt=0,Tt=0,Ft.mode=15,ft===6)break e;case 15:Ft.mode=16;case 16:if(Wt=Ft.length){if(Wt>mt&&(Wt=mt),Wt>It&&(Wt=It),Wt===0)break e;j.arraySet(Ct,yt,xt,Wt,ht),mt-=Wt,xt+=Wt,It-=Wt,ht+=Wt,Ft.length-=Wt;break}Ft.mode=12;break;case 17:for(;Tt<14;){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=5,Tt-=5,Ft.ndist=1+(31&vt),vt>>>=5,Tt-=5,Ft.ncode=4+(15&vt),vt>>>=4,Tt-=4,Ft.nlen>286||Ft.ndist>30){gt.msg="too many length or distance symbols",Ft.mode=30;break}Ft.have=0,Ft.mode=18;case 18:for(;Ft.have>>=3,Tt-=3}for(;Ft.have<19;)Ft.lens[Kt[Ft.have++]]=0;if(Ft.lencode=Ft.lendyn,Ft.lenbits=7,wt={bits:Ft.lenbits},Dt=tt(0,Ft.lens,0,19,Ft.lencode,0,Ft.work,wt),Ft.lenbits=wt.bits,Dt){gt.msg="invalid code lengths set",Ft.mode=30;break}Ft.have=0,Ft.mode=19;case 19:for(;Ft.have>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=Zt,Tt-=Zt,Ft.lens[Ft.have++]=jt;else{if(jt===16){for(Et=Zt+2;Tt>>=Zt,Tt-=Zt,Ft.have===0){gt.msg="invalid bit length repeat",Ft.mode=30;break}rn=Ft.lens[Ft.have-1],Wt=3+(3&vt),vt>>>=2,Tt-=2}else if(jt===17){for(Et=Zt+3;Tt>>=Zt)),vt>>>=3,Tt-=3}else{for(Et=Zt+7;Tt>>=Zt)),vt>>>=7,Tt-=7}if(Ft.have+Wt>Ft.nlen+Ft.ndist){gt.msg="invalid bit length repeat",Ft.mode=30;break}for(;Wt--;)Ft.lens[Ft.have++]=rn}}if(Ft.mode===30)break;if(Ft.lens[256]===0){gt.msg="invalid code -- missing end-of-block",Ft.mode=30;break}if(Ft.lenbits=9,wt={bits:Ft.lenbits},Dt=tt(1,Ft.lens,0,Ft.nlen,Ft.lencode,0,Ft.work,wt),Ft.lenbits=wt.bits,Dt){gt.msg="invalid literal/lengths set",Ft.mode=30;break}if(Ft.distbits=6,Ft.distcode=Ft.distdyn,wt={bits:Ft.distbits},Dt=tt(2,Ft.lens,Ft.nlen,Ft.ndist,Ft.distcode,0,Ft.work,wt),Ft.distbits=wt.bits,Dt){gt.msg="invalid distances set",Ft.mode=30;break}if(Ft.mode=20,ft===6)break e;case 20:Ft.mode=21;case 21:if(mt>=6&&It>=258){gt.next_out=ht,gt.avail_out=It,gt.next_in=xt,gt.avail_in=mt,Ft.hold=vt,Ft.bits=Tt,et(gt,_t),ht=gt.next_out,Ct=gt.output,It=gt.avail_out,xt=gt.next_in,yt=gt.input,mt=gt.avail_in,vt=Ft.hold,Tt=Ft.bits,Ft.mode===12&&(Ft.back=-1);break}for(Ft.back=0;Vt=(kt=Ft.lencode[vt&(1<>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>zt)])>>>16&255,jt=65535&kt,!(zt+(Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=zt,Tt-=zt,Ft.back+=zt}if(vt>>>=Zt,Tt-=Zt,Ft.back+=Zt,Ft.length=jt,Vt===0){Ft.mode=26;break}if(32&Vt){Ft.back=-1,Ft.mode=12;break}if(64&Vt){gt.msg="invalid literal/length code",Ft.mode=30;break}Ft.extra=15&Vt,Ft.mode=22;case 22:if(Ft.extra){for(Et=Ft.extra;Tt>>=Ft.extra,Tt-=Ft.extra,Ft.back+=Ft.extra}Ft.was=Ft.length,Ft.mode=23;case 23:for(;Vt=(kt=Ft.distcode[vt&(1<>>16&255,jt=65535&kt,!((Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>zt)])>>>16&255,jt=65535&kt,!(zt+(Zt=kt>>>24)<=Tt);){if(mt===0)break e;mt--,vt+=yt[xt++]<>>=zt,Tt-=zt,Ft.back+=zt}if(vt>>>=Zt,Tt-=Zt,Ft.back+=Zt,64&Vt){gt.msg="invalid distance code",Ft.mode=30;break}Ft.offset=jt,Ft.extra=15&Vt,Ft.mode=24;case 24:if(Ft.extra){for(Et=Ft.extra;Tt>>=Ft.extra,Tt-=Ft.extra,Ft.back+=Ft.extra}if(Ft.offset>Ft.dmax){gt.msg="invalid distance too far back",Ft.mode=30;break}Ft.mode=25;case 25:if(It===0)break e;if(Wt=_t-It,Ft.offset>Wt){if((Wt=Ft.offset-Wt)>Ft.whave&&Ft.sane){gt.msg="invalid distance too far back",Ft.mode=30;break}Wt>Ft.wnext?(Wt-=Ft.wnext,bt=Ft.wsize-Wt):bt=Ft.wnext-Wt,Wt>Ft.length&&(Wt=Ft.length),Jt=Ft.window}else Jt=Ct,bt=ht-Ft.offset,Wt=Ft.length;Wt>It&&(Wt=It),It-=Wt,Ft.length-=Wt;do Ct[ht++]=Jt[bt++];while(--Wt);Ft.length===0&&(Ft.mode=21);break;case 26:if(It===0)break e;Ct[ht++]=Ft.length,It--,Ft.mode=21;break;case 27:if(Ft.wrap){for(;Tt<32;){if(mt===0)break e;mt--,vt|=yt[xt++]<>>=Ct=yt>>>24,Bt-=Ct,(Ct=yt>>>16&255)===0)Tt[nt++]=65535&yt;else{if(!(16&Ct)){if(!(64&Ct)){yt=Qt[(65535&yt)+(pt&(1<>>=Ct,Bt-=Ct),Bt<15&&(pt+=vt[et++]<>>=Ct=yt>>>24,Bt-=Ct,!(16&(Ct=yt>>>16&255))){if(!(64&Ct)){yt=gt[(65535&yt)+(pt&(1<ut){j.msg="invalid distance too far back",_e.mode=30;break e}if(pt>>>=Ct,Bt-=Ct,ht>(Ct=nt-rt)){if((Ct=ht-Ct)>Ut&&_e.sane){j.msg="invalid distance too far back",_e.mode=30;break e}if(mt=0,It=ct,st===0){if(mt+=dt-Ct,Ct2;)Tt[nt++]=It[mt++],Tt[nt++]=It[mt++],Tt[nt++]=It[mt++],xt-=3;xt&&(Tt[nt++]=It[mt++],xt>1&&(Tt[nt++]=It[mt++]))}else{mt=nt-ht;do Tt[nt++]=Tt[mt++],Tt[nt++]=Tt[mt++],Tt[nt++]=Tt[mt++],xt-=3;while(xt>2);xt&&(Tt[nt++]=Tt[mt++],xt>1&&(Tt[nt++]=Tt[mt++]))}break}}break}}while(et>3,pt&=(1<<(Bt-=xt<<3))-1,j.next_in=et,j.next_out=nt,j.avail_in=et=1&&zt[Tt]===0;Tt--);if(Ot>Tt&&(Ot=Tt),Tt===0)return dt[Ut++]=20971520,dt[Ut++]=20971520,ct.bits=1,0;for(vt=1;vt0&&(nt===0||Tt!==1))return-1;for($t[1]=0,mt=1;mt<15;mt++)$t[mt+1]=$t[mt]+zt[mt];for(It=0;It852||nt===2&&Jt>592)return 1;for(;;){yt=mt-Wt,st[It]Ft?(Ct=nn[rn+st[It]],xt=Vt[jt+st[It]]):(Ct=96,xt=0),pt=1<>Wt)+(Bt-=pt)]=yt<<24|Ct<<16|xt|0;while(Bt!==0);for(pt=1<>=1;if(pt!==0?(Zt&=pt-1,Zt+=pt):Zt=0,It++,--zt[mt]==0){if(mt===Tt)break;mt=rt[ot+st[It]]}if(mt>Ot&&(Zt>)!==Qt){for(Wt===0&&(Wt=Ot),ft+=vt,bt=1<<(_t=mt-Wt);_t+Wt852||nt===2&&Jt>592)return 1;dt[Qt=Zt>]=Ot<<24|_t<<16|ft-Ut|0}}return Zt!==0&&(dt[ft+Zt]=mt-Wt<<24|64<<16|0),ct.bits=Ot,0}},function(o,s,_){o.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(o,s){},function(o,s,_){function j(ut,dt){var Ut=Object.keys(ut);if(Object.getOwnPropertySymbols){var st=Object.getOwnPropertySymbols(ut);dt&&(st=st.filter(function(ct){return Object.getOwnPropertyDescriptor(ut,ct).enumerable})),Ut.push.apply(Ut,st)}return Ut}function $(ut){for(var dt=1;dt0?this.tail.next=ct:this.head=ct,this.tail=ct,++this.length}},{key:"unshift",value:function(st){var ct={data:st,next:this.head};this.length===0&&(this.tail=ct),this.head=ct,++this.length}},{key:"shift",value:function(){if(this.length!==0){var st=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,st}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(st){if(this.length===0)return"";for(var ct=this.head,pt=""+ct.data;ct=ct.next;)pt+=st+ct.data;return pt}},{key:"concat",value:function(st){if(this.length===0)return nt.alloc(0);for(var ct,pt,Bt,Qt=nt.allocUnsafe(st>>>0),gt=this.head,ft=0;gt;)ct=gt.data,pt=Qt,Bt=ft,nt.prototype.copy.call(ct,pt,Bt),ft+=gt.data.length,gt=gt.next;return Qt}},{key:"consume",value:function(st,ct){var pt;return stQt.length?Qt.length:st;if(gt===Qt.length?Bt+=Qt:Bt+=Qt.slice(0,st),(st-=gt)==0){gt===Qt.length?(++pt,ct.next?this.head=ct.next:this.head=this.tail=null):(this.head=ct,ct.data=Qt.slice(gt));break}++pt}return this.length-=pt,Bt}},{key:"_getBuffer",value:function(st){var ct=nt.allocUnsafe(st),pt=this.head,Bt=1;for(pt.data.copy(ct),st-=pt.data.length;pt=pt.next;){var Qt=pt.data,gt=st>Qt.length?Qt.length:st;if(Qt.copy(ct,ct.length-st,0,gt),(st-=gt)==0){gt===Qt.length?(++Bt,pt.next?this.head=pt.next:this.head=this.tail=null):(this.head=pt,pt.data=Qt.slice(gt));break}++Bt}return this.length-=Bt,ct}},{key:ot,value:function(st,ct){return rt(this,$($({},ct),{},{depth:0,customInspect:!1}))}}])&&et(dt.prototype,Ut),Object.defineProperty(dt,"prototype",{writable:!1}),ut}()},function(o,s){},function(o,s,_){(function(j){var $;function _e(gt,ft,Ft){return(ft=function(yt){var Ct=function(xt,ht){if(typeof xt!="object"||xt===null)return xt;var mt=xt[Symbol.toPrimitive];if(mt!==void 0){var It=mt.call(xt,ht||"default");if(typeof It!="object")return It;throw new TypeError("@@toPrimitive must return a primitive value.")}return(ht==="string"?String:Number)(xt)}(yt,"string");return typeof Ct=="symbol"?Ct:String(Ct)}(ft))in gt?Object.defineProperty(gt,ft,{value:Ft,enumerable:!0,configurable:!0,writable:!0}):gt[ft]=Ft,gt}var et=_(48),tt=Symbol("lastResolve"),nt=Symbol("lastReject"),rt=Symbol("error"),ot=Symbol("ended"),ut=Symbol("lastPromise"),dt=Symbol("handlePromise"),Ut=Symbol("stream");function st(gt,ft){return{value:gt,done:ft}}function ct(gt){var ft=gt[tt];if(ft!==null){var Ft=gt[Ut].read();Ft!==null&&(gt[ut]=null,gt[tt]=null,gt[nt]=null,ft(st(Ft,!1)))}}function pt(gt){j.nextTick(ct,gt)}var Bt=Object.getPrototypeOf(function(){}),Qt=Object.setPrototypeOf((_e($={get stream(){return this[Ut]},next:function(){var gt=this,ft=this[rt];if(ft!==null)return Promise.reject(ft);if(this[ot])return Promise.resolve(st(void 0,!0));if(this[Ut].destroyed)return new Promise(function(xt,ht){j.nextTick(function(){gt[rt]?ht(gt[rt]):xt(st(void 0,!0))})});var Ft,yt=this[ut];if(yt)Ft=new Promise(function(xt,ht){return function(mt,It){xt.then(function(){ht[ot]?mt(st(void 0,!0)):ht[dt](mt,It)},It)}}(yt,this));else{var Ct=this[Ut].read();if(Ct!==null)return Promise.resolve(st(Ct,!1));Ft=new Promise(this[dt])}return this[ut]=Ft,Ft}},Symbol.asyncIterator,function(){return this}),_e($,"return",function(){var gt=this;return new Promise(function(ft,Ft){gt[Ut].destroy(null,function(yt){yt?Ft(yt):ft(st(void 0,!0))})})}),$),Bt);o.exports=function(gt){var ft,Ft=Object.create(Qt,(_e(ft={},Ut,{value:gt,writable:!0}),_e(ft,tt,{value:null,writable:!0}),_e(ft,nt,{value:null,writable:!0}),_e(ft,rt,{value:null,writable:!0}),_e(ft,ot,{value:gt._readableState.endEmitted,writable:!0}),_e(ft,dt,{value:function(yt,Ct){var xt=Ft[Ut].read();xt?(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,yt(st(xt,!1))):(Ft[tt]=yt,Ft[nt]=Ct)},writable:!0}),ft));return Ft[ut]=null,et(gt,function(yt){if(yt&&yt.code!=="ERR_STREAM_PREMATURE_CLOSE"){var Ct=Ft[nt];return Ct!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,Ct(yt)),void(Ft[rt]=yt)}var xt=Ft[tt];xt!==null&&(Ft[ut]=null,Ft[tt]=null,Ft[nt]=null,xt(st(void 0,!0))),Ft[ot]=!0}),gt.on("readable",pt.bind(null,Ft)),Ft}}).call(this,_(2))},function(o,s){o.exports=function(){throw new Error("Readable.from is not available in the browser")}},function(o,s,_){o.exports=$;var j=_(81);function $(_e){if(!(this instanceof $))return new $(_e);j.call(this,_e)}_(7)($,j),$.prototype._transform=function(_e,et,tt){tt(null,_e)}},function(o,s,_){var j,$=_(24).codes,_e=$.ERR_MISSING_ARGS,et=$.ERR_STREAM_DESTROYED;function tt(dt){if(dt)throw dt}function nt(dt,Ut,st,ct){ct=function(Qt){var gt=!1;return function(){gt||(gt=!0,Qt.apply(void 0,arguments))}}(ct);var pt=!1;dt.on("close",function(){pt=!0}),j===void 0&&(j=_(48)),j(dt,{readable:Ut,writable:st},function(Qt){if(Qt)return ct(Qt);pt=!0,ct()});var Bt=!1;return function(Qt){if(!pt&&!Bt)return Bt=!0,function(gt){return gt.setHeader&&typeof gt.abort=="function"}(dt)?dt.abort():typeof dt.destroy=="function"?dt.destroy():void ct(Qt||new et("pipe"))}}function rt(dt){dt()}function ot(dt,Ut){return dt.pipe(Ut)}function ut(dt){return dt.length?typeof dt[dt.length-1]!="function"?tt:dt.pop():tt}o.exports=function(){for(var dt=arguments.length,Ut=new Array(dt),st=0;st0,function(Ft){ct||(ct=Ft),Ft&&Bt.forEach(rt),ft||(Bt.forEach(rt),pt(ct))})});return Ut.reduce(ot)}},function(o,s,_){var j=_(192)(function $(_e,et){return(et=et||{}).namespace=_e,et.prod=!0,et.dev=!1,et.force||$.force?$.yep(et):$.nope(et)});o.exports=j},function(o,s){var _=[],j=[],$=function(){};function _e(st){return!~_.indexOf(st)&&(_.push(st),!0)}function et(st){$=st}function tt(st){for(var ct=[],pt=0;pt<_.length;pt++)if(_[pt].async)ct.push(_[pt]);else if(_[pt](st))return!0;return!!ct.length&&new Promise(function(Bt){Promise.all(ct.map(function(Qt){return Qt(st)})).then(function(Qt){Bt(Qt.some(Boolean))})})}function nt(st){return!~j.indexOf(st)&&(j.push(st),!0)}function rt(){$.apply($,arguments)}function ot(st){for(var ct=0;ctnt.start)&&(rt?rt(null,Ut):dt.emit("line",Ut)),ct++,Ut=""),setTimeout(Qt,1e3);var Ft=ut.write(ot.slice(0,ft));rt||dt.emit("data",Ft);for(var yt=(Ft=(Ut+Ft).split(/\n+/)).length-1,Ct=0;Ctnt.start)&&(rt?rt(null,Ft[Ct]):dt.emit("line",Ft[Ct])),ct++;return Ut=Ft[yt],st+=ft,Qt()});$.close(Bt,tt)})()}),rt?dt.destroy:dt}}).call(this,_(5).Buffer)},function(o,s,_){(function(j,$){function _e(ft){return(_e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Ft){return typeof Ft}:function(Ft){return Ft&&typeof Symbol=="function"&&Ft.constructor===Symbol&&Ft!==Symbol.prototype?"symbol":typeof Ft})(ft)}function et(ft,Ft){var yt=Object.keys(ft);if(Object.getOwnPropertySymbols){var Ct=Object.getOwnPropertySymbols(ft);Ft&&(Ct=Ct.filter(function(xt){return Object.getOwnPropertyDescriptor(ft,xt).enumerable})),yt.push.apply(yt,Ct)}return yt}function tt(ft){for(var Ft=1;Ft"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var yt,Ct=st(ft);if(Ft){var xt=st(this).constructor;yt=Reflect.construct(Ct,arguments,xt)}else yt=Ct.apply(this,arguments);return Ut(this,yt)}}function Ut(ft,Ft){if(Ft&&(_e(Ft)==="object"||typeof Ft=="function"))return Ft;if(Ft!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(yt){if(yt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return yt}(ft)}function st(ft){return(st=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Ft){return Ft.__proto__||Object.getPrototypeOf(Ft)})(ft)}var ct=_(82),pt=_(205),Bt=_(33).Stream,Qt=_(14),gt=_(29);o.exports=function(ft){(function(ht,mt){if(typeof mt!="function"&&mt!==null)throw new TypeError("Super expression must either be null or a function");ht.prototype=Object.create(mt&&mt.prototype,{constructor:{value:ht,writable:!0,configurable:!0}}),Object.defineProperty(ht,"prototype",{writable:!1}),mt&&ut(ht,mt)})(xt,ft);var Ft,yt,Ct=dt(xt);function xt(){var ht,mt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return rt(this,xt),(ht=Ct.call(this,mt)).options=mt,ht.name=mt.name||"http",ht.ssl=!!mt.ssl,ht.host=mt.host||"localhost",ht.port=mt.port,ht.auth=mt.auth,ht.path=mt.path||"",ht.agent=mt.agent,ht.headers=mt.headers||{},ht.headers["content-type"]="application/json",ht.batch=mt.batch||!1,ht.batchInterval=mt.batchInterval||5e3,ht.batchCount=mt.batchCount||10,ht.batchOptions=[],ht.batchTimeoutID=-1,ht.batchCallback={},ht.port||(ht.port=ht.ssl?443:80),ht}return Ft=xt,(yt=[{key:"log",value:function(ht,mt){var It=this;this._request(ht,function(vt,Tt){Tt&&Tt.statusCode!==200&&(vt=new Error("Invalid HTTP Status Code: ".concat(Tt.statusCode))),vt?It.emit("warn",vt):It.emit("logged",ht)}),mt&&j(mt)}},{key:"query",value:function(ht,mt){typeof ht=="function"&&(mt=ht,ht={}),(ht={method:"query",params:this.normalizeQuery(ht)}).params.path&&(ht.path=ht.params.path,delete ht.params.path),ht.params.auth&&(ht.auth=ht.params.auth,delete ht.params.auth),this._request(ht,function(It,vt,Tt){if(vt&&vt.statusCode!==200&&(It=new Error("Invalid HTTP Status Code: ".concat(vt.statusCode))),It)return mt(It);if(typeof Tt=="string")try{Tt=JSON.parse(Tt)}catch(Ot){return mt(Ot)}mt(null,Tt)})}},{key:"stream",value:function(){var ht=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},mt=new Bt;(ht={method:"stream",params:ht}).params.path&&(ht.path=ht.params.path,delete ht.params.path),ht.params.auth&&(ht.auth=ht.params.auth,delete ht.params.auth);var It="",vt=this._request(ht);return mt.destroy=function(){return vt.destroy()},vt.on("data",function(Tt){for(var Ot=(Tt=(It+Tt).split(/\n+/)).length-1,_t=0;_t0&&(clearTimeout(this.batchTimeoutID),this.batchTimeoutID=-1);var vt=this.batchOptions.slice();this.batchOptions=[],this._doRequest(vt,ht,mt,It)}},{key:"_doRequest",value:function(ht,mt,It,vt){var Tt=Object.assign({},this.headers);It&&It.bearer&&(Tt.Authorization="Bearer ".concat(It.bearer));var Ot=(this.ssl?pt:ct).request(tt(tt({},this.options),{},{method:"POST",host:this.host,port:this.port,path:"/".concat(vt.replace(/^\//,"")),headers:Tt,auth:It&&It.username&&It.password?"".concat(It.username,":").concat(It.password):"",agent:this.agent}));Ot.on("error",mt),Ot.on("response",function(_t){return _t.on("end",function(){return mt(null,_t)}).resume()}),Ot.end($.from(gt(ht,this.options.replacer),"utf8"))}}])&&ot(Ft.prototype,yt),Object.defineProperty(Ft,"prototype",{writable:!1}),xt}(Qt)}).call(this,_(19).setImmediate,_(5).Buffer)},function(o,s,_){(function(j,$,_e){var et=_(83),tt=_(7),nt=_(84),rt=_(31),ot=_(196),ut=nt.IncomingMessage,dt=nt.readyStates,Ut=o.exports=function(ct){var pt,Bt=this;rt.Writable.call(Bt),Bt._opts=ct,Bt._body=[],Bt._headers={},ct.auth&&Bt.setHeader("Authorization","Basic "+new j(ct.auth).toString("base64")),Object.keys(ct.headers).forEach(function(gt){Bt.setHeader(gt,ct.headers[gt])});var Qt=!0;if(ct.mode==="disable-fetch"||"requestTimeout"in ct&&!et.abortController)Qt=!1,pt=!0;else if(ct.mode==="prefer-streaming")pt=!1;else if(ct.mode==="allow-wrong-content-type")pt=!et.overrideMimeType;else{if(ct.mode&&ct.mode!=="default"&&ct.mode!=="prefer-fast")throw new Error("Invalid value for opts.mode");pt=!0}Bt._mode=function(gt,ft){return et.fetch&&ft?"fetch":et.mozchunkedarraybuffer?"moz-chunked-arraybuffer":et.msstream?"ms-stream":et.arraybuffer&>?"arraybuffer":et.vbArray&>?"text:vbarray":"text"}(pt,Qt),Bt._fetchTimer=null,Bt.on("finish",function(){Bt._onFinish()})};tt(Ut,rt.Writable),Ut.prototype.setHeader=function(ct,pt){var Bt=ct.toLowerCase();st.indexOf(Bt)===-1&&(this._headers[Bt]={name:ct,value:pt})},Ut.prototype.getHeader=function(ct){var pt=this._headers[ct.toLowerCase()];return pt?pt.value:null},Ut.prototype.removeHeader=function(ct){delete this._headers[ct.toLowerCase()]},Ut.prototype._onFinish=function(){var ct=this;if(!ct._destroyed){var pt=ct._opts,Bt=ct._headers,Qt=null;pt.method!=="GET"&&pt.method!=="HEAD"&&(Qt=et.arraybuffer?ot(j.concat(ct._body)):et.blobConstructor?new $.Blob(ct._body.map(function(Ct){return ot(Ct)}),{type:(Bt["content-type"]||{}).value||""}):j.concat(ct._body).toString());var gt=[];if(Object.keys(Bt).forEach(function(Ct){var xt=Bt[Ct].name,ht=Bt[Ct].value;Array.isArray(ht)?ht.forEach(function(mt){gt.push([xt,mt])}):gt.push([xt,ht])}),ct._mode==="fetch"){var ft=null;if(et.abortController){var Ft=new AbortController;ft=Ft.signal,ct._fetchAbortController=Ft,"requestTimeout"in pt&&pt.requestTimeout!==0&&(ct._fetchTimer=$.setTimeout(function(){ct.emit("requestTimeout"),ct._fetchAbortController&&ct._fetchAbortController.abort()},pt.requestTimeout))}$.fetch(ct._opts.url,{method:ct._opts.method,headers:gt,body:Qt||void 0,mode:"cors",credentials:pt.withCredentials?"include":"same-origin",signal:ft}).then(function(Ct){ct._fetchResponse=Ct,ct._connect()},function(Ct){$.clearTimeout(ct._fetchTimer),ct._destroyed||ct.emit("error",Ct)})}else{var yt=ct._xhr=new $.XMLHttpRequest;try{yt.open(ct._opts.method,ct._opts.url,!0)}catch(Ct){return void _e.nextTick(function(){ct.emit("error",Ct)})}"responseType"in yt&&(yt.responseType=ct._mode.split(":")[0]),"withCredentials"in yt&&(yt.withCredentials=!!pt.withCredentials),ct._mode==="text"&&"overrideMimeType"in yt&&yt.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in pt&&(yt.timeout=pt.requestTimeout,yt.ontimeout=function(){ct.emit("requestTimeout")}),gt.forEach(function(Ct){yt.setRequestHeader(Ct[0],Ct[1])}),ct._response=null,yt.onreadystatechange=function(){switch(yt.readyState){case dt.LOADING:case dt.DONE:ct._onXHRProgress()}},ct._mode==="moz-chunked-arraybuffer"&&(yt.onprogress=function(){ct._onXHRProgress()}),yt.onerror=function(){ct._destroyed||ct.emit("error",new Error("XHR error"))};try{yt.send(Qt)}catch(Ct){return void _e.nextTick(function(){ct.emit("error",Ct)})}}}},Ut.prototype._onXHRProgress=function(){(function(ct){try{var pt=ct.status;return pt!==null&&pt!==0}catch{return!1}})(this._xhr)&&!this._destroyed&&(this._response||this._connect(),this._response._onXHRProgress())},Ut.prototype._connect=function(){var ct=this;ct._destroyed||(ct._response=new ut(ct._xhr,ct._fetchResponse,ct._mode,ct._fetchTimer),ct._response.on("error",function(pt){ct.emit("error",pt)}),ct.emit("response",ct._response))},Ut.prototype._write=function(ct,pt,Bt){this._body.push(ct),Bt()},Ut.prototype.abort=Ut.prototype.destroy=function(){this._destroyed=!0,$.clearTimeout(this._fetchTimer),this._response&&(this._response._destroyed=!0),this._xhr?this._xhr.abort():this._fetchAbortController&&this._fetchAbortController.abort()},Ut.prototype.end=function(ct,pt,Bt){typeof ct=="function"&&(Bt=ct,ct=void 0),rt.Writable.prototype.end.call(this,ct,pt,Bt)},Ut.prototype.flushHeaders=function(){},Ut.prototype.setTimeout=function(){},Ut.prototype.setNoDelay=function(){},Ut.prototype.setSocketKeepAlive=function(){};var st=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"]}).call(this,_(5).Buffer,_(6),_(2))},function(o,s,_){var j=_(5).Buffer;o.exports=function($){if($ instanceof Uint8Array){if($.byteOffset===0&&$.byteLength===$.buffer.byteLength)return $.buffer;if(typeof $.buffer.slice=="function")return $.buffer.slice($.byteOffset,$.byteOffset+$.byteLength)}if(j.isBuffer($)){for(var _e=new Uint8Array($.length),et=$.length,tt=0;tt= 0x80 (not a basic code point)","invalid-input":"Invalid input"},st=Math.floor,ct=String.fromCharCode;function pt(ht){throw new RangeError(Ut[ht])}function Bt(ht,mt){for(var It=ht.length,vt=[];It--;)vt[It]=mt(ht[It]);return vt}function Qt(ht,mt){var It=ht.split("@"),vt="";return It.length>1&&(vt=It[0]+"@",ht=It[1]),vt+Bt((ht=ht.replace(dt,".")).split("."),mt).join(".")}function gt(ht){for(var mt,It,vt=[],Tt=0,Ot=ht.length;Tt=55296&&mt<=56319&&Tt65535&&(It+=ct((mt-=65536)>>>10&1023|55296),mt=56320|1023&mt),It+=ct(mt)}).join("")}function Ft(ht,mt){return ht+22+75*(ht<26)-((mt!=0)<<5)}function yt(ht,mt,It){var vt=0;for(ht=It?st(ht/700):ht>>1,ht+=st(ht/mt);ht>455;vt+=36)ht=st(ht/35);return st(vt+36*ht/(ht+38))}function Ct(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt,jt=[],zt=ht.length,$t=0,nn=128,rn=72;for((It=ht.lastIndexOf("-"))<0&&(It=0),vt=0;vt=128&&pt("not-basic"),jt.push(ht.charCodeAt(vt));for(Tt=It>0?It+1:0;Tt=zt&&pt("invalid-input"),((bt=(Vt=ht.charCodeAt(Tt++))-48<10?Vt-22:Vt-65<26?Vt-65:Vt-97<26?Vt-97:36)>=36||bt>st((rt-$t)/_t))&&pt("overflow"),$t+=bt*_t,!(bt<(Jt=Wt<=rn?1:Wt>=rn+26?26:Wt-rn));Wt+=36)_t>st(rt/(Zt=36-Jt))&&pt("overflow"),_t*=Zt;rn=yt($t-Ot,mt=jt.length+1,Ot==0),st($t/mt)>rt-nn&&pt("overflow"),nn+=st($t/mt),$t%=mt,jt.splice($t++,0,nn)}return ft(jt)}function xt(ht){var mt,It,vt,Tt,Ot,_t,Wt,bt,Jt,Zt,Vt,jt,zt,$t,nn,rn=[];for(jt=(ht=gt(ht)).length,mt=128,It=0,Ot=72,_t=0;_t=mt&&Vtst((rt-It)/(zt=vt+1))&&pt("overflow"),It+=(Wt-mt)*zt,mt=Wt,_t=0;_trt&&pt("overflow"),Vt==mt){for(bt=It,Jt=36;!(bt<(Zt=Jt<=Ot?1:Jt>=Ot+26?26:Jt-Ot));Jt+=36)nn=bt-Zt,$t=36-Zt,rn.push(ct(Ft(Zt+nn%$t,0))),bt=st(nn/$t);rn.push(ct(Ft(bt,0))),Ot=yt(It,zt,vt==Tt),It=0,++vt}++It,++mt}return rn.join("")}nt={version:"1.4.1",ucs2:{decode:gt,encode:ft},decode:Ct,encode:xt,toASCII:function(ht){return Qt(ht,function(mt){return ut.test(mt)?"xn--"+xt(mt):mt})},toUnicode:function(ht){return Qt(ht,function(mt){return ot.test(mt)?Ct(mt.slice(4).toLowerCase()):mt})}},(_e=(function(){return nt}).call(s,_,s,j))===void 0||(j.exports=_e)})()}).call(this,_(200)(o),_(6))},function(o,s){o.exports=function(_){return _.webpackPolyfill||(_.deprecate=function(){},_.paths=[],_.children||(_.children=[]),Object.defineProperty(_,"loaded",{enumerable:!0,get:function(){return _.l}}),Object.defineProperty(_,"id",{enumerable:!0,get:function(){return _.i}}),_.webpackPolyfill=1),_}},function(o,s,_){o.exports={isString:function(j){return typeof j=="string"},isObject:function(j){return typeof j=="object"&&j!==null},isNull:function(j){return j===null},isNullOrUndefined:function(j){return j==null}}},function(o,s,_){s.decode=s.parse=_(203),s.encode=s.stringify=_(204)},function(o,s,_){function j(_e,et){return Object.prototype.hasOwnProperty.call(_e,et)}o.exports=function(_e,et,tt,nt){et=et||"&",tt=tt||"=";var rt={};if(typeof _e!="string"||_e.length===0)return rt;var ot=/\+/g;_e=_e.split(et);var ut=1e3;nt&&typeof nt.maxKeys=="number"&&(ut=nt.maxKeys);var dt=_e.length;ut>0&&dt>ut&&(dt=ut);for(var Ut=0;Ut=0?(st=Qt.substr(0,gt),ct=Qt.substr(gt+1)):(st=Qt,ct=""),pt=decodeURIComponent(st),Bt=decodeURIComponent(ct),j(rt,pt)?$(rt[pt])?rt[pt].push(Bt):rt[pt]=[rt[pt],Bt]:rt[pt]=Bt}return rt};var $=Array.isArray||function(_e){return Object.prototype.toString.call(_e)==="[object Array]"}},function(o,s,_){var j=function(tt){switch(typeof tt){case"string":return tt;case"boolean":return tt?"true":"false";case"number":return isFinite(tt)?tt:"";default:return""}};o.exports=function(tt,nt,rt,ot){return nt=nt||"&",rt=rt||"=",tt===null&&(tt=void 0),typeof tt=="object"?_e(et(tt),function(ut){var dt=encodeURIComponent(j(ut))+rt;return $(tt[ut])?_e(tt[ut],function(Ut){return dt+encodeURIComponent(j(Ut))}).join(nt):dt+encodeURIComponent(j(tt[ut]))}).join(nt):ot?encodeURIComponent(j(ot))+rt+encodeURIComponent(j(tt)):""};var $=Array.isArray||function(tt){return Object.prototype.toString.call(tt)==="[object Array]"};function _e(tt,nt){if(tt.map)return tt.map(nt);for(var rt=[],ot=0;ot"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Bt,Qt=ot(ct);if(pt){var gt=ot(this).constructor;Bt=Reflect.construct(Qt,arguments,gt)}else Bt=Qt.apply(this,arguments);return rt(this,Bt)}}function rt(ct,pt){if(pt&&($(pt)==="object"||typeof pt=="function"))return pt;if(pt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Bt){if(Bt===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Bt}(ct)}function ot(ct){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(pt){return pt.__proto__||Object.getPrototypeOf(pt)})(ct)}var ut=_(86),dt=_(4).MESSAGE,Ut=_(16),st=_(14);o.exports=function(ct){(function(ft,Ft){if(typeof Ft!="function"&&Ft!==null)throw new TypeError("Super expression must either be null or a function");ft.prototype=Object.create(Ft&&Ft.prototype,{constructor:{value:ft,writable:!0,configurable:!0}}),Object.defineProperty(ft,"prototype",{writable:!1}),Ft&&tt(ft,Ft)})(gt,ct);var pt,Bt,Qt=nt(gt);function gt(){var ft,Ft=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(_e(this,gt),ft=Qt.call(this,Ft),!Ft.stream||!ut(Ft.stream))throw new Error("options.stream is required.");return ft._stream=Ft.stream,ft._stream.setMaxListeners(1/0),ft.isObjectMode=Ft.stream._writableState.objectMode,ft.eol=typeof Ft.eol=="string"?Ft.eol:Ut.EOL,ft}return pt=gt,(Bt=[{key:"log",value:function(ft,Ft){var yt=this;if(j(function(){return yt.emit("logged",ft)}),this.isObjectMode)return this._stream.write(ft),void(Ft&&Ft());this._stream.write("".concat(ft[dt]).concat(this.eol)),Ft&&Ft()}}])&&et(pt.prototype,Bt),Object.defineProperty(pt,"prototype",{writable:!1}),gt}(st)}).call(this,_(19).setImmediate)},function(o,s,_){(function(j){function $(vt,Tt,Ot){return Tt in vt?Object.defineProperty(vt,Tt,{value:Ot,enumerable:!0,configurable:!0,writable:!0}):vt[Tt]=Ot,vt}function _e(vt){return(_e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Tt){return typeof Tt}:function(Tt){return Tt&&typeof Symbol=="function"&&Tt.constructor===Symbol&&Tt!==Symbol.prototype?"symbol":typeof Tt})(vt)}function et(vt,Tt){for(var Ot=0;Ot"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var Ot,_t=ot(vt);if(Tt){var Wt=ot(this).constructor;Ot=Reflect.construct(_t,arguments,Wt)}else Ot=_t.apply(this,arguments);return rt(this,Ot)}}function rt(vt,Tt){if(Tt&&(_e(Tt)==="object"||typeof Tt=="function"))return Tt;if(Tt!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ot){if(Ot===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ot}(vt)}function ot(vt){return(ot=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Tt){return Tt.__proto__||Object.getPrototypeOf(Tt)})(vt)}var ut=_(33),dt=ut.Stream,Ut=ut.Transform,st=_(50),ct=_(4),pt=ct.LEVEL,Bt=ct.SPLAT,Qt=_(86),gt=_(88),ft=_(92),Ft=_(211),yt=_(212),Ct=_(60).warn,xt=_(49),ht=/%[scdjifoO%]/g,mt=function(vt){(function(bt,Jt){if(typeof Jt!="function"&&Jt!==null)throw new TypeError("Super expression must either be null or a function");bt.prototype=Object.create(Jt&&Jt.prototype,{constructor:{value:bt,writable:!0,configurable:!0}}),Object.defineProperty(bt,"prototype",{writable:!1}),Jt&&tt(bt,Jt)})(Wt,vt);var Tt,Ot,_t=nt(Wt);function Wt(bt){var Jt;return function(Zt,Vt){if(!(Zt instanceof Vt))throw new TypeError("Cannot call a class as a function")}(this,Wt),(Jt=_t.call(this,{objectMode:!0})).configure(bt),Jt}return Tt=Wt,(Ot=[{key:"child",value:function(bt){var Jt=this;return Object.create(Jt,{write:{value:function(Zt){var Vt=Object.assign({},bt,Zt);Zt instanceof Error&&(Vt.stack=Zt.stack,Vt.message=Zt.message),Jt.write(Vt)}}})}},{key:"configure",value:function(){var bt=this,Jt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Zt=Jt.silent,Vt=Jt.format,jt=Jt.defaultMeta,zt=Jt.levels,$t=Jt.level,nn=$t===void 0?"info":$t,rn=Jt.exitOnError,Dt=rn===void 0||rn,wt=Jt.transports,Et=Jt.colors,kt=Jt.emitErrs,Pt=Jt.formatters,Kt=Jt.padLevels,Ht=Jt.rewriters,on=Jt.stripColors,sn=Jt.exceptionHandlers,gn=Jt.rejectionHandlers;if(this.transports.length&&this.clear(),this.silent=Zt,this.format=Vt||this.format||_(213)(),this.defaultMeta=jt||null,this.levels=zt||this.levels||xt.npm.levels,this.level=nn,this.exceptions&&this.exceptions.unhandle(),this.rejections&&this.rejections.unhandle(),this.exceptions=new gt(this),this.rejections=new ft(this),this.profilers={},this.exitOnError=Dt,wt&&(wt=Array.isArray(wt)?wt:[wt]).forEach(function(Cn){return bt.add(Cn)}),Et||kt||Pt||Kt||Ht||on)throw new Error(["{ colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in winston@3.0.0.","Use a custom winston.format(function) instead.","See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md"].join(` +`));sn&&this.exceptions.handle(sn),gn&&this.rejections.handle(gn)}},{key:"isLevelEnabled",value:function(bt){var Jt=this,Zt=It(this.levels,bt);if(Zt===null)return!1;var Vt=It(this.levels,this.level);return Vt!==null&&(this.transports&&this.transports.length!==0?this.transports.findIndex(function(jt){var zt=It(Jt.levels,jt.level);return zt===null&&(zt=Vt),zt>=Zt})!==-1:Vt>=Zt)}},{key:"log",value:function(bt,Jt){for(var Zt,Vt,jt=arguments.length,zt=new Array(jt>2?jt-2:0),$t=2;$t2?new Ft({transport:bt}):bt;if(!Jt._writableState||!Jt._writableState.objectMode)throw new Error("Transports must WritableStreams in objectMode. Set { objectMode: true }.");return this._onEvent("error",Jt),this._onEvent("warn",Jt),this.pipe(Jt),bt.handleExceptions&&this.exceptions.handle(),bt.handleRejections&&this.rejections.handle(),this}},{key:"remove",value:function(bt){if(!bt)return this;var Jt=bt;return(!Qt(bt)||bt.log.length>2)&&(Jt=this.transports.filter(function(Zt){return Zt.transport===bt})[0]),Jt&&this.unpipe(Jt),this}},{key:"clear",value:function(){return this.unpipe(),this}},{key:"close",value:function(){return this.exceptions.unhandle(),this.rejections.unhandle(),this.clear(),this.emit("close"),this}},{key:"setLevels",value:function(){Ct.deprecated("setLevels")}},{key:"query",value:function(bt,Jt){typeof bt=="function"&&(Jt=bt,bt={}),bt=bt||{};var Zt={},Vt=Object.assign({},bt.query||{});st(this.transports.filter(function(jt){return!!jt.query}),function(jt,zt){(function($t,nn){bt.query&&typeof $t.formatQuery=="function"&&(bt.query=$t.formatQuery(Vt)),$t.query(bt,function(rn,Dt){if(rn)return nn(rn);typeof $t.formatResults=="function"&&(Dt=$t.formatResults(Dt,bt.format)),nn(null,Dt)})})(jt,function($t,nn){zt&&((nn=$t||nn)&&(Zt[jt.name]=nn),zt()),zt=null})},function(){return Jt(null,Zt)})}},{key:"stream",value:function(){var bt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},Jt=new dt,Zt=[];return Jt._streams=Zt,Jt.destroy=function(){for(var Vt=Zt.length;Vt--;)Zt[Vt].destroy()},this.transports.filter(function(Vt){return!!Vt.stream}).forEach(function(Vt){var jt=Vt.stream(bt);jt&&(Zt.push(jt),jt.on("log",function(zt){zt.transport=zt.transport||[],zt.transport.push(Vt.name),Jt.emit("log",zt)}),jt.on("error",function(zt){zt.transport=zt.transport||[],zt.transport.push(Vt.name),Jt.emit("error",zt)}))}),Jt}},{key:"startTimer",value:function(){return new yt(this)}},{key:"profile",value:function(bt){var Jt=Date.now();if(this.profilers[bt]){var Zt=this.profilers[bt];delete this.profilers[bt];for(var Vt=arguments.length,jt=new Array(Vt>1?Vt-1:0),zt=1;ztj($,et)},o.exports=s.default},function(o,s,_){var j=Object.prototype.toString;o.exports=function($){if(typeof $.displayName=="string"&&$.constructor.name)return $.displayName;if(typeof $.name=="string"&&$.name)return $.name;if(typeof $=="object"&&$.constructor&&typeof $.constructor.name=="string")return $.constructor.name;var _e=$.toString(),et=j.call($).slice(8,-1);return(_e=et==="Function"?_e.substring(_e.indexOf("(")+1,_e.indexOf(")")):et)||"anonymous"}},function(o,s,_){const j=_(13),{LEVEL:$}=_(4),_e=_(14),et=o.exports=function(tt={}){if(_e.call(this,tt),!tt.transport||typeof tt.transport.log!="function")throw new Error("Invalid transport, must be an object with a log method.");this.transport=tt.transport,this.level=this.level||tt.transport.level,this.handleExceptions=this.handleExceptions||tt.transport.handleExceptions,this._deprecated(),this.transport.__winstonError||(this.transport.__winstonError=(function(nt){this.emit("error",nt,this.transport)}).bind(this),this.transport.on("error",this.transport.__winstonError))};j.inherits(et,_e),et.prototype._write=function(tt,nt,rt){if(this.silent||tt.exception===!0&&!this.handleExceptions)return rt(null);(!this.level||this.levels[this.level]>=this.levels[tt[$]])&&this.transport.log(tt[$],tt.message,tt,this._nop),rt(null)},et.prototype._writev=function(tt,nt){for(let rt=0;rt{const rt=_e.configure(nt);return tt[$]=rt(tt,nt.replacer||et,nt.space),tt})},function(o,s,_){class j extends Error{constructor(_e){super(`Format functions must be synchronous taking a two arguments: (info, opts) +Found: ${_e.toString().split(` +`)[0]} +`),Error.captureStackTrace(this,j)}}o.exports=$=>{if($.length>2)throw new j($);function _e(tt={}){this.options=tt}function et(tt){return new _e(tt)}return _e.prototype.transform=$,et.Format=_e,et}},function(o,s,_){function j(et,tt){if(!(et instanceof tt))throw new TypeError("Cannot call a class as a function")}function $(et,tt){for(var nt=0;nt0&&arguments[0]!==void 0?arguments[0]:{};j(this,et),this.loggers=new Map,this.options=rt}var tt,nt;return tt=et,(nt=[{key:"add",value:function(rt,ot){var ut=this;if(!this.loggers.has(rt)){var dt=(ot=Object.assign({},ot||this.options)).transports||this.options.transports;ot.transports=dt?dt.slice():[];var Ut=_e(ot);Ut.on("close",function(){return ut._delete(rt)}),this.loggers.set(rt,Ut)}return this.loggers.get(rt)}},{key:"get",value:function(rt,ot){return this.add(rt,ot)}},{key:"has",value:function(rt){return!!this.loggers.has(rt)}},{key:"close",value:function(rt){var ot=this;if(rt)return this._removeLogger(rt);this.loggers.forEach(function(ut,dt){return ot._removeLogger(dt)})}},{key:"_removeLogger",value:function(rt){this.loggers.has(rt)&&(this.loggers.get(rt).close(),this._delete(rt))}},{key:"_delete",value:function(rt){this.loggers.delete(rt)}}])&&$(tt.prototype,nt),Object.defineProperty(tt,"prototype",{writable:!1}),et}()},function(o,s,_){(function(j){const $=_(51),_e=/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/;o.exports=function(et,tt,nt,rt){let ot,ut,dt=!1,Ut=!1;const st=_(93);function ct(Qt){rt(tt,Qt)}function pt(Qt,gt){let ft=`"${tt}" ${gt}`;throw Qt&&(ft=""+ft),ut&&(ft=`${ft}. An example of a valid value would be: ${ut}`),new $(ft)}const Bt={convertFromBase64:function(){return ct("marking for base64 conversion"),dt=!0,Bt},default:function(Qt){if(typeof Qt=="number")ot=Qt.toString();else if(Array.isArray(Qt)||typeof Qt=="object"&&Qt!==null)ot=JSON.stringify(Qt);else{if(typeof Qt!="string")throw new $("values passed to default() must be of Number, String, Array, or Object type");ot=Qt}return ct(`setting default value to "${ot}"`),Bt},required:function(Qt){return Qt===void 0?(ct("marked as required"),Ut=!0):(ct("setting required flag to "+Qt),Ut=Qt),Bt},example:function(Qt){return ut=Qt,Bt}};return Object.entries({...st,...nt}).forEach(([Qt,gt])=>{Bt[Qt]=function(ft){return function(){let Ft=et[tt];if(ct(`will be read from the environment using "${ft.name}" accessor`),Ft===void 0)if(ot===void 0&&Ut)ct("was not found in the environment, but is required to be set"),pt(void 0,"is a required variable, but it was not set");else{if(ot===void 0)return void ct("was not found in the environment, but is not required. returning undefined");ct(`was not found in the environment, parsing default value "${ot}" instead`),Ft=ot}Ut&&(ct("verifying variable value is not an empty string"),Ft.trim().length===0&&pt(void 0,"is a required variable, but its value was empty")),dt&&(ct("verifying variable is a valid base64 string"),Ft.match(_e)||pt(Ft,"should be a valid base64 string if using convertFromBase64"),ct("converting from base64 to utf8 string"),Ft=j.from(Ft,"base64").toString());const yt=[Ft].concat(Array.prototype.slice.call(arguments));try{ct(`passing value "${Ft}" to "${ft.name}" accessor`);const Ct=ft.apply(ft,yt);return ct("parsed successfully, returning "+Ct),Ct}catch(Ct){pt(Ft,Ct.message)}}}(gt)}),Bt}}).call(this,_(5).Buffer)},function(o,s,_){const j=_(34);o.exports=function($,_e){return _e=_e||",",$.length?j($).split(_e).filter(Boolean):[]}},function(o,s,_){o.exports=function(j){const $=j.toLowerCase();if($!=="false"&&$!=="true")throw new Error('should be either "true", "false", "TRUE", or "FALSE"');return $!=="false"}},function(o,s,_){o.exports=function(j){const $=j.toLowerCase();if(["false","0","true","1"].indexOf($)===-1)throw new Error('should be either "true", "false", "TRUE", "FALSE", 1, or 0');return!($==="0"||$==="false")}},function(o,s,_){const j=_(94);o.exports=function($){var _e=j($);if(_e>65535)throw new Error("cannot assign a port number greater than 65535");return _e}},function(o,s,_){const j=_(34);o.exports=function($,_e){const et=j($);if(_e.indexOf(et)<0)throw new Error(`should be one of [${_e.join(", ")}]`);return et}},function(o,s,_){const j=_(53);o.exports=function($){const _e=j($);if(_e>0)throw new Error("should be a negative float");return _e}},function(o,s,_){const j=_(53);o.exports=function($){const _e=j($);if(_e<0)throw new Error("should be a positive float");return _e}},function(o,s,_){const j=_(52);o.exports=function($){const _e=j($);if(_e>0)throw new Error("should be a negative integer");return _e}},function(o,s,_){const j=_(54);o.exports=function($){var _e=j($);if(!Array.isArray(_e))throw new Error("should be a parseable JSON Array");return _e}},function(o,s,_){const j=_(54);o.exports=function($){var _e=j($);if(Array.isArray(_e))throw new Error("should be a parseable JSON Object");return _e}},function(o,s,_){o.exports=function(j,$){try{RegExp(void 0,$)}catch{throw new Error("invalid regexp flags")}try{return new RegExp(j,$)}catch{throw new Error("should be a valid regexp")}}},function(o,s,_){const j=_(95);o.exports=function($){return j($).toString()}},function(o,s,_){const j=_(34),$=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021\u0023-\u005b\u005d-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\u0001-\u0008\u000b\u000c\u000e-\u001f\u0021-\u005a\u0053-\u007f]|\\[\u0001-\u0009\u000b\u000c\u000e-\u007f])+)\])$/;o.exports=function(_e){const et=j(_e);if(!$.test(et))throw new Error("should be a valid email address");return et}},function(o,s,_){o.exports=function(j,$){return function(_e,et){$&&$.match(/prod|production/)||j(`env-var (${_e}): ${et}`)}}},function(o,s,_){(function(j){(function(){var $,_e,et,tt,nt,rt;typeof performance<"u"&&performance!==null&&performance.now?o.exports=function(){return performance.now()}:j!=null&&j.hrtime?(o.exports=function(){return($()-nt)/1e6},_e=j.hrtime,tt=($=function(){var ot;return 1e9*(ot=_e())[0]+ot[1]})(),rt=1e9*j.uptime(),nt=tt-rt):Date.now?(o.exports=function(){return Date.now()-et},et=Date.now()):(o.exports=function(){return new Date().getTime()-et},et=new Date().getTime())}).call(this)}).call(this,_(2))},function(o,s,_){(function(j){(function($){function _e(tt){if((tt=tt===void 0?"utf-8":tt)!=="utf-8")throw new RangeError("Failed to construct 'TextEncoder': The encoding label provided ('"+tt+"') is invalid.")}function et(tt,nt){if(nt=nt===void 0?{fatal:!1}:nt,(tt=tt===void 0?"utf-8":tt)!=="utf-8")throw new RangeError("Failed to construct 'TextDecoder': The encoding label provided ('"+tt+"') is invalid.");if(nt.fatal)throw Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}if($.TextEncoder&&$.TextDecoder)return!1;Object.defineProperty(_e.prototype,"encoding",{value:"utf-8"}),_e.prototype.encode=function(tt,nt){if((nt=nt===void 0?{stream:!1}:nt).stream)throw Error("Failed to encode: the 'stream' option is unsupported.");nt=0;for(var rt=tt.length,ot=0,ut=Math.max(32,rt+(rt>>1)+7),dt=new Uint8Array(ut>>3<<3);nt=Ut){if(nt=Ut)continue}if(ot+4>dt.length&&(ut+=8,ut=(ut*=1+nt/tt.length*2)>>3<<3,(st=new Uint8Array(ut)).set(dt),dt=st),(4294967168&Ut)==0)dt[ot++]=Ut;else{if(!(4294965248&Ut))dt[ot++]=Ut>>6&31|192;else if(!(4294901760&Ut))dt[ot++]=Ut>>12&15|224,dt[ot++]=Ut>>6&63|128;else{if(4292870144&Ut)continue;dt[ot++]=Ut>>18&7|240,dt[ot++]=Ut>>12&63|128,dt[ot++]=Ut>>6&63|128}dt[ot++]=63&Ut|128}}return dt.slice(0,ot)},Object.defineProperty(et.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(et.prototype,"fatal",{value:!1}),Object.defineProperty(et.prototype,"ignoreBOM",{value:!1}),et.prototype.decode=function(tt,nt){if((nt=nt===void 0?{stream:!1}:nt).stream)throw Error("Failed to decode: the 'stream' option is unsupported.");nt=0;for(var rt=(tt=new Uint8Array(tt)).length,ot=[];nt>>10&1023|55296),ut=56320|1023&ut),ot.push(ut))}return String.fromCharCode.apply(null,ot)},$.TextEncoder=_e,$.TextDecoder=et})(typeof window<"u"?window:j!==void 0?j:this)}).call(this,_(6))},function(o,s,_){_.r(s),_.d(s,"AuthClient",function(){return _e}),_.d(s,"RtcSignalingClient",function(){return tt}),_.d(s,"Credentials",function(){return _t}),_.d(s,"SignalingPromiseClient",function(){return Wt.SignalingPromiseClient}),_.d(s,"RtcClient",function(){return $r}),_.d(s,"RtcClientV1",function(){return Qs}),_.d(s,"createRtcStreamMessage",function(){return co});var j=_(26),$=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class _e extends j.a{adminSignup(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/admin-signup",{token:Lt,method:"POST",body:At})})}login(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login",{method:"POST",body:At,allowUnsafeRetries:!0})})}loginWithGoogleToken(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login-google",{method:"POST",body:At,allowUnsafeRetries:!0})})}refresh(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/refresh",{method:"POST",body:{refreshToken:At,tokenExpirationSeconds:Lt},allowUnsafeRetries:!0})})}respondToNewPasswordRequiredChallenge(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/respond-to-new-password-required-challenge",{method:"POST",body:At})})}forgotPassword(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/forgot-password",{method:"POST",body:{email:At}})})}confirmForgotPassword(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/confirm-forgot-password",{method:"POST",body:At})})}resendInvitation(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/resend-invitation",{method:"POST",body:{email:At}})})}changePassword({token:At,refreshToken:Lt,currentPassword:qt,newPassword:ln}){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/change-password",{token:At,method:"POST",body:{refreshToken:Lt,currentPassword:qt,newPassword:ln}})})}getDeviceCredentials(At){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/device-credentials",{token:At,method:"POST",allowUnsafeRetries:!0})})}impersonate(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/impersonate",{token:At,method:"POST",allowUnsafeRetries:!0,body:{userId:Lt}})})}createServiceAccount(At,Lt,qt,ln){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/service-account",{token:At,method:"POST",allowUnsafeRetries:!0,body:{name:Lt,roleId:qt,tags:ln}})})}getFeatures(At){return $(this,void 0,void 0,function*(){return(yield this.fetch("auth/features",{token:At})).features})}checkSso(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/check-sso",{method:"POST",body:{email:At,allowUserAutoCreation:Lt}})})}loginWithSso(At,Lt){return $(this,void 0,void 0,function*(){return yield this.fetch("auth/login-sso",{method:"POST",body:{token:At,refreshToken:Lt}})})}}var et=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class tt extends j.a{createPeer(At,Lt){return et(this,void 0,void 0,function*(){return yield this.fetch("peers",{token:At,method:"POST",body:Lt})})}getPeers(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("peers",{token:At})).items})}refreshPeer(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch(`peers/${Lt}/refresh`,{token:At,method:"POST",allowUnsafeRetries:!0})})}createSession(At,Lt){return et(this,void 0,void 0,function*(){return yield this.fetch("sessions",{token:At,method:"POST",body:Lt})})}refreshSession(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Lt}/refresh`,{token:At,method:"POST",allowUnsafeRetries:!0})})}deleteSession(At,Lt){return et(this,void 0,void 0,function*(){yield this.fetch("sessions/"+Lt,{token:At,method:"DELETE",allowUnsafeRetries:!0})})}getSessions(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("sessions",{token:At})).items})}getIceServers(At){return et(this,void 0,void 0,function*(){return(yield this.fetch("ice-servers",{token:At})).items})}addSignals(At,Lt,qt){return et(this,void 0,void 0,function*(){yield this.fetch(`sessions/${Lt}/add-signals`,{token:At,method:"POST",body:qt})})}takeSignals(At,Lt){return et(this,void 0,void 0,function*(){return(yield this.fetch(`sessions/${Lt}/take-signals`,{token:At,method:"POST"})).items})}}var nt=_(1),rt=_(9),ot=_(15),ut=_.n(ot),dt=_(101),Ut=_.n(dt),st=_(3),ct=_(0),pt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Bt extends class{constructor(At,Lt){this.type=At,this.name=Lt}}{constructor(At){super("simple","LogReporter"),this.message=At}send(At){return pt(this,void 0,void 0,function*(){var Lt,qt;ct.a.debug(this.message,(Lt=At.reduce((ln,Un)=>Object.assign(Object.assign({},ln),{[Un.name]:Un.stat}),{}),qt=ln=>{const{sum:Un,count:hn}=ln,bn=Un/hn;return Object.assign(Object.assign({},ln),{average:bn})},Object.keys(Lt).reduce((ln,Un)=>Object.assign(Object.assign({},ln),{[Un]:qt(Lt[Un])}),{})))})}}const Qt=/^[a-zA-Z0-9-_.,:?'"()@\/\\#$+ ]{1,255}$/,gt=/^[*a-zA-Z0-9-_.,:?'"()@\/\\#$+ ]{1,255}$/;function ft(Jn,At=!1){return!!(Jn!=null&&Jn.match(At?gt:Qt))}var Ft=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};function yt({func:Jn,delay:At,immediate:Lt=!1}){let qt=!1,ln=setTimeout(function hn(){return Ft(this,void 0,void 0,function*(){if(qt)return;const bn=new Date().getTime();try{Un=Jn(),yield Un}finally{if(!qt){const Vn=new Date().getTime();ln=setTimeout(hn,Math.max(At-(Vn-bn),0))}}})},Lt?0:At),Un=Promise.resolve();return{stop(){return Ft(this,void 0,void 0,function*(){qt=!0,clearTimeout(ln),yield Un})}}}var Ct=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};const xt=_(231);class ht{constructor(At){this.buffer={},this.reporters=[],this.flushInterval=yt({func:()=>this.flushStats(),delay:ht.samplePeriodMs}),this.tags=this.filterTags((At==null?void 0:At.tags)||{app:st.a,version:st.k,namespace:st.j})}shutdown(){return Ct(this,void 0,void 0,function*(){yield this.flushInterval.stop(),yield this.flushStats(),yield Object(rt.a)(2*nt.a.second)})}aggregate(At,Lt,qt){this.addToBuffer(this.buffer,this.encodeKey({metric:At,tags:this.filterTags(qt||{})}),typeof Lt=="number"?{min:Lt,max:Lt,sum:Lt,count:1}:Lt)}increment(At,Lt){this.aggregate(At,1,Lt)}timer(At,Lt,qt){return Ct(this,void 0,void 0,function*(){const ln=xt(),Un=yield Lt(),hn=xt();return this.aggregate(At,hn-ln,qt),Un})}registerStatsReporter(At){this.reporters.push(At)}setTag(At,Lt){const qt=this.filterTags({[At]:Lt});this.tags=Object.assign(Object.assign({},this.tags),qt)}addToBuffer(At,Lt,qt){if(At[Lt]){const{min:ln,max:Un,sum:hn,count:bn}=At[Lt];At[Lt]={min:Math.min(ln,qt.min),max:Math.max(Un,qt.max),sum:hn+qt.sum,count:bn+qt.count}}else At[Lt]=qt}write(At){return Ct(this,void 0,void 0,function*(){yield Promise.all(this.reporters.map(Lt=>Ct(this,void 0,void 0,function*(){let qt;const ln={};switch(Lt.type){case"simple":for(const[hn,bn]of Object.entries(At)){const{metric:Vn}=this.decodeKey(hn);this.addToBuffer(ln,this.encodeKey({metric:Vn}),bn)}qt=ln;break;case"tagged":qt=At;break;default:(function(hn){throw new Error(`Unreachable type encountered (${hn})`)})(Lt.type)}const Un=Object.entries(qt);if(Un.length>0)return Lt.send(Un.map(([hn,bn])=>{const{metric:Vn,tags:Qn}=this.decodeKey(hn);return{name:Vn,tags:Object.assign(Object.assign({},Qn),this.tags),stat:bn}}),ht.samplePeriodMs).catch(hn=>{ct.a.debug("Failed to write stats to "+Lt.name,{error:hn})})})))})}flushStats(){return Ct(this,void 0,void 0,function*(){yield this.write(this.buffer),this.buffer={}})}encodeKey(At){return ut()(Object.assign(Object.assign({},At),Object.keys(At.tags||{}).length>0?{tags:At.tags}:{}))}decodeKey(At){return JSON.parse(At)}filterTags(At){return Object.entries(At||{}).reduce((Lt,[qt,ln])=>(ft(qt)&&ft(ln)&&(Lt[qt]=ln),Lt),{})}}ht.samplePeriodMs=5*nt.a.minute;const mt=!!st.d,It=new ht;mt||["local","on-prem"].includes(st.j)||It.registerStatsReporter(new Bt("stats"));var vt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Tt extends class{constructor(At){this.options=At,this.cache=new Ut.a(Object.assign(Object.assign(Object.assign({},At.dispose||At.disposeAfter?{ttlAutopurge:!0}:{}),At),{dispose:(...Lt)=>{var qt;Lt[2]==="evict"&&It.increment("lru-eviction",{name:At.name}),(qt=At.dispose)===null||qt===void 0||qt.call(At,...Lt)},disposeAfter:(...Lt)=>{var qt;this.updateStats(),(qt=At.disposeAfter)===null||qt===void 0||qt.call(At,...Lt)}})),this.stringify=At.fastStringify?JSON.stringify:ut.a}set(At,Lt,qt){const ln=this.stringify(At);if(!this.cache.set(ln,Lt,{ttl:qt})){const Un=this.cache.sizeCalculation?this.cache.sizeCalculation(Lt,ln):"unknown";throw Error(`Value too large (${Un} > ${this.cache.max})`)}this.updateStats()}get(At){const{name:Lt}=this.options,qt=this.stringify(At),ln=this.cache.getRemainingTTL(qt);return ln<=0?It.increment("cache-miss",{name:Lt}):ln!==1/0&&It.aggregate("cache-item-ttl",ln,{name:Lt}),this.cache.get(qt)}delete(At){this.cache.delete(this.stringify(At))}peek(At){return this.cache.peek(this.stringify(At))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(At){this.cache.forEach(At)}purgeStale(){return this.cache.purgeStale()}updateStats(){const{name:At}=this.options;It.aggregate("cache-item-count",this.cache.size,{name:At}),this.cache.calculatedSize!==void 0&&It.aggregate("cache-length",this.cache.calculatedSize,{name:At})}}{constructor(At){if(super(At),this.expireRejectedPromiseValues=At.expireRejectedPromiseValues===void 0||At.expireRejectedPromiseValues,this.rejectedPromiseValueTtl=At.rejectedPromiseValueTtl!==void 0?At.rejectedPromiseValueTtl:nt.a.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(At,Lt,qt){super.set(At,Lt,qt),this.expireRejectedPromiseValues&&Lt.catch(()=>vt(this,void 0,void 0,function*(){yield Object(rt.a)(this.rejectedPromiseValueTtl),this.peek(At)===Lt&&this.delete(At)}))}}var Ot=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class _t{constructor(At,Lt,qt){this.authClient=At,this.email=Lt,this.password=qt,this.tokenTtlMs=1*nt.a.hour,this.tokenCache=new Tt({name:"Credentials-tokenCache",max:100,ttl:this.tokenTtlMs-5*nt.a.minute,fastStringify:!0})}getToken(){return Ot(this,void 0,void 0,function*(){let At=this.tokenCache.get(this.email);return At||(At=(()=>Ot(this,void 0,void 0,function*(){const{authentication:Lt}=yield this.authClient.login({email:this.email,password:this.password,tokenExpirationSeconds:this.tokenTtlMs/nt.a.second});if(!Lt)throw new Error("User account not verified.");return Lt.accessToken}))(),this.tokenCache.set(this.email,At)),At})}}var Wt=_(96),bt=_(17),Jt=_(236),Zt=_(41),Vt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class jt extends Zt.a{constructor(At){super(At)}postLanRtcOffer(At){return Vt(this,void 0,void 0,function*(){return yield this.fetch("v1/lan-rtc-offer",{method:"POST",body:At})})}}var zt=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};function $t(Jn){return zt(this,void 0,void 0,function*(){return(yield Promise.all(Jn.map(At=>At.catch(Lt=>Lt)))).filter(At=>At instanceof Error)})}function nn(Jn,At){if(Jn===void 0)throw new Error("Value is undefined"+(At?": "+At:""))}function rn(Jn,At){if(Jn===null)throw new Error("Value is null"+(At?": "+At:""))}function Dt(Jn){return nn(Jn),Jn}function wt(Jn,At){const Lt=Jn.reduce((qt,ln)=>[...qt,...ln.urls],[]).filter(qt=>Et(qt,At)).sort(qt=>kt(qt,"udp")?-1:0).shift();if(Lt)return Object.assign(Object.assign({},Dt(Jn.find(qt=>qt.urls.includes(Lt)))),{urls:[Lt]})}function Et(Jn,At){switch(At){case"stun":return/^stuns?:/.test(Jn);case"turn":return/^turns?:/.test(Jn)}}function kt(Jn,At){return Jn.endsWith("transport="+At)}var Pt=_(10);class Kt extends Error{constructor(At,Lt){super(`Deadline expired after ${At}ms + ${Lt}ms`)}}class Ht{static withDeadline(At,Lt){const qt=new Promise((ln,Un)=>{setTimeout(()=>{Un(new Kt(Lt,this.grpcCallDeadlineSlopMs))},Lt+this.grpcCallDeadlineSlopMs)});return Promise.race([At,qt])}}Ht.grpcCallDeadlineSlopMs=500*nt.a.millisecond;var on=_(27);const sn={ordered:!1,maxPacketLifeTime:300*nt.a.millisecond},gn={ordered:!0},Cn={ordered:!0},In={ordered:!1,maxRetransmits:0},Mn={ordered:!1,maxRetransmits:0},rr=Jn=>"received"in Jn&&Jn.received!==void 0,An=Jn=>!("received"in Jn)||Jn.received===void 0,Dn=2*nt.a.second,Hn=10*nt.a.second;function Fr(Jn,At={}){const Lt=Array.from(Jn.values()),qt=Lt.filter(rr),ln=qt.length>0,Un=Math.max(...Lt.map(Fn=>Fn.sent)),hn=Math.max(...qt.map(Fn=>Fn.received));let bn;if(ln){const Fn=Date.now()-Un<=nt.a.millisecond?Lt.length-1:Lt.length,xn=qt.length>Fn?Fn:qt.length,Kn=qt.map(Rr=>Rr.received-Rr.sent),{standardDeviation:Ur,mean:Nr,jitter:Ir}=function(Rr){const vr=Rr.length;if(vr===0)return{mean:NaN,standardDeviation:-1,jitter:NaN};const Zr=Rr.reduce((Lr,_i)=>Lr+_i,0)/vr,Dr=Math.sqrt(Rr.map(Lr=>Math.pow(Lr-Zr,2)).reduce((Lr,_i)=>Lr+_i)/vr);if(vr===1)return{mean:Zr,standardDeviation:Dr,jitter:NaN};let zo=0;for(let Lr=1;LrRr.sent{const[xn,Kn]=Fn;Kn.sent{var Un,hn;return{streamId:ln,sentCount:(Un=Lt.get(ln))!==null&&Un!==void 0?Un:0,receivedCount:(hn=qt.get(ln))!==null&&hn!==void 0?hn:0}}),timestamp:At}}incrementLocalSent(At){const{localSent:Lt}=this.counts,qt=hr(At.header.stream);Lt.set(qt,(Lt.get(qt)||0)+1)}incrementLocalReceived(At){const{localReceived:Lt}=this.counts,qt=hr(At.header.stream),ln=Lt.get(qt)||0;if(ln===0){const{streamName:Un,streamType:hn}=At.header.stream;ct.a.debug("RTC client received first message for stream",{streamName:Un,streamType:hn})}Lt.set(qt,ln+1)}uploadMetrics(){return Gr(this,void 0,void 0,function*(){const{sessionId:At}=this,Lt=yield this.connection.peerConnection.getStats(),qt={};Lt.forEach(Qn=>qt[Qn.id]=Qn),ct.a.debug("rtc-stats",Object.assign(Object.assign({},qt),{sessionId:At}));const{localSent:ln,localReceived:Un,remoteSent:hn,remoteReceived:bn}=this.counts,Vn=[...new Set([...ln.keys(),...Un.keys()])].reduce((Qn,Fn)=>{const xn=ln.get(Fn),Kn=Un.get(Fn),Ur=hn.get(Fn),Nr=bn.get(Fn);return Object.assign(Object.assign({},Qn),{[`local-${Fn}-sent`]:xn,[`local-${Fn}-received`]:Kn,[`remote-${Fn}-sent`]:Ur,[`remote-${Fn}-received`]:Nr})},{sessionId:At});ct.a.debug("rtc-message-report",Object.assign({deviceId:this.connection.getRemoteDeviceId()},Vn))})}}function co(Jn,At,Lt){return{header:{stream:Jn,created:Date.now(),frameId:Lt||""},payload:At}}function Jr(Jn){const At=Jn.localCandidate.candidateType,Lt=Jn.remoteCandidate.candidateType;return At==="host"&&Lt==="host"?"local":At==="relay"||Lt==="relay"?"TURN":"STUN"}function xr(Jn){return new Set(["disconnected","failed","closed"]).has(Jn.iceConnectionState)}function ro(Jn){switch(Jn.header.stream.streamType){case"twist":{const{twist:At}=Jn.payload;if(!At)throw Error("twist not in payload of RTC message with type twist");return{header:Jn.header,payload:{twist:{linear:Object.assign({x:0,y:0,z:0},At.linear),angular:Object.assign({x:0,y:0,z:0},At.angular)}}}}case"pose":{const{pose:At}=Jn.payload;if(!At)throw Error("pose not in payload of RTC message with type pose");return{header:Jn.header,payload:{pose:{translation:Object.assign({x:0,y:0,z:0},At.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},At.rotation)}}}}case"pose-with-covariance":{const{poseWithCovariance:At}=Jn.payload;if(!At)throw Error("poseWithCovariance not in payload of RTC message with type pose-with-covariance");const Lt=new Array(36).fill(0);return At.covariance.forEach((qt,ln)=>{if(ln>=36)throw Error("covariance contains more than 36 elements");Lt[ln]=qt}),{header:Jn.header,payload:{poseWithCovariance:{pose:{translation:Object.assign({x:0,y:0,z:0},At.pose.translation),rotation:Object.assign({x:0,y:0,z:0,w:0},At.pose.rotation)},covariance:Lt}}}}case"point":{const{point:At}=Jn.payload;if(!At)throw Error("point not in payload of RTC message with type point");return{header:Jn.header,payload:{point:Object.assign({x:0,y:0,z:0},At)}}}default:return Jn}}var er=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class sr{get peerConnection(){return rn(this._peerConnection,"RTCPeerConnection is closed!"),this._peerConnection}constructor(At,Lt,qt,ln){this.iceServers=Lt,this.config=qt,this.dataChannelNotifier=ln,this.connectTimeoutMs=20*nt.a.second,this.iceGatheringTimeoutMs=3*nt.a.second,this.pingUpdateTimeoutMs=1*nt.a.second,this.pingV2UpdateTimeoutMs=250*nt.a.millisecond,this.pingV2MetricsGatherTimeoutMs=1*nt.a.second,this.streamsInfoUpdateTimeoutMs=2*nt.a.second,this.reassemblyTimeoutMs=500*nt.a.millisecond,this.reassemblyTableCleanupMs=1*nt.a.second,this.heartbeatTimeoutMs=20*nt.a.millisecond,this._peerConnection=null,this.heartbeatChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.streamLatestTimestamp=new Map,this.reassemblyTable=new Map,this.reassemblyTableLastTimestamp=new Map,this.closeCalled=!1,this.gotOffer=!1,this.hasIceCandidate=!1,this.pingV2Map=new Map,this.sendPingV2=()=>{const{latestTryOnceStreamChannel:hn}=this;if(!hn)return;const bn=new Date().getTime(),Vn=Object(Jt.a)();this.sendSystemMessage(hn,{type:"ping-v2",payload:{timestamp:bn,id:Vn}}),this.pingV2Map.set(Vn,{sent:bn})},this.gatherPingV2Metrics=()=>{const hn=Fr(this.pingV2Map);if(hn){const bn=this.getRemoteDeviceId();this.pingInfo=hn,It.aggregate("rtc-ping-average",hn.average,Object.assign({},bn?{deviceId:bn}:{})),It.aggregate("rtc-ping-loss",hn.loss,Object.assign({},bn?{deviceId:bn}:{})),It.aggregate("rtc-jitter",hn.jitter,Object.assign({},bn?{deviceId:bn}:{}))}},this._peerConnection=At;const{isOffer:Un}=qt.baseConfig;Un?this.initializeChannels(At):At.ondatachannel=hn=>{switch(hn.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=hn.channel;break;case"stream.reliable":this.reliableStreamChannel=hn.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=hn.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=hn.channel;break;case"heartbeat":return void(this.heartbeatChannel=hn.channel);default:return void this.dataChannelNotifier(hn.channel)}this.setupChannel(hn.channel)},this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:hn}=this;hn&&this.sendSystemMessage(hn,{type:"ping"})},this.pingUpdateTimeoutMs),this.pingV2UpdateTimeout=setInterval(this.sendPingV2,this.pingV2UpdateTimeoutMs),this.pingV2MetricsGatherTimeout=setInterval(this.gatherPingV2Metrics,this.pingV2MetricsGatherTimeoutMs),this.streamsInfoUpdateTimeout=setInterval(()=>{const{latestTtlStreamChannel:hn}=this;hn&&this.sendSystemMessage(hn,{type:"streams-info"})},this.streamsInfoUpdateTimeoutMs),this.reassemblyTableCleanupTimeout=setInterval(()=>{const hn=new Date().getTime();this.reassemblyTableLastTimestamp.forEach((bn,Vn,Qn)=>{hn>Vn+this.reassemblyTimeoutMs&&this.reassemblyTable.delete(bn)})},this.reassemblyTableCleanupMs),this.heartbeatTimeout=setInterval(()=>{const{heartbeatChannel:hn}=this;hn&&hn.readyState==="open"&&hn.send(new Uint8Array([1]))},this.heartbeatTimeoutMs)}handleSignal(At){return er(this,void 0,void 0,function*(){const{peerConnection:Lt}=this,{track:qt}=this.config.baseConfig,ln=(()=>{try{return JSON.parse(At.getPayload())}catch{return}})();if(!ln)return void ct.a.error("Received unparseable signal.");ct.a.debug("Handling signal",{description:ln});const{sdp:Un,type:hn}=ln;if(!Un||!hn)return void ct.a.warn("Received non-SDP signal");const{signalingState:bn,connectionState:Vn}=Lt;if(bn!=="stable"||Vn!=="connected")if(Lt.remoteDescription)ct.a.warn("Received SDP after remote description was set: "+Un);else{if(hn==="offer"){if(bn!=="stable")return void ct.a.warn("Received offer SDP when signaling is ongoing.");yield Lt.setRemoteDescription(ln);const Qn=yield Lt.createAnswer();yield Lt.setLocalDescription(Qn);const Fn=At.clone();return qt==null||qt("Answer Received",Fn),Fn.setPayload(JSON.stringify(Qn)),Fn.setReceiverId(At.getSenderId()),Fn.setSenderId(At.getReceiverId()),Fn}if(hn==="answer"){if(bn==="stable")return void ct.a.warn("Received answer SDP when signaling hasn't started.");yield Lt.setRemoteDescription(ln)}}else ct.a.warn("Received SDP when already connected: "+Un)})}send(At,Lt){const qt=this.getChannelFromLabel(Lt.channelLabel);qt?this.sendOnChannel(qt,At):ct.a.warn("Send called with unexpected channel label",{channelLabel:Lt.channelLabel})}controlRemoteStream(At){var Lt;this.sendSystemMessage((rn(Lt=this.reliableStreamChannel),Lt),{type:"stream-control",streamControl:At})}isActive(){return new Set(["new","checking","connected","completed"]).has(this.peerConnection.iceConnectionState)||this.isReady()}isReady(){const{reliableStreamChannel:At,latestTtlStreamChannel:Lt,latestTryOnceStreamChannel:qt,latestReliableStreamChannel:ln}=this;return(At==null?void 0:At.readyState)==="open"&&(Lt==null?void 0:Lt.readyState)==="open"&&(qt==null?void 0:qt.readyState)==="open"&&(ln==null?void 0:ln.readyState)==="open"}close(){var At,Lt,qt,ln,Un,hn,bn;return er(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield(At=this.sessionMetrics)===null||At===void 0?void 0:At.uploadMetrics(),Xn(this.pingUpdateTimeout),Xn(this.pingV2UpdateTimeout),Xn(this.pingV2MetricsGatherTimeout),Xn(this.reassemblyTableCleanupTimeout),Xn(this.streamsInfoUpdateTimeout),Xn(this.heartbeatTimeout),(Lt=this._peerConnection)===null||Lt===void 0||Lt.close(),(qt=this.heartbeatChannel)===null||qt===void 0||qt.close(),(ln=this.latestReliableStreamChannel)===null||ln===void 0||ln.close(),(Un=this.latestTryOnceStreamChannel)===null||Un===void 0||Un.close(),(hn=this.latestTtlStreamChannel)===null||hn===void 0||hn.close(),(bn=this.reliableStreamChannel)===null||bn===void 0||bn.close(),this._peerConnection=null,this.heartbeatChannel=null,this.latestReliableStreamChannel=null,this.latestTryOnceStreamChannel=null,this.latestTtlStreamChannel=null,this.reliableStreamChannel=null)})}getPing(){return this.pingTimeMs}getPingInfo(){return this.pingInfo}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionCreatedTimestamp(){var At;return(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionCreatedTimestamp}setSessionCreatedTimestamp(At){this.config.remoteConfig&&(this.config.remoteConfig.sessionCreatedTimestamp=At)}getSessionId(){var At;return(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionId}setSessionId(At){this.config.remoteConfig&&(this.config.remoteConfig.sessionId=At,this.sessionMetrics=new Co(At,this))}getRemotePeerId(){return this.config.baseConfig.remotePeerId}getRemoteDeviceId(){var At;return(At=this.config.baseConfig)===null||At===void 0?void 0:At.remoteDeviceId}setRemoteDeviceId(At){this.config.baseConfig.remoteDeviceId=At}getSessionMetricsMessageCounts(){var At;return(At=this.sessionMetrics)===null||At===void 0?void 0:At.counts}getConnectionStatsInfo(){return er(this,void 0,void 0,function*(){const{peerConnection:At}=this;if(!At)return;const Lt=yield At.getStats(null),qt=[];Lt.forEach(Vn=>{qt.push(Vn)});const ln=qt.find(Vn=>Vn.type==="transport");if(!ln)return;const Un=qt.find(Vn=>(Vn.type==="candidate-pair"||Vn.type==="candidatepair")&&Vn.id===ln.selectedCandidatePairId);if(!Un)return;const hn=qt.find(Vn=>Vn.id===Un.localCandidateId),bn=qt.find(Vn=>Vn.id===Un.remoteCandidateId);return hn&&bn&&(hn.address=hn.address||hn.ip,bn.address=bn.address||bn.ip,hn.address!==void 0&&bn.address!==void 0)?{transport:ln,localCandidate:hn,remoteCandidate:bn,candidatePair:Un}:void 0})}initializeChannels(At){this.heartbeatChannel=At.createDataChannel("heartbeat",Mn),this.heartbeatChannel.binaryType="arraybuffer",this.latestTtlStreamChannel=At.createDataChannel("stream.latest-ttl",sn),this.latestTtlStreamChannel.binaryType="arraybuffer",this.reliableStreamChannel=At.createDataChannel("stream.reliable",gn),this.reliableStreamChannel.binaryType="arraybuffer",this.latestReliableStreamChannel=At.createDataChannel("stream.latest-reliable",Cn),this.latestReliableStreamChannel.binaryType="arraybuffer",this.latestTryOnceStreamChannel=At.createDataChannel("stream.latest-try-once",In),this.latestTryOnceStreamChannel.binaryType="arraybuffer",this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}getOffer(){var At,Lt;return er(this,void 0,void 0,function*(){const{gotOffer:qt}=this,{peerConnection:ln,config:Un}=this;if(this.config.baseConfig.isLan)throw new Error('"getOffer" method can only be called with internet connections. LAN connections should call the "getLanOffer" method.');const hn=(At=this.config.remoteConfig)===null||At===void 0?void 0:At.sessionId;if(qt)return void ct.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,xr(this.peerConnection))return void ct.a.debug("Failed to generate offer because the peer connection was inactive.");const bn=Un.baseConfig.track;ln.onicecandidate=()=>{this.hasIceCandidate=!0},ln.oniceconnectionstatechange=()=>er(this,void 0,void 0,function*(){const Ur=ln.iceConnectionState;if(Ur==="connected"||Ur==="completed"){const Nr=yield this.getConnectionStatsInfo(),Ir=Nr?Jr(Nr):void 0;ct.a.info("ICE connection state changed to "+Ur,{sessionId:hn,connectionStatsInfo:Nr,iceMode:Ir}),bn==null||bn("ICE connection state change",{iceConnectionState:Ur,sessionId:hn,connectionStatsInfo:Nr,iceMode:Ir})}}),yield ln.setLocalDescription(yield ln.createOffer());const Vn=ln.getConfiguration?ln.getConfiguration().iceTransportPolicy:"all",Qn=new Date().getTime();for(;;){const Ur=new Date().getTime()-Qn;if(Ur>this.connectTimeoutMs)return void ct.a.debug("Failed to generate offer because ICE gathering timed out.");if(Ur>this.iceGatheringTimeoutMs&&this.hasIceCandidate){ct.a.debug("ICE gathering partially completed; proceeding",{iceTransportPolicy:Vn,waitTime:Ur}),bn==null||bn("ICE gathering partially completed",{sessionId:hn,iceTransportPolicy:Vn,waitTime:Ur});break}if(ln.iceGatheringState==="complete"){ct.a.debug("ICE gathering complete",{iceTransportPolicy:Vn,waitTime:Ur}),bn==null||bn("ICE gathering completed",{sessionId:hn,iceTransportPolicy:Vn,waitTime:Ur});break}yield Object(rt.a)(.1*nt.a.second)}const Fn=(Lt=this.iceServers)!==null&&Lt!==void 0?Lt:[];for(const Ur of Fn)"credentialType"in Ur&&(Ur.credentialType=void 0);const xn=JSON.stringify(Fn),Kn=new Pt.Signal;return Kn.setPayload(JSON.stringify(ln.localDescription)),Kn.setSenderId(this.config.baseConfig.localPeerId),Kn.setReceiverId(this.config.baseConfig.remotePeerId),Kn.setIceServers(xn),Kn.setIceTransportPolicy(Vn??"all"),this.config.baseConfig.sessionType!==void 0?Kn.setSessionType(this.config.baseConfig.sessionType):Kn.setSessionType(Pt.SessionType.TELEOP),ct.a.debug("Sending offer signal with description",{description:Kn.getPayload()}),Kn})}getLanOffer(){return er(this,void 0,void 0,function*(){const{peerConnection:At,gotOffer:Lt}=this;if(!this.config.baseConfig.isLan)throw new Error('"getLanOffer" method can only be used with LAN connections. Internet connections should call the "getOffer" method.');if(Lt)return void ct.a.debug("Failed to generate offer because gotOffer was already called.");if(this.gotOffer=!0,xr(this.peerConnection))return void ct.a.debug("Failed to generate offer because the peer connection was inactive.");yield At.setLocalDescription(yield At.createOffer());const qt=new Date().getTime();for(;;){if(new Date().getTime()-qt>this.iceGatheringTimeoutMs)return void ct.a.debug("Failed to generate offer because ICE gathering timed out.");if(At.iceGatheringState==="complete")break;yield Object(rt.a)(.1*nt.a.second)}const ln=At.localDescription;if(ln)return ct.a.debug("Sending LAN offer signal with description",{description:ln}),ln;ct.a.error("Failed to generate LAN offer description")})}handleLanAnswer(At){return er(this,void 0,void 0,function*(){const{peerConnection:Lt}=this;if(!this.config.baseConfig.isLan)throw new Error('"handleLanAnswer" method can only be used with LAN connections. Internet connections should call the "handleSignal" method.');yield Lt.setRemoteDescription(At)})}getChannelFromLabel(At){switch(At){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(At,Lt){var qt;let ln;try{ln=Object(on.encode)(JSON.stringify(Lt))}catch(Un){return void ct.a.warn("Failed to encode RTC message",{error:Un})}try{At.send(ln),(qt=this.sessionMetrics)===null||qt===void 0||qt.incrementLocalSent(Lt)}catch(Un){ct.a.warn("Failed to send message to channel",{error:Un,channel:At.label})}}channelNotRecognized(At){return At!==this.latestTtlStreamChannel&&At!==this.latestReliableStreamChannel&&At!==this.latestTryOnceStreamChannel&&At!==this.reliableStreamChannel}setupChannel(At){At.onmessage=Lt=>{if(this.channelNotRecognized(At))return void ct.a.warn("Received message on unrecognized data channel.");let qt;try{qt=JSON.parse(Object(on.decode)(Lt.data))}catch(ln){return void ct.a.warn("Received unparseable message on RTC stream data channel",{error:ln,channel:At.label})}qt.communicationType==="message-chunk"?this.receiveChannelMessageChunk(At,qt):this.receiveChannelMessage(At,qt)},At.onerror=Lt=>{ct.a.warn("Channel error: "+Lt.error,{error:Lt.error,sessionId:this.getSessionId(),channelLabel:At.label})},At.onopen=()=>{ct.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:At.label})},At.onclose=()=>{const Lt={bufferedAmount:At.bufferedAmount,sessionId:this.getSessionId(),channelLabel:At.label};this.closeCalled===!1?ct.a.debug("Unexpected channel closed",Lt):ct.a.debug("Channel closed",Lt)}}receiveChannelMessage(At,Lt){var qt;const{config:ln}=this,{remotePeerId:Un}=this.config.baseConfig;this.lastMessageTimestamp=new Date().getTime(),Lt=ro(Lt),(qt=this.sessionMetrics)===null||qt===void 0||qt.incrementLocalReceived(Lt),!this.handleSystemMessage(At,Lt)&&((At===this.latestTryOnceStreamChannel||At===this.latestTtlStreamChannel||At===this.latestReliableStreamChannel)&&!this.isLatestMessage(Lt)||ln.baseConfig.receive(Un,Lt))}receiveChannelMessageChunk(At,Lt){const qt=this.reassemblyTable.get(Lt.id)||[];if(qt.push(Lt),qt.length===Lt.total){const ln=function(Un){const hn=Un.sort((bn,Vn)=>bn.seqbn.part).reduce((bn,Vn)=>bn+Vn);try{return JSON.parse(hn)}catch{return void ct.a.warn("Could not reassemble RTC message chunks")}}(qt);return ln&&this.receiveChannelMessage(At,ln),void this.reassemblyTable.delete(Lt.id)}this.reassemblyTable.set(Lt.id,qt),this.reassemblyTableLastTimestamp.set(Lt.id,new Date().getTime())}handleSystemMessage(At,Lt){var qt,ln;const{config:Un}=this,{baseConfig:hn}=Un,{remotePeerId:bn,remoteDeviceId:Vn}=hn;switch(Lt.header.stream.streamType){case"ping":return this.sendSystemMessage(At,{type:"pong",timestamp:Dt(Lt.payload.ping)}),!0;case"pong":{const Qn=new Date().getTime()-Dt(Lt.payload.pong);return this.pingTimeMs=Qn,It.aggregate("rtc-ping-time",Qn,Object.assign({},Vn?{deviceId:Vn}:{})),!0}case"ping-v2":return this.sendPingV2(),!0;case"pong-v2":{const Qn=Dt(Lt.payload.pongV2),Fn=this.pingV2Map.get(Qn.id);return(Fn==null?void 0:Fn.sent)!==Qn.timestamp&&ct.a.warn("Pong timestamp doesn't match stored value",{currentEntry:Fn,pong:Qn}),this.pingV2Map.set(Qn.id,{sent:Qn.timestamp,received:new Date().getTime()}),!0}case"streams-info":{const{sessionMetrics:Qn}=this,Fn=(qt=Lt.payload.streamsInfo)===null||qt===void 0?void 0:qt.timestamp;return!!Fn&&(Qn==null||Qn.updateRemoteMessagesCounts(Lt),(ln=hn.onStreamsInfoUpdate)===null||ln===void 0||ln.call(hn,bn,Fn),!0)}case"stream-control":return!0;default:return!1}}sendSystemMessage(At,Lt){var qt;const{localUserId:ln,localPeerId:Un}=this.config.baseConfig;if(At.readyState!=="open")return;const hn={entityId:ln??Un,streamName:"$."+Lt.type,streamType:Lt.type};let bn;switch(Lt.type){case"ping":bn={ping:new Date().getTime()};break;case"pong":bn={pong:Lt.timestamp};break;case"ping-v2":bn={pingV2:Lt.payload};break;case"pong-v2":bn={pongV2:Lt.payload};break;case"stream-control":bn={streamControl:Lt.streamControl};break;case"streams-info":bn={streamsInfo:(qt=this.sessionMetrics)===null||qt===void 0?void 0:qt.getLocalStreamsInfo(new Date().getTime())}}this.sendOnChannel(At,co(hn,bn))}isLatestMessage(At){const Lt=hr(At.header.stream),qt=(this.streamLatestTimestamp.get(Lt)||0)<=At.header.created;return qt&&this.streamLatestTimestamp.set(Lt,At.header.created),qt}}function Xn(Jn){Jn&&clearInterval(Jn)}function gr(){ct.a.debug("forceGarbageCollection() triggered"),queueMicrotask(()=>{let Jn=document.createElement("img");Jn.src=window.URL.createObjectURL(new Blob([new ArrayBuffer(5e7)])),Jn.onerror=function(){window.URL.revokeObjectURL(this.src),Jn=null}})}function Yr(Jn){try{return Jn instanceof Error?`${Jn.name}: ${Jn.message}`:typeof Jn=="object"?JSON.stringify(Jn):String(Jn)}catch{return"Unknown error"}}function Wr(Jn){var At,Lt;return{userId:(At=Jn.getUserId())===null||At===void 0?void 0:At.getValue(),deviceId:(Lt=Jn.getDeviceId())===null||Lt===void 0?void 0:Lt.getValue(),organizationId:Jn.getOrganizationId(),id:Jn.getPeerId(),capabilities:[],capabilitySet:{}}}var Pn=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};const Yn=Jn=>Jn.map(At=>Object.assign(Object.assign(Object.assign({},At),At.username?{username:""}:null),At.credential?{credential:""}:null));class $r{constructor(At){this.config=At,this.grpcCallDeadline=5*nt.a.second,this.refreshIntervalDelayMs=2*nt.a.second,this.iceServersTtl=30*nt.a.minute,this.connections=[],this.localConnections=[],this.isConnectionInitiator=new WeakSet,this.isOutgoingConnection=new Set,this.peerDataChannelListeners=[],this.rtcInstancesConstructed=0,this.statsLoopsExecuted=0;const{refreshIntervalDelayMs:Lt}=this;this.refreshInterval=yt({func:()=>Pn(this,void 0,void 0,function*(){try{yield this.update()}catch(qt){ct.a.warn("RTC refresh failed",{error:qt})}}),delay:Lt,immediate:!0})}send(At,Lt,qt){const ln=this.getActiveConnection(At);ln?ln.isReady()?ln.send(Lt,qt):ct.a.warn("Send called with unready connection."):ct.a.warn("Send called with no connection.")}controlRemoteStream(At,Lt){const qt=this.getActiveConnection(At);qt?qt.isReady()?qt.controlRemoteStream(Lt):ct.a.warn("controlRemoteStream called with unready connection."):ct.a.warn("controlRemoteStream called with no connection.")}getLocalPeer(){return Pn(this,void 0,void 0,function*(){for(;!this.localPeer;)yield Object(rt.a)(.1*nt.a.second);return Wr(this.localPeer)})}connect(At,Lt){var qt,ln,Un;return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode===!0)throw new Error("connect method called in local only mode.");const{track:hn,signalingClient:bn}=this.config,{localPeer:Vn,receiveSignalStream:Qn,iceServers:Fn}=this;if(!Vn||!Qn||!Fn)return void ct.a.warn("Connect called prior to local peer, receiveSignalStream, and ICE servers ready");if(this.getActiveConnection(At))return void ct.a.warn("Connect called for peer with existing connection.");if(this.isOutgoingConnection.has(At))return void ct.a.warn("Connect called for peer with an existing outgoing connection offer.");this.isOutgoingConnection.add(At);const xn=function(Cr,Rr,vr){const{rtcIceTransportPolicies:Zr,rtcIceServerProtocol:Dr,useAllServers:zo}=Rr||{},Lr=Cr.map(_i=>Object.assign(Object.assign({},_i),{urls:_i.urls.filter(Bo=>{const Go=(Zr===void 0||Zr.some($a=>Et(Bo,$a)))&&(Dr===void 0||kt(Bo,Dr));return Go||ct.a.debug("Ignoring ICE server: "+Bo,{organizationId:vr}),Go})})).filter(({urls:_i})=>_i.filter(Bo=>Bo).length>0);return zo?Lr:[wt(Lr,"stun"),wt(Lr,"turn")].filter(_i=>_i!==void 0).map(_i=>Dt(_i))}(Fn,Lt);ct.a.debug("Received ICE servers:",Yn(Fn)),ct.a.debug("Using ICE servers:",Yn(xn));const Kn=new sr(yield this.createRTCPeerConnection(xn),xn,{baseConfig:{isOffer:!0,isLan:!1,receive:(Cr,Rr)=>this.config.receive(Cr,Rr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Cr,Rr)=>{var vr,Zr;return(Zr=(vr=this.config).onStreamsInfoUpdate)===null||Zr===void 0?void 0:Zr.call(vr,Cr,Rr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(qt=Vn.getUserId())===null||qt===void 0?void 0:qt.getValue(),localPeerId:Vn.getPeerId(),remotePeerId:At,sessionType:this.config.sessionType},remoteConfig:{}},Cr=>this.onCustomDataChannel(At,Cr)),Ur=yield Kn.getOffer();if(!Ur)return ct.a.error("Failed to generate offer."),void this.isOutgoingConnection.delete(At);ct.a.debug("Sending offer."),hn==null||hn("Sending offer",Ur);const Nr=new Pt.SendSignalRequest;Nr.setSignal(Ur);const Ir=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(bn.sendSignal(Nr,yield this.getMetadata()),this.grpcCallDeadline)}catch(Cr){ct.a.warn("Error when sending signal",{error:Cr})}}))();if(!this.isOutgoingConnection.has(At))return void ct.a.debug("No offer set after receiving offer signal response.");ct.a.debug("Offer sent.");const jr=(ln=Ir==null?void 0:Ir.getSessionId())===null||ln===void 0?void 0:ln.getValue(),Kr=(Un=Ir==null?void 0:Ir.getSessionCreatedTimestamp())===null||Un===void 0?void 0:Un.getValue();return jr&&Kr?(Kn.setSessionId(jr),Kn.setSessionCreatedTimestamp(Kr),this.isOutgoingConnection.delete(At),this.connections.push(Kn),this.isConnectionInitiator.add(Kn),this.setupHandlers(Kn),jr):(ct.a.warn("No session ID or no session created timestamp on send signal response."),void this.isOutgoingConnection.delete(At))})}connectLan(At){var Lt,qt;return Pn(this,void 0,void 0,function*(){const ln=new jt(At),Un=new sr(yield this.createRTCPeerConnection([]),[],{baseConfig:{isOffer:!0,isLan:!0,receive:(Qn,Fn)=>this.config.receive(Qn,Fn),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Qn,Fn)=>{var xn,Kn;return(Kn=(xn=this.config).onStreamsInfoUpdate)===null||Kn===void 0?void 0:Kn.call(xn,Qn,Fn)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localUserId:(qt=(Lt=this.localPeer)===null||Lt===void 0?void 0:Lt.getUserId())===null||qt===void 0?void 0:qt.getValue(),localPeerId:"lan_client",remotePeerId:At}},Qn=>this.onCustomDataChannel(At,Qn)),hn=yield Un.getLanOffer();if(!hn)return ct.a.warn("Could not generate LAN offer"),!1;const bn=yield ln.postLanRtcOffer({offer:JSON.stringify(hn)}),Vn=new RTCSessionDescription(JSON.parse(bn.answer));return yield Un.handleLanAnswer(Vn),this.localConnections.push(Un),this.isConnectionInitiator.add(Un),Object(Jt.a)()})}getConnections(){return[...this.connections,...this.localConnections]}createCustomDataChannel(At,Lt,qt,ln,Un){const hn=this.getActiveConnection(At);if(hn&&this.isConnectionInitiator.has(hn)){const Vn=hn.peerConnection.createDataChannel("custom."+Lt,qt);return ln&&(Vn.binaryType="arraybuffer"),Un(At,Vn),()=>{}}const bn=(Vn,Qn)=>{At===Vn&&Qn.label==="custom."+Lt&&Un(At,Qn)};return this.peerDataChannelListeners.push(bn),()=>{this.peerDataChannelListeners=this.peerDataChannelListeners.filter(Vn=>Vn!==bn)}}onCustomDataChannel(At,Lt){this.peerDataChannelListeners.forEach(qt=>qt(At,Lt))}getConnectionStatus(At){if(this.isOutgoingConnection.has(At))return"connecting";const Lt=this.getActiveConnection(At);return Lt?Lt.isReady()?"connected":"connecting":"disconnected"}getConnectionStatsInfo(At){return Pn(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);if(Lt)return yield Lt.getConnectionStatsInfo()})}disconnect(At){return Pn(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);Lt&&(yield Lt.close(),this.connections=this.connections.filter(qt=>qt!==Lt),this.localConnections=this.localConnections.filter(qt=>qt!==Lt))})}getPeers(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.getPeers(new Pt.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){ct.a.warn("Error when getting peers",{error:Un})}}))();if(!Lt)return[];const qt=Lt.getPeersList();if(!qt)return[];const ln=Un=>{var hn,bn;return(bn=(hn=Un.getPeerCreatedTimestamp())===null||hn===void 0?void 0:hn.getValue())!==null&&bn!==void 0?bn:0};return qt.sort((Un,hn)=>ln(hn)-ln(Un)).map(Un=>Wr(Un))})}getSessions(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getPeers method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.getPeers(new Pt.GetPeersRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){ct.a.warn("Error when getting peers",{error:Un})}}))();if(!Lt)return{};const qt=Lt.getPeersList(),ln={};for(const Un of qt)ln[Un.getPeerId()]=Un.getSessionIdsList();return ln})}getPing(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPing();ct.a.warn("Attempted to get ping time from inactive peer.")}getPingInfo(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPingInfo();ct.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getLastMessageTimestamp();ct.a.warn("Attempted to get last message time from inactive peer.")}getSessionMetricsMessageCounts(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getSessionMetricsMessageCounts();ct.a.warn("Attempted to get session metrics counts from inactive peer.")}isReady(){if(this.config.lanOnlyMode)return!0;const{localPeer:At,receiveSignalStream:Lt,iceServers:qt}=this;return!!(At&&Lt&&qt)}shutdown(){return Pn(this,void 0,void 0,function*(){yield this.refreshInterval.stop(),this.receiveSignalStream&&this.receiveSignalStream.cancel();const At=this.connections;this.connections=[],yield this.closeConnections(At);const Lt=this.localConnections;this.localConnections=[],yield this.closeConnections(Lt),this.isOutgoingConnection.clear(),this.peerDataChannelListeners=[];const{localPeer:qt}=this;if(!qt||this.config.lanOnlyMode)return;const{signalingClient:ln}=this.config;yield(()=>Pn(this,void 0,void 0,function*(){try{const Un=new Pt.DeletePeerRequest;Un.setPeerId(qt.getPeerId()),yield Ht.withDeadline(ln.deletePeer(Un,yield this.getMetadata()),this.grpcCallDeadline)}catch(Un){return void ct.a.warn("Error deleting local peer",{error:Un})}}))()})}createPeer(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createPeer method cannot be used in local-only mode.");const{signalingClient:At}=this.config,Lt=yield(()=>Pn(this,void 0,void 0,function*(){try{return yield Ht.withDeadline(At.createPeer(new Pt.CreatePeerRequest,yield this.getMetadata()),this.grpcCallDeadline)}catch(ln){const Un=ln;ct.a.debug("createPeer failed",{error:Un});const hn=Yr(Un);throw new Error("Was not able to create peer: "+hn)}}))(),qt=Lt==null?void 0:Lt.getPeer();if(!qt)throw new Error("Response did not provide peer.");return this.localPeer=qt})}createReceiveSignalStream(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("createReceiveSignalStream method cannot be used in local-only mode.");const{signalingClient:At}=this.config,{localPeer:Lt,iceServers:qt}=this;if(!Lt||!qt)return;const{receiveSignalStream:ln}=this;ln&&ln.cancel();const Un=new Pt.ReceiveSignalStreamRequest;Un.setPeerId(Lt.getPeerId());const hn=yield(()=>Pn(this,void 0,void 0,function*(){try{return At.receiveSignalStream(Un,yield this.getMetadata({hasDeadline:!1}))}catch(bn){ct.a.debug("createReceiveSignalStream failed",{error:bn});const Vn=Yr(bn);throw new Error("Unable to create receive signal stream: "+Vn)}}))();if(!hn)throw new Error("Response did not provide stream.");return hn.on("data",bn=>Pn(this,void 0,void 0,function*(){var Vn,Qn,Fn,xn;const Kn=bn.getSignal(),Ur=(Vn=Kn==null?void 0:Kn.getSessionId())===null||Vn===void 0?void 0:Vn.getValue(),Nr=Kn==null?void 0:Kn.getSenderId(),Ir=Kn==null?void 0:Kn.getReceiverId(),jr=(Qn=Kn==null?void 0:Kn.getSessionCreatedTimestamp())===null||Qn===void 0?void 0:Qn.getValue();if(!(Kn&&Ur&&Nr&&Ir&&jr))return void ct.a.warn("Received signal with missing information.");const Kr=this.getActiveConnection(Nr);if(Kr)if(Kr.getSessionId()!==Ur){if(ct.a.debug("Received signal: different session for a peer we're already connected to."),(Kr.getSessionCreatedTimestamp()||0)>jr)return;const Cr=new sr(yield this.createRTCPeerConnection(qt),qt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Rr,vr)=>this.config.receive(Rr,vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Rr,vr)=>{var Zr,Dr;return(Dr=(Zr=this.config).onStreamsInfoUpdate)===null||Dr===void 0?void 0:Dr.call(Zr,Rr,vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Lt.getPeerId(),localUserId:(xn=Lt.getUserId())===null||xn===void 0?void 0:xn.getValue(),remotePeerId:Nr},remoteConfig:{sessionId:Ur,sessionCreatedTimestamp:jr}},Rr=>this.onCustomDataChannel(Nr,Rr));yield Cr.handleSignal(Kn),this.connections.push(Cr)}else ct.a.debug("Received signal: for an existing connection."),yield Kr.handleSignal(Kn);else{ct.a.debug("Received signal: new connection.");const Cr=new sr(yield this.createRTCPeerConnection(qt),qt,{baseConfig:{isOffer:!1,isLan:!1,receive:(Rr,vr)=>this.config.receive(Rr,vr),onStreamsInfoUpdate:this.config.onStreamsInfoUpdate?(Rr,vr)=>{var Zr,Dr;return(Dr=(Zr=this.config).onStreamsInfoUpdate)===null||Dr===void 0?void 0:Dr.call(Zr,Rr,vr)}:void 0,track:this.config.lanOnlyMode?void 0:this.config.track,localPeerId:Lt.getPeerId(),localUserId:(Fn=Lt.getUserId())===null||Fn===void 0?void 0:Fn.getValue(),remotePeerId:Nr},remoteConfig:{sessionId:Ur,sessionCreatedTimestamp:jr}},Rr=>this.onCustomDataChannel(Nr,Rr));yield Cr.handleSignal(Kn),this.connections.push(Cr)}})),hn.on("end",()=>{hn.cancel(),this.receiveSignalStream=void 0}),hn.on("error",bn=>{switch(bn.code){case bt.StatusCode.CANCELLED:case bt.StatusCode.UNAVAILABLE:case bt.StatusCode.UNKNOWN:ct.a.debug("Receive signal stream error",{error:bn});break;case bt.StatusCode.UNAUTHENTICATED:ct.a.warn("Receive signal stream error",{error:bn});break;default:ct.a.error("Receive signal stream error",{error:bn})}hn.cancel(),this.receiveSignalStream=void 0}),this.receiveSignalStream=hn})}createRTCPeerConnection(At){var Lt;return Pn(this,void 0,void 0,function*(){const qt=(Lt=this.config.alternateRTCPeerConnection)!==null&&Lt!==void 0?Lt:window.RTCPeerConnection;if(!qt)throw function(){if(typeof navigator>"u")throw new Error("not a browser");const{userAgent:ln}=navigator;return ln.includes("Firefox/")?"Firefox":ln.includes("Edg/")?"Edge":ln.includes("Chrome/")?"Chrome":ln.includes("Safari/")?"Safari":ln.includes("MSIE/")||ln.includes("Trident/")?"IE":"Other"}()!=="Chrome"?new Error("WebRTC is not enabled. Please try again with the latest version of Google Chrome."):new Error("WebRTC is not enabled. Please ensure WebRTC is not disabled by ad blocking software.");this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||gr();try{return new qt({iceServers:At})}catch(ln){throw ct.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),ln}})}closeConnections(At){return Pn(this,void 0,void 0,function*(){const Lt=yield $t(At.map(qt=>Pn(this,void 0,void 0,function*(){yield qt.close()})));for(const qt of Lt)ct.a.warn("Request to close session failed",{error:qt})})}getActiveConnection(At){return this.getConnections().find(Lt=>Lt.getRemotePeerId()===At&&Lt.isActive())}update(){var At;return Pn(this,void 0,void 0,function*(){if(this.localConnections=this.localConnections.filter(xn=>xn.isActive()),this.config.lanOnlyMode)return;const{signalingClient:Lt}=this.config;if(!this.localPeer||!this.receiveSignalStream||!this.iceServers){const xn=[];return this.localPeer||xn.push(this.createPeer()),this.iceServers||xn.push(this.updateIceServers()),yield Promise.all(xn),void(this.receiveSignalStream||(yield this.createReceiveSignalStream()))}const[qt,ln]=(Un=this.connections,hn=xn=>xn.isActive(),Un.reduce((xn,Kn,Ur,Nr)=>{const[Ir,jr]=xn;return(hn(Kn,Ur,Nr)?Ir:jr).push(Kn),xn},[[],[]]));var Un,hn;yield this.closeConnections(ln),this.connections=qt,this.gatherConnectionStats().catch(xn=>{ct.a.warn("Error calling gatherConnectionStats",{error:xn})}),this.statsLoopsExecuted++;const{localPeer:bn}=this,Vn=this.connections.filter(xn=>xn.getSessionId).map(xn=>Dt(xn.getSessionId()));bn.setSessionIdsList(Vn);const Qn=new Pt.RefreshPeerRequest;Qn.setPeer(bn);try{yield Ht.withDeadline(Lt.refreshPeer(Qn,yield this.getMetadata()),this.grpcCallDeadline)}catch(xn){xn instanceof bt.RpcError&&xn.code===bt.StatusCode.NOT_FOUND?(ct.a.warn("Peer expired, creating new peer",{peerId:bn.getPeerId()}),yield this.reset()):ct.a.warn("Error calling RefreshPeer",{error:xn})}const Fn=yield this.getPeers();for(const xn of this.connections)xn.setRemoteDeviceId((At=Fn.find(Kn=>Kn.id===xn.getRemotePeerId()))===null||At===void 0?void 0:At.deviceId)})}gatherConnectionStats(){return Pn(this,void 0,void 0,function*(){if(this.statsLoopsExecuted%10!=0||this.connections.length!==1)return;const At=yield this.connections[0].getConnectionStatsInfo(),Lt=At?Jr(At):void 0;Lt?It.setTag("rtc-connection-type",Lt):It.setTag("rtc-connection-type","unknown")})}reset(){return Pn(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.isOutgoingConnection.clear(),yield this.createPeer(),yield this.createReceiveSignalStream()})}updateIceServers(){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)return;const{iceServersLastUpdate:At,iceServersTtl:Lt}=this,qt=new Date().getTime();if(!At||qt-At>Lt)try{const ln=(yield Ht.withDeadline(this.config.signalingClient.getIceServers(new Pt.GetIceServersRequest,yield this.getMetadata()),this.grpcCallDeadline)).getIceServers();this.iceServers=JSON.parse(ln),this.iceServersLastUpdate=qt}catch(ln){ct.a.warn("Error in updateIceServers",{error:ln})}})}setupHandlers(At){const{peerConnection:Lt}=At,qt=At.getSessionCreatedTimestamp();Lt.onconnectionstatechange=()=>Pn(this,void 0,void 0,function*(){const ln=Lt.connectionState;if(!qt)return;const Un=At.getRemoteDeviceId();switch(ln){case"connected":It.aggregate("rtc-connect-time",new Date().getTime()-qt,Object.assign({},Un?{deviceId:Un}:{}));break;case"failed":It.increment("rtc-connect-failed",Object.assign({},Un?{deviceId:Un}:{}))}})}getMetadata(At={}){return Pn(this,void 0,void 0,function*(){if(this.config.lanOnlyMode)throw new Error("getMetadata method cannot be called in local-only mode");const{getToken:Lt}=this.config,{grpcCallDeadline:qt}=this,{hasDeadline:ln=!0}=At,Un=ln?{deadline:(Date.now()+qt).toString(10)}:null;try{const hn=yield Lt();return Object.assign({authorization:hn},Un)}catch(hn){throw ct.a.error("getToken() failed",{error:hn}),new Error("Cannot get authorization token")}})}}var Hr=_(12),uo=_(11),Ws=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class ps{constructor(At,Lt){this.sentMessagesCounts=new Map,this.receivedMessagesCounts=new Map,this.sessionId=At,this.connection=Lt}incrementMessageSent(At){const Lt=hr(At.header.stream);this.sentMessagesCounts.set(Lt,(this.sentMessagesCounts.get(Lt)||0)+1)}incrementMessageReceived(At){const Lt=hr(At.header.stream);this.receivedMessagesCounts.set(Lt,(this.receivedMessagesCounts.get(Lt)||0)+1)}uploadMetrics(){return Ws(this,void 0,void 0,function*(){const{sessionId:At}=this,Lt=yield this.connection.peerConnection.getStats(),qt={};Lt.forEach(Un=>qt[Un.id]=Un),ct.a.debug("rtc-stats",Object.assign(Object.assign({},qt),{sessionId:At}));const ln=[...new Set(Array.from(this.sentMessagesCounts.keys()).concat(Array.from(this.receivedMessagesCounts.keys())))].reduce((Un,hn)=>{const bn=this.sentMessagesCounts.get(hn),Vn=this.receivedMessagesCounts.get(hn);return Object.assign(Object.assign({},Un),{[hn+"-sent"]:bn,[hn+"-received"]:Vn})},{sessionId:At});ct.a.debug("rtc-message-report",ln)})}}function Oo(Jn,At){return hr(Jn)===hr(At)}var Uo=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class hs{constructor(At,Lt){this.peerConnection=At,this.config=Lt,this.connectTimeoutMs=10*nt.a.second,this.gatherIceTimeoutMs=5*nt.a.second,this.pingUpdateTimeoutMs=2*nt.a.second,this.streamLatestTimestamp=new Map,this.closeCalled=!1,this.connectCalled=!1,this.sentOffer=!1,this.receivedIceCandidate=!1;const{isOffer:qt}=Lt;qt?this.initializeChannels(At):At.ondatachannel=ln=>{switch(ln.channel.label){case"stream.latest-ttl":this.latestTtlStreamChannel=ln.channel;break;case"stream.reliable":this.reliableStreamChannel=ln.channel;break;case"stream.latest-reliable":this.latestReliableStreamChannel=ln.channel;break;case"stream.latest-try-once":this.latestTryOnceStreamChannel=ln.channel}this.setupChannel(ln.channel)},this.sessionMetrics=new ps(this.getSessionId(),this)}connect(){return Uo(this,void 0,void 0,function*(){if(this.connectCalled)return;this.connectCalled=!0,this.pingUpdateTimeout=setInterval(()=>{const{reliableStreamChannel:ln}=this;ln&&this.sendSystemMessage(ln,{type:"ping"})},this.pingUpdateTimeoutMs),this.connectTimeout=setTimeout(()=>Uo(this,void 0,void 0,function*(){this.isReady()||(ct.a.warn("RTC connect timed out, closing connection"),yield this.close())}),this.connectTimeoutMs);const{peerConnection:At,config:{isOffer:Lt,sessionId:qt}}=this;if(Lt){const ln=yield At.createOffer();yield At.setLocalDescription(ln)}Lt&&(this.gatherIceTimeout=setTimeout(()=>Uo(this,void 0,void 0,function*(){this.sentOffer||(ct.a.warn("ICE gathering timed out"),this.receivedIceCandidate?(ct.a.warn("Attempting to connect with partial ICE candidate pool"),yield this.sendOffer()):yield this.close())}),this.gatherIceTimeoutMs),At.onicecandidate=ln=>Uo(this,void 0,void 0,function*(){ln.candidate?this.receivedIceCandidate=!0:yield this.sendOffer()}),At.onicegatheringstatechange=()=>Uo(this,void 0,void 0,function*(){At.iceGatheringState==="complete"&&(yield this.sendOffer())}),At.onnegotiationneeded=()=>{ct.a.debug("Negotiation needed",{sessionId:qt})})})}handleSignal(At){return Uo(this,void 0,void 0,function*(){const{peerConnection:Lt,config:{sessionId:qt,sendSignal:ln}}=this,{description:Un}=JSON.parse(At.payload);if(ct.a.debug("Handling signal",{sessionId:qt,description:JSON.stringify(Un)}),Un)if(Lt.signalingState!=="stable"||Lt.connectionState!=="connected")if(Lt.remoteDescription)ct.a.warn("Received SDP signal during negotiation when remote description is already set: "+JSON.stringify(At));else if(Un.type==="offer"){yield Lt.setRemoteDescription(Un);const hn=yield Lt.createAnswer();yield Lt.setLocalDescription(hn),yield ln({payload:JSON.stringify({description:hn})})}else Un.type==="answer"&&(yield Lt.setRemoteDescription(Un));else ct.a.warn("Received SDP signal when signaling is stable and connected: "+JSON.stringify(At));else ct.a.warn("Received non-SDP signal: "+JSON.stringify(At))})}send(At,Lt){const qt=this.getChannelFromLabel(Lt.channelLabel);qt?this.sendOnChannel(qt,At):ct.a.warn("Send called with unexpected channel label",{channelLabel:Lt.channelLabel})}controlRemoteStream(At){this.sendSystemMessage(Dt(this.reliableStreamChannel),{type:"stream-control",streamControl:At})}isActive(){return new Set(["new","connecting","connected"]).has(this.peerConnection.connectionState)}isReady(){const{peerConnection:At,latestTtlStreamChannel:Lt,reliableStreamChannel:qt,latestTryOnceStreamChannel:ln}=this;return!!(qt&&Lt&&ln)&&At.connectionState==="connected"&&qt.readyState==="open"&&Lt.readyState==="open"&&ln.readyState==="open"}isClosed(){const{peerConnection:At,reliableStreamChannel:Lt,latestTryOnceStreamChannel:qt,latestTtlStreamChannel:ln}=this;return!(At.connectionState!=="closed"||Lt!==void 0&&Lt.readyState!=="closed"||qt!==void 0&&qt.readyState!=="closed"||ln!==void 0&&ln.readyState!=="closed")}needsClosing(){const{peerConnection:At,latestTtlStreamChannel:Lt,reliableStreamChannel:qt,latestTryOnceStreamChannel:ln}=this;if(this.isClosed())return!1;const Un=new Set(["closing","closed"]),hn=bn=>bn&&Un.has(bn.readyState);return xr(At)||hn(Lt)||hn(qt)||hn(ln)}close(){return Uo(this,void 0,void 0,function*(){this.closeCalled||(this.closeCalled=!0,yield this.sessionMetrics.uploadMetrics(),this.pingUpdateTimeout&&clearInterval(this.pingUpdateTimeout),this.connectTimeout&&clearTimeout(this.connectTimeout),this.gatherIceTimeout&&clearTimeout(this.gatherIceTimeout),this.peerConnection.close())})}getPing(){return this.pingTimeMs}getLastMessageTimestamp(){return this.lastMessageTimestamp}getSessionId(){return this.config.sessionId}getRemotePeer(){return this.config.remotePeer}initializeChannels(At){this.latestTtlStreamChannel=At.createDataChannel("stream.latest-ttl",sn),this.reliableStreamChannel=At.createDataChannel("stream.reliable",gn),this.latestReliableStreamChannel=At.createDataChannel("stream.latest-reliable",Cn),this.latestTryOnceStreamChannel=At.createDataChannel("stream.latest-try-once",In),this.setupChannel(this.latestTtlStreamChannel),this.setupChannel(this.reliableStreamChannel),this.setupChannel(this.latestReliableStreamChannel),this.setupChannel(this.latestTryOnceStreamChannel)}sendOffer(){return Uo(this,void 0,void 0,function*(){if(this.sentOffer||(this.sentOffer=!0,xr(this.peerConnection)))return;const{peerConnection:At,config:{sendSignal:Lt}}=this,qt=yield At.createOffer();yield At.setLocalDescription(qt);const ln={payload:JSON.stringify({description:qt})};yield Lt(ln)})}getChannelFromLabel(At){switch(At){case"stream.latest-ttl":return this.latestTtlStreamChannel;case"stream.reliable":return this.reliableStreamChannel;case"stream.latest-reliable":return this.latestReliableStreamChannel;case"stream.latest-try-once":return this.latestTryOnceStreamChannel}}sendOnChannel(At,Lt){let qt;try{qt=Object(on.encode)(JSON.stringify(Lt))}catch(ln){return void ct.a.warn("Failed to encode RTC message",{error:ln})}try{At.send(qt),this.sessionMetrics.incrementMessageSent(Lt)}catch(ln){ct.a.warn("Failed to send message to channel",{error:ln,channel:At.label})}}channelNotRecognized(At){return At!==this.latestTtlStreamChannel&&At!==this.latestReliableStreamChannel&&At!==this.latestTryOnceStreamChannel&&At!==this.reliableStreamChannel}setupChannel(At){At.onmessage=Lt=>{if(this.channelNotRecognized(At))return void ct.a.warn("Received message on unrecognized data channel.");let qt;try{qt=JSON.parse(Object(on.decode)(Lt.data))}catch(ln){return void ct.a.warn("Received unparseable RTC message",{error:ln,channel:At.label})}if(this.lastMessageTimestamp=new Date().getTime(),qt=ro(qt),this.sessionMetrics.incrementMessageReceived(qt),!this.handleSystemMessage(At,qt)){if(!this.hasCapabilities(qt))return void ct.a.warn("Received RTC message that was not within the capability scope of the connection.");(At===this.latestTryOnceStreamChannel||At===this.latestTtlStreamChannel||At===this.latestReliableStreamChannel)&&!this.isLatestMessage(qt)||this.config.receive(this.config.remotePeer.id,qt)}},At.onerror=Lt=>{ct.a.warn("Channel error: "+Lt.error,{error:Lt.error,sessionId:this.getSessionId(),channelLabel:At.label})},At.onopen=()=>{ct.a.debug("Channel opened",{sessionId:this.getSessionId(),channelLabel:At.label})},At.onclose=()=>{const Lt={bufferedAmount:At.bufferedAmount,sessionId:this.getSessionId(),channelLabel:At.label};this.closeCalled===!1?ct.a.debug("Unexpected channel closed",Lt):ct.a.debug("Channel closed",Lt)}}handleSystemMessage(At,Lt){switch(Lt.header.stream.streamType){case"ping":return this.sendSystemMessage(At,{type:"pong",timestamp:Dt(Lt.payload.ping)}),!0;case"pong":{const qt=new Date().getTime()-Dt(Lt.payload.pong);return this.pingTimeMs=qt,It.aggregate("rtc-ping-time",qt),!0}case"stream-control":return!0;default:return!1}}sendSystemMessage(At,Lt){if(At.readyState!=="open")return;const qt={entityId:Dt(this.config.localPeer.deviceId||this.config.localPeer.userId),streamName:"$."+Lt.type,streamType:Lt.type};let ln;switch(Lt.type){case"ping":ln={ping:new Date().getTime()};break;case"pong":ln={pong:Lt.timestamp};break;case"stream-control":ln={streamControl:Lt.streamControl}}this.sendOnChannel(At,co(qt,ln))}hasCapabilities(At){var Lt,qt;const{localPeer:ln,remotePeer:Un}=this.config,hn=(Lt=ln.capabilitySet.streaming)===null||Lt===void 0?void 0:Lt.streams,bn=hn&&hn.some(Fn=>Fn.receive&&Oo(Fn.stream,At.header.stream)),Vn=(qt=Un.capabilitySet.streaming)===null||qt===void 0?void 0:qt.streams,Qn=Vn&&Vn.some(Fn=>Fn.send&&Oo(Fn.stream,At.header.stream));return bn||Qn}isLatestMessage(At){const Lt=hr(At.header.stream),qt=(this.streamLatestTimestamp.get(Lt)||0)<=At.header.created;return qt&&this.streamLatestTimestamp.set(Lt,At.header.created),qt}}var mr=function(Jn,At,Lt,qt){return new(Lt||(Lt=Promise))(function(ln,Un){function hn(Qn){try{Vn(qt.next(Qn))}catch(Fn){Un(Fn)}}function bn(Qn){try{Vn(qt.throw(Qn))}catch(Fn){Un(Fn)}}function Vn(Qn){var Fn;Qn.done?ln(Qn.value):(Fn=Qn.value,Fn instanceof Lt?Fn:new Lt(function(xn){xn(Fn)})).then(hn,bn)}Vn((qt=qt.apply(Jn,At||[])).next())})};class Qs{constructor(At){this.config=At,this.connections=[],this.connectingSessions=new Map,this.rtcInstancesConstructed=0,this.updateInterval=yt({func:()=>mr(this,void 0,void 0,function*(){try{yield this.update()}catch(Lt){ct.a.warn("RTC update failed",{error:Lt})}}),delay:250*nt.a.millisecond,immediate:!0}),this.localPeer=this.createPeer()}send(At,Lt,qt){const ln=this.getActiveConnection(At);ln?ln.isReady()?ln.send(Lt,qt):ct.a.warn("Attempted to send with an active connection to that peer which was not yet ready."):ct.a.warn("Attempted to send with no active connection to that peer.")}controlRemoteStream(At,Lt){const qt=this.getActiveConnection(At);qt?qt.isReady()?qt.controlRemoteStream(Lt):ct.a.warn("Attempted to control remote stream with an active connection to that peer which was not yet ready."):ct.a.warn("Attempted to control remote stream with no active connection to that peer.")}connect(At){return mr(this,void 0,void 0,function*(){const Lt=yield this.getLocalPeer();if(this.getActiveConnection(At))return void ct.a.warn("Attempted to connect to peer with an already active connection.");let qt;try{qt=yield this.config.signalingClient.createSession(yield this.config.getToken(),{offerPeerId:Lt.id,answerPeerId:At})}catch(ln){Object(Hr.a)(ln,uo.a,Un=>Un.statusCode===404),ct.a.warn("Attempted to connect to peer that does not exist.")}if(qt)for(this.connectingSessions.set(qt.id,new Date().getTime()),yield this.connectToSession(qt);;)switch(yield Object(rt.a)(.1),this.getConnectionStatus(At)){case"connecting":continue;case"connected":return qt.id;case"disconnected":return}})}getConnectionStatus(At){const Lt=this.getActiveConnection(At);return Lt?Lt.isReady()?"connected":"connecting":"disconnected"}getIceMode(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.iceMode}disconnect(At){return mr(this,void 0,void 0,function*(){const Lt=this.getActiveConnection(At);Lt&&(yield this.closeConnection(Lt))})}getLocalPeer(){return mr(this,void 0,void 0,function*(){return yield this.localPeer})}getPeers(){return mr(this,void 0,void 0,function*(){return yield this.config.signalingClient.getPeers(yield this.config.getToken())})}getPing(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getPing();ct.a.warn("Attempted to get ping time from inactive peer.")}getLastMessageTimestamp(At){const Lt=this.getActiveConnection(At);if(Lt)return Lt.getLastMessageTimestamp();ct.a.warn("Attempted to get ping time from inactive peer.")}shutdown(){return mr(this,void 0,void 0,function*(){yield this.updateInterval.stop();const At=this.connections;this.connections=[],yield this.closeConnections(At)})}closeConnection(At){return mr(this,void 0,void 0,function*(){this.connectingSessions.delete(At.getSessionId()),yield At.close();try{yield this.config.signalingClient.deleteSession(yield this.config.getToken(),At.getSessionId())}catch(Lt){Object(Hr.a)(Lt,uo.a,qt=>qt.statusCode===404)}})}getSessions(){return mr(this,void 0,void 0,function*(){const At=yield this.getLocalPeer();return(yield this.config.signalingClient.getSessions(yield this.config.getToken())).filter(Lt=>Lt.offer.peer.id===At.id||Lt.answer.peer.id===At.id)})}createPeer(){return mr(this,void 0,void 0,function*(){return yield this.config.signalingClient.createPeer(yield this.config.getToken(),{capabilitySet:this.config.capabilitySet||{}})})}createRTCPeerConnection(At={}){return mr(this,void 0,void 0,function*(){const Lt=this.config.alternateRTCPeerConnection||RTCPeerConnection;this.rtcInstancesConstructed++,this.rtcInstancesConstructed%20||gr();try{return new Lt(Object.assign({iceServers:yield this.config.signalingClient.getIceServers(yield this.config.getToken())},At))}catch(qt){throw ct.a.debug(`Failed to create RTCPeerConnection: ${this.rtcInstancesConstructed} total allocated`),qt}})}closeConnections(At){return mr(this,void 0,void 0,function*(){const Lt=yield $t(At.map(qt=>mr(this,void 0,void 0,function*(){yield this.closeConnection(qt)})));for(const qt of Lt)ct.a.warn("Request to close session failed",{error:qt})})}reset(){return mr(this,void 0,void 0,function*(){yield this.closeConnections(this.connections),this.connections=[],this.connectingSessions=new Map,this.localPeer=this.createPeer(),yield this.localPeer})}getActiveConnection(At){return this.connections.find(Lt=>Lt.getRemotePeer().id===At&&Lt.isActive())}update(){return mr(this,void 0,void 0,function*(){const At=yield this.getLocalPeer();try{yield this.config.signalingClient.refreshPeer(yield this.config.getToken(),At.id)}catch(Lt){Object(Hr.a)(Lt,uo.a,qt=>qt.statusCode===404),ct.a.warn("Peer expired, creating new peer",{peerId:At.id}),yield this.reset()}yield this.handleSessions(yield this.getSessions())})}handleSessions(At){return mr(this,void 0,void 0,function*(){yield this.syncConnectionsAndSessions(At);const Lt=At.map(qt=>({session:qt,connection:this.connections.find(ln=>ln.getSessionId()===qt.id)}));yield Promise.all(Lt.map(({session:qt,connection:ln})=>mr(this,void 0,void 0,function*(){return yield this.maintainConnection(qt,ln)})))})}syncConnectionsAndSessions(At){return mr(this,void 0,void 0,function*(){const Lt=new Set(At.map(Un=>Un.id)),qt=Un=>Lt.has(Un.getSessionId())||this.connectingSessions.has(Un.getSessionId());this.connections=this.connections.filter(Un=>qt(Un));const ln=this.connections.filter(Un=>!qt(Un)||Un.needsClosing());yield Promise.all(ln.map(Un=>mr(this,void 0,void 0,function*(){yield this.closeConnection(Un)})))})}maintainConnection(At,Lt){return mr(this,void 0,void 0,function*(){const qt=yield this.getLocalPeer(),ln=At.offer.peer.id===qt.id;if(Lt){if(Lt.isReady())try{yield this.config.signalingClient.refreshSession(yield this.config.getToken(),At.id)}catch(Un){Object(Hr.a)(Un,uo.a,hn=>hn.statusCode===404),ct.a.debug("Refresh session not found",{sessionId:At.id})}else if(Lt.isActive())try{yield this.consumeSignals(Lt)}catch(Un){ct.a.warn("Failed to ingest signals, closing connection",{error:Un}),yield this.closeConnection(Lt)}}else{if(ln)return;yield this.connectToSession(At)}})}connectToSession(At){return mr(this,void 0,void 0,function*(){const Lt=yield this.getLocalPeer(),qt=At.offer.peer.id===Lt.id,ln=yield this.createRTCPeerConnection(),Un=new hs(ln,{localPeer:qt?At.offer.peer:At.answer.peer,remotePeer:qt?At.answer.peer:At.offer.peer,sessionId:At.id,isOffer:qt,sendSignal:hn=>this.sendSignal(At.id,hn),receive:(hn,bn)=>this.config.receive(hn,bn)});if(this.connections.find(hn=>hn.getSessionId()===At.id))return ct.a.warn("connectToSession called on a session that already has a connection.",{sessionId:At.id}),void(yield Un.close());this.setupHandlers(Un),this.connections.push(Un);try{yield Un.connect()}catch(hn){ct.a.warn("Failed to handle negotiation, closing connection",{error:hn}),yield this.closeConnection(Un)}})}setupHandlers(At){const{peerConnection:Lt}=At,qt=At.getSessionId();Lt.onconnectionstatechange=()=>mr(this,void 0,void 0,function*(){const ln=this.connectingSessions.get(qt);if(ln===void 0)return;const Un=Lt.connectionState;switch(xr(Lt)&&this.connectingSessions.delete(qt),Un){case"connected":{this.connectingSessions.delete(qt);const hn=new Date().getTime()-ln;It.aggregate("rtc-connect-time",hn);break}case"failed":It.increment("rtc-connect-failed"),yield this.closeConnection(At)}})}consumeSignals(At){return mr(this,void 0,void 0,function*(){let Lt=[];try{Lt=yield this.config.signalingClient.takeSignals(yield this.config.getToken(),At.getSessionId())}catch(qt){Object(Hr.a)(qt,uo.a,ln=>ln.statusCode===404)}for(const qt of Lt)yield At.handleSignal(qt)})}sendSignal(At,Lt){return mr(this,void 0,void 0,function*(){try{yield this.config.signalingClient.addSignals(yield this.config.getToken(),At,{signals:[Lt]})}catch(qt){Object(Hr.a)(qt,uo.a,ln=>ln.statusCode===404)}})}}},,function(o,s,_){_.r(s),_.d(s,"LogClient",function(){return tt});var j=_(26),$=_(12),_e=_(11),et=function(nt,rt,ot,ut){return new(ot||(ot=Promise))(function(dt,Ut){function st(Bt){try{pt(ut.next(Bt))}catch(Qt){Ut(Qt)}}function ct(Bt){try{pt(ut.throw(Bt))}catch(Qt){Ut(Qt)}}function pt(Bt){var Qt;Bt.done?dt(Bt.value):(Qt=Bt.value,Qt instanceof ot?Qt:new ot(function(gt){gt(Qt)})).then(st,ct)}pt((ut=ut.apply(nt,rt||[])).next())})};class tt extends j.a{log(rt){return et(this,void 0,void 0,function*(){const ot=tt.token;try{yield this.fetch("logs",{token:ot,method:"POST",body:{logs:rt},allowUnsafeRetries:!0})}catch(ut){Object($.a)(ut,_e.a,dt=>dt.statusCode===401&&ot!==void 0),tt.token===ot&&delete tt.token,yield this.log(rt)}})}}},function(o,s,_){var j={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let $;const _e=new Uint8Array(16);function et(){if(!$&&($=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!$))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return $(_e)}const tt=[];for(let rt=0;rt<256;++rt)tt.push((rt+256).toString(16).slice(1));function nt(rt,ot=0){return(tt[rt[ot+0]]+tt[rt[ot+1]]+tt[rt[ot+2]]+tt[rt[ot+3]]+"-"+tt[rt[ot+4]]+tt[rt[ot+5]]+"-"+tt[rt[ot+6]]+tt[rt[ot+7]]+"-"+tt[rt[ot+8]]+tt[rt[ot+9]]+"-"+tt[rt[ot+10]]+tt[rt[ot+11]]+tt[rt[ot+12]]+tt[rt[ot+13]]+tt[rt[ot+14]]+tt[rt[ot+15]]).toLowerCase()}s.a=function(rt,ot,ut){if(j.randomUUID&&!ot&&!rt)return j.randomUUID();const dt=(rt=rt||{}).random||(rt.rng||et)();if(dt[6]=15&dt[6]|64,dt[8]=63&dt[8]|128,ot){ut=ut||0;for(let Ut=0;Ut<16;++Ut)ot[ut+Ut]=dt[Ut];return ot}return nt(dt)}}])})})(dist);var distExports=dist.exports;const SessionTypes={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},SessionTypeConstants={...SessionTypes,Unknown:SessionTypes.UNKNOWN,Teleop:SessionTypes.TELEOP,PortForward:SessionTypes.PORT_FORWARD,Observe:SessionTypes.OBSERVE,Headless:SessionTypes.HEADLESS,unknown:SessionTypes.UNKNOWN,teleop:SessionTypes.TELEOP,portForward:SessionTypes.PORT_FORWARD,observe:SessionTypes.OBSERVE,headless:SessionTypes.HEADLESS},singleton=Symbol("RtcClientPool.instance");var yn;class RtcClientPool{constructor(s){he(this,yn,null),he(this,"createClient"),he(this,"ttlMs"),he(this,"proxyHandler"),he(this,"proxyReceivers",new Map),he(this,"teardownTimeout",null),he(this,"dispatch",($,_e)=>{this.proxyReceivers.forEach(et=>et==null?void 0:et($,_e))});const{createClient:_,ttlMs:j=0}=s;this.createClient=_,this.ttlMs=Math.max(j,0),this.proxyHandler={get:($,_e,et)=>{switch(_e){case"shutdown":return()=>this.releaseInstance(et);default:return Reflect.get($,_e,et)}}}}get isActive(){return this[singleton]!==null}get size(){return this.proxyReceivers.size}get(s){const _=new Proxy(this.allocate(),this.proxyHandler);return this.proxyReceivers.set(_,s??null),_}allocate(){if(this[singleton])return this.teardownTimeout&&(clearTimeout(this.teardownTimeout),this.teardownTimeout=null),this[singleton];const s=this.createClient(this.dispatch);return this[singleton]=s,s}async teardown(){const s=this[singleton];if(!s){console.warn("singleton has already been shutdown!");return}try{await s.shutdown()}finally{this[singleton]=null}}async releaseInstance(s){return this.proxyReceivers.delete(s)?this.proxyReceivers.size!==0?!1:(!this.teardownTimeout&&Number.isFinite(this.ttlMs)&&(this.ttlMs===0?await this.teardown():this.teardownTimeout=setTimeout(()=>{this.teardown().catch(_=>console.error("teardown failed",{err:_})).finally(()=>this.teardownTimeout=null)},this.ttlMs)),!0):(console.warn("this instance has already been released!"),!1)}}yn=singleton;const getToken=async()=>defined$1(Authentication.token,"Realtime when user isn't authorized"),EnumRtcClientPools={[SessionTypes.UNKNOWN]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.UNKNOWN,receive:o})}),[SessionTypes.TELEOP]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.TELEOP,receive:o})}),[SessionTypes.PORT_FORWARD]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.PORT_FORWARD,receive:o})}),[SessionTypes.OBSERVE]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.OBSERVE,receive:o})}),[SessionTypes.HEADLESS]:new RtcClientPool({ttlMs:2500,createClient:o=>new distExports.RtcClient({signalingClient:new distExports.SignalingPromiseClient(FORMANT_API_URL),getToken,sessionType:SessionTypes.HEADLESS,receive:o})})},AppRtcClientPools={...EnumRtcClientPools,unknown:EnumRtcClientPools[SessionTypes.UNKNOWN],teleop:EnumRtcClientPools[SessionTypes.TELEOP],portForward:EnumRtcClientPools[SessionTypes.PORT_FORWARD],observe:EnumRtcClientPools[SessionTypes.OBSERVE],headless:EnumRtcClientPools[SessionTypes.HEADLESS]},defaultRtcClientPool=EnumRtcClientPools[SessionTypes.TELEOP],getRtcClientPool=o=>{const{sessionType:s}=o;return s?AppRtcClientPools[s]:defaultRtcClientPool};async function getPeers(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getPeers()}finally{await o.shutdown()}}async function getRealtimeSessions(){if(!Authentication.token)throw new Error("Not authenticated");const o=defaultRtcClientPool.get();try{return await o.getSessions()}finally{await o.shutdown()}}async function getTelemetry(o,s,_,j,$,_e){let et=o;Array.isArray(o)||(et=[o]);let tt=s;return Array.isArray(s)||(tt=[s]),(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify({deviceIds:et,end:j.toISOString(),names:tt,start:_.toISOString(),tags:$,latestOnly:_e}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchDevice(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevicesData(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}const isRtcPeer=o=>o!==void 0&&o.capabilities!==void 0&&o.capabilitySet!==void 0;var eventemitter3={exports:{}};(function(o){var s=Object.prototype.hasOwnProperty,_="~";function j(){}Object.create&&(j.prototype=Object.create(null),new j().__proto__||(_=!1));function $(nt,rt,ot){this.fn=nt,this.context=rt,this.once=ot||!1}function _e(nt,rt,ot,ut,dt){if(typeof ot!="function")throw new TypeError("The listener must be a function");var Ut=new $(ot,ut||nt,dt),st=_?_+rt:rt;return nt._events[st]?nt._events[st].fn?nt._events[st]=[nt._events[st],Ut]:nt._events[st].push(Ut):(nt._events[st]=Ut,nt._eventsCount++),nt}function et(nt,rt){--nt._eventsCount===0?nt._events=new j:delete nt._events[rt]}function tt(){this._events=new j,this._eventsCount=0}tt.prototype.eventNames=function(){var nt=[],rt,ot;if(this._eventsCount===0)return nt;for(ot in rt=this._events)s.call(rt,ot)&&nt.push(_?ot.slice(1):ot);return Object.getOwnPropertySymbols?nt.concat(Object.getOwnPropertySymbols(rt)):nt},tt.prototype.listeners=function(nt){var rt=_?_+nt:nt,ot=this._events[rt];if(!ot)return[];if(ot.fn)return[ot.fn];for(var ut=0,dt=ot.length,Ut=new Array(dt);ut{$.payload.jointState&&this.currentListeners.forEach(_e=>{$.payload.jointState&&_e($.payload.jointState)})}),this.device=s,this.config=_}async synchronize(){this.device.addRealtimeListener(this.onRealtimeMessage),this.device.startListeningToRealtimeDataStream(this.config.currentJointStateStream)}async desynchronize(){this.device.removeRealtimeListener(this.onRealtimeMessage),this.device.stopListeningToRealtimeDataStream(this.config.currentJointStateStream)}async addCurrentJointStateListener(s){this.currentListeners.push(s)}}class RequestDataChannel{constructor(s,_,j){he(this,"channel"),he(this,"requestIdToResponseMap",new Map),this.device=s,this.channel_name=_,this.timeout=j}addOpenListener(s){defined$1(this.channel,"channel not initalized").addOpenListener(s)}removeOpenListener(s){defined$1(this.channel,"channel not initalized").removeOpenListener(s)}addCloseListener(s){defined$1(this.channel,"channel not initalized").addCloseListener(s)}removeCloseListener(s){defined$1(this.channel,"channel not initalized").removeCloseListener(s)}addErrorListener(s){defined$1(this.channel,"channel not initalized").addErrorListener(s)}removeErrorListener(s){defined$1(this.channel,"channel not initalized").removeErrorListener(s)}}class BinaryRequestDataChannel extends RequestDataChannel{constructor(){super(...arguments),he(this,"RESPONSE_SUCCESS_BYTE",0),he(this,"decoder",new TextDecoder)}generateBinaryId(){const s=new Uint8Array(16);for(let _=0;_{const _=s.slice(0,16).toString();if(_.length===0)throw new Error("Invalid response");const j=s.slice(16);if(j.length===0)throw new Error("Invalid response");this.requestIdToResponseMap.has(_)&&this.requestIdToResponseMap.set(_,j)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const _e=this.generateBinaryId(),et=_e.toString();j.set(et,!0),_.sendBinary(new Uint8Array([..._e,...s]));const tt=new Date().getTime();for(;new Date().getTime(){const _=JSON.parse(s),{id:j,data:$,error:_e}=_;if(!j)throw new Error("Invalid response");if(!$&&!_e)throw new Error("Invalid response");this.requestIdToResponseMap.has(j)&&this.requestIdToResponseMap.set(j,_)})}async request(s){if(this.channel||await this.initialize(),!this.channel)throw new Error("Failed to create channel");const{channel:_,requestIdToResponseMap:j,timeout:$}=this;await _.waitTilReady();const _e=this.generateTextId();j.set(_e,!0),_.send(JSON.stringify({id:_e,data:s}));const et=new Date().getTime();for(;new Date().getTime(){this.realtimeListeners.forEach(j=>j(s,_))})}stopConnectionMonitoring(){clearInterval(this.connectionMonitorInterval),this.connectionMonitorInterval=void 0}assertNotCancelled(s){if(s)throw new Error("Cancelled by deadline")}getRealtimeStatus(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getConnectionStatus(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePingInfo(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPingInfo(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}getRealtimePing(){if(this.rtcClient&&this.remoteDevicePeerId)return this.rtcClient.getPing(this.remoteDevicePeerId);throw new Error("Realtime connection hasn't been started")}addRealtimeListener(s){this.realtimeListeners.push(s)}removeRealtimeListener(s){const _=this.realtimeListeners.indexOf(s);if(_===-1)throw new Error("Could not find realtime listener to remove");this.realtimeListeners.splice(_,1)}async getRealtimeManipulators(){var s;const _=await this.getConfiguration(),j=[];for(const $ of(s=_.teleop.rosStreams)!=null?s:[])$.topicType=="sensor_msgs/JointState"&&j.push(new Manipulator(this,{currentJointStateStream:{name:$.topicName},plannedJointStateStream:$.plannedTopic?{name:$.plannedTopic}:void 0,planValidStream:$.planValidTopic?{name:$.planValidTopic}:void 0,endEffectorStream:$.endEffectorTopic?{name:$.endEffectorTopic}:void 0,endEffectorLinkName:$.endEffectorLinkName,baseReferenceFrame:$.baseReferenceFrame,localFrame:$.localFrame}));return j}async getRealtimeVideoStreams(){var s,_,j,$,_e,et;const tt=await this.getConfiguration(),nt=[];for(const rt of(_=(s=tt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])rt.rtcStreamType==="h264-video-frame"&&nt.push({name:rt.name});for(const rt of($=(j=tt.teleop)==null?void 0:j.rosStreams)!=null?$:[])rt.topicType=="formant/H264VideoFrame"&&nt.push({name:rt.topicName}),(rt.topicType==="sensor_msgs/Image"||rt.topicType==="sensor_msgs/CompressedImage")&&rt.encodeVideo&&nt.push({name:rt.topicName});for(const rt of(et=(_e=tt.teleop)==null?void 0:_e.customStreams)!=null?et:[])rt.rtcStreamType==="h264-video-frame"&&nt.push({name:rt.name});return nt}createCustomRequestDataChannel(s,_=3e3){return new TextRequestDataChannel(this,s,_)}createCustomBinaryRequestDataChannel(s,_=3e3){return new BinaryRequestDataChannel(this,s,_)}async startListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeVideo(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async startListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!0,pipeline:"rtc"})}async stopListeningToRealtimeDataStream(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s.name,enable:!1,pipeline:"rtc"})}async enableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!0,pipeline:"telemetry"})}async disableRealtimeTelemetryPriorityIngestion(s){const _=defined$1(this.rtcClient,"Realtime connection has not been started"),j=await this.getRemotePeer();_.controlRemoteStream(defined$1(j).id,{streamName:s,enablePriorityUpload:!1,pipeline:"telemetry"})}async changeStreamAudioType(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.controlRemoteStream(defined$1($).id,{streamName:s,setAudioFormat:_})}async createCustomDataChannel(s,_){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer(),_e=await new Promise(et=>{j.createCustomDataChannel(defined$1($).id,s,{ordered:!0,..._},!1,(tt,nt)=>{const rt=new DataChannel(nt);et(rt)})});return await _e.waitTilReady(),_e}async sendRealtimeMessage(s,_={channelLabel:"stream.reliable"}){const j=defined$1(this.rtcClient,"Realtime connection has not been started"),$=await this.getRemotePeer();j.send(defined$1($).id,s,_)}async getRealtimeAudioStreams(){var s,_,j,$,_e,et;const tt=await this.getConfiguration(),nt=[];for(const rt of(_=(s=tt.teleop)==null?void 0:s.hardwareStreams)!=null?_:[])rt.rtcStreamType==="audio-chunk"&&nt.push({name:rt.name});for(const rt of($=(j=tt.teleop)==null?void 0:j.rosStreams)!=null?$:[])rt.topicType=="audio_common_msgs/AudioData"&&nt.push({name:rt.topicName});for(const rt of(et=(_e=tt.teleop)==null?void 0:_e.customStreams)!=null?et:[])rt.rtcStreamType==="audio-chunk"&&nt.push({name:rt.name});return nt}}class Device extends BaseDevice{constructor(s,_,j,$){super(),this.id=s,this.name=_,this.organizationId=j,this.tags=$}async getLatestTelemetry(){return(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async getConfiguration(s=!1){let _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}});const j=await _.json();if(!j.state.reportedConfiguration)throw new Error("Device has no configuration, has it ever been turned on?");const $=s?j.desiredConfigurationVersion:j.state.reportedConfiguration.version;return _=await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}/configurations/${$}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),(await _.json()).document}async getAgentVersion(){var s;const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${this.id}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return(s=_==null?void 0:_.state)==null?void 0:s.agentVersion}async getFileUrl(s){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[s]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).fileUrls}async startRealtimeConnection(s={}){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const{sessionType:_,deadlineMs:j=1e4,maxConnectRetries:$=3}=typeof s=="number"?{sessionType:s}:s,_e=getRtcClientPool({sessionType:_}).get(this.handleMessage);let et=!1;const tt=new Promise((rt,ot)=>setTimeout(()=>{et=!0,ot(new Error("Connection timed out: the connection could not be finalized in time, possibly due to network issues or misconfigured settings."))},j)),nt=async()=>{if("isReady"in _e)for(;!_e.isReady();)this.assertNotCancelled(et),await delay$1(100);const rt=await this.getRemoteDevicePeerId(_e);this.assertNotCancelled(et);let ot;for(let dt=0;dt<$&&(ot=await _e.connect(rt),!ot);dt++)delay$1(100),this.assertNotCancelled(et);if(!ot)throw new Error(`Session could not be created: exhausted ${$} retries`);let ut=0;for(;!et&&_e.getConnectionStatus(rt)!=="connected";)await delay$1(100),ut+=1;return this.assertNotCancelled(et),console.debug(`${new Date().toISOString()} :: Connection completed after ${ut} retries`),rt};return Promise.race([nt(),tt]).then(rt=>{this.remoteDevicePeerId=rt,this.initConnectionMonitoring(),this.rtcClient=_e,this.emit("connect")}).catch(rt=>{throw console.debug(`${new Date().toISOString()} :: Connection failed: %o`,rt),this.remoteDevicePeerId=null,_e.shutdown().catch(ot=>{console.error("rtcClient cannot shutdown: %o",ot)}),this.emit("connection_failed",rt),rt})}async getRemoteDevicePeerId(s){const _=(await s.getPeers()).find(j=>j.deviceId===this.id);if(!isRtcPeer(_))throw new Error("Cannot find peer, is the robot offline?");return _.id}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;if(this.rtcClient){const _=this.rtcClient.getConnections().find(j=>j.getRemotePeerId()===this.remoteDevicePeerId&&j.isActive());(_===void 0||!_.isReady())&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0)}(!this.rtcClient||!this.remoteDevicePeerId||await this.rtcClient.getConnectionStatsInfo(this.remoteDevicePeerId)===void 0||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){const s=(await defined$1(this.rtcClient,"Realtime connection has not been started").getPeers()).find(_=>_.deviceId===this.id);return defined$1(s,"Could not find remote peer for device "+this.id)}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.remoteDevicePeerId?(await this.rtcClient.disconnect(this.remoteDevicePeerId),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async isInRealtimeSession(){const s=await getPeers(),_=await getRealtimeSessions(),j=s.find($=>$.deviceId===this.id);return j?_[j.id].length>0:!1}async getAvailableCommands(s=!0){return(await(await fetch(`${FORMANT_API_URL}/v1/admin/command-templates/`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(_=>s?!0:_.enabled)}async sendCommand(s,_,j,$,_e){var et;const tt=(await this.getAvailableCommands(!1)).find(ot=>_e?ot.id===_e:ot.name===s);if(!tt)throw new Error(`Could not find command with name "${s}"`);let nt="";_===void 0?tt.parameterEnabled&&tt.parameterValue&&(nt=tt.parameterValue):nt=_;let rt={value:nt,scrubberTime:(j||new Date).toISOString(),meta:{...tt.parameterMeta,...$}};return await fetch(`${FORMANT_API_URL}/v1/admin/commands`,{method:"POST",body:JSON.stringify({commandTemplateId:tt.id,organizationId:this.organizationId,deviceId:this.id,command:tt.command,parameter:rt,userId:(et=Authentication.currentUser)==null?void 0:et.id}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async getCommand(s){return await fetch(`${FORMANT_API_URL}/v1/admin/commands/${s}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async createCaptureStream(s){const _=await(await fetch(`${FORMANT_API_URL}/v1/admin/capture-sessions`,{method:"POST",body:JSON.stringify({deviceId:this.id,streamName:s,tags:{}}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return new CaptureStream(_)}async getTelemetry(s,_,j,$,_e,et,tt){if(_e!==void 0||et!==void 0)throw new Error("Limit and offset are not supported in this method");return await getTelemetry(this.id,s,_,j,$,tt)}async queryEvents(s){if(s.deviceIds)throw new Error("Cannot filter multiple devices via Device class");return s.deviceIds=[this.id],queryEvents(s)}async getTelemetryStreams(){var s,_;const j=await this.getConfiguration(),$=await fetch(`${FORMANT_API_URL}/v1/queries/metadata/stream-names`,{method:"POST",body:JSON.stringify({deviceIds:[this.id]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),_e=[],et=[];return(_=(s=j.telemetry)==null?void 0:s.streams)==null||_.forEach(tt=>{tt.disabled!==!0&&_e.push(tt.name),tt.onDemand===!0&&et.push(tt.name)}),console.log(et),(await $.json()).items.filter(tt=>!_e.includes(tt)).map(tt=>({name:tt,onDemand:et.includes(tt)}))}async createInterventionRequest(s,_,j,$){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"POST",body:JSON.stringify({message:s,interventionType:_,time:new Date().toISOString(),deviceId:this.id,tags:$,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async addInterventionResponse(s,_,j){return await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-responses`,{method:"POST",body:JSON.stringify({interventionId:s,interventionType:_,data:j}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async getAnnotationCount(s,_){return await getAnnotationCount({...s,deviceIds:[this.id]},_)}async getAnnotationCountByIntervals(s,_,j){return await getAnnotationCountByIntervals({...s,deviceIds:[this.id]},_,j)}async eventsCounter(s,_,j,$,_e){return await eventsCounter(s,_,j,$,{..._e,deviceIds:[this.id]})}async createShareLink(s,_){return s.scope.deviceIds=[this.id],await createShareLink(s,_)}}he(Device,"createDevice",createDevice),he(Device,"patchDevice",patchDevice),he(Device,"getDevicesData",getDevicesData),he(Device,"queryDevicesData",queryDevicesData),he(Device,"disableDevice",disableDevice);class PeerDevice extends BaseDevice{constructor(s){super(),he(this,"id"),he(this,"telemetryStreamActive",!1),he(this,"streamTelemetry",{}),this.peerUrl=s}async getLatestTelemetry(){this.telemetryStreamActive||this.subscribeToTelemetry();const s=this.streamTelemetry;return Object.entries(s).map(([_,j])=>({deviceId:this.id,streamName:_,streamType:"json",currentValue:j,currentValueTime:j.timestamp,tags:{}}))}async getTelemetry(s,_,j,$,_e,et,tt){if(Array.isArray(s))throw new Error("Multiple stream names not supported");if($)throw new Error("Tags not supported");if(tt&&_e===void 0)_e=1;else if(tt&&_e!==void 0)throw new Error("latestOnly and limit cannot be used together");let nt=`${this.peerUrl}/v1/querydatapoints?stream_name=${s}&start=${_.toISOString()}&end=${j.toISOString()}`;_e!=null&&_e>0&&(nt+=`&limit=${_e}`),et!=null&&et>=0&&(nt+=`&offset=${et}`);const rt=await(await fetch(nt)).json(),ot=[];for(const ut of rt.results){const dt=parseInt(ut.timestamp),Ut=ut.tags.data_type;delete ut.tags.data_type,ot.push({deviceId:this.id,name:ut.stream,points:[[dt,this.getPointPayload(Ut,ut)]],tags:ut.tags,type:Ut})}return ot.reverse()}async queryEvents(s){const _=["id","viewed","keyword","message","sort","eventTypes","notificationEnabled","userIds","annotationTemplateIds","disableNullMatches","severities","deviceIds","names","types","tags","notNames"];this.checkKeysAndThrow(s,_);let j=`${this.peerUrl}/v1/queryevents?start=${s.start}&end=${s.end}`;s.count!=null&&s.count>0&&(j+=`&limit=${s.count}`),s.offset!=null&&s.offset>=0&&(j+=`&offset=${s.offset}`);const $=await(await fetch(j)).json(),_e=[];for(const et of $.results){const tt=parseInt(et.timestamp),nt={deviceId:this.id,time:new Date(tt).toISOString(),message:et.message,notificationEnabled:et.notificationEnabled,type:et.type,tags:et.tags};et.id!==""&&(nt.id=et.id),et.type!==""&&(nt.type=et.type),et.streamName!==""&&(nt.streamName=et.streamName),et.streamType!==""&&(nt.streamType=et.streamType),et.severity!==""&&(nt.severity=et.severity.toLowerCase()),et.tags&&(nt.tags=et.tags),et.endTimestamp!=="0"&&(nt.endTime=new Date(parseInt(et.endTimestamp)).toISOString()),_e.push(nt)}return _e.reverse()}checkKeysAndThrow(s,_){const j=_.filter($=>$ in s);if(j.length>0)throw new Error(`Filters not currently supported: ${j.join(", ")}.`)}getPointPayload(s,_){switch(s){case"numeric":return _.numeric.value;case"numeric set":return _.numericSet.numerics;case"text":return _.text.value;case"json":return _.json.value;case"bitset":const j=[],$=[];for(const _e of _.bitset.bits)j.push(_e.key),$.push(_e.value);return{keys:j,values:$};case"location":return _.location;case"health":return _.health;case"battery":return _.battery;default:return{}}}subscribeToTelemetry(){this.telemetryStreamActive=!0;let s=0;const _=new XMLHttpRequest;_.responseType="text",_.addEventListener("error",j=>{this.handleXHRError("error")}),_.addEventListener("abort",j=>{this.handleXHRError("abort")}),_.addEventListener("timeout",j=>{this.handleXHRError("timeout")}),_.addEventListener("readystatechange",j=>{_.readyState===XMLHttpRequest.DONE&&this.handleXHRError("closed")}),_.addEventListener("progress",j=>{const $=j.loaded,_e=$-s;s=$,_.responseText.substr(-_e).split(` +`).forEach(et=>{var tt;if(et.length>0){const nt=JSON.parse(et);if((tt=nt.result)!=null&&tt.datapoint){const rt=nt.result.datapoint,ot=rt.stream;delete rt.stream,this.streamTelemetry[ot]=rt}}})}),_.open("POST",`${this.peerUrl}/v1/telemetry`),_.send()}handleXHRError(s){console.warn(`Telemetry stream ended: ${s}`),this.telemetryStreamActive=!1}async getDeviceId(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.id}async getConfiguration(){return(await(await fetch(`${this.peerUrl}/v1/config`)).json()).configuration.document}async getViews(){return(await(await fetch(`${this.peerUrl}/v1/views`)).json()).views}async startRealtimeConnection(s){if(console.debug(`${new Date().toISOString()} :: Connection start requested`),this.rtcClient&&this.connectionMonitorInterval!==void 0)throw new Error(`Already created realtime connection to device ${this.id}`);this.rtcClient&&console.warn("overwriting existing rtcClient due to missing connectionMonitorInterval");const _=new distExports.RtcClient({lanOnlyMode:!0,receive:this.handleMessage,sessionType:s});for(await _.connectLan(this.peerUrl);_.getConnectionStatus(this.peerUrl)!=="connected";)await delay$1(100);this.rtcClient=_,this.initConnectionMonitoring()}initConnectionMonitoring(){this.connectionMonitorInterval=setInterval(async()=>{let s=!1;this.rtcClient&&this.rtcClient.getConnectionStatus(this.peerUrl)!=="connected"&&(console.debug(`${new Date().toISOString()} :: data channel closed`),s=!0),(!this.rtcClient||s)&&(this.emit("disconnect"),this.stopRealtimeConnection().catch(_=>{console.error(_)}))},1e3)}async getRemotePeer(){return{id:this.peerUrl,organizationId:"",deviceId:this.id,capabilities:[],capabilitySet:{}}}async stopRealtimeConnection(){let s=!1;if(this.rtcClient){this.stopConnectionMonitoring(),this.id?(await this.rtcClient.disconnect(this.id),this.remoteDevicePeerId=null):s=!0;try{await this.rtcClient.shutdown()}finally{this.rtcClient=void 0}}if(s)throw new Error(`Realtime connection hasn't been started for ${this.id}`)}async getCommandMetadata(){return(await fetch(`${this.peerUrl}/v1/commands`)).json()}async sendCommand(s,_,j,$){const _e={value:_,scrubberTime:(j||new Date).toISOString(),meta:$};return await fetch(`${this.peerUrl}/v1/enqueue-command`,{method:"POST",body:JSON.stringify({command:s,parameter:_e}),headers:{"Content-Type":"application/json"}})}}async function addDeviceToFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"PATCH",body:JSON.stringify({fleetId:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function aggregateTelemetry(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/queries`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).aggregates}async function deleteFleet(o){if(!Authentication.token)throw new Error("Not authenticated");await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})}async function getAnalyticStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsModules(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/analytics-modules`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getAnalyticsRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/query`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>new Device(s.id,s.name,s.organizationId,s.tags))}async function getCurrentGroup(){if(!Authentication.token)throw new Error("Not authenticated");let o=new URLSearchParams("");typeof window<"u"&&window.location&&(o=new URLSearchParams(window.location.search));const s=o.get("group");if(s===null||s.trim()==="")return;const _=await fetch(`${FORMANT_API_URL}/v1/admin/groups/`+s,{headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}}),{tagKey:j,tagValue:$}=await _.json();return await queryDevices({tags:{[j]:[$]},enabled:!0,type:"default"})}async function getDevice(o){if(!Authentication.token)throw new Error("Not authenticated");const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/devices/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json(),_=s.name;return new Device(o,_,s.organizationId,s.tags)}async function getDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",body:JSON.stringify({enabled:!0,type:"default"}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();return o.items,o.items.map(s=>new Device(s.id,s.name,defined$1(Authentication.currentOrganization),s.tags))}async function getEvent(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/events/query/id=${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getFileUrl(o){const s=await(await fetch(`${FORMANT_API_URL}/v1/admin/files/query`,{method:"POST",body:JSON.stringify({fileIds:[o]}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json();if(s.fileUrls.length===0)throw new Error("File not found");return s.fileUrls[0]}async function getFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getFleetDevices(o){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}/devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getInterventions(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/intervention-requests`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getLatestTelemetry(...o){const s=o.flat().filter(_=>!!_);return s.length===0?[]:(await(await fetch(`${FORMANT_API_URL}/v1/queries/stream-current-value`,{method:"POST",body:JSON.stringify({deviceIds:s}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getOnlineDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/queries/online-devices`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items;return(await getDevices()).filter(s=>o.includes(s.id))}async function getRealtimeDevices(){if(!Authentication.token)throw new Error("Not authenticated");const o=(await(await fetch(`${FORMANT_API_URL}/v1/signaling/peers`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.map(s=>s.deviceId);return(await getDevices()).filter(s=>o.includes(s.id))}async function getStreams(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/streams`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.filter(o=>o.enabled)}async function getTaskReportRows(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-report-rows`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getTaskReportTables(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics/task-reports`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function listFleets(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function patchFleet(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchStream(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/streams/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchView(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/views/${o.id}`,{method:"PATCH",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function queryAnalytics(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/queries/analytics`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function createFleet(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/fleets`,{method:"POST",body:JSON.stringify(o),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function getAllEventTriggerGroup(){if(!Authentication.token)throw new Error("Not authenticated");return(await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items}async function getEventTriggerGroup(o){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}async function patchEventTriggerGroup(o,s){if(!Authentication.token)throw new Error("Not authenticated");return await(await fetch(`${FORMANT_API_URL}/v1/admin/event-trigger-groups/${o}`,{method:"PATCH",body:JSON.stringify(s),headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()}const Rt=class{static async setDefaultDevice(o){Rt.defaultDeviceId=o}static async getCurrentDevice(){if(!Authentication.token)throw new Error("Not authenticated");if(!Rt.defaultDeviceId)throw new Error("No known default device");const o=(await(await fetch(`${FORMANT_API_URL}/v1/admin/device-details/query`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+Authentication.token}})).json()).items.find(j=>j.id===Rt.defaultDeviceId),s=o.name,_=new Device(Rt.defaultDeviceId,s,defined$1(Authentication.currentOrganization),o.tags);return Rt.knownContext.push(new WeakRef(_)),_}static async getPeerDevice(o){const s=new PeerDevice(o);return s.id=await s.getDeviceId(),s}static async getDevice(o){const s=await getDevice(o);return Rt.knownContext.push(new WeakRef(s)),s}};let Fleet=Rt;he(Fleet,"defaultDeviceId"),he(Fleet,"knownContext",[]),he(Fleet,"createFleet",createFleet),he(Fleet,"listFleets",listFleets),he(Fleet,"getFleet",getFleet),he(Fleet,"patchFleet",patchFleet),he(Fleet,"deleteFleet",deleteFleet),he(Fleet,"addDeviceToFleet",addDeviceToFleet),he(Fleet,"getFleetDevices",getFleetDevices),he(Fleet,"aggregateTelemetry",aggregateTelemetry),he(Fleet,"createShareLink",createShareLink),he(Fleet,"eventsCounter",eventsCounter),he(Fleet,"getAnalyticStreams",getAnalyticStreams),he(Fleet,"getAnalyticsModules",getAnalyticsModules),he(Fleet,"getAnalyticsRows",getAnalyticsRows),he(Fleet,"getAnnotationCount",getAnnotationCount),he(Fleet,"getAnnotationCountByIntervals",getAnnotationCountByIntervals),he(Fleet,"getCurrentGroup",getCurrentGroup),he(Fleet,"getDevices",getDevices),he(Fleet,"getEvent",getEvent),he(Fleet,"getFileUrl",getFileUrl),he(Fleet,"getInterventions",getInterventions),he(Fleet,"getLatestTelemetry",getLatestTelemetry),he(Fleet,"getOnlineDevices",getOnlineDevices),he(Fleet,"getPeers",getPeers),he(Fleet,"getRealtimeDevices",getRealtimeDevices),he(Fleet,"getRealtimeSessions",getRealtimeSessions),he(Fleet,"getStreams",getStreams),he(Fleet,"getTaskReportRows",getTaskReportRows),he(Fleet,"getTaskReportTables",getTaskReportTables),he(Fleet,"getTelemetry",getTelemetry),he(Fleet,"getViews",getViews),he(Fleet,"patchStream",patchStream),he(Fleet,"patchView",patchView),he(Fleet,"queryAnalytics",queryAnalytics),he(Fleet,"queryDevices",queryDevices),he(Fleet,"queryEvents",queryEvents),he(Fleet,"queryTelemetry",queryTelemetry),he(Fleet,"getAllEventTriggerGroup",getAllEventTriggerGroup),he(Fleet,"getEventTriggerGroup",getEventTriggerGroup),he(Fleet,"patchEventTriggergroup",patchEventTriggerGroup);async function request(o,s){if(!Authentication.token)throw new Error("Not authenticated");const _=await fetch(`${FORMANT_API_URL}/v1${o}`,{...s,headers:{"Content-Type":"application/json",Authorization:`Bearer ${Authentication.token}`,...s==null?void 0:s.headers}});if(!_.ok)throw new Error(`Error: ${_.statusText}`);return _.status===204||_.headers.get("content-length")==="0"?null:await _.json()}async function fetchTeleopViews(){return(await request("/admin/teleop-views")).items}async function getTeleopView(o){return await request(`/admin/teleop-views/${o}`)}async function createTeleopView(o){return await request("/admin/teleop-views",{method:"POST",body:JSON.stringify(o)})}async function updateTeleopView(o,s){return await request(`/admin/teleop-views/${o}`,{method:"PATCH",body:JSON.stringify(s)})}async function deleteTeleopView(o){await request(`/admin/teleop-views/${o}`,{method:"DELETE"})}class Views{constructor(){}}he(Views,"createTeleopView",createTeleopView),he(Views,"updateTeleopView",updateTeleopView),he(Views,"deleteTeleopView",deleteTeleopView),he(Views,"getTeleopView",getTeleopView),he(Views,"fetchTeleopViews",fetchTeleopViews);try{const o=typeof window<"u"&&window.location?new URLSearchParams(window.location.search):new URLSearchParams(""),s=o.get("device");s&&Fleet.setDefaultDevice(s);const _=o.get("auth");_&&Authentication.loginWithToken(_),o.get("module")&&Authentication.listenForRefresh(),typeof window<"u"&&App$2.listenForConnectionEvents()}catch(o){}var signaling_pb={},googleProtobuf={};(function(exports){var $jscomp=$jscomp||{};$jscomp.scope={},$jscomp.findInternal=function(o,s,_){o instanceof String&&(o=String(o));for(var j=o.length,$=0;$=$}},"es6","es3"),$jscomp.polyfill("Array.prototype.find",function(o){return o||function(s,_){return $jscomp.findInternal(this,s,_).v}},"es6","es3"),$jscomp.polyfill("String.prototype.startsWith",function(o){return o||function(s,_){var j=$jscomp.checkStringArgs(this,s,"startsWith");s+="";var $=j.length,_e=s.length;_=Math.max(0,Math.min(_|0,j.length));for(var et=0;et<_e&&_<$;)if(j[_++]!=s[et++])return!1;return et>=_e}},"es6","es3"),$jscomp.polyfill("String.prototype.repeat",function(o){return o||function(s){var _=$jscomp.checkStringArgs(this,null,"repeat");if(0>s||1342177279>>=1)&&(_+=_);return j}},"es6","es3");var COMPILED=!0,goog=goog||{};goog.global=commonjsGlobal||self,goog.exportPath_=function(o,s,_){o=o.split("."),_=_||goog.global,o[0]in _||typeof _.execScript>"u"||_.execScript("var "+o[0]);for(var j;o.length&&(j=o.shift());)o.length||s===void 0?_=_[j]&&_[j]!==Object.prototype[j]?_[j]:_[j]={}:_[j]=s},goog.define=function(o,s){return s},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(o){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");goog.constructNamespace_(o)},goog.constructNamespace_=function(o,s){goog.exportPath_(o,s)},goog.getScriptNonce=function(o){return o&&o!=goog.global?goog.getScriptNonce_(o.document):(goog.cspNonce_===null&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(o){return(o=o.querySelector&&o.querySelector("script[nonce]"))&&(o=o.nonce||o.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(o)?o:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(o){if(typeof o!="string"||!o||o.search(goog.VALID_MODULE_RE_)==-1)throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+o+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=o},goog.module.get=function(o){return goog.module.getInternal_(o)},goog.module.getInternal_=function(o){return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var o=goog.global.$jscomp;return o?typeof o.getCurrentModulePath!="function"?!1:!!o.getCurrentModulePath():!1},goog.module.declareLegacyNamespace=function(){goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(o){if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=o;else{var s=goog.global.$jscomp;if(!s||typeof s.getCurrentModulePath!="function")throw Error('Module with namespace "'+o+'" has been loaded incorrectly.');s=s.require(s.getCurrentModulePath()),goog.loadedModules_[o]={exports:s,type:goog.ModuleType.ES6,moduleId:o}}},goog.setTestOnly=function(o){if(goog.DISALLOW_TEST_ONLY_CODE)throw o=o||"",Error("Importing test-only code into non-debug environment"+(o?": "+o:"."))},goog.forwardDeclare=function(o){},goog.getObjectByName=function(o,s){o=o.split("."),s=s||goog.global;for(var _=0;_"u")return"object";return s},goog.isArray=function(o){return goog.typeOf(o)=="array"},goog.isArrayLike=function(o){var s=goog.typeOf(o);return s=="array"||s=="object"&&typeof o.length=="number"},goog.isDateLike=function(o){return goog.isObject(o)&&typeof o.getFullYear=="function"},goog.isFunction=function(o){return goog.typeOf(o)=="function"},goog.isObject=function(o){var s=typeof o;return s=="object"&&o!=null||s=="function"},goog.getUid=function(o){return Object.prototype.hasOwnProperty.call(o,goog.UID_PROPERTY_)&&o[goog.UID_PROPERTY_]||(o[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(o){return!!o[goog.UID_PROPERTY_]},goog.removeUid=function(o){o!==null&&"removeAttribute"in o&&o.removeAttribute(goog.UID_PROPERTY_);try{delete o[goog.UID_PROPERTY_]}catch{}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(o){var s=goog.typeOf(o);if(s=="object"||s=="array"){if(typeof o.clone=="function")return o.clone();s=s=="array"?[]:{};for(var _ in o)s[_]=goog.cloneObject(o[_]);return s}return o},goog.bindNative_=function(o,s,_){return o.call.apply(o.bind,arguments)},goog.bindJs_=function(o,s,_){if(!o)throw Error();if(2_?Math.max(0,o.length+_):_,typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.indexOf(s,_);for(;__&&(_=Math.max(0,o.length+_)),typeof o=="string")return typeof s!="string"||s.length!=1?-1:o.lastIndexOf(s,_);for(;0<=_;_--)if(_ in o&&o[_]===s)return _;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(o,s,_){goog.asserts.assert(o.length!=null),Array.prototype.forEach.call(o,s,_)}:function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,_e=0;_es?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndex=function(o,s,_){for(var j=o.length,$=typeof o=="string"?o.split(""):o,_e=0;_es?null:typeof o=="string"?o.charAt(s):o[s]},goog.array.findIndexRight=function(o,s,_){var j=o.length,$=typeof o=="string"?o.split(""):o;for(--j;0<=j;j--)if(j in $&&s.call(_,$[j],j,o))return j;return-1},goog.array.contains=function(o,s){return 0<=goog.array.indexOf(o,s)},goog.array.isEmpty=function(o){return o.length==0},goog.array.clear=function(o){if(!Array.isArray(o))for(var s=o.length-1;0<=s;s--)delete o[s];o.length=0},goog.array.insert=function(o,s){goog.array.contains(o,s)||o.push(s)},goog.array.insertAt=function(o,s,_){goog.array.splice(o,_,0,s)},goog.array.insertArrayAt=function(o,s,_){goog.partial(goog.array.splice,o,_,0).apply(null,s)},goog.array.insertBefore=function(o,s,_){var j;arguments.length==2||0>(j=goog.array.indexOf(o,_))?o.push(s):goog.array.insertAt(o,s,j)},goog.array.remove=function(o,s){s=goog.array.indexOf(o,s);var _;return(_=0<=s)&&goog.array.removeAt(o,s),_},goog.array.removeLast=function(o,s){return s=goog.array.lastIndexOf(o,s),0<=s?(goog.array.removeAt(o,s),!0):!1},goog.array.removeAt=function(o,s){return goog.asserts.assert(o.length!=null),Array.prototype.splice.call(o,s,1).length==1},goog.array.removeIf=function(o,s,_){return s=goog.array.findIndex(o,s,_),0<=s?(goog.array.removeAt(o,s),!0):!1},goog.array.removeAllIf=function(o,s,_){var j=0;return goog.array.forEachRight(o,function($,_e){s.call(_,$,_e,o)&&goog.array.removeAt(o,_e)&&j++}),j},goog.array.concat=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(o){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(o){var s=o.length;if(0=arguments.length?Array.prototype.slice.call(o,s):Array.prototype.slice.call(o,s,_)},goog.array.removeDuplicates=function(o,s,_){s=s||o;var j=function(nt){return goog.isObject(nt)?"o"+goog.getUid(nt):(typeof nt).charAt(0)+nt};_=_||j,j={};for(var $=0,_e=0;_e>>1),rt=_?s.call($,o[nt],nt,o):s(j,o[nt]);0s?1:o_?(goog.array.insertAt(o,s,-(_+1)),!0):!1},goog.array.binaryRemove=function(o,s,_){return s=goog.array.binarySearch(o,s,_),0<=s?goog.array.removeAt(o,s):!1},goog.array.bucket=function(o,s,_){for(var j={},$=0;$_*(_e-$))return[];if(0<_)for(o=$;o<_e;o+=_)j.push(o);else for(o=$;o>_e;o+=_)j.push(o);return j},goog.array.repeat=function(o,s){for(var _=[],j=0;js&&Array.prototype.push.apply(o,o.splice(0,-s))),o},goog.array.moveItem=function(o,s,_){goog.asserts.assert(0<=s&&s>=8),s[_++]=$}return s},goog.crypt.byteArrayToString=function(o){if(8192>=o.length)return String.fromCharCode.apply(null,o);for(var s="",_=0;_$?s[_++]=$:(2048>$?s[_++]=$>>6|192:(($&64512)==55296&&j+1>18|240,s[_++]=$>>12&63|128):s[_++]=$>>12|224,s[_++]=$>>6&63|128),s[_++]=$&63|128)}return s},goog.crypt.utf8ByteArrayToString=function(o){for(var s=[],_=0,j=0;_$)s[j++]=String.fromCharCode($);else if(191<$&&224>$){var _e=o[_++];s[j++]=String.fromCharCode(($&31)<<6|_e&63)}else if(239<$&&365>$){_e=o[_++];var et=o[_++],tt=o[_++];$=(($&7)<<18|(_e&63)<<12|(et&63)<<6|tt&63)-65536,s[j++]=String.fromCharCode(55296+($>>10)),s[j++]=String.fromCharCode(56320+($&1023))}else _e=o[_++],et=o[_++],s[j++]=String.fromCharCode(($&15)<<12|(_e&63)<<6|et&63)}return s.join("")},goog.crypt.xorByteArray=function(o,s){goog.asserts.assert(o.length==s.length,"XOR array lengths must match");for(var _=[],j=0;j"}else return o===void 0?"undefined":o===null?"null":typeof o},goog.dom.asserts.getWindow_=function(o){try{var s=o&&o.ownerDocument,_=s&&(s.defaultView||s.parentWindow);if(_=_||goog.global,_.Element&&_.Location)return _}catch{}return null},goog.functions={},goog.functions.constant=function(o){return function(){return o}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(o,s){return o},goog.functions.error=function(o){return function(){throw Error(o)}},goog.functions.fail=function(o){return function(){throw o}},goog.functions.lock=function(o,s){return s=s||0,function(){return o.apply(this,Array.prototype.slice.call(arguments,0,s))}},goog.functions.nth=function(o){return function(){return arguments[o]}},goog.functions.partialRight=function(o,s){var _=Array.prototype.slice.call(arguments,1);return function(){var j=Array.prototype.slice.call(arguments);return j.push.apply(j,_),o.apply(this,j)}},goog.functions.withReturnValue=function(o,s){return goog.functions.sequence(o,goog.functions.constant(s))},goog.functions.equalTo=function(o,s){return function(_){return s?o==_:o===_}},goog.functions.compose=function(o,s){var _=arguments,j=_.length;return function(){var $;j&&($=_[j-1].apply(this,arguments));for(var _e=j-2;0<=_e;_e--)$=_[_e].call(this,$);return $}},goog.functions.sequence=function(o){var s=arguments,_=s.length;return function(){for(var j,$=0;$<_;$++)j=s[$].apply(this,arguments);return j}},goog.functions.and=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(!s[j].apply(this,arguments))return!1;return!0}},goog.functions.or=function(o){var s=arguments,_=s.length;return function(){for(var j=0;j<_;j++)if(s[j].apply(this,arguments))return!0;return!1}},goog.functions.not=function(o){return function(){return!o.apply(this,arguments)}},goog.functions.create=function(o,s){var _=function(){};return _.prototype=o.prototype,_=new _,o.apply(_,Array.prototype.slice.call(arguments,1)),_},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(o){var s=!1,_;return function(){return goog.functions.CACHE_RETURN_VALUE?(s||(_=o(),s=!0),_):o()}},goog.functions.once=function(o){var s=o;return function(){if(s){var _=s;s=null,_()}}},goog.functions.debounce=function(o,s,_){var j=0;return function($){goog.global.clearTimeout(j);var _e=arguments;j=goog.global.setTimeout(function(){o.apply(_,_e)},s)}},goog.functions.throttle=function(o,s,_){var j=0,$=!1,_e=[],et=function(){j=0,$&&($=!1,tt())},tt=function(){j=goog.global.setTimeout(et,s),o.apply(_,_e)};return function(nt){_e=arguments,j?$=!0:tt()}},goog.functions.rateLimit=function(o,s,_){var j=0,$=function(){j=0};return function(_e){j||(j=goog.global.setTimeout($,s),o.apply(_,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(o){this.tagName_=o},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(o){return goog.dom.tags.VOID_TAGS_[o]===!0},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string={},goog.string.TypedString=function(){},goog.string.Const=function(o,s){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=o===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.DEBUG&&(goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"}),goog.string.Const.unwrap=function(o){return o instanceof goog.string.Const&&o.constructor===goog.string.Const&&o.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?o.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+o+"'"),"type_error:Const")},goog.string.Const.from=function(o){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,o)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(o){return o=goog.string.Const.unwrap(o),o.length===0?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeScript.fromConstantAndArgs=function(o,s){for(var _=[],j=1;jo?goog.i18n.bidi.Dir.RTL:s?null:goog.i18n.bidi.Dir.NEUTRAL:o==null?null:o?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\uD801\uD804-\uD839\uD83C-\uDBFF豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\uD802-\uD803\uD83A-\uD83Bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(o,s){return s?o.replace(goog.i18n.bidi.htmlSkipReg_,""):o},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(o,s){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(o,s){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(o){return goog.i18n.bidi.rtlRe_.test(o)},goog.i18n.bidi.isLtrChar=function(o){return goog.i18n.bidi.ltrRe_.test(o)},goog.i18n.bidi.isNeutralChar=function(o){return!goog.i18n.bidi.isLtrChar(o)&&!goog.i18n.bidi.isRtlChar(o)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(o,s){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(o,s){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(o,s){return o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s),goog.i18n.bidi.isRequiredLtrRe_.test(o)||!goog.i18n.bidi.hasAnyLtr(o)&&!goog.i18n.bidi.hasAnyRtl(o)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(o,s){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(o,s){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(o,s))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(o){return goog.i18n.bidi.rtlLocalesRe_.test(o)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(o,s){return s=(s===void 0?goog.i18n.bidi.hasAnyRtl(o):s)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM,o.replace(goog.i18n.bidi.bracketGuardTextRe_,s+"$&"+s)},goog.i18n.bidi.enforceRtlInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=rtl"):` +`+o+""},goog.i18n.bidi.enforceRtlInText=function(o){return goog.i18n.bidi.Format.RLE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(o){return o.charAt(0)=="<"?o.replace(/<\w+/,"$& dir=ltr"):` +`+o+""},goog.i18n.bidi.enforceLtrInText=function(o){return goog.i18n.bidi.Format.LRE+o+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(o){return o.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(o){return o.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(o,s){var _=0,j=0,$=!1;for(o=goog.i18n.bidi.stripHtmlIfNeeded_(o,s).split(goog.i18n.bidi.wordSeparatorRe_),s=0;sgoog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(o,s){return goog.i18n.bidi.estimateDirection(o,s)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(o,s){o&&(s=goog.i18n.bidi.toDir(s))&&(o.style.textAlign=s==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,o.dir=s==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(o,s){switch(goog.i18n.bidi.estimateDirection(s)){case goog.i18n.bidi.Dir.LTR:o.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:o.dir="rtl";break;default:o.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(o,s){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=o===goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(o,s){var _=goog.html.TrustedResourceUrl.unwrap(this);_=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(_);var j=_[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(_[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",_[2]||"",o)+goog.html.TrustedResourceUrl.stringifyParams_("#",j,s))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(o){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(o).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(o){return o instanceof goog.html.TrustedResourceUrl&&o.constructor===goog.html.TrustedResourceUrl&&o.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.format=function(o,s){var _=goog.string.Const.unwrap(o);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(_))throw Error("Invalid TrustedResourceUrl format: "+_);return o=_.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(j,$){if(!Object.prototype.hasOwnProperty.call(s,$))throw Error('Found marker, "'+$+'", in format string, "'+_+'", but no valid label mapping found in args: '+JSON.stringify(s));return j=s[$],j instanceof goog.string.Const?goog.string.Const.unwrap(j):encodeURIComponent(String(j))}),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(o,s,_,j){return goog.html.TrustedResourceUrl.format(o,s).cloneWithParams(_,j)},goog.html.TrustedResourceUrl.fromConstant=function(o){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.TrustedResourceUrl.fromConstants=function(o){for(var s="",_=0;_o.length?"&":"")+encodeURIComponent(j)+"="+encodeURIComponent(String(et)))}}return s},goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.internal={},goog.string.internal.startsWith=function(o,s){return o.lastIndexOf(s,0)==0},goog.string.internal.endsWith=function(o,s){var _=o.length-s.length;return 0<=_&&o.indexOf(s,_)==_},goog.string.internal.caseInsensitiveStartsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(0,s.length))==0},goog.string.internal.caseInsensitiveEndsWith=function(o,s){return goog.string.internal.caseInsensitiveCompare(s,o.substr(o.length-s.length,s.length))==0},goog.string.internal.caseInsensitiveEquals=function(o,s){return o.toLowerCase()==s.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(o){return/^[\s\xa0]*$/.test(o)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(o){return o.trim()}:function(o){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(o)[1]},goog.string.internal.caseInsensitiveCompare=function(o,s){return o=String(o).toLowerCase(),s=String(s).toLowerCase(),o":"
")},goog.string.internal.htmlEscape=function(o,s){if(s)o=o.replace(goog.string.internal.AMP_RE_,"&").replace(goog.string.internal.LT_RE_,"<").replace(goog.string.internal.GT_RE_,">").replace(goog.string.internal.QUOT_RE_,""").replace(goog.string.internal.SINGLE_QUOTE_RE_,"'").replace(goog.string.internal.NULL_RE_,"�");else{if(!goog.string.internal.ALL_RE_.test(o))return o;o.indexOf("&")!=-1&&(o=o.replace(goog.string.internal.AMP_RE_,"&")),o.indexOf("<")!=-1&&(o=o.replace(goog.string.internal.LT_RE_,"<")),o.indexOf(">")!=-1&&(o=o.replace(goog.string.internal.GT_RE_,">")),o.indexOf('"')!=-1&&(o=o.replace(goog.string.internal.QUOT_RE_,""")),o.indexOf("'")!=-1&&(o=o.replace(goog.string.internal.SINGLE_QUOTE_RE_,"'")),o.indexOf("\0")!=-1&&(o=o.replace(goog.string.internal.NULL_RE_,"�"))}return o},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=//g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(o,s){return goog.string.internal.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.internal.contains=function(o,s){return o.indexOf(s)!=-1},goog.string.internal.caseInsensitiveContains=function(o,s){return goog.string.internal.contains(o.toLowerCase(),s.toLowerCase())},goog.string.internal.compareVersions=function(o,s){var _=0;o=goog.string.internal.trim(String(o)).split("."),s=goog.string.internal.trim(String(s)).split(".");for(var j=Math.max(o.length,s.length),$=0;_==0&&$s?1:0},goog.html.SafeUrl=function(o,s){this.privateDoNotAccessOrElseSafeUrlWrappedValue_=o===goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_&&s||"",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(o){return o instanceof goog.html.SafeUrl&&o.constructor===goog.html.SafeUrl&&o.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?o.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+o+"' of type "+goog.typeOf(o)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(o){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(o))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(o){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(o)},goog.html.SafeUrl.fromBlob=function(o){return o=goog.html.SafeUrl.isSafeMimeType(o.type)?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromMediaSource=function(o){return goog.asserts.assert("MediaSource"in goog.global,"No support for MediaSource"),o=o instanceof MediaSource?goog.fs.url.createObjectUrl(o):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.DATA_URL_PATTERN_=/^data:(.*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(o){o=o.replace(/(%0A|%0D)/g,"");var s=o.match(goog.html.DATA_URL_PATTERN_);return s=s&&goog.html.SafeUrl.isSafeMimeType(s[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s?o:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"tel:")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(o){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(o))||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"fb-messenger://share")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromWhatsAppUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"whatsapp://send")||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.fromSmsUrl=function(o){return goog.string.internal.caseInsensitiveStartsWith(o,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(o)||(o=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(o){var s=o.indexOf("#");if(0+~[\]()=^$|]+$/.test(_))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+o);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(_))throw Error("() and [] in selector must be balanced, got: "+o);return s instanceof goog.html.SafeStyle||(s=goog.html.SafeStyle.create(s)),o=o+"{"+goog.html.SafeStyle.unwrap(s).replace(/",null)},goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(o,s,_){return goog.html.SafeHtml.verifyTagName(String(o)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(o),s,_)},goog.html.SafeHtml.verifyTagName=function(o){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Invalid tag name <"+o+">.":"");if(o.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"Tag name <"+o+"> is not allowed for SafeHtml.":"")},goog.html.SafeHtml.createIframe=function(o,s,_,j){o&&goog.html.TrustedResourceUrl.unwrap(o);var $={};return $.src=o||null,$.srcdoc=s&&goog.html.SafeHtml.unwrap(s),o=goog.html.SafeHtml.combineAttributes($,{sandbox:""},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.createSandboxIframe=function(o,s,_,j){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?"The browser does not support sandboxed iframes.":"");var $={};return $.src=o?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(o)):null,$.srcdoc=s||null,$.sandbox="",o=goog.html.SafeHtml.combineAttributes($,{},_),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",o,j)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(o,s){return goog.html.TrustedResourceUrl.unwrap(o),o=goog.html.SafeHtml.combineAttributes({src:o},{},s),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(o,s){for(var _ in s){var j=_.toLowerCase();if(j=="language"||j=="src"||j=="text"||j=="type")throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot set "'+j+'" attribute':"")}for(_="",o=goog.array.concat(o),j=0;j does not allow content."),$+=">"):(j=goog.html.SafeHtml.concat(_),$+=">"+goog.html.SafeHtml.unwrap(j)+"",j=j.getDirection()),(o=s&&s.dir)&&(j=/^(ltr|rtl|auto)$/i.test(o)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse($,j)},goog.html.SafeHtml.stringifyAttributes=function(o,s){var _="";if(s)for(var j in s){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(j))throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Invalid attribute name "'+j+'".':"");var $=s[j];$!=null&&(_+=" "+goog.html.SafeHtml.getAttrNameAndValue_(o,j,$))}return _},goog.html.SafeHtml.combineAttributes=function(o,s,_){var j={},$;for($ in o)goog.asserts.assert($.toLowerCase()==$,"Must be lower case"),j[$]=o[$];for($ in s)goog.asserts.assert($.toLowerCase()==$,"Must be lower case"),j[$]=s[$];if(_)for($ in _){var _e=$.toLowerCase();if(_e in o)throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES?'Cannot override "'+_e+'" attribute, got "'+$+'" with value "'+_[$]+'"':"");_e in s&&delete j[_e],j[$]=_[$]}return j},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("
",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(o,s,_){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s,_||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(s)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(o,s){return goog.asserts.assertString(goog.string.Const.unwrap(o),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(o)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(s)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(o,s,_){o.insertAdjacentHTML(s,goog.html.SafeHtml.unwrapTrustedHTML(_))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&typeof document>"u")return!1;var o=document.createElement("div"),s=document.createElement("div");return s.appendChild(document.createElement("div")),o.appendChild(s),goog.DEBUG&&!o.firstChild?!1:(s=o.firstChild.firstChild,o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!s.parentElement)}),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(o,s){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;o.lastChild;)o.removeChild(o.lastChild);o.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setInnerHtml=function(o,s){if(goog.asserts.ENABLE_ASSERTS){var _=o.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[_])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+o.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(o,s)},goog.dom.safe.setOuterHtml=function(o,s){o.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setFormElementAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLFormElement(o).action=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setButtonFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLButtonElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setInputFormAction=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),goog.dom.asserts.assertIsHTMLInputElement(o).formAction=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setStyle=function(o,s){o.style.cssText=goog.html.SafeStyle.unwrap(s)},goog.dom.safe.documentWrite=function(o,s){o.write(goog.html.SafeHtml.unwrapTrustedHTML(s))},goog.dom.safe.setAnchorHref=function(o,s){goog.dom.asserts.assertIsHTMLAnchorElement(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setImageSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLImageElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:image\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setAudioSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLAudioElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:audio\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setVideoSrc=function(o,s){if(goog.dom.asserts.assertIsHTMLVideoElement(o),!(s instanceof goog.html.SafeUrl)){var _=/^data:video\//i.test(s);s=goog.html.SafeUrl.sanitizeAssertUnchanged(s,_)}o.src=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.setEmbedSrc=function(o,s){goog.dom.asserts.assertIsHTMLEmbedElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setFrameSrc=function(o,s){goog.dom.asserts.assertIsHTMLFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.src=goog.html.TrustedResourceUrl.unwrap(s)},goog.dom.safe.setIframeSrcdoc=function(o,s){goog.dom.asserts.assertIsHTMLIFrameElement(o),o.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(s)},goog.dom.safe.setLinkHrefAndRel=function(o,s,_){goog.dom.asserts.assertIsHTMLLinkElement(o),o.rel=_,goog.string.internal.caseInsensitiveContains(_,"stylesheet")?(goog.asserts.assert(s instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),o.href=goog.html.TrustedResourceUrl.unwrap(s)):o.href=s instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(s):s instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(s):goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeAssertUnchanged(s))},goog.dom.safe.setObjectData=function(o,s){goog.dom.asserts.assertIsHTMLObjectElement(o),o.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s)},goog.dom.safe.setScriptSrc=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setScriptContent=function(o,s){goog.dom.asserts.assertIsHTMLScriptElement(o),o.text=goog.html.SafeScript.unwrapTrustedScript(s),(s=goog.getScriptNonce())&&o.setAttribute("nonce",s)},goog.dom.safe.setLocationHref=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.href=goog.html.SafeUrl.unwrap(s)},goog.dom.safe.assignLocation=function(o,s){goog.dom.asserts.assertIsLocation(o),s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.assign(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.replaceLocation=function(o,s){s=s instanceof goog.html.SafeUrl?s:goog.html.SafeUrl.sanitizeAssertUnchanged(s),o.replace(goog.html.SafeUrl.unwrap(s))},goog.dom.safe.openInWindow=function(o,s,_,j,$){return o=o instanceof goog.html.SafeUrl?o:goog.html.SafeUrl.sanitizeAssertUnchanged(o),s=s||goog.global,_=_ instanceof goog.string.Const?goog.string.Const.unwrap(_):_||"",s.open(goog.html.SafeUrl.unwrap(o),_,j,$)},goog.dom.safe.parseFromStringHtml=function(o,s){return goog.dom.safe.parseFromString(o,s,"text/html")},goog.dom.safe.parseFromString=function(o,s,_){return o.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(s),_)},goog.dom.safe.createImageFromBlob=function(o){if(!/^image\/.*/g.test(o.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var s=goog.global.URL.createObjectURL(o);return o=new goog.global.Image,o.onload=function(){goog.global.URL.revokeObjectURL(s)},goog.dom.safe.setImageSrc(o,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),s)),o},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(o,s){for(var _=o.split("%s"),j="",$=Array.prototype.slice.call(arguments,1);$.length&&1<_.length;)j+=_.shift()+$.shift();return j+_.join("%s")},goog.string.collapseWhitespace=function(o){return o.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(o){return o.length==0},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(o){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(o){return!/[^\t\n\r ]/.test(o)},goog.string.isAlpha=function(o){return!/[^a-zA-Z]/.test(o)},goog.string.isNumeric=function(o){return!/[^0-9]/.test(o)},goog.string.isAlphaNumeric=function(o){return!/[^a-zA-Z0-9]/.test(o)},goog.string.isSpace=function(o){return o==" "},goog.string.isUnicodeChar=function(o){return o.length==1&&" "<=o&&"~">=o||"€"<=o&&"�">=o},goog.string.stripNewlines=function(o){return o.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(o){return o.replace(/(\r\n|\r|\n)/g,` +`)},goog.string.normalizeWhitespace=function(o){return o.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(o){return o.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(o){return o.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(o){return o.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(o){return o.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(o,s,_){if(o==s)return 0;if(!o)return-1;if(!s)return 1;for(var j=o.toLowerCase().match(_),$=s.toLowerCase().match(_),_e=Math.min(j.length,$.length),et=0;et<_e;et++){_=j[et];var tt=$[et];if(_!=tt)return o=parseInt(_,10),!isNaN(o)&&(s=parseInt(tt,10),!isNaN(s)&&o-s)?o-s:_",""":'"'},j=s?s.createElement("div"):goog.global.document.createElement("div");return o.replace(goog.string.HTML_ENTITY_PATTERN_,function($,_e){var et=_[$];return et||(_e.charAt(0)=="#"&&(_e=+("0"+_e.substr(1)),isNaN(_e)||(et=String.fromCharCode(_e))),et||(goog.dom.safe.setInnerHtml(j,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),$+" ")),et=j.firstChild.nodeValue.slice(0,-1)),_[$]=et)})},goog.string.unescapePureXmlEntities_=function(o){return o.replace(/&([^;]+);/g,function(s,_){switch(_){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:return _.charAt(0)!="#"||(_=+("0"+_.substr(1)),isNaN(_))?s:String.fromCharCode(_)}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(o,s){return goog.string.newLineToBr(o.replace(/ /g,"  "),s)},goog.string.preserveSpaces=function(o){return o.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(o,s){for(var _=s.length,j=0;j<_;j++){var $=_==1?s:s.charAt(j);if(o.charAt(0)==$&&o.charAt(o.length-1)==$)return o.substring(1,o.length-1)}return o},goog.string.truncate=function(o,s,_){return _&&(o=goog.string.unescapeEntities(o)),o.length>s&&(o=o.substring(0,s-3)+"..."),_&&(o=goog.string.htmlEscape(o)),o},goog.string.truncateMiddle=function(o,s,_,j){if(_&&(o=goog.string.unescapeEntities(o)),j&&o.length>s){j>s&&(j=s);var $=o.length-j;o=o.substring(0,s-j)+"..."+o.substring($)}else o.length>s&&(j=Math.floor(s/2),$=o.length-j,o=o.substring(0,j+s%2)+"..."+o.substring($));return _&&(o=goog.string.htmlEscape(o)),o},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(o){o=String(o);for(var s=['"'],_=0;_$?j:goog.string.escapeChar(j))}return s.push('"'),s.join("")},goog.string.escapeString=function(o){for(var s=[],_=0;_s)var _=o;else 256>s?(_="\\x",(16>s||256s&&(_+="0")),_+=s.toString(16).toUpperCase();return goog.string.jsEscapeCache_[o]=_},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(o,s){return o&&s?o.split(s).length-1:0},goog.string.removeAt=function(o,s,_){var j=o;return 0<=s&&s>>0;return s},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(o){var s=Number(o);return s==0&&goog.string.isEmptyOrWhitespace(o)?NaN:s},goog.string.isLowerCamelCase=function(o){return/^[a-z]+([A-Z][a-z]*)*$/.test(o)},goog.string.isUpperCamelCase=function(o){return/^([A-Z][a-z]*)+$/.test(o)},goog.string.toCamelCase=function(o){return String(o).replace(/\-([a-z])/g,function(s,_){return _.toUpperCase()})},goog.string.toSelectorCase=function(o){return String(o).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(o,s){return s=typeof s=="string"?goog.string.regExpEscape(s):"\\s",o.replace(new RegExp("(^"+(s?"|["+s+"]+":"")+")([a-z])","g"),function(_,j,$){return j+$.toUpperCase()})},goog.string.capitalize=function(o){return String(o.charAt(0)).toUpperCase()+String(o.substr(1)).toLowerCase()},goog.string.parseInt=function(o){return isFinite(o)&&(o=String(o)),typeof o=="string"?/^\s*-?0x/i.test(o)?parseInt(o,16):parseInt(o,10):NaN},goog.string.splitLimit=function(o,s,_){o=o.split(s);for(var j=[];0<_&&o.length;)j.push(o.shift()),_--;return o.length&&j.push(o.join(s)),j},goog.string.lastComponent=function(o,s){if(s)typeof s=="string"&&(s=[s]);else return o;for(var _=-1,j=0;j_&&(_=$)}return _==-1?o:o.slice(_+1)},goog.string.editDistance=function(o,s){var _=[],j=[];if(o==s)return 0;if(!o.length||!s.length)return Math.max(o.length,s.length);for(var $=0;$parseFloat(o))?String(s):o},goog.userAgent.getVersionRegexResult_=function(){var o=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(o);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(o);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(o);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(o)},goog.userAgent.getDocumentMode_=function(){var o=goog.global.document;return o?o.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(o,s){return goog.string.compareVersions(o,s)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(o){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,o,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,o)})},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(o){return Number(goog.userAgent.DOCUMENT_MODE)>=o},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE){var o=goog.userAgent.getDocumentMode_();return o||parseInt(goog.userAgent.VERSION,10)||void 0}}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.DEFAULT_ALPHABET_COMMON_="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"+/=",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_+"-_.",goog.crypt.base64.Alphabet={DEFAULT:0,NO_PADDING:1,WEBSAFE:2,WEBSAFE_DOT_PADDING:3,WEBSAFE_NO_PADDING:4},goog.crypt.base64.paddingChars_="=.",goog.crypt.base64.isPadding_=function(o){return goog.string.contains(goog.crypt.base64.paddingChars_,o)},goog.crypt.base64.byteToCharMaps_={},goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||typeof goog.global.btoa=="function",goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&typeof goog.global.atob=="function",goog.crypt.base64.encodeByteArray=function(o,s){goog.asserts.assert(goog.isArrayLike(o),"encodeByteArray takes an array as a parameter"),s===void 0&&(s=goog.crypt.base64.Alphabet.DEFAULT),goog.crypt.base64.init_(),s=goog.crypt.base64.byteToCharMaps_[s];for(var _=[],j=0;j>2;$=($&3)<<4|et>>4,et=(et&15)<<2|nt>>6,nt&=63,tt||(nt=64,_e||(et=64)),_.push(s[rt],s[$],s[et]||"",s[nt]||"")}return _.join("")},goog.crypt.base64.encodeString=function(o,s){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!s?goog.global.btoa(o):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(o),s)},goog.crypt.base64.decodeString=function(o,s){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!s)return goog.global.atob(o);var _="";return goog.crypt.base64.decodeStringInternal_(o,function(j){_+=String.fromCharCode(j)}),_},goog.crypt.base64.decodeStringToByteArray=function(o,s){var _=[];return goog.crypt.base64.decodeStringInternal_(o,function(j){_.push(j)}),_},goog.crypt.base64.decodeStringToUint8Array=function(o){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10"),"Browser does not support typed arrays");var s=o.length,_=3*s/4;_%3?_=Math.floor(_):goog.crypt.base64.isPadding_(o[s-1])&&(_=goog.crypt.base64.isPadding_(o[s-2])?_-2:_-1);var j=new Uint8Array(_),$=0;return goog.crypt.base64.decodeStringInternal_(o,function(_e){j[$++]=_e}),j.subarray(0,$)},goog.crypt.base64.decodeStringInternal_=function(o,s){function _(nt){for(;j>4),et!=64&&(s(_e<<4&240|et>>2),tt!=64&&s(et<<6&192|tt))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.charToByteMap_){goog.crypt.base64.charToByteMap_={};for(var o=goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""),s=["+/=","+/","-_=","-_.","-_"],_=0;5>_;_++){var j=o.concat(s[_].split(""));goog.crypt.base64.byteToCharMaps_[_]=j;for(var $=0;$>>0;o=Math.floor((o-s)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=s,jspb.utils.split64High=o},jspb.utils.splitInt64=function(o){var s=0>o;o=Math.abs(o);var _=o>>>0;o=Math.floor((o-_)/jspb.BinaryConstants.TWO_TO_32),o>>>=0,s&&(o=~o>>>0,_=(~_>>>0)+1,4294967295<_&&(_=0,o++,4294967295o;o=2*Math.abs(o),jspb.utils.splitUint64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;s&&(o==0?_==0?_=o=4294967295:(_--,o=4294967295):o--),jspb.utils.split64Low=o,jspb.utils.split64High=_},jspb.utils.splitFloat32=function(o){var s=0>o?1:0;if(o=s?-o:o,o===0)0<1/o?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648);else if(isNaN(o))jspb.utils.split64High=0,jspb.utils.split64Low=2147483647;else if(o>jspb.BinaryConstants.FLOAT32_MAX)jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|2139095040)>>>0;else if(o>>0;else{var _=Math.floor(Math.log(o)/Math.LN2);o*=Math.pow(2,-_),o=Math.round(o*jspb.BinaryConstants.TWO_TO_23),16777216<=o&&++_,jspb.utils.split64High=0,jspb.utils.split64Low=(s<<31|_+127<<23|o&8388607)>>>0}},jspb.utils.splitFloat64=function(o){var s=0>o?1:0;if(o=s?-o:o,o===0)jspb.utils.split64High=0<1/o?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(o))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(o>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(s<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(o>>0,jspb.utils.split64Low=_>>>0}else{_=o;var j=0;if(2<=_)for(;2<=_&&1023>j;)j++,_/=2;else for(;1>_&&-1022>>0,jspb.utils.split64High=(s<<31|j+1023<<20|o)>>>0,jspb.utils.split64Low=_}},jspb.utils.splitHash64=function(o){var s=o.charCodeAt(0),_=o.charCodeAt(1),j=o.charCodeAt(2),$=o.charCodeAt(3),_e=o.charCodeAt(4),et=o.charCodeAt(5),tt=o.charCodeAt(6);o=o.charCodeAt(7),jspb.utils.split64Low=s+(_<<8)+(j<<16)+($<<24)>>>0,jspb.utils.split64High=_e+(et<<8)+(tt<<16)+(o<<24)>>>0},jspb.utils.joinUint64=function(o,s){return s*jspb.BinaryConstants.TWO_TO_32+(o>>>0)},jspb.utils.joinInt64=function(o,s){var _=s&2147483648;return _&&(o=~o+1>>>0,s=~s>>>0,o==0&&(s=s+1>>>0)),o=jspb.utils.joinUint64(o,s),_?-o:o},jspb.utils.toZigzag64=function(o,s,_){var j=s>>31;return _(o<<1^j,(s<<1|o>>>31)^j)},jspb.utils.joinZigzag64=function(o,s){return jspb.utils.fromZigzag64(o,s,jspb.utils.joinInt64)},jspb.utils.fromZigzag64=function(o,s,_){var j=-(o&1);return _((o>>>1|s<<31)^j,s>>>1^j)},jspb.utils.joinFloat32=function(o,s){s=2*(o>>31)+1;var _=o>>>23&255;return o&=8388607,_==255?o?NaN:1/0*s:_==0?s*Math.pow(2,-149)*o:s*Math.pow(2,_-150)*(o+Math.pow(2,23))},jspb.utils.joinFloat64=function(o,s){var _=2*(s>>31)+1,j=s>>>20&2047;return o=jspb.BinaryConstants.TWO_TO_32*(s&1048575)+o,j==2047?o?NaN:1/0*_:j==0?_*Math.pow(2,-1074)*o:_*Math.pow(2,j-1075)*(o+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(o,s){return String.fromCharCode(o>>>0&255,o>>>8&255,o>>>16&255,o>>>24&255,s>>>0&255,s>>>8&255,s>>>16&255,s>>>24&255)},jspb.utils.DIGITS="0123456789abcdef".split(""),jspb.utils.ZERO_CHAR_CODE_=48,jspb.utils.A_CHAR_CODE_=97,jspb.utils.joinUnsignedDecimalString=function(o,s){function _($,_e){return $=$?String($):"",_e?"0000000".slice($.length)+$:$}if(2097151>=s)return""+jspb.utils.joinUint64(o,s);var j=(o>>>24|s<<8)>>>0&16777215;return s=s>>16&65535,o=(o&16777215)+6777216*j+6710656*s,j+=8147497*s,s*=2,1e7<=o&&(j+=Math.floor(o/1e7),o%=1e7),1e7<=j&&(s+=Math.floor(j/1e7),j%=1e7),_(s,0)+_(j,s)+_(o,1)},jspb.utils.joinSignedDecimalString=function(o,s){var _=s&2147483648;return _&&(o=~o+1>>>0,s=~s+(o==0?1:0)>>>0),o=jspb.utils.joinUnsignedDecimalString(o,s),_?"-"+o:o},jspb.utils.hash64ToDecimalString=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinSignedDecimalString(o,_):jspb.utils.joinUnsignedDecimalString(o,_)},jspb.utils.hash64ArrayToDecimalStrings=function(o,s){for(var _=Array(o.length),j=0;jnt&&(et!==1||0>>=8}function _(){for(var et=0;8>et;et++)$[et]=~$[et]&255}jspb.asserts.assert(0o?jspb.utils.ZERO_CHAR_CODE_+o:jspb.utils.A_CHAR_CODE_-10+o)},jspb.utils.fromHexCharCode_=function(o){return o>=jspb.utils.A_CHAR_CODE_?o-jspb.utils.A_CHAR_CODE_+10:o-jspb.utils.ZERO_CHAR_CODE_},jspb.utils.hash64ToHexString=function(o){var s=Array(18);s[0]="0",s[1]="x";for(var _=0;8>_;_++){var j=o.charCodeAt(7-_);s[2*_+2]=jspb.utils.toHexDigit_(j>>4),s[2*_+3]=jspb.utils.toHexDigit_(j&15)}return s.join("")},jspb.utils.hexStringToHash64=function(o){o=o.toLowerCase(),jspb.asserts.assert(o.length==18),jspb.asserts.assert(o[0]=="0"),jspb.asserts.assert(o[1]=="x");for(var s="",_=0;8>_;_++){var j=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+2)),$=jspb.utils.fromHexCharCode_(o.charCodeAt(2*_+3));s=String.fromCharCode(16*j+$)+s}return s},jspb.utils.hash64ToNumber=function(o,s){jspb.utils.splitHash64(o),o=jspb.utils.split64Low;var _=jspb.utils.split64High;return s?jspb.utils.joinInt64(o,_):jspb.utils.joinUint64(o,_)},jspb.utils.numberToHash64=function(o){return jspb.utils.splitInt64(o),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(o,s,_){for(var j=0,$=s;$<_;$++)j+=o[$]>>7;return _-s-j},jspb.utils.countVarintFields=function(o,s,_,j){var $=0;if(j=8*j+jspb.BinaryConstants.WireType.VARINT,128>j)for(;s<_&&o[s++]==j;)for($++;;){var _e=o[s++];if(!(_e&128))break}else for(;s<_;){for(_e=j;128<_e;){if(o[s]!=(_e&127|128))return $;s++,_e>>=7}if(o[s++]!=_e)break;for($++;_e=o[s++],(_e&128)!=0;);}return $},jspb.utils.countFixedFields_=function(o,s,_,j,$){var _e=0;if(128>j)for(;s<_&&o[s++]==j;)_e++,s+=$;else for(;s<_;){for(var et=j;128>=7}if(o[s++]!=et)break;_e++,s+=$}return _e},jspb.utils.countFixed32Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(o,s,_,j){return jspb.utils.countFixedFields_(o,s,_,8*j+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(o,s,_,j){var $=0;for(j=8*j+jspb.BinaryConstants.WireType.DELIMITED;s<_;){for(var _e=j;128<_e;){if(o[s++]!=(_e&127|128))return $;_e>>=7}if(o[s++]!=_e)break;$++;for(var et=0,tt=1;_e=o[s++],et+=(_e&127)*tt,tt*=128,(_e&128)!=0;);s+=et}return $},jspb.utils.debugBytesToTextFormat=function(o){var s='"';if(o){o=jspb.utils.byteSourceToUint8Array(o);for(var _=0;_o[_]&&(s+="0"),s+=o[_].toString(16)}return s+'"'},jspb.utils.debugScalarToTextFormat=function(o){return typeof o=="string"?goog.string.quote(o):o.toString()},jspb.utils.stringToByteArray=function(o){for(var s=new Uint8Array(o.length),_=0;_jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(o,s,_){this.bytes_=jspb.utils.byteSourceToUint8Array(o),this.start_=s!==void 0?s:0,this.end_=_!==void 0?this.start_+_:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(o){this.end_=o},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(o){this.cursor_=o},jspb.BinaryDecoder.prototype.advance=function(o){this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64=function(o){for(var s=128,_=0,j=0,$=0;4>$&&128<=s;$++)s=this.bytes_[this.cursor_++],_|=(s&127)<<7*$;if(128<=s&&(s=this.bytes_[this.cursor_++],_|=(s&127)<<28,j|=(s&127)>>4),128<=s)for($=0;5>$&&128<=s;$++)s=this.bytes_[this.cursor_++],j|=(s&127)<<7*$+3;if(128>s)return o(_>>>0,j>>>0);jspb.asserts.fail("Failed to read varint, encoding is invalid."),this.error_=!0},jspb.BinaryDecoder.prototype.readSplitZigzagVarint64=function(o){return this.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryDecoder.prototype.readSplitFixed64=function(o){var s=this.bytes_,_=this.cursor_;this.cursor_+=8;for(var j=0,$=0,_e=_+7;_e>=_;_e--)j=j<<8|s[_e],$=$<<8|s[_e+4];return o(j,$)},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;this.bytes_[this.cursor_]&128;)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(o){for(;128>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var o=this.bytes_,s=o[this.cursor_+0],_=s&127;return 128>s?(this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+1],_|=(s&127)<<7,128>s?(this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+2],_|=(s&127)<<14,128>s?(this.cursor_+=3,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+3],_|=(s&127)<<21,128>s?(this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),_):(s=o[this.cursor_+4],_|=(s&15)<<28,128>s?(this.cursor_+=5,jspb.asserts.assert(this.cursor_<=this.end_),_>>>0):(this.cursor_+=5,128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&128<=o[this.cursor_++]&&jspb.asserts.assert(!1),jspb.asserts.assert(this.cursor_<=this.end_),_)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=function(){return~~this.readUnsignedVarint32()},jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var o=this.readUnsignedVarint32();return o>>>1^-(o&1)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinUint64)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64(jspb.utils.joinInt64)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64(jspb.utils.joinZigzag64)},jspb.BinaryDecoder.prototype.readZigzagVarintHash64=function(){return this.readSplitZigzagVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)},jspb.BinaryDecoder.prototype.readUint8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o},jspb.BinaryDecoder.prototype.readUint16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8|_<<16|j<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUint64(o,s)},jspb.BinaryDecoder.prototype.readUint64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinUnsignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readInt8=function(){var o=this.bytes_[this.cursor_+0];return this.cursor_+=1,jspb.asserts.assert(this.cursor_<=this.end_),o<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1];return this.cursor_+=2,jspb.asserts.assert(this.cursor_<=this.end_),(o<<0|s<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var o=this.bytes_[this.cursor_+0],s=this.bytes_[this.cursor_+1],_=this.bytes_[this.cursor_+2],j=this.bytes_[this.cursor_+3];return this.cursor_+=4,jspb.asserts.assert(this.cursor_<=this.end_),o<<0|s<<8|_<<16|j<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinInt64(o,s)},jspb.BinaryDecoder.prototype.readInt64String=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinSignedDecimalString(o,s)},jspb.BinaryDecoder.prototype.readFloat=function(){var o=this.readUint32();return jspb.utils.joinFloat32(o,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var o=this.readUint32(),s=this.readUint32();return jspb.utils.joinFloat64(o,s)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(o){var s=this.bytes_,_=this.cursor_;o=_+o;for(var j=[],$="";__e)j.push(_e);else{if(192>_e)continue;if(224>_e){var et=s[_++];j.push((_e&31)<<6|et&63)}else if(240>_e){et=s[_++];var tt=s[_++];j.push((_e&15)<<12|(et&63)<<6|tt&63)}else if(248>_e){et=s[_++],tt=s[_++];var nt=s[_++];_e=(_e&7)<<18|(et&63)<<12|(tt&63)<<6|nt&63,_e-=65536,j.push((_e>>10&1023)+55296,(_e&1023)+56320)}}8192<=j.length&&($+=String.fromCharCode.apply(null,j),j.length=0)}return $+=goog.crypt.byteArrayToString(j),this.cursor_=_,$},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var o=this.readUnsignedVarint32();return this.readString(o)},jspb.BinaryDecoder.prototype.readBytes=function(o){if(0>o||this.cursor_+o>this.bytes_.length)return this.error_=!0,jspb.asserts.fail("Invalid byte length!"),new Uint8Array(0);var s=this.bytes_.subarray(this.cursor_,this.cursor_+o);return this.cursor_+=o,jspb.asserts.assert(this.cursor_<=this.end_),s},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64(jspb.utils.joinHash64)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var o=this.bytes_,s=this.cursor_,_=o[s+0],j=o[s+1],$=o[s+2],_e=o[s+3],et=o[s+4],tt=o[s+5],nt=o[s+6];return o=o[s+7],this.cursor_+=8,String.fromCharCode(_,j,$,_e,et,tt,nt,o)},jspb.BinaryReader=function(o,s,_){this.decoder_=jspb.BinaryDecoder.alloc(o,s,_),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(o,s,_){if(jspb.BinaryReader.instanceCache_.length){var j=jspb.BinaryReader.instanceCache_.pop();return o&&j.decoder_.setBlock(o,s,_),j}return new jspb.BinaryReader(o,s,_)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},goog.exportProperty(jspb.BinaryReader.prototype,"getFieldNumber",jspb.BinaryReader.prototype.getFieldNumber),jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isDelimited=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED},goog.exportProperty(jspb.BinaryReader.prototype,"isDelimited",jspb.BinaryReader.prototype.isDelimited),jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},goog.exportProperty(jspb.BinaryReader.prototype,"isEndGroup",jspb.BinaryReader.prototype.isEndGroup),jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(o,s,_){this.decoder_.setBlock(o,s,_),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(o){this.decoder_.advance(o)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return jspb.asserts.fail("Decoder hit an error"),!1;this.fieldCursor_=this.decoder_.getCursor();var o=this.decoder_.readUnsignedVarint32(),s=o>>>3;return o&=7,o!=jspb.BinaryConstants.WireType.VARINT&&o!=jspb.BinaryConstants.WireType.FIXED32&&o!=jspb.BinaryConstants.WireType.FIXED64&&o!=jspb.BinaryConstants.WireType.DELIMITED&&o!=jspb.BinaryConstants.WireType.START_GROUP&&o!=jspb.BinaryConstants.WireType.END_GROUP?(jspb.asserts.fail("Invalid wire type: %s (at position %s)",o,this.fieldCursor_),this.error_=!0,!1):(this.nextField_=s,this.nextWireType_=o,!0)},goog.exportProperty(jspb.BinaryReader.prototype,"nextField",jspb.BinaryReader.prototype.nextField),jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var o=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==o;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(jspb.asserts.fail("Invalid wire type for skipVarintField"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)jspb.asserts.fail("Invalid wire type for skipDelimitedField"),this.skipField();else{var o=this.decoder_.readUnsignedVarint32();this.decoder_.advance(o)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(jspb.asserts.fail("Invalid wire type for skipFixed32Field"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(jspb.asserts.fail("Invalid wire type for skipFixed64Field"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){var o=this.nextField_;do{if(!this.nextField()){jspb.asserts.fail("Unmatched start-group tag: stream EOF"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP){this.nextField_!=o&&(jspb.asserts.fail("Unmatched end-group tag"),this.error_=!0);break}this.skipField()}while(1)},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:jspb.asserts.fail("Invalid wire encoding for field.")}},jspb.BinaryReader.prototype.registerReadCallback=function(o,s){this.readCallbacks_===null&&(this.readCallbacks_={}),jspb.asserts.assert(!this.readCallbacks_[o]),this.readCallbacks_[o]=s},jspb.BinaryReader.prototype.runReadCallback=function(o){return jspb.asserts.assert(this.readCallbacks_!==null),o=this.readCallbacks_[o],jspb.asserts.assert(o),o(this)},jspb.BinaryReader.prototype.readAny=function(o){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(o);var s=jspb.BinaryConstants.FieldType;switch(o){case s.DOUBLE:return this.readDouble();case s.FLOAT:return this.readFloat();case s.INT64:return this.readInt64();case s.UINT64:return this.readUint64();case s.INT32:return this.readInt32();case s.FIXED64:return this.readFixed64();case s.FIXED32:return this.readFixed32();case s.BOOL:return this.readBool();case s.STRING:return this.readString();case s.GROUP:jspb.asserts.fail("Group field type not supported in readAny()");case s.MESSAGE:jspb.asserts.fail("Message field type not supported in readAny()");case s.BYTES:return this.readBytes();case s.UINT32:return this.readUint32();case s.ENUM:return this.readEnum();case s.SFIXED32:return this.readSfixed32();case s.SFIXED64:return this.readSfixed64();case s.SINT32:return this.readSint32();case s.SINT64:return this.readSint64();case s.FHASH64:return this.readFixedHash64();case s.VHASH64:return this.readVarintHash64();default:jspb.asserts.fail("Invalid field type in readAny()")}return 0},jspb.BinaryReader.prototype.readMessage=function(o,s){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var _=this.decoder_.getEnd(),j=this.decoder_.readUnsignedVarint32();j=this.decoder_.getCursor()+j,this.decoder_.setEnd(j),s(o,this),this.decoder_.setCursor(j),this.decoder_.setEnd(_)},goog.exportProperty(jspb.BinaryReader.prototype,"readMessage",jspb.BinaryReader.prototype.readMessage),jspb.BinaryReader.prototype.readGroup=function(o,s,_){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),jspb.asserts.assert(this.nextField_==o),_(s,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(jspb.asserts.fail("Group submessage did not end with an END_GROUP tag"),this.error_=!0)},goog.exportProperty(jspb.BinaryReader.prototype,"readGroup",jspb.BinaryReader.prototype.readGroup),jspb.BinaryReader.prototype.getFieldDecoder=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32(),s=this.decoder_.getCursor(),_=s+o;return o=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),s,o),this.decoder_.setCursor(_),o},jspb.BinaryReader.prototype.readInt32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt32",jspb.BinaryReader.prototype.readInt32),jspb.BinaryReader.prototype.readInt32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readInt64",jspb.BinaryReader.prototype.readInt64),jspb.BinaryReader.prototype.readInt64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint32",jspb.BinaryReader.prototype.readUint32),jspb.BinaryReader.prototype.readUint32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readUint64",jspb.BinaryReader.prototype.readUint64),jspb.BinaryReader.prototype.readUint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint32",jspb.BinaryReader.prototype.readSint32),jspb.BinaryReader.prototype.readSint64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSint64",jspb.BinaryReader.prototype.readSint64),jspb.BinaryReader.prototype.readSint64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed32",jspb.BinaryReader.prototype.readFixed32),jspb.BinaryReader.prototype.readFixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readFixed64",jspb.BinaryReader.prototype.readFixed64),jspb.BinaryReader.prototype.readFixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed32",jspb.BinaryReader.prototype.readSfixed32),jspb.BinaryReader.prototype.readSfixed32String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},goog.exportProperty(jspb.BinaryReader.prototype,"readSfixed64",jspb.BinaryReader.prototype.readSfixed64),jspb.BinaryReader.prototype.readSfixed64String=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},goog.exportProperty(jspb.BinaryReader.prototype,"readFloat",jspb.BinaryReader.prototype.readFloat),jspb.BinaryReader.prototype.readDouble=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},goog.exportProperty(jspb.BinaryReader.prototype,"readDouble",jspb.BinaryReader.prototype.readDouble),jspb.BinaryReader.prototype.readBool=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},goog.exportProperty(jspb.BinaryReader.prototype,"readBool",jspb.BinaryReader.prototype.readBool),jspb.BinaryReader.prototype.readEnum=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},goog.exportProperty(jspb.BinaryReader.prototype,"readEnum",jspb.BinaryReader.prototype.readEnum),jspb.BinaryReader.prototype.readString=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readString",jspb.BinaryReader.prototype.readString),jspb.BinaryReader.prototype.readBytes=function(){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(o)},goog.exportProperty(jspb.BinaryReader.prototype,"readBytes",jspb.BinaryReader.prototype.readBytes),jspb.BinaryReader.prototype.readVarintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readSintHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarintHash64()},jspb.BinaryReader.prototype.readSplitVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(o)},jspb.BinaryReader.prototype.readSplitZigzagVarint64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSplitVarint64(function(s,_){return jspb.utils.fromZigzag64(s,_,o)})},jspb.BinaryReader.prototype.readFixedHash64=function(){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readSplitFixed64=function(o){return jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readSplitFixed64(o)},jspb.BinaryReader.prototype.readPackedField_=function(o){jspb.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var s=this.decoder_.readUnsignedVarint32();s=this.decoder_.getCursor()+s;for(var _=[];this.decoder_.getCursor()>>7|s<<25)>>>0,s>>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(o,s){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(s==Math.floor(s)),jspb.asserts.assert(0<=o&&o>>=7;this.buffer_.push(o)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(o){if(jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&os;s++)this.buffer_.push(o&127|128),o>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_31&&o>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o>>0,j>>>0)})},jspb.BinaryEncoder.prototype.writeUint8=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&256>o),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&65536>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(0<=o&&oo),this.buffer_.push(o>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(-32768<=o&&32768>o),this.buffer_.push(o>>>0&255),this.buffer_.push(o>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o>>0&255),this.buffer_.push(o>>>8&255),this.buffer_.push(o>>>16&255),this.buffer_.push(o>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_63&&o=-jspb.BinaryConstants.TWO_TO_63&&+o=-jspb.BinaryConstants.FLOAT32_MAX&&o<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(o),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(o){jspb.asserts.assert(o===1/0||o===-1/0||isNaN(o)||o>=-jspb.BinaryConstants.FLOAT64_MAX&&o<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(o),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(o){jspb.asserts.assert(typeof o=="boolean"||typeof o=="number"),this.buffer_.push(o?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(o){jspb.asserts.assert(o==Math.floor(o)),jspb.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&oj)this.buffer_.push(j);else if(2048>j)this.buffer_.push(j>>6|192),this.buffer_.push(j&63|128);else if(65536>j)if(55296<=j&&56319>=j&&_+1=$&&(j=1024*(j-55296)+$-56320+65536,this.buffer_.push(j>>18|240),this.buffer_.push(j>>12&63|128),this.buffer_.push(j>>6&63|128),this.buffer_.push(j&63|128),_++)}else this.buffer_.push(j>>12|224),this.buffer_.push(j>>6&63|128),this.buffer_.push(j&63|128)}return this.buffer_.length-s},jspb.arith={},jspb.arith.UInt64=function(o,s){this.lo=o,this.hi=s},jspb.arith.UInt64.prototype.cmp=function(o){return this.hi>>1|(this.hi&1)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(this.hi&2147483648)},jspb.arith.UInt64.prototype.lsb=function(){return!!(this.lo&1)},jspb.arith.UInt64.prototype.zero=function(){return this.lo==0&&this.hi==0},jspb.arith.UInt64.prototype.add=function(o){return new jspb.arith.UInt64((this.lo+o.lo&4294967295)>>>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(o){return new jspb.arith.UInt64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(o,s){var _=o&65535;o>>>=16;var j=s&65535,$=s>>>16;for(s=_*j+65536*(_*$&65535)+65536*(o*j&65535),_=o*$+(_*$>>>16)+(o*j>>>16);4294967296<=s;)s-=4294967296,_+=1;return new jspb.arith.UInt64(s>>>0,_>>>0)},jspb.arith.UInt64.prototype.mul=function(o){var s=jspb.arith.UInt64.mul32x32(this.lo,o);return o=jspb.arith.UInt64.mul32x32(this.hi,o),o.hi=o.lo,o.lo=0,s.add(o)},jspb.arith.UInt64.prototype.div=function(o){if(o==0)return[];var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(this.lo,this.hi);o=new jspb.arith.UInt64(o,0);for(var j=new jspb.arith.UInt64(1,0);!o.msb();)o=o.leftShift(),j=j.leftShift();for(;!j.zero();)0>=o.cmp(_)&&(s=s.add(j),_=_.sub(o)),o=o.rightShift(),j=j.rightShift();return[s,_]},jspb.arith.UInt64.prototype.toString=function(){for(var o="",s=this;!s.zero();){s=s.div(10);var _=s[0];o=s[1].lo+o,s=_}return o==""&&(o="0"),o},jspb.arith.UInt64.fromString=function(o){for(var s=new jspb.arith.UInt64(0,0),_=new jspb.arith.UInt64(0,0),j=0;jo[j]||"9">>0>>>0,((this.hi+o.hi&4294967295)>>>0)+(4294967296<=this.lo+o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(o){return new jspb.arith.Int64((this.lo-o.lo&4294967295)>>>0>>>0,((this.hi-o.hi&4294967295)>>>0)-(0>this.lo-o.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var o=(this.hi&2147483648)!=0,s=new jspb.arith.UInt64(this.lo,this.hi);return o&&(s=new jspb.arith.UInt64(0,0).sub(s)),(o?"-":"")+s.toString()},jspb.arith.Int64.fromString=function(o){var s=0>>=7,this.totalLength_++;o.push(s),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(o,s,_){this.appendUint8Array_(o.subarray(s,_))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(o,s,_){o!=null&&s!=null&&_!=null&&this.writeSerializedMessage(o,s,_)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){jspb.asserts.assert(this.bookmarks_.length==0);for(var o=new Uint8Array(this.totalLength_+this.encoder_.length()),s=this.blocks_,_=s.length,j=0,$=0;$<_;$++){var _e=s[$];o.set(_e,j),j+=_e.length}return s=this.encoder_.end(),o.set(s,j),j+=s.length,jspb.asserts.assert(j==o.length),this.blocks_=[o],o},goog.exportProperty(jspb.BinaryWriter.prototype,"getResultBuffer",jspb.BinaryWriter.prototype.getResultBuffer),jspb.BinaryWriter.prototype.getResultBase64String=function(o){return goog.crypt.base64.encodeByteArray(this.getResultBuffer(),o)},jspb.BinaryWriter.prototype.beginSubMessage=function(o){this.bookmarks_.push(this.beginDelimited_(o))},jspb.BinaryWriter.prototype.endSubMessage=function(){jspb.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(o,s){jspb.asserts.assert(1<=o&&o==Math.floor(o)),this.encoder_.writeUnsignedVarint32(8*o+s)},jspb.BinaryWriter.prototype.writeAny=function(o,s,_){var j=jspb.BinaryConstants.FieldType;switch(o){case j.DOUBLE:this.writeDouble(s,_);break;case j.FLOAT:this.writeFloat(s,_);break;case j.INT64:this.writeInt64(s,_);break;case j.UINT64:this.writeUint64(s,_);break;case j.INT32:this.writeInt32(s,_);break;case j.FIXED64:this.writeFixed64(s,_);break;case j.FIXED32:this.writeFixed32(s,_);break;case j.BOOL:this.writeBool(s,_);break;case j.STRING:this.writeString(s,_);break;case j.GROUP:jspb.asserts.fail("Group field type not supported in writeAny()");break;case j.MESSAGE:jspb.asserts.fail("Message field type not supported in writeAny()");break;case j.BYTES:this.writeBytes(s,_);break;case j.UINT32:this.writeUint32(s,_);break;case j.ENUM:this.writeEnum(s,_);break;case j.SFIXED32:this.writeSfixed32(s,_);break;case j.SFIXED64:this.writeSfixed64(s,_);break;case j.SINT32:this.writeSint32(s,_);break;case j.SINT64:this.writeSint64(s,_);break;case j.FHASH64:this.writeFixedHash64(s,_);break;case j.VHASH64:this.writeVarintHash64(s,_);break;default:jspb.asserts.fail("Invalid field type in writeAny()")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(s))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(s))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(s))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(s))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(s))},jspb.BinaryWriter.prototype.writeZigzagVarintHash64_=function(o,s){s!=null&&(this.writeFieldHeader_(o,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarintHash64(s))},jspb.BinaryWriter.prototype.writeInt32=function(o,s){s!=null&&(jspb.asserts.assert(s>=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s=-jspb.BinaryConstants.TWO_TO_63&&s=-jspb.BinaryConstants.TWO_TO_31&&s>>0,_e>>>0)})},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(o,s){if(s!=null)for(var _=0;_>>0,tt>>>0)});this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(o,s){if(s!=null&&s.length){o=this.beginDelimited_(o);for(var _=0;_s.length?_.length:s.length;for(o.getJsPbMessageId()&&(j[0]=o.getJsPbMessageId(),$=1);$<_e;$++)jspb.Message.compareFields(_[$],s[$])||(j[$]=s[$]);return new o.constructor(j)},goog.exportProperty(jspb.Message,"difference",jspb.Message.difference),jspb.Message.equals=function(o,s){return o==s||!(!o||!s)&&o instanceof s.constructor&&jspb.Message.compareFields(o.toArray(),s.toArray())},goog.exportProperty(jspb.Message,"equals",jspb.Message.equals),jspb.Message.compareExtensions=function(o,s){o=o||{},s=s||{};var _={},j;for(j in o)_[j]=0;for(j in s)_[j]=0;for(j in _)if(!jspb.Message.compareFields(o[j],s[j]))return!1;return!0},goog.exportProperty(jspb.Message,"compareExtensions",jspb.Message.compareExtensions),jspb.Message.compareFields=function(o,s){if(o==s)return!0;if(!goog.isObject(o)||!goog.isObject(s))return typeof o=="number"&&isNaN(o)||typeof s=="number"&&isNaN(s)?String(o)==String(s):!1;if(o.constructor!=s.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&o.constructor===Uint8Array){if(o.length!=s.length)return!1;for(var _=0;_0&&_e.writeString(1,et)},proto.google.protobuf.StringValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.StringValue.prototype.setValue=function($){return s.Message.setProto3StringField(this,1,$)},s.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.BytesValue.prototype.toObject=function($){return proto.google.protobuf.BytesValue.toObject($,this)},proto.google.protobuf.BytesValue.toObject=function($,_e){var et={value:_e.getValue_asB64()};return $&&(et.$jspbMessageInstance=_e),et}),proto.google.protobuf.BytesValue.deserializeBinary=function($){var _e=new s.BinaryReader($),et=new proto.google.protobuf.BytesValue;return proto.google.protobuf.BytesValue.deserializeBinaryFromReader(et,_e)},proto.google.protobuf.BytesValue.deserializeBinaryFromReader=function($,_e){for(;_e.nextField()&&!_e.isEndGroup();){var et=_e.getFieldNumber();switch(et){case 1:var tt=_e.readBytes();$.setValue(tt);break;default:_e.skipField();break}}return $},proto.google.protobuf.BytesValue.prototype.serializeBinary=function(){var $=new s.BinaryWriter;return proto.google.protobuf.BytesValue.serializeBinaryToWriter(this,$),$.getResultBuffer()},proto.google.protobuf.BytesValue.serializeBinaryToWriter=function($,_e){var et=void 0;et=$.getValue_asU8(),et.length>0&&_e.writeBytes(1,et)},proto.google.protobuf.BytesValue.prototype.getValue=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.BytesValue.prototype.getValue_asB64=function(){return s.Message.bytesAsB64(this.getValue())},proto.google.protobuf.BytesValue.prototype.getValue_asU8=function(){return s.Message.bytesAsU8(this.getValue())},proto.google.protobuf.BytesValue.prototype.setValue=function($){return s.Message.setProto3BytesField(this,1,$)},_.object.extend(o,proto.google.protobuf)})(wrappers_pb);(function(o){var s=googleProtobuf,_=s,j=typeof globalThis<"u"&&globalThis||typeof window<"u"&&window||typeof j<"u"&&j||typeof self<"u"&&self||(function(){return this}).call(null)||Function("return this")(),$=wrappers_pb;_.object.extend(proto,$),_.exportSymbol("proto.v1.signaling.api.CreatePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.CreatePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.DeletePeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetHealthResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetIceServersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetPeersResponse",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsRequest",null,j),_.exportSymbol("proto.v1.signaling.api.GetSessionsResponse",null,j),_.exportSymbol("proto.v1.signaling.api.Peer",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamRequest",null,j),_.exportSymbol("proto.v1.signaling.api.ReceiveSignalStreamResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerRequest",null,j),_.exportSymbol("proto.v1.signaling.api.RefreshPeerResponse",null,j),_.exportSymbol("proto.v1.signaling.api.RtcSession",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalRequest",null,j),_.exportSymbol("proto.v1.signaling.api.SendSignalResponse",null,j),_.exportSymbol("proto.v1.signaling.api.SessionType",null,j),_.exportSymbol("proto.v1.signaling.api.Signal",null,j),proto.v1.signaling.api.Peer=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.Peer.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.Peer,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Peer.displayName="proto.v1.signaling.api.Peer"),proto.v1.signaling.api.Signal=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.Signal,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.Signal.displayName="proto.v1.signaling.api.Signal"),proto.v1.signaling.api.RtcSession=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RtcSession,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RtcSession.displayName="proto.v1.signaling.api.RtcSession"),proto.v1.signaling.api.GetSessionsRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetSessionsRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsRequest.displayName="proto.v1.signaling.api.GetSessionsRequest"),proto.v1.signaling.api.GetSessionsResponse=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.GetSessionsResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetSessionsResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetSessionsResponse.displayName="proto.v1.signaling.api.GetSessionsResponse"),proto.v1.signaling.api.GetHealthRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthRequest.displayName="proto.v1.signaling.api.GetHealthRequest"),proto.v1.signaling.api.GetHealthResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetHealthResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetHealthResponse.displayName="proto.v1.signaling.api.GetHealthResponse"),proto.v1.signaling.api.CreatePeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerRequest.displayName="proto.v1.signaling.api.CreatePeerRequest"),proto.v1.signaling.api.CreatePeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.CreatePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.CreatePeerResponse.displayName="proto.v1.signaling.api.CreatePeerResponse"),proto.v1.signaling.api.DeletePeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerRequest.displayName="proto.v1.signaling.api.DeletePeerRequest"),proto.v1.signaling.api.DeletePeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.DeletePeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.DeletePeerResponse.displayName="proto.v1.signaling.api.DeletePeerResponse"),proto.v1.signaling.api.RefreshPeerRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerRequest.displayName="proto.v1.signaling.api.RefreshPeerRequest"),proto.v1.signaling.api.RefreshPeerResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.RefreshPeerResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.RefreshPeerResponse.displayName="proto.v1.signaling.api.RefreshPeerResponse"),proto.v1.signaling.api.GetPeersRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetPeersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersRequest.displayName="proto.v1.signaling.api.GetPeersRequest"),proto.v1.signaling.api.GetPeersResponse=function(_e){s.Message.initialize(this,_e,0,-1,proto.v1.signaling.api.GetPeersResponse.repeatedFields_,null)},_.inherits(proto.v1.signaling.api.GetPeersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetPeersResponse.displayName="proto.v1.signaling.api.GetPeersResponse"),proto.v1.signaling.api.GetIceServersRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersRequest.displayName="proto.v1.signaling.api.GetIceServersRequest"),proto.v1.signaling.api.GetIceServersResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.GetIceServersResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.GetIceServersResponse.displayName="proto.v1.signaling.api.GetIceServersResponse"),proto.v1.signaling.api.SendSignalRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalRequest.displayName="proto.v1.signaling.api.SendSignalRequest"),proto.v1.signaling.api.SendSignalResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.SendSignalResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.SendSignalResponse.displayName="proto.v1.signaling.api.SendSignalResponse"),proto.v1.signaling.api.ReceiveSignalStreamRequest=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamRequest,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.displayName="proto.v1.signaling.api.ReceiveSignalStreamRequest"),proto.v1.signaling.api.ReceiveSignalStreamResponse=function(_e){s.Message.initialize(this,_e,0,-1,null,null)},_.inherits(proto.v1.signaling.api.ReceiveSignalStreamResponse,s.Message),_.DEBUG&&!COMPILED&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.displayName="proto.v1.signaling.api.ReceiveSignalStreamResponse"),proto.v1.signaling.api.Peer.repeatedFields_=[5],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Peer.prototype.toObject=function(_e){return proto.v1.signaling.api.Peer.toObject(_e,this)},proto.v1.signaling.api.Peer.toObject=function(_e,et){var tt,nt={peerId:s.Message.getFieldWithDefault(et,1,""),organizationId:s.Message.getFieldWithDefault(et,2,""),userId:(tt=et.getUserId())&&$.StringValue.toObject(_e,tt),deviceId:(tt=et.getDeviceId())&&$.StringValue.toObject(_e,tt),sessionIdsList:(tt=s.Message.getRepeatedField(et,5))==null?void 0:tt,peerCreatedTimestamp:(tt=et.getPeerCreatedTimestamp())&&$.Int64Value.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.Peer.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.Peer;return proto.v1.signaling.api.Peer.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.Peer.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;case 2:var nt=et.readString();_e.setOrganizationId(nt);break;case 3:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setUserId(nt);break;case 4:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setDeviceId(nt);break;case 5:var nt=et.readString();_e.addSessionIds(nt);break;case 6:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setPeerCreatedTimestamp(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.Peer.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.Peer.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.Peer.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt),tt=_e.getOrganizationId(),tt.length>0&&et.writeString(2,tt),tt=_e.getUserId(),tt!=null&&et.writeMessage(3,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getDeviceId(),tt!=null&&et.writeMessage(4,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionIdsList(),tt.length>0&&et.writeRepeatedString(5,tt),tt=_e.getPeerCreatedTimestamp(),tt!=null&&et.writeMessage(6,tt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.Peer.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.Peer.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},proto.v1.signaling.api.Peer.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.Peer.prototype.setOrganizationId=function(_e){return s.Message.setProto3StringField(this,2,_e)},proto.v1.signaling.api.Peer.prototype.getUserId=function(){return s.Message.getWrapperField(this,$.StringValue,3)},proto.v1.signaling.api.Peer.prototype.setUserId=function(_e){return s.Message.setWrapperField(this,3,_e)},proto.v1.signaling.api.Peer.prototype.clearUserId=function(){return this.setUserId(void 0)},proto.v1.signaling.api.Peer.prototype.hasUserId=function(){return s.Message.getField(this,3)!=null},proto.v1.signaling.api.Peer.prototype.getDeviceId=function(){return s.Message.getWrapperField(this,$.StringValue,4)},proto.v1.signaling.api.Peer.prototype.setDeviceId=function(_e){return s.Message.setWrapperField(this,4,_e)},proto.v1.signaling.api.Peer.prototype.clearDeviceId=function(){return this.setDeviceId(void 0)},proto.v1.signaling.api.Peer.prototype.hasDeviceId=function(){return s.Message.getField(this,4)!=null},proto.v1.signaling.api.Peer.prototype.getSessionIdsList=function(){return s.Message.getRepeatedField(this,5)},proto.v1.signaling.api.Peer.prototype.setSessionIdsList=function(_e){return s.Message.setField(this,5,_e||[])},proto.v1.signaling.api.Peer.prototype.addSessionIds=function(_e,et){return s.Message.addToRepeatedField(this,5,_e,et)},proto.v1.signaling.api.Peer.prototype.clearSessionIdsList=function(){return this.setSessionIdsList([])},proto.v1.signaling.api.Peer.prototype.getPeerCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,6)},proto.v1.signaling.api.Peer.prototype.setPeerCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,6,_e)},proto.v1.signaling.api.Peer.prototype.clearPeerCreatedTimestamp=function(){return this.setPeerCreatedTimestamp(void 0)},proto.v1.signaling.api.Peer.prototype.hasPeerCreatedTimestamp=function(){return s.Message.getField(this,6)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.Signal.prototype.toObject=function(_e){return proto.v1.signaling.api.Signal.toObject(_e,this)},proto.v1.signaling.api.Signal.toObject=function(_e,et){var tt,nt={sessionId:(tt=et.getSessionId())&&$.StringValue.toObject(_e,tt),sessionCreatedTimestamp:(tt=et.getSessionCreatedTimestamp())&&$.Int64Value.toObject(_e,tt),senderId:s.Message.getFieldWithDefault(et,3,""),receiverId:s.Message.getFieldWithDefault(et,4,""),payload:s.Message.getFieldWithDefault(et,5,""),iceServers:s.Message.getFieldWithDefault(et,6,""),iceTransportPolicy:s.Message.getFieldWithDefault(et,7,""),sessionType:s.Message.getFieldWithDefault(et,8,0)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.Signal.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.Signal;return proto.v1.signaling.api.Signal.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.Signal.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setSessionId(nt);break;case 2:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setSessionCreatedTimestamp(nt);break;case 3:var nt=et.readString();_e.setSenderId(nt);break;case 4:var nt=et.readString();_e.setReceiverId(nt);break;case 5:var nt=et.readString();_e.setPayload(nt);break;case 6:var nt=et.readString();_e.setIceServers(nt);break;case 7:var nt=et.readString();_e.setIceTransportPolicy(nt);break;case 8:var nt=et.readEnum();_e.setSessionType(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.Signal.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.Signal.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.Signal.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt!=null&&et.writeMessage(1,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionCreatedTimestamp(),tt!=null&&et.writeMessage(2,tt,$.Int64Value.serializeBinaryToWriter),tt=_e.getSenderId(),tt.length>0&&et.writeString(3,tt),tt=_e.getReceiverId(),tt.length>0&&et.writeString(4,tt),tt=_e.getPayload(),tt.length>0&&et.writeString(5,tt),tt=_e.getIceServers(),tt.length>0&&et.writeString(6,tt),tt=_e.getIceTransportPolicy(),tt.length>0&&et.writeString(7,tt),tt=_e.getSessionType(),tt!==0&&et.writeEnum(8,tt)},proto.v1.signaling.api.Signal.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.Signal.prototype.setSessionId=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.Signal.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.Signal.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.Signal.prototype.setSessionCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,2,_e)},proto.v1.signaling.api.Signal.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.Signal.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},proto.v1.signaling.api.Signal.prototype.getSenderId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.Signal.prototype.setSenderId=function(_e){return s.Message.setProto3StringField(this,3,_e)},proto.v1.signaling.api.Signal.prototype.getReceiverId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.Signal.prototype.setReceiverId=function(_e){return s.Message.setProto3StringField(this,4,_e)},proto.v1.signaling.api.Signal.prototype.getPayload=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.Signal.prototype.setPayload=function(_e){return s.Message.setProto3StringField(this,5,_e)},proto.v1.signaling.api.Signal.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,6,"")},proto.v1.signaling.api.Signal.prototype.setIceServers=function(_e){return s.Message.setProto3StringField(this,6,_e)},proto.v1.signaling.api.Signal.prototype.getIceTransportPolicy=function(){return s.Message.getFieldWithDefault(this,7,"")},proto.v1.signaling.api.Signal.prototype.setIceTransportPolicy=function(_e){return s.Message.setProto3StringField(this,7,_e)},proto.v1.signaling.api.Signal.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,8,0)},proto.v1.signaling.api.Signal.prototype.setSessionType=function(_e){return s.Message.setProto3EnumField(this,8,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RtcSession.prototype.toObject=function(_e){return proto.v1.signaling.api.RtcSession.toObject(_e,this)},proto.v1.signaling.api.RtcSession.toObject=function(_e,et){var tt={sessionId:s.Message.getFieldWithDefault(et,1,""),offerPeerId:s.Message.getFieldWithDefault(et,2,""),answerPeerId:s.Message.getFieldWithDefault(et,3,""),organizationId:s.Message.getFieldWithDefault(et,4,""),sessionType:s.Message.getFieldWithDefault(et,5,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.RtcSession.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RtcSession;return proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setSessionId(nt);break;case 2:var nt=et.readString();_e.setOfferPeerId(nt);break;case 3:var nt=et.readString();_e.setAnswerPeerId(nt);break;case 4:var nt=et.readString();_e.setOrganizationId(nt);break;case 5:var nt=et.readString();_e.setSessionType(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.RtcSession.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RtcSession.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RtcSession.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt.length>0&&et.writeString(1,tt),tt=_e.getOfferPeerId(),tt.length>0&&et.writeString(2,tt),tt=_e.getAnswerPeerId(),tt.length>0&&et.writeString(3,tt),tt=_e.getOrganizationId(),tt.length>0&&et.writeString(4,tt),tt=_e.getSessionType(),tt.length>0&&et.writeString(5,tt)},proto.v1.signaling.api.RtcSession.prototype.getSessionId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionId=function(_e){return s.Message.setProto3StringField(this,1,_e)},proto.v1.signaling.api.RtcSession.prototype.getOfferPeerId=function(){return s.Message.getFieldWithDefault(this,2,"")},proto.v1.signaling.api.RtcSession.prototype.setOfferPeerId=function(_e){return s.Message.setProto3StringField(this,2,_e)},proto.v1.signaling.api.RtcSession.prototype.getAnswerPeerId=function(){return s.Message.getFieldWithDefault(this,3,"")},proto.v1.signaling.api.RtcSession.prototype.setAnswerPeerId=function(_e){return s.Message.setProto3StringField(this,3,_e)},proto.v1.signaling.api.RtcSession.prototype.getOrganizationId=function(){return s.Message.getFieldWithDefault(this,4,"")},proto.v1.signaling.api.RtcSession.prototype.setOrganizationId=function(_e){return s.Message.setProto3StringField(this,4,_e)},proto.v1.signaling.api.RtcSession.prototype.getSessionType=function(){return s.Message.getFieldWithDefault(this,5,"")},proto.v1.signaling.api.RtcSession.prototype.setSessionType=function(_e){return s.Message.setProto3StringField(this,5,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetSessionsRequest.toObject(_e,this)},proto.v1.signaling.api.GetSessionsRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetSessionsRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetSessionsRequest;return proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetSessionsRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetSessionsRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetSessionsRequest.serializeBinaryToWriter=function(_e,et){},proto.v1.signaling.api.GetSessionsResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetSessionsResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetSessionsResponse.toObject(_e,this)},proto.v1.signaling.api.GetSessionsResponse.toObject=function(_e,et){var tt={sessionsList:s.Message.toObjectList(et.getSessionsList(),proto.v1.signaling.api.RtcSession.toObject,_e)};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetSessionsResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetSessionsResponse;return proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetSessionsResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.RtcSession;et.readMessage(nt,proto.v1.signaling.api.RtcSession.deserializeBinaryFromReader),_e.addSessions(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetSessionsResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetSessionsResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionsList(),tt.length>0&&et.writeRepeatedMessage(1,tt,proto.v1.signaling.api.RtcSession.serializeBinaryToWriter)},proto.v1.signaling.api.GetSessionsResponse.prototype.getSessionsList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.RtcSession,1)},proto.v1.signaling.api.GetSessionsResponse.prototype.setSessionsList=function(_e){return s.Message.setRepeatedWrapperField(this,1,_e)},proto.v1.signaling.api.GetSessionsResponse.prototype.addSessions=function(_e,et){return s.Message.addToRepeatedWrapperField(this,1,_e,proto.v1.signaling.api.RtcSession,et)},proto.v1.signaling.api.GetSessionsResponse.prototype.clearSessionsList=function(){return this.setSessionsList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetHealthRequest.toObject(_e,this)},proto.v1.signaling.api.GetHealthRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetHealthRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetHealthRequest;return proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetHealthRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetHealthRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetHealthRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetHealthResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetHealthResponse.toObject(_e,this)},proto.v1.signaling.api.GetHealthResponse.toObject=function(_e,et){var tt={version:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetHealthResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetHealthResponse;return proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetHealthResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setVersion(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetHealthResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetHealthResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getVersion(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.GetHealthResponse.prototype.getVersion=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetHealthResponse.prototype.setVersion=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.CreatePeerRequest.toObject(_e,this)},proto.v1.signaling.api.CreatePeerRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.CreatePeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.CreatePeerRequest;return proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.CreatePeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.CreatePeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.CreatePeerRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.CreatePeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.CreatePeerResponse.toObject(_e,this)},proto.v1.signaling.api.CreatePeerResponse.toObject=function(_e,et){var tt,nt={peer:(tt=et.getPeer())&&proto.v1.signaling.api.Peer.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.CreatePeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.CreatePeerResponse;return proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.CreatePeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.setPeer(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.CreatePeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.CreatePeerResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeer(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.CreatePeerResponse.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.CreatePeerResponse.prototype.setPeer=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.CreatePeerResponse.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.CreatePeerResponse.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.DeletePeerRequest.toObject(_e,this)},proto.v1.signaling.api.DeletePeerRequest.toObject=function(_e,et){var tt={peerId:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.DeletePeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.DeletePeerRequest;return proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.DeletePeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.DeletePeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.DeletePeerRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.DeletePeerRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.DeletePeerRequest.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.DeletePeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.DeletePeerResponse.toObject(_e,this)},proto.v1.signaling.api.DeletePeerResponse.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.DeletePeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.DeletePeerResponse;return proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.DeletePeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.DeletePeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.DeletePeerResponse.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.RefreshPeerRequest.toObject(_e,this)},proto.v1.signaling.api.RefreshPeerRequest.toObject=function(_e,et){var tt,nt={peer:(tt=et.getPeer())&&proto.v1.signaling.api.Peer.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.RefreshPeerRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RefreshPeerRequest;return proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RefreshPeerRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.setPeer(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.RefreshPeerRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RefreshPeerRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeer(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.RefreshPeerRequest.prototype.getPeer=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.RefreshPeerRequest.prototype.setPeer=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.RefreshPeerRequest.prototype.clearPeer=function(){return this.setPeer(void 0)},proto.v1.signaling.api.RefreshPeerRequest.prototype.hasPeer=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.RefreshPeerResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.RefreshPeerResponse.toObject(_e,this)},proto.v1.signaling.api.RefreshPeerResponse.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.RefreshPeerResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.RefreshPeerResponse;return proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.RefreshPeerResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.RefreshPeerResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.RefreshPeerResponse.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetPeersRequest.toObject(_e,this)},proto.v1.signaling.api.GetPeersRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetPeersRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetPeersRequest;return proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetPeersRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetPeersRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetPeersRequest.serializeBinaryToWriter=function(_e,et){},proto.v1.signaling.api.GetPeersResponse.repeatedFields_=[1],s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetPeersResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetPeersResponse.toObject(_e,this)},proto.v1.signaling.api.GetPeersResponse.toObject=function(_e,et){var tt={peersList:s.Message.toObjectList(et.getPeersList(),proto.v1.signaling.api.Peer.toObject,_e)};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetPeersResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetPeersResponse;return proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetPeersResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Peer;et.readMessage(nt,proto.v1.signaling.api.Peer.deserializeBinaryFromReader),_e.addPeers(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetPeersResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetPeersResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeersList(),tt.length>0&&et.writeRepeatedMessage(1,tt,proto.v1.signaling.api.Peer.serializeBinaryToWriter)},proto.v1.signaling.api.GetPeersResponse.prototype.getPeersList=function(){return s.Message.getRepeatedWrapperField(this,proto.v1.signaling.api.Peer,1)},proto.v1.signaling.api.GetPeersResponse.prototype.setPeersList=function(_e){return s.Message.setRepeatedWrapperField(this,1,_e)},proto.v1.signaling.api.GetPeersResponse.prototype.addPeers=function(_e,et){return s.Message.addToRepeatedWrapperField(this,1,_e,proto.v1.signaling.api.Peer,et)},proto.v1.signaling.api.GetPeersResponse.prototype.clearPeersList=function(){return this.setPeersList([])},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.GetIceServersRequest.toObject(_e,this)},proto.v1.signaling.api.GetIceServersRequest.toObject=function(_e,et){var tt={};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetIceServersRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetIceServersRequest;return proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetIceServersRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){default:et.skipField();break}}return _e},proto.v1.signaling.api.GetIceServersRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetIceServersRequest.serializeBinaryToWriter=function(_e,et){},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.GetIceServersResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.GetIceServersResponse.toObject(_e,this)},proto.v1.signaling.api.GetIceServersResponse.toObject=function(_e,et){var tt={iceServers:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.GetIceServersResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.GetIceServersResponse;return proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.GetIceServersResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setIceServers(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.GetIceServersResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.GetIceServersResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getIceServers(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.GetIceServersResponse.prototype.getIceServers=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.GetIceServersResponse.prototype.setIceServers=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.SendSignalRequest.toObject(_e,this)},proto.v1.signaling.api.SendSignalRequest.toObject=function(_e,et){var tt,nt={signal:(tt=et.getSignal())&&proto.v1.signaling.api.Signal.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.SendSignalRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.SendSignalRequest;return proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.SendSignalRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Signal;et.readMessage(nt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),_e.setSignal(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.SendSignalRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.SendSignalRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSignal(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalRequest.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.SendSignalRequest.prototype.setSignal=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.SendSignalRequest.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.SendSignalRequest.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.SendSignalResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.SendSignalResponse.toObject(_e,this)},proto.v1.signaling.api.SendSignalResponse.toObject=function(_e,et){var tt,nt={sessionId:(tt=et.getSessionId())&&$.StringValue.toObject(_e,tt),sessionCreatedTimestamp:(tt=et.getSessionCreatedTimestamp())&&$.Int64Value.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.SendSignalResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.SendSignalResponse;return proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.SendSignalResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new $.StringValue;et.readMessage(nt,$.StringValue.deserializeBinaryFromReader),_e.setSessionId(nt);break;case 2:var nt=new $.Int64Value;et.readMessage(nt,$.Int64Value.deserializeBinaryFromReader),_e.setSessionCreatedTimestamp(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.SendSignalResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.SendSignalResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSessionId(),tt!=null&&et.writeMessage(1,tt,$.StringValue.serializeBinaryToWriter),tt=_e.getSessionCreatedTimestamp(),tt!=null&&et.writeMessage(2,tt,$.Int64Value.serializeBinaryToWriter)},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionId=function(){return s.Message.getWrapperField(this,$.StringValue,1)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionId=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionId=function(){return this.setSessionId(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionId=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SendSignalResponse.prototype.getSessionCreatedTimestamp=function(){return s.Message.getWrapperField(this,$.Int64Value,2)},proto.v1.signaling.api.SendSignalResponse.prototype.setSessionCreatedTimestamp=function(_e){return s.Message.setWrapperField(this,2,_e)},proto.v1.signaling.api.SendSignalResponse.prototype.clearSessionCreatedTimestamp=function(){return this.setSessionCreatedTimestamp(void 0)},proto.v1.signaling.api.SendSignalResponse.prototype.hasSessionCreatedTimestamp=function(){return s.Message.getField(this,2)!=null},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.toObject=function(_e){return proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject(_e,this)},proto.v1.signaling.api.ReceiveSignalStreamRequest.toObject=function(_e,et){var tt={peerId:s.Message.getFieldWithDefault(et,1,"")};return _e&&(tt.$jspbMessageInstance=et),tt}),proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.ReceiveSignalStreamRequest;return proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.ReceiveSignalStreamRequest.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=et.readString();_e.setPeerId(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamRequest.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getPeerId(),tt.length>0&&et.writeString(1,tt)},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.getPeerId=function(){return s.Message.getFieldWithDefault(this,1,"")},proto.v1.signaling.api.ReceiveSignalStreamRequest.prototype.setPeerId=function(_e){return s.Message.setProto3StringField(this,1,_e)},s.Message.GENERATE_TO_OBJECT&&(proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.toObject=function(_e){return proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject(_e,this)},proto.v1.signaling.api.ReceiveSignalStreamResponse.toObject=function(_e,et){var tt,nt={signal:(tt=et.getSignal())&&proto.v1.signaling.api.Signal.toObject(_e,tt)};return _e&&(nt.$jspbMessageInstance=et),nt}),proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinary=function(_e){var et=new s.BinaryReader(_e),tt=new proto.v1.signaling.api.ReceiveSignalStreamResponse;return proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader(tt,et)},proto.v1.signaling.api.ReceiveSignalStreamResponse.deserializeBinaryFromReader=function(_e,et){for(;et.nextField()&&!et.isEndGroup();){var tt=et.getFieldNumber();switch(tt){case 1:var nt=new proto.v1.signaling.api.Signal;et.readMessage(nt,proto.v1.signaling.api.Signal.deserializeBinaryFromReader),_e.setSignal(nt);break;default:et.skipField();break}}return _e},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.serializeBinary=function(){var _e=new s.BinaryWriter;return proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter(this,_e),_e.getResultBuffer()},proto.v1.signaling.api.ReceiveSignalStreamResponse.serializeBinaryToWriter=function(_e,et){var tt=void 0;tt=_e.getSignal(),tt!=null&&et.writeMessage(1,tt,proto.v1.signaling.api.Signal.serializeBinaryToWriter)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.getSignal=function(){return s.Message.getWrapperField(this,proto.v1.signaling.api.Signal,1)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.setSignal=function(_e){return s.Message.setWrapperField(this,1,_e)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.clearSignal=function(){return this.setSignal(void 0)},proto.v1.signaling.api.ReceiveSignalStreamResponse.prototype.hasSignal=function(){return s.Message.getField(this,1)!=null},proto.v1.signaling.api.SessionType={UNKNOWN:0,TELEOP:1,PORT_FORWARD:2,OBSERVE:3,HEADLESS:4},_.object.extend(o,proto.v1.signaling.api)})(signaling_pb);const encodedJs$2="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9dWktc2RrLXJlYWx0aW1lLXBsYXllci1jb3JlLXdvcmtlci51bWQtNjhhNmUxNmEuanMubWFwCg==";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$2)],{type:"text/javascript;charset=utf-8"});const encodedJs$1="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIE8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsImRlZmF1bHQiKT90LmRlZmF1bHQ6dH12YXIgaD1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9e2NtcDplfSk7dmFyIHM9dHlwZW9mIGUuY3ljbGVzPT0iYm9vbGVhbiI/ZS5jeWNsZXM6ITEsYT1lLmNtcCYmZnVuY3Rpb24odSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciBsPXtrZXk6bix2YWx1ZTpyW25dfSxmPXtrZXk6aSx2YWx1ZTpyW2ldfTtyZXR1cm4gdShsLGYpfX19KGUuY21wKSxjPVtdO3JldHVybiBmdW5jdGlvbiB1KHIpe2lmKHImJnIudG9KU09OJiZ0eXBlb2Ygci50b0pTT049PSJmdW5jdGlvbiImJihyPXIudG9KU09OKCkpLHIhPT12b2lkIDApe2lmKHR5cGVvZiByPT0ibnVtYmVyIilyZXR1cm4gaXNGaW5pdGUocik/IiIrcjoibnVsbCI7aWYodHlwZW9mIHIhPSJvYmplY3QiKXJldHVybiBKU09OLnN0cmluZ2lmeShyKTt2YXIgbixpO2lmKEFycmF5LmlzQXJyYXkocikpe2ZvcihpPSJbIixuPTA7bjxyLmxlbmd0aDtuKyspbiYmKGkrPSIsIiksaSs9dShyW25dKXx8Im51bGwiO3JldHVybiBpKyJdIn1pZihyPT09bnVsbClyZXR1cm4ibnVsbCI7aWYoYy5pbmRleE9mKHIpIT09LTEpe2lmKHMpcmV0dXJuIEpTT04uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9dmFyIGw9Yy5wdXNoKHIpLTEsZj1PYmplY3Qua2V5cyhyKS5zb3J0KGEmJmEocikpO2ZvcihpPSIiLG49MDtuPGYubGVuZ3RoO24rKyl7dmFyIG09ZltuXSxwPXUoclttXSk7cCYmKGkmJihpKz0iLCIpLGkrPUpTT04uc3RyaW5naWZ5KG0pKyI6IitwKX1yZXR1cm4gYy5zcGxpY2UobCwxKSwieyIraSsifSJ9fSh0KX0sdj1PKGgpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHYodCx7Y3ljbGVzOiEwfSl9ZnVuY3Rpb24gUyh0KXtpZighdC5zdGFjaylyZXR1cm57bWVzc2FnZTpvKHQpfTtjb25zdHtuYW1lOmUsbWVzc2FnZTpzLHN0YWNrOmEsLi4uY309dDtyZXR1cm57bmFtZTplLG1lc3NhZ2U6cyE9PXZvaWQgMD9zOm8odCksc3RhY2s6YSxtZXRhOmMmJk9iamVjdC5rZXlzKGMpLmxlbmd0aD09PTA/dm9pZCAwOmN9fWZ1bmN0aW9uIHkodCl7Y29uc3R7bWVzc2FnZTplLHN0YWNrOnMsbWV0YTphfT1TKHQpO3JldHVybmAke3N8fGV8fCIifSR7YSYmT2JqZWN0LmtleXMoYSkubGVuZ3RoPjA/YCAtLSAke28oYSl9YDoiIn1gfWNvbnN0IGc9c2VsZixiPTFlMzthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixhc3luYyB0PT57dmFyIGU7dHJ5e2NvbnN0IHM9dC5kYXRhO3RyeXtjb25zdCBjPWF3YWl0KGF3YWl0IGZldGNoKHMse21vZGU6ImNvcnMifSkpLnRleHQoKTtnLnBvc3RNZXNzYWdlKHtqc29uOkpTT04ucGFyc2UoYykscHJldmlldzpjLnN1YnN0cmluZygwLGIpLGxlbmd0aDpjLmxlbmd0aCx1cmw6c30pfWNhdGNoKGEpe3Rocm93IG5ldyBFcnJvcihgTG9hZCBmYWlsZWQgJHt5KGEpfWApfX1jYXRjaChzKXtnLnBvc3RNZXNzYWdlKHtlcnJvcjp5KHMpLHVybDooZT10PT1udWxsP3ZvaWQgMDp0LmRhdGEpPT1udWxsP3ZvaWQgMDplLnVybH0pfX0pfSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YS1sb2FkZXIud29ya2VyLWE2ZmQ5NzRkLmpzLm1hcAo=",blob$1=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$1)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper$1(){let o;try{if(o=blob$1&&(window.URL||window.webkitURL).createObjectURL(blob$1),!o)throw"";return new Worker(o)}catch{return new Worker("data:application/javascript;base64,"+encodedJs$1)}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}const millisecond$1=1,second$1=1e3,minute$1=60*second$1,hour$1=60*minute$1,day$1=24*hour$1,week$1=7*day$1,month$1=30*day$1,year$1=365*day$1,duration$1={millisecond:millisecond$1,second:second$1,minute:minute$1,hour:hour$1,day:day$1,week:week$1,month:month$1,year:year$1};function delay(o){return new Promise(s=>setTimeout(s,o))}var fastJsonStableStringify=function(o,s){s||(s={}),typeof s=="function"&&(s={cmp:s});var _=typeof s.cycles=="boolean"?s.cycles:!1,j=s.cmp&&function(_e){return function(et){return function(tt,nt){var rt={key:tt,value:et[tt]},ot={key:nt,value:et[nt]};return _e(rt,ot)}}}(s.cmp),$=[];return function _e(et){if(et&&et.toJSON&&typeof et.toJSON=="function"&&(et=et.toJSON()),et!==void 0){if(typeof et=="number")return isFinite(et)?""+et:"null";if(typeof et!="object")return JSON.stringify(et);var tt,nt;if(Array.isArray(et)){for(nt="[",tt=0;tts(o),this))}onabort(){}addEventListener(o,s){o==="abort"&&this._listeners.push(s)}removeEventListener(o,s){o==="abort"&&(this._listeners=this._listeners.filter(_=>_!==s))}},warned=new Set,deprecatedOption=(o,s)=>{const _=`LRU_CACHE_OPTION_${o}`;shouldWarn(_)&&warn(_,`${o} option`,`options.${s}`,LRUCache)},deprecatedMethod=(o,s)=>{const _=`LRU_CACHE_METHOD_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} method`,`cache.${s}()`,$)}},deprecatedProperty=(o,s)=>{const _=`LRU_CACHE_PROPERTY_${o}`;if(shouldWarn(_)){const{prototype:j}=LRUCache,{get:$}=Object.getOwnPropertyDescriptor(j,o);warn(_,`${o} property`,`cache.${s}`,$)}},emitWarning=(...o)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...o):console.error(...o)},shouldWarn=o=>!warned.has(o),warn=(o,s,_,j)=>{warned.add(o);const $=`The ${s} is deprecated. Please use ${_} instead.`;emitWarning($,"DeprecationWarning",o,j)},isPosInt=o=>o&&o===Math.floor(o)&&o>0&&isFinite(o),getUintArray=o=>isPosInt(o)?o<=Math.pow(2,8)?Uint8Array:o<=Math.pow(2,16)?Uint16Array:o<=Math.pow(2,32)?Uint32Array:o<=Number.MAX_SAFE_INTEGER?ZeroArray:null:null;class ZeroArray extends Array{constructor(s){super(s),this.fill(0)}}class Stack{constructor(s){if(s===0)return[];const _=getUintArray(s);this.heap=new _(s),this.length=0}push(s){this.heap[this.length++]=s}pop(){return this.heap[--this.length]}}class LRUCache{constructor(s={}){const{max:_=0,ttl:j,ttlResolution:$=1,ttlAutopurge:_e,updateAgeOnGet:et,updateAgeOnHas:tt,allowStale:nt,dispose:rt,disposeAfter:ot,noDisposeOnSet:ut,noUpdateTTL:dt,maxSize:Ut=0,maxEntrySize:st=0,sizeCalculation:ct,fetchMethod:pt,fetchContext:Bt,noDeleteOnFetchRejection:Qt,noDeleteOnStaleGet:gt,allowStaleOnFetchRejection:ft,allowStaleOnFetchAbort:Ft,ignoreFetchAbort:yt}=s,{length:Ct,maxAge:xt,stale:ht}=s instanceof LRUCache?{}:s;if(_!==0&&!isPosInt(_))throw new TypeError("max option must be a nonnegative integer");const mt=_?getUintArray(_):Array;if(!mt)throw new Error("invalid max value: "+_);if(this.max=_,this.maxSize=Ut,this.maxEntrySize=st||this.maxSize,this.sizeCalculation=ct||Ct,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=pt||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=Bt,!this.fetchMethod&&Bt!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(_).fill(null),this.valList=new Array(_).fill(null),this.next=new mt(_),this.prev=new mt(_),this.head=0,this.tail=0,this.free=new Stack(_),this.initialFill=1,this.size=0,typeof rt=="function"&&(this.dispose=rt),typeof ot=="function"?(this.disposeAfter=ot,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!ut,this.noUpdateTTL=!!dt,this.noDeleteOnFetchRejection=!!Qt,this.allowStaleOnFetchRejection=!!ft,this.allowStaleOnFetchAbort=!!Ft,this.ignoreFetchAbort=!!yt,this.maxEntrySize!==0){if(this.maxSize!==0&&!isPosInt(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!isPosInt(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!nt||!!ht,this.noDeleteOnStaleGet=!!gt,this.updateAgeOnGet=!!et,this.updateAgeOnHas=!!tt,this.ttlResolution=isPosInt($)||$===0?$:1,this.ttlAutopurge=!!_e,this.ttl=j||xt||0,this.ttl){if(!isPosInt(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const It="LRU_CACHE_UNBOUNDED";shouldWarn(It)&&(warned.add(It),emitWarning("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",It,LRUCache))}ht&&deprecatedOption("stale","allowStale"),xt&&deprecatedOption("maxAge","ttl"),Ct&&deprecatedOption("length","sizeCalculation")}getRemainingTTL(s){return this.has(s,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max),this.starts=new ZeroArray(this.max),this.setItemTTL=(j,$,_e=perf.now())=>{if(this.starts[j]=$!==0?_e:0,this.ttls[j]=$,$!==0&&this.ttlAutopurge){const et=setTimeout(()=>{this.isStale(j)&&this.delete(this.keyList[j])},$+1);et.unref&&et.unref()}},this.updateItemAge=j=>{this.starts[j]=this.ttls[j]!==0?perf.now():0},this.statusTTL=(j,$)=>{j&&(j.ttl=this.ttls[$],j.start=this.starts[$],j.now=s||_(),j.remainingTTL=j.now+j.ttl-j.start)};let s=0;const _=()=>{const j=perf.now();if(this.ttlResolution>0){s=j;const $=setTimeout(()=>s=0,this.ttlResolution);$.unref&&$.unref()}return j};this.getRemainingTTL=j=>{const $=this.keyMap.get(j);return $===void 0?0:this.ttls[$]===0||this.starts[$]===0?1/0:this.starts[$]+this.ttls[$]-(s||_())},this.isStale=j=>this.ttls[j]!==0&&this.starts[j]!==0&&(s||_())-this.starts[j]>this.ttls[j]}updateItemAge(s){}statusTTL(s,_){}setItemTTL(s,_,j){}isStale(s){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new ZeroArray(this.max),this.removeItemSize=s=>{this.calculatedSize-=this.sizes[s],this.sizes[s]=0},this.requireSize=(s,_,j,$)=>{if(this.isBackgroundFetch(_))return 0;if(!isPosInt(j))if($){if(typeof $!="function")throw new TypeError("sizeCalculation must be a function");if(j=$(_,s),!isPosInt(j))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return j},this.addItemSize=(s,_,j)=>{if(this.sizes[s]=_,this.maxSize){const $=this.maxSize-this.sizes[s];for(;this.calculatedSize>$;)this.evict(!0)}this.calculatedSize+=this.sizes[s],j&&(j.entrySize=_,j.totalCalculatedSize=this.calculatedSize)}}removeItemSize(s){}addItemSize(s,_){}requireSize(s,_,j,$){if(j||$)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.tail;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.head));)_=this.prev[_]}*rindexes({allowStale:s=this.allowStale}={}){if(this.size)for(let _=this.head;!(!this.isValidIndex(_)||((s||!this.isStale(_))&&(yield _),_===this.tail));)_=this.next[_]}isValidIndex(s){return s!==void 0&&this.keyMap.get(this.keyList[s])===s}*entries(){for(const s of this.indexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*rentries(){for(const s of this.rindexes())this.valList[s]!==void 0&&this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield[this.keyList[s],this.valList[s]])}*keys(){for(const s of this.indexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*rkeys(){for(const s of this.rindexes())this.keyList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.keyList[s])}*values(){for(const s of this.indexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}*rvalues(){for(const s of this.rindexes())this.valList[s]!==void 0&&!this.isBackgroundFetch(this.valList[s])&&(yield this.valList[s])}[Symbol.iterator](){return this.entries()}find(s,_){for(const j of this.indexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(_e!==void 0&&s(_e,this.keyList[j],this))return this.get(this.keyList[j],_)}}forEach(s,_=this){for(const j of this.indexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;_e!==void 0&&s.call(_,_e,this.keyList[j],this)}}rforEach(s,_=this){for(const j of this.rindexes()){const $=this.valList[j],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;_e!==void 0&&s.call(_,_e,this.keyList[j],this)}}get prune(){return deprecatedMethod("prune","purgeStale"),this.purgeStale}purgeStale(){let s=!1;for(const _ of this.rindexes({allowStale:!0}))this.isStale(_)&&(this.delete(this.keyList[_]),s=!0);return s}dump(){const s=[];for(const _ of this.indexes({allowStale:!0})){const j=this.keyList[_],$=this.valList[_],_e=this.isBackgroundFetch($)?$.__staleWhileFetching:$;if(_e===void 0)continue;const et={value:_e};if(this.ttls){et.ttl=this.ttls[_];const tt=perf.now()-this.starts[_];et.start=Math.floor(Date.now()-tt)}this.sizes&&(et.size=this.sizes[_]),s.unshift([j,et])}return s}load(s){this.clear();for(const[_,j]of s){if(j.start){const $=Date.now()-j.start;j.start=perf.now()-$}this.set(_,j.value,j)}}dispose(s,_,j){}set(s,_,{ttl:j=this.ttl,start:$,noDisposeOnSet:_e=this.noDisposeOnSet,size:et=0,sizeCalculation:tt=this.sizeCalculation,noUpdateTTL:nt=this.noUpdateTTL,status:rt}={}){if(et=this.requireSize(s,_,et,tt),this.maxEntrySize&&et>this.maxEntrySize)return rt&&(rt.set="miss",rt.maxEntrySizeExceeded=!0),this.delete(s),this;let ot=this.size===0?void 0:this.keyMap.get(s);if(ot===void 0)ot=this.newIndex(),this.keyList[ot]=s,this.valList[ot]=_,this.keyMap.set(s,ot),this.next[this.tail]=ot,this.prev[ot]=this.tail,this.tail=ot,this.size++,this.addItemSize(ot,et,rt),rt&&(rt.set="add"),nt=!1;else{this.moveToTail(ot);const ut=this.valList[ot];if(_!==ut){if(this.isBackgroundFetch(ut)?ut.__abortController.abort(new Error("replaced")):_e||(this.dispose(ut,s,"set"),this.disposeAfter&&this.disposed.push([ut,s,"set"])),this.removeItemSize(ot),this.valList[ot]=_,this.addItemSize(ot,et,rt),rt){rt.set="replace";const dt=ut&&this.isBackgroundFetch(ut)?ut.__staleWhileFetching:ut;dt!==void 0&&(rt.oldValue=dt)}}else rt&&(rt.set="update")}if(j!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),nt||this.setItemTTL(ot,j,$),this.statusTTL(rt,ot),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){const s=this.valList[this.head];return this.evict(!0),s}}evict(s){const _=this.head,j=this.keyList[_],$=this.valList[_];return this.isBackgroundFetch($)?$.__abortController.abort(new Error("evicted")):(this.dispose($,j,"evict"),this.disposeAfter&&this.disposed.push([$,j,"evict"])),this.removeItemSize(_),s&&(this.keyList[_]=null,this.valList[_]=null,this.free.push(_)),this.head=this.next[_],this.keyMap.delete(j),this.size--,_}has(s,{updateAgeOnHas:_=this.updateAgeOnHas,status:j}={}){const $=this.keyMap.get(s);if($!==void 0)if(this.isStale($))j&&(j.has="stale",this.statusTTL(j,$));else return _&&this.updateItemAge($),j&&(j.has="hit"),this.statusTTL(j,$),!0;else j&&(j.has="miss");return!1}peek(s,{allowStale:_=this.allowStale}={}){const j=this.keyMap.get(s);if(j!==void 0&&(_||!this.isStale(j))){const $=this.valList[j];return this.isBackgroundFetch($)?$.__staleWhileFetching:$}}backgroundFetch(s,_,j,$){const _e=_===void 0?void 0:this.valList[_];if(this.isBackgroundFetch(_e))return _e;const et=new AC;j.signal&&j.signal.addEventListener("abort",()=>et.abort(j.signal.reason));const tt={signal:et.signal,options:j,context:$},nt=(Ut,st=!1)=>{const{aborted:ct}=et.signal,pt=j.ignoreFetchAbort&&Ut!==void 0;return j.status&&(ct&&!st?(j.status.fetchAborted=!0,j.status.fetchError=et.signal.reason,pt&&(j.status.fetchAbortIgnored=!0)):j.status.fetchResolved=!0),ct&&!pt&&!st?ot(et.signal.reason):(this.valList[_]===dt&&(Ut===void 0?dt.__staleWhileFetching?this.valList[_]=dt.__staleWhileFetching:this.delete(s):(j.status&&(j.status.fetchUpdated=!0),this.set(s,Ut,tt.options))),Ut)},rt=Ut=>(j.status&&(j.status.fetchRejected=!0,j.status.fetchError=Ut),ot(Ut)),ot=Ut=>{const{aborted:st}=et.signal,ct=st&&j.allowStaleOnFetchAbort,pt=ct||j.allowStaleOnFetchRejection,Bt=pt||j.noDeleteOnFetchRejection;if(this.valList[_]===dt&&(!Bt||dt.__staleWhileFetching===void 0?this.delete(s):ct||(this.valList[_]=dt.__staleWhileFetching)),pt)return j.status&&dt.__staleWhileFetching!==void 0&&(j.status.returnedStale=!0),dt.__staleWhileFetching;if(dt.__returned===dt)throw Ut},ut=(Ut,st)=>{this.fetchMethod(s,_e,tt).then(ct=>Ut(ct),st),et.signal.addEventListener("abort",()=>{(!j.ignoreFetchAbort||j.allowStaleOnFetchAbort)&&(Ut(),j.allowStaleOnFetchAbort&&(Ut=ct=>nt(ct,!0)))})};j.status&&(j.status.fetchDispatched=!0);const dt=new Promise(ut).then(nt,rt);return dt.__abortController=et,dt.__staleWhileFetching=_e,dt.__returned=null,_===void 0?(this.set(s,dt,{...tt.options,status:void 0}),_=this.keyMap.get(s)):this.valList[_]=dt,dt}isBackgroundFetch(s){return s&&typeof s=="object"&&typeof s.then=="function"&&Object.prototype.hasOwnProperty.call(s,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(s,"__returned")&&(s.__returned===s||s.__returned===null)}async fetch(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,ttl:_e=this.ttl,noDisposeOnSet:et=this.noDisposeOnSet,size:tt=0,sizeCalculation:nt=this.sizeCalculation,noUpdateTTL:rt=this.noUpdateTTL,noDeleteOnFetchRejection:ot=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:ut=this.allowStaleOnFetchRejection,ignoreFetchAbort:dt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Ut=this.allowStaleOnFetchAbort,fetchContext:st=this.fetchContext,forceRefresh:ct=!1,status:pt,signal:Bt}={}){if(!this.fetchMethod)return pt&&(pt.fetch="get"),this.get(s,{allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,status:pt});const Qt={allowStale:_,updateAgeOnGet:j,noDeleteOnStaleGet:$,ttl:_e,noDisposeOnSet:et,size:tt,sizeCalculation:nt,noUpdateTTL:rt,noDeleteOnFetchRejection:ot,allowStaleOnFetchRejection:ut,allowStaleOnFetchAbort:Ut,ignoreFetchAbort:dt,status:pt,signal:Bt};let gt=this.keyMap.get(s);if(gt===void 0){pt&&(pt.fetch="miss");const ft=this.backgroundFetch(s,gt,Qt,st);return ft.__returned=ft}else{const ft=this.valList[gt];if(this.isBackgroundFetch(ft)){const ht=_&&ft.__staleWhileFetching!==void 0;return pt&&(pt.fetch="inflight",ht&&(pt.returnedStale=!0)),ht?ft.__staleWhileFetching:ft.__returned=ft}const Ft=this.isStale(gt);if(!ct&&!Ft)return pt&&(pt.fetch="hit"),this.moveToTail(gt),j&&this.updateItemAge(gt),this.statusTTL(pt,gt),ft;const yt=this.backgroundFetch(s,gt,Qt,st),Ct=yt.__staleWhileFetching!==void 0,xt=Ct&&_;return pt&&(pt.fetch=Ct&&Ft?"stale":"refresh",xt&&Ft&&(pt.returnedStale=!0)),xt?yt.__staleWhileFetching:yt.__returned=yt}}get(s,{allowStale:_=this.allowStale,updateAgeOnGet:j=this.updateAgeOnGet,noDeleteOnStaleGet:$=this.noDeleteOnStaleGet,status:_e}={}){const et=this.keyMap.get(s);if(et!==void 0){const tt=this.valList[et],nt=this.isBackgroundFetch(tt);return this.statusTTL(_e,et),this.isStale(et)?(_e&&(_e.get="stale"),nt?(_e&&(_e.returnedStale=_&&tt.__staleWhileFetching!==void 0),_?tt.__staleWhileFetching:void 0):($||this.delete(s),_e&&(_e.returnedStale=_),_?tt:void 0)):(_e&&(_e.get="hit"),nt?tt.__staleWhileFetching:(this.moveToTail(et),j&&this.updateItemAge(et),tt))}else _e&&(_e.get="miss")}connect(s,_){this.prev[_]=s,this.next[s]=_}moveToTail(s){s!==this.tail&&(s===this.head?this.head=this.next[s]:this.connect(this.prev[s],this.next[s]),this.connect(this.tail,s),this.tail=s)}get del(){return deprecatedMethod("del","delete"),this.delete}delete(s){let _=!1;if(this.size!==0){const j=this.keyMap.get(s);if(j!==void 0)if(_=!0,this.size===1)this.clear();else{this.removeItemSize(j);const $=this.valList[j];this.isBackgroundFetch($)?$.__abortController.abort(new Error("deleted")):(this.dispose($,s,"delete"),this.disposeAfter&&this.disposed.push([$,s,"delete"])),this.keyMap.delete(s),this.keyList[j]=null,this.valList[j]=null,j===this.tail?this.tail=this.prev[j]:j===this.head?this.head=this.next[j]:(this.next[this.prev[j]]=this.next[j],this.prev[this.next[j]]=this.prev[j]),this.size--,this.free.push(j)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return _}clear(){for(const s of this.rindexes({allowStale:!0})){const _=this.valList[s];if(this.isBackgroundFetch(_))_.__abortController.abort(new Error("deleted"));else{const j=this.keyList[s];this.dispose(_,j,"delete"),this.disposeAfter&&this.disposed.push([_,j,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return deprecatedMethod("reset","clear"),this.clear}get length(){return deprecatedProperty("length","size"),this.size}static get AbortController(){return AC}static get AbortSignal(){return AS}}const BaseLruCache=LRUCache;class LruCache{constructor(s){he(this,"cache"),he(this,"stringify"),this.cache=new BaseLruCache({...s.dispose||s.disposeAfter?{ttlAutopurge:!0}:{},...s,dispose:(..._)=>{var j;(j=s.dispose)==null||j.call(s,..._)},disposeAfter:(..._)=>{var j;(j=s.disposeAfter)==null||j.call(s,..._)}}),this.stringify=s.fastStringify?JSON.stringify:stringify}set(s,_,j){const $=this.stringify(s);if(!this.cache.set($,_,{ttl:j})){const _e=this.cache.sizeCalculation?this.cache.sizeCalculation(_,$):"unknown";throw Error(`Value too large (${_e} > ${this.cache.max})`)}}get(s){const _=this.stringify(s);return this.cache.get(_)}delete(s){this.cache.delete(this.stringify(s))}peek(s){return this.cache.peek(this.stringify(s))}size(){return this.cache.size}clear(){this.cache.clear()}forEach(s){this.cache.forEach(s)}purgeStale(){return this.cache.purgeStale()}}class PromiseLruCache extends LruCache{constructor(s){if(super(s),he(this,"expireRejectedPromiseValues"),he(this,"rejectedPromiseValueTtl"),this.expireRejectedPromiseValues=s.expireRejectedPromiseValues!==void 0?s.expireRejectedPromiseValues:!0,this.rejectedPromiseValueTtl=s.rejectedPromiseValueTtl!==void 0?s.rejectedPromiseValueTtl:duration$1.second,this.rejectedPromiseValueTtl<0)throw new Error("rejectedPromiseValueTtl must not be negative")}set(s,_,j){super.set(s,_,j),this.expireRejectedPromiseValues&&_.catch(async()=>{await delay(this.rejectedPromiseValueTtl),this.peek(s)===_&&this.delete(s)})}}const range=(o,s)=>s<=o?[]:new Array(s-o).fill(0).map((_,j)=>j+o),workerCount=4,qe=class{constructor(){he(this,"workers"),he(this,"cache",new PromiseLruCache({name:"DataLoader-cache",max:5e3})),he(this,"nextWorkerIndex",-1),he(this,"resolveMap",{}),he(this,"rejectMap",{})}static get(){return qe.references++,qe.instance||(qe.instance=new qe),qe.instance}static release(o){var s;if(qe.instance!==o){console.error("Releasing an unallocated/unowned loader!");return}qe.references--,!(qe.references>0)&&((s=qe.instance.workers)==null||s.forEach(_=>_.terminate()),qe.instance.workers=void 0,qe.instance.cache.clear(),qe.instance=null,qe.references=0)}load(o){const s=this.cache.get(o);if(s)return s;const _=this.nextWorker(),j=new Promise(($,_e)=>{this.resolveMap[o]=$,this.rejectMap[o]=_e});return this.cache.set(o,j),_.postMessage(o),j}nextWorker(){return this.workers||(this.workers=range(0,workerCount).map(o=>{const s=new WorkerWrapper$1;return s.onmessage=({data:_})=>{const{url:j}=_;if(!j)return;const $=this.rejectMap[j],_e=this.resolveMap[j];if(delete this.rejectMap[j],delete this.resolveMap[j],!(!$||!_e)){if(_.error){const et=new Error(`Worker failure: ${_.error}`);et.cause=_.error,$(et);return}_e({json:_.json,preview:_.preview,length:_.length})}},s})),this.nextWorkerIndex=(this.nextWorkerIndex+1)%workerCount,this.workers[this.nextWorkerIndex]}};let DataLoader=qe;he(DataLoader,"references",0),he(DataLoader,"instance",null);new URLSearchParams(window.location.search).get("debug");const encodedJs$3="dmFyIFI9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBHPShNLGIseCk9PmIgaW4gTT9SKE0sYix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6eH0pOk1bYl09eDt2YXIgST0oTSxiLHgpPT4oRyhNLHR5cGVvZiBiIT0ic3ltYm9sIj9iKyIiOmIseCkseCk7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IFM9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07ZnVuY3Rpb24gcShvKXt9Y2xhc3MgX3tjb25zdHJ1Y3Rvcih7Y2FwYWNpdHk6dCx0aW1lb3V0Om59PXt9KXtJKHRoaXMsImVudHJpZXMiLG5ldyBNYXApO0kodGhpcywibWV0YWRhdGEiLG5ldyBNYXApO0kodGhpcywiY2FwYWNpdHkiKTtJKHRoaXMsInRpbWVvdXQiKTt0aGlzLmNhcGFjaXR5PXR8fDFlNCx0aGlzLnRpbWVvdXQ9bnx8Uy5taW51dGV9Z2V0KHQsbil7Y29uc3QgZT10aGlzLmtleVRvQ2FjaGVLZXkodCksYz10aGlzLmVudHJpZXMuZ2V0KGUpLGk9dGhpcy5tZXRhZGF0YS5nZXQoZSk7cmV0dXJuKGM9PT12b2lkIDB8fGkmJihpPT1udWxsP3ZvaWQgMDppLmV4cGlyYXRpb24uZ2V0VGltZSgpKTxEYXRlLm5vdygpKSYmIShpIT1udWxsJiZpLmdlbmVyYXRpbmcpJiZuJiZ0aGlzLmdlbmVyYXRlKHQsbigpKSxjPT09dm9pZCAwJiZpJiZpLmxhc3RWYWx1ZSE9PXZvaWQgMD9pLmxhc3RWYWx1ZTpjfXNldCh0LG4pe2NvbnN0IGU9dGhpcy5rZXlUb0NhY2hlS2V5KHQpO3RoaXMubWV0YWRhdGEuc2V0KGUse2dlbmVyYXRpbmc6ITEsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCksbGFzdFZhbHVlOm59KSx0aGlzLmVudHJpZXMuc2V0KGUsbiksdGhpcy5tZXRhZGF0YS5zaXplPnRoaXMuY2FwYWNpdHkmJnRoaXMuZGVsZXRlT2xkZXN0RW50cnkoKX1jbGVhcigpe3RoaXMuZW50cmllcy5jbGVhcigpLFsuLi50aGlzLm1ldGFkYXRhLnZhbHVlcygpXS5mb3JFYWNoKHQ9PnQuZ2VuZXJhdGluZz0hMSl9Y2xlYXJLZXkodCl7dGhpcy5tZXRhZGF0YS5kZWxldGUodCksdGhpcy5lbnRyaWVzLmRlbGV0ZSh0KX1rZXlUb0NhY2hlS2V5KHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0KX1kZWxldGVPbGRlc3RFbnRyeSgpe2lmKHRoaXMubWV0YWRhdGEuc2l6ZTwxKXJldHVybjtjb25zdFt0XT1bLi4udGhpcy5tZXRhZGF0YS5lbnRyaWVzKCldLnJlZHVjZSgoW24sZV0sW2MsaV0pPT5pLmV4cGlyYXRpb24uZ2V0VGltZSgpPGUuZXhwaXJhdGlvbi5nZXRUaW1lKCk/W2MsaV06W24sZV0pO3RoaXMuY2xlYXJLZXkodCl9Z2VuZXJhdGUodCxuKXtjb25zdCBlPXRoaXMua2V5VG9DYWNoZUtleSh0KSxjPXRoaXMubWV0YWRhdGEuZ2V0KGUpfHx7fTt0aGlzLm1ldGFkYXRhLnNldChlLHsuLi5jLGdlbmVyYXRpbmc6ITAsZXhwaXJhdGlvbjpuZXcgRGF0ZShEYXRlLm5vdygpK3RoaXMudGltZW91dCl9KSxzZXRUaW1lb3V0KCgpPT57bi50aGVuKGk9Pntjb25zdCByPXRoaXMubWV0YWRhdGEuZ2V0KGUpOyEociE9bnVsbCYmci5nZW5lcmF0aW5nKXx8dGhpcy5zZXQodCxpKX0pfSwwKX19LyoqCiAqIExaRiBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIG1vZHVsZS4gUG9ydGVkIGZyb20gdGhlIEMKICogaW1wbGVtZW50YXRpb24gb2YgbGlibHpmLCBzcGVjZmljYWxseSBsemZfYy5jIGFuZCBsemZfZC5jCiAqIEBsaWNlbnNlIEJTRC0yLUNsYXVzZQogKi9mdW5jdGlvbiBLKG8pe3ZhciB0PW5ldyBVaW50OEFycmF5KG8pLG49W10sZT0wLGM9MDtkb3t2YXIgaT10W2UrK107aWYoaTwxPDw1KXtpZihpKyssZStpPnQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnB1dCIpO2Zvcig7aS0tOyluW2MrK109dFtlKytdfWVsc2V7dmFyIHI9aT4+NSxmPWMtKChpJjMxKTw8OCktMTtpZihlPj10Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtpZihyPT03JiYocis9dFtlKytdLGU+PXQubGVuZ3RoKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW5wdXQiKTtpZihmLT10W2UrK10sZjwwKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnB1dCIpO3IrPTI7ZG8gbltjKytdPW5bZisrXTt3aGlsZSgtLXIpfX13aGlsZShlPHQubGVuZ3RoKTtpZih0eXBlb2YgQnVmZmVyIT0idW5kZWZpbmVkIilyZXR1cm4gbmV3IEJ1ZmZlcihuKTt2YXIgdT1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7cmV0dXJuIHUuc2V0KG4pLHV9ZnVuY3Rpb24gTyhvKXt2YXIgdD0xNixuPTE8PHQsZT0xPDwxMyxjPSgxPDw4KSsoMTw8MyksaT0xPDw1O2Z1bmN0aW9uIHIodixUKXtyZXR1cm4gdltUXTw8OHx2W1QrMV19ZnVuY3Rpb24gZih2LFQsUCl7cmV0dXJuIHY8PDh8VFtQKzJdfWZ1bmN0aW9uIHUodil7cmV0dXJuIHYqNTA2ODMyODI5Pj4zMi10LTgmbi0xfWZvcih2YXIgcz1uZXcgVWludDhBcnJheShvKSxhPVtdLGQ9bmV3IFVpbnQzMkFycmF5KG4pLHk9cy5sZW5ndGgsaD0wLGc9cihzLGgpLHA9MSxsPTA7aDx5LTI7KXtnPWYoZyxvLGgpO3ZhciB6PXUoZyksbT1kW3pdO2Rbel09aDt2YXIgRTtpZihtPGgmJihFPWgtbS0xKTxlJiZtPjAmJnNbbSsyXT09c1toKzJdJiZzW20rMV09PXNbaCsxXSYmc1ttXT09c1toXSl7dmFyIHc9MixGPXktaC13O0Y9Rj5jP2M6RixhW3AtbC0xXT1sLTEmMjU1LGw9PTAmJihwLT0xKTtkbyB3Kys7d2hpbGUodzxGJiZzW20rd109PXNbaCt3XSk7aWYody09MixoKyssdzw3P2FbcCsrXT0oRT4+OCkrKHc8PDUpJjI1NTooYVtwKytdPShFPj44KSsoNzw8NSkmMjU1LGFbcCsrXT13LTcmMjU1KSxhW3ArK109RSYyNTUsbD0wLHArKyxoKz13KzEsaD49eS0yKWJyZWFrOy0taCwtLWgsZz1yKHMsaCksZz1mKGcscyxoKSxkW3UoZyldPWgrKyxnPWYoZyxzLGgpLGRbdShnKV09aCsrfWVsc2UgbCsrLGFbcCsrXT1zW2grK10sbD09aSYmKGFbcC1sLTFdPWwtMSYyNTUsbD0wLHArKyl9Zm9yKDtoPHk7KWwrKyxhW3ArK109c1toKytdLGw9PWkmJihhW3AtbC0xXT1sLTEmMjU1LGw9MCxwKyspO2lmKGwhPTAmJihhW3AtbC0xXT1sLTEmMjU1KSx0eXBlb2YgQnVmZmVyIT0idW5kZWZpbmVkIilyZXR1cm4gbmV3IEJ1ZmZlcihhKTt2YXIgVT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7cmV0dXJuIFUuc2V0KGEpLFV9dmFyIEI9e2RlY29tcHJlc3M6Syxjb21wcmVzczpPfTtjb25zdCBDPShvLHQpPT50PD1vP1tdOm5ldyBBcnJheSh0LW8pLmZpbGwoMCkubWFwKChuLGUpPT5lK28pLEE9ITA7ZnVuY3Rpb24gSChvKXtjb25zdCB0PWF0b2Iobyksbj10Lmxlbmd0aCxlPW5ldyBVaW50OEFycmF5KG4pO2ZvcihsZXQgYz0wO2M8bjtjKz0xKWVbY109dC5jaGFyQ29kZUF0KGMpO3JldHVybiBlLmJ1ZmZlcn1mdW5jdGlvbiBMKG8pe2NvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkobyk7bGV0IG49IiIsZT0wO2Zvcig7ZTx0Lmxlbmd0aCYmbi5zZWFyY2goL1tcclxuXURBVEFccyhcUyopXHMvaSk9PT0tMTtlKz0xKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFtlXSk7cmV0dXJue2JvZHk6by5zbGljZShlKSxoZWFkZXI6bi5yZXBsYWNlKC8jLiovZ2ksIiIpfX1mdW5jdGlvbiBWKG8pe2NvbnN0IG49bmV3IFVpbnQzMkFycmF5KG8sMCwyKVswXTtyZXR1cm4gbj09PTA/bmV3IEFycmF5QnVmZmVyKDApOkIuZGVjb21wcmVzcyhuZXcgVWludDhBcnJheShvLDgsbikpLmJ1ZmZlcn1mdW5jdGlvbiBrKG8pe2NvbnN0e2hlYWRlcjp0LGJvZHk6bn09TChvKSxlPS9WRVJTSU9OICguKikvaS5leGVjKHQpO2lmKGU9PT1udWxsKXRocm93IG5ldyBFcnJvcihgTWlzc2luZyB2ZXJzaW9uLiBIZWFkZXIgJHt0fWApO2NvbnN0IGM9ZVsxXSxpPS9GSUVMRFMgKC4qKS9pLmV4ZWModCk7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGZpZWxkcyIpO2NvbnN0IHI9aVsxXS5zcGxpdCgiICIpLGY9L1NJWkUgKC4qKS9pLmV4ZWModCk7aWYoIWYpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHNpemUiKTtjb25zdCB1PWZbMV0uc3BsaXQoIiAiKS5tYXAodj0+cGFyc2VJbnQodiwxMCkpLHM9L1RZUEUgKC4qKS9pLmV4ZWModCk7aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHR5cGUiKTtjb25zdCBhPXNbMV0uc3BsaXQoIiAiKSxkPS9DT1VOVCAoLiopL2kuZXhlYyh0KTtsZXQgeTtkJiYoeT1kWzFdLnNwbGl0KCIgIikubWFwKHY9PnBhcnNlSW50KHYsMTApKSk7Y29uc3QgaD15fHxyLm1hcCh2PT4xKSxnPS9XSURUSCAoLiopL2kuZXhlYyh0KTtpZighZyl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgd2lkdGgiKTtjb25zdCBwPXBhcnNlSW50KGdbMV0sMTApLGw9L0hFSUdIVCAoLiopL2kuZXhlYyh0KTtpZighbCl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgaGVpZ2h0Iik7Y29uc3Qgej1wYXJzZUludChsWzFdLDEwKSxtPS9QT0lOVFMgKC4qKS9pLmV4ZWModCk7bGV0IEU7bSYmKEU9cGFyc2VJbnQobVsxXSwxMCkpO2NvbnN0IHc9RXx8cCp6LEY9L0RBVEEgKC4qKS9pLmV4ZWModCk7aWYoIUYpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGRhdGEiKTtjb25zdCBVPUZbMV07cmV0dXJue2JvZHk6bixoZWFkZXI6e2NvdW50OmgsZGF0YTpVLGZpZWxkczpyLGhlaWdodDp6LHBvaW50czp3LHNpemU6dSx0eXBlOmEsdmVyc2lvbjpjLHdpZHRoOnB9fX1mdW5jdGlvbiBOKG8pe2NvbnN0IHQ9e307cmV0dXJuIG8uZmllbGRzLnJlZHVjZSgoe29mZnNldHM6bixzaXplOmV9LGMsaSk9PntsZXQgcj1lO3JldHVybiBjPT09IngiJiYobi54PXIpLGM9PT0ieSImJihuLnk9ciksYz09PSJ6IiYmKG4uej1yKSxjPT09InJnYiImJihuLnJnYj1yKSxjPT09InJnYmEiJiYobi5yZ2JhPXIpLGM9PT0iaW50ZW5zaXR5IiYmKG4uaW50ZW5zaXR5PXIpLG8uZGF0YT09PSJhc2NpaSI/cis9MTpvLmRhdGE9PT0iYmluYXJ5Ij9yKz1vLnNpemVbaV0qby5jb3VudFtpXTpvLmRhdGE9PT0iYmluYXJ5X2NvbXByZXNzZWQiJiYocis9by5zaXplW2ldKm8uY291bnRbaV0qby5wb2ludHMpLHtvZmZzZXRzOm4sc2l6ZTpyfX0se29mZnNldHM6dCxzaXplOjB9KX1mdW5jdGlvbiBEKG8pe2NvbnN0e2hlYWRlcjp0LGJvZHk6bn09ayhvKSx7b2Zmc2V0czplLHNpemU6Y309Tih0KTtsZXQgaTtlLnghPT12b2lkIDAmJmUueSE9PXZvaWQgMCYmZS56IT09dm9pZCAwJiYoaT1uZXcgRmxvYXQzMkFycmF5KHQucG9pbnRzKjMpKTtsZXQgcjsoZS5yZ2IhPT12b2lkIDB8fGUucmdiYSE9PXZvaWQgMCkmJihyPW5ldyBGbG9hdDMyQXJyYXkodC5wb2ludHMqNCkpO2xldCBmO2lmKGUuaW50ZW5zaXR5IT09dm9pZCAwJiYoZj1uZXcgRmxvYXQzMkFycmF5KHQucG9pbnRzKSksdC5kYXRhPT09ImFzY2lpIilTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLm5ldyBVaW50OEFycmF5KG4pKS5zcGxpdChgCmApLmZvckVhY2goKGEsZCk9Pntjb25zdCB5PWEuc3BsaXQoIiAiKTtpZihpIT09dm9pZCAwJiYoaVtkKjMrMF09cGFyc2VGbG9hdCh5W2UueHx8MF0pLGlbZCozKzFdPXBhcnNlRmxvYXQoeVtlLnl8fDBdKSxpW2QqMysyXT1wYXJzZUZsb2F0KHlbZS56fHwwXSkpLHIhPT12b2lkIDApe2NvbnN0IGg9bmV3IEludDMyQXJyYXkoW3BhcnNlSW50KHlbZS5yZ2J8fGUucmdiYXx8MF0sMTApXSksZz1uZXcgRGF0YVZpZXcoaC5idWZmZXIsMCk7cltkKjMrMF09Zy5nZXRVaW50OCgyKS8yNTUscltkKjMrMV09Zy5nZXRVaW50OCgxKS8yNTUscltkKjMrMl09Zy5nZXRVaW50OCgwKS8yNTV9ZiE9PXZvaWQgMCYmKGZbZF09cGFyc2VGbG9hdCh5W2UuaW50ZW5zaXR5fHwwXSkpfSk7ZWxzZSBpZih0LmRhdGE9PT0iYmluYXJ5Iil7Y29uc3QgdT1uZXcgRGF0YVZpZXcobik7QygwLHQucG9pbnRzKS5mb3JFYWNoKHM9Pntjb25zdCBhPWMqcztpZihpIT09dm9pZCAwJiYoaVtzKjMrMF09dS5nZXRGbG9hdDMyKGErKGUueHx8MCksQSksaVtzKjMrMV09dS5nZXRGbG9hdDMyKGErKGUueXx8MCksQSksaVtzKjMrMl09dS5nZXRGbG9hdDMyKGErKGUuenx8MCksQSkpLHIhPT12b2lkIDApe2NvbnN0IGQ9YSsoZS5yZ2J8fGUucmdiYXx8MCk7ZCsyPD11LmJ5dGVMZW5ndGgmJihyW3MqNCswXT11LmdldFVpbnQ4KGQrMikvMjU1LHJbcyo0KzFdPXUuZ2V0VWludDgoZCsxKS8yNTUscltzKjQrMl09dS5nZXRVaW50OChkKzApLzI1NSxyW3MqNCszXT0xKX1mIT09dm9pZCAwJiYoZltzXT11LmdldEZsb2F0MzIoYSsoZS5pbnRlbnNpdHl8fDApLEEpKX0pfWVsc2UgaWYodC5kYXRhPT09ImJpbmFyeV9jb21wcmVzc2VkIil7Y29uc3QgdT1WKG4pLHM9bmV3IERhdGFWaWV3KHUpO0MoMCx0LnBvaW50cykuZm9yRWFjaChhPT57aWYoaSE9PXZvaWQgMCYmKGlbYSozKzBdPXMuZ2V0RmxvYXQzMigoZS54fHwwKSthKjQsQSksaVthKjMrMV09cy5nZXRGbG9hdDMyKChlLnl8fDApK2EqNCxBKSxpW2EqMysyXT1zLmdldEZsb2F0MzIoKGUuenx8MCkrYSo0LEEpKSxyIT09dm9pZCAwKXtjb25zdCBkPShlLnJnYnx8ZS5yZ2JhfHwwKSthKjQ7ZCsyPD1zLmJ5dGVMZW5ndGgmJihyW2EqNCswXT1zLmdldFVpbnQ4KGQrMikvMjU1LHJbYSo0KzFdPXMuZ2V0VWludDgoZCsxKS8yNTUsclthKjQrMl09cy5nZXRVaW50OChkKzApLzI1NSxyW2EqNCszXT0xKX1mIT09dm9pZCAwJiYoZlthXT1zLmdldEZsb2F0MzIoKGUuaW50ZW5zaXR5fHwwKSthKjQsQSkpfSl9cmV0dXJue2NvbG9yczpyLGhlYWRlcjp0LGludGVuc2l0eTpmLHBvc2l0aW9uczppfX1mdW5jdGlvbiBYKG8pe3JldHVybiBEKEgobykpfWNvbnN0IFo9bmV3IF8oe2NhcGFjaXR5OjFlMyx0aW1lb3V0OjEqUy5taW51dGV9KTtvbm1lc3NhZ2U9YXN5bmMgbz0+e2NvbnN0e3VybDp0LGlkOm4scG9pbnRDbG91ZDplfT1vLmRhdGE7aWYodCl7Y29uc3QgYz1aLmdldCh0LGFzeW5jKCk9PkQoYXdhaXQgZmV0Y2godCx7bW9kZToiY29ycyJ9KS50aGVuKHI9PnIuYXJyYXlCdWZmZXIoKSkpKTtjJiZwb3N0TWVzc2FnZSh7dXJsOnQscGNkOmN9KX1pZihuJiZlKXtjb25zdCBjPVgoZSk7cG9zdE1lc3NhZ2Uoe2lkOm4scGNkOmN9KX19fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9UGNkTG9hZGVyV29ya2VyLWVhYWMwYjMxLmpzLm1hcAo=";typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs$3)],{type:"text/javascript;charset=utf-8"});distExports.RtcClient;distExports.RtcClientV1;distExports.RtcSignalingClient;distExports.createRtcStreamMessage;var lodash={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */lodash.exports;(function(o,s){(function(){var _,j="4.17.21",$=200,_e="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",et="Expected a function",tt="Invalid `variable` option passed into `_.template`",nt="__lodash_hash_undefined__",rt=500,ot="__lodash_placeholder__",ut=1,dt=2,Ut=4,st=1,ct=2,pt=1,Bt=2,Qt=4,gt=8,ft=16,Ft=32,yt=64,Ct=128,xt=256,ht=512,mt=30,It="...",vt=800,Tt=16,Ot=1,_t=2,Wt=3,bt=1/0,Jt=9007199254740991,Zt=17976931348623157e292,Vt=0/0,jt=4294967295,zt=jt-1,$t=jt>>>1,nn=[["ary",Ct],["bind",pt],["bindKey",Bt],["curry",gt],["curryRight",ft],["flip",ht],["partial",Ft],["partialRight",yt],["rearg",xt]],rn="[object Arguments]",Dt="[object Array]",wt="[object AsyncFunction]",Et="[object Boolean]",kt="[object Date]",Pt="[object DOMException]",Kt="[object Error]",Ht="[object Function]",on="[object GeneratorFunction]",sn="[object Map]",gn="[object Number]",Cn="[object Null]",In="[object Object]",Mn="[object Promise]",rr="[object Proxy]",An="[object RegExp]",Dn="[object Set]",Hn="[object String]",Fr="[object Symbol]",hr="[object Undefined]",Gr="[object WeakMap]",Co="[object WeakSet]",co="[object ArrayBuffer]",Jr="[object DataView]",xr="[object Float32Array]",ro="[object Float64Array]",er="[object Int8Array]",sr="[object Int16Array]",Xn="[object Int32Array]",gr="[object Uint8Array]",Yr="[object Uint8ClampedArray]",Wr="[object Uint16Array]",Pn="[object Uint32Array]",Yn=/\b__p \+= '';/g,$r=/\b(__p \+=) '' \+/g,Hr=/(__e\(.*?\)|\b__t\)) \+\n'';/g,uo=/&(?:amp|lt|gt|quot|#39);/g,Ws=/[&<>"']/g,ps=RegExp(uo.source),Oo=RegExp(Ws.source),Uo=/<%-([\s\S]+?)%>/g,hs=/<%([\s\S]+?)%>/g,mr=/<%=([\s\S]+?)%>/g,Qs=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Jn=/^\w*$/,At=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Lt=/[\\^$.*+?()[\]{}|]/g,qt=RegExp(Lt.source),ln=/^\s+/,Un=/\s/,hn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,bn=/\{\n\/\* \[wrapped with (.+)\] \*/,Vn=/,? & /,Qn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Fn=/[()=,{}\[\]\/\s]/,xn=/\\(\\)?/g,Kn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ur=/\w*$/,Nr=/^[-+]0x[0-9a-f]+$/i,Ir=/^0b[01]+$/i,jr=/^\[object .+?Constructor\]$/,Kr=/^0o[0-7]+$/i,Cr=/^(?:0|[1-9]\d*)$/,Rr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,vr=/($^)/,Zr=/['\n\r\u2028\u2029\\]/g,Dr="\\ud800-\\udfff",zo="\\u0300-\\u036f",Lr="\\ufe20-\\ufe2f",_i="\\u20d0-\\u20ff",Bo=zo+Lr+_i,Go="\\u2700-\\u27bf",$a="a-z\\xdf-\\xf6\\xf8-\\xff",Fo="\\xac\\xb1\\xd7\\xf7",Dl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ml="\\u2000-\\u206f",Al=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ys="A-Z\\xc0-\\xd6\\xd8-\\xde",Hs="\\ufe0e\\ufe0f",ks=Fo+Dl+Ml+Al,es="['’]",Yo="["+Dr+"]",Xs="["+ks+"]",fs="["+Bo+"]",bo="\\d+",xo="["+Go+"]",Io="["+$a+"]",Bs="[^"+Dr+ks+bo+Go+$a+Ys+"]",Rs="\\ud83c[\\udffb-\\udfff]",ts="(?:"+fs+"|"+Rs+")",Ol="[^"+Dr+"]",ns="(?:\\ud83c[\\udde6-\\uddff]){2}",_s="[\\ud800-\\udbff][\\udc00-\\udfff]",rs="["+Ys+"]",xl="\\u200d",Il="(?:"+Io+"|"+Bs+")",Ll="(?:"+rs+"|"+Bs+")",Ks="(?:"+es+"(?:d|ll|m|re|s|t|ve))?",qs="(?:"+es+"(?:D|LL|M|RE|S|T|VE))?",Cs=ts+"?",$s="["+Hs+"]?",Ho="(?:"+xl+"(?:"+[Ol,ns,_s].join("|")+")"+$s+Cs+")*",Pl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wo="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Ul=$s+Cs+Ho,Ss="(?:"+[xo,ns,_s].join("|")+")"+Ul,ku="(?:"+[Ol+fs+"?",fs,ns,_s,Yo].join("|")+")",zl=RegExp(es,"g"),_u=RegExp(fs,"g"),go=RegExp(Rs+"(?="+Rs+")|"+ku+Ul,"g"),ms=RegExp([rs+"?"+Io+"+"+Ks+"(?="+[Xs,rs,"$"].join("|")+")",Ll+"+"+qs+"(?="+[Xs,rs+Il,"$"].join("|")+")",rs+"?"+Il+"+"+Ks,rs+"+"+qs,wo,Pl,bo,Ss].join("|"),"g"),is=RegExp("["+xl+Dr+Bo+Hs+"]"),io=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Gl=-1,Vr={};Vr[xr]=Vr[ro]=Vr[er]=Vr[sr]=Vr[Xn]=Vr[gr]=Vr[Yr]=Vr[Wr]=Vr[Pn]=!0,Vr[rn]=Vr[Dt]=Vr[co]=Vr[Et]=Vr[Jr]=Vr[kt]=Vr[Kt]=Vr[Ht]=Vr[sn]=Vr[gn]=Vr[In]=Vr[An]=Vr[Dn]=Vr[Hn]=Vr[Gr]=!1;var Nt={};Nt[rn]=Nt[Dt]=Nt[co]=Nt[Jr]=Nt[Et]=Nt[kt]=Nt[xr]=Nt[ro]=Nt[er]=Nt[sr]=Nt[Xn]=Nt[sn]=Nt[gn]=Nt[In]=Nt[An]=Nt[Dn]=Nt[Hn]=Nt[Fr]=Nt[gr]=Nt[Yr]=Nt[Wr]=Nt[Pn]=!0,Nt[Kt]=Nt[Ht]=Nt[Gr]=!1;var Gt={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},an={"&":"&","<":"<",">":">",'"':""","'":"'"},cn={"&":"&","<":"<",">":">",""":'"',"'":"'"},mn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tn=parseFloat,fn=parseInt,vn=typeof commonjsGlobal$1=="object"&&commonjsGlobal$1&&commonjsGlobal$1.Object===Object&&commonjsGlobal$1,kn=typeof self=="object"&&self&&self.Object===Object&&self,Zn=vn||kn||Function("return this")(),zn=s&&!s.nodeType&&s,ir=zn&&!0&&o&&!o.nodeType&&o,Qr=ir&&ir.exports===zn,yr=Qr&&vn.process,cr=function(){try{var pn=ir&&ir.require&&ir.require("util").types;return pn||yr&&yr.binding&&yr.binding("util")}catch{}}(),qn=cr&&cr.isArrayBuffer,Mr=cr&&cr.isDate,oo=cr&&cr.isMap,DU=cr&&cr.isRegExp,MU=cr&&cr.isSet,AU=cr&&cr.isTypedArray;function Ro(pn,Nn,En){switch(En.length){case 0:return pn.call(Nn);case 1:return pn.call(Nn,En[0]);case 2:return pn.call(Nn,En[0],En[1]);case 3:return pn.call(Nn,En[0],En[1],En[2])}return pn.apply(Nn,En)}function Mp(pn,Nn,En,Ln){for(var or=-1,Sr=pn==null?0:pn.length;++or-1}function Cu(pn,Nn,En){for(var Ln=-1,or=pn==null?0:pn.length;++Ln-1;);return En}function GU(pn,Nn){for(var En=pn.length;En--&&ws(Nn,pn[En],0)>-1;);return En}function Gp(pn,Nn){for(var En=pn.length,Ln=0;En--;)pn[En]===Nn&&++Ln;return Ln}var Yp=Mu(Gt),Hp=Mu(an);function Xp(pn){return"\\"+mn[pn]}function Kp(pn,Nn){return pn==null?_:pn[Nn]}function Zs(pn){return is.test(pn)}function qp(pn){return io.test(pn)}function $p(pn){for(var Nn,En=[];!(Nn=pn.next()).done;)En.push(Nn.value);return En}function Iu(pn){var Nn=-1,En=Array(pn.size);return pn.forEach(function(Ln,or){En[++Nn]=[or,Ln]}),En}function YU(pn,Nn){return function(En){return pn(Nn(En))}}function ls(pn,Nn){for(var En=-1,Ln=pn.length,or=0,Sr=[];++En-1}function AQ(it,lt){var St=this.__data__,Mt=cu(St,it);return Mt<0?(++this.size,St.push([it,lt])):St[Mt][1]=lt,this}Xo.prototype.clear=wQ,Xo.prototype.delete=ZQ,Xo.prototype.get=DQ,Xo.prototype.has=MQ,Xo.prototype.set=AQ;function Ko(it){var lt=-1,St=it==null?0:it.length;for(this.clear();++lt=lt?it:lt)),it}function No(it,lt,St,Mt,Yt,tn){var dn,un=lt&ut,Rn=lt&dt,Wn=lt&Ut;if(St&&(dn=Yt?St(it,Mt,Yt,tn):St(it)),dn!==_)return dn;if(!_r(it))return it;var _n=ar(it);if(_n){if(dn=IB(it),!un)return po(it,dn)}else{var wn=no(it),jn=wn==Ht||wn==on;if(gs(it))return NF(it,un);if(wn==In||wn==rn||jn&&!Yt){if(dn=Rn||jn?{}:HF(it),!un)return Rn?WB(it,eB(dn,it)):NB(it,aF(dn,it))}else{if(!Nt[wn])return Yt?it:{};dn=jB(it,wn,un)}}tn||(tn=new Do);var Gn=tn.get(it);if(Gn)return Gn;tn.set(it,dn),yp(it)?it.forEach(function(nr){dn.add(No(nr,lt,St,nr,it,tn))}):Sp(it)&&it.forEach(function(nr,pr){dn.set(pr,No(nr,lt,St,pr,it,tn))});var tr=Wn?Rn?gU:FU:Rn?Qo:Xr,dr=_n?_:tr(it);return To(dr||it,function(nr,pr){dr&&(pr=nr,nr=it[pr]),Vl(dn,pr,No(nr,lt,St,pr,it,tn))}),dn}function tB(it){var lt=Xr(it);return function(St){return sF(St,it,lt)}}function sF(it,lt,St){var Mt=St.length;if(it==null)return!Mt;for(it=Tr(it);Mt--;){var Yt=St[Mt],tn=lt[Yt],dn=it[Yt];if(dn===_&&!(Yt in it)||!tn(dn))return!1}return!0}function lF(it,lt,St){if(typeof it!="function")throw new vo(et);return wl(function(){it.apply(_,St)},lt)}function Tl(it,lt,St,Mt){var Yt=-1,tn=Yl,dn=!0,un=it.length,Rn=[],Wn=lt.length;if(!un)return Rn;St&&(lt=kr(lt,So(St))),Mt?(tn=Cu,dn=!1):lt.length>=$&&(tn=Ql,dn=!1,lt=new Vs(lt));e:for(;++YtYt?0:Yt+St),Mt=Mt===_||Mt>Yt?Yt:lr(Mt),Mt<0&&(Mt+=Yt),Mt=St>Mt?0:Vp(Mt);St0&&St(un)?lt>1?qr(un,lt-1,St,Mt,Yt):ss(Yt,un):Mt||(Yt[Yt.length]=un)}return Yt}var Hu=ZF(),uF=ZF(!0);function jo(it,lt){return it&&Hu(it,lt,Xr)}function Xu(it,lt){return it&&uF(it,lt,Xr)}function Uu(it,lt){return as(lt,function(St){return ba(it[St])})}function Ts(it,lt){lt=Us(lt,it);for(var St=0,Mt=lt.length;it!=null&&Stlt}function iB(it,lt){return it!=null&&br.call(it,lt)}function oB(it,lt){return it!=null&< in Tr(it)}function aB(it,lt,St){return it>=eo(lt,St)&&it=120&&_n.length>=120)?new Vs(dn&&_n):_}_n=it[0];var wn=-1,jn=un[0];e:for(;++wn-1;)un!==it&&ru.call(un,Rn,1),ru.call(it,Rn,1);return it}function mF(it,lt){for(var St=it?lt.length:0,Mt=St-1;St--;){var Yt=lt[St];if(St==Mt||Yt!==tn){var tn=Yt;ga(Yt)?ru.call(it,Yt,1):aU(it,Yt)}}return it}function rU(it,lt){return it+au(nF()*(lt-it+1))}function BB(it,lt,St,Mt){for(var Yt=-1,tn=zr(ou((lt-it)/(St||1)),0),dn=En(tn);tn--;)dn[Mt?tn:++Yt]=it,it+=St;return dn}function iU(it,lt){var St="";if(!it||lt<1||lt>Jt)return St;do lt%2&&(St+=it),lt=au(lt/2),lt&&(it+=it);while(lt);return St}function ur(it,lt){return SU(qF(it,lt,fo),it+"")}function RB(it){return oF(Gs(it))}function SB(it,lt){var St=Gs(it);return yu(St,bs(lt,0,St.length))}function Wl(it,lt,St,Mt){if(!_r(it))return it;lt=Us(lt,it);for(var Yt=-1,tn=lt.length,dn=tn-1,un=it;un!=null&&++YtYt?0:Yt+lt),St=St>Yt?Yt:St,St<0&&(St+=Yt),Yt=lt>St?0:St-lt>>>0,lt>>>=0;for(var tn=En(Yt);++Mt>>1,dn=it[tn];dn!==null&&!yo(dn)&&(St?dn<=lt:dn=$){var Wn=lt?null:wB(it);if(Wn)return Xl(Wn);dn=!1,Yt=Ql,Rn=new Vs}else Rn=lt?[]:un;e:for(;++Mt=Mt?it:Wo(it,lt,St)}var JF=FQ||function(it){return Zn.clearTimeout(it)};function NF(it,lt){if(lt)return it.slice();var St=it.length,Mt=KU?KU(St):new it.constructor(St);return it.copy(Mt),Mt}function cU(it){var lt=new it.constructor(it.byteLength);return new tu(lt).set(new tu(it)),lt}function bB(it,lt){var St=lt?cU(it.buffer):it.buffer;return new it.constructor(St,it.byteOffset,it.byteLength)}function TB(it){var lt=new it.constructor(it.source,Ur.exec(it));return lt.lastIndex=it.lastIndex,lt}function vB(it){return El?Tr(El.call(it)):{}}function WF(it,lt){var St=lt?cU(it.buffer):it.buffer;return new it.constructor(St,it.byteOffset,it.length)}function kF(it,lt){if(it!==lt){var St=it!==_,Mt=it===null,Yt=it===it,tn=yo(it),dn=lt!==_,un=lt===null,Rn=lt===lt,Wn=yo(lt);if(!un&&!Wn&&!tn&&it>lt||tn&&dn&&Rn&&!un&&!Wn||Mt&&dn&&Rn||!St&&Rn||!Yt)return 1;if(!Mt&&!tn&&!Wn&&it=un)return Rn;var Wn=St[Mt];return Rn*(Wn=="desc"?-1:1)}}return it.index-lt.index}function _F(it,lt,St,Mt){for(var Yt=-1,tn=it.length,dn=St.length,un=-1,Rn=lt.length,Wn=zr(tn-dn,0),_n=En(Rn+Wn),wn=!Mt;++un1?St[Yt-1]:_,dn=Yt>2?St[2]:_;for(tn=it.length>3&&typeof tn=="function"?(Yt--,tn):_,dn&&so(St[0],St[1],dn)&&(tn=Yt<3?_:tn,Yt=1),lt=Tr(lt);++Mt-1?Yt[tn?lt[dn]:dn]:_}}function AF(it){return na(function(lt){var St=lt.length,Mt=St,Yt=Jo.prototype.thru;for(it&<.reverse();Mt--;){var tn=lt[Mt];if(typeof tn!="function")throw new vo(et);if(Yt&&!dn&&Su(tn)=="wrapper")var dn=new Jo([],!0)}for(Mt=dn?Mt:St;++Mt1&&Br.reverse(),_n&&Rnun))return!1;var Wn=tn.get(it),_n=tn.get(lt);if(Wn&&_n)return Wn==lt&&_n==it;var wn=-1,jn=!0,Gn=St&ct?new Vs:_;for(tn.set(it,lt),tn.set(lt,it);++wn1?"& ":"")+lt[Mt],lt=lt.join(St>2?", ":" "),it.replace(hn,`{ +/* [wrapped with `+lt+`] */ +`)}function PB(it){return ar(it)||Ns(it)||!!(eF&&it&&it[eF])}function ga(it,lt){var St=typeof it;return lt=lt??Jt,!!lt&&(St=="number"||St!="symbol"&&Cr.test(it))&&it>-1&&it%1==0&&it0){if(++lt>=vt)return arguments[0]}else lt=0;return it.apply(_,arguments)}}function yu(it,lt){var St=-1,Mt=it.length,Yt=Mt-1;for(lt=lt===_?Mt:lt;++St1?it[lt-1]:_;return St=typeof St=="function"?(it.pop(),St):_,dp(it,St)});function cp(it){var lt=en(it);return lt.__chain__=!0,lt}function n0(it,lt){return lt(it),it}function Eu(it,lt){return lt(it)}var r0=na(function(it){var lt=it.length,St=lt?it[0]:0,Mt=this.__wrapped__,Yt=function(tn){return Yu(tn,it)};return lt>1||this.__actions__.length||!(Mt instanceof fr)||!ga(St)?this.thru(Yt):(Mt=Mt.slice(St,+St+(lt?1:0)),Mt.__actions__.push({func:Eu,args:[Yt],thisArg:_}),new Jo(Mt,this.__chain__).thru(function(tn){return lt&&!tn.length&&tn.push(_),tn}))});function o0(){return cp(this)}function a0(){return new Jo(this.value(),this.__chain__)}function l0(){this.__values__===_&&(this.__values__=Ep(this.value()));var it=this.__index__>=this.__values__.length,lt=it?_:this.__values__[this.__index__++];return{done:it,value:lt}}function u0(){return this}function U0(it){for(var lt,St=this;St instanceof du;){var Mt=rp(St);Mt.__index__=0,Mt.__values__=_,lt?Yt.__wrapped__=Mt:lt=Mt;var Yt=Mt;St=St.__wrapped__}return Yt.__wrapped__=it,lt}function F0(){var it=this.__wrapped__;if(it instanceof fr){var lt=it;return this.__actions__.length&&(lt=new fr(this)),lt=lt.reverse(),lt.__actions__.push({func:Eu,args:[mU],thisArg:_}),new Jo(lt,this.__chain__)}return this.thru(mU)}function g0(){return TF(this.__wrapped__,this.__actions__)}var p0=hu(function(it,lt,St){br.call(it,St)?++it[St]:qo(it,St,1)});function h0(it,lt,St){var Mt=ar(it)?OU:nB;return St&&so(it,lt,St)&&(lt=_),Mt(it,$n(lt,3))}function Q0(it,lt){var St=ar(it)?as:cF;return St(it,$n(lt,3))}var f0=MF(ip),B0=MF(op);function S0(it,lt){return qr(Vu(it,lt),1)}function m0(it,lt){return qr(Vu(it,lt),bt)}function y0(it,lt,St){return St=St===_?1:lr(St),qr(Vu(it,lt),St)}function up(it,lt){var St=ar(it)?To:cs;return St(it,$n(lt,3))}function Up(it,lt){var St=ar(it)?Ap:dF;return St(it,$n(lt,3))}var E0=hu(function(it,lt,St){br.call(it,St)?it[St].push(lt):qo(it,St,[lt])});function V0(it,lt,St,Mt){it=ho(it)?it:Gs(it),St=St&&!Mt?lr(St):0;var Yt=it.length;return St<0&&(St=zr(Yt+St,0)),Nu(it)?St<=Yt&&it.indexOf(lt,St)>-1:!!Yt&&ws(it,lt,St)>-1}var b0=ur(function(it,lt,St){var Mt=-1,Yt=typeof lt=="function",tn=ho(it)?En(it.length):[];return cs(it,function(dn){tn[++Mt]=Yt?Ro(lt,dn,St):Jl(dn,lt,St)}),tn}),T0=hu(function(it,lt,St){qo(it,St,lt)});function Vu(it,lt){var St=ar(it)?kr:hF;return St(it,$n(lt,3))}function v0(it,lt,St,Mt){return it==null?[]:(ar(lt)||(lt=lt==null?[]:[lt]),St=Mt?_:St,ar(St)||(St=St==null?[]:[St]),RF(it,lt,St))}var N0=hu(function(it,lt,St){it[St?0:1].push(lt)},function(){return[[],[]]});function W0(it,lt,St){var Mt=ar(it)?wu:LU,Yt=arguments.length<3;return Mt(it,$n(lt,4),St,Yt,cs)}function k0(it,lt,St){var Mt=ar(it)?Op:LU,Yt=arguments.length<3;return Mt(it,$n(lt,4),St,Yt,dF)}function _0(it,lt){var St=ar(it)?as:cF;return St(it,vu($n(lt,3)))}function C0(it){var lt=ar(it)?oF:RB;return lt(it)}function w0(it,lt,St){(St?so(it,lt,St):lt===_)?lt=1:lt=lr(lt);var Mt=ar(it)?qQ:SB;return Mt(it,lt)}function Z0(it){var lt=ar(it)?$Q:yB;return lt(it)}function M0(it){if(it==null)return 0;if(ho(it))return Nu(it)?Ds(it):it.length;var lt=no(it);return lt==sn||lt==Dn?it.size:eU(it).length}function A0(it,lt,St){var Mt=ar(it)?Zu:EB;return St&&so(it,lt,St)&&(lt=_),Mt(it,$n(lt,3))}var x0=ur(function(it,lt){if(it==null)return[];var St=lt.length;return St>1&&so(it,lt[0],lt[1])?lt=[]:St>2&&so(lt[0],lt[1],lt[2])&&(lt=[lt[0]]),RF(it,qr(lt,1),[])}),bu=gQ||function(){return Zn.Date.now()};function I0(it,lt){if(typeof lt!="function")throw new vo(et);return it=lr(it),function(){if(--it<1)return lt.apply(this,arguments)}}function Fp(it,lt,St){return lt=St?_:lt,lt=it&<==null?it.length:lt,$o(it,Ct,_,_,_,_,lt)}function gp(it,lt){var St;if(typeof lt!="function")throw new vo(et);return it=lr(it),function(){return--it>0&&(St=lt.apply(this,arguments)),it<=1&&(lt=_),St}}var EU=ur(function(it,lt,St){var Mt=pt;if(St.length){var Yt=ls(St,Ps(EU));Mt|=Ft}return $o(it,Mt,lt,St,Yt)}),pp=ur(function(it,lt,St){var Mt=pt|Bt;if(St.length){var Yt=ls(St,Ps(pp));Mt|=Ft}return $o(lt,Mt,it,St,Yt)});function hp(it,lt,St){lt=St?_:lt;var Mt=$o(it,gt,_,_,_,_,_,lt);return Mt.placeholder=hp.placeholder,Mt}function Qp(it,lt,St){lt=St?_:lt;var Mt=$o(it,ft,_,_,_,_,_,lt);return Mt.placeholder=Qp.placeholder,Mt}function fp(it,lt,St){var Mt,Yt,tn,dn,un,Rn,Wn=0,_n=!1,wn=!1,jn=!0;if(typeof it!="function")throw new vo(et);lt=_o(lt)||0,_r(St)&&(_n=!!St.leading,wn="maxWait"in St,tn=wn?zr(_o(St.maxWait)||0,lt):tn,jn="trailing"in St?!!St.trailing:jn);function Gn(Or){var Ao=Mt,xa=Yt;return Mt=Yt=_,Wn=Or,dn=it.apply(xa,Ao),dn}function tr(Or){return Wn=Or,un=wl(pr,lt),_n?Gn(Or):dn}function dr(Or){var Ao=Or-Rn,xa=Or-Wn,Dp=lt-Ao;return wn?eo(Dp,tn-xa):Dp}function nr(Or){var Ao=Or-Rn,xa=Or-Wn;return Rn===_||Ao>=lt||Ao<0||wn&&xa>=tn}function pr(){var Or=bu();if(nr(Or))return Br(Or);un=wl(pr,dr(Or))}function Br(Or){return un=_,jn&&Mt?Gn(Or):(Mt=Yt=_,dn)}function Eo(){un!==_&&JF(un),Wn=0,Mt=Rn=Yt=un=_}function lo(){return un===_?dn:Br(bu())}function Vo(){var Or=bu(),Ao=nr(Or);if(Mt=arguments,Yt=this,Rn=Or,Ao){if(un===_)return tr(Rn);if(wn)return JF(un),un=wl(pr,lt),Gn(Rn)}return un===_&&(un=wl(pr,lt)),dn}return Vo.cancel=Eo,Vo.flush=lo,Vo}var j0=ur(function(it,lt){return lF(it,1,lt)}),L0=ur(function(it,lt,St){return lF(it,_o(lt)||0,St)});function z0(it){return $o(it,ht)}function Tu(it,lt){if(typeof it!="function"||lt!=null&&typeof lt!="function")throw new vo(et);var St=function(){var Mt=arguments,Yt=lt?lt.apply(this,Mt):Mt[0],tn=St.cache;if(tn.has(Yt))return tn.get(Yt);var dn=it.apply(this,Mt);return St.cache=tn.set(Yt,dn)||tn,dn};return St.cache=new(Tu.Cache||Ko),St}Tu.Cache=Ko;function vu(it){if(typeof it!="function")throw new vo(et);return function(){var lt=arguments;switch(lt.length){case 0:return!it.call(this);case 1:return!it.call(this,lt[0]);case 2:return!it.call(this,lt[0],lt[1]);case 3:return!it.call(this,lt[0],lt[1],lt[2])}return!it.apply(this,lt)}}function Y0(it){return gp(2,it)}var H0=VB(function(it,lt){lt=lt.length==1&&ar(lt[0])?kr(lt[0],So($n())):kr(qr(lt,1),So($n()));var St=lt.length;return ur(function(Mt){for(var Yt=-1,tn=eo(Mt.length,St);++Yt=lt}),Ns=FF(function(){return arguments}())?FF:function(it){return wr(it)&&br.call(it,"callee")&&!$U.call(it,"callee")},ar=En.isArray,US=qn?So(qn):lB;function ho(it){return it!=null&&Ju(it.length)&&!ba(it)}function Ar(it){return wr(it)&&ho(it)}function FS(it){return it===!0||it===!1||wr(it)&&ao(it)==Et}var gs=hQ||ZU,gS=Mr?So(Mr):dB;function pS(it){return wr(it)&&it.nodeType===1&&!Zl(it)}function hS(it){if(it==null)return!0;if(ho(it)&&(ar(it)||typeof it=="string"||typeof it.splice=="function"||gs(it)||zs(it)||Ns(it)))return!it.length;var lt=no(it);if(lt==sn||lt==Dn)return!it.size;if(Cl(it))return!eU(it).length;for(var St in it)if(br.call(it,St))return!1;return!0}function QS(it,lt){return Nl(it,lt)}function fS(it,lt,St){St=typeof St=="function"?St:_;var Mt=St?St(it,lt):_;return Mt===_?Nl(it,lt,_,St):!!Mt}function bU(it){if(!wr(it))return!1;var lt=ao(it);return lt==Kt||lt==Pt||typeof it.message=="string"&&typeof it.name=="string"&&!Zl(it)}function BS(it){return typeof it=="number"&&tF(it)}function ba(it){if(!_r(it))return!1;var lt=ao(it);return lt==Ht||lt==on||lt==wt||lt==rr}function Rp(it){return typeof it=="number"&&it==lr(it)}function Ju(it){return typeof it=="number"&&it>-1&&it%1==0&&it<=Jt}function _r(it){var lt=typeof it;return it!=null&&(lt=="object"||lt=="function")}function wr(it){return it!=null&&typeof it=="object"}var Sp=oo?So(oo):uB;function RS(it,lt){return it===lt||$u(it,lt,hU(lt))}function SS(it,lt,St){return St=typeof St=="function"?St:_,$u(it,lt,hU(lt),St)}function mS(it){return mp(it)&&it!=+it}function yS(it){if(YB(it))throw new or(_e);return gF(it)}function ES(it){return it===null}function VS(it){return it==null}function mp(it){return typeof it=="number"||wr(it)&&ao(it)==gn}function Zl(it){if(!wr(it)||ao(it)!=In)return!1;var lt=nu(it);if(lt===null)return!0;var St=br.call(lt,"constructor")&<.constructor;return typeof St=="function"&&St instanceof St&&_d.call(St)==cQ}var TU=DU?So(DU):UB;function bS(it){return Rp(it)&&it>=-Jt&&it<=Jt}var yp=MU?So(MU):FB;function Nu(it){return typeof it=="string"||!ar(it)&&wr(it)&&ao(it)==Hn}function yo(it){return typeof it=="symbol"||wr(it)&&ao(it)==Fr}var zs=AU?So(AU):gB;function TS(it){return it===_}function vS(it){return wr(it)&&no(it)==Gr}function JS(it){return wr(it)&&ao(it)==Co}var NS=Ru(tU),WS=Ru(function(it,lt){return it<=lt});function Ep(it){if(!it)return[];if(ho(it))return Nu(it)?Zo(it):po(it);if(Bl&&it[Bl])return $p(it[Bl]());var lt=no(it),St=lt==sn?Iu:lt==Dn?Xl:Gs;return St(it)}function _a(it){if(!it)return it===0?it:0;if(it=_o(it),it===bt||it===-bt){var lt=it<0?-1:1;return lt*Zt}return it===it?it:0}function lr(it){var lt=_a(it),St=lt%1;return lt===lt?St?lt-St:lt:0}function Vp(it){return it?bs(lr(it),0,jt):0}function _o(it){if(typeof it=="number")return it;if(yo(it))return Vt;if(_r(it)){var lt=typeof it.valueOf=="function"?it.valueOf():it;it=_r(lt)?lt+"":lt}if(typeof it!="string")return it===0?it:+it;it=PU(it);var St=Ir.test(it);return St||Kr.test(it)?fn(it.slice(2),St?2:8):Nr.test(it)?Vt:+it}function bp(it){return Lo(it,Qo(it))}function kS(it){return it?bs(lr(it),-Jt,Jt):it===0?it:0}function Er(it){return it==null?"":mo(it)}var _S=js(function(it,lt){if(Cl(lt)||ho(lt)){Lo(lt,Xr(lt),it);return}for(var St in lt)br.call(lt,St)&&Vl(it,St,lt[St])}),Tp=js(function(it,lt){Lo(lt,Qo(lt),it)}),Wu=js(function(it,lt,St,Mt){Lo(lt,Qo(lt),it,Mt)}),CS=js(function(it,lt,St,Mt){Lo(lt,Xr(lt),it,Mt)}),wS=na(Yu);function ZS(it,lt){var St=Is(it);return lt==null?St:aF(St,lt)}var DS=ur(function(it,lt){it=Tr(it);var St=-1,Mt=lt.length,Yt=Mt>2?lt[2]:_;for(Yt&&so(lt[0],lt[1],Yt)&&(Mt=1);++St1),tn}),Lo(it,gU(it),St),Mt&&(St=No(St,ut|dt|Ut,ZB));for(var Yt=lt.length;Yt--;)aU(St,lt[Yt]);return St});function rm(it,lt){return Jp(it,vu($n(lt)))}var im=na(function(it,lt){return it==null?{}:QB(it,lt)});function Jp(it,lt){if(it==null)return{};var St=kr(gU(it),function(Mt){return[Mt]});return lt=$n(lt),SF(it,St,function(Mt,Yt){return lt(Mt,Yt[0])})}function om(it,lt,St){lt=Us(lt,it);var Mt=-1,Yt=lt.length;for(Yt||(Yt=1,it=_);++Mtlt){var Mt=it;it=lt,lt=Mt}if(St||it%1||lt%1){var Yt=nF();return eo(it+Yt*(lt-it+Tn("1e-"+((Yt+"").length-1))),lt)}return rU(it,lt)}var hm=Ls(function(it,lt,St){return lt=lt.toLowerCase(),it+(St?kp(lt):lt)});function kp(it){return NU(Er(it).toLowerCase())}function _p(it){return it=Er(it),it&&it.replace(Rr,Yp).replace(_u,"")}function Qm(it,lt,St){it=Er(it),lt=mo(lt);var Mt=it.length;St=St===_?Mt:bs(lr(St),0,Mt);var Yt=St;return St-=lt.length,St>=0&&it.slice(St,Yt)==lt}function fm(it){return it=Er(it),it&&Oo.test(it)?it.replace(Ws,Hp):it}function Bm(it){return it=Er(it),it&&qt.test(it)?it.replace(Lt,"\\$&"):it}var Rm=Ls(function(it,lt,St){return it+(St?"-":"")+lt.toLowerCase()}),Sm=Ls(function(it,lt,St){return it+(St?" ":"")+lt.toLowerCase()}),mm=DF("toLowerCase");function ym(it,lt,St){it=Er(it),lt=lr(lt);var Mt=lt?Ds(it):0;if(!lt||Mt>=lt)return it;var Yt=(lt-Mt)/2;return Bu(au(Yt),St)+it+Bu(ou(Yt),St)}function Em(it,lt,St){it=Er(it),lt=lr(lt);var Mt=lt?Ds(it):0;return lt&&Mt>>0,St?(it=Er(it),it&&(typeof lt=="string"||lt!=null&&!TU(lt))&&(lt=mo(lt),!lt&&Zs(it))?Fs(Zo(it),0,St):it.split(lt,St)):[]}var Wm=Ls(function(it,lt,St){return it+(St?" ":"")+NU(lt)});function km(it,lt,St){return it=Er(it),St=St==null?0:bs(lr(St),0,it.length),lt=mo(lt),it.slice(St,St+lt.length)==lt}function _m(it,lt,St){var Mt=en.templateSettings;St&&so(it,lt,St)&&(lt=_),it=Er(it),lt=Wu({},lt,Mt,LF);var Yt=Wu({},lt.imports,Mt.imports,LF),tn=Xr(Yt),dn=xu(Yt,tn),un,Rn,Wn=0,_n=lt.interpolate||vr,wn="__p += '",jn=ju((lt.escape||vr).source+"|"+_n.source+"|"+(_n===mr?Kn:vr).source+"|"+(lt.evaluate||vr).source+"|$","g"),Gn="//# sourceURL="+(br.call(lt,"sourceURL")?(lt.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Gl+"]")+` +`;it.replace(jn,function(nr,pr,Br,Eo,lo,Vo){return Br||(Br=Eo),wn+=it.slice(Wn,Vo).replace(Zr,Xp),pr&&(un=!0,wn+=`' + +__e(`+pr+`) + +'`),lo&&(Rn=!0,wn+=`'; +`+lo+`; +__p += '`),Br&&(wn+=`' + +((__t = (`+Br+`)) == null ? '' : __t) + +'`),Wn=Vo+nr.length,nr}),wn+=`'; +`;var tr=br.call(lt,"variable")&<.variable;if(!tr)wn=`with (obj) { +`+wn+` +} +`;else if(Fn.test(tr))throw new or(tt);wn=(Rn?wn.replace(Yn,""):wn).replace($r,"$1").replace(Hr,"$1;"),wn="function("+(tr||"obj")+`) { +`+(tr?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(un?", __e = _.escape":"")+(Rn?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+wn+`return __p +}`;var dr=wp(function(){return Sr(tn,Gn+"return "+wn).apply(_,dn)});if(dr.source=wn,bU(dr))throw dr;return dr}function Cm(it){return Er(it).toLowerCase()}function wm(it){return Er(it).toUpperCase()}function Zm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return PU(it);if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=Zo(lt),tn=zU(Mt,Yt),dn=GU(Mt,Yt)+1;return Fs(Mt,tn,dn).join("")}function Dm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return it.slice(0,HU(it)+1);if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=GU(Mt,Zo(lt))+1;return Fs(Mt,0,Yt).join("")}function Mm(it,lt,St){if(it=Er(it),it&&(St||lt===_))return it.replace(ln,"");if(!it||!(lt=mo(lt)))return it;var Mt=Zo(it),Yt=zU(Mt,Zo(lt));return Fs(Mt,Yt).join("")}function Am(it,lt){var St=mt,Mt=It;if(_r(lt)){var Yt="separator"in lt?lt.separator:Yt;St="length"in lt?lr(lt.length):St,Mt="omission"in lt?mo(lt.omission):Mt}it=Er(it);var tn=it.length;if(Zs(it)){var dn=Zo(it);tn=dn.length}if(St>=tn)return it;var un=St-Ds(Mt);if(un<1)return Mt;var Rn=dn?Fs(dn,0,un).join(""):it.slice(0,un);if(Yt===_)return Rn+Mt;if(dn&&(un+=Rn.length-un),TU(Yt)){if(it.slice(un).search(Yt)){var Wn,_n=Rn;for(Yt.global||(Yt=ju(Yt.source,Er(Ur.exec(Yt))+"g")),Yt.lastIndex=0;Wn=Yt.exec(_n);)var wn=Wn.index;Rn=Rn.slice(0,wn===_?un:wn)}}else if(it.indexOf(mo(Yt),un)!=un){var jn=Rn.lastIndexOf(Yt);jn>-1&&(Rn=Rn.slice(0,jn))}return Rn+Mt}function Om(it){return it=Er(it),it&&ps.test(it)?it.replace(uo,nQ):it}var xm=Ls(function(it,lt,St){return it+(St?" ":"")+lt.toUpperCase()}),NU=DF("toUpperCase");function Cp(it,lt,St){return it=Er(it),lt=St?_:lt,lt===_?qp(it)?oQ(it):jp(it):it.match(lt)||[]}var wp=ur(function(it,lt){try{return Ro(it,_,lt)}catch(St){return bU(St)?St:new or(St)}}),Im=na(function(it,lt){return To(lt,function(St){St=Po(St),qo(it,St,EU(it[St],it))}),it});function jm(it){var lt=it==null?0:it.length,St=$n();return it=lt?kr(it,function(Mt){if(typeof Mt[1]!="function")throw new vo(et);return[St(Mt[0]),Mt[1]]}):[],ur(function(Mt){for(var Yt=-1;++YtJt)return[];var St=jt,Mt=eo(it,jt);lt=$n(lt),it-=jt;for(var Yt=Ou(Mt,lt);++St0||lt<0)?new fr(St):(it<0?St=St.takeRight(-it):it&&(St=St.drop(it)),lt!==_&&(lt=lr(lt),St=lt<0?St.dropRight(-lt):St.take(lt-it)),St)},fr.prototype.takeRightWhile=function(it){return this.reverse().takeWhile(it).reverse()},fr.prototype.toArray=function(){return this.take(jt)},jo(fr.prototype,function(it,lt){var St=/^(?:filter|find|map|reject)|While$/.test(lt),Mt=/^(?:head|last)$/.test(lt),Yt=en[Mt?"take"+(lt=="last"?"Right":""):lt],tn=Mt||/^find/.test(lt);Yt&&(en.prototype[lt]=function(){var dn=this.__wrapped__,un=Mt?[1]:arguments,Rn=dn instanceof fr,Wn=un[0],_n=Rn||ar(dn),wn=function(pr){var Br=Yt.apply(en,ss([pr],un));return Mt&&jn?Br[0]:Br};_n&&St&&typeof Wn=="function"&&Wn.length!=1&&(Rn=_n=!1);var jn=this.__chain__,Gn=!!this.__actions__.length,tr=tn&&!jn,dr=Rn&&!Gn;if(!tn&&_n){dn=dr?dn:new fr(this);var nr=it.apply(dn,un);return nr.__actions__.push({func:Eu,args:[wn],thisArg:_}),new Jo(nr,jn)}return tr&&dr?it.apply(this,un):(nr=this.thru(wn),tr?Mt?nr.value()[0]:nr.value():nr)})}),To(["pop","push","shift","sort","splice","unshift"],function(it){var lt=Kl[it],St=/^(?:push|sort|unshift)$/.test(it)?"tap":"thru",Mt=/^(?:pop|shift)$/.test(it);en.prototype[it]=function(){var Yt=arguments;if(Mt&&!this.__chain__){var tn=this.value();return lt.apply(ar(tn)?tn:[],Yt)}return this[St](function(dn){return lt.apply(ar(dn)?dn:[],Yt)})}}),jo(fr.prototype,function(it,lt){var St=en[lt];if(St){var Mt=St.name+"";br.call(xs,Mt)||(xs[Mt]=[]),xs[Mt].push({name:lt,func:St})}}),xs[Qu(_,Bt).name]=[{name:"wrapper",func:_}],fr.prototype.clone=TQ,fr.prototype.reverse=vQ,fr.prototype.value=JQ,en.prototype.at=r0,en.prototype.chain=o0,en.prototype.commit=a0,en.prototype.next=l0,en.prototype.plant=U0,en.prototype.reverse=F0,en.prototype.toJSON=en.prototype.valueOf=en.prototype.value=g0,en.prototype.first=en.prototype.head,Bl&&(en.prototype[Bl]=u0),en},Ms=aQ();ir?((ir.exports=Ms)._=Ms,zn._=Ms):Zn._=Ms}).call(commonjsGlobal$1)})(lodash,lodash.exports);lodash.exports;var lib={},uaParser_min={exports:{}};(function(o,s){(function(_,j){var $="1.0.41",_e="",et="?",tt="function",nt="undefined",rt="object",ot="string",ut="major",dt="model",Ut="name",st="type",ct="vendor",pt="version",Bt="architecture",Qt="console",gt="mobile",ft="tablet",Ft="smarttv",yt="wearable",Ct="embedded",xt=500,ht="Amazon",mt="Apple",It="ASUS",vt="BlackBerry",Tt="Browser",Ot="Chrome",_t="Edge",Wt="Firefox",bt="Google",Jt="Honor",Zt="Huawei",Vt="Lenovo",jt="LG",zt="Microsoft",$t="Motorola",nn="Nvidia",rn="OnePlus",Dt="Opera",wt="OPPO",Et="Samsung",kt="Sharp",Pt="Sony",Kt="Xiaomi",Ht="Zebra",on="Facebook",sn="Chromium OS",gn="Mac OS",Cn=" Browser",In=function(er,sr){var Xn={};for(var gr in er)sr[gr]&&sr[gr].length%2===0?Xn[gr]=sr[gr].concat(er[gr]):Xn[gr]=er[gr];return Xn},Mn=function(er){for(var sr={},Xn=0;Xn0?Pn.length===2?typeof Pn[1]==tt?this[Pn[0]]=Pn[1].call(this,$r):this[Pn[0]]=Pn[1]:Pn.length===3?typeof Pn[1]===tt&&!(Pn[1].exec&&Pn[1].test)?this[Pn[0]]=$r?Pn[1].call(this,$r,Pn[2]):j:this[Pn[0]]=$r?$r.replace(Pn[1],Pn[2]):j:Pn.length===4&&(this[Pn[0]]=$r?Pn[3].call(this,$r.replace(Pn[1],Pn[2])):j):this[Pn]=$r||j;Xn+=2}},hr=function(er,sr){for(var Xn in sr)if(typeof sr[Xn]===rt&&sr[Xn].length>0){for(var gr=0;gr2&&(Yn[dt]="iPad",Yn[st]=ft),Yn},this.getEngine=function(){var Yn={};return Yn[Ut]=j,Yn[pt]=j,Fr.call(Yn,gr,Wr.engine),Yn},this.getOS=function(){var Yn={};return Yn[Ut]=j,Yn[pt]=j,Fr.call(Yn,gr,Wr.os),Pn&&!Yn[Ut]&&Yr&&Yr.platform&&Yr.platform!="Unknown"&&(Yn[Ut]=Yr.platform.replace(/chrome os/i,sn).replace(/macos/i,gn)),Yn},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}},this.getUA=function(){return gr},this.setUA=function(Yn){return gr=typeof Yn===ot&&Yn.length>xt?Hn(Yn,xt):Yn,this},this.setUA(gr),this};Jr.VERSION=$,Jr.BROWSER=Mn([Ut,pt,ut]),Jr.CPU=Mn([Bt]),Jr.DEVICE=Mn([dt,ct,st,Qt,gt,Ft,ft,yt,Ct]),Jr.ENGINE=Jr.OS=Mn([Ut,pt]),o.exports&&(s=o.exports=Jr),s.UAParser=Jr;var xr=typeof _!==nt&&(_.jQuery||_.Zepto);if(xr&&!xr.ua){var ro=new Jr;xr.ua=ro.getResult(),xr.ua.get=function(){return ro.getUA()},xr.ua.set=function(er){ro.setUA(er);var sr=ro.getResult();for(var Xn in sr)xr.ua[Xn]=sr[Xn]}}})(typeof window=="object"?window:commonjsGlobal$1)})(uaParser_min,uaParser_min.exports);var uaParser_minExports=uaParser_min.exports;Object.defineProperty(lib,"__esModule",{value:!0});function _interopDefault(o){return o&&typeof o=="object"&&"default"in o?o.default:o}var React=reactExports,React__default=_interopDefault(React),UAParser=uaParser_minExports,ClientUAInstance=new UAParser,browser=ClientUAInstance.getBrowser(),cpu=ClientUAInstance.getCPU(),device=ClientUAInstance.getDevice(),engine=ClientUAInstance.getEngine(),os=ClientUAInstance.getOS(),ua=ClientUAInstance.getUA(),setUa=function o(s){return ClientUAInstance.setUA(s)},parseUserAgent=function o(s){if(!s){console.error("No userAgent string was provided");return}var _=new UAParser(s);return{UA:_,browser:_.getBrowser(),cpu:_.getCPU(),device:_.getDevice(),engine:_.getEngine(),os:_.getOS(),ua:_.getUA(),setUserAgent:function($){return _.setUA($)}}},UAHelper=Object.freeze({ClientUAInstance,browser,cpu,device,engine,os,ua,setUa,parseUserAgent});function ownKeys(o,s){var _=Object.keys(o);if(Object.getOwnPropertySymbols){var j=Object.getOwnPropertySymbols(o);s&&(j=j.filter(function($){return Object.getOwnPropertyDescriptor(o,$).enumerable})),_.push.apply(_,j)}return _}function _objectSpread2(o){for(var s=1;s=0)&&(_[$]=o[$]);return _}function _objectWithoutProperties(o,s){if(o==null)return{};var _=_objectWithoutPropertiesLoose(o,s),j,$;if(Object.getOwnPropertySymbols){var _e=Object.getOwnPropertySymbols(o);for($=0;$<_e.length;$++)j=_e[$],!(s.indexOf(j)>=0)&&Object.prototype.propertyIsEnumerable.call(o,j)&&(_[j]=o[j])}return _}function _assertThisInitialized(o){if(o===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return o}function _possibleConstructorReturn(o,s){if(s&&(typeof s=="object"||typeof s=="function"))return s;if(s!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(o)}function _slicedToArray(o,s){return _arrayWithHoles(o)||_iterableToArrayLimit(o,s)||_unsupportedIterableToArray(o,s)||_nonIterableRest()}function _arrayWithHoles(o){if(Array.isArray(o))return o}function _iterableToArrayLimit(o,s){var _=o==null?null:typeof Symbol<"u"&&o[Symbol.iterator]||o["@@iterator"];if(_!=null){var j=[],$=!0,_e=!1,et,tt;try{for(_=_.call(o);!($=(et=_.next()).done)&&(j.push(et.value),!(s&&j.length===s));$=!0);}catch(nt){_e=!0,tt=nt}finally{try{!$&&_.return!=null&&_.return()}finally{if(_e)throw tt}}return j}}function _unsupportedIterableToArray(o,s){if(o){if(typeof o=="string")return _arrayLikeToArray(o,s);var _=Object.prototype.toString.call(o).slice(8,-1);if(_==="Object"&&o.constructor&&(_=o.constructor.name),_==="Map"||_==="Set")return Array.from(o);if(_==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(_))return _arrayLikeToArray(o,s)}}function _arrayLikeToArray(o,s){(s==null||s>o.length)&&(s=o.length);for(var _=0,j=new Array(s);_1&&arguments[1]!==void 0?arguments[1]:"none";return s||_},getNavigatorInstance=function o(){return typeof window<"u"&&(window.navigator||navigator)?window.navigator||navigator:!1},isIOS13Check=function o(s){var _=getNavigatorInstance();return _&&_.platform&&(_.platform.indexOf(s)!==-1||_.platform==="MacIntel"&&_.maxTouchPoints>1&&!window.MSStream)},browserPayload=function o(s,_,j,$,_e){return{isBrowser:s,browserMajorVersion:setDefaults(_.major),browserFullVersion:setDefaults(_.version),browserName:setDefaults(_.name),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(_e)}},mobilePayload=function o(s,_,j,$){return _objectSpread2({},s,{vendor:setDefaults(_.vendor),model:setDefaults(_.model),os:setDefaults(j.name),osVersion:setDefaults(j.version),ua:setDefaults($)})},smartTvPayload=function o(s,_,j,$){return{isSmartTV:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},consolePayload=function o(s,_,j,$){return{isConsole:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},wearablePayload=function o(s,_,j,$){return{isWearable:s,engineName:setDefaults(_.name),engineVersion:setDefaults(_.version),osName:setDefaults(j.name),osVersion:setDefaults(j.version),userAgent:setDefaults($)}},embeddedPayload=function o(s,_,j,$,_e){return{isEmbedded:s,vendor:setDefaults(_.vendor),model:setDefaults(_.model),engineName:setDefaults(j.name),engineVersion:setDefaults(j.version),osName:setDefaults($.name),osVersion:setDefaults($.version),userAgent:setDefaults(_e)}};function deviceDetect(o){var s=o?parseUserAgent(o):UAHelper,_=s.device,j=s.browser,$=s.engine,_e=s.os,et=s.ua,tt=checkDeviceType(_.type),nt=tt.isBrowser,rt=tt.isMobile,ot=tt.isTablet,ut=tt.isSmartTV,dt=tt.isConsole,Ut=tt.isWearable,st=tt.isEmbedded;if(nt)return browserPayload(nt,j,$,_e,et);if(ut)return smartTvPayload(ut,$,_e,et);if(dt)return consolePayload(dt,$,_e,et);if(rt||ot)return mobilePayload(tt,_,_e,et);if(Ut)return wearablePayload(Ut,$,_e,et);if(st)return embeddedPayload(st,_,$,_e,et)}var isMobileType=function o(s){var _=s.type;return _===DeviceTypes.Mobile},isTabletType=function o(s){var _=s.type;return _===DeviceTypes.Tablet},isMobileAndTabletType=function o(s){var _=s.type;return _===DeviceTypes.Mobile||_===DeviceTypes.Tablet},isSmartTVType=function o(s){var _=s.type;return _===DeviceTypes.SmartTv},isBrowserType=function o(s){var _=s.type;return _===DeviceTypes.Browser},isWearableType=function o(s){var _=s.type;return _===DeviceTypes.Wearable},isConsoleType=function o(s){var _=s.type;return _===DeviceTypes.Console},isEmbeddedType=function o(s){var _=s.type;return _===DeviceTypes.Embedded},getMobileVendor=function o(s){var _=s.vendor;return setDefaults(_)},getMobileModel=function o(s){var _=s.model;return setDefaults(_)},getDeviceType=function o(s){var _=s.type;return setDefaults(_,"browser")},isAndroidType=function o(s){var _=s.name;return _===OsTypes.Android},isWindowsType=function o(s){var _=s.name;return _===OsTypes.Windows},isMacOsType=function o(s){var _=s.name;return _===OsTypes.MAC_OS},isWinPhoneType=function o(s){var _=s.name;return _===OsTypes.WindowsPhone},isIOSType=function o(s){var _=s.name;return _===OsTypes.IOS},getOsVersion=function o(s){var _=s.version;return setDefaults(_)},getOsName=function o(s){var _=s.name;return setDefaults(_)},isChromeType=function o(s){var _=s.name;return _===BrowserTypes.Chrome},isFirefoxType=function o(s){var _=s.name;return _===BrowserTypes.Firefox},isChromiumType=function o(s){var _=s.name;return _===BrowserTypes.Chromium},isEdgeType=function o(s){var _=s.name;return _===BrowserTypes.Edge},isYandexType=function o(s){var _=s.name;return _===BrowserTypes.Yandex},isSafariType=function o(s){var _=s.name;return _===BrowserTypes.Safari||_===BrowserTypes.MobileSafari},isMobileSafariType=function o(s){var _=s.name;return _===BrowserTypes.MobileSafari},isOperaType=function o(s){var _=s.name;return _===BrowserTypes.Opera},isIEType=function o(s){var _=s.name;return _===BrowserTypes.InternetExplorer||_===BrowserTypes.Ie},isMIUIType=function o(s){var _=s.name;return _===BrowserTypes.MIUI},isSamsungBrowserType=function o(s){var _=s.name;return _===BrowserTypes.SamsungBrowser},getBrowserFullVersion=function o(s){var _=s.version;return setDefaults(_)},getBrowserVersion=function o(s){var _=s.major;return setDefaults(_)},getBrowserName=function o(s){var _=s.name;return setDefaults(_)},getEngineName=function o(s){var _=s.name;return setDefaults(_)},getEngineVersion=function o(s){var _=s.version;return setDefaults(_)},isElectronType=function o(){var s=getNavigatorInstance(),_=s&&s.userAgent&&s.userAgent.toLowerCase();return typeof _=="string"?/electron/.test(_):!1},isEdgeChromiumType=function o(s){return typeof s=="string"&&s.indexOf("Edg/")!==-1},getIOS13=function o(){var s=getNavigatorInstance();return s&&(/iPad|iPhone|iPod/.test(s.platform)||s.platform==="MacIntel"&&s.maxTouchPoints>1)&&!window.MSStream},getIPad13=function o(){return isIOS13Check("iPad")},getIphone13=function o(){return isIOS13Check("iPhone")},getIPod13=function o(){return isIOS13Check("iPod")},getUseragent=function o(s){return setDefaults(s)};function buildSelectorsObject(o){var s=o||UAHelper,_=s.device,j=s.browser,$=s.os,_e=s.engine,et=s.ua;return{isSmartTV:isSmartTVType(_),isConsole:isConsoleType(_),isWearable:isWearableType(_),isEmbedded:isEmbeddedType(_),isMobileSafari:isMobileSafariType(j)||getIPad13(),isChromium:isChromiumType(j),isMobile:isMobileAndTabletType(_)||getIPad13(),isMobileOnly:isMobileType(_),isTablet:isTabletType(_)||getIPad13(),isBrowser:isBrowserType(_),isDesktop:isBrowserType(_),isAndroid:isAndroidType($),isWinPhone:isWinPhoneType($),isIOS:isIOSType($)||getIPad13(),isChrome:isChromeType(j),isFirefox:isFirefoxType(j),isSafari:isSafariType(j),isOpera:isOperaType(j),isIE:isIEType(j),osVersion:getOsVersion($),osName:getOsName($),fullBrowserVersion:getBrowserFullVersion(j),browserVersion:getBrowserVersion(j),browserName:getBrowserName(j),mobileVendor:getMobileVendor(_),mobileModel:getMobileModel(_),engineName:getEngineName(_e),engineVersion:getEngineVersion(_e),getUA:getUseragent(et),isEdge:isEdgeType(j)||isEdgeChromiumType(et),isYandex:isYandexType(j),deviceType:getDeviceType(_),isIOS13:getIOS13(),isIPad13:getIPad13(),isIPhone13:getIphone13(),isIPod13:getIPod13(),isElectron:isElectronType(),isEdgeChromium:isEdgeChromiumType(et),isLegacyEdge:isEdgeType(j)&&!isEdgeChromiumType(et),isWindows:isWindowsType($),isMacOs:isMacOsType($),isMIUI:isMIUIType(j),isSamsungBrowser:isSamsungBrowserType(j)}}var isSmartTV=isSmartTVType(device),isConsole=isConsoleType(device),isWearable=isWearableType(device),isEmbedded=isEmbeddedType(device),isMobileSafari=isMobileSafariType(browser)||getIPad13(),isChromium=isChromiumType(browser),isMobile=isMobileAndTabletType(device)||getIPad13(),isMobileOnly=isMobileType(device),isTablet=isTabletType(device)||getIPad13(),isBrowser=isBrowserType(device),isDesktop=isBrowserType(device),isAndroid=isAndroidType(os),isWinPhone=isWinPhoneType(os),isIOS=isIOSType(os)||getIPad13(),isChrome=isChromeType(browser),isFirefox=isFirefoxType(browser),isSafari=isSafariType(browser),isOpera=isOperaType(browser),isIE=isIEType(browser),osVersion=getOsVersion(os),osName=getOsName(os),fullBrowserVersion=getBrowserFullVersion(browser),browserVersion=getBrowserVersion(browser),browserName=getBrowserName(browser),mobileVendor=getMobileVendor(device),mobileModel=getMobileModel(device),engineName=getEngineName(engine),engineVersion=getEngineVersion(engine),getUA=getUseragent(ua),isEdge=isEdgeType(browser)||isEdgeChromiumType(ua),isYandex=isYandexType(browser),deviceType=getDeviceType(device),isIOS13=getIOS13(),isIPad13=getIPad13(),isIPhone13=getIphone13(),isIPod13=getIPod13(),isElectron=isElectronType(),isEdgeChromium=isEdgeChromiumType(ua),isLegacyEdge=isEdgeType(browser)&&!isEdgeChromiumType(ua),isWindows=isWindowsType(os),isMacOs=isMacOsType(os),isMIUI=isMIUIType(browser),isSamsungBrowser=isSamsungBrowserType(browser),getSelectorsByUserAgent=function o(s){if(!s||typeof s!="string"){console.error("No valid user agent string was provided");return}var _=parseUserAgent(s),j=_.device,$=_.browser,_e=_.os,et=_.engine,tt=_.ua;return buildSelectorsObject({device:j,browser:$,os:_e,engine:et,ua:tt})},AndroidView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isAndroid?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},BrowserView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isBrowser?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IEView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIE?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},IOSView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isIOS?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isMobile?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},TabletView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isTablet?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WinPhoneView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWinPhone?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},MobileOnlyView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style"]);return isMobileOnly?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},SmartTVView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isSmartTV?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},ConsoleView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isConsole?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},WearableView=function o(s){var _=s.renderWithFragment,j=s.children,$=_objectWithoutProperties(s,["renderWithFragment","children"]);return isWearable?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",$,j):null},CustomView=function o(s){var _=s.renderWithFragment,j=s.children;s.viewClassName,s.style;var $=s.condition,_e=_objectWithoutProperties(s,["renderWithFragment","children","viewClassName","style","condition"]);return $?_?React__default.createElement(React.Fragment,null,j):React__default.createElement("div",_e,j):null};function withOrientationChange(o){return function(s){_inherits(_,s);function _(j){var $;return _classCallCheck(this,_),$=_possibleConstructorReturn(this,_getPrototypeOf(_).call(this,j)),$.isEventListenerAdded=!1,$.handleOrientationChange=$.handleOrientationChange.bind(_assertThisInitialized($)),$.onOrientationChange=$.onOrientationChange.bind(_assertThisInitialized($)),$.onPageLoad=$.onPageLoad.bind(_assertThisInitialized($)),$.state={isLandscape:!1,isPortrait:!1},$}return _createClass(_,[{key:"handleOrientationChange",value:function(){this.isEventListenerAdded||(this.isEventListenerAdded=!0);var $=window.innerWidth>window.innerHeight?90:0;this.setState({isPortrait:$===0,isLandscape:$===90})}},{key:"onOrientationChange",value:function(){this.handleOrientationChange()}},{key:"onPageLoad",value:function(){this.handleOrientationChange()}},{key:"componentDidMount",value:function(){(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&(this.isEventListenerAdded?window.removeEventListener("load",this.onPageLoad,!1):(this.handleOrientationChange(),window.addEventListener("load",this.onPageLoad,!1)),window.addEventListener("resize",this.onOrientationChange,!1))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onOrientationChange,!1)}},{key:"render",value:function(){return React__default.createElement(o,_extends({},this.props,{isLandscape:this.state.isLandscape,isPortrait:this.state.isPortrait}))}}]),_}(React__default.Component)}function useMobileOrientation(){var o=React.useState(function(){var _e=window.innerWidth>window.innerHeight?90:0;return{isPortrait:_e===0,isLandscape:_e===90,orientation:_e===0?"portrait":"landscape"}}),s=_slicedToArray(o,2),_=s[0],j=s[1],$=React.useCallback(function(){var _e=window.innerWidth>window.innerHeight?90:0,et={isPortrait:_e===0,isLandscape:_e===90,orientation:_e===0?"portrait":"landscape"};_.orientation!==et.orientation&&j(et)},[_.orientation]);return React.useEffect(function(){return(typeof window>"u"?"undefined":_typeof(window))!==void 0&&isMobile&&($(),window.addEventListener("load",$,!1),window.addEventListener("resize",$,!1)),function(){window.removeEventListener("resize",$,!1),window.removeEventListener("load",$,!1)}},[$]),_}function useDeviceData(o){var s=o||window.navigator.userAgent;return parseUserAgent(s)}function useDeviceSelectors(o){var s=o||window.navigator.userAgent,_=useDeviceData(s),j=buildSelectorsObject(_);return[j,_]}lib.AndroidView=AndroidView;lib.BrowserTypes=BrowserTypes;lib.BrowserView=BrowserView;lib.ConsoleView=ConsoleView;lib.CustomView=CustomView;lib.IEView=IEView;lib.IOSView=IOSView;lib.MobileOnlyView=MobileOnlyView;lib.MobileView=MobileView;lib.OsTypes=OsTypes;lib.SmartTVView=SmartTVView;lib.TabletView=TabletView;lib.WearableView=WearableView;lib.WinPhoneView=WinPhoneView;lib.browserName=browserName;lib.browserVersion=browserVersion;lib.deviceDetect=deviceDetect;lib.deviceType=deviceType;lib.engineName=engineName;lib.engineVersion=engineVersion;lib.fullBrowserVersion=fullBrowserVersion;lib.getSelectorsByUserAgent=getSelectorsByUserAgent;lib.getUA=getUA;lib.isAndroid=isAndroid;lib.isBrowser=isBrowser;lib.isChrome=isChrome;lib.isChromium=isChromium;lib.isConsole=isConsole;lib.isDesktop=isDesktop;lib.isEdge=isEdge;lib.isEdgeChromium=isEdgeChromium;lib.isElectron=isElectron;lib.isEmbedded=isEmbedded;lib.isFirefox=isFirefox;lib.isIE=isIE;lib.isIOS=isIOS;lib.isIOS13=isIOS13;lib.isIPad13=isIPad13;lib.isIPhone13=isIPhone13;lib.isIPod13=isIPod13;lib.isLegacyEdge=isLegacyEdge;lib.isMIUI=isMIUI;lib.isMacOs=isMacOs;lib.isMobile=isMobile;lib.isMobileOnly=isMobileOnly;lib.isMobileSafari=isMobileSafari;lib.isOpera=isOpera;lib.isSafari=isSafari;lib.isSamsungBrowser=isSamsungBrowser;lib.isSmartTV=isSmartTV;lib.isTablet=isTablet;lib.isWearable=isWearable;lib.isWinPhone=isWinPhone;lib.isWindows=isWindows;lib.isYandex=isYandex;lib.mobileModel=mobileModel;lib.mobileVendor=mobileVendor;lib.osName=osName;lib.osVersion=osVersion;lib.parseUserAgent=parseUserAgent;lib.setUserAgent=setUserAgent;lib.useDeviceData=useDeviceData;lib.useDeviceSelectors=useDeviceSelectors;lib.useMobileOrientation=useMobileOrientation;lib.withOrientationChange=withOrientationChange;/*! + * @kurkle/color v0.3.4 + * https://github.com/kurkle/color#readme + * (c) 2024 Jukka Kurkela + * Released under the MIT License + */function round(o){return o+.5|0}const lim=(o,s,_)=>Math.max(Math.min(o,_),s);function p2b(o){return lim(round(o*2.55),0,255)}function n2b(o){return lim(round(o*255),0,255)}function b2n(o){return lim(round(o/2.55)/100,0,1)}function n2p(o){return lim(round(o*100),0,100)}const map$1={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},hex=[..."0123456789ABCDEF"],h1=o=>hex[o&15],h2=o=>hex[(o&240)>>4]+hex[o&15],eq=o=>(o&240)>>4===(o&15),isShort=o=>eq(o.r)&&eq(o.g)&&eq(o.b)&&eq(o.a);function hexParse(o){var s=o.length,_;return o[0]==="#"&&(s===4||s===5?_={r:255&map$1[o[1]]*17,g:255&map$1[o[2]]*17,b:255&map$1[o[3]]*17,a:s===5?map$1[o[4]]*17:255}:(s===7||s===9)&&(_={r:map$1[o[1]]<<4|map$1[o[2]],g:map$1[o[3]]<<4|map$1[o[4]],b:map$1[o[5]]<<4|map$1[o[6]],a:s===9?map$1[o[7]]<<4|map$1[o[8]]:255})),_}const alpha=(o,s)=>o<255?s(o):"";function hexString(o){var s=isShort(o)?h1:h2;return o?"#"+s(o.r)+s(o.g)+s(o.b)+alpha(o.a,s):void 0}const HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(o,s,_){const j=s*Math.min(_,1-_),$=(_e,et=(_e+o/30)%12)=>_-j*Math.max(Math.min(et-3,9-et,1),-1);return[$(0),$(8),$(4)]}function hsv2rgbn(o,s,_){const j=($,_e=($+o/60)%6)=>_-_*s*Math.max(Math.min(_e,4-_e,1),0);return[j(5),j(3),j(1)]}function hwb2rgbn(o,s,_){const j=hsl2rgbn(o,1,.5);let $;for(s+_>1&&($=1/(s+_),s*=$,_*=$),$=0;$<3;$++)j[$]*=1-s-_,j[$]+=s;return j}function hueValue(o,s,_,j,$){return o===$?(s-_)/j+(s<_?6:0):s===$?(_-o)/j+2:(o-s)/j+4}function rgb2hsl(o){const _=o.r/255,j=o.g/255,$=o.b/255,_e=Math.max(_,j,$),et=Math.min(_,j,$),tt=(_e+et)/2;let nt,rt,ot;return _e!==et&&(ot=_e-et,rt=tt>.5?ot/(2-_e-et):ot/(_e+et),nt=hueValue(_,j,$,ot,_e),nt=nt*60+.5),[nt|0,rt||0,tt]}function calln(o,s,_,j){return(Array.isArray(s)?o(s[0],s[1],s[2]):o(s,_,j)).map(n2b)}function hsl2rgb(o,s,_){return calln(hsl2rgbn,o,s,_)}function hwb2rgb(o,s,_){return calln(hwb2rgbn,o,s,_)}function hsv2rgb(o,s,_){return calln(hsv2rgbn,o,s,_)}function hue(o){return(o%360+360)%360}function hueParse(o){const s=HUE_RE.exec(o);let _=255,j;if(!s)return;s[5]!==j&&(_=s[6]?p2b(+s[5]):n2b(+s[5]));const $=hue(+s[2]),_e=+s[3]/100,et=+s[4]/100;return s[1]==="hwb"?j=hwb2rgb($,_e,et):s[1]==="hsv"?j=hsv2rgb($,_e,et):j=hsl2rgb($,_e,et),{r:j[0],g:j[1],b:j[2],a:_}}function rotate(o,s){var _=rgb2hsl(o);_[0]=hue(_[0]+s),_=hsl2rgb(_),o.r=_[0],o.g=_[1],o.b=_[2]}function hslString(o){if(!o)return;const s=rgb2hsl(o),_=s[0],j=n2p(s[1]),$=n2p(s[2]);return o.a<255?`hsla(${_}, ${j}%, ${$}%, ${b2n(o.a)})`:`hsl(${_}, ${j}%, ${$}%)`}const map$2={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){const o={},s=Object.keys(names$1),_=Object.keys(map$2);let j,$,_e,et,tt;for(j=0;j>16&255,_e>>8&255,_e&255]}return o}let names;function nameParse(o){names||(names=unpack(),names.transparent=[0,0,0,0]);const s=names[o.toLowerCase()];return s&&{r:s[0],g:s[1],b:s[2],a:s.length===4?s[3]:255}}const RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(o){const s=RGB_RE.exec(o);let _=255,j,$,_e;if(s){if(s[7]!==j){const et=+s[7];_=s[8]?p2b(et):lim(et*255,0,255)}return j=+s[1],$=+s[3],_e=+s[5],j=255&(s[2]?p2b(j):lim(j,0,255)),$=255&(s[4]?p2b($):lim($,0,255)),_e=255&(s[6]?p2b(_e):lim(_e,0,255)),{r:j,g:$,b:_e,a:_}}}function rgbString(o){return o&&(o.a<255?`rgba(${o.r}, ${o.g}, ${o.b}, ${b2n(o.a)})`:`rgb(${o.r}, ${o.g}, ${o.b})`)}const to=o=>o<=.0031308?o*12.92:Math.pow(o,1/2.4)*1.055-.055,from=o=>o<=.04045?o/12.92:Math.pow((o+.055)/1.055,2.4);function interpolate$1(o,s,_){const j=from(b2n(o.r)),$=from(b2n(o.g)),_e=from(b2n(o.b));return{r:n2b(to(j+_*(from(b2n(s.r))-j))),g:n2b(to($+_*(from(b2n(s.g))-$))),b:n2b(to(_e+_*(from(b2n(s.b))-_e))),a:o.a+_*(s.a-o.a)}}function modHSL(o,s,_){if(o){let j=rgb2hsl(o);j[s]=Math.max(0,Math.min(j[s]+j[s]*_,s===0?360:1)),j=hsl2rgb(j),o.r=j[0],o.g=j[1],o.b=j[2]}}function clone$1(o,s){return o&&Object.assign(s||{},o)}function fromObject(o){var s={r:0,g:0,b:0,a:255};return Array.isArray(o)?o.length>=3&&(s={r:o[0],g:o[1],b:o[2],a:255},o.length>3&&(s.a=n2b(o[3]))):(s=clone$1(o,{r:0,g:0,b:0,a:1}),s.a=n2b(s.a)),s}function functionParse(o){return o.charAt(0)==="r"?rgbParse(o):hueParse(o)}class Color{constructor(s){if(s instanceof Color)return s;const _=typeof s;let j;_==="object"?j=fromObject(s):_==="string"&&(j=hexParse(s)||nameParse(s)||functionParse(s)),this._rgb=j,this._valid=!!j}get valid(){return this._valid}get rgb(){var s=clone$1(this._rgb);return s&&(s.a=b2n(s.a)),s}set rgb(s){this._rgb=fromObject(s)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(s,_){if(s){const j=this.rgb,$=s.rgb;let _e;const et=_===_e?.5:_,tt=2*et-1,nt=j.a-$.a,rt=((tt*nt===-1?tt:(tt+nt)/(1+tt*nt))+1)/2;_e=1-rt,j.r=255&rt*j.r+_e*$.r+.5,j.g=255&rt*j.g+_e*$.g+.5,j.b=255&rt*j.b+_e*$.b+.5,j.a=et*j.a+(1-et)*$.a,this.rgb=j}return this}interpolate(s,_){return s&&(this._rgb=interpolate$1(this._rgb,s._rgb,_)),this}clone(){return new Color(this.rgb)}alpha(s){return this._rgb.a=n2b(s),this}clearer(s){const _=this._rgb;return _.a*=1-s,this}greyscale(){const s=this._rgb,_=round(s.r*.3+s.g*.59+s.b*.11);return s.r=s.g=s.b=_,this}opaquer(s){const _=this._rgb;return _.a*=1+s,this}negate(){const s=this._rgb;return s.r=255-s.r,s.g=255-s.g,s.b=255-s.b,this}lighten(s){return modHSL(this._rgb,2,s),this}darken(s){return modHSL(this._rgb,2,-s),this}saturate(s){return modHSL(this._rgb,1,s),this}desaturate(s){return modHSL(this._rgb,1,-s),this}rotate(s){return rotate(this._rgb,s),this}}/*! + * Chart.js v4.5.0 + * https://www.chartjs.org + * (c) 2025 Chart.js Contributors + * Released under the MIT License + */function noop(){}const uid=(()=>{let o=0;return()=>o++})();function isNullOrUndef(o){return o==null}function isArray(o){if(Array.isArray&&Array.isArray(o))return!0;const s=Object.prototype.toString.call(o);return s.slice(0,7)==="[object"&&s.slice(-6)==="Array]"}function isObject(o){return o!==null&&Object.prototype.toString.call(o)==="[object Object]"}function isNumberFinite(o){return(typeof o=="number"||o instanceof Number)&&isFinite(+o)}function finiteOrDefault(o,s){return isNumberFinite(o)?o:s}function valueOrDefault(o,s){return typeof o>"u"?s:o}const toPercentage=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100:+o/s,toDimension=(o,s)=>typeof o=="string"&&o.endsWith("%")?parseFloat(o)/100*s:+o;function callback(o,s,_){if(o&&typeof o.call=="function")return o.apply(_,s)}function each(o,s,_,j){let $,_e,et;if(isArray(o))if(_e=o.length,j)for($=_e-1;$>=0;$--)s.call(_,o[$],$);else for($=0;$<_e;$++)s.call(_,o[$],$);else if(isObject(o))for(et=Object.keys(o),_e=et.length,$=0;$<_e;$++)s.call(_,o[et[$]],et[$])}function _elementsEqual(o,s){let _,j,$,_e;if(!o||!s||o.length!==s.length)return!1;for(_=0,j=o.length;_o,x:o=>o.x,y:o=>o.y};function _splitKey(o){const s=o.split("."),_=[];let j="";for(const $ of s)j+=$,j.endsWith("\\")?j=j.slice(0,-1)+".":(_.push(j),j="");return _}function _getKeyResolver(o){const s=_splitKey(o);return _=>{for(const j of s){if(j==="")break;_=_&&_[j]}return _}}function resolveObjectKey(o,s){return(keyResolvers[s]||(keyResolvers[s]=_getKeyResolver(s)))(o)}function _capitalize(o){return o.charAt(0).toUpperCase()+o.slice(1)}const defined=o=>typeof o<"u",isFunction=o=>typeof o=="function",setsEqual=(o,s)=>{if(o.size!==s.size)return!1;for(const _ of o)if(!s.has(_))return!1;return!0};function _isClickEvent(o){return o.type==="mouseup"||o.type==="click"||o.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(o,s,_){return Math.abs(o-s)<_}function niceNum(o){const s=Math.round(o);o=almostEquals(o,s,o/1e3)?s:o;const _=Math.pow(10,Math.floor(log10(o))),j=o/_;return(j<=1?1:j<=2?2:j<=5?5:10)*_}function _factorize(o){const s=[],_=Math.sqrt(o);let j;for(j=1;j<_;j++)o%j===0&&(s.push(j),s.push(o/j));return _===(_|0)&&s.push(_),s.sort(($,_e)=>$-_e).pop(),s}function isNonPrimitive(o){return typeof o=="symbol"||typeof o=="object"&&o!==null&&!(Symbol.toPrimitive in o||"toString"in o||"valueOf"in o)}function isNumber(o){return!isNonPrimitive(o)&&!isNaN(parseFloat(o))&&isFinite(o)}function almostWhole(o,s){const _=Math.round(o);return _-s<=o&&_+s>=o}function _setMinAndMaxByKey(o,s,_){let j,$,_e;for(j=0,$=o.length;j<$;j++)_e=o[j][_],isNaN(_e)||(s.min=Math.min(s.min,_e),s.max=Math.max(s.max,_e))}function toRadians(o){return o*(PI/180)}function toDegrees(o){return o*(180/PI)}function _decimalPlaces(o){if(!isNumberFinite(o))return;let s=1,_=0;for(;Math.round(o*s)/s!==o;)s*=10,_++;return _}function getAngleFromPoint(o,s){const _=s.x-o.x,j=s.y-o.y,$=Math.sqrt(_*_+j*j);let _e=Math.atan2(j,_);return _e<-.5*PI&&(_e+=TAU),{angle:_e,distance:$}}function distanceBetweenPoints(o,s){return Math.sqrt(Math.pow(s.x-o.x,2)+Math.pow(s.y-o.y,2))}function _angleDiff(o,s){return(o-s+PITAU)%TAU-PI}function _normalizeAngle(o){return(o%TAU+TAU)%TAU}function _angleBetween(o,s,_,j){const $=_normalizeAngle(o),_e=_normalizeAngle(s),et=_normalizeAngle(_),tt=_normalizeAngle(_e-$),nt=_normalizeAngle(et-$),rt=_normalizeAngle($-_e),ot=_normalizeAngle($-et);return $===_e||$===et||j&&_e===et||tt>nt&&rt=Math.min(s,_)-j&&o<=Math.max(s,_)+j}function _lookup(o,s,_){_=_||(et=>o[et]1;)_e=$+j>>1,_(_e)?$=_e:j=_e;return{lo:$,hi:j}}const _lookupByKey=(o,s,_,j)=>_lookup(o,_,j?$=>{const _e=o[$][s];return _e<_||_e===_&&o[$+1][s]===_}:$=>o[$][s]<_),_rlookupByKey=(o,s,_)=>_lookup(o,_,j=>o[j][s]>=_);function _filterBetween(o,s,_){let j=0,$=o.length;for(;j<$&&o[j]j&&o[$-1]>_;)$--;return j>0||${const j="_onData"+_capitalize(_),$=o[_];Object.defineProperty(o,_,{configurable:!0,enumerable:!1,value(..._e){const et=$.apply(this,_e);return o._chartjs.listeners.forEach(tt=>{typeof tt[j]=="function"&&tt[j](..._e)}),et}})})}function unlistenArrayEvents(o,s){const _=o._chartjs;if(!_)return;const j=_.listeners,$=j.indexOf(s);$!==-1&&j.splice($,1),!(j.length>0)&&(arrayEvents.forEach(_e=>{delete o[_e]}),delete o._chartjs)}function _arrayUnique(o){const s=new Set(o);return s.size===o.length?o:Array.from(s)}const requestAnimFrame=function(){return typeof window>"u"?function(o){return o()}:window.requestAnimationFrame}();function throttled(o,s){let _=[],j=!1;return function(...$){_=$,j||(j=!0,requestAnimFrame.call(window,()=>{j=!1,o.apply(s,_)}))}}function debounce(o,s){let _;return function(...j){return s?(clearTimeout(_),_=setTimeout(o,s,j)):o.apply(this,j),s}}const _toLeftRightCenter=o=>o==="start"?"left":o==="end"?"right":"center",_alignStartEnd=(o,s,_)=>o==="start"?s:o==="end"?_:(s+_)/2,_textX=(o,s,_,j)=>o===(j?"left":"right")?_:o==="center"?(s+_)/2:s;function _getStartAndCountOfVisiblePoints(o,s,_){const j=s.length;let $=0,_e=j;if(o._sorted){const{iScale:et,vScale:tt,_parsed:nt}=o,rt=o.dataset&&o.dataset.options?o.dataset.options.spanGaps:null,ot=et.axis,{min:ut,max:dt,minDefined:Ut,maxDefined:st}=et.getUserBounds();if(Ut){if($=Math.min(_lookupByKey(nt,ot,ut).lo,_?j:_lookupByKey(s,ot,et.getPixelForValue(ut)).lo),rt){const ct=nt.slice(0,$+1).reverse().findIndex(pt=>!isNullOrUndef(pt[tt.axis]));$-=Math.max(0,ct)}$=_limitValue($,0,j-1)}if(st){let ct=Math.max(_lookupByKey(nt,et.axis,dt,!0).hi+1,_?0:_lookupByKey(s,ot,et.getPixelForValue(dt),!0).hi+1);if(rt){const pt=nt.slice(ct-1).findIndex(Bt=>!isNullOrUndef(Bt[tt.axis]));ct+=Math.max(0,pt)}_e=_limitValue(ct,$,j)-$}else _e=j-$}return{start:$,count:_e}}function _scaleRangesChanged(o){const{xScale:s,yScale:_,_scaleRanges:j}=o,$={xmin:s.min,xmax:s.max,ymin:_.min,ymax:_.max};if(!j)return o._scaleRanges=$,!0;const _e=j.xmin!==s.min||j.xmax!==s.max||j.ymin!==_.min||j.ymax!==_.max;return Object.assign(j,$),_e}const atEdge=o=>o===0||o===1,elasticIn=(o,s,_)=>-(Math.pow(2,10*(o-=1))*Math.sin((o-s)*TAU/_)),elasticOut=(o,s,_)=>Math.pow(2,-10*o)*Math.sin((o-s)*TAU/_)+1,effects={linear:o=>o,easeInQuad:o=>o*o,easeOutQuad:o=>-o*(o-2),easeInOutQuad:o=>(o/=.5)<1?.5*o*o:-.5*(--o*(o-2)-1),easeInCubic:o=>o*o*o,easeOutCubic:o=>(o-=1)*o*o+1,easeInOutCubic:o=>(o/=.5)<1?.5*o*o*o:.5*((o-=2)*o*o+2),easeInQuart:o=>o*o*o*o,easeOutQuart:o=>-((o-=1)*o*o*o-1),easeInOutQuart:o=>(o/=.5)<1?.5*o*o*o*o:-.5*((o-=2)*o*o*o-2),easeInQuint:o=>o*o*o*o*o,easeOutQuint:o=>(o-=1)*o*o*o*o+1,easeInOutQuint:o=>(o/=.5)<1?.5*o*o*o*o*o:.5*((o-=2)*o*o*o*o+2),easeInSine:o=>-Math.cos(o*HALF_PI)+1,easeOutSine:o=>Math.sin(o*HALF_PI),easeInOutSine:o=>-.5*(Math.cos(PI*o)-1),easeInExpo:o=>o===0?0:Math.pow(2,10*(o-1)),easeOutExpo:o=>o===1?1:-Math.pow(2,-10*o)+1,easeInOutExpo:o=>atEdge(o)?o:o<.5?.5*Math.pow(2,10*(o*2-1)):.5*(-Math.pow(2,-10*(o*2-1))+2),easeInCirc:o=>o>=1?o:-(Math.sqrt(1-o*o)-1),easeOutCirc:o=>Math.sqrt(1-(o-=1)*o),easeInOutCirc:o=>(o/=.5)<1?-.5*(Math.sqrt(1-o*o)-1):.5*(Math.sqrt(1-(o-=2)*o)+1),easeInElastic:o=>atEdge(o)?o:elasticIn(o,.075,.3),easeOutElastic:o=>atEdge(o)?o:elasticOut(o,.075,.3),easeInOutElastic(o){return atEdge(o)?o:o<.5?.5*elasticIn(o*2,.1125,.45):.5+.5*elasticOut(o*2-1,.1125,.45)},easeInBack(o){return o*o*((1.70158+1)*o-1.70158)},easeOutBack(o){return(o-=1)*o*((1.70158+1)*o+1.70158)+1},easeInOutBack(o){let s=1.70158;return(o/=.5)<1?.5*(o*o*(((s*=1.525)+1)*o-s)):.5*((o-=2)*o*(((s*=1.525)+1)*o+s)+2)},easeInBounce:o=>1-effects.easeOutBounce(1-o),easeOutBounce(o){return o<1/2.75?7.5625*o*o:o<2/2.75?7.5625*(o-=1.5/2.75)*o+.75:o<2.5/2.75?7.5625*(o-=2.25/2.75)*o+.9375:7.5625*(o-=2.625/2.75)*o+.984375},easeInOutBounce:o=>o<.5?effects.easeInBounce(o*2)*.5:effects.easeOutBounce(o*2-1)*.5+.5};function isPatternOrGradient(o){if(o&&typeof o=="object"){const s=o.toString();return s==="[object CanvasPattern]"||s==="[object CanvasGradient]"}return!1}function color(o){return isPatternOrGradient(o)?o:new Color(o)}function getHoverColor(o){return isPatternOrGradient(o)?o:new Color(o).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(o){o.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),o.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:s=>s!=="onProgress"&&s!=="onComplete"&&s!=="fn"}),o.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),o.describe("animations",{_fallback:"animation"}),o.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:s=>s|0}}}})}function applyLayoutsDefaults(o){o.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(o,s){s=s||{};const _=o+JSON.stringify(s);let j=intlCache.get(_);return j||(j=new Intl.NumberFormat(o,s),intlCache.set(_,j)),j}function formatNumber(o,s,_){return getNumberFormat(s,_).format(o)}const formatters={values(o){return isArray(o)?o:""+o},numeric(o,s,_){if(o===0)return"0";const j=this.chart.options.locale;let $,_e=o;if(_.length>1){const rt=Math.max(Math.abs(_[0].value),Math.abs(_[_.length-1].value));(rt<1e-4||rt>1e15)&&($="scientific"),_e=calculateDelta(o,_)}const et=log10(Math.abs(_e)),tt=isNaN(et)?1:Math.max(Math.min(-1*Math.floor(et),20),0),nt={notation:$,minimumFractionDigits:tt,maximumFractionDigits:tt};return Object.assign(nt,this.options.ticks.format),formatNumber(o,j,nt)},logarithmic(o,s,_){if(o===0)return"0";const j=_[s].significand||o/Math.pow(10,Math.floor(log10(o)));return[1,2,3,5,10,15].includes(j)||s>.8*_.length?formatters.numeric.call(this,o,s,_):""}};function calculateDelta(o,s){let _=s.length>3?s[2].value-s[1].value:s[1].value-s[0].value;return Math.abs(_)>=1&&o!==Math.floor(o)&&(_=o-Math.floor(o)),_}var Ticks={formatters};function applyScaleDefaults(o){o.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(s,_)=>_.lineWidth,tickColor:(s,_)=>_.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),o.route("scale.ticks","color","","color"),o.route("scale.grid","color","","borderColor"),o.route("scale.border","color","","borderColor"),o.route("scale.title","color","","color"),o.describe("scale",{_fallback:!1,_scriptable:s=>!s.startsWith("before")&&!s.startsWith("after")&&s!=="callback"&&s!=="parser",_indexable:s=>s!=="borderDash"&&s!=="tickBorderDash"&&s!=="dash"}),o.describe("scales",{_fallback:"scale"}),o.describe("scale.ticks",{_scriptable:s=>s!=="backdropPadding"&&s!=="callback",_indexable:s=>s!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(o,s){if(!s)return o;const _=s.split(".");for(let j=0,$=_.length;j<$;++j){const _e=_[j];o=o[_e]||(o[_e]=Object.create(null))}return o}function set(o,s,_){return typeof s=="string"?merge$1(getScope$1(o,s),_):merge$1(getScope$1(o,""),s)}class Defaults{constructor(s,_){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=j=>j.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(j,$)=>getHoverColor($.backgroundColor),this.hoverBorderColor=(j,$)=>getHoverColor($.borderColor),this.hoverColor=(j,$)=>getHoverColor($.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(s),this.apply(_)}set(s,_){return set(this,s,_)}get(s){return getScope$1(this,s)}describe(s,_){return set(descriptors,s,_)}override(s,_){return set(overrides,s,_)}route(s,_,j,$){const _e=getScope$1(this,s),et=getScope$1(this,j),tt="_"+_;Object.defineProperties(_e,{[tt]:{value:_e[_],writable:!0},[_]:{enumerable:!0,get(){const nt=this[tt],rt=et[$];return isObject(nt)?Object.assign({},rt,nt):valueOrDefault(nt,rt)},set(nt){this[tt]=nt}}})}apply(s){s.forEach(_=>_(this))}}var defaults=new Defaults({_scriptable:o=>!o.startsWith("on"),_indexable:o=>o!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(o){return!o||isNullOrUndef(o.size)||isNullOrUndef(o.family)?null:(o.style?o.style+" ":"")+(o.weight?o.weight+" ":"")+o.size+"px "+o.family}function _measureText(o,s,_,j,$){let _e=s[$];return _e||(_e=s[$]=o.measureText($).width,_.push($)),_e>j&&(j=_e),j}function _longestText(o,s,_,j){j=j||{};let $=j.data=j.data||{},_e=j.garbageCollect=j.garbageCollect||[];j.font!==s&&($=j.data={},_e=j.garbageCollect=[],j.font=s),o.save(),o.font=s;let et=0;const tt=_.length;let nt,rt,ot,ut,dt;for(nt=0;nt_.length){for(nt=0;nt0&&o.stroke()}}function _isPointInArea(o,s,_){return _=_||.5,!s||o&&o.x>s.left-_&&o.xs.top-_&&o.y0&&_e.strokeColor!=="";let nt,rt;for(o.save(),o.font=$.string,setRenderOpts(o,_e),nt=0;nt+o||0;function _readValueToProps(o,s){const _={},j=isObject(s),$=j?Object.keys(s):s,_e=isObject(o)?j?et=>valueOrDefault(o[et],o[s[et]]):et=>o[et]:()=>o;for(const et of $)_[et]=numberOrZero(_e(et));return _}function toTRBL(o){return _readValueToProps(o,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(o){return _readValueToProps(o,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(o){const s=toTRBL(o);return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function toFont(o,s){o=o||{},s=s||defaults.font;let _=valueOrDefault(o.size,s.size);typeof _=="string"&&(_=parseInt(_,10));let j=valueOrDefault(o.style,s.style);j&&!(""+j).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+j+'"'),j=void 0);const $={family:valueOrDefault(o.family,s.family),lineHeight:toLineHeight(valueOrDefault(o.lineHeight,s.lineHeight),_),size:_,style:j,weight:valueOrDefault(o.weight,s.weight),string:""};return $.string=toFontString($),$}function resolve(o,s,_,j){let $=!0,_e,et,tt;for(_e=0,et=o.length;_e_&&tt===0?0:tt+nt;return{min:et(j,-Math.abs(_e)),max:et($,_e)}}function createContext(o,s){return Object.assign(Object.create(o),s)}function _createResolver(o,s=[""],_,j,$=()=>o[0]){const _e=_||o;typeof j>"u"&&(j=_resolve("_fallback",o));const et={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:o,_rootScopes:_e,_fallback:j,_getTarget:$,override:tt=>_createResolver([tt,...o],s,_e,j)};return new Proxy(et,{deleteProperty(tt,nt){return delete tt[nt],delete tt._keys,delete o[0][nt],!0},get(tt,nt){return _cached(tt,nt,()=>_resolveWithPrefixes(nt,s,o,tt))},getOwnPropertyDescriptor(tt,nt){return Reflect.getOwnPropertyDescriptor(tt._scopes[0],nt)},getPrototypeOf(){return Reflect.getPrototypeOf(o[0])},has(tt,nt){return getKeysFromAllScopes(tt).includes(nt)},ownKeys(tt){return getKeysFromAllScopes(tt)},set(tt,nt,rt){const ot=tt._storage||(tt._storage=$());return tt[nt]=ot[nt]=rt,delete tt._keys,!0}})}function _attachContext(o,s,_,j){const $={_cacheable:!1,_proxy:o,_context:s,_subProxy:_,_stack:new Set,_descriptors:_descriptors(o,j),setContext:_e=>_attachContext(o,_e,_,j),override:_e=>_attachContext(o.override(_e),s,_,j)};return new Proxy($,{deleteProperty(_e,et){return delete _e[et],delete o[et],!0},get(_e,et,tt){return _cached(_e,et,()=>_resolveWithContext(_e,et,tt))},getOwnPropertyDescriptor(_e,et){return _e._descriptors.allKeys?Reflect.has(o,et)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(o,et)},getPrototypeOf(){return Reflect.getPrototypeOf(o)},has(_e,et){return Reflect.has(o,et)},ownKeys(){return Reflect.ownKeys(o)},set(_e,et,tt){return o[et]=tt,delete _e[et],!0}})}function _descriptors(o,s={scriptable:!0,indexable:!0}){const{_scriptable:_=s.scriptable,_indexable:j=s.indexable,_allKeys:$=s.allKeys}=o;return{allKeys:$,scriptable:_,indexable:j,isScriptable:isFunction(_)?_:()=>_,isIndexable:isFunction(j)?j:()=>j}}const readKey=(o,s)=>o?o+_capitalize(s):s,needsSubResolver=(o,s)=>isObject(s)&&o!=="adapters"&&(Object.getPrototypeOf(s)===null||s.constructor===Object);function _cached(o,s,_){if(Object.prototype.hasOwnProperty.call(o,s)||s==="constructor")return o[s];const j=_();return o[s]=j,j}function _resolveWithContext(o,s,_){const{_proxy:j,_context:$,_subProxy:_e,_descriptors:et}=o;let tt=j[s];return isFunction(tt)&&et.isScriptable(s)&&(tt=_resolveScriptable(s,tt,o,_)),isArray(tt)&&tt.length&&(tt=_resolveArray(s,tt,o,et.isIndexable)),needsSubResolver(s,tt)&&(tt=_attachContext(tt,$,_e&&_e[s],et)),tt}function _resolveScriptable(o,s,_,j){const{_proxy:$,_context:_e,_subProxy:et,_stack:tt}=_;if(tt.has(o))throw new Error("Recursion detected: "+Array.from(tt).join("->")+"->"+o);tt.add(o);let nt=s(_e,et||j);return tt.delete(o),needsSubResolver(o,nt)&&(nt=createSubResolver($._scopes,$,o,nt)),nt}function _resolveArray(o,s,_,j){const{_proxy:$,_context:_e,_subProxy:et,_descriptors:tt}=_;if(typeof _e.index<"u"&&j(o))return s[_e.index%s.length];if(isObject(s[0])){const nt=s,rt=$._scopes.filter(ot=>ot!==nt);s=[];for(const ot of nt){const ut=createSubResolver(rt,$,o,ot);s.push(_attachContext(ut,_e,et&&et[o],tt))}}return s}function resolveFallback(o,s,_){return isFunction(o)?o(s,_):o}const getScope=(o,s)=>o===!0?s:typeof o=="string"?resolveObjectKey(s,o):void 0;function addScopes(o,s,_,j,$){for(const _e of s){const et=getScope(_,_e);if(et){o.add(et);const tt=resolveFallback(et._fallback,_,$);if(typeof tt<"u"&&tt!==_&&tt!==j)return tt}else if(et===!1&&typeof j<"u"&&_!==j)return null}return!1}function createSubResolver(o,s,_,j){const $=s._rootScopes,_e=resolveFallback(s._fallback,_,j),et=[...o,...$],tt=new Set;tt.add(j);let nt=addScopesFromKey(tt,et,_,_e||_,j);return nt===null||typeof _e<"u"&&_e!==_&&(nt=addScopesFromKey(tt,et,_e,nt,j),nt===null)?!1:_createResolver(Array.from(tt),[""],$,_e,()=>subGetTarget(s,_,j))}function addScopesFromKey(o,s,_,j,$){for(;_;)_=addScopes(o,s,_,j,$);return _}function subGetTarget(o,s,_){const j=o._getTarget();s in j||(j[s]={});const $=j[s];return isArray($)&&isObject(_)?_:$||{}}function _resolveWithPrefixes(o,s,_,j){let $;for(const _e of s)if($=_resolve(readKey(_e,o),_),typeof $<"u")return needsSubResolver(o,$)?createSubResolver(_,j,o,$):$}function _resolve(o,s){for(const _ of s){if(!_)continue;const j=_[o];if(typeof j<"u")return j}}function getKeysFromAllScopes(o){let s=o._keys;return s||(s=o._keys=resolveKeysFromAllScopes(o._scopes)),s}function resolveKeysFromAllScopes(o){const s=new Set;for(const _ of o)for(const j of Object.keys(_).filter($=>!$.startsWith("_")))s.add(j);return Array.from(s)}function _parseObjectDataRadialScale(o,s,_,j){const{iScale:$}=o,{key:_e="r"}=this._parsing,et=new Array(j);let tt,nt,rt,ot;for(tt=0,nt=j;ttso==="x"?"y":"x";function splineCurve(o,s,_,j){const $=o.skip?s:o,_e=s,et=_.skip?s:_,tt=distanceBetweenPoints(_e,$),nt=distanceBetweenPoints(et,_e);let rt=tt/(tt+nt),ot=nt/(tt+nt);rt=isNaN(rt)?0:rt,ot=isNaN(ot)?0:ot;const ut=j*rt,dt=j*ot;return{previous:{x:_e.x-ut*(et.x-$.x),y:_e.y-ut*(et.y-$.y)},next:{x:_e.x+dt*(et.x-$.x),y:_e.y+dt*(et.y-$.y)}}}function monotoneAdjust(o,s,_){const j=o.length;let $,_e,et,tt,nt,rt=getPoint(o,0);for(let ot=0;ot!rt.skip)),s.cubicInterpolationMode==="monotone")splineCurveMonotone(o,$);else{let rt=j?o[o.length-1]:o[0];for(_e=0,et=o.length;_eo.ownerDocument.defaultView.getComputedStyle(o,null);function getStyle(o,s){return getComputedStyle(o).getPropertyValue(s)}const positions=["top","right","bottom","left"];function getPositionedStyle(o,s,_){const j={};_=_?"-"+_:"";for(let $=0;$<4;$++){const _e=positions[$];j[_e]=parseFloat(o[s+"-"+_e+_])||0}return j.width=j.left+j.right,j.height=j.top+j.bottom,j}const useOffsetPos=(o,s,_)=>(o>0||s>0)&&(!_||!_.shadowRoot);function getCanvasPosition(o,s){const _=o.touches,j=_&&_.length?_[0]:o,{offsetX:$,offsetY:_e}=j;let et=!1,tt,nt;if(useOffsetPos($,_e,o.target))tt=$,nt=_e;else{const rt=s.getBoundingClientRect();tt=j.clientX-rt.left,nt=j.clientY-rt.top,et=!0}return{x:tt,y:nt,box:et}}function getRelativePosition(o,s){if("native"in o)return o;const{canvas:_,currentDevicePixelRatio:j}=s,$=getComputedStyle(_),_e=$.boxSizing==="border-box",et=getPositionedStyle($,"padding"),tt=getPositionedStyle($,"border","width"),{x:nt,y:rt,box:ot}=getCanvasPosition(o,_),ut=et.left+(ot&&tt.left),dt=et.top+(ot&&tt.top);let{width:Ut,height:st}=s;return _e&&(Ut-=et.width+tt.width,st-=et.height+tt.height),{x:Math.round((nt-ut)/Ut*_.width/j),y:Math.round((rt-dt)/st*_.height/j)}}function getContainerSize(o,s,_){let j,$;if(s===void 0||_===void 0){const _e=o&&_getParentNode(o);if(!_e)s=o.clientWidth,_=o.clientHeight;else{const et=_e.getBoundingClientRect(),tt=getComputedStyle(_e),nt=getPositionedStyle(tt,"border","width"),rt=getPositionedStyle(tt,"padding");s=et.width-rt.width-nt.width,_=et.height-rt.height-nt.height,j=parseMaxStyle(tt.maxWidth,_e,"clientWidth"),$=parseMaxStyle(tt.maxHeight,_e,"clientHeight")}}return{width:s,height:_,maxWidth:j||INFINITY,maxHeight:$||INFINITY}}const round1=o=>Math.round(o*10)/10;function getMaximumSize(o,s,_,j){const $=getComputedStyle(o),_e=getPositionedStyle($,"margin"),et=parseMaxStyle($.maxWidth,o,"clientWidth")||INFINITY,tt=parseMaxStyle($.maxHeight,o,"clientHeight")||INFINITY,nt=getContainerSize(o,s,_);let{width:rt,height:ot}=nt;if($.boxSizing==="content-box"){const dt=getPositionedStyle($,"border","width"),Ut=getPositionedStyle($,"padding");rt-=Ut.width+dt.width,ot-=Ut.height+dt.height}return rt=Math.max(0,rt-_e.width),ot=Math.max(0,j?rt/j:ot-_e.height),rt=round1(Math.min(rt,et,nt.maxWidth)),ot=round1(Math.min(ot,tt,nt.maxHeight)),rt&&!ot&&(ot=round1(rt/2)),(s!==void 0||_!==void 0)&&j&&nt.height&&ot>nt.height&&(ot=nt.height,rt=round1(Math.floor(ot*j))),{width:rt,height:ot}}function retinaScale(o,s,_){const j=s||1,$=Math.floor(o.height*j),_e=Math.floor(o.width*j);o.height=Math.floor(o.height),o.width=Math.floor(o.width);const et=o.canvas;return et.style&&(_||!et.style.height&&!et.style.width)&&(et.style.height=`${o.height}px`,et.style.width=`${o.width}px`),o.currentDevicePixelRatio!==j||et.height!==$||et.width!==_e?(o.currentDevicePixelRatio=j,et.height=$,et.width=_e,o.ctx.setTransform(j,0,0,j,0,0),!0):!1}const supportsEventListenerOptions=function(){let o=!1;try{const s={get passive(){return o=!0,!1}};_isDomSupported()&&(window.addEventListener("test",null,s),window.removeEventListener("test",null,s))}catch{}return o}();function readUsedSize(o,s){const _=getStyle(o,s),j=_&&_.match(/^(\d+)(\.\d+)?px$/);return j?+j[1]:void 0}function _pointInLine(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:o.y+_*(s.y-o.y)}}function _steppedInterpolation(o,s,_,j){return{x:o.x+_*(s.x-o.x),y:j==="middle"?_<.5?o.y:s.y:j==="after"?_<1?o.y:s.y:_>0?s.y:o.y}}function _bezierInterpolation(o,s,_,j){const $={x:o.cp2x,y:o.cp2y},_e={x:s.cp1x,y:s.cp1y},et=_pointInLine(o,$,_),tt=_pointInLine($,_e,_),nt=_pointInLine(_e,s,_),rt=_pointInLine(et,tt,_),ot=_pointInLine(tt,nt,_);return _pointInLine(rt,ot,_)}const getRightToLeftAdapter=function(o,s){return{x(_){return o+o+s-_},setWidth(_){s=_},textAlign(_){return _==="center"?_:_==="right"?"left":"right"},xPlus(_,j){return _-j},leftForLtr(_,j){return _-j}}},getLeftToRightAdapter=function(){return{x(o){return o},setWidth(o){},textAlign(o){return o},xPlus(o,s){return o+s},leftForLtr(o,s){return o}}};function getRtlAdapter(o,s,_){return o?getRightToLeftAdapter(s,_):getLeftToRightAdapter()}function overrideTextDirection(o,s){let _,j;(s==="ltr"||s==="rtl")&&(_=o.canvas.style,j=[_.getPropertyValue("direction"),_.getPropertyPriority("direction")],_.setProperty("direction",s,"important"),o.prevTextDirection=j)}function restoreTextDirection(o,s){s!==void 0&&(delete o.prevTextDirection,o.canvas.style.setProperty("direction",s[0],s[1]))}function propertyFn(o){return o==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(s,_)=>s-_,normalize:s=>s}}function normalizeSegment({start:o,end:s,count:_,loop:j,style:$}){return{start:o%_,end:s%_,loop:j&&(s-o+1)%_===0,style:$}}function getSegment(o,s,_){const{property:j,start:$,end:_e}=_,{between:et,normalize:tt}=propertyFn(j),nt=s.length;let{start:rt,end:ot,loop:ut}=o,dt,Ut;if(ut){for(rt+=nt,ot+=nt,dt=0,Ut=nt;dtnt($,gt,Bt)&&tt($,gt)!==0,Ft=()=>tt(_e,Bt)===0||nt(_e,gt,Bt),yt=()=>ct||ft(),Ct=()=>!ct||Ft();for(let xt=ot,ht=ot;xt<=ut;++xt)Qt=s[xt%et],!Qt.skip&&(Bt=rt(Qt[j]),Bt!==gt&&(ct=nt(Bt,$,_e),pt===null&&yt()&&(pt=tt(Bt,$)===0?xt:ht),pt!==null&&Ct()&&(st.push(normalizeSegment({start:pt,end:xt,loop:dt,count:et,style:Ut})),pt=null),ht=xt,gt=Bt));return pt!==null&&st.push(normalizeSegment({start:pt,end:ut,loop:dt,count:et,style:Ut})),st}function _boundSegments(o,s){const _=[],j=o.segments;for(let $=0;$$&&o[_e%s].skip;)_e--;return _e%=s,{start:$,end:_e}}function solidSegments(o,s,_,j){const $=o.length,_e=[];let et=s,tt=o[s],nt;for(nt=s+1;nt<=_;++nt){const rt=o[nt%$];rt.skip||rt.stop?tt.skip||(j=!1,_e.push({start:s%$,end:(nt-1)%$,loop:j}),s=et=rt.stop?nt:null):(et=nt,tt.skip&&(s=nt)),tt=rt}return et!==null&&_e.push({start:s%$,end:et%$,loop:j}),_e}function _computeSegments(o,s){const _=o.points,j=o.options.spanGaps,$=_.length;if(!$)return[];const _e=!!o._loop,{start:et,end:tt}=findStartAndEnd(_,$,_e,j);if(j===!0)return splitByStyles(o,[{start:et,end:tt,loop:_e}],_,s);const nt=tttt({chart:s,initial:_.initial,numSteps:et,currentStep:Math.min(j-_.start,et)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(s=Date.now()){let _=0;this._charts.forEach((j,$)=>{if(!j.running||!j.items.length)return;const _e=j.items;let et=_e.length-1,tt=!1,nt;for(;et>=0;--et)nt=_e[et],nt._active?(nt._total>j.duration&&(j.duration=nt._total),nt.tick(s),tt=!0):(_e[et]=_e[_e.length-1],_e.pop());tt&&($.draw(),this._notify($,j,s,"progress")),_e.length||(j.running=!1,this._notify($,j,s,"complete"),j.initial=!1),_+=_e.length}),this._lastDate=s,_===0&&(this._running=!1)}_getAnims(s){const _=this._charts;let j=_.get(s);return j||(j={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},_.set(s,j)),j}listen(s,_,j){this._getAnims(s).listeners[_].push(j)}add(s,_){!_||!_.length||this._getAnims(s).items.push(..._)}has(s){return this._getAnims(s).items.length>0}start(s){const _=this._charts.get(s);_&&(_.running=!0,_.start=Date.now(),_.duration=_.items.reduce((j,$)=>Math.max(j,$._duration),0),this._refresh())}running(s){if(!this._running)return!1;const _=this._charts.get(s);return!(!_||!_.running||!_.items.length)}stop(s){const _=this._charts.get(s);if(!_||!_.items.length)return;const j=_.items;let $=j.length-1;for(;$>=0;--$)j[$].cancel();_.items=[],this._notify(s,_,Date.now(),"complete")}remove(s){return this._charts.delete(s)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(o,s,_){return _>.5?s:o},color(o,s,_){const j=color(o||transparent),$=j.valid&&color(s||transparent);return $&&$.valid?$.mix(j,_).hexString():s},number(o,s,_){return o+(s-o)*_}};class Animation{constructor(s,_,j,$){const _e=_[j];$=resolve([s.to,$,_e,s.from]);const et=resolve([s.from,_e,$]);this._active=!0,this._fn=s.fn||interpolators[s.type||typeof et],this._easing=effects[s.easing]||effects.linear,this._start=Math.floor(Date.now()+(s.delay||0)),this._duration=this._total=Math.floor(s.duration),this._loop=!!s.loop,this._target=_,this._prop=j,this._from=et,this._to=$,this._promises=void 0}active(){return this._active}update(s,_,j){if(this._active){this._notify(!1);const $=this._target[this._prop],_e=j-this._start,et=this._duration-_e;this._start=j,this._duration=Math.floor(Math.max(et,s.duration)),this._total+=_e,this._loop=!!s.loop,this._to=resolve([s.to,_,$,s.from]),this._from=resolve([s.from,$,_])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(s){const _=s-this._start,j=this._duration,$=this._prop,_e=this._from,et=this._loop,tt=this._to;let nt;if(this._active=_e!==tt&&(et||_1?2-nt:nt,nt=this._easing(Math.min(1,Math.max(0,nt))),this._target[$]=this._fn(_e,tt,nt)}wait(){const s=this._promises||(this._promises=[]);return new Promise((_,j)=>{s.push({res:_,rej:j})})}_notify(s){const _=s?"res":"rej",j=this._promises||[];for(let $=0;${const _e=s[$];if(!isObject(_e))return;const et={};for(const tt of _)et[tt]=_e[tt];(isArray(_e.properties)&&_e.properties||[$]).forEach(tt=>{(tt===$||!j.has(tt))&&j.set(tt,et)})})}_animateOptions(s,_){const j=_.options,$=resolveTargetOptions(s,j);if(!$)return[];const _e=this._createAnimations($,j);return j.$shared&&awaitAll(s.options.$animations,j).then(()=>{s.options=j},()=>{}),_e}_createAnimations(s,_){const j=this._properties,$=[],_e=s.$animations||(s.$animations={}),et=Object.keys(_),tt=Date.now();let nt;for(nt=et.length-1;nt>=0;--nt){const rt=et[nt];if(rt.charAt(0)==="$")continue;if(rt==="options"){$.push(...this._animateOptions(s,_));continue}const ot=_[rt];let ut=_e[rt];const dt=j.get(rt);if(ut)if(dt&&ut.active()){ut.update(dt,ot,tt);continue}else ut.cancel();if(!dt||!dt.duration){s[rt]=ot;continue}_e[rt]=ut=new Animation(dt,s,rt,ot),$.push(ut)}return $}update(s,_){if(this._properties.size===0){Object.assign(s,_);return}const j=this._createAnimations(s,_);if(j.length)return animator.add(this._chart,j),!0}}function awaitAll(o,s){const _=[],j=Object.keys(s);for(let $=0;$0||!_&&_e<0)return $.index}return null}function updateStacks(o,s){const{chart:_,_cachedMeta:j}=o,$=_._stacks||(_._stacks={}),{iScale:_e,vScale:et,index:tt}=j,nt=_e.axis,rt=et.axis,ot=getStackKey(_e,et,j),ut=s.length;let dt;for(let Ut=0;Ut_[j].axis===s).shift()}function createDatasetContext(o,s){return createContext(o,{active:!1,dataset:void 0,datasetIndex:s,index:s,mode:"default",type:"dataset"})}function createDataContext(o,s,_){return createContext(o,{active:!1,dataIndex:s,parsed:void 0,raw:void 0,element:_,index:s,mode:"default",type:"data"})}function clearStacks(o,s){const _=o.controller.index,j=o.vScale&&o.vScale.axis;if(j){s=s||o._parsed;for(const $ of s){const _e=$._stacks;if(!_e||_e[j]===void 0||_e[j][_]===void 0)return;delete _e[j][_],_e[j]._visualValues!==void 0&&_e[j]._visualValues[_]!==void 0&&delete _e[j]._visualValues[_]}}}const isDirectUpdateMode=o=>o==="reset"||o==="none",cloneIfNotShared=(o,s)=>s?o:Object.assign({},o),createStack=(o,s,_)=>o&&!s.hidden&&s._stacked&&{keys:getSortedDatasetIndices(_,!0),values:null};class DatasetController{constructor(s,_){this.chart=s,this._ctx=s.ctx,this.index=_,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const s=this._cachedMeta;this.configure(),this.linkScales(),s._stacked=isStacked(s.vScale,s),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(s){this.index!==s&&clearStacks(this._cachedMeta),this.index=s}linkScales(){const s=this.chart,_=this._cachedMeta,j=this.getDataset(),$=(ut,dt,Ut,st)=>ut==="x"?dt:ut==="r"?st:Ut,_e=_.xAxisID=valueOrDefault(j.xAxisID,getFirstScaleId(s,"x")),et=_.yAxisID=valueOrDefault(j.yAxisID,getFirstScaleId(s,"y")),tt=_.rAxisID=valueOrDefault(j.rAxisID,getFirstScaleId(s,"r")),nt=_.indexAxis,rt=_.iAxisID=$(nt,_e,et,tt),ot=_.vAxisID=$(nt,et,_e,tt);_.xScale=this.getScaleForId(_e),_.yScale=this.getScaleForId(et),_.rScale=this.getScaleForId(tt),_.iScale=this.getScaleForId(rt),_.vScale=this.getScaleForId(ot)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(s){return this.chart.scales[s]}_getOtherScale(s){const _=this._cachedMeta;return s===_.iScale?_.vScale:_.iScale}reset(){this._update("reset")}_destroy(){const s=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),s._stacked&&clearStacks(s)}_dataCheck(){const s=this.getDataset(),_=s.data||(s.data=[]),j=this._data;if(isObject(_)){const $=this._cachedMeta;this._data=convertObjectDataToArray(_,$)}else if(j!==_){if(j){unlistenArrayEvents(j,this);const $=this._cachedMeta;clearStacks($),$._parsed=[]}_&&Object.isExtensible(_)&&listenArrayEvents(_,this),this._syncList=[],this._data=_}}addElements(){const s=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(s.dataset=new this.datasetElementType)}buildOrUpdateElements(s){const _=this._cachedMeta,j=this.getDataset();let $=!1;this._dataCheck();const _e=_._stacked;_._stacked=isStacked(_.vScale,_),_.stack!==j.stack&&($=!0,clearStacks(_),_.stack=j.stack),this._resyncElements(s),($||_e!==_._stacked)&&(updateStacks(this,_._parsed),_._stacked=isStacked(_.vScale,_))}configure(){const s=this.chart.config,_=s.datasetScopeKeys(this._type),j=s.getOptionScopes(this.getDataset(),_,!0);this.options=s.createResolver(j,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(s,_){const{_cachedMeta:j,_data:$}=this,{iScale:_e,_stacked:et}=j,tt=_e.axis;let nt=s===0&&_===$.length?!0:j._sorted,rt=s>0&&j._parsed[s-1],ot,ut,dt;if(this._parsing===!1)j._parsed=$,j._sorted=!0,dt=$;else{isArray($[s])?dt=this.parseArrayData(j,$,s,_):isObject($[s])?dt=this.parseObjectData(j,$,s,_):dt=this.parsePrimitiveData(j,$,s,_);const Ut=()=>ut[tt]===null||rt&&ut[tt]ct||ut=0;--dt)if(!st()){this.updateRangeFromParsed(rt,s,Ut,nt);break}}return rt}getAllParsedValues(s){const _=this._cachedMeta._parsed,j=[];let $,_e,et;for($=0,_e=_.length;$<_e;++$)et=_[$][s.axis],isNumberFinite(et)&&j.push(et);return j}getMaxOverflow(){return!1}getLabelAndValue(s){const _=this._cachedMeta,j=_.iScale,$=_.vScale,_e=this.getParsed(s);return{label:j?""+j.getLabelForValue(_e[j.axis]):"",value:$?""+$.getLabelForValue(_e[$.axis]):""}}_update(s){const _=this._cachedMeta;this.update(s||"default"),_._clip=toClip(valueOrDefault(this.options.clip,defaultClip(_.xScale,_.yScale,this.getMaxOverflow())))}update(s){}draw(){const s=this._ctx,_=this.chart,j=this._cachedMeta,$=j.data||[],_e=_.chartArea,et=[],tt=this._drawStart||0,nt=this._drawCount||$.length-tt,rt=this.options.drawActiveElementsOnTop;let ot;for(j.dataset&&j.dataset.draw(s,_e,tt,nt),ot=tt;ot=0&&sthis.getContext(j,$,_),ct=rt.resolveNamedOptions(dt,Ut,st,ut);return ct.$shared&&(ct.$shared=nt,_e[et]=Object.freeze(cloneIfNotShared(ct,nt))),ct}_resolveAnimations(s,_,j){const $=this.chart,_e=this._cachedDataOpts,et=`animation-${_}`,tt=_e[et];if(tt)return tt;let nt;if($.options.animation!==!1){const ot=this.chart.config,ut=ot.datasetAnimationScopeKeys(this._type,_),dt=ot.getOptionScopes(this.getDataset(),ut);nt=ot.createResolver(dt,this.getContext(s,j,_))}const rt=new Animations($,nt&&nt.animations);return nt&&nt._cacheable&&(_e[et]=Object.freeze(rt)),rt}getSharedOptions(s){if(s.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},s))}includeOptions(s,_){return!_||isDirectUpdateMode(s)||this.chart._animationsDisabled}_getSharedOptions(s,_){const j=this.resolveDataElementOptions(s,_),$=this._sharedOptions,_e=this.getSharedOptions(j),et=this.includeOptions(_,_e)||_e!==$;return this.updateSharedOptions(_e,_,j),{sharedOptions:_e,includeOptions:et}}updateElement(s,_,j,$){isDirectUpdateMode($)?Object.assign(s,j):this._resolveAnimations(_,$).update(s,j)}updateSharedOptions(s,_,j){s&&!isDirectUpdateMode(_)&&this._resolveAnimations(void 0,_).update(s,j)}_setStyle(s,_,j,$){s.active=$;const _e=this.getStyle(_,$);this._resolveAnimations(_,j,$).update(s,{options:!$&&this.getSharedOptions(_e)||_e})}removeHoverStyle(s,_,j){this._setStyle(s,j,"active",!1)}setHoverStyle(s,_,j){this._setStyle(s,j,"active",!0)}_removeDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!1)}_setDatasetHoverStyle(){const s=this._cachedMeta.dataset;s&&this._setStyle(s,void 0,"active",!0)}_resyncElements(s){const _=this._data,j=this._cachedMeta.data;for(const[tt,nt,rt]of this._syncList)this[tt](nt,rt);this._syncList=[];const $=j.length,_e=_.length,et=Math.min(_e,$);et&&this.parse(0,et),_e>$?this._insertElements($,_e-$,s):_e<$&&this._removeElements(_e,$-_e)}_insertElements(s,_,j=!0){const $=this._cachedMeta,_e=$.data,et=s+_;let tt;const nt=rt=>{for(rt.length+=_,tt=rt.length-1;tt>=et;tt--)rt[tt]=rt[tt-_]};for(nt(_e),tt=s;tt$-_e))}return o._cache.$bar}function computeMinSampleSize(o){const s=o.iScale,_=getAllScaleValues(s,o.type);let j=s._length,$,_e,et,tt;const nt=()=>{et===32767||et===-32768||(defined(tt)&&(j=Math.min(j,Math.abs(et-tt)||j)),tt=et)};for($=0,_e=_.length;$<_e;++$)et=s.getPixelForValue(_[$]),nt();for(tt=void 0,$=0,_e=s.ticks.length;$<_e;++$)et=s.getPixelForTick($),nt();return j}function computeFitCategoryTraits(o,s,_,j){const $=_.barThickness;let _e,et;return isNullOrUndef($)?(_e=s.min*_.categoryPercentage,et=_.barPercentage):(_e=$*j,et=1),{chunk:_e/j,ratio:et,start:s.pixels[o]-_e/2}}function computeFlexCategoryTraits(o,s,_,j){const $=s.pixels,_e=$[o];let et=o>0?$[o-1]:null,tt=o<$.length-1?$[o+1]:null;const nt=_.categoryPercentage;et===null&&(et=_e-(tt===null?s.end-s.start:tt-_e)),tt===null&&(tt=_e+_e-et);const rt=_e-(_e-Math.min(et,tt))/2*nt;return{chunk:Math.abs(tt-et)/2*nt/j,ratio:_.barPercentage,start:rt}}function parseFloatBar(o,s,_,j){const $=_.parse(o[0],j),_e=_.parse(o[1],j),et=Math.min($,_e),tt=Math.max($,_e);let nt=et,rt=tt;Math.abs(et)>Math.abs(tt)&&(nt=tt,rt=et),s[_.axis]=rt,s._custom={barStart:nt,barEnd:rt,start:$,end:_e,min:et,max:tt}}function parseValue(o,s,_,j){return isArray(o)?parseFloatBar(o,s,_,j):s[_.axis]=_.parse(o,j),s}function parseArrayOrPrimitive(o,s,_,j){const $=o.iScale,_e=o.vScale,et=$.getLabels(),tt=$===_e,nt=[];let rt,ot,ut,dt;for(rt=_,ot=_+j;rt=_?1:-1)}function borderProps(o){let s,_,j,$,_e;return o.horizontal?(s=o.base>o.x,_="left",j="right"):(s=o.baseot.controller.options.grouped),_e=j.options.stacked,et=[],tt=this._cachedMeta.controller.getParsed(_),nt=tt&&tt[j.axis],rt=ot=>{const ut=ot._parsed.find(Ut=>Ut[j.axis]===nt),dt=ut&&ut[ot.vScale.axis];if(isNullOrUndef(dt)||isNaN(dt))return!0};for(const ot of $)if(!(_!==void 0&&rt(ot))&&((_e===!1||et.indexOf(ot.stack)===-1||_e===void 0&&ot.stack===void 0)&&et.push(ot.stack),ot.index===s))break;return et.length||et.push(void 0),et}_getStackCount(s){return this._getStacks(void 0,s).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const s=this.chart.scales,_=this.chart.options.indexAxis;return Object.keys(s).filter(j=>s[j].axis===_).shift()}_getAxis(){const s={},_=this.getFirstScaleIdForIndexAxis();for(const j of this.chart.data.datasets)s[valueOrDefault(this.chart.options.indexAxis==="x"?j.xAxisID:j.yAxisID,_)]=!0;return Object.keys(s)}_getStackIndex(s,_,j){const $=this._getStacks(s,j),_e=_!==void 0?$.indexOf(_):-1;return _e===-1?$.length-1:_e}_getRuler(){const s=this.options,_=this._cachedMeta,j=_.iScale,$=[];let _e,et;for(_e=0,et=_.data.length;_e=0;--j)_=Math.max(_,s[j].size(this.resolveDataElementOptions(j))/2);return _>0&&_}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:_e}=_,et=this.getParsed(s),tt=$.getLabelForValue(et.x),nt=_e.getLabelForValue(et.y),rt=et._custom;return{label:j[s]||"",value:"("+tt+", "+nt+(rt?", "+rt:"")+")"}}update(s){const _=this._cachedMeta.data;this.updateElements(_,0,_.length,s)}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt}=this._cachedMeta,{sharedOptions:nt,includeOptions:rt}=this._getSharedOptions(_,$),ot=et.axis,ut=tt.axis;for(let dt=_;dt<_+j;dt++){const Ut=s[dt],st=!_e&&this.getParsed(dt),ct={},pt=ct[ot]=_e?et.getPixelForDecimal(.5):et.getPixelForValue(st[ot]),Bt=ct[ut]=_e?tt.getBasePixel():tt.getPixelForValue(st[ut]);ct.skip=isNaN(pt)||isNaN(Bt),rt&&(ct.options=nt||this.resolveDataElementOptions(dt,Ut.active?"active":$),_e&&(ct.options.radius=0)),this.updateElement(Ut,dt,ct,$)}}resolveDataElementOptions(s,_){const j=this.getParsed(s);let $=super.resolveDataElementOptions(s,_);$.$shared&&($=Object.assign({},$,{$shared:!1}));const _e=$.radius;return _!=="active"&&($.radius=0),$.radius+=valueOrDefault(j&&j._custom,_e),$}}On(BubbleController,"id","bubble"),On(BubbleController,"defaults",{datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}}),On(BubbleController,"overrides",{scales:{x:{type:"linear"},y:{type:"linear"}}});function getRatioAndOffset(o,s,_){let j=1,$=1,_e=0,et=0;if(s_angleBetween(gt,tt,nt,!0)?1:Math.max(ft,ft*_,Ft,Ft*_),st=(gt,ft,Ft)=>_angleBetween(gt,tt,nt,!0)?-1:Math.min(ft,ft*_,Ft,Ft*_),ct=Ut(0,rt,ut),pt=Ut(HALF_PI,ot,dt),Bt=st(PI,rt,ut),Qt=st(PI+HALF_PI,ot,dt);j=(ct-Bt)/2,$=(pt-Qt)/2,_e=-(ct+Bt)/2,et=-(pt+Qt)/2}return{ratioX:j,ratioY:$,offsetX:_e,offsetY:et}}class DoughnutController extends DatasetController{constructor(s,_){super(s,_),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(s,_){const j=this.getDataset().data,$=this._cachedMeta;if(this._parsing===!1)$._parsed=j;else{let _e=nt=>+j[nt];if(isObject(j[s])){const{key:nt="value"}=this._parsing;_e=rt=>+resolveObjectKey(j[rt],nt)}let et,tt;for(et=s,tt=s+_;et0&&!isNaN(s)?TAU*(Math.abs(s)/_):0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],_e=formatNumber(_._parsed[s],j.options.locale);return{label:$[s]||"",value:_e}}getMaxBorderWidth(s){let _=0;const j=this.chart;let $,_e,et,tt,nt;if(!s){for($=0,_e=j.data.datasets.length;$<_e;++$)if(j.isDatasetVisible($)){et=j.getDatasetMeta($),s=et.data,tt=et.controller;break}}if(!s)return 0;for($=0,_e=s.length;$<_e;++$)nt=tt.resolveDataElementOptions($),nt.borderAlign!=="inner"&&(_=Math.max(_,nt.borderWidth||0,nt.hoverBorderWidth||0));return _}getMaxOffset(s){let _=0;for(let j=0,$=s.length;j<$;++j){const _e=this.resolveDataElementOptions(j);_=Math.max(_,_e.offset||0,_e.hoverOffset||0)}return _}_getRingWeightOffset(s){let _=0;for(let j=0;js!=="spacing",_indexable:s=>s!=="spacing"&&!s.startsWith("borderDash")&&!s.startsWith("hoverBorderDash")}),On(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((_e,et)=>{const nt=s.getDatasetMeta(0).controller.getStyle(et);return{text:_e,fillStyle:nt.backgroundColor,strokeStyle:nt.borderColor,fontColor:$,lineWidth:nt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(et),index:et}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(s){const _=this._cachedMeta,{dataset:j,data:$=[],_dataset:_e}=_,et=this.chart._animationsDisabled;let{start:tt,count:nt}=_getStartAndCountOfVisiblePoints(_,$,et);this._drawStart=tt,this._drawCount=nt,_scaleRangesChanged(_)&&(tt=0,nt=$.length),j._chart=this.chart,j._datasetIndex=this.index,j._decimated=!!_e._decimated,j.points=$;const rt=this.resolveDatasetElementOptions(s);this.options.showLine||(rt.borderWidth=0),rt.segment=this.options.segment,this.updateElement(j,void 0,{animated:!et,options:rt},s),this.updateElements($,tt,nt,s)}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt,_stacked:nt,_dataset:rt}=this._cachedMeta,{sharedOptions:ot,includeOptions:ut}=this._getSharedOptions(_,$),dt=et.axis,Ut=tt.axis,{spanGaps:st,segment:ct}=this.options,pt=isNumber(st)?st:Number.POSITIVE_INFINITY,Bt=this.chart._animationsDisabled||_e||$==="none",Qt=_+j,gt=s.length;let ft=_>0&&this.getParsed(_-1);for(let Ft=0;Ft=Qt){Ct.skip=!0;continue}const xt=this.getParsed(Ft),ht=isNullOrUndef(xt[Ut]),mt=Ct[dt]=et.getPixelForValue(xt[dt],Ft),It=Ct[Ut]=_e||ht?tt.getBasePixel():tt.getPixelForValue(nt?this.applyStack(tt,xt,nt):xt[Ut],Ft);Ct.skip=isNaN(mt)||isNaN(It)||ht,Ct.stop=Ft>0&&Math.abs(xt[dt]-ft[dt])>pt,ct&&(Ct.parsed=xt,Ct.raw=rt.data[Ft]),ut&&(Ct.options=ot||this.resolveDataElementOptions(Ft,yt.active?"active":$)),Bt||this.updateElement(yt,Ft,Ct,$),ft=xt}}getMaxOverflow(){const s=this._cachedMeta,_=s.dataset,j=_.options&&_.options.borderWidth||0,$=s.data||[];if(!$.length)return j;const _e=$[0].size(this.resolveDataElementOptions(0)),et=$[$.length-1].size(this.resolveDataElementOptions($.length-1));return Math.max(j,_e,et)/2}draw(){const s=this._cachedMeta;s.dataset.updateControlPoints(this.chart.chartArea,s.iScale.axis),super.draw()}}On(LineController,"id","line"),On(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),On(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(s,_){super(s,_),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(s){const _=this._cachedMeta,j=this.chart,$=j.data.labels||[],_e=formatNumber(_._parsed[s].r,j.options.locale);return{label:$[s]||"",value:_e}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta.data;this._updateRadius(),this.updateElements(_,0,_.length,s)}getMinMax(){const s=this._cachedMeta,_={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return s.data.forEach((j,$)=>{const _e=this.getParsed($).r;!isNaN(_e)&&this.chart.getDataVisibility($)&&(_e<_.min&&(_.min=_e),_e>_.max&&(_.max=_e))}),_}_updateRadius(){const s=this.chart,_=s.chartArea,j=s.options,$=Math.min(_.right-_.left,_.bottom-_.top),_e=Math.max($/2,0),et=Math.max(j.cutoutPercentage?_e/100*j.cutoutPercentage:1,0),tt=(_e-et)/s.getVisibleDatasetCount();this.outerRadius=_e-tt*this.index,this.innerRadius=this.outerRadius-tt}updateElements(s,_,j,$){const _e=$==="reset",et=this.chart,nt=et.options.animation,rt=this._cachedMeta.rScale,ot=rt.xCenter,ut=rt.yCenter,dt=rt.getIndexAngle(0)-.5*PI;let Ut=dt,st;const ct=360/this.countVisibleElements();for(st=0;st<_;++st)Ut+=this._computeAngle(st,$,ct);for(st=_;st<_+j;st++){const pt=s[st];let Bt=Ut,Qt=Ut+this._computeAngle(st,$,ct),gt=et.getDataVisibility(st)?rt.getDistanceFromCenterForValue(this.getParsed(st).r):0;Ut=Qt,_e&&(nt.animateScale&&(gt=0),nt.animateRotate&&(Bt=Qt=dt));const ft={x:ot,y:ut,innerRadius:0,outerRadius:gt,startAngle:Bt,endAngle:Qt,options:this.resolveDataElementOptions(st,pt.active?"active":$)};this.updateElement(pt,st,ft,$)}}countVisibleElements(){const s=this._cachedMeta;let _=0;return s.data.forEach((j,$)=>{!isNaN(this.getParsed($).r)&&this.chart.getDataVisibility($)&&_++}),_}_computeAngle(s,_,j){return this.chart.getDataVisibility(s)?toRadians(this.resolveDataElementOptions(s,_).angle||j):0}}On(PolarAreaController,"id","polarArea"),On(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),On(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(s){const _=s.data;if(_.labels.length&&_.datasets.length){const{labels:{pointStyle:j,color:$}}=s.legend.options;return _.labels.map((_e,et)=>{const nt=s.getDatasetMeta(0).controller.getStyle(et);return{text:_e,fillStyle:nt.backgroundColor,strokeStyle:nt.borderColor,fontColor:$,lineWidth:nt.borderWidth,pointStyle:j,hidden:!s.getDataVisibility(et),index:et}})}return[]}},onClick(s,_,j){j.chart.toggleDataVisibility(_.index),j.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}On(PieController,"id","pie"),On(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});class RadarController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta.vScale,j=this.getParsed(s);return{label:_.getLabels()[s],value:""+_.getLabelForValue(j[_.axis])}}parseObjectData(s,_,j,$){return _parseObjectDataRadialScale.bind(this)(s,_,j,$)}update(s){const _=this._cachedMeta,j=_.dataset,$=_.data||[],_e=_.iScale.getLabels();if(j.points=$,s!=="resize"){const et=this.resolveDatasetElementOptions(s);this.options.showLine||(et.borderWidth=0);const tt={_loop:!0,_fullLoop:_e.length===$.length,options:et};this.updateElement(j,void 0,tt,s)}this.updateElements($,0,$.length,s)}updateElements(s,_,j,$){const _e=this._cachedMeta.rScale,et=$==="reset";for(let tt=_;tt<_+j;tt++){const nt=s[tt],rt=this.resolveDataElementOptions(tt,nt.active?"active":$),ot=_e.getPointPositionForValue(tt,this.getParsed(tt).r),ut=et?_e.xCenter:ot.x,dt=et?_e.yCenter:ot.y,Ut={x:ut,y:dt,angle:ot.angle,skip:isNaN(ut)||isNaN(dt),options:rt};this.updateElement(nt,tt,Ut,$)}}}On(RadarController,"id","radar"),On(RadarController,"defaults",{datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}}),On(RadarController,"overrides",{aspectRatio:1,scales:{r:{type:"radialLinear"}}});class ScatterController extends DatasetController{getLabelAndValue(s){const _=this._cachedMeta,j=this.chart.data.labels||[],{xScale:$,yScale:_e}=_,et=this.getParsed(s),tt=$.getLabelForValue(et.x),nt=_e.getLabelForValue(et.y);return{label:j[s]||"",value:"("+tt+", "+nt+")"}}update(s){const _=this._cachedMeta,{data:j=[]}=_,$=this.chart._animationsDisabled;let{start:_e,count:et}=_getStartAndCountOfVisiblePoints(_,j,$);if(this._drawStart=_e,this._drawCount=et,_scaleRangesChanged(_)&&(_e=0,et=j.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:tt,_dataset:nt}=_;tt._chart=this.chart,tt._datasetIndex=this.index,tt._decimated=!!nt._decimated,tt.points=j;const rt=this.resolveDatasetElementOptions(s);rt.segment=this.options.segment,this.updateElement(tt,void 0,{animated:!$,options:rt},s)}else this.datasetElementType&&(delete _.dataset,this.datasetElementType=!1);this.updateElements(j,_e,et,s)}addElements(){const{showLine:s}=this.options;!this.datasetElementType&&s&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(s,_,j,$){const _e=$==="reset",{iScale:et,vScale:tt,_stacked:nt,_dataset:rt}=this._cachedMeta,ot=this.resolveDataElementOptions(_,$),ut=this.getSharedOptions(ot),dt=this.includeOptions($,ut),Ut=et.axis,st=tt.axis,{spanGaps:ct,segment:pt}=this.options,Bt=isNumber(ct)?ct:Number.POSITIVE_INFINITY,Qt=this.chart._animationsDisabled||_e||$==="none";let gt=_>0&&this.getParsed(_-1);for(let ft=_;ft<_+j;++ft){const Ft=s[ft],yt=this.getParsed(ft),Ct=Qt?Ft:{},xt=isNullOrUndef(yt[st]),ht=Ct[Ut]=et.getPixelForValue(yt[Ut],ft),mt=Ct[st]=_e||xt?tt.getBasePixel():tt.getPixelForValue(nt?this.applyStack(tt,yt,nt):yt[st],ft);Ct.skip=isNaN(ht)||isNaN(mt)||xt,Ct.stop=ft>0&&Math.abs(yt[Ut]-gt[Ut])>Bt,pt&&(Ct.parsed=yt,Ct.raw=rt.data[ft]),dt&&(Ct.options=ut||this.resolveDataElementOptions(ft,Ft.active?"active":$)),Qt||this.updateElement(Ft,ft,Ct,$),gt=yt}this.updateSharedOptions(ut,$,ot)}getMaxOverflow(){const s=this._cachedMeta,_=s.data||[];if(!this.options.showLine){let tt=0;for(let nt=_.length-1;nt>=0;--nt)tt=Math.max(tt,_[nt].size(this.resolveDataElementOptions(nt))/2);return tt>0&&tt}const j=s.dataset,$=j.options&&j.options.borderWidth||0;if(!_.length)return $;const _e=_[0].size(this.resolveDataElementOptions(0)),et=_[_.length-1].size(this.resolveDataElementOptions(_.length-1));return Math.max($,_e,et)/2}}On(ScatterController,"id","scatter"),On(ScatterController,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),On(ScatterController,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PieController,PolarAreaController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{constructor(s){On(this,"options");this.options=s||{}}static override(s){Object.assign(DateAdapterBase.prototype,s)}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(o,s,_,j){const{controller:$,data:_e,_sorted:et}=o,tt=$._cachedMeta.iScale,nt=o.dataset&&o.dataset.options?o.dataset.options.spanGaps:null;if(tt&&s===tt.axis&&s!=="r"&&et&&_e.length){const rt=tt._reversePixels?_rlookupByKey:_lookupByKey;if(j){if($._sharedOptions){const ot=_e[0],ut=typeof ot.getRange=="function"&&ot.getRange(s);if(ut){const dt=rt(_e,s,_-ut),Ut=rt(_e,s,_+ut);return{lo:dt.lo,hi:Ut.hi}}}}else{const ot=rt(_e,s,_);if(nt){const{vScale:ut}=$._cachedMeta,{_parsed:dt}=o,Ut=dt.slice(0,ot.lo+1).reverse().findIndex(ct=>!isNullOrUndef(ct[ut.axis]));ot.lo-=Math.max(0,Ut);const st=dt.slice(ot.hi).findIndex(ct=>!isNullOrUndef(ct[ut.axis]));ot.hi+=Math.max(0,st)}return ot}}return{lo:0,hi:_e.length-1}}function evaluateInteractionItems(o,s,_,j,$){const _e=o.getSortedVisibleDatasetMetas(),et=_[s];for(let tt=0,nt=_e.length;tt{nt[et]&&nt[et](s[_],$)&&(_e.push({element:nt,datasetIndex:rt,index:ot}),tt=tt||nt.inRange(s.x,s.y,$))}),j&&!tt?[]:_e}var Interaction={evaluateInteractionItems,modes:{index(o,s,_,j){const $=getRelativePosition(s,o),_e=_.axis||"x",et=_.includeInvisible||!1,tt=_.intersect?getIntersectItems(o,$,_e,j,et):getNearestItems(o,$,_e,!1,j,et),nt=[];return tt.length?(o.getSortedVisibleDatasetMetas().forEach(rt=>{const ot=tt[0].index,ut=rt.data[ot];ut&&!ut.skip&&nt.push({element:ut,datasetIndex:rt.index,index:ot})}),nt):[]},dataset(o,s,_,j){const $=getRelativePosition(s,o),_e=_.axis||"xy",et=_.includeInvisible||!1;let tt=_.intersect?getIntersectItems(o,$,_e,j,et):getNearestItems(o,$,_e,!1,j,et);if(tt.length>0){const nt=tt[0].datasetIndex,rt=o.getDatasetMeta(nt).data;tt=[];for(let ot=0;ot_.pos===s)}function filterDynamicPositionByAxis(o,s){return o.filter(_=>STATIC_POSITIONS.indexOf(_.pos)===-1&&_.box.axis===s)}function sortByWeight(o,s){return o.sort((_,j)=>{const $=s?j:_,_e=s?_:j;return $.weight===_e.weight?$.index-_e.index:$.weight-_e.weight})}function wrapBoxes(o){const s=[];let _,j,$,_e,et,tt;for(_=0,j=(o||[]).length;_rt.box.fullSize),!0),j=sortByWeight(filterByPosition(s,"left"),!0),$=sortByWeight(filterByPosition(s,"right")),_e=sortByWeight(filterByPosition(s,"top"),!0),et=sortByWeight(filterByPosition(s,"bottom")),tt=filterDynamicPositionByAxis(s,"x"),nt=filterDynamicPositionByAxis(s,"y");return{fullSize:_,leftAndTop:j.concat(_e),rightAndBottom:$.concat(nt).concat(et).concat(tt),chartArea:filterByPosition(s,"chartArea"),vertical:j.concat($).concat(nt),horizontal:_e.concat(et).concat(tt)}}function getCombinedMax(o,s,_,j){return Math.max(o[_],s[_])+Math.max(o[j],s[j])}function updateMaxPadding(o,s){o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}function updateDims(o,s,_,j){const{pos:$,box:_e}=_,et=o.maxPadding;if(!isObject($)){_.size&&(o[$]-=_.size);const ut=j[_.stack]||{size:0,count:1};ut.size=Math.max(ut.size,_.horizontal?_e.height:_e.width),_.size=ut.size/ut.count,o[$]+=_.size}_e.getPadding&&updateMaxPadding(et,_e.getPadding());const tt=Math.max(0,s.outerWidth-getCombinedMax(et,o,"left","right")),nt=Math.max(0,s.outerHeight-getCombinedMax(et,o,"top","bottom")),rt=tt!==o.w,ot=nt!==o.h;return o.w=tt,o.h=nt,_.horizontal?{same:rt,other:ot}:{same:ot,other:rt}}function handleMaxPadding(o){const s=o.maxPadding;function _(j){const $=Math.max(s[j]-o[j],0);return o[j]+=$,$}o.y+=_("top"),o.x+=_("left"),_("right"),_("bottom")}function getMargins(o,s){const _=s.maxPadding;function j($){const _e={left:0,top:0,right:0,bottom:0};return $.forEach(et=>{_e[et]=Math.max(s[et],_[et])}),_e}return j(o?["left","right"]:["top","bottom"])}function fitBoxes(o,s,_,j){const $=[];let _e,et,tt,nt,rt,ot;for(_e=0,et=o.length,rt=0;_e{typeof ct.beforeLayout=="function"&&ct.beforeLayout()});const ot=nt.reduce((ct,pt)=>pt.box.options&&pt.box.options.display===!1?ct:ct+1,0)||1,ut=Object.freeze({outerWidth:s,outerHeight:_,padding:$,availableWidth:_e,availableHeight:et,vBoxMaxWidth:_e/2/ot,hBoxMaxHeight:et/2}),dt=Object.assign({},$);updateMaxPadding(dt,toPadding(j));const Ut=Object.assign({maxPadding:dt,w:_e,h:et,x:$.left,y:$.top},$),st=setLayoutDims(nt.concat(rt),ut);fitBoxes(tt.fullSize,Ut,ut,st),fitBoxes(nt,Ut,ut,st),fitBoxes(rt,Ut,ut,st)&&fitBoxes(nt,Ut,ut,st),handleMaxPadding(Ut),placeBoxes(tt.leftAndTop,Ut,ut,st),Ut.x+=Ut.w,Ut.y+=Ut.h,placeBoxes(tt.rightAndBottom,Ut,ut,st),o.chartArea={left:Ut.left,top:Ut.top,right:Ut.left+Ut.w,bottom:Ut.top+Ut.h,height:Ut.h,width:Ut.w},each(tt.chartArea,ct=>{const pt=ct.box;Object.assign(pt,o.chartArea),pt.update(Ut.w,Ut.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(s,_){}releaseContext(s){return!1}addEventListener(s,_,j){}removeEventListener(s,_,j){}getDevicePixelRatio(){return 1}getMaximumSize(s,_,j,$){return _=Math.max(0,_||s.width),j=j||s.height,{width:_,height:Math.max(0,$?Math.floor(_/$):j)}}isAttached(s){return!0}updateConfig(s){}}class BasicPlatform extends BasePlatform{acquireContext(s){return s&&s.getContext&&s.getContext("2d")||null}updateConfig(s){s.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=o=>o===null||o==="";function initCanvas(o,s){const _=o.style,j=o.getAttribute("height"),$=o.getAttribute("width");if(o[EXPANDO_KEY]={initial:{height:j,width:$,style:{display:_.display,height:_.height,width:_.width}}},_.display=_.display||"block",_.boxSizing=_.boxSizing||"border-box",isNullOrEmpty($)){const _e=readUsedSize(o,"width");_e!==void 0&&(o.width=_e)}if(isNullOrEmpty(j))if(o.style.height==="")o.height=o.width/(s||2);else{const _e=readUsedSize(o,"height");_e!==void 0&&(o.height=_e)}return o}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(o,s,_){o&&o.addEventListener(s,_,eventListenerOptions)}function removeListener(o,s,_){o&&o.canvas&&o.canvas.removeEventListener(s,_,eventListenerOptions)}function fromNativeEvent(o,s){const _=EVENT_TYPES[o.type]||o.type,{x:j,y:$}=getRelativePosition(o,s);return{type:_,chart:s,native:o,x:j!==void 0?j:null,y:$!==void 0?$:null}}function nodeListContains(o,s){for(const _ of o)if(_===s||_.contains(s))return!0}function createAttachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(_e=>{let et=!1;for(const tt of _e)et=et||nodeListContains(tt.addedNodes,j),et=et&&!nodeListContains(tt.removedNodes,j);et&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}function createDetachObserver(o,s,_){const j=o.canvas,$=new MutationObserver(_e=>{let et=!1;for(const tt of _e)et=et||nodeListContains(tt.removedNodes,j),et=et&&!nodeListContains(tt.addedNodes,j);et&&_()});return $.observe(document,{childList:!0,subtree:!0}),$}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const o=window.devicePixelRatio;o!==oldDevicePixelRatio&&(oldDevicePixelRatio=o,drpListeningCharts.forEach((s,_)=>{_.currentDevicePixelRatio!==o&&s()}))}function listenDevicePixelRatioChanges(o,s){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(o,s)}function unlistenDevicePixelRatioChanges(o){drpListeningCharts.delete(o),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(o,s,_){const j=o.canvas,$=j&&_getParentNode(j);if(!$)return;const _e=throttled((tt,nt)=>{const rt=$.clientWidth;_(tt,nt),rt<$.clientWidth&&_()},window),et=new ResizeObserver(tt=>{const nt=tt[0],rt=nt.contentRect.width,ot=nt.contentRect.height;rt===0&&ot===0||_e(rt,ot)});return et.observe($),listenDevicePixelRatioChanges(o,_e),et}function releaseObserver(o,s,_){_&&_.disconnect(),s==="resize"&&unlistenDevicePixelRatioChanges(o)}function createProxyAndListen(o,s,_){const j=o.canvas,$=throttled(_e=>{o.ctx!==null&&_(fromNativeEvent(_e,o))},o);return addListener(j,s,$),$}class DomPlatform extends BasePlatform{acquireContext(s,_){const j=s&&s.getContext&&s.getContext("2d");return j&&j.canvas===s?(initCanvas(s,_),j):null}releaseContext(s){const _=s.canvas;if(!_[EXPANDO_KEY])return!1;const j=_[EXPANDO_KEY].initial;["height","width"].forEach(_e=>{const et=j[_e];isNullOrUndef(et)?_.removeAttribute(_e):_.setAttribute(_e,et)});const $=j.style||{};return Object.keys($).forEach(_e=>{_.style[_e]=$[_e]}),_.width=_.width,delete _[EXPANDO_KEY],!0}addEventListener(s,_,j){this.removeEventListener(s,_);const $=s.$proxies||(s.$proxies={}),et={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[_]||createProxyAndListen;$[_]=et(s,_,j)}removeEventListener(s,_){const j=s.$proxies||(s.$proxies={}),$=j[_];if(!$)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[_]||removeListener)(s,_,$),j[_]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(s,_,j,$){return getMaximumSize(s,_,j,$)}isAttached(s){const _=s&&_getParentNode(s);return!!(_&&_.isConnected)}}function _detectPlatform(o){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&o instanceof OffscreenCanvas?BasicPlatform:DomPlatform}class Element{constructor(){On(this,"x");On(this,"y");On(this,"active",!1);On(this,"options");On(this,"$animations")}tooltipPosition(s){const{x:_,y:j}=this.getProps(["x","y"],s);return{x:_,y:j}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(s,_){const j=this.$animations;if(!_||!j)return this;const $={};return s.forEach(_e=>{$[_e]=j[_e]&&j[_e].active()?j[_e]._to:this[_e]}),$}}On(Element,"defaults",{}),On(Element,"defaultRoutes");function autoSkip(o,s){const _=o.options.ticks,j=determineMaxTicks(o),$=Math.min(_.maxTicksLimit||j,j),_e=_.major.enabled?getMajorIndices(s):[],et=_e.length,tt=_e[0],nt=_e[et-1],rt=[];if(et>$)return skipMajors(s,rt,_e,et/$),rt;const ot=calculateSpacing(_e,s,$);if(et>0){let ut,dt;const Ut=et>1?Math.round((nt-tt)/(et-1)):null;for(skip(s,rt,ot,isNullOrUndef(Ut)?0:tt-Ut,tt),ut=0,dt=et-1;ut$)return nt}return Math.max($,1)}function getMajorIndices(o){const s=[];let _,j;for(_=0,j=o.length;_o==="left"?"right":o==="right"?"left":o,offsetFromEdge=(o,s,_)=>s==="top"||s==="left"?o[s]+_:o[s]-_,getTicksLimit=(o,s)=>Math.min(s||o,o);function sample(o,s){const _=[],j=o.length/s,$=o.length;let _e=0;for(;_e<$;_e+=j)_.push(o[Math.floor(_e)]);return _}function getPixelForGridLine(o,s,_){const j=o.ticks.length,$=Math.min(s,j-1),_e=o._startPixel,et=o._endPixel,tt=1e-6;let nt=o.getPixelForTick($),rt;if(!(_&&(j===1?rt=Math.max(nt-_e,et-nt):s===0?rt=(o.getPixelForTick(1)-nt)/2:rt=(nt-o.getPixelForTick($-1))/2,nt+=$et+tt)))return nt}function garbageCollect(o,s){each(o,_=>{const j=_.gc,$=j.length/2;let _e;if($>s){for(_e=0;_e<$;++_e)delete _.data[j[_e]];j.splice(0,$)}})}function getTickMarkLength(o){return o.drawTicks?o.tickLength:0}function getTitleHeight(o,s){if(!o.display)return 0;const _=toFont(o.font,s),j=toPadding(o.padding);return(isArray(o.text)?o.text.length:1)*_.lineHeight+j.height}function createScaleContext(o,s){return createContext(o,{scale:s,type:"scale"})}function createTickContext(o,s,_){return createContext(o,{tick:_,index:s,type:"tick"})}function titleAlign(o,s,_){let j=_toLeftRightCenter(o);return(_&&s!=="right"||!_&&s==="right")&&(j=reverseAlign(j)),j}function titleArgs(o,s,_,j){const{top:$,left:_e,bottom:et,right:tt,chart:nt}=o,{chartArea:rt,scales:ot}=nt;let ut=0,dt,Ut,st;const ct=et-$,pt=tt-_e;if(o.isHorizontal()){if(Ut=_alignStartEnd(j,_e,tt),isObject(_)){const Bt=Object.keys(_)[0],Qt=_[Bt];st=ot[Bt].getPixelForValue(Qt)+ct-s}else _==="center"?st=(rt.bottom+rt.top)/2+ct-s:st=offsetFromEdge(o,_,s);dt=tt-_e}else{if(isObject(_)){const Bt=Object.keys(_)[0],Qt=_[Bt];Ut=ot[Bt].getPixelForValue(Qt)-pt+s}else _==="center"?Ut=(rt.left+rt.right)/2-pt+s:Ut=offsetFromEdge(o,_,s);st=_alignStartEnd(j,et,$),ut=_==="left"?-HALF_PI:HALF_PI}return{titleX:Ut,titleY:st,maxWidth:dt,rotation:ut}}class Scale extends Element{constructor(s){super(),this.id=s.id,this.type=s.type,this.options=void 0,this.ctx=s.ctx,this.chart=s.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(s){this.options=s.setContext(this.getContext()),this.axis=s.axis,this._userMin=this.parse(s.min),this._userMax=this.parse(s.max),this._suggestedMin=this.parse(s.suggestedMin),this._suggestedMax=this.parse(s.suggestedMax)}parse(s,_){return s}getUserBounds(){let{_userMin:s,_userMax:_,_suggestedMin:j,_suggestedMax:$}=this;return s=finiteOrDefault(s,Number.POSITIVE_INFINITY),_=finiteOrDefault(_,Number.NEGATIVE_INFINITY),j=finiteOrDefault(j,Number.POSITIVE_INFINITY),$=finiteOrDefault($,Number.NEGATIVE_INFINITY),{min:finiteOrDefault(s,j),max:finiteOrDefault(_,$),minDefined:isNumberFinite(s),maxDefined:isNumberFinite(_)}}getMinMax(s){let{min:_,max:j,minDefined:$,maxDefined:_e}=this.getUserBounds(),et;if($&&_e)return{min:_,max:j};const tt=this.getMatchingVisibleMetas();for(let nt=0,rt=tt.length;ntj?j:_,j=$&&_>j?_:j,{min:finiteOrDefault(_,finiteOrDefault(j,_)),max:finiteOrDefault(j,finiteOrDefault(_,j))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const s=this.chart.data;return this.options.labels||(this.isHorizontal()?s.xLabels:s.yLabels)||s.labels||[]}getLabelItems(s=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(s))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(s,_,j){const{beginAtZero:$,grace:_e,ticks:et}=this.options,tt=et.sampleSize;this.beforeUpdate(),this.maxWidth=s,this.maxHeight=_,this._margins=j=Object.assign({left:0,right:0,top:0,bottom:0},j),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+j.left+j.right:this.height+j.top+j.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,_e,$),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const nt=tt=_e||j<=1||!this.isHorizontal()){this.labelRotation=$;return}const ot=this._getLabelSizes(),ut=ot.widest.width,dt=ot.highest.height,Ut=_limitValue(this.chart.width-ut,0,this.maxWidth);tt=s.offset?this.maxWidth/j:Ut/(j-1),ut+6>tt&&(tt=Ut/(j-(s.offset?.5:1)),nt=this.maxHeight-getTickMarkLength(s.grid)-_.padding-getTitleHeight(s.title,this.chart.options.font),rt=Math.sqrt(ut*ut+dt*dt),et=toDegrees(Math.min(Math.asin(_limitValue((ot.highest.height+6)/tt,-1,1)),Math.asin(_limitValue(nt/rt,-1,1))-Math.asin(_limitValue(dt/rt,-1,1)))),et=Math.max($,Math.min(_e,et))),this.labelRotation=et}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const s={width:0,height:0},{chart:_,options:{ticks:j,title:$,grid:_e}}=this,et=this._isVisible(),tt=this.isHorizontal();if(et){const nt=getTitleHeight($,_.options.font);if(tt?(s.width=this.maxWidth,s.height=getTickMarkLength(_e)+nt):(s.height=this.maxHeight,s.width=getTickMarkLength(_e)+nt),j.display&&this.ticks.length){const{first:rt,last:ot,widest:ut,highest:dt}=this._getLabelSizes(),Ut=j.padding*2,st=toRadians(this.labelRotation),ct=Math.cos(st),pt=Math.sin(st);if(tt){const Bt=j.mirror?0:pt*ut.width+ct*dt.height;s.height=Math.min(this.maxHeight,s.height+Bt+Ut)}else{const Bt=j.mirror?0:ct*ut.width+pt*dt.height;s.width=Math.min(this.maxWidth,s.width+Bt+Ut)}this._calculatePadding(rt,ot,pt,ct)}}this._handleMargins(),tt?(this.width=this._length=_.width-this._margins.left-this._margins.right,this.height=s.height):(this.width=s.width,this.height=this._length=_.height-this._margins.top-this._margins.bottom)}_calculatePadding(s,_,j,$){const{ticks:{align:_e,padding:et},position:tt}=this.options,nt=this.labelRotation!==0,rt=tt!=="top"&&this.axis==="x";if(this.isHorizontal()){const ot=this.getPixelForTick(0)-this.left,ut=this.right-this.getPixelForTick(this.ticks.length-1);let dt=0,Ut=0;nt?rt?(dt=$*s.width,Ut=j*_.height):(dt=j*s.height,Ut=$*_.width):_e==="start"?Ut=_.width:_e==="end"?dt=s.width:_e!=="inner"&&(dt=s.width/2,Ut=_.width/2),this.paddingLeft=Math.max((dt-ot+et)*this.width/(this.width-ot),0),this.paddingRight=Math.max((Ut-ut+et)*this.width/(this.width-ut),0)}else{let ot=_.height/2,ut=s.height/2;_e==="start"?(ot=0,ut=s.height):_e==="end"&&(ot=_.height,ut=0),this.paddingTop=ot+et,this.paddingBottom=ut+et}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:s,position:_}=this.options;return _==="top"||_==="bottom"||s==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(s){this.beforeTickToLabelConversion(),this.generateTickLabels(s);let _,j;for(_=0,j=s.length;_({width:et[ht]||0,height:tt[ht]||0});return{first:xt(0),last:xt(_-1),widest:xt(yt),highest:xt(Ct),widths:et,heights:tt}}getLabelForValue(s){return s}getPixelForValue(s,_){return NaN}getValueForPixel(s){}getPixelForTick(s){const _=this.ticks;return s<0||s>_.length-1?null:this.getPixelForValue(_[s].value)}getPixelForDecimal(s){this._reversePixels&&(s=1-s);const _=this._startPixel+s*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,_,0):_)}getDecimalForPixel(s){const _=(s-this._startPixel)/this._length;return this._reversePixels?1-_:_}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:s,max:_}=this;return s<0&&_<0?_:s>0&&_>0?s:0}getContext(s){const _=this.ticks||[];if(s>=0&&s<_.length){const j=_[s];return j.$context||(j.$context=createTickContext(this.getContext(),s,j))}return this.$context||(this.$context=createScaleContext(this.chart.getContext(),this))}_tickSize(){const s=this.options.ticks,_=toRadians(this.labelRotation),j=Math.abs(Math.cos(_)),$=Math.abs(Math.sin(_)),_e=this._getLabelSizes(),et=s.autoSkipPadding||0,tt=_e?_e.widest.width+et:0,nt=_e?_e.highest.height+et:0;return this.isHorizontal()?nt*j>tt*$?tt/j:nt/$:nt*$0}_computeGridLineItems(s){const _=this.axis,j=this.chart,$=this.options,{grid:_e,position:et,border:tt}=$,nt=_e.offset,rt=this.isHorizontal(),ut=this.ticks.length+(nt?1:0),dt=getTickMarkLength(_e),Ut=[],st=tt.setContext(this.getContext()),ct=st.display?st.width:0,pt=ct/2,Bt=function(Wt){return _alignPixel(j,Wt,ct)};let Qt,gt,ft,Ft,yt,Ct,xt,ht,mt,It,vt,Tt;if(et==="top")Qt=Bt(this.bottom),Ct=this.bottom-dt,ht=Qt-pt,It=Bt(s.top)+pt,Tt=s.bottom;else if(et==="bottom")Qt=Bt(this.top),It=s.top,Tt=Bt(s.bottom)-pt,Ct=Qt+pt,ht=this.top+dt;else if(et==="left")Qt=Bt(this.right),yt=this.right-dt,xt=Qt-pt,mt=Bt(s.left)+pt,vt=s.right;else if(et==="right")Qt=Bt(this.left),mt=s.left,vt=Bt(s.right)-pt,yt=Qt+pt,xt=this.left+dt;else if(_==="x"){if(et==="center")Qt=Bt((s.top+s.bottom)/2+.5);else if(isObject(et)){const Wt=Object.keys(et)[0],bt=et[Wt];Qt=Bt(this.chart.scales[Wt].getPixelForValue(bt))}It=s.top,Tt=s.bottom,Ct=Qt+pt,ht=Ct+dt}else if(_==="y"){if(et==="center")Qt=Bt((s.left+s.right)/2);else if(isObject(et)){const Wt=Object.keys(et)[0],bt=et[Wt];Qt=Bt(this.chart.scales[Wt].getPixelForValue(bt))}yt=Qt-pt,xt=yt-dt,mt=s.left,vt=s.right}const Ot=valueOrDefault($.ticks.maxTicksLimit,ut),_t=Math.max(1,Math.ceil(ut/Ot));for(gt=0;gt0&&(Dt-=nn/2);break}jt={left:Dt,top:rn,width:nn+zt.width,height:$t+zt.height,color:_t.backdropColor}}pt.push({label:ft,font:ht,textOffset:vt,options:{rotation:ct,color:bt,strokeColor:Jt,strokeWidth:Zt,textAlign:Vt,textBaseline:Tt,translation:[Ft,yt],backdrop:jt}})}return pt}_getXAxisLabelAlignment(){const{position:s,ticks:_}=this.options;if(-toRadians(this.labelRotation))return s==="top"?"left":"right";let $="center";return _.align==="start"?$="left":_.align==="end"?$="right":_.align==="inner"&&($="inner"),$}_getYAxisLabelAlignment(s){const{position:_,ticks:{crossAlign:j,mirror:$,padding:_e}}=this.options,et=this._getLabelSizes(),tt=s+_e,nt=et.widest.width;let rt,ot;return _==="left"?$?(ot=this.right+_e,j==="near"?rt="left":j==="center"?(rt="center",ot+=nt/2):(rt="right",ot+=nt)):(ot=this.right-tt,j==="near"?rt="right":j==="center"?(rt="center",ot-=nt/2):(rt="left",ot=this.left)):_==="right"?$?(ot=this.left+_e,j==="near"?rt="right":j==="center"?(rt="center",ot-=nt/2):(rt="left",ot-=nt)):(ot=this.left+tt,j==="near"?rt="left":j==="center"?(rt="center",ot+=nt/2):(rt="right",ot=this.right)):rt="right",{textAlign:rt,x:ot}}_computeLabelArea(){if(this.options.ticks.mirror)return;const s=this.chart,_=this.options.position;if(_==="left"||_==="right")return{top:0,left:this.left,bottom:s.height,right:this.right};if(_==="top"||_==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:s.width}}drawBackground(){const{ctx:s,options:{backgroundColor:_},left:j,top:$,width:_e,height:et}=this;_&&(s.save(),s.fillStyle=_,s.fillRect(j,$,_e,et),s.restore())}getLineWidthForValue(s){const _=this.options.grid;if(!this._isVisible()||!_.display)return 0;const $=this.ticks.findIndex(_e=>_e.value===s);return $>=0?_.setContext(this.getContext($)).lineWidth:0}drawGrid(s){const _=this.options.grid,j=this.ctx,$=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(s));let _e,et;const tt=(nt,rt,ot)=>{!ot.width||!ot.color||(j.save(),j.lineWidth=ot.width,j.strokeStyle=ot.color,j.setLineDash(ot.borderDash||[]),j.lineDashOffset=ot.borderDashOffset,j.beginPath(),j.moveTo(nt.x,nt.y),j.lineTo(rt.x,rt.y),j.stroke(),j.restore())};if(_.display)for(_e=0,et=$.length;_e{this.draw(_e)}}]:[{z:j,draw:_e=>{this.drawBackground(),this.drawGrid(_e),this.drawTitle()}},{z:$,draw:()=>{this.drawBorder()}},{z:_,draw:_e=>{this.drawLabels(_e)}}]}getMatchingVisibleMetas(s){const _=this.chart.getSortedVisibleDatasetMetas(),j=this.axis+"AxisID",$=[];let _e,et;for(_e=0,et=_.length;_e{const j=_.split("."),$=j.pop(),_e=[o].concat(j).join("."),et=s[_].split("."),tt=et.pop(),nt=et.join(".");defaults.route(_e,$,nt,tt)})}function isIChartComponent(o){return"id"in o&&"defaults"in o}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...s){this._each("register",s)}remove(...s){this._each("unregister",s)}addControllers(...s){this._each("register",s,this.controllers)}addElements(...s){this._each("register",s,this.elements)}addPlugins(...s){this._each("register",s,this.plugins)}addScales(...s){this._each("register",s,this.scales)}getController(s){return this._get(s,this.controllers,"controller")}getElement(s){return this._get(s,this.elements,"element")}getPlugin(s){return this._get(s,this.plugins,"plugin")}getScale(s){return this._get(s,this.scales,"scale")}removeControllers(...s){this._each("unregister",s,this.controllers)}removeElements(...s){this._each("unregister",s,this.elements)}removePlugins(...s){this._each("unregister",s,this.plugins)}removeScales(...s){this._each("unregister",s,this.scales)}_each(s,_,j){[..._].forEach($=>{const _e=j||this._getRegistryForType($);j||_e.isForType($)||_e===this.plugins&&$.id?this._exec(s,_e,$):each($,et=>{const tt=j||this._getRegistryForType(et);this._exec(s,tt,et)})})}_exec(s,_,j){const $=_capitalize(s);callback(j["before"+$],[],j),_[s](j),callback(j["after"+$],[],j)}_getRegistryForType(s){for(let _=0;__e.filter(tt=>!et.some(nt=>tt.plugin.id===nt.plugin.id));this._notify($(_,j),s,"stop"),this._notify($(j,_),s,"start")}}function allPlugins(o){const s={},_=[],j=Object.keys(registry.plugins.items);for(let _e=0;_e1&&idMatchesAxis(o[0].toLowerCase());if(j)return j}throw new Error(`Cannot determine type of '${o}' axis. Please provide 'axis' or 'position' option.`)}function getAxisFromDataset(o,s,_){if(_[s+"AxisID"]===o)return{axis:s}}function retrieveAxisFromDatasets(o,s){if(s.data&&s.data.datasets){const _=s.data.datasets.filter(j=>j.xAxisID===o||j.yAxisID===o);if(_.length)return getAxisFromDataset(o,"x",_[0])||getAxisFromDataset(o,"y",_[0])}return{}}function mergeScaleConfig(o,s){const _=overrides[o.type]||{scales:{}},j=s.scales||{},$=getIndexAxis(o.type,s),_e=Object.create(null);return Object.keys(j).forEach(et=>{const tt=j[et];if(!isObject(tt))return console.error(`Invalid scale configuration for scale: ${et}`);if(tt._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${et}`);const nt=determineAxis(et,tt,retrieveAxisFromDatasets(et,o),defaults.scales[tt.type]),rt=getDefaultScaleIDFromAxis(nt,$),ot=_.scales||{};_e[et]=mergeIf(Object.create(null),[{axis:nt},tt,ot[nt],ot[rt]])}),o.data.datasets.forEach(et=>{const tt=et.type||o.type,nt=et.indexAxis||getIndexAxis(tt,s),ot=(overrides[tt]||{}).scales||{};Object.keys(ot).forEach(ut=>{const dt=getAxisFromDefaultScaleID(ut,nt),Ut=et[dt+"AxisID"]||dt;_e[Ut]=_e[Ut]||Object.create(null),mergeIf(_e[Ut],[{axis:dt},j[Ut],ot[ut]])})}),Object.keys(_e).forEach(et=>{const tt=_e[et];mergeIf(tt,[defaults.scales[tt.type],defaults.scale])}),_e}function initOptions(o){const s=o.options||(o.options={});s.plugins=valueOrDefault(s.plugins,{}),s.scales=mergeScaleConfig(o,s)}function initData(o){return o=o||{},o.datasets=o.datasets||[],o.labels=o.labels||[],o}function initConfig(o){return o=o||{},o.data=initData(o.data),initOptions(o),o}const keyCache=new Map,keysCached=new Set;function cachedKeys(o,s){let _=keyCache.get(o);return _||(_=s(),keyCache.set(o,_),keysCached.add(_)),_}const addIfFound=(o,s,_)=>{const j=resolveObjectKey(s,_);j!==void 0&&o.add(j)};class Config{constructor(s){this._config=initConfig(s),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(s){this._config.type=s}get data(){return this._config.data}set data(s){this._config.data=initData(s)}get options(){return this._config.options}set options(s){this._config.options=s}get plugins(){return this._config.plugins}update(){const s=this._config;this.clearCache(),initOptions(s)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(s){return cachedKeys(s,()=>[[`datasets.${s}`,""]])}datasetAnimationScopeKeys(s,_){return cachedKeys(`${s}.transition.${_}`,()=>[[`datasets.${s}.transitions.${_}`,`transitions.${_}`],[`datasets.${s}`,""]])}datasetElementScopeKeys(s,_){return cachedKeys(`${s}-${_}`,()=>[[`datasets.${s}.elements.${_}`,`datasets.${s}`,`elements.${_}`,""]])}pluginScopeKeys(s){const _=s.id,j=this.type;return cachedKeys(`${j}-plugin-${_}`,()=>[[`plugins.${_}`,...s.additionalOptionScopes||[]]])}_cachedScopes(s,_){const j=this._scopeCache;let $=j.get(s);return(!$||_)&&($=new Map,j.set(s,$)),$}getOptionScopes(s,_,j){const{options:$,type:_e}=this,et=this._cachedScopes(s,j),tt=et.get(_);if(tt)return tt;const nt=new Set;_.forEach(ot=>{s&&(nt.add(s),ot.forEach(ut=>addIfFound(nt,s,ut))),ot.forEach(ut=>addIfFound(nt,$,ut)),ot.forEach(ut=>addIfFound(nt,overrides[_e]||{},ut)),ot.forEach(ut=>addIfFound(nt,defaults,ut)),ot.forEach(ut=>addIfFound(nt,descriptors,ut))});const rt=Array.from(nt);return rt.length===0&&rt.push(Object.create(null)),keysCached.has(_)&&et.set(_,rt),rt}chartOptionScopes(){const{options:s,type:_}=this;return[s,overrides[_]||{},defaults.datasets[_]||{},{type:_},defaults,descriptors]}resolveNamedOptions(s,_,j,$=[""]){const _e={$shared:!0},{resolver:et,subPrefixes:tt}=getResolver(this._resolverCache,s,$);let nt=et;if(needContext(et,_)){_e.$shared=!1,j=isFunction(j)?j():j;const rt=this.createResolver(s,j,tt);nt=_attachContext(et,j,rt)}for(const rt of _)_e[rt]=nt[rt];return _e}createResolver(s,_,j=[""],$){const{resolver:_e}=getResolver(this._resolverCache,s,j);return isObject(_)?_attachContext(_e,_,void 0,$):_e}}function getResolver(o,s,_){let j=o.get(s);j||(j=new Map,o.set(s,j));const $=_.join();let _e=j.get($);return _e||(_e={resolver:_createResolver(s,_),subPrefixes:_.filter(tt=>!tt.toLowerCase().includes("hover"))},j.set($,_e)),_e}const hasFunction=o=>isObject(o)&&Object.getOwnPropertyNames(o).some(s=>isFunction(o[s]));function needContext(o,s){const{isScriptable:_,isIndexable:j}=_descriptors(o);for(const $ of s){const _e=_($),et=j($),tt=(et||_e)&&o[$];if(_e&&(isFunction(tt)||hasFunction(tt))||et&&isArray(tt))return!0}return!1}var version="4.5.0";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(o,s){return o==="top"||o==="bottom"||KNOWN_POSITIONS.indexOf(o)===-1&&s==="x"}function compare2Level(o,s){return function(_,j){return _[o]===j[o]?_[s]-j[s]:_[o]-j[o]}}function onAnimationsComplete(o){const s=o.chart,_=s.options.animation;s.notifyPlugins("afterRender"),callback(_&&_.onComplete,[o],s)}function onAnimationProgress(o){const s=o.chart,_=s.options.animation;callback(_&&_.onProgress,[o],s)}function getCanvas(o){return _isDomSupported()&&typeof o=="string"?o=document.getElementById(o):o&&o.length&&(o=o[0]),o&&o.canvas&&(o=o.canvas),o}const instances={},getChart=o=>{const s=getCanvas(o);return Object.values(instances).filter(_=>_.canvas===s).pop()};function moveNumericKeys(o,s,_){const j=Object.keys(o);for(const $ of j){const _e=+$;if(_e>=s){const et=o[$];delete o[$],(_>0||_e>s)&&(o[_e+_]=et)}}}function determineLastEvent(o,s,_,j){return!_||o.type==="mouseout"?null:j?s:o}class Chart{static register(...s){registry.add(...s),invalidatePlugins()}static unregister(...s){registry.remove(...s),invalidatePlugins()}constructor(s,_){const j=this.config=new Config(_),$=getCanvas(s),_e=getChart($);if(_e)throw new Error("Canvas is already in use. Chart with ID '"+_e.id+"' must be destroyed before the canvas with ID '"+_e.canvas.id+"' can be reused.");const et=j.createResolver(j.chartOptionScopes(),this.getContext());this.platform=new(j.platform||_detectPlatform($)),this.platform.updateConfig(j);const tt=this.platform.acquireContext($,et.aspectRatio),nt=tt&&tt.canvas,rt=nt&&nt.height,ot=nt&&nt.width;if(this.id=uid(),this.ctx=tt,this.canvas=nt,this.width=ot,this.height=rt,this._options=et,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce(ut=>this.update(ut),et.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!tt||!nt){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:s,maintainAspectRatio:_},width:j,height:$,_aspectRatio:_e}=this;return isNullOrUndef(s)?_&&_e?_e:$?j/$:null:s}get data(){return this.config.data}set data(s){this.config.data=s}get options(){return this._options}set options(s){this.config.options=s}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(s,_){animator.running(this)?this._resizeBeforeDraw={width:s,height:_}:this._resize(s,_)}_resize(s,_){const j=this.options,$=this.canvas,_e=j.maintainAspectRatio&&this.aspectRatio,et=this.platform.getMaximumSize($,s,_,_e),tt=j.devicePixelRatio||this.platform.getDevicePixelRatio(),nt=this.width?"resize":"attach";this.width=et.width,this.height=et.height,this._aspectRatio=this.aspectRatio,retinaScale(this,tt,!0)&&(this.notifyPlugins("resize",{size:et}),callback(j.onResize,[this,et],this),this.attached&&this._doResize(nt)&&this.render())}ensureScalesHaveIDs(){const _=this.options.scales||{};each(_,(j,$)=>{j.id=$})}buildOrUpdateScales(){const s=this.options,_=s.scales,j=this.scales,$=Object.keys(j).reduce((et,tt)=>(et[tt]=!1,et),{});let _e=[];_&&(_e=_e.concat(Object.keys(_).map(et=>{const tt=_[et],nt=determineAxis(et,tt),rt=nt==="r",ot=nt==="x";return{options:tt,dposition:rt?"chartArea":ot?"bottom":"left",dtype:rt?"radialLinear":ot?"category":"linear"}}))),each(_e,et=>{const tt=et.options,nt=tt.id,rt=determineAxis(nt,tt),ot=valueOrDefault(tt.type,et.dtype);(tt.position===void 0||positionIsHorizontal(tt.position,rt)!==positionIsHorizontal(et.dposition))&&(tt.position=et.dposition),$[nt]=!0;let ut=null;if(nt in j&&j[nt].type===ot)ut=j[nt];else{const dt=registry.getScale(ot);ut=new dt({id:nt,type:ot,ctx:this.ctx,chart:this}),j[ut.id]=ut}ut.init(tt,s)}),each($,(et,tt)=>{et||delete j[tt]}),each(j,et=>{layouts.configure(this,et,et.options),layouts.addBox(this,et)})}_updateMetasets(){const s=this._metasets,_=this.data.datasets.length,j=s.length;if(s.sort(($,_e)=>$.index-_e.index),j>_){for(let $=_;$_.length&&delete this._stacks,s.forEach((j,$)=>{_.filter(_e=>_e===j._dataset).length===0&&this._destroyDatasetMeta($)})}buildOrUpdateControllers(){const s=[],_=this.data.datasets;let j,$;for(this._removeUnreferencedMetasets(),j=0,$=_.length;j<$;j++){const _e=_[j];let et=this.getDatasetMeta(j);const tt=_e.type||this.config.type;if(et.type&&et.type!==tt&&(this._destroyDatasetMeta(j),et=this.getDatasetMeta(j)),et.type=tt,et.indexAxis=_e.indexAxis||getIndexAxis(tt,this.options),et.order=_e.order||0,et.index=j,et.label=""+_e.label,et.visible=this.isDatasetVisible(j),et.controller)et.controller.updateIndex(j),et.controller.linkScales();else{const nt=registry.getController(tt),{datasetElementType:rt,dataElementType:ot}=defaults.datasets[tt];Object.assign(nt,{dataElementType:registry.getElement(ot),datasetElementType:rt&®istry.getElement(rt)}),et.controller=new nt(this,j),s.push(et.controller)}}return this._updateMetasets(),s}_resetElements(){each(this.data.datasets,(s,_)=>{this.getDatasetMeta(_).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(s){const _=this.config;_.update();const j=this._options=_.createResolver(_.chartOptionScopes(),this.getContext()),$=this._animationsDisabled=!j.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:s,cancelable:!0})===!1)return;const _e=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let et=0;for(let rt=0,ot=this.data.datasets.length;rt{rt.reset()}),this._updateDatasets(s),this.notifyPlugins("afterUpdate",{mode:s}),this._layers.sort(compare2Level("z","_idx"));const{_active:tt,_lastEvent:nt}=this;nt?this._eventHandler(nt,!0):tt.length&&this._updateHoverStyles(tt,tt,!0),this.render()}_updateScales(){each(this.scales,s=>{layouts.removeBox(this,s)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const s=this.options,_=new Set(Object.keys(this._listeners)),j=new Set(s.events);(!setsEqual(_,j)||!!this._responsiveListeners!==s.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:s}=this,_=this._getUniformDataChanges()||[];for(const{method:j,start:$,count:_e}of _){const et=j==="_removeElements"?-_e:_e;moveNumericKeys(s,$,et)}}_getUniformDataChanges(){const s=this._dataChanges;if(!s||!s.length)return;this._dataChanges=[];const _=this.data.datasets.length,j=_e=>new Set(s.filter(et=>et[0]===_e).map((et,tt)=>tt+","+et.splice(1).join(","))),$=j(0);for(let _e=1;_e<_;_e++)if(!setsEqual($,j(_e)))return;return Array.from($).map(_e=>_e.split(",")).map(_e=>({method:_e[1],start:+_e[2],count:+_e[3]}))}_updateLayout(s){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,s);const _=this.chartArea,j=_.width<=0||_.height<=0;this._layers=[],each(this.boxes,$=>{j&&$.position==="chartArea"||($.configure&&$.configure(),this._layers.push(...$._layers()))},this),this._layers.forEach(($,_e)=>{$._idx=_e}),this.notifyPlugins("afterLayout")}_updateDatasets(s){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:s,cancelable:!0})!==!1){for(let _=0,j=this.data.datasets.length;_=0;--_)this._drawDataset(s[_]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(s){const _=this.ctx,j={meta:s,index:s.index,cancelable:!0},$=getDatasetClipArea(this,s);this.notifyPlugins("beforeDatasetDraw",j)!==!1&&($&&clipArea(_,$),s.controller.draw(),$&&unclipArea(_),j.cancelable=!1,this.notifyPlugins("afterDatasetDraw",j))}isPointInArea(s){return _isPointInArea(s,this.chartArea,this._minPadding)}getElementsAtEventForMode(s,_,j,$){const _e=Interaction.modes[_];return typeof _e=="function"?_e(this,s,j,$):[]}getDatasetMeta(s){const _=this.data.datasets[s],j=this._metasets;let $=j.filter(_e=>_e&&_e._dataset===_).pop();return $||($={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:_&&_.order||0,index:s,_dataset:_,_parsed:[],_sorted:!1},j.push($)),$}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(s){const _=this.data.datasets[s];if(!_)return!1;const j=this.getDatasetMeta(s);return typeof j.hidden=="boolean"?!j.hidden:!_.hidden}setDatasetVisibility(s,_){const j=this.getDatasetMeta(s);j.hidden=!_}toggleDataVisibility(s){this._hiddenIndices[s]=!this._hiddenIndices[s]}getDataVisibility(s){return!this._hiddenIndices[s]}_updateVisibility(s,_,j){const $=j?"show":"hide",_e=this.getDatasetMeta(s),et=_e.controller._resolveAnimations(void 0,$);defined(_)?(_e.data[_].hidden=!j,this.update()):(this.setDatasetVisibility(s,j),et.update(_e,{visible:j}),this.update(tt=>tt.datasetIndex===s?$:void 0))}hide(s,_){this._updateVisibility(s,_,!1)}show(s,_){this._updateVisibility(s,_,!0)}_destroyDatasetMeta(s){const _=this._metasets[s];_&&_.controller&&_.controller._destroy(),delete this._metasets[s]}_stop(){let s,_;for(this.stop(),animator.remove(this),s=0,_=this.data.datasets.length;s<_;++s)this._destroyDatasetMeta(s)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:s,ctx:_}=this;this._stop(),this.config.clearCache(),s&&(this.unbindEvents(),clearCanvas(s,_),this.platform.releaseContext(_),this.canvas=null,this.ctx=null),delete instances[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...s){return this.canvas.toDataURL(...s)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const s=this._listeners,_=this.platform,j=(_e,et)=>{_.addEventListener(this,_e,et),s[_e]=et},$=(_e,et,tt)=>{_e.offsetX=et,_e.offsetY=tt,this._eventHandler(_e)};each(this.options.events,_e=>j(_e,$))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const s=this._responsiveListeners,_=this.platform,j=(nt,rt)=>{_.addEventListener(this,nt,rt),s[nt]=rt},$=(nt,rt)=>{s[nt]&&(_.removeEventListener(this,nt,rt),delete s[nt])},_e=(nt,rt)=>{this.canvas&&this.resize(nt,rt)};let et;const tt=()=>{$("attach",tt),this.attached=!0,this.resize(),j("resize",_e),j("detach",et)};et=()=>{this.attached=!1,$("resize",_e),this._stop(),this._resize(0,0),j("attach",tt)},_.isAttached(this.canvas)?tt():et()}unbindEvents(){each(this._listeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._listeners={},each(this._responsiveListeners,(s,_)=>{this.platform.removeEventListener(this,_,s)}),this._responsiveListeners=void 0}updateHoverStyle(s,_,j){const $=j?"set":"remove";let _e,et,tt,nt;for(_==="dataset"&&(_e=this.getDatasetMeta(s[0].datasetIndex),_e.controller["_"+$+"DatasetHoverStyle"]()),tt=0,nt=s.length;tt{const tt=this.getDatasetMeta(_e);if(!tt)throw new Error("No dataset found at index "+_e);return{datasetIndex:_e,element:tt.data[et],index:et}});!_elementsEqual(j,_)&&(this._active=j,this._lastEvent=null,this._updateHoverStyles(j,_))}notifyPlugins(s,_,j){return this._plugins.notify(this,s,_,j)}isPluginEnabled(s){return this._plugins._cache.filter(_=>_.plugin.id===s).length===1}_updateHoverStyles(s,_,j){const $=this.options.hover,_e=(nt,rt)=>nt.filter(ot=>!rt.some(ut=>ot.datasetIndex===ut.datasetIndex&&ot.index===ut.index)),et=_e(_,s),tt=j?s:_e(s,_);et.length&&this.updateHoverStyle(et,$.mode,!1),tt.length&&$.mode&&this.updateHoverStyle(tt,$.mode,!0)}_eventHandler(s,_){const j={event:s,replay:_,cancelable:!0,inChartArea:this.isPointInArea(s)},$=et=>(et.options.events||this.options.events).includes(s.native.type);if(this.notifyPlugins("beforeEvent",j,$)===!1)return;const _e=this._handleEvent(s,_,j.inChartArea);return j.cancelable=!1,this.notifyPlugins("afterEvent",j,$),(_e||j.changed)&&this.render(),this}_handleEvent(s,_,j){const{_active:$=[],options:_e}=this,et=_,tt=this._getActiveElements(s,$,j,et),nt=_isClickEvent(s),rt=determineLastEvent(s,this._lastEvent,j,nt);j&&(this._lastEvent=null,callback(_e.onHover,[s,tt,this],this),nt&&callback(_e.onClick,[s,tt,this],this));const ot=!_elementsEqual(tt,$);return(ot||_)&&(this._active=tt,this._updateHoverStyles(tt,$,_)),this._lastEvent=rt,ot}_getActiveElements(s,_,j,$){if(s.type==="mouseout")return[];if(!j)return _;const _e=this.options.hover;return this.getElementsAtEventForMode(s,_e.mode,_e,$)}}On(Chart,"defaults",defaults),On(Chart,"instances",instances),On(Chart,"overrides",overrides),On(Chart,"registry",registry),On(Chart,"version",version),On(Chart,"getChart",getChart);function invalidatePlugins(){return each(Chart.instances,o=>o._plugins.invalidate())}function clipSelf(o,s,_){const{startAngle:j,x:$,y:_e,outerRadius:et,innerRadius:tt,options:nt}=s,{borderWidth:rt,borderJoinStyle:ot}=nt,ut=Math.min(rt/et,_normalizeAngle(j-_));if(o.beginPath(),o.arc($,_e,et-rt/2,j+ut/2,_-ut/2),tt>0){const dt=Math.min(rt/tt,_normalizeAngle(j-_));o.arc($,_e,tt+rt/2,_-dt/2,j+dt/2,!0)}else{const dt=Math.min(rt/2,et*_normalizeAngle(j-_));if(ot==="round")o.arc($,_e,dt,_-PI/2,j+PI/2,!0);else if(ot==="bevel"){const Ut=2*dt*dt,st=-Ut*Math.cos(_+PI/2)+$,ct=-Ut*Math.sin(_+PI/2)+_e,pt=Ut*Math.cos(j+PI/2)+$,Bt=Ut*Math.sin(j+PI/2)+_e;o.lineTo(st,ct),o.lineTo(pt,Bt)}}o.closePath(),o.moveTo(0,0),o.rect(0,0,o.canvas.width,o.canvas.height),o.clip("evenodd")}function clipArc(o,s,_){const{startAngle:j,pixelMargin:$,x:_e,y:et,outerRadius:tt,innerRadius:nt}=s;let rt=$/tt;o.beginPath(),o.arc(_e,et,tt,j-rt,_+rt),nt>$?(rt=$/nt,o.arc(_e,et,nt,_+rt,j-rt,!0)):o.arc(_e,et,$,_+HALF_PI,j-HALF_PI),o.closePath(),o.clip()}function toRadiusCorners(o){return _readValueToProps(o,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(o,s,_,j){const $=toRadiusCorners(o.options.borderRadius),_e=(_-s)/2,et=Math.min(_e,j*s/2),tt=nt=>{const rt=(_-Math.min(_e,nt))*j/2;return _limitValue(nt,0,Math.min(_e,rt))};return{outerStart:tt($.outerStart),outerEnd:tt($.outerEnd),innerStart:_limitValue($.innerStart,0,et),innerEnd:_limitValue($.innerEnd,0,et)}}function rThetaToXY(o,s,_,j){return{x:_+o*Math.cos(s),y:j+o*Math.sin(s)}}function pathArc(o,s,_,j,$,_e){const{x:et,y:tt,startAngle:nt,pixelMargin:rt,innerRadius:ot}=s,ut=Math.max(s.outerRadius+j+_-rt,0),dt=ot>0?ot+j+_+rt:0;let Ut=0;const st=$-nt;if(j){const _t=ot>0?ot-j:0,Wt=ut>0?ut-j:0,bt=(_t+Wt)/2,Jt=bt!==0?st*bt/(bt+j):st;Ut=(st-Jt)/2}const ct=Math.max(.001,st*ut-_/PI)/ut,pt=(st-ct)/2,Bt=nt+pt+Ut,Qt=$-pt-Ut,{outerStart:gt,outerEnd:ft,innerStart:Ft,innerEnd:yt}=parseBorderRadius$1(s,dt,ut,Qt-Bt),Ct=ut-gt,xt=ut-ft,ht=Bt+gt/Ct,mt=Qt-ft/xt,It=dt+Ft,vt=dt+yt,Tt=Bt+Ft/It,Ot=Qt-yt/vt;if(o.beginPath(),_e){const _t=(ht+mt)/2;if(o.arc(et,tt,ut,ht,_t),o.arc(et,tt,ut,_t,mt),ft>0){const Zt=rThetaToXY(xt,mt,et,tt);o.arc(Zt.x,Zt.y,ft,mt,Qt+HALF_PI)}const Wt=rThetaToXY(vt,Qt,et,tt);if(o.lineTo(Wt.x,Wt.y),yt>0){const Zt=rThetaToXY(vt,Ot,et,tt);o.arc(Zt.x,Zt.y,yt,Qt+HALF_PI,Ot+Math.PI)}const bt=(Qt-yt/dt+(Bt+Ft/dt))/2;if(o.arc(et,tt,dt,Qt-yt/dt,bt,!0),o.arc(et,tt,dt,bt,Bt+Ft/dt,!0),Ft>0){const Zt=rThetaToXY(It,Tt,et,tt);o.arc(Zt.x,Zt.y,Ft,Tt+Math.PI,Bt-HALF_PI)}const Jt=rThetaToXY(Ct,Bt,et,tt);if(o.lineTo(Jt.x,Jt.y),gt>0){const Zt=rThetaToXY(Ct,ht,et,tt);o.arc(Zt.x,Zt.y,gt,Bt-HALF_PI,ht)}}else{o.moveTo(et,tt);const _t=Math.cos(ht)*ut+et,Wt=Math.sin(ht)*ut+tt;o.lineTo(_t,Wt);const bt=Math.cos(mt)*ut+et,Jt=Math.sin(mt)*ut+tt;o.lineTo(bt,Jt)}o.closePath()}function drawArc(o,s,_,j,$){const{fullCircles:_e,startAngle:et,circumference:tt}=s;let nt=s.endAngle;if(_e){pathArc(o,s,_,j,nt,$);for(let rt=0;rt<_e;++rt)o.fill();isNaN(tt)||(nt=et+(tt%TAU||TAU))}return pathArc(o,s,_,j,nt,$),o.fill(),nt}function drawBorder(o,s,_,j,$){const{fullCircles:_e,startAngle:et,circumference:tt,options:nt}=s,{borderWidth:rt,borderJoinStyle:ot,borderDash:ut,borderDashOffset:dt,borderRadius:Ut}=nt,st=nt.borderAlign==="inner";if(!rt)return;o.setLineDash(ut||[]),o.lineDashOffset=dt,st?(o.lineWidth=rt*2,o.lineJoin=ot||"round"):(o.lineWidth=rt,o.lineJoin=ot||"bevel");let ct=s.endAngle;if(_e){pathArc(o,s,_,j,ct,$);for(let pt=0;pt<_e;++pt)o.stroke();isNaN(tt)||(ct=et+(tt%TAU||TAU))}st&&clipArc(o,s,ct),nt.selfJoin&&ct-et>=PI&&Ut===0&&ot!=="miter"&&clipSelf(o,s,ct),_e||(pathArc(o,s,_,j,ct,$),o.stroke())}class ArcElement extends Element{constructor(_){super();On(this,"circumference");On(this,"endAngle");On(this,"fullCircles");On(this,"innerRadius");On(this,"outerRadius");On(this,"pixelMargin");On(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,_&&Object.assign(this,_)}inRange(_,j,$){const _e=this.getProps(["x","y"],$),{angle:et,distance:tt}=getAngleFromPoint(_e,{x:_,y:j}),{startAngle:nt,endAngle:rt,innerRadius:ot,outerRadius:ut,circumference:dt}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],$),Ut=(this.options.spacing+this.options.borderWidth)/2,st=valueOrDefault(dt,rt-nt),ct=_angleBetween(et,nt,rt)&&nt!==rt,pt=st>=TAU||ct,Bt=_isBetween(tt,ot+Ut,ut+Ut);return pt&&Bt}getCenterPoint(_){const{x:j,y:$,startAngle:_e,endAngle:et,innerRadius:tt,outerRadius:nt}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],_),{offset:rt,spacing:ot}=this.options,ut=(_e+et)/2,dt=(tt+nt+ot+rt)/2;return{x:j+Math.cos(ut)*dt,y:$+Math.sin(ut)*dt}}tooltipPosition(_){return this.getCenterPoint(_)}draw(_){const{options:j,circumference:$}=this,_e=(j.offset||0)/4,et=(j.spacing||0)/2,tt=j.circular;if(this.pixelMargin=j.borderAlign==="inner"?.33:0,this.fullCircles=$>TAU?Math.floor($/TAU):0,$===0||this.innerRadius<0||this.outerRadius<0)return;_.save();const nt=(this.startAngle+this.endAngle)/2;_.translate(Math.cos(nt)*_e,Math.sin(nt)*_e);const rt=1-Math.sin(Math.min(PI,$||0)),ot=_e*rt;_.fillStyle=j.backgroundColor,_.strokeStyle=j.borderColor,drawArc(_,this,ot,et,tt),drawBorder(_,this,ot,et,tt),_.restore()}}On(ArcElement,"id","arc"),On(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1}),On(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"}),On(ArcElement,"descriptors",{_scriptable:!0,_indexable:_=>_!=="borderDash"});function setStyle(o,s,_=s){o.lineCap=valueOrDefault(_.borderCapStyle,s.borderCapStyle),o.setLineDash(valueOrDefault(_.borderDash,s.borderDash)),o.lineDashOffset=valueOrDefault(_.borderDashOffset,s.borderDashOffset),o.lineJoin=valueOrDefault(_.borderJoinStyle,s.borderJoinStyle),o.lineWidth=valueOrDefault(_.borderWidth,s.borderWidth),o.strokeStyle=valueOrDefault(_.borderColor,s.borderColor)}function lineTo(o,s,_){o.lineTo(_.x,_.y)}function getLineMethod(o){return o.stepped?_steppedLineTo:o.tension||o.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(o,s,_={}){const j=o.length,{start:$=0,end:_e=j-1}=_,{start:et,end:tt}=s,nt=Math.max($,et),rt=Math.min(_e,tt),ot=$tt&&_e>tt;return{count:j,start:nt,loop:s.loop,ilen:rt(et+(rt?tt-ft:ft))%_e,gt=()=>{ct!==pt&&(o.lineTo(ot,pt),o.lineTo(ot,ct),o.lineTo(ot,Bt))};for(nt&&(Ut=$[Qt(0)],o.moveTo(Ut.x,Ut.y)),dt=0;dt<=tt;++dt){if(Ut=$[Qt(dt)],Ut.skip)continue;const ft=Ut.x,Ft=Ut.y,yt=ft|0;yt===st?(Ftpt&&(pt=Ft),ot=(ut*ot+ft)/++ut):(gt(),o.lineTo(ft,Ft),st=yt,ut=0,ct=pt=Ft),Bt=Ft}gt()}function _getSegmentMethod(o){const s=o.options,_=s.borderDash&&s.borderDash.length;return!o._decimated&&!o._loop&&!s.tension&&s.cubicInterpolationMode!=="monotone"&&!s.stepped&&!_?fastPathSegment:pathSegment}function _getInterpolationMethod(o){return o.stepped?_steppedInterpolation:o.tension||o.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(o,s,_,j){let $=s._path;$||($=s._path=new Path2D,s.path($,_,j)&&$.closePath()),setStyle(o,s.options),o.stroke($)}function strokePathDirect(o,s,_,j){const{segments:$,options:_e}=s,et=_getSegmentMethod(s);for(const tt of $)setStyle(o,_e,tt.style),o.beginPath(),et(o,s,tt,{start:_,end:_+j-1})&&o.closePath(),o.stroke()}const usePath2D=typeof Path2D=="function";function draw(o,s,_,j){usePath2D&&!s.options.segment?strokePathWithCache(o,s,_,j):strokePathDirect(o,s,_,j)}class LineElement extends Element{constructor(s){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,s&&Object.assign(this,s)}updateControlPoints(s,_){const j=this.options;if((j.tension||j.cubicInterpolationMode==="monotone")&&!j.stepped&&!this._pointsUpdated){const $=j.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,j,s,$,_),this._pointsUpdated=!0}}set points(s){this._points=s,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const s=this.segments,_=this.points;return s.length&&_[s[0].start]}last(){const s=this.segments,_=this.points,j=s.length;return j&&_[s[j-1].end]}interpolate(s,_){const j=this.options,$=s[_],_e=this.points,et=_boundSegments(this,{property:_,start:$,end:$});if(!et.length)return;const tt=[],nt=_getInterpolationMethod(j);let rt,ot;for(rt=0,ot=et.length;rts!=="borderDash"&&s!=="fill"});function inRange$1(o,s,_,j){const $=o.options,{[_]:_e}=o.getProps([_],j);return Math.abs(s-_e)<$.radius+$.hitRadius}class PointElement extends Element{constructor(_){super();On(this,"parsed");On(this,"skip");On(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,_&&Object.assign(this,_)}inRange(_,j,$){const _e=this.options,{x:et,y:tt}=this.getProps(["x","y"],$);return Math.pow(_-et,2)+Math.pow(j-tt,2)o.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(o){return BORDER_COLORS[o%BORDER_COLORS.length]}function getBackgroundColor(o){return BACKGROUND_COLORS[o%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(o,s){return o.borderColor=getBorderColor(s),o.backgroundColor=getBackgroundColor(s),++s}function colorizeDoughnutDataset(o,s){return o.backgroundColor=o.data.map(()=>getBorderColor(s++)),s}function colorizePolarAreaDataset(o,s){return o.backgroundColor=o.data.map(()=>getBackgroundColor(s++)),s}function getColorizer(o){let s=0;return(_,j)=>{const $=o.getDatasetMeta(j).controller;$ instanceof DoughnutController?s=colorizeDoughnutDataset(_,s):$ instanceof PolarAreaController?s=colorizePolarAreaDataset(_,s):$&&(s=colorizeDefaultDataset(_,s))}}function containsColorsDefinitions(o){let s;for(s in o)if(o[s].borderColor||o[s].backgroundColor)return!0;return!1}function containsColorsDefinition(o){return o&&(o.borderColor||o.backgroundColor)}function containsDefaultColorsDefenitions(){return defaults.borderColor!=="rgba(0,0,0,0.1)"||defaults.backgroundColor!=="rgba(0,0,0,0.1)"}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(o,s,_){if(!_.enabled)return;const{data:{datasets:j},options:$}=o.config,{elements:_e}=$,et=containsColorsDefinitions(j)||containsColorsDefinition($)||_e&&containsColorsDefinitions(_e)||containsDefaultColorsDefenitions();if(!_.forceOverride&&et)return;const tt=getColorizer(o);j.forEach(tt)}};function lttbDecimation(o,s,_,j,$){const _e=$.samples||j;if(_e>=_)return o.slice(s,s+_);const et=[],tt=(_-2)/(_e-2);let nt=0;const rt=s+_-1;let ot=s,ut,dt,Ut,st,ct;for(et[nt++]=o[ot],ut=0;ut<_e-2;ut++){let pt=0,Bt=0,Qt;const gt=Math.floor((ut+1)*tt)+1+s,ft=Math.min(Math.floor((ut+2)*tt)+1,_)+s,Ft=ft-gt;for(Qt=gt;QtUt&&(Ut=st,dt=o[Qt],ct=Qt);et[nt++]=dt,ot=ct}return et[nt++]=o[rt],et}function minMaxDecimation(o,s,_,j){let $=0,_e=0,et,tt,nt,rt,ot,ut,dt,Ut,st,ct;const pt=[],Bt=s+_-1,Qt=o[s].x,ft=o[Bt].x-Qt;for(et=s;etct&&(ct=rt,dt=et),$=(_e*$+tt.x)/++_e;else{const yt=et-1;if(!isNullOrUndef(ut)&&!isNullOrUndef(dt)){const Ct=Math.min(ut,dt),xt=Math.max(ut,dt);Ct!==Ut&&Ct!==yt&&pt.push({...o[Ct],x:$}),xt!==Ut&&xt!==yt&&pt.push({...o[xt],x:$})}et>0&&yt!==Ut&&pt.push(o[yt]),pt.push(tt),ot=Ft,_e=0,st=ct=rt,ut=dt=Ut=et}}return pt}function cleanDecimatedDataset(o){if(o._decimated){const s=o._data;delete o._decimated,delete o._data,Object.defineProperty(o,"data",{configurable:!0,enumerable:!0,writable:!0,value:s})}}function cleanDecimatedData(o){o.data.datasets.forEach(s=>{cleanDecimatedDataset(s)})}function getStartAndCountOfVisiblePointsSimplified(o,s){const _=s.length;let j=0,$;const{iScale:_e}=o,{min:et,max:tt,minDefined:nt,maxDefined:rt}=_e.getUserBounds();return nt&&(j=_limitValue(_lookupByKey(s,_e.axis,et).lo,0,_-1)),rt?$=_limitValue(_lookupByKey(s,_e.axis,tt).hi+1,j,_)-j:$=_-j,{start:j,count:$}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(o,s,_)=>{if(!_.enabled){cleanDecimatedData(o);return}const j=o.width;o.data.datasets.forEach(($,_e)=>{const{_data:et,indexAxis:tt}=$,nt=o.getDatasetMeta(_e),rt=et||$.data;if(resolve([tt,o.options.indexAxis])==="y"||!nt.controller.supportsDecimation)return;const ot=o.scales[nt.xAxisID];if(ot.type!=="linear"&&ot.type!=="time"||o.options.parsing)return;let{start:ut,count:dt}=getStartAndCountOfVisiblePointsSimplified(nt,rt);const Ut=_.threshold||4*j;if(dt<=Ut){cleanDecimatedDataset($);return}isNullOrUndef(et)&&($._data=rt,delete $.data,Object.defineProperty($,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(ct){this._data=ct}}));let st;switch(_.algorithm){case"lttb":st=lttbDecimation(rt,ut,dt,j,_);break;case"min-max":st=minMaxDecimation(rt,ut,dt,j);break;default:throw new Error(`Unsupported decimation algorithm '${_.algorithm}'`)}$._decimated=st})},destroy(o){cleanDecimatedData(o)}};function _segments(o,s,_){const j=o.segments,$=o.points,_e=s.points,et=[];for(const tt of j){let{start:nt,end:rt}=tt;rt=_findSegmentEnd(nt,rt,$);const ot=_getBounds(_,$[nt],$[rt],tt.loop);if(!s.segments){et.push({source:tt,target:ot,start:$[nt],end:$[rt]});continue}const ut=_boundSegments(s,ot);for(const dt of ut){const Ut=_getBounds(_,_e[dt.start],_e[dt.end],dt.loop),st=_boundSegment(tt,$,Ut);for(const ct of st)et.push({source:ct,target:dt,start:{[_]:_getEdge(ot,Ut,"start",Math.max)},end:{[_]:_getEdge(ot,Ut,"end",Math.min)}})}}return et}function _getBounds(o,s,_,j){if(j)return;let $=s[o],_e=_[o];return o==="angle"&&($=_normalizeAngle($),_e=_normalizeAngle(_e)),{property:o,start:$,end:_e}}function _pointsFromSegments(o,s){const{x:_=null,y:j=null}=o||{},$=s.points,_e=[];return s.segments.forEach(({start:et,end:tt})=>{tt=_findSegmentEnd(et,tt,$);const nt=$[et],rt=$[tt];j!==null?(_e.push({x:nt.x,y:j}),_e.push({x:rt.x,y:j})):_!==null&&(_e.push({x:_,y:nt.y}),_e.push({x:_,y:rt.y}))}),_e}function _findSegmentEnd(o,s,_){for(;s>o;s--){const j=_[s];if(!isNaN(j.x)&&!isNaN(j.y))break}return s}function _getEdge(o,s,_,j){return o&&s?j(o[_],s[_]):o?o[_]:s?s[_]:0}function _createBoundaryLine(o,s){let _=[],j=!1;return isArray(o)?(j=!0,_=o):_=_pointsFromSegments(o,s),_.length?new LineElement({points:_,options:{tension:0},_loop:j,_fullLoop:j}):null}function _shouldApplyFill(o){return o&&o.fill!==!1}function _resolveTarget(o,s,_){let $=o[s].fill;const _e=[s];let et;if(!_)return $;for(;$!==!1&&_e.indexOf($)===-1;){if(!isNumberFinite($))return $;if(et=o[$],!et)return!1;if(et.visible)return $;_e.push($),$=et.fill}return!1}function _decodeFill(o,s,_){const j=parseFillOption(o);if(isObject(j))return isNaN(j.value)?!1:j;let $=parseFloat(j);return isNumberFinite($)&&Math.floor($)===$?decodeTargetIndex(j[0],s,$,_):["origin","start","end","stack","shape"].indexOf(j)>=0&&j}function decodeTargetIndex(o,s,_,j){return(o==="-"||o==="+")&&(_=s+_),_===s||_<0||_>=j?!1:_}function _getTargetPixel(o,s){let _=null;return o==="start"?_=s.bottom:o==="end"?_=s.top:isObject(o)?_=s.getPixelForValue(o.value):s.getBasePixel&&(_=s.getBasePixel()),_}function _getTargetValue(o,s,_){let j;return o==="start"?j=_:o==="end"?j=s.options.reverse?s.min:s.max:isObject(o)?j=o.value:j=s.getBaseValue(),j}function parseFillOption(o){const s=o.options,_=s.fill;let j=valueOrDefault(_&&_.target,_);return j===void 0&&(j=!!s.backgroundColor),j===!1||j===null?!1:j===!0?"origin":j}function _buildStackLine(o){const{scale:s,index:_,line:j}=o,$=[],_e=j.segments,et=j.points,tt=getLinesBelow(s,_);tt.push(_createBoundaryLine({x:null,y:s.bottom},j));for(let nt=0;nt<_e.length;nt++){const rt=_e[nt];for(let ot=rt.start;ot<=rt.end;ot++)addPointsBelow($,et[ot],tt)}return new LineElement({points:$,options:{}})}function getLinesBelow(o,s){const _=[],j=o.getMatchingVisibleMetas("line");for(let $=0;$=0;--et){const tt=$[et].$filler;tt&&(tt.line.updateControlPoints(_e,tt.axis),j&&tt.fill&&_drawfill(o.ctx,tt,_e))}},beforeDatasetsDraw(o,s,_){if(_.drawTime!=="beforeDatasetsDraw")return;const j=o.getSortedVisibleDatasetMetas();for(let $=j.length-1;$>=0;--$){const _e=j[$].$filler;_shouldApplyFill(_e)&&_drawfill(o.ctx,_e,o.chartArea)}},beforeDatasetDraw(o,s,_){const j=s.meta.$filler;!_shouldApplyFill(j)||_.drawTime!=="beforeDatasetDraw"||_drawfill(o.ctx,j,o.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(o,s)=>{let{boxHeight:_=s,boxWidth:j=s}=o;return o.usePointStyle&&(_=Math.min(_,s),j=o.pointStyleWidth||Math.min(j,s)),{boxWidth:j,boxHeight:_,itemHeight:Math.max(s,_)}},itemsEqual=(o,s)=>o!==null&&s!==null&&o.datasetIndex===s.datasetIndex&&o.index===s.index;class Legend extends Element{constructor(s){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_,j){this.maxWidth=s,this.maxHeight=_,this._margins=j,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const s=this.options.labels||{};let _=callback(s.generateLabels,[this.chart],this)||[];s.filter&&(_=_.filter(j=>s.filter(j,this.chart.data))),s.sort&&(_=_.sort((j,$)=>s.sort(j,$,this.chart.data))),this.options.reverse&&_.reverse(),this.legendItems=_}fit(){const{options:s,ctx:_}=this;if(!s.display){this.width=this.height=0;return}const j=s.labels,$=toFont(j.font),_e=$.size,et=this._computeTitleHeight(),{boxWidth:tt,itemHeight:nt}=getBoxSize(j,_e);let rt,ot;_.font=$.string,this.isHorizontal()?(rt=this.maxWidth,ot=this._fitRows(et,_e,tt,nt)+10):(ot=this.maxHeight,rt=this._fitCols(et,$,tt,nt)+10),this.width=Math.min(rt,s.maxWidth||this.maxWidth),this.height=Math.min(ot,s.maxHeight||this.maxHeight)}_fitRows(s,_,j,$){const{ctx:_e,maxWidth:et,options:{labels:{padding:tt}}}=this,nt=this.legendHitBoxes=[],rt=this.lineWidths=[0],ot=$+tt;let ut=s;_e.textAlign="left",_e.textBaseline="middle";let dt=-1,Ut=-ot;return this.legendItems.forEach((st,ct)=>{const pt=j+_/2+_e.measureText(st.text).width;(ct===0||rt[rt.length-1]+pt+2*tt>et)&&(ut+=ot,rt[rt.length-(ct>0?0:1)]=0,Ut+=ot,dt++),nt[ct]={left:0,top:Ut,row:dt,width:pt,height:$},rt[rt.length-1]+=pt+tt}),ut}_fitCols(s,_,j,$){const{ctx:_e,maxHeight:et,options:{labels:{padding:tt}}}=this,nt=this.legendHitBoxes=[],rt=this.columnSizes=[],ot=et-s;let ut=tt,dt=0,Ut=0,st=0,ct=0;return this.legendItems.forEach((pt,Bt)=>{const{itemWidth:Qt,itemHeight:gt}=calculateItemSize(j,_,_e,pt,$);Bt>0&&Ut+gt+2*tt>ot&&(ut+=dt+tt,rt.push({width:dt,height:Ut}),st+=dt+tt,ct++,dt=Ut=0),nt[Bt]={left:st,top:Ut,col:ct,width:Qt,height:gt},dt=Math.max(dt,Qt),Ut+=gt+tt}),ut+=dt,rt.push({width:dt,height:Ut}),ut}adjustHitBoxes(){if(!this.options.display)return;const s=this._computeTitleHeight(),{legendHitBoxes:_,options:{align:j,labels:{padding:$},rtl:_e}}=this,et=getRtlAdapter(_e,this.left,this.width);if(this.isHorizontal()){let tt=0,nt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[tt]);for(const rt of _)tt!==rt.row&&(tt=rt.row,nt=_alignStartEnd(j,this.left+$,this.right-this.lineWidths[tt])),rt.top+=this.top+s+$,rt.left=et.leftForLtr(et.x(nt),rt.width),nt+=rt.width+$}else{let tt=0,nt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[tt].height);for(const rt of _)rt.col!==tt&&(tt=rt.col,nt=_alignStartEnd(j,this.top+s+$,this.bottom-this.columnSizes[tt].height)),rt.top=nt,rt.left+=this.left+$,rt.left=et.leftForLtr(et.x(rt.left),rt.width),nt+=rt.height+$}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const s=this.ctx;clipArea(s,this),this._draw(),unclipArea(s)}}_draw(){const{options:s,columnSizes:_,lineWidths:j,ctx:$}=this,{align:_e,labels:et}=s,tt=defaults.color,nt=getRtlAdapter(s.rtl,this.left,this.width),rt=toFont(et.font),{padding:ot}=et,ut=rt.size,dt=ut/2;let Ut;this.drawTitle(),$.textAlign=nt.textAlign("left"),$.textBaseline="middle",$.lineWidth=.5,$.font=rt.string;const{boxWidth:st,boxHeight:ct,itemHeight:pt}=getBoxSize(et,ut),Bt=function(yt,Ct,xt){if(isNaN(st)||st<=0||isNaN(ct)||ct<0)return;$.save();const ht=valueOrDefault(xt.lineWidth,1);if($.fillStyle=valueOrDefault(xt.fillStyle,tt),$.lineCap=valueOrDefault(xt.lineCap,"butt"),$.lineDashOffset=valueOrDefault(xt.lineDashOffset,0),$.lineJoin=valueOrDefault(xt.lineJoin,"miter"),$.lineWidth=ht,$.strokeStyle=valueOrDefault(xt.strokeStyle,tt),$.setLineDash(valueOrDefault(xt.lineDash,[])),et.usePointStyle){const mt={radius:ct*Math.SQRT2/2,pointStyle:xt.pointStyle,rotation:xt.rotation,borderWidth:ht},It=nt.xPlus(yt,st/2),vt=Ct+dt;drawPointLegend($,mt,It,vt,et.pointStyleWidth&&st)}else{const mt=Ct+Math.max((ut-ct)/2,0),It=nt.leftForLtr(yt,st),vt=toTRBLCorners(xt.borderRadius);$.beginPath(),Object.values(vt).some(Tt=>Tt!==0)?addRoundedRectPath($,{x:It,y:mt,w:st,h:ct,radius:vt}):$.rect(It,mt,st,ct),$.fill(),ht!==0&&$.stroke()}$.restore()},Qt=function(yt,Ct,xt){renderText($,xt.text,yt,Ct+pt/2,rt,{strikethrough:xt.hidden,textAlign:nt.textAlign(xt.textAlign)})},gt=this.isHorizontal(),ft=this._computeTitleHeight();gt?Ut={x:_alignStartEnd(_e,this.left+ot,this.right-j[0]),y:this.top+ot+ft,line:0}:Ut={x:this.left+ot,y:_alignStartEnd(_e,this.top+ft+ot,this.bottom-_[0].height),line:0},overrideTextDirection(this.ctx,s.textDirection);const Ft=pt+ot;this.legendItems.forEach((yt,Ct)=>{$.strokeStyle=yt.fontColor,$.fillStyle=yt.fontColor;const xt=$.measureText(yt.text).width,ht=nt.textAlign(yt.textAlign||(yt.textAlign=et.textAlign)),mt=st+dt+xt;let It=Ut.x,vt=Ut.y;nt.setWidth(this.width),gt?Ct>0&&It+mt+ot>this.right&&(vt=Ut.y+=Ft,Ut.line++,It=Ut.x=_alignStartEnd(_e,this.left+ot,this.right-j[Ut.line])):Ct>0&&vt+Ft>this.bottom&&(It=Ut.x=It+_[Ut.line].width+ot,Ut.line++,vt=Ut.y=_alignStartEnd(_e,this.top+ft+ot,this.bottom-_[Ut.line].height));const Tt=nt.x(It);if(Bt(Tt,vt,yt),It=_textX(ht,It+st+dt,gt?It+mt:this.right,s.rtl),Qt(nt.x(It),vt,yt),gt)Ut.x+=mt+ot;else if(typeof yt.text!="string"){const Ot=rt.lineHeight;Ut.y+=calculateLegendItemHeight(yt,Ot)+ot}else Ut.y+=Ft}),restoreTextDirection(this.ctx,s.textDirection)}drawTitle(){const s=this.options,_=s.title,j=toFont(_.font),$=toPadding(_.padding);if(!_.display)return;const _e=getRtlAdapter(s.rtl,this.left,this.width),et=this.ctx,tt=_.position,nt=j.size/2,rt=$.top+nt;let ot,ut=this.left,dt=this.width;if(this.isHorizontal())dt=Math.max(...this.lineWidths),ot=this.top+rt,ut=_alignStartEnd(s.align,ut,this.right-dt);else{const st=this.columnSizes.reduce((ct,pt)=>Math.max(ct,pt.height),0);ot=rt+_alignStartEnd(s.align,this.top,this.bottom-st-s.labels.padding-this._computeTitleHeight())}const Ut=_alignStartEnd(tt,ut,ut+dt);et.textAlign=_e.textAlign(_toLeftRightCenter(tt)),et.textBaseline="middle",et.strokeStyle=_.color,et.fillStyle=_.color,et.font=j.string,renderText(et,_.text,Ut,ot,j)}_computeTitleHeight(){const s=this.options.title,_=toFont(s.font),j=toPadding(s.padding);return s.display?_.lineHeight+j.height:0}_getLegendItemAt(s,_){let j,$,_e;if(_isBetween(s,this.left,this.right)&&_isBetween(_,this.top,this.bottom)){for(_e=this.legendHitBoxes,j=0;j<_e.length;++j)if($=_e[j],_isBetween(s,$.left,$.left+$.width)&&_isBetween(_,$.top,$.top+$.height))return this.legendItems[j]}return null}handleEvent(s){const _=this.options;if(!isListened(s.type,_))return;const j=this._getLegendItemAt(s.x,s.y);if(s.type==="mousemove"||s.type==="mouseout"){const $=this._hoveredItem,_e=itemsEqual($,j);$&&!_e&&callback(_.onLeave,[s,$,this],this),this._hoveredItem=j,j&&!_e&&callback(_.onHover,[s,j,this],this)}else j&&callback(_.onClick,[s,j,this],this)}}function calculateItemSize(o,s,_,j,$){const _e=calculateItemWidth(j,o,s,_),et=calculateItemHeight($,j,s.lineHeight);return{itemWidth:_e,itemHeight:et}}function calculateItemWidth(o,s,_,j){let $=o.text;return $&&typeof $!="string"&&($=$.reduce((_e,et)=>_e.length>et.length?_e:et)),s+_.size/2+j.measureText($).width}function calculateItemHeight(o,s,_){let j=o;return typeof s.text!="string"&&(j=calculateLegendItemHeight(s,_)),j}function calculateLegendItemHeight(o,s){const _=o.text?o.text.length:0;return s*_}function isListened(o,s){return!!((o==="mousemove"||o==="mouseout")&&(s.onHover||s.onLeave)||s.onClick&&(o==="click"||o==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(o,s,_){const j=o.legend=new Legend({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j)},stop(o){layouts.removeBox(o,o.legend),delete o.legend},beforeUpdate(o,s,_){const j=o.legend;layouts.configure(o,j,_),j.options=_},afterUpdate(o){const s=o.legend;s.buildLabels(),s.adjustHitBoxes()},afterEvent(o,s){s.replay||o.legend.handleEvent(s.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(o,s,_){const j=s.datasetIndex,$=_.chart;$.isDatasetVisible(j)?($.hide(j),s.hidden=!0):($.show(j),s.hidden=!1)},onHover:null,onLeave:null,labels:{color:o=>o.chart.options.color,boxWidth:40,padding:10,generateLabels(o){const s=o.data.datasets,{labels:{usePointStyle:_,pointStyle:j,textAlign:$,color:_e,useBorderRadius:et,borderRadius:tt}}=o.legend.options;return o._getSortedDatasetMetas().map(nt=>{const rt=nt.controller.getStyle(_?0:void 0),ot=toPadding(rt.borderWidth);return{text:s[nt.index].label,fillStyle:rt.backgroundColor,fontColor:_e,hidden:!nt.visible,lineCap:rt.borderCapStyle,lineDash:rt.borderDash,lineDashOffset:rt.borderDashOffset,lineJoin:rt.borderJoinStyle,lineWidth:(ot.width+ot.height)/4,strokeStyle:rt.borderColor,pointStyle:j||rt.pointStyle,rotation:rt.rotation,textAlign:$||rt.textAlign,borderRadius:et&&(tt||rt.borderRadius),datasetIndex:nt.index}},this)}},title:{color:o=>o.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:o=>!o.startsWith("on"),labels:{_scriptable:o=>!["generateLabels","filter","sort"].includes(o)}}};class Title extends Element{constructor(s){super(),this.chart=s.chart,this.options=s.options,this.ctx=s.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(s,_){const j=this.options;if(this.left=0,this.top=0,!j.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=s,this.height=this.bottom=_;const $=isArray(j.text)?j.text.length:1;this._padding=toPadding(j.padding);const _e=$*toFont(j.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=_e:this.width=_e}isHorizontal(){const s=this.options.position;return s==="top"||s==="bottom"}_drawArgs(s){const{top:_,left:j,bottom:$,right:_e,options:et}=this,tt=et.align;let nt=0,rt,ot,ut;return this.isHorizontal()?(ot=_alignStartEnd(tt,j,_e),ut=_+s,rt=_e-j):(et.position==="left"?(ot=j+s,ut=_alignStartEnd(tt,$,_),nt=PI*-.5):(ot=_e-s,ut=_alignStartEnd(tt,_,$),nt=PI*.5),rt=$-_),{titleX:ot,titleY:ut,maxWidth:rt,rotation:nt}}draw(){const s=this.ctx,_=this.options;if(!_.display)return;const j=toFont(_.font),_e=j.lineHeight/2+this._padding.top,{titleX:et,titleY:tt,maxWidth:nt,rotation:rt}=this._drawArgs(_e);renderText(s,_.text,0,0,j,{color:_.color,maxWidth:nt,rotation:rt,textAlign:_toLeftRightCenter(_.align),textBaseline:"middle",translation:[et,tt]})}}function createTitle(o,s){const _=new Title({ctx:o.ctx,options:s,chart:o});layouts.configure(o,_,s),layouts.addBox(o,_),o.titleBlock=_}var plugin_title={id:"title",_element:Title,start(o,s,_){createTitle(o,_)},stop(o){const s=o.titleBlock;layouts.removeBox(o,s),delete o.titleBlock},beforeUpdate(o,s,_){const j=o.titleBlock;layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const map=new WeakMap;var plugin_subtitle={id:"subtitle",start(o,s,_){const j=new Title({ctx:o.ctx,options:_,chart:o});layouts.configure(o,j,_),layouts.addBox(o,j),map.set(o,j)},stop(o){layouts.removeBox(o,map.get(o)),map.delete(o)},beforeUpdate(o,s,_){const j=map.get(o);layouts.configure(o,j,_),j.options=_},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const positioners={average(o){if(!o.length)return!1;let s,_,j=new Set,$=0,_e=0;for(s=0,_=o.length;s<_;++s){const tt=o[s].element;if(tt&&tt.hasValue()){const nt=tt.tooltipPosition();j.add(nt.x),$+=nt.y,++_e}}return _e===0||j.size===0?!1:{x:[...j].reduce((tt,nt)=>tt+nt)/j.size,y:$/_e}},nearest(o,s){if(!o.length)return!1;let _=s.x,j=s.y,$=Number.POSITIVE_INFINITY,_e,et,tt;for(_e=0,et=o.length;_e-1?o.split(` +`):o}function createTooltipItem(o,s){const{element:_,datasetIndex:j,index:$}=s,_e=o.getDatasetMeta(j).controller,{label:et,value:tt}=_e.getLabelAndValue($);return{chart:o,label:et,parsed:_e.getParsed($),raw:o.data.datasets[j].data[$],formattedValue:tt,dataset:_e.getDataset(),dataIndex:$,datasetIndex:j,element:_}}function getTooltipSize(o,s){const _=o.chart.ctx,{body:j,footer:$,title:_e}=o,{boxWidth:et,boxHeight:tt}=s,nt=toFont(s.bodyFont),rt=toFont(s.titleFont),ot=toFont(s.footerFont),ut=_e.length,dt=$.length,Ut=j.length,st=toPadding(s.padding);let ct=st.height,pt=0,Bt=j.reduce((ft,Ft)=>ft+Ft.before.length+Ft.lines.length+Ft.after.length,0);if(Bt+=o.beforeBody.length+o.afterBody.length,ut&&(ct+=ut*rt.lineHeight+(ut-1)*s.titleSpacing+s.titleMarginBottom),Bt){const ft=s.displayColors?Math.max(tt,nt.lineHeight):nt.lineHeight;ct+=Ut*ft+(Bt-Ut)*nt.lineHeight+(Bt-1)*s.bodySpacing}dt&&(ct+=s.footerMarginTop+dt*ot.lineHeight+(dt-1)*s.footerSpacing);let Qt=0;const gt=function(ft){pt=Math.max(pt,_.measureText(ft).width+Qt)};return _.save(),_.font=rt.string,each(o.title,gt),_.font=nt.string,each(o.beforeBody.concat(o.afterBody),gt),Qt=s.displayColors?et+2+s.boxPadding:0,each(j,ft=>{each(ft.before,gt),each(ft.lines,gt),each(ft.after,gt)}),Qt=0,_.font=ot.string,each(o.footer,gt),_.restore(),pt+=st.width,{width:pt,height:ct}}function determineYAlign(o,s){const{y:_,height:j}=s;return _o.height-j/2?"bottom":"center"}function doesNotFitWithAlign(o,s,_,j){const{x:$,width:_e}=j,et=_.caretSize+_.caretPadding;if(o==="left"&&$+_e+et>s.width||o==="right"&&$-_e-et<0)return!0}function determineXAlign(o,s,_,j){const{x:$,width:_e}=_,{width:et,chartArea:{left:tt,right:nt}}=o;let rt="center";return j==="center"?rt=$<=(tt+nt)/2?"left":"right":$<=_e/2?rt="left":$>=et-_e/2&&(rt="right"),doesNotFitWithAlign(rt,o,s,_)&&(rt="center"),rt}function determineAlignment(o,s,_){const j=_.yAlign||s.yAlign||determineYAlign(o,_);return{xAlign:_.xAlign||s.xAlign||determineXAlign(o,s,_,j),yAlign:j}}function alignX(o,s){let{x:_,width:j}=o;return s==="right"?_-=j:s==="center"&&(_-=j/2),_}function alignY(o,s,_){let{y:j,height:$}=o;return s==="top"?j+=_:s==="bottom"?j-=$+_:j-=$/2,j}function getBackgroundPoint(o,s,_,j){const{caretSize:$,caretPadding:_e,cornerRadius:et}=o,{xAlign:tt,yAlign:nt}=_,rt=$+_e,{topLeft:ot,topRight:ut,bottomLeft:dt,bottomRight:Ut}=toTRBLCorners(et);let st=alignX(s,tt);const ct=alignY(s,nt,rt);return nt==="center"?tt==="left"?st+=rt:tt==="right"&&(st-=rt):tt==="left"?st-=Math.max(ot,dt)+$:tt==="right"&&(st+=Math.max(ut,Ut)+$),{x:_limitValue(st,0,j.width-s.width),y:_limitValue(ct,0,j.height-s.height)}}function getAlignedX(o,s,_){const j=toPadding(_.padding);return s==="center"?o.x+o.width/2:s==="right"?o.x+o.width-j.right:o.x+j.left}function getBeforeAfterBodyLines(o){return pushOrConcat([],splitNewlines(o))}function createTooltipContext(o,s,_){return createContext(o,{tooltip:s,tooltipItems:_,type:"tooltip"})}function overrideCallbacks(o,s){const _=s&&s.dataset&&s.dataset.tooltip&&s.dataset.tooltip.callbacks;return _?o.override(_):o}const defaultCallbacks={beforeTitle:noop,title(o){if(o.length>0){const s=o[0],_=s.chart.data.labels,j=_?_.length:0;if(this&&this.options&&this.options.mode==="dataset")return s.dataset.label||"";if(s.label)return s.label;if(j>0&&s.dataIndex"u"?defaultCallbacks[s].call(_,j):$}class Tooltip extends Element{constructor(s){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=s.chart,this.options=s.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(s){this.options=s,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const s=this._cachedAnimations;if(s)return s;const _=this.chart,j=this.options.setContext(this.getContext()),$=j.enabled&&_.options.animation&&j.animations,_e=new Animations(this.chart,$);return $._cacheable&&(this._cachedAnimations=Object.freeze(_e)),_e}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeTitle",this,s),_e=invokeCallbackWithFallback(j,"title",this,s),et=invokeCallbackWithFallback(j,"afterTitle",this,s);let tt=[];return tt=pushOrConcat(tt,splitNewlines($)),tt=pushOrConcat(tt,splitNewlines(_e)),tt=pushOrConcat(tt,splitNewlines(et)),tt}getBeforeBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"beforeBody",this,s))}getBody(s,_){const{callbacks:j}=_,$=[];return each(s,_e=>{const et={before:[],lines:[],after:[]},tt=overrideCallbacks(j,_e);pushOrConcat(et.before,splitNewlines(invokeCallbackWithFallback(tt,"beforeLabel",this,_e))),pushOrConcat(et.lines,invokeCallbackWithFallback(tt,"label",this,_e)),pushOrConcat(et.after,splitNewlines(invokeCallbackWithFallback(tt,"afterLabel",this,_e))),$.push(et)}),$}getAfterBody(s,_){return getBeforeAfterBodyLines(invokeCallbackWithFallback(_.callbacks,"afterBody",this,s))}getFooter(s,_){const{callbacks:j}=_,$=invokeCallbackWithFallback(j,"beforeFooter",this,s),_e=invokeCallbackWithFallback(j,"footer",this,s),et=invokeCallbackWithFallback(j,"afterFooter",this,s);let tt=[];return tt=pushOrConcat(tt,splitNewlines($)),tt=pushOrConcat(tt,splitNewlines(_e)),tt=pushOrConcat(tt,splitNewlines(et)),tt}_createItems(s){const _=this._active,j=this.chart.data,$=[],_e=[],et=[];let tt=[],nt,rt;for(nt=0,rt=_.length;nts.filter(ot,ut,dt,j))),s.itemSort&&(tt=tt.sort((ot,ut)=>s.itemSort(ot,ut,j))),each(tt,ot=>{const ut=overrideCallbacks(s.callbacks,ot);$.push(invokeCallbackWithFallback(ut,"labelColor",this,ot)),_e.push(invokeCallbackWithFallback(ut,"labelPointStyle",this,ot)),et.push(invokeCallbackWithFallback(ut,"labelTextColor",this,ot))}),this.labelColors=$,this.labelPointStyles=_e,this.labelTextColors=et,this.dataPoints=tt,tt}update(s,_){const j=this.options.setContext(this.getContext()),$=this._active;let _e,et=[];if(!$.length)this.opacity!==0&&(_e={opacity:0});else{const tt=positioners[j.position].call(this,$,this._eventPosition);et=this._createItems(j),this.title=this.getTitle(et,j),this.beforeBody=this.getBeforeBody(et,j),this.body=this.getBody(et,j),this.afterBody=this.getAfterBody(et,j),this.footer=this.getFooter(et,j);const nt=this._size=getTooltipSize(this,j),rt=Object.assign({},tt,nt),ot=determineAlignment(this.chart,j,rt),ut=getBackgroundPoint(j,rt,ot,this.chart);this.xAlign=ot.xAlign,this.yAlign=ot.yAlign,_e={opacity:1,x:ut.x,y:ut.y,width:nt.width,height:nt.height,caretX:tt.x,caretY:tt.y}}this._tooltipItems=et,this.$context=void 0,_e&&this._resolveAnimations().update(this,_e),s&&j.external&&j.external.call(this,{chart:this.chart,tooltip:this,replay:_})}drawCaret(s,_,j,$){const _e=this.getCaretPosition(s,j,$);_.lineTo(_e.x1,_e.y1),_.lineTo(_e.x2,_e.y2),_.lineTo(_e.x3,_e.y3)}getCaretPosition(s,_,j){const{xAlign:$,yAlign:_e}=this,{caretSize:et,cornerRadius:tt}=j,{topLeft:nt,topRight:rt,bottomLeft:ot,bottomRight:ut}=toTRBLCorners(tt),{x:dt,y:Ut}=s,{width:st,height:ct}=_;let pt,Bt,Qt,gt,ft,Ft;return _e==="center"?(ft=Ut+ct/2,$==="left"?(pt=dt,Bt=pt-et,gt=ft+et,Ft=ft-et):(pt=dt+st,Bt=pt+et,gt=ft-et,Ft=ft+et),Qt=pt):($==="left"?Bt=dt+Math.max(nt,ot)+et:$==="right"?Bt=dt+st-Math.max(rt,ut)-et:Bt=this.caretX,_e==="top"?(gt=Ut,ft=gt-et,pt=Bt-et,Qt=Bt+et):(gt=Ut+ct,ft=gt+et,pt=Bt+et,Qt=Bt-et),Ft=gt),{x1:pt,x2:Bt,x3:Qt,y1:gt,y2:ft,y3:Ft}}drawTitle(s,_,j){const $=this.title,_e=$.length;let et,tt,nt;if(_e){const rt=getRtlAdapter(j.rtl,this.x,this.width);for(s.x=getAlignedX(this,j.titleAlign,j),_.textAlign=rt.textAlign(j.titleAlign),_.textBaseline="middle",et=toFont(j.titleFont),tt=j.titleSpacing,_.fillStyle=j.titleColor,_.font=et.string,nt=0;nt<_e;++nt)_.fillText($[nt],rt.x(s.x),s.y+et.lineHeight/2),s.y+=et.lineHeight+tt,nt+1===_e&&(s.y+=j.titleMarginBottom-tt)}}_drawColorBox(s,_,j,$,_e){const et=this.labelColors[j],tt=this.labelPointStyles[j],{boxHeight:nt,boxWidth:rt}=_e,ot=toFont(_e.bodyFont),ut=getAlignedX(this,"left",_e),dt=$.x(ut),Ut=ntQt!==0)?(s.beginPath(),s.fillStyle=_e.multiKeyBackground,addRoundedRectPath(s,{x:ct,y:st,w:rt,h:nt,radius:Bt}),s.fill(),s.stroke(),s.fillStyle=et.backgroundColor,s.beginPath(),addRoundedRectPath(s,{x:pt,y:st+1,w:rt-2,h:nt-2,radius:Bt}),s.fill()):(s.fillStyle=_e.multiKeyBackground,s.fillRect(ct,st,rt,nt),s.strokeRect(ct,st,rt,nt),s.fillStyle=et.backgroundColor,s.fillRect(pt,st+1,rt-2,nt-2))}s.fillStyle=this.labelTextColors[j]}drawBody(s,_,j){const{body:$}=this,{bodySpacing:_e,bodyAlign:et,displayColors:tt,boxHeight:nt,boxWidth:rt,boxPadding:ot}=j,ut=toFont(j.bodyFont);let dt=ut.lineHeight,Ut=0;const st=getRtlAdapter(j.rtl,this.x,this.width),ct=function(xt){_.fillText(xt,st.x(s.x+Ut),s.y+dt/2),s.y+=dt+_e},pt=st.textAlign(et);let Bt,Qt,gt,ft,Ft,yt,Ct;for(_.textAlign=et,_.textBaseline="middle",_.font=ut.string,s.x=getAlignedX(this,pt,j),_.fillStyle=j.bodyColor,each(this.beforeBody,ct),Ut=tt&&pt!=="right"?et==="center"?rt/2+ot:rt+2+ot:0,ft=0,yt=$.length;ft0&&_.stroke()}_updateAnimationTarget(s){const _=this.chart,j=this.$animations,$=j&&j.x,_e=j&&j.y;if($||_e){const et=positioners[s.position].call(this,this._active,this._eventPosition);if(!et)return;const tt=this._size=getTooltipSize(this,s),nt=Object.assign({},et,this._size),rt=determineAlignment(_,s,nt),ot=getBackgroundPoint(s,nt,rt,_);($._to!==ot.x||_e._to!==ot.y)&&(this.xAlign=rt.xAlign,this.yAlign=rt.yAlign,this.width=tt.width,this.height=tt.height,this.caretX=et.x,this.caretY=et.y,this._resolveAnimations().update(this,ot))}}_willRender(){return!!this.opacity}draw(s){const _=this.options.setContext(this.getContext());let j=this.opacity;if(!j)return;this._updateAnimationTarget(_);const $={width:this.width,height:this.height},_e={x:this.x,y:this.y};j=Math.abs(j)<.001?0:j;const et=toPadding(_.padding),tt=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;_.enabled&&tt&&(s.save(),s.globalAlpha=j,this.drawBackground(_e,s,$,_),overrideTextDirection(s,_.textDirection),_e.y+=et.top,this.drawTitle(_e,s,_),this.drawBody(_e,s,_),this.drawFooter(_e,s,_),restoreTextDirection(s,_.textDirection),s.restore())}getActiveElements(){return this._active||[]}setActiveElements(s,_){const j=this._active,$=s.map(({datasetIndex:tt,index:nt})=>{const rt=this.chart.getDatasetMeta(tt);if(!rt)throw new Error("Cannot find a dataset at index "+tt);return{datasetIndex:tt,element:rt.data[nt],index:nt}}),_e=!_elementsEqual(j,$),et=this._positionChanged($,_);(_e||et)&&(this._active=$,this._eventPosition=_,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(s,_,j=!0){if(_&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const $=this.options,_e=this._active||[],et=this._getActiveElements(s,_e,_,j),tt=this._positionChanged(et,s),nt=_||!_elementsEqual(et,_e)||tt;return nt&&(this._active=et,($.enabled||$.external)&&(this._eventPosition={x:s.x,y:s.y},this.update(!0,_))),nt}_getActiveElements(s,_,j,$){const _e=this.options;if(s.type==="mouseout")return[];if(!$)return _.filter(tt=>this.chart.data.datasets[tt.datasetIndex]&&this.chart.getDatasetMeta(tt.datasetIndex).controller.getParsed(tt.index)!==void 0);const et=this.chart.getElementsAtEventForMode(s,_e.mode,_e,j);return _e.reverse&&et.reverse(),et}_positionChanged(s,_){const{caretX:j,caretY:$,options:_e}=this,et=positioners[_e.position].call(this,s,_);return et!==!1&&(j!==et.x||$!==et.y)}}On(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(o,s,_){_&&(o.tooltip=new Tooltip({chart:o,options:_}))},beforeUpdate(o,s,_){o.tooltip&&o.tooltip.initialize(_)},reset(o,s,_){o.tooltip&&o.tooltip.initialize(_)},afterDraw(o){const s=o.tooltip;if(s&&s._willRender()){const _={tooltip:s};if(o.notifyPlugins("beforeTooltipDraw",{..._,cancelable:!0})===!1)return;s.draw(o.ctx),o.notifyPlugins("afterTooltipDraw",_)}},afterEvent(o,s){if(o.tooltip){const _=s.replay;o.tooltip.handleEvent(s.event,_,s.inChartArea)&&(s.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(o,s)=>s.bodyFont.size,boxWidth:(o,s)=>s.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:o=>o!=="filter"&&o!=="itemSort"&&o!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Colors:plugin_colors,Decimation:plugin_decimation,Filler:index$1,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip});const addIfString=(o,s,_,j)=>(typeof s=="string"?(_=o.push(s)-1,j.unshift({index:_,label:s})):isNaN(s)&&(_=null),_);function findOrAddLabel(o,s,_,j){const $=o.indexOf(s);if($===-1)return addIfString(o,s,_,j);const _e=o.lastIndexOf(s);return $!==_e?_:$}const validIndex=(o,s)=>o===null?null:_limitValue(Math.round(o),0,s);function _getLabelForValue(o){const s=this.getLabels();return o>=0&&o_.length-1?null:this.getPixelForValue(_[s].value)}getValueForPixel(s){return Math.round(this._startValue+this.getDecimalForPixel(s)*this._valueRange)}getBasePixel(){return this.bottom}}On(CategoryScale,"id","category"),On(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(o,s){const _=[],{bounds:$,step:_e,min:et,max:tt,precision:nt,count:rt,maxTicks:ot,maxDigits:ut,includeBounds:dt}=o,Ut=_e||1,st=ot-1,{min:ct,max:pt}=s,Bt=!isNullOrUndef(et),Qt=!isNullOrUndef(tt),gt=!isNullOrUndef(rt),ft=(pt-ct)/(ut+1);let Ft=niceNum((pt-ct)/st/Ut)*Ut,yt,Ct,xt,ht;if(Ft<1e-14&&!Bt&&!Qt)return[{value:ct},{value:pt}];ht=Math.ceil(pt/Ft)-Math.floor(ct/Ft),ht>st&&(Ft=niceNum(ht*Ft/st/Ut)*Ut),isNullOrUndef(nt)||(yt=Math.pow(10,nt),Ft=Math.ceil(Ft*yt)/yt),$==="ticks"?(Ct=Math.floor(ct/Ft)*Ft,xt=Math.ceil(pt/Ft)*Ft):(Ct=ct,xt=pt),Bt&&Qt&&_e&&almostWhole((tt-et)/_e,Ft/1e3)?(ht=Math.round(Math.min((tt-et)/Ft,ot)),Ft=(tt-et)/ht,Ct=et,xt=tt):gt?(Ct=Bt?et:Ct,xt=Qt?tt:xt,ht=rt-1,Ft=(xt-Ct)/ht):(ht=(xt-Ct)/Ft,almostEquals(ht,Math.round(ht),Ft/1e3)?ht=Math.round(ht):ht=Math.ceil(ht));const mt=Math.max(_decimalPlaces(Ft),_decimalPlaces(Ct));yt=Math.pow(10,isNullOrUndef(nt)?mt:nt),Ct=Math.round(Ct*yt)/yt,xt=Math.round(xt*yt)/yt;let It=0;for(Bt&&(dt&&Ct!==et?(_.push({value:et}),Cttt)break;_.push({value:vt})}return Qt&&dt&&xt!==tt?_.length&&almostEquals(_[_.length-1].value,tt,relativeLabelSize(tt,ft,o))?_[_.length-1].value=tt:_.push({value:tt}):(!Qt||xt===tt)&&_.push({value:xt}),_}function relativeLabelSize(o,s,{horizontal:_,minRotation:j}){const $=toRadians(j),_e=(_?Math.sin($):Math.cos($))||.001,et=.75*s*(""+o).length;return Math.min(s/_e,et)}class LinearScaleBase extends Scale{constructor(s){super(s),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(s,_){return isNullOrUndef(s)||(typeof s=="number"||s instanceof Number)&&!isFinite(+s)?null:+s}handleTickRangeOptions(){const{beginAtZero:s}=this.options,{minDefined:_,maxDefined:j}=this.getUserBounds();let{min:$,max:_e}=this;const et=nt=>$=_?$:nt,tt=nt=>_e=j?_e:nt;if(s){const nt=sign($),rt=sign(_e);nt<0&&rt<0?tt(0):nt>0&&rt>0&&et(0)}if($===_e){let nt=_e===0?1:Math.abs(_e*.05);tt(_e+nt),s||et($-nt)}this.min=$,this.max=_e}getTickLimit(){const s=this.options.ticks;let{maxTicksLimit:_,stepSize:j}=s,$;return j?($=Math.ceil(this.max/j)-Math.floor(this.min/j)+1,$>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${j} would result generating up to ${$} ticks. Limiting to 1000.`),$=1e3)):($=this.computeTickLimit(),_=_||11),_&&($=Math.min(_,$)),$}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const s=this.options,_=s.ticks;let j=this.getTickLimit();j=Math.max(2,j);const $={maxTicks:j,bounds:s.bounds,min:s.min,max:s.max,precision:_.precision,step:_.stepSize,count:_.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:_.minRotation||0,includeBounds:_.includeBounds!==!1},_e=this._range||this,et=generateTicks$1($,_e);return s.bounds==="ticks"&&_setMinAndMaxByKey(et,this,"value"),s.reverse?(et.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),et}configure(){const s=this.ticks;let _=this.min,j=this.max;if(super.configure(),this.options.offset&&s.length){const $=(j-_)/Math.max(s.length-1,1)/2;_-=$,j+=$}this._startValue=_,this._endValue=j,this._valueRange=j-_}getLabelForValue(s){return formatNumber(s,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?s:0,this.max=isNumberFinite(_)?_:1,this.handleTickRangeOptions()}computeTickLimit(){const s=this.isHorizontal(),_=s?this.width:this.height,j=toRadians(this.options.ticks.minRotation),$=(s?Math.sin(j):Math.cos(j))||.001,_e=this._resolveTickFontOptions(0);return Math.ceil(_/Math.min(40,_e.lineHeight/$))}getPixelForValue(s){return s===null?NaN:this.getPixelForDecimal((s-this._startValue)/this._valueRange)}getValueForPixel(s){return this._startValue+this.getDecimalForPixel(s)*this._valueRange}}On(LinearScale,"id","linear"),On(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=o=>Math.floor(log10(o)),changeExponent=(o,s)=>Math.pow(10,log10Floor(o)+s);function isMajor(o){return o/Math.pow(10,log10Floor(o))===1}function steps(o,s,_){const j=Math.pow(10,_),$=Math.floor(o/j);return Math.ceil(s/j)-$}function startExp(o,s){const _=s-o;let j=log10Floor(_);for(;steps(o,s,j)>10;)j++;for(;steps(o,s,j)<10;)j--;return Math.min(j,log10Floor(o))}function generateTicks(o,{min:s,max:_}){s=finiteOrDefault(o.min,s);const j=[],$=log10Floor(s);let _e=startExp(s,_),et=_e<0?Math.pow(10,Math.abs(_e)):1;const tt=Math.pow(10,_e),nt=$>_e?Math.pow(10,$):0,rt=Math.round((s-nt)*et)/et,ot=Math.floor((s-nt)/tt/10)*tt*10;let ut=Math.floor((rt-ot)/Math.pow(10,_e)),dt=finiteOrDefault(o.min,Math.round((nt+ot+ut*Math.pow(10,_e))*et)/et);for(;dt<_;)j.push({value:dt,major:isMajor(dt),significand:ut}),ut>=10?ut=ut<15?15:20:ut++,ut>=20&&(_e++,ut=2,et=_e>=0?1:et),dt=Math.round((nt+ot+ut*Math.pow(10,_e))*et)/et;const Ut=finiteOrDefault(o.max,dt);return j.push({value:Ut,major:isMajor(Ut),significand:ut}),j}class LogarithmicScale extends Scale{constructor(s){super(s),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(s,_){const j=LinearScaleBase.prototype.parse.apply(this,[s,_]);if(j===0){this._zero=!0;return}return isNumberFinite(j)&&j>0?j:null}determineDataLimits(){const{min:s,max:_}=this.getMinMax(!0);this.min=isNumberFinite(s)?Math.max(0,s):null,this.max=isNumberFinite(_)?Math.max(0,_):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=s===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:s,maxDefined:_}=this.getUserBounds();let j=this.min,$=this.max;const _e=tt=>j=s?j:tt,et=tt=>$=_?$:tt;j===$&&(j<=0?(_e(1),et(10)):(_e(changeExponent(j,-1)),et(changeExponent($,1)))),j<=0&&_e(changeExponent($,-1)),$<=0&&et(changeExponent(j,1)),this.min=j,this.max=$}buildTicks(){const s=this.options,_={min:this._userMin,max:this._userMax},j=generateTicks(_,this);return s.bounds==="ticks"&&_setMinAndMaxByKey(j,this,"value"),s.reverse?(j.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),j}getLabelForValue(s){return s===void 0?"0":formatNumber(s,this.chart.options.locale,this.options.ticks.format)}configure(){const s=this.min;super.configure(),this._startValue=log10(s),this._valueRange=log10(this.max)-log10(s)}getPixelForValue(s){return(s===void 0||s===0)&&(s=this.min),s===null||isNaN(s)?NaN:this.getPixelForDecimal(s===this.min?0:(log10(s)-this._startValue)/this._valueRange)}getValueForPixel(s){const _=this.getDecimalForPixel(s);return Math.pow(10,this._startValue+_*this._valueRange)}}On(LogarithmicScale,"id","logarithmic"),On(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(o){const s=o.ticks;if(s.display&&o.display){const _=toPadding(s.backdropPadding);return valueOrDefault(s.font&&s.font.size,defaults.font.size)+_.height}return 0}function measureLabelSize(o,s,_){return _=isArray(_)?_:[_],{w:_longestText(o,s.string,_),h:_.length*s.lineHeight}}function determineLimits(o,s,_,j,$){return o===j||o===$?{start:s-_/2,end:s+_/2}:o$?{start:s-_,end:s}:{start:s,end:s+_}}function fitWithPointLabels(o){const s={l:o.left+o._padding.left,r:o.right-o._padding.right,t:o.top+o._padding.top,b:o.bottom-o._padding.bottom},_=Object.assign({},s),j=[],$=[],_e=o._pointLabels.length,et=o.options.pointLabels,tt=et.centerPointLabels?PI/_e:0;for(let nt=0;nt<_e;nt++){const rt=et.setContext(o.getPointLabelContext(nt));$[nt]=rt.padding;const ot=o.getPointPosition(nt,o.drawingArea+$[nt],tt),ut=toFont(rt.font),dt=measureLabelSize(o.ctx,ut,o._pointLabels[nt]);j[nt]=dt;const Ut=_normalizeAngle(o.getIndexAngle(nt)+tt),st=Math.round(toDegrees(Ut)),ct=determineLimits(st,ot.x,dt.w,0,180),pt=determineLimits(st,ot.y,dt.h,90,270);updateLimits(_,s,Ut,ct,pt)}o.setCenterPoint(s.l-_.l,_.r-s.r,s.t-_.t,_.b-s.b),o._pointLabelItems=buildPointLabelItems(o,j,$)}function updateLimits(o,s,_,j,$){const _e=Math.abs(Math.sin(_)),et=Math.abs(Math.cos(_));let tt=0,nt=0;j.starts.r&&(tt=(j.end-s.r)/_e,o.r=Math.max(o.r,s.r+tt)),$.starts.b&&(nt=($.end-s.b)/et,o.b=Math.max(o.b,s.b+nt))}function createPointLabelItem(o,s,_){const j=o.drawingArea,{extra:$,additionalAngle:_e,padding:et,size:tt}=_,nt=o.getPointPosition(s,j+$+et,_e),rt=Math.round(toDegrees(_normalizeAngle(nt.angle+HALF_PI))),ot=yForAngle(nt.y,tt.h,rt),ut=getTextAlignForAngle(rt),dt=leftForTextAlign(nt.x,tt.w,ut);return{visible:!0,x:nt.x,y:ot,textAlign:ut,left:dt,top:ot,right:dt+tt.w,bottom:ot+tt.h}}function isNotOverlapped(o,s){if(!s)return!0;const{left:_,top:j,right:$,bottom:_e}=o;return!(_isPointInArea({x:_,y:j},s)||_isPointInArea({x:_,y:_e},s)||_isPointInArea({x:$,y:j},s)||_isPointInArea({x:$,y:_e},s))}function buildPointLabelItems(o,s,_){const j=[],$=o._pointLabels.length,_e=o.options,{centerPointLabels:et,display:tt}=_e.pointLabels,nt={extra:getTickBackdropHeight(_e)/2,additionalAngle:et?PI/$:0};let rt;for(let ot=0;ot<$;ot++){nt.padding=_[ot],nt.size=s[ot];const ut=createPointLabelItem(o,ot,nt);j.push(ut),tt==="auto"&&(ut.visible=isNotOverlapped(ut,rt),ut.visible&&(rt=ut))}return j}function getTextAlignForAngle(o){return o===0||o===180?"center":o<180?"left":"right"}function leftForTextAlign(o,s,_){return _==="right"?o-=s:_==="center"&&(o-=s/2),o}function yForAngle(o,s,_){return _===90||_===270?o-=s/2:(_>270||_<90)&&(o-=s),o}function drawPointLabelBox(o,s,_){const{left:j,top:$,right:_e,bottom:et}=_,{backdropColor:tt}=s;if(!isNullOrUndef(tt)){const nt=toTRBLCorners(s.borderRadius),rt=toPadding(s.backdropPadding);o.fillStyle=tt;const ot=j-rt.left,ut=$-rt.top,dt=_e-j+rt.width,Ut=et-$+rt.height;Object.values(nt).some(st=>st!==0)?(o.beginPath(),addRoundedRectPath(o,{x:ot,y:ut,w:dt,h:Ut,radius:nt}),o.fill()):o.fillRect(ot,ut,dt,Ut)}}function drawPointLabels(o,s){const{ctx:_,options:{pointLabels:j}}=o;for(let $=s-1;$>=0;$--){const _e=o._pointLabelItems[$];if(!_e.visible)continue;const et=j.setContext(o.getPointLabelContext($));drawPointLabelBox(_,et,_e);const tt=toFont(et.font),{x:nt,y:rt,textAlign:ot}=_e;renderText(_,o._pointLabels[$],nt,rt+tt.lineHeight/2,tt,{color:et.color,textAlign:ot,textBaseline:"middle"})}}function pathRadiusLine(o,s,_,j){const{ctx:$}=o;if(_)$.arc(o.xCenter,o.yCenter,s,0,TAU);else{let _e=o.getPointPosition(0,s);$.moveTo(_e.x,_e.y);for(let et=1;et{const $=callback(this.options.pointLabels.callback,[_,j],this);return $||$===0?$:""}).filter((_,j)=>this.chart.getDataVisibility(j))}fit(){const s=this.options;s.display&&s.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(s,_,j,$){this.xCenter+=Math.floor((s-_)/2),this.yCenter+=Math.floor((j-$)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(s,_,j,$))}getIndexAngle(s){const _=TAU/(this._pointLabels.length||1),j=this.options.startAngle||0;return _normalizeAngle(s*_+toRadians(j))}getDistanceFromCenterForValue(s){if(isNullOrUndef(s))return NaN;const _=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-s)*_:(s-this.min)*_}getValueForDistanceFromCenter(s){if(isNullOrUndef(s))return NaN;const _=s/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-_:this.min+_}getPointLabelContext(s){const _=this._pointLabels||[];if(s>=0&&s<_.length){const j=_[s];return createPointLabelContext(this.getContext(),s,j)}}getPointPosition(s,_,j=0){const $=this.getIndexAngle(s)-HALF_PI+j;return{x:Math.cos($)*_+this.xCenter,y:Math.sin($)*_+this.yCenter,angle:$}}getPointPositionForValue(s,_){return this.getPointPosition(s,this.getDistanceFromCenterForValue(_))}getBasePosition(s){return this.getPointPositionForValue(s||0,this.getBaseValue())}getPointLabelPosition(s){const{left:_,top:j,right:$,bottom:_e}=this._pointLabelItems[s];return{left:_,top:j,right:$,bottom:_e}}drawBackground(){const{backgroundColor:s,grid:{circular:_}}=this.options;if(s){const j=this.ctx;j.save(),j.beginPath(),pathRadiusLine(this,this.getDistanceFromCenterForValue(this._endValue),_,this._pointLabels.length),j.closePath(),j.fillStyle=s,j.fill(),j.restore()}}drawGrid(){const s=this.ctx,_=this.options,{angleLines:j,grid:$,border:_e}=_,et=this._pointLabels.length;let tt,nt,rt;if(_.pointLabels.display&&drawPointLabels(this,et),$.display&&this.ticks.forEach((ot,ut)=>{if(ut!==0||ut===0&&this.min<0){nt=this.getDistanceFromCenterForValue(ot.value);const dt=this.getContext(ut),Ut=$.setContext(dt),st=_e.setContext(dt);drawRadiusLine(this,Ut,nt,et,st)}}),j.display){for(s.save(),tt=et-1;tt>=0;tt--){const ot=j.setContext(this.getPointLabelContext(tt)),{color:ut,lineWidth:dt}=ot;!dt||!ut||(s.lineWidth=dt,s.strokeStyle=ut,s.setLineDash(ot.borderDash),s.lineDashOffset=ot.borderDashOffset,nt=this.getDistanceFromCenterForValue(_.reverse?this.min:this.max),rt=this.getPointPosition(tt,nt),s.beginPath(),s.moveTo(this.xCenter,this.yCenter),s.lineTo(rt.x,rt.y),s.stroke())}s.restore()}}drawBorder(){}drawLabels(){const s=this.ctx,_=this.options,j=_.ticks;if(!j.display)return;const $=this.getIndexAngle(0);let _e,et;s.save(),s.translate(this.xCenter,this.yCenter),s.rotate($),s.textAlign="center",s.textBaseline="middle",this.ticks.forEach((tt,nt)=>{if(nt===0&&this.min>=0&&!_.reverse)return;const rt=j.setContext(this.getContext(nt)),ot=toFont(rt.font);if(_e=this.getDistanceFromCenterForValue(this.ticks[nt].value),rt.showLabelBackdrop){s.font=ot.string,et=s.measureText(tt.label).width,s.fillStyle=rt.backdropColor;const ut=toPadding(rt.backdropPadding);s.fillRect(-et/2-ut.left,-_e-ot.size/2-ut.top,et+ut.width,ot.size+ut.height)}renderText(s,tt.label,0,-_e,ot,{color:rt.color,strokeColor:rt.textStrokeColor,strokeWidth:rt.textStrokeWidth})}),s.restore()}drawTitle(){}}On(RadialLinearScale,"id","radialLinear"),On(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(s){return s},padding:5,centerPointLabels:!1}}),On(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),On(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(o,s){return o-s}function parse(o,s){if(isNullOrUndef(s))return null;const _=o._adapter,{parser:j,round:$,isoWeekday:_e}=o._parseOpts;let et=s;return typeof j=="function"&&(et=j(et)),isNumberFinite(et)||(et=typeof j=="string"?_.parse(et,j):_.parse(et)),et===null?null:($&&(et=$==="week"&&(isNumber(_e)||_e===!0)?_.startOf(et,"isoWeek",_e):_.startOf(et,$)),+et)}function determineUnitForAutoTicks(o,s,_,j){const $=UNITS.length;for(let _e=UNITS.indexOf(o);_e<$-1;++_e){const et=INTERVALS[UNITS[_e]],tt=et.steps?et.steps:Number.MAX_SAFE_INTEGER;if(et.common&&Math.ceil((_-s)/(tt*et.size))<=j)return UNITS[_e]}return UNITS[$-1]}function determineUnitForFormatting(o,s,_,j,$){for(let _e=UNITS.length-1;_e>=UNITS.indexOf(_);_e--){const et=UNITS[_e];if(INTERVALS[et].common&&o._adapter.diff($,j,et)>=s-1)return et}return UNITS[_?UNITS.indexOf(_):0]}function determineMajorUnit(o){for(let s=UNITS.indexOf(o)+1,_=UNITS.length;s<_;++s)if(INTERVALS[UNITS[s]].common)return UNITS[s]}function addTick(o,s,_){if(!_)o[s]=!0;else if(_.length){const{lo:j,hi:$}=_lookup(_,s),_e=_[j]>=s?_[j]:_[$];o[_e]=!0}}function setMajorTicks(o,s,_,j){const $=o._adapter,_e=+$.startOf(s[0].value,j),et=s[s.length-1].value;let tt,nt;for(tt=_e;tt<=et;tt=+$.add(tt,1,j))nt=_[tt],nt>=0&&(s[nt].major=!0);return s}function ticksFromTimestamps(o,s,_){const j=[],$={},_e=s.length;let et,tt;for(et=0;et<_e;++et)tt=s[et],$[tt]=et,j.push({value:tt,major:!1});return _e===0||!_?j:setMajorTicks(o,j,$,_)}class TimeScale extends Scale{constructor(s){super(s),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(s,_={}){const j=s.time||(s.time={}),$=this._adapter=new adapters._date(s.adapters.date);$.init(_),mergeIf(j.displayFormats,$.formats()),this._parseOpts={parser:j.parser,round:j.round,isoWeekday:j.isoWeekday},super.init(s),this._normalized=_.normalized}parse(s,_){return s===void 0?null:parse(this,s)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const s=this.options,_=this._adapter,j=s.time.unit||"day";let{min:$,max:_e,minDefined:et,maxDefined:tt}=this.getUserBounds();function nt(rt){!et&&!isNaN(rt.min)&&($=Math.min($,rt.min)),!tt&&!isNaN(rt.max)&&(_e=Math.max(_e,rt.max))}(!et||!tt)&&(nt(this._getLabelBounds()),(s.bounds!=="ticks"||s.ticks.source!=="labels")&&nt(this.getMinMax(!1))),$=isNumberFinite($)&&!isNaN($)?$:+_.startOf(Date.now(),j),_e=isNumberFinite(_e)&&!isNaN(_e)?_e:+_.endOf(Date.now(),j)+1,this.min=Math.min($,_e-1),this.max=Math.max($+1,_e)}_getLabelBounds(){const s=this.getLabelTimestamps();let _=Number.POSITIVE_INFINITY,j=Number.NEGATIVE_INFINITY;return s.length&&(_=s[0],j=s[s.length-1]),{min:_,max:j}}buildTicks(){const s=this.options,_=s.time,j=s.ticks,$=j.source==="labels"?this.getLabelTimestamps():this._generate();s.bounds==="ticks"&&$.length&&(this.min=this._userMin||$[0],this.max=this._userMax||$[$.length-1]);const _e=this.min,et=this.max,tt=_filterBetween($,_e,et);return this._unit=_.unit||(j.autoSkip?determineUnitForAutoTicks(_.minUnit,this.min,this.max,this._getLabelCapacity(_e)):determineUnitForFormatting(this,tt.length,_.minUnit,this.min,this.max)),this._majorUnit=!j.major.enabled||this._unit==="year"?void 0:determineMajorUnit(this._unit),this.initOffsets($),s.reverse&&tt.reverse(),ticksFromTimestamps(this,tt,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(s=>+s.value))}initOffsets(s=[]){let _=0,j=0,$,_e;this.options.offset&&s.length&&($=this.getDecimalForValue(s[0]),s.length===1?_=1-$:_=(this.getDecimalForValue(s[1])-$)/2,_e=this.getDecimalForValue(s[s.length-1]),s.length===1?j=_e:j=(_e-this.getDecimalForValue(s[s.length-2]))/2);const et=s.length<3?.5:.25;_=_limitValue(_,0,et),j=_limitValue(j,0,et),this._offsets={start:_,end:j,factor:1/(_+1+j)}}_generate(){const s=this._adapter,_=this.min,j=this.max,$=this.options,_e=$.time,et=_e.unit||determineUnitForAutoTicks(_e.minUnit,_,j,this._getLabelCapacity(_)),tt=valueOrDefault($.ticks.stepSize,1),nt=et==="week"?_e.isoWeekday:!1,rt=isNumber(nt)||nt===!0,ot={};let ut=_,dt,Ut;if(rt&&(ut=+s.startOf(ut,"isoWeek",nt)),ut=+s.startOf(ut,rt?"day":et),s.diff(j,_,et)>1e5*tt)throw new Error(_+" and "+j+" are too far apart with stepSize of "+tt+" "+et);const st=$.ticks.source==="data"&&this.getDataTimestamps();for(dt=ut,Ut=0;dt+ct)}getLabelForValue(s){const _=this._adapter,j=this.options.time;return j.tooltipFormat?_.format(s,j.tooltipFormat):_.format(s,j.displayFormats.datetime)}format(s,_){const $=this.options.time.displayFormats,_e=this._unit,et=_||$[_e];return this._adapter.format(s,et)}_tickFormatFunction(s,_,j,$){const _e=this.options,et=_e.ticks.callback;if(et)return callback(et,[s,_,j],this);const tt=_e.time.displayFormats,nt=this._unit,rt=this._majorUnit,ot=nt&&tt[nt],ut=rt&&tt[rt],dt=j[_],Ut=rt&&ut&&dt&&dt.major;return this._adapter.format(s,$||(Ut?ut:ot))}generateTickLabels(s){let _,j,$;for(_=0,j=s.length;_0?tt:1}getDataTimestamps(){let s=this._cache.data||[],_,j;if(s.length)return s;const $=this.getMatchingVisibleMetas();if(this._normalized&&$.length)return this._cache.data=$[0].controller.getAllParsedValues(this);for(_=0,j=$.length;_=o[j].pos&&s<=o[$].pos&&({lo:j,hi:$}=_lookupByKey(o,"pos",s)),{pos:_e,time:tt}=o[j],{pos:et,time:nt}=o[$]):(s>=o[j].time&&s<=o[$].time&&({lo:j,hi:$}=_lookupByKey(o,"time",s)),{time:_e,pos:tt}=o[j],{time:et,pos:nt}=o[$]);const rt=et-_e;return rt?tt+(nt-tt)*(s-_e)/rt:tt}class TimeSeriesScale extends TimeScale{constructor(s){super(s),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const s=this._getTimestampsForTable(),_=this._table=this.buildLookupTable(s);this._minPos=interpolate(_,this.min),this._tableRange=interpolate(_,this.max)-this._minPos,super.initOffsets(s)}buildLookupTable(s){const{min:_,max:j}=this,$=[],_e=[];let et,tt,nt,rt,ot;for(et=0,tt=s.length;et=_&&rt<=j&&$.push(rt);if($.length<2)return[{time:_,pos:0},{time:j,pos:1}];for(et=0,tt=$.length;et$-_e)}_getTimestampsForTable(){let s=this._cache.all||[];if(s.length)return s;const _=this.getDataTimestamps(),j=this.getLabelTimestamps();return _.length&&j.length?s=this.normalize(_.concat(j)):s=_.length?_:j,s=this._cache.all=s,s}getDecimalForValue(s){return(interpolate(this._table,s)-this._minPos)/this._tableRange}getValueForPixel(s){const _=this._offsets,j=this.getDecimalForPixel(s)/_.factor-_.end;return interpolate(this._table,j*this._tableRange+this._minPos,!0)}}On(TimeSeriesScale,"id","timeseries"),On(TimeSeriesScale,"defaults",TimeScale.defaults);var scales=Object.freeze({__proto__:null,CategoryScale,LinearScale,LogarithmicScale,RadialLinearScale,TimeScale,TimeSeriesScale});const registerables=[controllers,elements,plugins,scales];var __defProp=Object.defineProperty,__defNormalProp=(o,s,_)=>s in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__publicField=(o,s,_)=>(__defNormalProp(o,typeof s!="symbol"?s+"":s,_),_),__defProp2=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp2=(o,s,_)=>s in o?__defProp2(o,s,{enumerable:!0,configurable:!0,writable:!0,value:_}):o[s]=_,__spreadValues=(o,s)=>{for(var _ in s||(s={}))__hasOwnProp.call(s,_)&&__defNormalProp2(o,_,s[_]);if(__getOwnPropSymbols)for(var _ of __getOwnPropSymbols(s))__propIsEnum.call(s,_)&&__defNormalProp2(o,_,s[_]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s)),__publicField2=(o,s,_)=>(__defNormalProp2(o,typeof s!="symbol"?s+"":s,_),_);const millisecond=1,second=1e3,minute=60*second,hour=60*minute,day=24*hour,week=7*day,month=30*day,year=365*day,duration={millisecond,second,minute,hour,day,week,month,year};class H264Decoder{constructor(s,_,j){__publicField2(this,"worker"),__publicField2(this,"onReceive"),__publicField2(this,"onError"),__publicField2(this,"onReceiveMessage",_e=>{const{data:et}=_e;if(et.error){const tt=new Error(`${et.error}`);tt.cause=et.error,console.warn("H264 worker failure",{error:tt}),this.onError(et.index);return}this.onReceive(et)});var $;this.worker=s,($=this.worker)==null||$.addEventListener("message",this.onReceiveMessage),this.onReceive=_,this.onError=j}post(s,_,j,$){var _e;(_e=this.worker)==null||_e.postMessage({timestamp:s,encodedFrame:_,flags:j,index:$})}release(){var s,_;(s=this.worker)==null||s.removeEventListener("message",this.onReceiveMessage),(_=this.worker)==null||_.terminate(),this.worker=void 0}}class YUVCanvas{constructor(s){__publicField2(this,"gl"),__publicField2(this,"program"),__publicField2(this,"texturePosBuffer"),__publicField2(this,"textureRef"),__publicField2(this,"height",0),__publicField2(this,"width",0),this.gl=s,this.program=this.initProgram();const{texturePosBuffer:_}=this.initBuffers();this.texturePosBuffer=_;const{textureRef:j}=this.initTextures();this.textureRef=j}draw(s){const{gl:_,height:j,width:$,texturePosBuffer:_e,textureRef:et}=this;_.viewport(0,0,$,j);const tt=new Float32Array([1,0,0,0,1,1,0,1]);return _.bindBuffer(_.ARRAY_BUFFER,_e),_.bufferData(_.ARRAY_BUFFER,tt,_.DYNAMIC_DRAW),_.activeTexture(_.TEXTURE0),_.bindTexture(_.TEXTURE_2D,et),_.texImage2D(_.TEXTURE_2D,0,_.LUMINANCE,$,j+j/2,0,_.LUMINANCE,_.UNSIGNED_BYTE,s),_.drawArrays(_.TRIANGLE_STRIP,0,4),_.getError()}initProgram(){const{gl:s}=this,_=` + attribute vec4 vertexPos; + attribute vec4 texturePos; + varying vec2 textureCoord; + + void main() { + gl_Position = vertexPos; + textureCoord = texturePos.xy; + } + `,j=` + precision highp float; + varying highp vec2 textureCoord; + uniform sampler2D yuvSampler; + uniform mat4 YUV2RGB; + + void main(void) { + highp vec2 yScale = vec2(1.0, 2.0 / 3.0); + highp vec2 yTextureCoord = textureCoord * yScale; + + highp vec2 uScale = vec2(0.5, 0.5 / 3.0); + highp vec2 uOffset = vec2(0.0, 2.0 / 3.0); + highp vec2 uTextureCoord = (textureCoord * uScale) + uOffset; + + highp vec2 vScale = vec2(0.5, 0.5 / 3.0); + highp vec2 vOffset = vec2(0.0, 2.5 / 3.0); + highp vec2 vTextureCoord = (textureCoord * vScale) + vOffset; + + highp float y = texture2D(yuvSampler, yTextureCoord).r; + highp float u = texture2D(yuvSampler, uTextureCoord).r; + highp float v = texture2D(yuvSampler, vTextureCoord).r; + + gl_FragColor = vec4(y, u, v, 1) * YUV2RGB; + } + `,$=[1.16438,0,1.59603,-.87079,1.16438,-.39176,-.81297,.52959,1.16438,2.01723,0,-1.08139,0,0,0,1],_e=s.createShader(s.VERTEX_SHADER);if(!_e)throw new Error("Failed to create vertex shader");s.shaderSource(_e,_),s.compileShader(_e);const et=s.createShader(s.FRAGMENT_SHADER);if(!et)throw new Error("Failed to create fragment shader");s.shaderSource(et,j),s.compileShader(et);const tt=s.createProgram();if(!tt)throw new Error("Failed to create webgl program");s.attachShader(tt,_e),s.attachShader(tt,et),s.linkProgram(tt),s.useProgram(tt);const nt=s.getUniformLocation(tt,"YUV2RGB");return s.uniformMatrix4fv(nt,!1,$),tt}initBuffers(){const{gl:s,program:_}=this,j=s.createBuffer();s.bindBuffer(s.ARRAY_BUFFER,j),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),s.STATIC_DRAW);const $=s.getAttribLocation(_,"vertexPos");s.enableVertexAttribArray($),s.vertexAttribPointer($,2,s.FLOAT,!1,0,0);const _e=s.createBuffer();if(!_e)throw new Error("Failed to create WebGL buffer");s.bindBuffer(s.ARRAY_BUFFER,_e),s.bufferData(s.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),s.STATIC_DRAW);const et=s.getAttribLocation(_,"texturePos");return s.enableVertexAttribArray(et),s.vertexAttribPointer(et,2,s.FLOAT,!1,0,0),{texturePosBuffer:_e}}initTextures(){const{gl:s,program:_}=this,j=this.initTexture(),$=s.getUniformLocation(_,"yuvSampler");return s.uniform1i($,0),{textureRef:j}}initTexture(){const{gl:s}=this,_=s.createTexture();if(!_)throw new Error("Failed to initialize texture");return s.bindTexture(s.TEXTURE_2D,_),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.NEAREST),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.bindTexture(s.TEXTURE_2D,null),_}}const decoderNotWorkingThreshold=duration.second*2.5,warnPerformanceThreshold=duration.second/3,noSignalThreshold=duration.second*2,maxQueueSize=5,maxDropRatio=30/25,numRetries=5,hardwareIncompatibleErrorCode=1282;class H264BytestreamCanvasDrawer{constructor(s,_,j,$,_e){__publicField2(this,"_waitingForDecoder",!0),__publicField2(this,"_noSignal",!0),__publicField2(this,"_lostSignal",!1),__publicField2(this,"_overWaitingThreshold",!1),__publicField2(this,"_retries",0),__publicField2(this,"_webglYUVSupported"),__publicField2(this,"lastDecodedFrameTime"),__publicField2(this,"lastReceivedFrameTime"),__publicField2(this,"lastNoSignalTime",new Date().getTime()),__publicField2(this,"moduleStartTime",Date.now()),__publicField2(this,"moduleCreateTime",Date.now()),__publicField2(this,"timesRestarted",0),__publicField2(this,"canvas"),__publicField2(this,"decoder"),__publicField2(this,"yuvCanvas"),__publicField2(this,"webglContext"),__publicField2(this,"frameQueue",[]),__publicField2(this,"minFrameSize",1/0),__publicField2(this,"maxFrameSize",0),__publicField2(this,"decoderQueue",[]),__publicField2(this,"decoderQueueLocked",!1),__publicField2(this,"decodeNextFrameAttempted",!1),__publicField2(this,"numFramesDecoded",0),__publicField2(this,"numFramesReceived",0),__publicField2(this,"hasReceivedKeyframe",!1),__publicField2(this,"medianFrameSize",0),__publicField2(this,"currentFrameIndex"),__publicField2(this,"frameCheckpointMap",new Map),__publicField2(this,"lastDrawnFrameTime"),__publicField2(this,"minJitter"),__publicField2(this,"maxJitter"),__publicField2(this,"start",()=>{const{canvas:et}=this;if(!et)return;const tt=et.getContext("webgl");this.webglContext=tt||void 0,this.lastDecodedFrameTime=void 0,this.lastReceivedFrameTime=void 0,this.hasReceivedKeyframe=!1,this.currentFrameIndex=void 0,!(!this.canvas||!this.webglContext)&&(this.yuvCanvas||(this.yuvCanvas=new YUVCanvas(this.webglContext)),this.moduleStartTime=Date.now())}),__publicField2(this,"stop",()=>{var et;(et=this.decoder)==null||et.release(),this.webglContext=void 0,this.decoderQueueLocked=!1}),__publicField2(this,"reset",()=>{this.retries=0,this.restart()}),__publicField2(this,"notifyWarningTextChanged",()=>{var et;(et=this.onWarningTextChanged)==null||et.call(this,this.getWarningText())}),__publicField2(this,"restart",()=>{console.info("Restarting decoder"),console.info("BytestreamPlayer restarting",__spreadProps(__spreadValues({},this.trackInfo),{Restart:this.timesRestarted})),this.frameQueue=[],this.decoderQueue=[],this.stop(),this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),this.start(),this.retries++,this.timesRestarted++}),__publicField2(this,"onTrackTick",()=>{if(this.numFramesDecoded===0){if(this.lastDecodedFrameTime===void 0){const ot=Date.now();console.info("BytestreamPlayer waiting for video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Waited":ot-this.moduleCreateTime}))}return}this.numFramesReceived/this.numFramesDecoded>maxDropRatio&&this.warnPerformanceProblems(),this.numFramesReceived=0,this.numFramesDecoded=0;const tt=Array.from(this.frameCheckpointMap.entries()).reduce((ot,[ut,dt])=>{var Ut;return!this.currentFrameIndex||ut>this.currentFrameIndex-60||dt==="FrameDrawn"||(ot[dt]=((Ut=ot[dt])!=null?Ut:0)+1,this.frameCheckpointMap.delete(ut)),ot},{});Object.keys(tt).map(ot=>{console.info("BytestreamPlayer Frame Dropped",__spreadProps(__spreadValues({},this.trackInfo),{"Num Dropped":tt[ot],"Frame State":ot}))});const{minJitter:nt,maxJitter:rt}=this;nt&&rt&&(console.info("BytestreamPlayer Jitter",__spreadProps(__spreadValues({},this.trackInfo),{minJitter:nt,maxJitter:rt})),this.minJitter=void 0,this.maxJitter=void 0)}),__publicField2(this,"onTick",()=>{var et;const{lastReceivedFrameTime:tt,lastDecodedFrameTime:nt,moduleStartTime:rt,noSignal:ot,retries:ut}=this,dt=new Date().getTime();ot&&(this.lastNoSignalTime=dt),this.overWaitingThreshold=dt-rt>noSignalThreshold;const Ut=dt-rt>decoderNotWorkingThreshold;if(!nt){tt&&Ut&&utnoSignalThreshold&&stwarnPerformanceThreshold&&this.warnPerformanceProblems(),st>noSignalThreshold&&(this.lostSignal=!0)}this.overWaitingThreshold&&(this.waitingForDecoder||this.noSignal||this.lostSignal)&&((et=this.onCanvasDrawerWarning)==null||et.call(this,"ShouldDisableControl"))}),__publicField2(this,"receiveEncodedFrame",et=>{if(!et)return;const tt=et.index;if(tt&&this.frameCheckpointMap.set(tt,"FrameReceived"),!(!et||!this.canvas||!this.webglContext)){if(this.isKeyframe(et),!this.hasReceivedKeyframe)return console.info("Dropping frame because no keyframe detected"),!1;this.lastReceivedFrameTime===void 0&&console.debug("Received first frame on bytestream player",__spreadValues({},this.trackInfo)),this.checkOrder(et),this.numFramesReceived++,this.lastReceivedFrameTime=Date.now(),this.lostSignal&&this.restart(),this.noSignal=!1,this.lostSignal=!1,this.frameQueue.push(et),tt&&this.frameCheckpointMap.set(tt,"FrameQueued"),this.frameQueue.length>maxQueueSize&&(this.frameQueue=this.frameQueue.filter(nt=>this.isKeyframe(nt))),this.frameQueue.length>maxQueueSize&&(this.frameQueue=[],this.decoderQueue=[]),this.decodeNextFrame()}}),__publicField2(this,"onDecoderError",et=>{this.frameQueue=[],this.decoderQueue=[],this.hasReceivedKeyframe=!1,console.info("BytestreamPlayer decode error",__spreadProps(__spreadValues({},this.trackInfo),{"Frame Index":et}))}),__publicField2(this,"onReceiveDecodedFrame",et=>{var tt,nt;const{canvas:rt,yuvCanvas:ot,decoderQueue:ut}=this,{timestamp:dt,yuv:Ut,height:st,width:ct,index:pt}=et;this.frameCheckpointMap.set(pt,"FrameDecoded"),this.numFramesDecoded++;const Bt=Date.now();if(this.lastDecodedFrameTime===void 0&&console.info("BytestreamPlayer started video",__spreadProps(__spreadValues({},this.trackInfo),{"Time Until Video":Bt-this.moduleCreateTime})),this.lastDecodedFrameTime=Bt,this.waitingForDecoder=!1,this.decoderQueue=ut.filter(ft=>Bt-ftduration.second||!ot||!rt||st===0||ct===0)return;st!==rt.height&&(rt.height=st,ot.height=st),ct!==rt.width&&(rt.width=ct,ot.width=ct);const Qt=ot.draw(Ut),gt=Date.now();if(this.lastDrawnFrameTime){const ft=gt-this.lastDrawnFrameTime;this.minJitter=Math.min(ft,(tt=this.minJitter)!=null?tt:Number.MAX_SAFE_INTEGER),this.maxJitter=Math.max(ft,(nt=this.maxJitter)!=null?nt:0)}this.lastDrawnFrameTime=gt,this.frameCheckpointMap.set(pt,"FrameDrawn"),Qt===0&&(this.webglYUVSupported=!0),Qt===hardwareIncompatibleErrorCode&&(this.webglYUVSupported=!1),this.frameQueue.length>0&&this.decodeNextFrame()}),this.workerFactory=s,this.onWebglYUVSupportedChanged=_,this.onWarningTextChanged=j,this.onCanvasDrawerWarning=$,this.trackInfo=_e,this.decoder=new H264Decoder(this.workerFactory(),this.onReceiveDecodedFrame,this.onDecoderError),setInterval(this.onTick,duration.millisecond*200),setInterval(this.onTrackTick,duration.second*5)}get waitingForDecoder(){return this._waitingForDecoder}set waitingForDecoder(s){this._waitingForDecoder=s,this.notifyWarningTextChanged()}get noSignal(){return this._noSignal}set noSignal(s){this._noSignal=s,this.notifyWarningTextChanged()}get lostSignal(){return this._lostSignal}set lostSignal(s){this._lostSignal=s,this.notifyWarningTextChanged()}get overWaitingThreshold(){return this._overWaitingThreshold}set overWaitingThreshold(s){this._overWaitingThreshold=s,this.notifyWarningTextChanged()}get retries(){return this._retries}set retries(s){this._retries=s,this.notifyWarningTextChanged()}get webglYUVSupported(){return this._webglYUVSupported}set webglYUVSupported(s){var _;this._webglYUVSupported=s,(_=this.onWebglYUVSupportedChanged)==null||_.call(this,s),this.notifyWarningTextChanged()}setCanvas(s){this.canvas=s}getWarningText(){var s;const{waitingForDecoder:_,noSignal:j,overWaitingThreshold:$,lostSignal:_e,retries:et,webglYUVSupported:tt}=this,nt=tt===!1,ot=_?et===numRetries?"Decoder failed to start":"Starting decoder":void 0,ut=nt?"Hardware decoding not supported on this device":void 0;return(s=ut??(_e?"Lost signal":j?$?"No signal":"Waiting for signal":void 0))!=null?s:ot}decodeNextFrame(){if(this.decoderQueueLocked&&(this.decodeNextFrameAttempted=!0),this.decoderQueueLocked=!0,this.decoderQueue.length>maxQueueSize){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const s=this.frameQueue.shift();if(!s){this.decoderQueueLocked=!1,this.decodeNextFrameAttempted=!1;return}const _=Date.now();this.frameCheckpointMap.set(s.index,"FrameSentToDecoder"),this.decoder.post(_,s.frame_data,s.flags,s.index),this.decoderQueue.push(_),this.decoderQueueLocked=!1,this.decodeNextFrameAttempted&&(this.decodeNextFrameAttempted=!1,this.decodeNextFrame())}warnPerformanceProblems(){var s;this.lastDecodedFrameTime&&this.overWaitingThreshold&&!this.lostSignal&&!this.noSignal&&((s=this.onCanvasDrawerWarning)==null||s.call(this,"ShouldDegradeVideo"))}checkOrder(s){if(this.currentFrameIndex!==void 0&&s.indexDate.now()?!1:$>this.medianFrameSize?(this.hasReceivedKeyframe=!0,!0):!1}}const encodedJs="KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihTKXt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShTKTpTKCl9KShmdW5jdGlvbigpe2NvbnN0IEo9e21pbGxpc2Vjb25kOjEsc2Vjb25kOjFlMyxtaW51dGU6NmU0LGhvdXI6MzZlNSxkYXk6ODY0ZTUsd2Vlazo2MDQ4ZTUsbW9udGg6MjU5MmU2LHllYXI6MzE1MzZlNn07dmFyIHk9e30sRj17fSxhPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBHPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSI7ZnVuY3Rpb24gaChBKXtsZXQgST1BLmxlbmd0aDtBW0EubGVuZ3RoLTJdPT09Ij0iP0ktPTI6QVtBLmxlbmd0aC0xXT09PSI9IiYmSS0tO2NvbnN0IGc9SS80KjN8MCxCPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgUT0wLEM9MDtRPGc7USs9Myl7Y29uc3QgRD1HLmluZGV4T2YoQVtDKytdKSxFPUcuaW5kZXhPZihBW0MrK10pO2lmKEJbUV09RDw8MnxFPj40LEM9PT1JKWJyZWFrO2NvbnN0IHc9Ry5pbmRleE9mKEFbQysrXXx8Ij0iKTtpZihCW1ErMV09KEUmMTUpPDw0fHc+PjIsQz09PUkpYnJlYWs7Y29uc3Qgbz1HLmluZGV4T2YoQVtDKytdfHwiPSIpO0JbUSsyXT0odyYzKTw8NnxvfXJldHVybiBCfWEuZGVjb2RlPWgsT2JqZWN0LmRlZmluZVByb3BlcnR5KEYsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO2NvbnN0IEw9IkFHRnpiUUVBQUFBQmx3RVRZQUovZndGL1lBUi9mMzkvQVg5Z0FuOS9BR0FEZjM5L0FYOWdBWDhBWUFsL2YzOS9mMzkvZjM4QVlBRi9BWDlnQkg5L2YzOEFZQVovZjM5L2YzOEJmMkFJZjM5L2YzOS9mMzhBWUFOL2YzOEFZQVYvZjM5L2Z3Ri9ZQUFBWUFWL2YzOS9md0JnQm45L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBQUJmMkFIZjM5L2YzOS9md0YvWUFoL2YzOS9mMzkvZndGL0FqQURCR2d5TmpRR2JXVnRZM0I1QUFNRWFESTJOQVp5WlhOcGVtVUFCZ1JvTWpZMEJtMWxiVzl5ZVFJQmdBS0FnQUlEWTJJQUFBUUFBUU1LQVFZQUJRTUZCZ2NBQndZQUF3NERCd2NGQWdBQ0F3UUFCUVVGQlFvRUFnUUpBUWNBQXdZR0FnSUJCZ1FEQWdJQkN3RUJBd01MRFFJQkFBQUNDUWtKRHdJRkJRQUJDZ0FTQ3hFSUNBY0lDQWNFQVFRSUNBWUJFQWdBQVFZSkFYOEJRYkRFd0FJTEJ5WUVCbTFoYkd4dll3QUtDV2d5TmpSaGJHeHZZd0JnQm1SbFkyOWtaUUJoQkdsdWFYUUFZZ3IycFFWaXdBSUJBbjhnQUJBUElnSkJmMHdFUUNBQVFRRVFDeG9nQVVFQU5nSUFRUUFQQ3dKQUFrQWdBa0dBZ0lDQUJFOEVRQ0FBUVFNUUMwRi9SZ1JBUVFFUEN5QUJJQUpCSFhaQkFYRkJBV28yQWdBTUFRc2dBa0dBZ0lDQUFrOEVRQ0FBUVFVUUMwRi9SZ1JBUVFFUEN5QUJJQUpCRzNaQkEzRkJBMm8yQWdBTUFRc2dBa0dBZ0lDQUFVOEVRQ0FBUVFjUUMwRi9SZ1JBUVFFUEN5QUJJQUpCR1haQkIzRkJCMm8yQWdBTUFRc2dBaEF2SWdOQkJHb2lBa0VnUmdSQUlBRkJBRFlDQUNBQVFTQVFDeHBCQVNFQ0lBQkJBUkFEUVFGSERRSWdBQkFQSVFNZ0FFRWdFQXRCZjBZTkFpQURRUUZMRFFJZ0EwRUJhd1JBSUFGQmZ6WUNBQXdDQ3lBQlFYODJBZ0JCQVE4TElBQWdBMEVGYWhBTEdpQUFJQUlRQXlJQVFYOUdCRUJCQVE4TElBRWdBRUYvSUFKMFFYOXphallDQUF0QkFDRUNDeUFDQzRnQ0FRZC9JQUFvQWdRaEJBSkFJQUFvQWd4QkEzUWlCeUFBS0FJUUlnaHJJZ0pCSUU0RVFDQUVLQUFBSWdOQkdIUWdBMEVJZEVHQWdQd0hjWElnQTBFSWRrR0EvZ054SUFOQkdIWnljaUVESUFBb0FnZ2lBa1VOQVNBRElBSjBJQVF0QUFSQkNDQUNhM1p5SVFNTUFRc2dBa0VCU0FSQURBRUxJQVF0QUFBZ0FDZ0NDQ0lGUVJocUlnWjBJUU1nQWlBRmFrRjRhaUlDUVFGSURRQURRQ0FFTFFBQklBWkJlR29pQm5RZ0EzSWhBeUFDUVFoS0lRVWdCRUVCYWlFRUlBSkJlR29oQWlBRkRRQUxDeUFBSUFFZ0NHb2lCRFlDRUNBQUlBUkJCM0UyQWdoQmZ5RUNJQVFnQjAwRWZ5QUFJQUFvQWdBZ0JFRURkbW8yQWdRZ0EwRWdJQUZyZGdWQmZ3c0xxZzBCQjM4Q1FDQUFSUTBBSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0ZCZUhFaUFHb2hCUUpBSUFGQkFYRU5BQ0FCUVFOeFJRMEJJQU1nQXlnQ0FDSUNheUlEUWNUQUFDZ0NBQ0lFU1EwQklBQWdBbW9oQUNBRFFjakFBQ2dDQUVjRVFDQUNRZjhCVFFSQUlBTW9BZ2dpQkNBQ1FRTjJJZ0pCQTNSQjNNQUFha2NhSUFRZ0F5Z0NEQ0lCUmdSQVFiVEFBRUcwd0FBb0FnQkJmaUFDZDNFMkFnQU1Bd3NnQkNBQk5nSU1JQUVnQkRZQ0NBd0NDeUFES0FJWUlRWUNRQ0FESUFNb0Fnd2lBVWNFUUNBRUlBTW9BZ2dpQWswRVFDQUNLQUlNR2dzZ0FpQUJOZ0lNSUFFZ0FqWUNDQXdCQ3dKQUlBTkJGR29pQWlnQ0FDSUVEUUFnQTBFUWFpSUNLQUlBSWdRTkFFRUFJUUVNQVFzRFFDQUNJUWNnQkNJQlFSUnFJZ0lvQWdBaUJBMEFJQUZCRUdvaEFpQUJLQUlRSWdRTkFBc2dCMEVBTmdJQUN5QUdSUTBCQWtBZ0F5QURLQUljSWdKQkFuUkI1TUlBYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCRFFGQnVNQUFRYmpBQUNnQ0FFRitJQUozY1RZQ0FBd0RDeUFHUVJCQkZDQUdLQUlRSUFOR0cyb2dBVFlDQUNBQlJRMENDeUFCSUFZMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDUlEwQklBRWdBallDRkNBQ0lBRTJBaGdNQVFzZ0JTZ0NCQ0lCUVFOeFFRTkhEUUJCdk1BQUlBQTJBZ0FnQlNBQlFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBTnFJQUEyQWdBUEN5QUZJQU5ORFFBZ0JTZ0NCQ0lCUVFGeFJRMEFBa0FnQVVFQ2NVVUVRQ0FGUWN6QUFDZ0NBRVlFUUVITXdBQWdBellDQUVIQXdBQkJ3TUFBS0FJQUlBQnFJZ0EyQWdBZ0F5QUFRUUZ5TmdJRUlBTkJ5TUFBS0FJQVJ3MERRYnpBQUVFQU5nSUFRY2pBQUVFQU5nSUFEd3NnQlVISXdBQW9BZ0JHQkVCQnlNQUFJQU0yQWdCQnZNQUFRYnpBQUNnQ0FDQUFhaUlBTmdJQUlBTWdBRUVCY2pZQ0JDQUFJQU5xSUFBMkFnQVBDeUFCUVhoeElBQnFJUUFDUUNBQlFmOEJUUVJBSUFVb0Fnd2hBaUFGS0FJSUlnUWdBVUVEZGlJQlFRTjBRZHpBQUdvaUIwY0VRRUhFd0FBb0FnQWFDeUFDSUFSR0JFQkJ0TUFBUWJUQUFDZ0NBRUYrSUFGM2NUWUNBQXdDQ3lBQ0lBZEhCRUJCeE1BQUtBSUFHZ3NnQkNBQ05nSU1JQUlnQkRZQ0NBd0JDeUFGS0FJWUlRWUNRQ0FGSUFVb0Fnd2lBVWNFUUVIRXdBQW9BZ0FnQlNnQ0NDSUNUUVJBSUFJb0Fnd2FDeUFDSUFFMkFnd2dBU0FDTmdJSURBRUxBa0FnQlVFVWFpSUNLQUlBSWdRTkFDQUZRUkJxSWdJb0FnQWlCQTBBUVFBaEFRd0JDd05BSUFJaEJ5QUVJZ0ZCRkdvaUFpZ0NBQ0lFRFFBZ0FVRVFhaUVDSUFFb0FoQWlCQTBBQ3lBSFFRQTJBZ0FMSUFaRkRRQUNRQ0FGSUFVb0Fod2lBa0VDZEVIa3dnQnFJZ1FvQWdCR0JFQWdCQ0FCTmdJQUlBRU5BVUc0d0FCQnVNQUFLQUlBUVg0Z0FuZHhOZ0lBREFJTElBWkJFRUVVSUFZb0FoQWdCVVliYWlBQk5nSUFJQUZGRFFFTElBRWdCallDR0NBRktBSVFJZ0lFUUNBQklBSTJBaEFnQWlBQk5nSVlDeUFGS0FJVUlnSkZEUUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBeUFBUVFGeU5nSUVJQUFnQTJvZ0FEWUNBQ0FEUWNqQUFDZ0NBRWNOQVVHOHdBQWdBRFlDQUE4TElBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFDeUFBUWY4QlRRUkFJQUJCQTNZaUFVRURkRUhjd0FCcUlRQUNmMEcwd0FBb0FnQWlBa0VCSUFGMElnRnhSUVJBUWJUQUFDQUJJQUp5TmdJQUlBQU1BUXNnQUNnQ0NBc2hBaUFBSUFNMkFnZ2dBaUFETmdJTUlBTWdBRFlDRENBRElBSTJBZ2dQQ3lBRFFnQTNBaEFnQXdKL1FRQWdBRUVJZGlJQlJRMEFHa0VmSUFCQi8vLy9CMHNOQUJvZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQVhRaUFpQUNRWURnSDJwQkVIWkJCSEVpQW5RaUJDQUVRWUNBRDJwQkVIWkJBbkVpQkhSQkQzWWdBU0FDY2lBRWNtc2lBVUVCZENBQUlBRkJGV3AyUVFGeGNrRWNhZ3NpQWpZQ0hDQUNRUUowUWVUQ0FHb2hBUUpBQWtBQ1FFRzR3QUFvQWdBaUJFRUJJQUowSWdkeFJRUkFRYmpBQUNBRUlBZHlOZ0lBSUFFZ0F6WUNBQ0FESUFFMkFoZ01BUXNnQUVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJZ0FTZ0NBQ0VCQTBBZ0FTSUVLQUlFUVhoeElBQkdEUUlnQWtFZGRpRUJJQUpCQVhRaEFpQUVJQUZCQkhGcUlnZEJFR29vQWdBaUFRMEFDeUFISUFNMkFoQWdBeUFFTmdJWUN5QURJQU0yQWd3Z0F5QUROZ0lJREFFTElBUW9BZ2dpQUNBRE5nSU1JQVFnQXpZQ0NDQURRUUEyQWhnZ0F5QUVOZ0lNSUFNZ0FEWUNDQXRCMU1BQVFkVEFBQ2dDQUVGL2FpSUFOZ0lBSUFBTkFFSDh3d0FoQXdOQUlBTW9BZ0FpQUVFSWFpRURJQUFOQUF0QjFNQUFRWDgyQWdBTEMzUUJBbjhqQUVFUWF5SUNKQUFnQWtFQU5nSU1JQUFnQWtFTWFoQUNJUUFDZnlBQ0tBSU1JZ05CZjBZRVFFRUJJQUJGRFFFYUlBRkJnSUNBZ0hnMkFnQkJBQXdCQzBFQklBQU5BQm9nQVNBRFFRRnFRUUYySWdGQkFDQUJheUFEUVFGeEd6WUNBRUVBQ3lFQUlBSkJFR29rQUNBQUM4Y0xBUlIvSUFGQm9EMXFMUUFBUVF4c0lnWkIxRHhxS0FJQUlRVWdCa0hRUEdvb0FnQWdBVUdRUEdvdEFBQWlCM1FoQkNBQ1JRUkFJQUFnQUNnQ0FDQUViRFlDQUFzZ0JTQUhkQ0VCQWtBQ1FDQURRWnovQTNFRVFDQUFJQVpCMkR4cUtBSUFJQWQwSWdNZ0FDZ0NQR3cyQWp3Z0FDQUFLQUk0SUFGc05nSTRRUUVoQWlBQUlBQW9BaXdnQkd3aUJ5QUFLQUlNSUFSc0lnVnFJZ2tnQUNnQ0lDQUJiQ0lLSUFBb0FqUWdBV3dpRDBFQmRXb2lFR3NpQmpZQ0xDQUFLQUlvSVFnZ0FDQUZJQWRySWdVZ0NrRUJkU0FQYXlJS2F5SUhOZ0lvSUFBb0FpUWhEaUFBSUFVZ0Ntb2lCVFlDSkNBQUlBQW9BaHdnQVd3aUR5QUFLQUlJSUFGc0lndHFJaE1nQUNnQ0VDQURiQ0lSSUFBb0FqQWdBMndpREVFQmRXb2lGV3NpQ2pZQ0hDQUFLQUlZSVEwZ0FDQUxJQTlySWdzZ0VVRUJkU0FNYXlJUmF5SVBOZ0lZSUFBb0FoUWhEQ0FBSUFzZ0VXb2lDellDRkNBQUlBUWdER3dpQkNBQUtBSUFJZ3hxSWhRZ0FDZ0NCQ0FCYkNJU0lBRWdEV3dpRFVFQmRXb2lGbXNpRVRZQ0RDQUFJQXdnQkdzaUJDQVNRUUYxSUExcklnMXJJZ3cyQWdnZ0FDQUVJQTFxSWcwMkFnUWdBQ0FCSUE1c0lnUWdBQ2dDT0NJT2F5SVNJQU1nQ0d3aUNFRUJkU0FBS0FJOEloZHJJZ05ySWdFMkFqZ2dBQ0FESUJKcUlnTTJBalFnQUNBRUlBNXFJZzRnRjBFQmRTQUlhaUlJYXlJRU5nSThJQUFnRkNBV2FpSVVJQWtnRUdvaUVHdEJJR29pRWlBSUlBNXFJZ2tnRXlBVmFpSUlRUUYxSWc1cmFrRUdkU0lUTmdJZ0lBQWdFaUFPSUFscmFrRUdkU0lPTmdJUUlBQWdFQ0FVYWtFZ2FpSVFJQWxCQVhVZ0NHb2lDV3RCQm5VaUNEWUNNQ0FBSUFrZ0VHcEJCblVpQ1RZQ0FDQUpRWUFFYWlBT1FZQUVhbkpCL3dkTERRSWdDRUdBQkdvZ0UwR0FCR3B5UWY4SFN3MENJQUFnQlNBTmFrRWdhaUlKSUFOQkFYVWdDMm9pRUd0QkJuVWlDRFlDTkNBQUlBMGdCV3RCSUdvaUJTQURJQXRCQVhVaUMydHFRUVoxSWcwMkFpUWdBQ0FGSUFzZ0EydHFRUVoxSWdNMkFoUWdBQ0FKSUJCcVFRWjFJZ1UyQWdRZ0JVR0FCR29nQTBHQUJHcHlRZjhIU3cwQ0lBaEJnQVJxSUExQmdBUnFja0gvQjBzTkFpQUFJQWNnREdwQklHb2lBeUFCUVFGMUlBOXFJZ1ZyUVFaMUlnczJBamdnQUNBTUlBZHJRU0JxSWdjZ0FTQVBRUUYxSWc5cmFrRUdkU0lNTmdJb0lBQWdCeUFQSUFGcmFrRUdkU0lCTmdJWUlBQWdBeUFGYWtFR2RTSUROZ0lJSUFOQmdBUnFJQUZCZ0FScWNrSC9CMHNOQWlBTFFZQUVhaUFNUVlBRWFuSkIvd2RMRFFJZ0FDQUdJQkZxUVNCcUlnRWdCRUVCZFNBS2FpSURhMEVHZFNJSE5nSThJQUFnRVNBR2EwRWdhaUlHSUFRZ0NrRUJkU0lGYTJwQkJuVWlDallDTENBQUlBWWdCU0FFYTJwQkJuVWlCRFlDSENBQUlBRWdBMnBCQm5VaUFEWUNEQ0FBUVlBRWFpQUVRWUFFYW5KQi93ZExEUUlnQjBHQUJHb2dDa0dBQkdweVFmOEhUUTBCREFJTElBTkI0Z0J4UlFSQVFRRWhBaUFBS0FJQVFTQnFRUVoxSWdGQmdBUnFRZjhIU3cwQ0lBQWdBVFlDT0NBQUlBRTJBandnQUNBQk5nSTBJQUFnQVRZQ01DQUFJQUUyQWl3Z0FDQUJOZ0lvSUFBZ0FUWUNKQ0FBSUFFMkFpQWdBQ0FCTmdJY0lBQWdBVFlDR0NBQUlBRTJBaFFnQUNBQk5nSVFJQUFnQVRZQ0RDQUFJQUUyQWdnZ0FDQUJOZ0lFSUFBZ0FUWUNBQXdCQzBFQklRSWdBQ0FBS0FJRUlBRnNJZ2NnQUNnQ0dDQUJiQ0lHUVFGMWFpSURJQUFvQWdBaUJTQUFLQUlVSUFSc0lnUnFJZ3BxUVNCcVFRWjFJZ0UyQWpBZ0FDQUtJQU5yUVNCcVFRWjFJZ00yQWd3Z0FDQUZJQVJySWdVZ0JpQUhRUUYxSWdkcmFrRWdha0VHZFNJRU5nSUlJQUFnQnlBR2F5QUZha0VnYWtFR2RTSUdOZ0lFSUFBZ0FUWUNBQ0FBSUFFMkFpQWdBQ0FHTmdJMElBQWdBVFlDRUNBQUlBWTJBaVFnQUNBRU5nSTRJQUFnQmpZQ0ZDQUFJQVEyQWlnZ0FDQUROZ0k4SUFBZ0JEWUNHQ0FBSUFNMkFpd2dBQ0FETmdJY0lBTkJnQVJxSUFGQmdBUnFJQVJCZ0FScUlBWkJnQVJxY25KeVFmOEhTdzBCQzBFQUlRSUxJQUlMOHdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FDYWlJRFFYOXFJQUU2QUFBZ0FDQUJPZ0FBSUFKQkEwa05BQ0FEUVg1cUlBRTZBQUFnQUNBQk9nQUJJQU5CZldvZ0FUb0FBQ0FBSUFFNkFBSWdBa0VIU1EwQUlBTkJmR29nQVRvQUFDQUFJQUU2QUFNZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQmZHb2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRWGhxSUFFMkFnQWdBa0YwYWlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0Z3YWlBQk5nSUFJQUpCYkdvZ0FUWUNBQ0FDUVdocUlBRTJBZ0FnQWtGa2FpQUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMGlCVUlnaGlBRmhDRUZJQU1nQkdvaEFRTkFJQUVnQlRjREdDQUJJQVUzQXhBZ0FTQUZOd01JSUFFZ0JUY0RBQ0FCUVNCcUlRRWdBa0ZnYWlJQ1FSOUxEUUFMQ3lBQUMvSURBUU4vSUFFb0FnQWlBMEgvLy84SFJ3UkFJQUVvQWdRaEJDQUFJQUlnQWtFRGNTQUNRUkJKSWdJYlFRSjBJZ1ZCOENscUtBSUFRUkJCQ0NBQ0d5SUNiR29nQlVHd0tXb29BZ0JxSWdBZ0F5QUFMUUFBYWtHd0xtb3RBQUE2QUFBZ0FTZ0NDQ0VESUFBZ0JDQUFMUUFCYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VFSUFBZ0F5QUFMUUFDYWtHd0xtb3RBQUE2QUFJZ0FDQUVJQUF0QUFOcVFiQXVhaTBBQURvQUF5QUJLQUlVSVFNZ0FDQUNhaUlBSUFFb0FoQWdBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BaGdoQkNBQUlBTWdBQzBBQVdwQnNDNXFMUUFBT2dBQklBRW9BaHdoQXlBQUlBUWdBQzBBQW1wQnNDNXFMUUFBT2dBQ0lBQWdBeUFBTFFBRGFrR3dMbW90QUFBNkFBTWdBU2dDSkNFRElBQWdBbW9pQUNBQktBSWdJQUF0QUFCcVFiQXVhaTBBQURvQUFDQUJLQUlvSVFRZ0FDQURJQUF0QUFGcVFiQXVhaTBBQURvQUFTQUJLQUlzSVFNZ0FDQUVJQUF0QUFKcVFiQXVhaTBBQURvQUFpQUFJQU1nQUMwQUEycEJzQzVxTFFBQU9nQURJQUVvQWpRaEF5QUFJQUpxSWdBZ0FTZ0NNQ0FBTFFBQWFrR3dMbW90QUFBNkFBQWdBU2dDT0NFQ0lBQWdBeUFBTFFBQmFrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQWdBaUFBTFFBQ2FrR3dMbW90QUFBNkFBSWdBQ0FCSUFBdEFBTnFRYkF1YWkwQUFEb0FBd3NMMHhBQkRIOGpBRUdBQVdzaUNpUUFJQUFRRHlFRVFRRWhCUUpBQWtBQ2Z5QUNRUUZOQkVBZ0JFRUFTQTBDSUFSQkdYWkIvZ0J4UVlBSWFpQUVRWUNBZ09BQVR3MEJHaUFFUVJWMlFmNFBjVUhBQ0dvZ0JFR0FnSUFJVHcwQkdpQUVRUkYyUWY3L0FYRkJrQWxxSUFSQmdJQ0FBVThOQVJvZ0JFRVFka0VCZEVHUUNtb01BUXNnQWtFRFRRUkFJQVJCZjB3RVFFRUNRYUlRSUFSQmdJQ0FnQVJ4R3lFRkRBTUxJQVJCR1haQi9nQnhRZEFLYWlBRVFZQ0FnSUFCVHcwQkdpQUVRUloyUWY0SGNVR1FDMm9nQkVHQWdJQVFUdzBCR2lBRVFSRjJRZjcvQVhGQjBBdHFEQUVMSUFKQkIwMEVRQ0FFUVJwMklnSkJlR3BCT0VrRVFDQUNRUUYwUWRBTmFnd0NDeUFFUVJWMlFmNFBjVUhRRG1vTUFRc2dCRUVaZGtIK0FIRkIwQkJxSUFKQkVFME5BQm9nQkVFZGRpSUNCRUFnQWtFQmRFSFFFV29NQVFzZ0JFRVhka0grQTNGQjRCRnFDeThCQUNJRkRRQkJBU0VMREFFTFFRRWhDeUFGUVF0Mklna2dBMHNOQUVFZ0lBVkJIM0VpQm1zaEFnSkFJQWxGQkVBTUFRc2dCQ0FHZENFRUFrQWdCVUVGZGtFL2NTSU1SUVJBREFFTElBSWdERWtFUUNBQUlBWVFDMEYvUmcwRElBQVFEeUVFUVNBaEFnc2dCQ0FNZENFR1FRRWdERUYvYW5RaEJ5QUVRU0FnREd0MklRUURRQ0FLUVVCcklBaEJBblJxUVg5QkFTQUVJQWR4R3pZQ0FDQUlRUUZxSVFnZ0IwRUJkaUlIRFFBTElBSWdER3NoQWlBR0lRUUxJQWdnQ1VrRVFDQU1RUU5KSWc4Z0JVSC9yd0ZMY1NFRkEwQWdBa0VQVFFSQUlBQkJJQ0FDYXhBTFFYOUdCRUFNQlFzZ0FCQVBJUVJCSUNFQ0MwRUFJUVlDUUFKQUFuOENRQ0FFUVFCSURRQkJBU0VHSUFSQi8vLy8vd05MRFFCQkFpRUdJQVJCLy8vLy93RkxEUUJCQXlFR0lBUkIvLy8vL3dCTERRQkJCQ0VHSUFSQi8vLy9QMHNOQUVFRklRWWdCRUgvLy84ZlN3MEFRUVloQmlBRVFmLy8vdzlMRFFCQkJ5RUdJQVJCLy8vL0Iwc05BRUVJSVFZZ0JFSC8vLzhEU3cwQVFRa2hCaUFFUWYvLy93RkxEUUJCQ2lFR0lBUkIvLy8vQUVzTkFFRUxJUVlnQkVILy96OUxEUUJCRENFR0lBUkIvLzhmU3cwQVFRMGhCaUFFUWYvL0Qwc05BQUovQWtBZ0JFSC8vd2ROQkVBZ0JFR0FnSHh4UVlDQUJFWU5BUXdLQ3lBRlFRUWdCUnNoQmlBRVFROTBJUVJCRGlFSElBSkJjV29NQVFzZ0JVRUJJQVViSVFVZ0JFRVFkQ0VFUVF3aEJrRVBJUWNnQWtGd2Fnc2hBaUFISUFWMElRY2dCVVVNQVFzZ0JpQUZkQ0VIUVFFaERpQUNJQVpCQVdvaUJtc2hBaUFFSUFaMElRUWdCVVVOQVNBRklRWkJBQXNoRGlBQ0lBWlBCSDhnQkFVZ0FFRWdJQUpyRUF0QmYwWUVRQXdIQzBFZ0lRSWdBQkFQQ3lFTklBSWdCbXNoQWlBTklBWjBJUVFnRFVFZ0lBWnJkaUFIYWlFSERBRUxRUUFoQlFzZ0NrRkFheUFJUVFKMGFrRUFJQWRCQW1vZ0J5QUlJQXhHR3lBSElBOGJJZzFCQW1wQkFYWWlCbXNnQmlBTlFRRnhHellDQUVFQklBVWdEaHNpQlNBRlFRWkpJQVpCQXlBRlFYOXFkRXB4YWlFRklBaEJBV29pQ0NBSlJ3MEFDd3RCQUNFSEFrQWdDU0FEVHdSQVFRQWhDQXdCQ3dKQUlBSkJDRXNFUUNBQ0lRVU1BUXRCSUNFRklBQkJJQ0FDYXhBTFFYOUdEUU1nQUJBUElRUUxBa0FDUUFKL0FrQWdBMEVFUndSQUlBbEJmMm9pQWtFTlN3MERBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBa0VCYXc0TkFBRUNBd1FGQmdjSUNRb0xEQTRMSUFSQkduWkI0QkpxREE0TElBUkJHblpCb0JOcURBMExJQVJCRzNaQjRCTnFEQXdMSUFSQkczWkJnQlJxREFzTElBUkJHblpCb0JScURBb0xJQVJCR25aQjRCUnFEQWtMSUFSQkduWkJvQlZxREFnTElBUkJHblpCNEJWcURBY0xJQVJCRzNaQm9CWnFEQVlMSUFSQkhIWkJ3QlpxREFVTElBUkJISFpCMEJacURBUUxJQVJCSFhaQjRCWnFEQU1MSUFSQkhuWkI2QlpxREFJTElBUkJBRWdFUUVFQklRSU1CQXRCRVNFQ0lBbEJBMFlOQTBFU0lRSWdCRUgvLy8vL0Ewc05BMEVpSVFJZ0NVRUNSZzBEUVNOQk15QUVRZi8vLy84QlN4c2hBZ3dEQ3lBRVFSdDJRYUFTYWlBRVFSZDJRY0FTYWlBRVFmLy8vLzhBU3hzTExRQUFJZ0lOQVF3RUMwRVJRUUVnQkVFQVNCc2hBZ3NnQWtFRWRpRUlJQVVnQWtFUGNTSURheUVDSUFRZ0EzUWhCQXNnQ1VGL2FpSURCRUFEUUFKL0lBZ0VRQ0FDUVFwTkJFQWdBRUVnSUFKckVBdEJmMFlFUUF3SEN5QUFFQThoQkVFZ0lRSUxBa0FDZndKQUlBaEJmMm9pQlVFRlRRUkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnVUFBUUlEQkFZTElBUkJIblpCN2hacURBWUxJQVJCSG5aQjhoWnFEQVVMSUFSQkhYWkI5aFpxREFRTElBUkJIWFpCL2hacURBTUxJQVJCSFhaQmhoZHFEQUlMQW45Qjh3QWdCRUVaZGtId0FIRnJJQVJCZ0lDQWdBSlBEUUFhUWZRQUlBUkIvLy8vL3dCTERRQWFRWVVCSUFSQi8vLy9QMHNOQUJwQmxnRWdCRUgvLy84ZlN3MEFHa0duQVNBRVFmLy8vdzlMRFFBYVFiZ0JJQVJCLy8vL0Iwc05BQnBCeVFFZ0JFSC8vLzhEU3cwQUdrSGFBU0FFUWYvLy93RkxEUUFhUVFCQjZ3RWdCRUdBZ0lBQlNSc0xJZ1ZCQkhZZ0NFME5BZ3dJQ3lBRVFSOTJRZXdXYWdzdEFBQWhCUXNnQlVVRVFBd0dDeUFLSUFkQkFuUnFJQVZCQkhZaUJrRUJhallDQUNBQ0lBVkJEM0VpQldzaEFpQUVJQVYwSVFRZ0NDQUdhd3dCQ3lBS0lBZEJBblJxUVFFMkFnQkJBQXNoQ0NBSFFRRnFJZ2NnQTBjTkFBc2dBU0FJUVFKMGFpQUtRVUJySUFOQkFuUnFLQUlBTmdJQUlBbEJmbW9oQlVFQklBaDBJUWNEUUNBQklBb2dCU0lEUVFKMElnVnFLQUlBSUFocUlnaEJBblJxSUFwQlFHc2dCV29vQWdBMkFnQWdBMEYvYWlFRlFRRWdDSFFnQjNJaEJ5QUREUUFMREFFTElBRWdDRUVDZEdvZ0NrRkFheUFEUVFKMGFpZ0NBRFlDQUVFQklBaDBJUWNMSUFCQklDQUNheEFMRFFBZ0IwRVFkQ0FKUVFSMGNpRUxDeUFLUVlBQmFpUUFJQXNMelM0QkMzOGpBRUVRYXlJTEpBQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFCQjlBRk5CRUJCdE1BQUtBSUFJZ1pCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ1ZCQTNZaUFIWWlBVUVEY1FSQUlBRkJmM05CQVhFZ0FHb2lBa0VEZENJRVFlVEFBR29vQWdBaUFVRUlhaUVBQWtBZ0FTZ0NDQ0lESUFSQjNNQUFhaUlFUmdSQVFiVEFBQ0FHUVg0Z0FuZHhOZ0lBREFFTFFjVEFBQ2dDQUJvZ0F5QUVOZ0lNSUFRZ0F6WUNDQXNnQVNBQ1FRTjBJZ0pCQTNJMkFnUWdBU0FDYWlJQklBRW9BZ1JCQVhJMkFnUU1EQXNnQlVHOHdBQW9BZ0FpQ0UwTkFTQUJCRUFDUUVFQ0lBQjBJZ0pCQUNBQ2EzSWdBU0FBZEhFaUFFRUFJQUJyY1VGL2FpSUFJQUJCREhaQkVIRWlBSFlpQVVFRmRrRUljU0lDSUFCeUlBRWdBbllpQUVFQ2RrRUVjU0lCY2lBQUlBRjJJZ0JCQVhaQkFuRWlBWElnQUNBQmRpSUFRUUYyUVFGeElnRnlJQUFnQVhacUlnSkJBM1FpQTBIa3dBQnFLQUlBSWdFb0FnZ2lBQ0FEUWR6QUFHb2lBMFlFUUVHMHdBQWdCa0YrSUFKM2NTSUdOZ0lBREFFTFFjVEFBQ2dDQUJvZ0FDQUROZ0lNSUFNZ0FEWUNDQXNnQVVFSWFpRUFJQUVnQlVFRGNqWUNCQ0FCSUFWcUlnY2dBa0VEZENJQ0lBVnJJZ05CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQWdFUUNBSVFRTjJJZ1JCQTNSQjNNQUFhaUVCUWNqQUFDZ0NBQ0VDQW44Z0JrRUJJQVIwSWdSeFJRUkFRYlRBQUNBRUlBWnlOZ0lBSUFFTUFRc2dBU2dDQ0FzaEJDQUJJQUkyQWdnZ0JDQUNOZ0lNSUFJZ0FUWUNEQ0FDSUFRMkFnZ0xRY2pBQUNBSE5nSUFRYnpBQUNBRE5nSUFEQXdMUWJqQUFDZ0NBQ0lLUlEwQklBcEJBQ0FLYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQWlBQWNpQUJJQUoySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJZ0VvQWdSQmVIRWdCV3NoQXlBQklRSURRQUpBSUFJb0FoQWlBRVVFUUNBQ0tBSVVJZ0JGRFFFTElBQW9BZ1JCZUhFZ0JXc2lBaUFESUFJZ0Ewa2lBaHNoQXlBQUlBRWdBaHNoQVNBQUlRSU1BUXNMSUFFb0FoZ2hDU0FCSUFFb0Fnd2lCRWNFUUVIRXdBQW9BZ0FnQVNnQ0NDSUFUUVJBSUFBb0Fnd2FDeUFBSUFRMkFnd2dCQ0FBTmdJSURBc0xJQUZCRkdvaUFpZ0NBQ0lBUlFSQUlBRW9BaEFpQUVVTkF5QUJRUkJxSVFJTEEwQWdBaUVISUFBaUJFRVVhaUlDS0FJQUlnQU5BQ0FFUVJCcUlRSWdCQ2dDRUNJQURRQUxJQWRCQURZQ0FBd0tDMEYvSVFVZ0FFRy9mMHNOQUNBQVFRdHFJZ0JCZUhFaEJVRzR3QUFvQWdBaUIwVU5BRUVBSUFWcklRSUNRQUpBQWtBQ2YwRUFJQUJCQ0hZaUFFVU5BQnBCSHlBRlFmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnTWdBMEdBZ0E5cVFSQjJRUUp4SWdOMFFROTJJQUFnQVhJZ0EzSnJJZ0JCQVhRZ0JTQUFRUlZxZGtFQmNYSkJIR29MSWdoQkFuUkI1TUlBYWlnQ0FDSURSUVJBUVFBaEFBd0JDeUFGUVFCQkdTQUlRUUYyYXlBSVFSOUdHM1FoQVVFQUlRQURRQUpBSUFNb0FnUkJlSEVnQldzaUJpQUNUdzBBSUFNaEJDQUdJZ0lOQUVFQUlRSWdBeUVBREFNTElBQWdBeWdDRkNJR0lBWWdBeUFCUVIxMlFRUnhhaWdDRUNJRFJoc2dBQ0FHR3lFQUlBRWdBMEVBUjNRaEFTQUREUUFMQ3lBQUlBUnlSUVJBUVFJZ0NIUWlBRUVBSUFCcmNpQUhjU0lBUlEwRElBQkJBQ0FBYTNGQmYyb2lBQ0FBUVF4MlFSQnhJZ0IySWdGQkJYWkJDSEVpQXlBQWNpQUJJQU4ySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhrd2dCcUtBSUFJUUFMSUFCRkRRRUxBMEFnQUNnQ0JFRjRjU0FGYXlJRElBSkpJUUVnQXlBQ0lBRWJJUUlnQUNBRUlBRWJJUVFnQUNnQ0VDSUJCSDhnQVFVZ0FDZ0NGQXNpQUEwQUN3c2dCRVVOQUNBQ1FiekFBQ2dDQUNBRmEwOE5BQ0FFS0FJWUlRZ2dCQ0FFS0FJTUlnRkhCRUJCeE1BQUtBSUFJQVFvQWdnaUFFMEVRQ0FBS0FJTUdnc2dBQ0FCTmdJTUlBRWdBRFlDQ0F3SkN5QUVRUlJxSWdNb0FnQWlBRVVFUUNBRUtBSVFJZ0JGRFFNZ0JFRVFhaUVEQ3dOQUlBTWhCaUFBSWdGQkZHb2lBeWdDQUNJQURRQWdBVUVRYWlFRElBRW9BaEFpQUEwQUN5QUdRUUEyQWdBTUNBdEJ2TUFBS0FJQUlnRWdCVThFUUVISXdBQW9BZ0FoQUFKQUlBRWdCV3NpQWtFUVR3UkFRYnpBQUNBQ05nSUFRY2pBQUNBQUlBVnFJZ00yQWdBZ0F5QUNRUUZ5TmdJRUlBQWdBV29nQWpZQ0FDQUFJQVZCQTNJMkFnUU1BUXRCeU1BQVFRQTJBZ0JCdk1BQVFRQTJBZ0FnQUNBQlFRTnlOZ0lFSUFBZ0FXb2lBU0FCS0FJRVFRRnlOZ0lFQ3lBQVFRaHFJUUFNQ2d0QndNQUFLQUlBSWdFZ0JVc0VRRUhBd0FBZ0FTQUZheUlCTmdJQVFjekFBRUhNd0FBb0FnQWlBQ0FGYWlJQ05nSUFJQUlnQVVFQmNqWUNCQ0FBSUFWQkEzSTJBZ1FnQUVFSWFpRUFEQW9MUVFBaEFDQUZRUzlxSWdRQ2YwR014QUFvQWdBRVFFR1V4QUFvQWdBTUFRdEJtTVFBUW44M0FnQkJrTVFBUW9DZ2dJQ0FnQVEzQWdCQmpNUUFJQXRCREdwQmNIRkIyS3JWcWdWek5nSUFRYURFQUVFQU5nSUFRZkREQUVFQU5nSUFRWUFnQ3lJQ2FpSUdRUUFnQW1zaUIzRWlBaUFGVFEwSlFlekRBQ2dDQUNJREJFQkI1TU1BS0FJQUlnZ2dBbW9pQ1NBSVRRMEtJQWtnQTBzTkNndEI4TU1BTFFBQVFRUnhEUVFDUUFKQVFjekFBQ2dDQUNJREJFQkI5TU1BSVFBRFFDQUFLQUlBSWdnZ0EwMEVRQ0FJSUFBb0FnUnFJQU5MRFFNTElBQW9BZ2dpQUEwQUN3dEJBQkFUSWdGQmYwWU5CU0FDSVFaQmtNUUFLQUlBSWdCQmYyb2lBeUFCY1FSQUlBSWdBV3NnQVNBRGFrRUFJQUJyY1dvaEJnc2dCaUFGVFEwRklBWkIvdi8vL3dkTERRVkI3TU1BS0FJQUlnQUVRRUhrd3dBb0FnQWlBeUFHYWlJSElBTk5EUVlnQnlBQVN3MEdDeUFHRUJNaUFDQUJSdzBCREFjTElBWWdBV3NnQjNFaUJrSCsvLy8vQjBzTkJDQUdFQk1pQVNBQUtBSUFJQUFvQWdScVJnMERJQUVoQUFzQ1FDQUZRVEJxSUFaTkRRQWdBRUYvUmcwQVFaVEVBQ2dDQUNJQklBUWdCbXRxUVFBZ0FXdHhJZ0ZCL3YvLy93ZExCRUFnQUNFQkRBY0xJQUVRRTBGL1J3UkFJQUVnQm1vaEJpQUFJUUVNQnd0QkFDQUdheEFUR2d3RUN5QUFJZ0ZCZjBjTkJRd0RDMEVBSVFRTUJ3dEJBQ0VCREFVTElBRkJmMGNOQWd0QjhNTUFRZkREQUNnQ0FFRUVjallDQUFzZ0FrSCsvLy8vQjBzTkFTQUNFQk1pQVVFQUVCTWlBRThOQVNBQlFYOUdEUUVnQUVGL1JnMEJJQUFnQVdzaUJpQUZRU2hxVFEwQkMwSGt3d0JCNU1NQUtBSUFJQVpxSWdBMkFnQWdBRUhvd3dBb0FnQkxCRUJCNk1NQUlBQTJBZ0FMQWtBQ1FBSkFRY3pBQUNnQ0FDSURCRUJCOU1NQUlRQURRQ0FCSUFBb0FnQWlBaUFBS0FJRUlnUnFSZzBDSUFBb0FnZ2lBQTBBQ3d3Q0MwSEV3QUFvQWdBaUFFRUFJQUVnQUU4YlJRUkFRY1RBQUNBQk5nSUFDMEVBSVFCQitNTUFJQVkyQWdCQjlNTUFJQUUyQWdCQjFNQUFRWDgyQWdCQjJNQUFRWXpFQUNnQ0FEWUNBRUdBeEFCQkFEWUNBQU5BSUFCQkEzUWlBa0hrd0FCcUlBSkIzTUFBYWlJRE5nSUFJQUpCNk1BQWFpQUROZ0lBSUFCQkFXb2lBRUVnUncwQUMwSEF3QUFnQmtGWWFpSUFRWGdnQVd0QkIzRkJBQ0FCUVFocVFRZHhHeUlDYXlJRE5nSUFRY3pBQUNBQklBSnFJZ0kyQWdBZ0FpQURRUUZ5TmdJRUlBQWdBV3BCS0RZQ0JFSFF3QUJCbk1RQUtBSUFOZ0lBREFJTElBQXRBQXhCQ0hFTkFDQUJJQU5ORFFBZ0FpQURTdzBBSUFBZ0JDQUdhallDQkVITXdBQWdBMEY0SUFOclFRZHhRUUFnQTBFSWFrRUhjUnNpQUdvaUFUWUNBRUhBd0FCQndNQUFLQUlBSUFacUlnSWdBR3NpQURZQ0FDQUJJQUJCQVhJMkFnUWdBaUFEYWtFb05nSUVRZERBQUVHY3hBQW9BZ0EyQWdBTUFRc2dBVUhFd0FBb0FnQWlCRWtFUUVIRXdBQWdBVFlDQUNBQklRUUxJQUVnQm1vaEFrSDB3d0FoQUFKQUFrQUNRQUpBQWtBQ1FBTkFJQUlnQUNnQ0FFY0VRQ0FBS0FJSUlnQU5BUXdDQ3dzZ0FDMEFERUVJY1VVTkFRdEI5TU1BSVFBRFFDQUFLQUlBSWdJZ0EwMEVRQ0FDSUFBb0FnUnFJZ1FnQTBzTkF3c2dBQ2dDQ0NFQURBQUFDd0FMSUFBZ0FUWUNBQ0FBSUFBb0FnUWdCbW8yQWdRZ0FVRjRJQUZyUVFkeFFRQWdBVUVJYWtFSGNSdHFJZ2tnQlVFRGNqWUNCQ0FDUVhnZ0FtdEJCM0ZCQUNBQ1FRaHFRUWR4RzJvaUFTQUpheUFGYXlFQUlBVWdDV29oQnlBQklBTkdCRUJCek1BQUlBYzJBZ0JCd01BQVFjREFBQ2dDQUNBQWFpSUFOZ0lBSUFjZ0FFRUJjallDQkF3REN5QUJRY2pBQUNnQ0FFWUVRRUhJd0FBZ0J6WUNBRUc4d0FCQnZNQUFLQUlBSUFCcUlnQTJBZ0FnQnlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUF3REN5QUJLQUlFSWdKQkEzRkJBVVlFUUNBQ1FYaHhJUW9DUUNBQ1FmOEJUUVJBSUFFb0FnZ2lBeUFDUVFOMklnUkJBM1JCM01BQWFrY2FJQU1nQVNnQ0RDSUNSZ1JBUWJUQUFFRzB3QUFvQWdCQmZpQUVkM0UyQWdBTUFnc2dBeUFDTmdJTUlBSWdBellDQ0F3QkN5QUJLQUlZSVFnQ1FDQUJJQUVvQWd3aUJrY0VRQ0FFSUFFb0FnZ2lBazBFUUNBQ0tBSU1HZ3NnQWlBR05nSU1JQVlnQWpZQ0NBd0JDd0pBSUFGQkZHb2lBeWdDQUNJRkRRQWdBVUVRYWlJREtBSUFJZ1VOQUVFQUlRWU1BUXNEUUNBRElRSWdCU0lHUVJScUlnTW9BZ0FpQlEwQUlBWkJFR29oQXlBR0tBSVFJZ1VOQUFzZ0FrRUFOZ0lBQ3lBSVJRMEFBa0FnQVNBQktBSWNJZ0pCQW5SQjVNSUFhaUlES0FJQVJnUkFJQU1nQmpZQ0FDQUdEUUZCdU1BQVFiakFBQ2dDQUVGK0lBSjNjVFlDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQUZHRzJvZ0JqWUNBQ0FHUlEwQkN5QUdJQWcyQWhnZ0FTZ0NFQ0lDQkVBZ0JpQUNOZ0lRSUFJZ0JqWUNHQXNnQVNnQ0ZDSUNSUTBBSUFZZ0FqWUNGQ0FDSUFZMkFoZ0xJQUVnQ21vaEFTQUFJQXBxSVFBTElBRWdBU2dDQkVGK2NUWUNCQ0FISUFCQkFYSTJBZ1FnQUNBSGFpQUFOZ0lBSUFCQi93Rk5CRUFnQUVFRGRpSUJRUU4wUWR6QUFHb2hBQUovUWJUQUFDZ0NBQ0lDUVFFZ0FYUWlBWEZGQkVCQnRNQUFJQUVnQW5JMkFnQWdBQXdCQ3lBQUtBSUlDeUVCSUFBZ0J6WUNDQ0FCSUFjMkFnd2dCeUFBTmdJTUlBY2dBVFlDQ0F3REN5QUhBbjlCQUNBQVFRaDJJZ0ZGRFFBYVFSOGdBRUgvLy84SFN3MEFHaUFCSUFGQmdQNC9ha0VRZGtFSWNTSUJkQ0lDSUFKQmdPQWZha0VRZGtFRWNTSUNkQ0lESUFOQmdJQVBha0VRZGtFQ2NTSURkRUVQZGlBQklBSnlJQU55YXlJQlFRRjBJQUFnQVVFVmFuWkJBWEZ5UVJ4cUN5SUJOZ0ljSUFkQ0FEY0NFQ0FCUVFKMFFlVENBR29oQWdKQVFiakFBQ2dDQUNJRFFRRWdBWFFpQkhGRkJFQkJ1TUFBSUFNZ0JISTJBZ0FnQWlBSE5nSUFEQUVMSUFCQkFFRVpJQUZCQVhacklBRkJIMFliZENFRElBSW9BZ0FoQVFOQUlBRWlBaWdDQkVGNGNTQUFSZzBESUFOQkhYWWhBU0FEUVFGMElRTWdBaUFCUVFSeGFpSUVLQUlRSWdFTkFBc2dCQ0FITmdJUUN5QUhJQUkyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdDQzBIQXdBQWdCa0ZZYWlJQVFYZ2dBV3RCQjNGQkFDQUJRUWhxUVFkeEd5SUNheUlITmdJQVFjekFBQ0FCSUFKcUlnSTJBZ0FnQWlBSFFRRnlOZ0lFSUFBZ0FXcEJLRFlDQkVIUXdBQkJuTVFBS0FJQU5nSUFJQU1nQkVFbklBUnJRUWR4UVFBZ0JFRlpha0VIY1J0cVFWRnFJZ0FnQUNBRFFSQnFTUnNpQWtFYk5nSUVJQUpCL01NQUtRSUFOd0lRSUFKQjlNTUFLUUlBTndJSVFmekRBQ0FDUVFocU5nSUFRZmpEQUNBR05nSUFRZlREQUNBQk5nSUFRWURFQUVFQU5nSUFJQUpCR0dvaEFBTkFJQUJCQnpZQ0JDQUFRUWhxSVFFZ0FFRUVhaUVBSUFRZ0FVc05BQXNnQWlBRFJnMERJQUlnQWlnQ0JFRitjVFlDQkNBRElBSWdBMnNpQkVFQmNqWUNCQ0FDSUFRMkFnQWdCRUgvQVUwRVFDQUVRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQVFMSUFOQ0FEY0NFQ0FEQW45QkFDQUVRUWgySWdCRkRRQWFRUjhnQkVILy8vOEhTdzBBR2lBQUlBQkJnUDQvYWtFUWRrRUljU0lBZENJQklBRkJnT0FmYWtFUWRrRUVjU0lCZENJQ0lBSkJnSUFQYWtFUWRrRUNjU0lDZEVFUGRpQUFJQUZ5SUFKeWF5SUFRUUYwSUFRZ0FFRVZhblpCQVhGeVFSeHFDeUlBTmdJY0lBQkJBblJCNU1JQWFpRUJBa0JCdU1BQUtBSUFJZ0pCQVNBQWRDSUdjVVVFUUVHNHdBQWdBaUFHY2pZQ0FDQUJJQU0yQWdBZ0F5QUJOZ0lZREFFTElBUkJBRUVaSUFCQkFYWnJJQUJCSDBZYmRDRUFJQUVvQWdBaEFRTkFJQUVpQWlnQ0JFRjRjU0FFUmcwRUlBQkJIWFloQVNBQVFRRjBJUUFnQWlBQlFRUnhhaUlHS0FJUUlnRU5BQXNnQmlBRE5nSVFJQU1nQWpZQ0dBc2dBeUFETmdJTUlBTWdBellDQ0F3REN5QUNLQUlJSWdBZ0J6WUNEQ0FDSUFjMkFnZ2dCMEVBTmdJWUlBY2dBallDRENBSElBQTJBZ2dMSUFsQkNHb2hBQXdGQ3lBQ0tBSUlJZ0FnQXpZQ0RDQUNJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FqWUNEQ0FESUFBMkFnZ0xRY0RBQUNnQ0FDSUFJQVZORFFCQndNQUFJQUFnQldzaUFUWUNBRUhNd0FCQnpNQUFLQUlBSWdBZ0JXb2lBallDQUNBQ0lBRkJBWEkyQWdRZ0FDQUZRUU55TmdJRUlBQkJDR29oQUF3REMwR3d3QUJCTURZQ0FFRUFJUUFNQWdzQ1FDQUlSUTBBQWtBZ0JDZ0NIQ0lBUVFKMFFlVENBR29pQXlnQ0FDQUVSZ1JBSUFNZ0FUWUNBQ0FCRFFGQnVNQUFJQWRCZmlBQWQzRWlCellDQUF3Q0N5QUlRUkJCRkNBSUtBSVFJQVJHRzJvZ0FUWUNBQ0FCUlEwQkN5QUJJQWcyQWhnZ0JDZ0NFQ0lBQkVBZ0FTQUFOZ0lRSUFBZ0FUWUNHQXNnQkNnQ0ZDSUFSUTBBSUFFZ0FEWUNGQ0FBSUFFMkFoZ0xBa0FnQWtFUFRRUkFJQVFnQWlBRmFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRURBRUxJQVFnQlVFRGNqWUNCQ0FFSUFWcUlnTWdBa0VCY2pZQ0JDQUNJQU5xSUFJMkFnQWdBa0gvQVUwRVFDQUNRUU4ySWdGQkEzUkIzTUFBYWlFQUFuOUJ0TUFBS0FJQUlnSkJBU0FCZENJQmNVVUVRRUcwd0FBZ0FTQUNjallDQUNBQURBRUxJQUFvQWdnTElRRWdBQ0FETmdJSUlBRWdBellDRENBRElBQTJBZ3dnQXlBQk5nSUlEQUVMSUFNQ2YwRUFJQUpCQ0hZaUFFVU5BQnBCSHlBQ1FmLy8vd2RMRFFBYUlBQWdBRUdBL2o5cVFSQjJRUWh4SWdCMElnRWdBVUdBNEI5cVFSQjJRUVJ4SWdGMElnVWdCVUdBZ0E5cVFSQjJRUUp4SWdWMFFROTJJQUFnQVhJZ0JYSnJJZ0JCQVhRZ0FpQUFRUlZxZGtFQmNYSkJIR29MSWdBMkFod2dBMElBTndJUUlBQkJBblJCNU1JQWFpRUJBa0FDUUNBSFFRRWdBSFFpQlhGRkJFQkJ1TUFBSUFVZ0IzSTJBZ0FnQVNBRE5nSUFEQUVMSUFKQkFFRVpJQUJCQVhacklBQkJIMFliZENFQUlBRW9BZ0FoQlFOQUlBVWlBU2dDQkVGNGNTQUNSZzBDSUFCQkhYWWhCU0FBUVFGMElRQWdBU0FGUVFSeGFpSUdLQUlRSWdVTkFBc2dCaUFETmdJUUN5QURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdCQ3lBQktBSUlJZ0FnQXpZQ0RDQUJJQU0yQWdnZ0EwRUFOZ0lZSUFNZ0FUWUNEQ0FESUFBMkFnZ0xJQVJCQ0dvaEFBd0JDd0pBSUFsRkRRQUNRQ0FCS0FJY0lnQkJBblJCNU1JQWFpSUNLQUlBSUFGR0JFQWdBaUFFTmdJQUlBUU5BVUc0d0FBZ0NrRitJQUIzY1RZQ0FBd0NDeUFKUVJCQkZDQUpLQUlRSUFGR0cyb2dCRFlDQUNBRVJRMEJDeUFFSUFrMkFoZ2dBU2dDRUNJQUJFQWdCQ0FBTmdJUUlBQWdCRFlDR0FzZ0FTZ0NGQ0lBUlEwQUlBUWdBRFlDRkNBQUlBUTJBaGdMQWtBZ0EwRVBUUVJBSUFFZ0F5QUZhaUlBUVFOeU5nSUVJQUFnQVdvaUFDQUFLQUlFUVFGeU5nSUVEQUVMSUFFZ0JVRURjallDQkNBQklBVnFJZ1FnQTBFQmNqWUNCQ0FESUFScUlBTTJBZ0FnQ0FSQUlBaEJBM1lpQlVFRGRFSGN3QUJxSVFCQnlNQUFLQUlBSVFJQ2YwRUJJQVYwSWdVZ0JuRkZCRUJCdE1BQUlBVWdCbkkyQWdBZ0FBd0JDeUFBS0FJSUN5RUZJQUFnQWpZQ0NDQUZJQUkyQWd3Z0FpQUFOZ0lNSUFJZ0JUWUNDQXRCeU1BQUlBUTJBZ0JCdk1BQUlBTTJBZ0FMSUFGQkNHb2hBQXNnQzBFUWFpUUFJQUFMUkFFQmZ5QUFJQUFvQWhBZ0FXb2lBVFlDRUNBQUlBRkJCM0UyQWdoQmZ5RUNJQUVnQUNnQ0RFRURkRTBFZnlBQUlBQW9BZ0FnQVVFRGRtbzJBZ1JCQUFWQmZ3c0w1UWNCQ0g4Z0FDQUVRUUFnQm1zZ0FpQUNJQVpxUVFCSUd5SUNJQUlnQkVvYklnSnFJQUFnQWtFQVNoc2lDU0FGUVFBZ0Iyc2dBeUFESUFkcVFRQklHeUlBSUFBZ0JVb2JJZ0FnQkd4cUlBa2dBRUVBU2hzaEF5QUhRUUFnQUdzZ0FFRWZkWEVpQ1dzZ0FDQUhhaUlBSUFWcklneEJBQ0FBSUFWS0d5SVBheUVMSUFaQkFDQUNheUlPSUFKQkgzVnhJZzFySUFJZ0Jtb2lBQ0FFYTBFQUlBQWdCRW9pQlJzaUNtc2hBQUpBSUFKQkFFZ2dCWElpRUVVRVFDQUpCRUFEUUNBQklBTWdBQkFWSUFocUlRRWdDVUYvYWlJSkRRQUxDeUFMUlEwQkEwQWdBU0FESUFBUUZTQUlhaUVCSUFNZ0JHb2hBeUFMUVg5cUlnc05BQXNNQVFzQ1FDQUpSUTBBSUExRkJFQURRQ0FBSVFjZ0FTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQVNBSWFpRUJJQWxCZjJvaUNRMEFEQUlBQ3dBTElBRWdEbW9oQmdOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0JpRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQmlBSWFpRUdJQUVnQ0dvaEFTQUpRWDlxSWdrTkFBc0xJQXRGRFFBZ0RVVUVRQU5BSUFBaEJ5QUJJUUlnQXlFRklBQUVRQU5BSUFJZ0JTMEFBRG9BQUNBQ1FRRnFJUUlnQlVFQmFpRUZJQWRCZjJvaUJ3MEFDd3NnQ2dSQUlBSWdCVUYvYWkwQUFDQUtFQWNhQ3lBQklBaHFJUUVnQXlBRWFpRURJQXRCZjJvaUN3MEFEQUlBQ3dBTElBRWdEbW9oQ1FOQUlBRWdBeTBBQUNBTkVBY2hBU0FBSVFjZ0NTRUNJQU1oQlNBQUJFQURRQ0FDSUFVdEFBQTZBQUFnQWtFQmFpRUNJQVZCQVdvaEJTQUhRWDlxSWdjTkFBc0xJQW9FUUNBQ0lBVkJmMm90QUFBZ0NoQUhHZ3NnQ0NBSmFpRUpJQUVnQ0dvaEFTQURJQVJxSVFNZ0MwRi9haUlMRFFBTEN3SkFJQTlGRFFBZ0F5QUVheUVESUJCRkJFQURRQ0FCSUFNZ0FCQVZJQWhxSVFFZ0RFRi9haUlNRFFBTUFnQUxBQXNnRFVVRVFBTkFJQU1oQWlBQklRVWdBQ0VISUFBRVFBTkFJQVVnQWkwQUFEb0FBQ0FGUVFGcUlRVWdBa0VCYWlFQ0lBZEJmMm9pQncwQUN3c2dDZ1JBSUFVZ0FrRi9haTBBQUNBS0VBY2FDeUFCSUFocUlRRWdERUYvYWlJTURRQU1BZ0FMQUFzZ0FTQU9haUVKQTBBZ0FTQURMUUFBSUEwUUJ5RUJJQUFoQnlBSklRSWdBeUVGSUFBRVFBTkFJQUlnQlMwQUFEb0FBQ0FDUVFGcUlRSWdCVUVCYWlFRklBZEJmMm9pQncwQUN3c2dDZ1JBSUFJZ0JVRi9haTBBQUNBS0VBY2FDeUFJSUFscUlRa2dBU0FJYWlFQklBeEJmMm9pREEwQUN3c0w5QUlCQTM4Z0FVRURkRUh3Tm1vaUF5Z0NBQ0VGSUFNdEFBUWhBeUFCUVFOMFFiQTFhaUlCTFFBRUlRUUNRQ0FCS0FJQVFRUkdCRUFnQWlBRVFRRjBhaTRCQUNFQklBVkJCRVlFUUNBQklBSWdBMEVCZEdvdUFRQnFRUUZxUVFGMUR3c0NmeUFBS0FMTUFTSUNCRUFnQUNnQ0JDQUNLQUlFUmd3QkMwRUFDMFVOQVNBQklBQW9Bc3dCSUFOQkFYUnFMZ0VjYWtFQmFrRUJkUThMSUFWQkJFWUVRQ0FDSUFOQkFYUnFMZ0VBSVFFQ2Z5QUFLQUxJQVNJQ0JFQWdBQ2dDQkNBQ0tBSUVSZ3dCQzBFQUMwVU5BU0FCSUFBb0FzZ0JJQVJCQVhScUxnRWNha0VCYWtFQmRROExBbjhDZnlBQUtBTElBU0lCQkVBZ0FDZ0NCQ0FCS0FJRVJnd0JDMEVBQzBVRVFFRUFJUUpCQUF3QkMwRUJJUUlnQUNnQ3lBRWdCRUVCZEdvdUFSd0xJUUVDZnlBQUtBTE1BU0lFQkVBZ0FDZ0NCQ0FFS0FJRVJnd0JDMEVBQzBVTkFDQUFLQUxNQVNBRFFRRjBhaTRCSENFQUlBSkZCRUFnQUE4TElBQWdBV3BCQVdwQkFYVWhBUXNnQVF1SkJ3RUhmeUFESUFWcUlnMGdBUzRCQUNJTVFRSjFhaUVESUFRZ0Jtb2lEaUFCTGdFQ0lnOUJBblZxSVFRZ0FpZ0NDRUVFZENFSklBSW9BZ1JCQkhRaENpQUFJQVpCQkhScUlBVnFJUXNDUUNBTVFRTnhRUVIwSUE5QkEzRkJBblJ5UWRBN2FpZ0NBQ0lNUVE1TkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnREVFQmF3NE9BUUlEQkFVR0J3Z0pDZ3NNRFE0QUN5QUNLQUlBSUFzZ0F5QUVJQW9nQ1NBSElBaEJFQkFNREE4TElBSW9BZ0FnQ3lBRElBUkJmbW9nQ2lBSklBY2dDRUVBRUNRTURnc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJRUVjTURRc2dBaWdDQUNBTElBTWdCRUYrYWlBS0lBa2dCeUFJUVFFUUpBd01DeUFDS0FJQUlBc2dBMEYrYWlBRUlBb2dDU0FISUFoQkFCQWpEQXNMSUFJb0FnQWdDeUFEUVg1cUlBUkJmbW9nQ2lBSklBY2dDRUVBRUJvTUNnc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRQVFJUXdKQ3lBQ0tBSUFJQXNnQTBGK2FpQUVRWDVxSUFvZ0NTQUhJQWhCQWhBYURBZ0xJQUlvQWdBZ0N5QURRWDVxSUFRZ0NpQUpJQWNnQ0JCR0RBY0xJQUlvQWdBZ0N5QURRWDVxSUFSQmZtb2dDaUFKSUFjZ0NFRUFFQ0lNQmdzZ0FpZ0NBQ0FMSUFOQmZtb2dCRUYrYWlBS0lBa2dCeUFJRUVVTUJRc2dBaWdDQUNBTElBTkJmbW9nQkVGK2FpQUtJQWtnQnlBSVFRRVFJZ3dFQ3lBQ0tBSUFJQXNnQTBGK2FpQUVJQW9nQ1NBSElBaEJBUkFqREFNTElBSW9BZ0FnQ3lBRFFYNXFJQVJCZm1vZ0NpQUpJQWNnQ0VFQkVCb01BZ3NnQWlnQ0FDQUxJQU5CZm1vZ0JFRithaUFLSUFrZ0J5QUlRUUVRSVF3QkN5QUNLQUlBSUFzZ0EwRithaUFFUVg1cUlBb2dDU0FISUFoQkF4QWFDeUFOUVFGMklBRXVBUUFpQ1VFRGRXb2hBeUFPUVFGMklBRXVBUUlpQVVFRGRXb2hCQ0FDS0FJQUlBSW9BZ1FpQ2lBQ0tBSUlJZ3RzUVFoMGFpRUNJQUFnQmtFQ2RFRjRjV29nQlVFQmRtcEJnQUpxSVFVZ0NFRUJkaUVHSUFkQkFYWWhCeUFCUVFkeElRZ2dDMEVEZENFQUlBcEJBM1FoQVFKQUlBbEJCM0VpQ1VVTkFDQUlSUTBBSUFJZ0JTQURJQVFnQVNBQUlBa2dDQ0FISUFZUVNBOExJQWtFUUNBQ0lBVWdBeUFFSUFFZ0FDQUpJQWNnQmhCTER3c2dDQVJBSUFJZ0JTQURJQVFnQVNBQUlBZ2dCeUFHRUVvUEN5QUNJQVVnQXlBRUlBRWdBQ0FISUFaQkNCQU1JQUlnQUNBQmJHb2dCVUZBYXlBRElBUWdBU0FBSUFjZ0JrRUlFQXdMeHdFQkJIOGdBQ2dDQkNFQ0FrQWdBQ2dDREVFRGRDQUFLQUlRYXlJRFFTQk9CRUFnQWlnQUFDSUJRUmgwSUFGQkNIUkJnSUQ4QjNGeUlBRkJDSFpCZ1A0RGNTQUJRUmgyY25JaEFTQUFLQUlJSWdCRkRRRWdBU0FBZENBQ0xRQUVRUWdnQUd0MmNnOExJQU5CQVVnRVFFRUFEd3NnQWkwQUFDQUFLQUlJSWdCQkdHb2lCSFFoQVNBQUlBTnFRWGhxSWdCQkFVZ05BQU5BSUFJdEFBRWdCRUY0YWlJRWRDQUJjaUVCSUFCQkNFb2hBeUFDUVFGcUlRSWdBRUY0YWlFQUlBTU5BQXNMSUFFTGpBUUJCMzhDUUNBQVFYOXFJZ2d0QUFBaUJTQUFMUUFBSWdacklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJRVR3MEFJQUJCZm1vdEFBQWlCQ0FGYXlJSElBZEJIM1VpQjJvZ0IzTWdBaWdDQ0NJSlR3MEFJQUF0QUFFaUJ5QUdheUlLSUFwQkgzVWlDbW9nQ25NZ0NVOE5BQ0FCUVFOTkJFQWdDQ0FGSUFFZ0FpZ0NBR3BCZjJvdEFBQWlDRUYvY3lJSklBaEJBV29pQ0NBR0lBVnJRUUowSUFkcklBUnFRUVJxUVFOMUlnVWdCU0FJU2hzZ0JTQUpTQnNpQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFGYTBHd0xtb3RBQUE2QUFBTUFRc2dDQ0FGSUFkcUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFBZ0JpQUhRUUYwYWlBRWFrRUNha0VDZGpvQUFBc0NRQ0FBSUFOcUlnQkJmMm9pQnkwQUFDSURJQUF0QUFBaUJXc2lCaUFHUVI5MUlnWnFJQVp6SUFJb0FnUlBEUUFnQUVGK2FpMEFBQ0lHSUFOcklnUWdCRUVmZFNJRWFpQUVjeUFDS0FJSUlnaFBEUUFnQUMwQUFTSUVJQVZySWdrZ0NVRWZkU0lKYWlBSmN5QUlUdzBBSUFGQkEwMEVRQ0FISUFFZ0FpZ0NBR3BCZjJvdEFBQWlBVUYvY3lJQ0lBRkJBV29pQnlBRklBTnJRUUowSUFScklBWnFRUVJxUVFOMUlnRWdBU0FIU2hzZ0FTQUNTQnNpQVNBRGFrR3dMbW90QUFBNkFBQWdBQ0FGSUFGclFiQXVhaTBBQURvQUFBOExJQWNnQXlBRWFpQUdRUUYwYWtFQ2FrRUNkam9BQUNBQUlBVWdCRUVCZEdvZ0JtcEJBbXBCQW5ZNkFBQUxDMGNBQWtBZ0FVRUVUUVJBQWtBQ1FBSkFBa0FnQVVFQmF3NEVBUUlEQlFBTElBQW9Bc2dCRHdzZ0FDZ0N6QUVQQ3lBQUtBTFFBUThMSUFBb0F0UUJEd3RCQUNFQUN5QUFDNlVEQVF0L1FRQWdBMnNpQzBFQmRDRUVJQUVnQWlnQ0FHcEJmMm90QUFBaUFVRUJhaUVKSUFGQmYzTWhDZ0pBSUFBZ0Eyc2lCeTBBQUNJRklBQXRBQUFpQm1zaUFTQUJRUjkxSWdGcUlBRnpJQUlvQWdRaUFVOE5BQ0FBSUFScUxRQUFJZzBnQldzaUNDQUlRUjkxSWdocUlBaHpJQUlvQWdnaUNFOE5BQ0FBSUFOcUxRQUFJZzRnQm1zaURDQU1RUjkxSWd4cUlBeHpJQWhQRFFBZ0J5QUtJQWtnQmlBRmEwRUNkQ0FPYXlBTmFrRUVha0VEZFNJQklBRWdDVW9iSUFFZ0NrZ2JJZ0VnQldwQnNDNXFMUUFBT2dBQUlBQWdCaUFCYTBHd0xtb3RBQUE2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJBV29pQlNBTGFpSUxMUUFBSWdZZ0FDMEFBU0lBYXlJSElBZEJIM1VpQjJvZ0IzTWdBVThOQUNBRUlBVnFMUUFBSWdFZ0Jtc2lCQ0FFUVI5MUlnUnFJQVJ6SUFJb0FnZ2lBazhOQUNBRElBVnFMUUFBSWdNZ0FHc2lCQ0FFUVI5MUlnUnFJQVJ6SUFKUERRQWdDeUFLSUFrZ0FDQUdhMEVDZENBRGF5QUJha0VFYWtFRGRTSUJJQUVnQ1VvYklBRWdDa2diSWdFZ0JtcEJzQzVxTFFBQU9nQUFJQVVnQUNBQmEwR3dMbW90QUFBNkFBQUxDMFFCQW44L0FDRUJBa0JCc01RQUtBSUFJZ0lnQUVFRGFrRjhjV29pQUNBQlFSQjBUUTBBSUFBUUFRMEFRYkRBQUVFd05nSUFRWDhQQzBHd3hBQWdBRFlDQUNBQ0N6UUJBWDhDUUNBQlFSQkxEUUFnQUNnQ0JDQUJRUUowYWlnQ0FDSUFSUTBBSUFBb0FoUkJBa2tOQUNBQUtBSUFJUUlMSUFJTGdnUUJBMzhnQWtHQUJFOEVRQ0FBSUFFZ0FoQUFHaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUpCQVVnRVFDQUFJUUlNQVFzZ0FFRURjVVVFUUNBQUlRSU1BUXNnQUNFQ0EwQWdBaUFCTFFBQU9nQUFJQUZCQVdvaEFTQUNRUUZxSWdJZ0EwOE5BU0FDUVFOeERRQUxDd0pBSUFOQmZIRWlCRUhBQUVrTkFDQUNJQVJCUUdvaUJVc05BQU5BSUFJZ0FTZ0NBRFlDQUNBQ0lBRW9BZ1EyQWdRZ0FpQUJLQUlJTmdJSUlBSWdBU2dDRERZQ0RDQUNJQUVvQWhBMkFoQWdBaUFCS0FJVU5nSVVJQUlnQVNnQ0dEWUNHQ0FDSUFFb0FodzJBaHdnQWlBQktBSWdOZ0lnSUFJZ0FTZ0NKRFlDSkNBQ0lBRW9BaWcyQWlnZ0FpQUJLQUlzTmdJc0lBSWdBU2dDTURZQ01DQUNJQUVvQWpRMkFqUWdBaUFCS0FJNE5nSTRJQUlnQVNnQ1BEWUNQQ0FCUVVCcklRRWdBa0ZBYXlJQ0lBVk5EUUFMQ3lBQ0lBUlBEUUVEUUNBQ0lBRW9BZ0EyQWdBZ0FVRUVhaUVCSUFKQkJHb2lBaUFFU1EwQUN3d0JDeUFEUVFSSkJFQWdBQ0VDREFFTElBTkJmR29pQkNBQVNRUkFJQUFoQWd3QkN5QUFJUUlEUUNBQ0lBRXRBQUE2QUFBZ0FpQUJMUUFCT2dBQklBSWdBUzBBQWpvQUFpQUNJQUV0QUFNNkFBTWdBVUVFYWlFQklBSkJCR29pQWlBRVRRMEFDd3NnQWlBRFNRUkFBMEFnQWlBQkxRQUFPZ0FBSUFGQkFXb2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBQUx3UmdCSUg4akFFSFFBMnNpQmlRQUlBRW9BZ2doRkNBQklBRW9BZ1FpQ2lBQ2JDSWFJQU5xRUIwZ0FTZ0NBQ0VKSUFCQkFEWUNDQ0FBUWlnM0FoUWdBRUlBTndJTUlBQkJCallDQUNBRFFRUjBJUWNDUUFKQUFrQWdCRUYrYWlJRVFRVkxEUUFDUUNBRVFRRnJEZ1FCQVFFQkFBc01BUXNnQmtFQU5nSU1JQVlnRkRZQ0dDQUdJQW8yQWhRZ0JpQUZOZ0lRSUFVRVFDQUdRZEFBYWlBR1FReHFJQVpCRUdvZ0J5QUNRUVIwUVFCQkFFRVFRUkFRRGd3Q0N3c2dCa0hRQUdwQkFFR0FBeEFIR2lBSklCcEJDSFJxSUFkcUlRd2dCa0lBTndOSUlBWkJRR3RDQURjREFDQUdRZ0EzQXpnZ0JrSUFOd013SUFaQ0FEY0RLQ0FHUWdBM0F5QWdCa0lBTndNWUlBWkNBRGNERUVFQUlRa0NmMEVBSUFKRkRRQWFRUUFnQUVFQUlBcHJRZGdCYkdvb0FzUUJSUTBBR2lBR0lBd2dDa0VFZEdzaUJDMEFCU0FFTFFBRWFpQUVMUUFHYWlBRUxRQUhhaUlYSUFRdEFBTWdCQzBBQWlBRUxRQUJJQVF0QUFCcWFtb2lGbW9pQlNBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSWFtcHFJaEpySUFRdEFBOGdCQzBBRGlBRUxRQU5JQVF0QUF4cWFtb2lFMnNpQ0RZQ0ZDQUdJQVVnRW1vZ0Uyb2lDVFlDRUVFQkN5RUZBbjhDUUNBQ0lCUkJmMnBIQkVBZ0FDQUtRZGdCYkdvb0FzUUJEUUVMSUFVTUFRc2dCaUFNSUFwQkNIUnFJZ0l0QUFVZ0FpMEFCR29nQWkwQUJtb2dBaTBBQjJvaUhpQUNMUUFESUFJdEFBSWdBaTBBQVNBQ0xRQUFhbXBxSWg5cUlnUWdBaTBBQ3lBQ0xRQUtJQUl0QUFrZ0FpMEFDR3BxYWlJWWF5QUNMUUFQSUFJdEFBNGdBaTBBRFNBQ0xRQU1hbXBxSWhscklBaHFJZ2cyQWhRZ0JpQUVJQmhxSUFscUlCbHFJZ2syQWhCQkFTRVFJQVZCQVdvTElRZEJBQ0VFQW44Q1FDQURSUTBBSUFCQmJHb29BZ0JGRFFBZ0JpQU1RWDlxSWdJZ0NrRUdkQ0lPYWlJRUlBcEJCSFFpQzJvdEFBQWdCQzBBQUdvZ0JDQUtRUVYwSWc5cUxRQUFhaUFFSUFwQk1Hd2lEV290QUFCcUloc2dBaUFOYWkwQUFDQUNJQTlxTFFBQUlBSWdDMm90QUFBZ0FpMEFBR3BxYWlJY2FpSVJJQVFnRG1vaUFpQUxhaTBBQUNBQ0xRQUFhaUFDSUE5cUxRQUFhaUFDSUExcUxRQUFhaUlWYXlBQ0lBNXFJZ0lnQzJvdEFBQWdBaTBBQUdvZ0FpQVBhaTBBQUdvZ0FpQU5haTBBQUdvaUQyc2lCRFlDSUNBR0lCRWdGV29nQ1dvZ0Qyb2lDVFlDRUNBSFFRRnFJUXRCQVF3QkN5QUhJUXRCQUFzaEFnSkFBa0FDUUFKQUFrQUNRQ0FESUFwQmYycEhCRUFnQUNnQ25BTU5BUXRCQUNFT0lBSkJBRWNoRVNBSERRRU1BZ3NnQmlBRUlBeEJFR29pQkNBS1FRWjBJaDFxSWdBZ0NrRUVkQ0lOYWkwQUFDQUFMUUFBYWlBQUlBcEJCWFFpRG1vdEFBQnFJQUFnQ2tFd2JDSVJhaTBBQUdvaUlDQUVJQkZxTFFBQUlBUWdEbW90QUFBZ0JDQU5haTBBQUNBTUxRQVFhbXBxSWlGcUlpSWdBQ0FkYWlJQUlBMXFMUUFBSUFBdEFBQnFJQUFnRG1vdEFBQnFJQUFnRVdvdEFBQnFJZ3hySUFBZ0hXb2lBQ0FOYWkwQUFDQUFMUUFBYWlBQUlBNXFMUUFBYWlBQUlCRnFMUUFBYWlJTmEyb2lCRFlDSUNBR0lBd2dJbW9nQ1dvZ0RXb2lDVFlDRUNBQ1FRQkhJUkZCQVNFT0lBSkJBV29oQUNBTFFRRnFJUXNDUUNBSERRQWdBa1VOQUNBR0lCc2dIR29nRldvZ0Qyb2dJV3NnSUdzZ0RHc2dEV3RCQlhVaUNEWUNGQXdEQ3lBSFJRMENJQUFoQWdzZ0JpQUlJQWRCQTJwMUlnZzJBaFFMQWtBZ0VFVU5BQ0FGUlEwQUlBSU5BQ0FHSUJZZ0Yyb2dFbW9nRTJvZ0dXc2dHR3NnSG1zZ0gydEJCWFVpQkRZQ0lFRUJJUkJCQVNFTkRBTUxJQkJCQUVjaEVDQUZRUUJISVEwZ0FrVU5BZ3dCQ3lBUVFRQkhJUkFnQlVFQVJ5RU5JQUFoQWdzZ0JpQUVJQUpCQTJwMUlnUTJBaUFMSUFZQ2Z5QUxRWDlxSWdCQkFrMEVRQUpBQWtBQ1FDQUFRUUZyRGdJQkFnQUxJQWxCQkhZTUF3c2dDVUVGZGd3Q0N5QUpRUlZzUVFwMURBRUxJQWxCQm5ZTElnQTJBaEFDUUNBRUlBaHlSUVJBSUFZZ0FEWUNTQ0FHSUFBMkFrd2dCaUFBTmdKRUlBWWdBRFlDUUNBR0lBQTJBandnQmlBQU5nSTRJQVlnQURZQ05DQUdJQUEyQWpBZ0JpQUFOZ0lzSUFZZ0FEWUNLQ0FHSUFBMkFpUWdCaUFBTmdJZ0lBWWdBRFlDSENBR0lBQTJBaGdnQmlBQU5nSVVEQUVMSUFZZ0FDQUlhaUlGSUFSck5nSkFJQVlnQlNBRVFRRjFJZ0pyTmdJd0lBWWdBaUFGYWpZQ0lDQUdJQVFnQldvMkFoQWdCaUFBSUFocklnVWdCR3MyQWt3Z0JpQUZJQUpyTmdJOElBWWdBaUFGYWpZQ0xDQUdJQVFnQldvMkFod2dCaUFBSUFoQkFYVWlCMm9pQlNBRWF6WUNSQ0FHSUFVZ0FtczJBalFnQmlBQ0lBVnFOZ0lrSUFZZ0JDQUZhallDRkNBR0lBQWdCMnNpQUNBRWF6WUNTQ0FHSUFBZ0FtczJBamdnQmlBQUlBSnFOZ0lvSUFZZ0FDQUVhallDR0FzZ0JrSFFBR29oQ0NBR1FSQnFJUUJCQUNFRUEwQWdDQ0FBSUFSQkRIRnFLQUlBSWdKQi93RWdBa0gvQVVnYklnSkJBQ0FDUVFCS0d6b0FBQ0FBSUFCQkVHb2dCRUVCYWlJRVFUOXhHeUVBSUFoQkFXb2hDQ0FFUVlBQ1J3MEFDeUFCS0FJQUlBb2dGR3dpQUVFSWRHb2dHa0VHZEdvZ0EwRURkR29oQXlBS1FRUjBJUXdnQ2tFR2RDRWFJQUJCQm5RaEhVRUFJQXBCQTNRaUMyc2hJQ0FHUWRBQ2FpRWhJQVpCUUdzaElrRUFJUVVEUUNBR1FnQTNBMGdnSWtJQU53TUFJQVpDQURjRE9DQUdRZ0EzQXpBZ0JrSUFOd01vSUFaQ0FEY0RJQ0FHUWdBM0F4Z2dCa0lBTndNUVFRQWhDRUVBSVFSQkFDRUpJQTBFUUNBR0lBTWdJR29pQUMwQUF5QUFMUUFDYWlJWElBQXRBQUVnQUMwQUFHb2lGbW9pQWlBQUxRQUZJQUF0QUFScUloSnJJQUF0QUFjZ0FDMEFCbW9pRTJzaUNEWUNGQ0FHSUFJZ0Vtb2dFMm9pQkRZQ0VFRUJJUWtMSUJBRVFDQUdJQU1nR21vaUFDMEFBeUFBTFFBQ2FpSWVJQUF0QUFFZ0FDMEFBR29pSDJvaUFpQUFMUUFGSUFBdEFBUnFJaGhySUFBdEFBY2dBQzBBQm1vaUdXc2dDR29pQ0RZQ0ZDQUdJQUlnR0dvZ0JHb2dHV29pQkRZQ0VDQUpRUUZxSVFrTFFRQWhBQUovSUJGRkJFQWdDU0VIUVFBTUFRc2dCaUFEUVg5cUlnQWdER29pQWlBTGFpMEFBQ0FDTFFBQWFpSWJJQUFnQzJvdEFBQWdBQzBBQUdvaUhHb2lCeUFDSUF4cUlnQWdDMm90QUFBZ0FDMEFBR29pRldzZ0FDQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlnOXJJZ0EyQWlBZ0JpQUhJQlZxSUFScUlBOXFJZ1EyQWhBZ0NVRUJhaUVIUVFFTElRSUNRQ0FHQW44Q1FBSkFBa0FnRGtVRVFDQUpEUUVNQWdzZ0JpQUFJQU5CQ0dvaUNpQU1haUlBSUF0cUxRQUFJQUF0QUFCcUlpTWdDaUFMYWkwQUFDQURMUUFJYWlJa2FpSWxJQUFnREdvaUFDQUxhaTBBQUNBQUxRQUFhaUlLYXlBQUlBeHFJZ0FnQzJvdEFBQWdBQzBBQUdvaUZHdHFJZ0EyQWlBZ0JpQUtJQ1ZxSUFScUlCUnFJZ1EyQWhBZ0FrRUJhaUVDSUFkQkFXb2hCeUFSUVFGeklBbEJBRWR5UlFSQUlBWWdHeUFjYWlBVmFpQVBhaUFrYXlBamF5QUtheUFVYTBFRWRTSUlOZ0lVREFNTElBbEZEUUlMSUFZZ0NDQUpRUUpxZFNJSU5nSVVDeUFXSUJkcUlCSnFJQk5xSUJscklCaHJJQjVySUI5clFRUjFJQkFnRFNBQ1JYRnhRUUZHRFFFYUlBSkZEUUlMSUFBZ0FrRUNhblVMSWdBMkFpQUxJQVlDZnlBSFFYOXFJZ0pCQWswRVFBSkFBa0FDUUNBQ1FRRnJEZ0lCQWdBTElBUkJBM1lNQXdzZ0JFRUVkZ3dDQ3lBRVFSVnNRUWwyREFFTElBUkJCWFlMSWdRMkFoQUNRQ0FBSUFoeVJRUkFJQVlnQkRZQ1NDQUdJQVEyQWt3Z0JpQUVOZ0pFSUFZZ0JEWUNRQ0FHSUFRMkFqd2dCaUFFTmdJNElBWWdCRFlDTkNBR0lBUTJBakFnQmlBRU5nSXNJQVlnQkRZQ0tDQUdJQVEyQWlRZ0JpQUVOZ0lnSUFZZ0JEWUNIQ0FHSUFRMkFoZ2dCaUFFTmdJVURBRUxJQVlnQkNBSWFpSUhJQUJyTmdKQUlBWWdCeUFBUVFGMUlnSnJOZ0l3SUFZZ0FpQUhhallDSUNBR0lBQWdCMm8yQWhBZ0JpQUVJQWhySWdjZ0FHczJBa3dnQmlBSElBSnJOZ0k4SUFZZ0FpQUhhallDTENBR0lBQWdCMm8yQWh3Z0JpQUVJQWhCQVhVaUNXb2lCeUFBYXpZQ1JDQUdJQWNnQW1zMkFqUWdCaUFDSUFkcU5nSWtJQVlnQUNBSGFqWUNGQ0FHSUFRZ0NXc2lCQ0FBYXpZQ1NDQUdJQVFnQW1zMkFqZ2dCaUFDSUFScU5nSW9JQVlnQUNBRWFqWUNHQXNnSVNBRlFRWjBhaUVJUVFBaEFDQUdRUkJxSVFRRFFDQUlJQVFnQUVFQmRFRU1jV29vQWdBaUFrSC9BU0FDUWY4QlNCc2lBa0VBSUFKQkFFb2JPZ0FBSUFRZ0JFRVFhaUFBUVFGcUlnQkJEM0ViSVFRZ0NFRUJhaUVJSUFCQndBQkhEUUFMSUFNZ0hXb2hBeUFGUVFGcUlnVkJBa2NOQUFzTElBRWdCa0hRQUdvUUd5QUdRZEFEYWlRQUN6WUFJQUlFUUNBQUlBRVFBZzhMUVFFaEFpQUJJQUJCQVJBRElnQTJBZ0FnQUVGL1J3Ui9JQUVnQUVFQmN6WUNBRUVBQlVFQkN3dk1Bd0VTZnlBRFFRRjBJUThnQTBGOWJDRVFRUUFnQTJzaUVVRUJkQ0VTSUFFZ0FpZ0NBR3BCZjJvdEFBQWlCMEVCYWlFVFFRQWdCMnNoQ2tFRUlRRURRQUpBSUFBZ0VXb2lGQzBBQUNJRklBQXRBQUFpQ0dzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdSUERRQWdBQ0FTYWlJTExRQUFJZ3dnQldzaUJDQUVRUjkxSWdScUlBUnpJQUlvQWdnaUJrOE5BQ0FBSUFOcUloVXRBQUFpRFNBSWF5SUVJQVJCSDNVaUJHb2dCSE1nQms4TkFDQUhJUVFnQUNBUWFpMEFBQ0lKSUFWcklnNGdEa0VmZFNJT2FpQU9jeUFHU1FSQUlBc2dEQ0FLSUFjZ0JTQUlha0VCYWtFQmRpQU1RUUYwYXlBSmFrRUJkU0lFSUFRZ0Iwb2JJQVFnQ2tnYmFqb0FBQ0FDS0FJSUlRWWdFeUVFQ3lBVUlBVUNmeUFBSUE5cUxRQUFJZ3NnQ0dzaUNTQUpRUjkxSWdscUlBbHpJQVpKQkVBZ0ZTQU5JQW9nQnlBRklBaHFRUUZxUVFGMklBMUJBWFJySUF0cVFRRjFJZ1lnQmlBSFNoc2dCaUFLU0J0cU9nQUFJQVJCQVdvaEJBdEJBQ0FFYXlJR0N5QUVJQWdnQld0QkFuUWdEV3NnREdwQkJHcEJBM1VpQlNBRklBUktHeUFGSUFaSUd5SUVha0d3TG1vdEFBQTZBQUFnQUNBSUlBUnJRYkF1YWkwQUFEb0FBQXNnQUVFQmFpRUFJQUZCZjJvaUFRMEFDd3Y3QmdFT2Z5QUNLQUlJSVFvZ0FpZ0NCQ0VQQWtBZ0FVRUVUd1JBSUE5QkFuWkJBbW9oRUVFRUlRSURRQUpBSUFCQmYyb2lCUzBBQUNJSElBQXRBQUFpQ0dzaUFTQUJRUjkxSWdGcUlBRnpJZzBnRDA4TkFDQUFRWDVxSWc0dEFBQWlBU0FIYXlJRUlBUkJIM1VpQkdvZ0JITWdDazhOQUNBQUxRQUJJZ2tnQ0dzaUJDQUVRUjkxSWdScUlBUnpJQXBQRFFBQ1FDQU5JQkJKQkVBZ0FDMEFBaUVMQW44Z0FFRjlhaUlOTFFBQUlnUWdCMnNpQmlBR1FSOTFJZ1pxSUFaeklBcEpCRUJCQXlFR0lBVWdDU0FISUFocUlBRnFJZ1ZCQVhScUlBUnFRUVJxUVFOMk9nQUFJQTRnQkNBRmFrRUNha0VDZGpvQUFDQUVRUU5zSVE0Z0JVRUVhaUVNSUFCQmZHb3RBQUFNQVFzZ0J5QUphaUVNUVFJaERrRUNJUVlnQlNFTklBRUxJUVFnRFNBTUlBNXFJQVJCQVhScUlBWjJPZ0FBSUFzZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFwUERRRWdBQ0FISUFscUlBaHFJZ1VnQzJwQkFtcEJBblk2QUFFZ0FDQUZJQXRCQTJ4cUlBQXRBQU5CQVhScVFRUnFRUU4yT2dBQ0lBQWdBU0FGUVFGMGFpQUxha0VFYWtFRGRqb0FBQXdDQ3lBRklBY2dDV29nQVVFQmRHcEJBbXBCQW5ZNkFBQUxJQUFnQVNBSWFpQUpRUUYwYWtFQ2FrRUNkam9BQUFzZ0FDQURhaUVBSUFKQmYyb2lBZzBBQ3d3QkN5QUJJQUlvQWdCcVFYOXFMUUFBSWdWQkFXb2hEVUVBSUFWcklRaEJCQ0VDQTBBQ1FDQUFRWDlxSWc0dEFBQWlCQ0FBTFFBQUlnZHJJZ0VnQVVFZmRTSUJhaUFCY3lBUFR3MEFJQUJCZm1vaURDMEFBQ0lKSUFScklnRWdBVUVmZFNJQmFpQUJjeUFLVHcwQUlBQXRBQUVpQ3lBSGF5SUJJQUZCSDNVaUFXb2dBWE1nQ2s4TkFDQUFMUUFDSVFZZ0JTRUJJQUJCZldvdEFBQWlFQ0FFYXlJUklCRkJIM1VpRVdvZ0VYTWdDa2tFUUNBTUlBa2dDQ0FGSUFRZ0IycEJBV3BCQVhZZ0NVRUJkR3NnRUdwQkFYVWlBU0FCSUFWS0d5QUJJQWhJRzJvNkFBQWdEU0VCQ3lBT0lBUUNmeUFHSUFkcklnd2dERUVmZFNJTWFpQU1jeUFLU1FSQUlBQWdDeUFJSUFVZ0JDQUhha0VCYWtFQmRpQUxRUUYwYXlBR2FrRUJkU0lHSUFZZ0JVb2JJQVlnQ0VnYmFqb0FBU0FCUVFGcUlRRUxRUUFnQVdzaUJnc2dBU0FKSUF0cklBY2dCR3RCQW5ScVFRUnFRUU4xSWdRZ0JDQUJTaHNnQkNBR1NCc2lBV3BCc0M1cUxRQUFPZ0FBSUFBZ0J5QUJhMEd3TG1vdEFBQTZBQUFMSUFBZ0Eyb2hBQ0FDUVg5cUlnSU5BQXNMQzlvSEFRMS9Jd0JCd0FOckloRWtBQ0FHUVFWcUlRa0NRQUpBSUFKQkFFZ05BQ0FEUVFCSURRQWdBaUFKYWlBRVN3MEFJQU1nQjJwQkJXb2dCVXNOQUNBRUlRa2dBeUVLREFFTElBQWdFU0FDSUFNZ0JDQUZJQWtnQjBFRmFpQUpFQXdnRVNFQVFRQWhBZ3NDUUNBSFJRMEFJQUFnQ1NBS2JDQUNhbW9oRTBFUUlBWnJJUlFDUUNBR1FRSjJJaElFUUNBSklBWnJJUlVnRXlBSklBaEJBWFpCQVhGQkFuSnNha0VGYWlFQ0lBY2hCQU5BSUFKQmYyb3RBQUFoQUNBQ1FYNXFMUUFBSVFNZ0FrRjlhaTBBQUNFRklBSkJmR290QUFBaEN5QUNRWHRxTFFBQUlRMGdFaUVQQTBBZ0FTQUNMUUFBSWdvZ0RTQUFJQXRxSWd4cklBTWdCV3BCRkd4cUlBeEJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQUFnQVNBQ0xRQUJJZ3dnQ3lBQUlBTnFRUlJzYWlBRklBcHFJZ3RySUF0QkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBRWdBU0FDTFFBQ0loQWdCU0FBSUFwcVFSUnNhaUFESUF4cUlnVnJJQVZCQW5ScmFrRVFha0VGZFVHd0xtb3RBQUE2QUFJZ0FTQUNMUUFESWc0Z0F5QUtJQXhxUVJSc2FpQUFJQkJxSWdOcklBTkJBblJyYWtFUWFrRUZkVUd3TG1vdEFBQTZBQU1nQVVFRWFpRUJJQUpCQkdvaEFpQUFJUTBnQ2lFTElBd2hCU0FRSVFNZ0RpRUFJQTlCZjJvaUR3MEFDeUFCSUJScUlRRWdBaUFWYWlFQ0lBUkJmMm9pQkEwQUN3d0JDeUFIUVg5cUlCUnNJQVpySUFGcVFSQnFJUUVMSUFkQkFuWWlCRVVOQUVIQUFDQUdheUVRSUFsQkFYUWhDaUFKUVFKMElBWnJJUXRCQUNBSmF5SU1RUUYwSVJJZ0FTQUhRUVIwYXlFQ0lBa2dFMm9nQ0VFQmNXcEJBbW9pQUNBSlFRVnNhaUVCQTBBZ0JpSURCRUFEUUNBQ0lBQWdDbW90QUFBaUJTQUJJQXBxTFFBQUlBRWdDV290QUFBaURpQUJJQkpxTFFBQUlnZHFJZ2hySUFoQkFuUnJhaUFCTFFBQUlnMGdBU0FNYWkwQUFDSUlha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQUl0QURCcVFRRnFRUUYyT2dBd0lBSWdBQ0FKYWkwQUFDSVBJQTRnQnlBSWFrRVViR29nQlNBTmFpSU9heUFPUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFDQnFRUUZxUVFGMk9nQWdJQUlnQUMwQUFDSU9JQTBnQlNBSGFrRVViR29nQ0NBUGFpSU5heUFOUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBSUFJdEFCQnFRUUZxUVFGMk9nQVFJQUlnQUNBTWFpMEFBQ0FJSUFVZ0QycEJGR3hxSUFjZ0Rtb2lCV3NnQlVFQ2RHdHFRUkJxUVFWMVFiQXVhaTBBQUNBQ0xRQUFha0VCYWtFQmRqb0FBQ0FBUVFGcUlRQWdBa0VCYWlFQ0lBRkJBV29oQVNBRFFYOXFJZ01OQUFzTElBSWdFR29oQWlBQklBdHFJUUVnQUNBTGFpRUFJQVJCZjJvaUJBMEFDd3NnRVVIQUEyb2tBQXUxQlFFRWZ5QUFLQUlVSVFNZ0FDZ0NFQ0VFSUFBb0FnUWhCU0FBS0FJTUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFGUVFSMElnQnFJZ0lnQVNrQ0VEY0NBQ0FDSUFFcEFoZzNBZ2dnQUNBQ2FpSUNJQUVwQWlBM0FnQWdBaUFCS1FJb053SUlJQUFnQW1vaUFpQUJLUUl3TndJQUlBSWdBU2tDT0RjQ0NDQUFJQUpxSWdJZ0FTa0NRRGNDQUNBQ0lBRXBBa2czQWdnZ0FDQUNhaUlDSUFFcEFsQTNBZ0FnQWlBQktRSllOd0lJSUFBZ0Ftb2lBaUFCS1FKZ053SUFJQUlnQVNrQ2FEY0NDQ0FBSUFKcUlnSWdBU2tDY0RjQ0FDQUNJQUVwQW5nM0FnZ2dBQ0FDYWlJQ0lBRXBBb0FCTndJQUlBSWdBU2tDaUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcEFCTndJQUlBSWdBU2tDbUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBcUFCTndJQUlBSWdBU2tDcUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBckFCTndJQUlBSWdBU2tDdUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBc0FCTndJQUlBSWdBU2tDeUFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdEFCTndJQUlBSWdBU2tDMkFFM0FnZ2dBQ0FDYWlJQ0lBRXBBdUFCTndJQUlBSWdBU2tDNkFFM0FnZ2dBQ0FDYWlJQUlBRXBBdkFCTndJQUlBQWdBU2tDK0FFM0FnZ2dCQ0FCS1FLQUFqY0NBQ0FFSUFWQkEzUWlBR29pQkNBQktRS0lBamNDQUNBQUlBUnFJZ1FnQVNrQ2tBSTNBZ0FnQUNBRWFpSUVJQUVwQXBnQ053SUFJQUFnQkdvaUJDQUJLUUtnQWpjQ0FDQUFJQVJxSWdRZ0FTa0NxQUkzQWdBZ0FDQUVhaUlFSUFFcEFyQUNOd0lBSUFBZ0JHb2dBU2tDdUFJM0FnQWdBeUFCS1FMQUFqY0NBQ0FBSUFOcUlnTWdBU2tDeUFJM0FnQWdBQ0FEYWlJRElBRXBBdEFDTndJQUlBQWdBMm9pQXlBQktRTFlBamNDQUNBQUlBTnFJZ01nQVNrQzRBSTNBZ0FnQUNBRGFpSURJQUVwQXVnQ053SUFJQUFnQTJvaUF5QUJLUUx3QWpjQ0FDQUFJQU5xSUFFcEF2Z0NOd0lBQytnQ0FRVi9Ba0FnQUNBQkVBSWlBdzBBUVFFaEF5QUJJQUVvQWdCQkFXb2lBallDQUNBQ1FTQkxEUUFnQUVFRUVBTWlBa0YvUmcwQUlBRWdBallDQkNBQVFRUVFBeUlDUVg5R0RRQWdBU0FDTmdJSUlBRW9BZ0FFUUFOQUlBQWdBU0FGUVFKMGFpSUNJZ1JCREdvUUFpSUREUUpCQVNFRElBUW9BZ3dpQmtGL1JnMENJQVFnQmtFQmFpSUROZ0lNSUFRZ0F5QUJLQUlFUVFacWREWUNEQ0FBSUFKQmpBRnFFQUlpQXcwQ1FRRWhBeUFDS0FLTUFTSUVRWDlHRFFJZ0FpQUVRUUZxSWdRMkFvd0JJQUlnQkNBQktBSUlRUVJxZERZQ2pBRWdBRUVCRUFNaUJFRi9SZzBDSUFJZ0JFRUJSallDakFJZ0JVRUJhaUlGSUFFb0FnQkpEUUFMQ3lBQVFRVVFBeUlDUVg5R0RRQWdBU0FDUVFGcU5nS01BeUFBUVFVUUF5SUNRWDlHRFFBZ0FTQUNRUUZxTmdLUUF5QUFRUVVRQXlJQ1FYOUdEUUFnQVNBQ1FRRnFOZ0tVQXlBQVFRVVFBeUlBUVg5R0RRQWdBU0FBTmdLWUEwRUFJUU1MSUFNTFd3RURmeUFBSUFBb0FnQWlCQ0FCSUFBb0FnUWlBbkFpQTBFRWRHb2dBU0FEYXlJQlFRaDBhallDRENBQUlBUWdBaUFBS0FJSWJDSUNRUWgwYWlBQlFRWjBhaUFEUVFOMGFpSUJOZ0lRSUFBZ0FTQUNRUVowYWpZQ0ZBdFZBUUovSUFFZ0FrRUJhaUlESUFNZ0FVa2JJUU1nQUNBQ1FRSjBhaWdDQUNFRUEwQUNRQ0FDUVFGcUlnSWdBVThFUUNBRElRSU1BUXNnQUNBQ1FRSjBhaWdDQUNBRVJ3MEJDd3RCQUNBQ0lBRWdBa1liQ3ljQUlBQkJDQ0FBS0FJSUlnQnJFQU5CZjBZRVFBOExRUUFnQUd0QkFuUkJ6RDlxS0FJQUdndDZBUUovSXdCQklHc2lBaVFBSUFJZ0FDZ0NFRFlDRUNBQ0lBQXBBZ2czQXdnZ0FpQUFLUUlBTndNQUFrQWdBaUFDUVJ4cUVBSWlBQTBBSUFJZ0FrRWNhaEFDSWdBTkFDQUNJQUpCSEdvUUFpSUFEUUJCQVNFQUlBSW9BaHdpQTBIL0FVc05BQ0FCSUFNMkFnQkJBQ0VBQ3lBQ1FTQnFKQUFnQUF2bkJ3RVNmeU1BUVlBT2F5SU1KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQTBFQVNBMEFJQUlnQ1dvZ0JFc05BQ0FESUFkcVFRVnFJQVZMRFFBZ0F5RUtEQUVMSUFBZ0RFSEFDbW9nQWlBRElBUWdCU0FKSUFkQkJXb2dDUkFNSUF4QndBcHFJUUFnQ1NFRVFRQWhBZ3NDUUNBSFFRSjJJaFJGRFFBZ0NVVU5BQ0FFUVFGMElSVkJBQ0FFYXlJV1FRRjBJUm9nQkVFQ2RDQUdhMEY3YWlFWElBQWdCQ0FLYkNBQ2Ftb2dCR29pQUNBRVFRVnNhaUVDSUF3Z0NVRUNkQ0lRYWlFRElBbEJBM1FoRFVFQUlBbHJRUUowSVE0Z0NVRURiRUVDZENFUEEwQWdDU0VGQTBBZ0F5QU5haUFBSUJWcUxRQUFJaEVnQWlBVmFpMEFBQ0FDSUFScUxRQUFJZ3NnQWlBYWFpMEFBQ0lTYWlJS2F5QUtRUUowYTJvZ0FpMEFBQ0lZSUFJZ0Ztb3RBQUFpRTJwQkZHeHFOZ0lBSUFNZ0VHb2dBQ0FFYWkwQUFDSVpJQXNnRWlBVGFrRVViR29nRVNBWWFpSUtheUFLUVFKMGEybzJBZ0FnQXlBQUxRQUFJZ3NnR0NBUklCSnFRUlJzYWlBVElCbHFJZ3BySUFwQkFuUnJhallDQUNBRElBNXFJQUFnRm1vdEFBQWdFeUFSSUJscVFSUnNhaUFMSUJKcUlncHJJQXBCQW5ScmFqWUNBQ0FBUVFGcUlRQWdBMEVFYWlFRElBSkJBV29oQWlBRlFYOXFJZ1VOQUFzZ0FpQVhhaUVDSUFBZ0Yyb2hBQ0FESUE5cUlRTWdGRUYvYWlJVURRQUxDeUFIQkVCQkVDQUdheUVRSUFaQkFuWWhDaUFNSUFoQkFuUnFRUWhxSVFBZ0RFRVVhaUVDQTBBZ0NnUkFJQUpCYkdvb0FnQWhCQ0FDUVhCcUtBSUFJUThnQWtGMGFpZ0NBQ0VOSUFKQmVHb29BZ0FoQlNBQ1FYeHFLQUlBSVFNZ0NpRUpBMEFnQVNBQ0tBSUFJZzRnQkNBRElBOXFJZ1JySUFVZ0RXcEJGR3hxSUFSQkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQUlBQW9BZ0JCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlvQWdRaUN5QVBJQU1nQldwQkZHeHFJQTBnRG1vaUJHc2dCRUVDZEd0cVFZQUVha0VLZFVHd0xtb3RBQUFnQUNnQ0JFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FCSUFFZ0FpZ0NDQ0lJSUEwZ0F5QU9ha0VVYkdvZ0JTQUxhaUlFYXlBRVFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlJUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBSWdBU0FDS0FJTUlnWWdCU0FMSUE1cVFSUnNhaUFESUFocUlnUnJJQVJCQW5ScmFrR0FCR3BCQ25WQnNDNXFMUUFBSUFBb0FneEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQXlBQlFRUnFJUUVnQUVFUWFpRUFJQUpCRUdvaEFpQURJUVFnRGlFUElBc2hEU0FJSVFVZ0JpRURJQWxCZjJvaUNRMEFDd3NnQVNBUWFpRUJJQUJCRkdvaEFDQUNRUlJxSVFJZ0IwRi9haUlIRFFBTEN5QU1RWUFPYWlRQUM5RUhBUXgvSXdCQmdBNXJJZzhrQUNBR1FRVnFJUWtDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSmFpQUVTdzBBSUFkQkJXb2lEaUFEYWlBRlN3MEFJQVFoQ1NBRElRb01BUXNnQUNBUFFjQUthaUFDSUFNZ0JDQUZJQWtnQjBFRmFpSU9JQWtRRENBUFFjQUthaUVBUVFBaEFnc0NRQ0FPUlEwQUlBWkJBbllpRWtVTkFDQUpJQVpySVJNZ0FDQUpJQXBzSUFKcWFrRUZhaUVDSUE4aEFBTkFJQUpCZjJvdEFBQWhDU0FDUVg1cUxRQUFJUU1nQWtGOWFpMEFBQ0VGSUFKQmZHb3RBQUFoQ2lBQ1FYdHFMUUFBSVF3Z0VpRU5BMEFnQUNBQ0xRQUFJZ1FnRENBSklBcHFJZ3RySUFNZ0JXcEJGR3hxSUF0QkFuUnJhallDQUNBQUlBSXRBQUVpQ3lBRElBbHFRUlJzSUFwcUlBUWdCV29pQ21zZ0NrRUNkR3RxTmdJRUlBQWdBaTBBQWlJUUlBUWdDV3BCRkd3Z0JXb2dBeUFMYWlJRmF5QUZRUUowYTJvMkFnZ2dBQ0FDTFFBREloUWdCQ0FMYWtFVWJDQURhaUFKSUJCcUlnTnJJQU5CQW5ScmFqWUNEQ0FBUVJCcUlRQWdBa0VFYWlFQ0lBa2hEQ0FFSVFvZ0N5RUZJQkFoQXlBVUlRa2dEVUYvYWlJTkRRQUxJQUlnRTJvaEFpQU9RWDlxSWc0TkFBc0xJQWRCQW5ZaUJ3UkFRY0FBSUFacklSUWdEeUFHUVFKMElnUnFJZ2tnQmtFVWJHb2hBaUFKSUFoQkFtb2dCbXhCQW5ScUlRQWdCa0VEYkVFQ2RDRUZRUUFnQm1zaURrRURkQ0VUSUFaQkEzUWhDQU5BSUFZaEF5QUdCRUFEUUNBQklBZ2dDV29vQWdBaUNpQUNJQWhxS0FJQUlBSWdCR29vQWdBaUVTQUNJQk5xS0FJQUlndHFJZ3hySUF4QkFuUnJhaUFDS0FJQUlnMGdBaUFPUVFKMEloQnFLQUlBSWd4cVFSUnNha0dBQkdwQkNuVkJzQzVxTFFBQUlBQWdDR29vQWdCQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FNQ0FCSUFRZ0NXb29BZ0FpRWlBUklBc2dER3BCRkd4cUlBb2dEV29pRVdzZ0VVRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQWdBQ0FFYWlnQ0FFRVFha0VGZFVHd0xtb3RBQUJxUVFGcVFRRjJPZ0FnSUFFZ0NTZ0NBQ0lSSUEwZ0NpQUxha0VVYkdvZ0RDQVNhaUlOYXlBTlFRSjBhMnBCZ0FScVFRcDFRYkF1YWkwQUFDQUFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFCQWdBU0FKSUJCcUtBSUFJQXdnQ2lBU2FrRVViR29nQ3lBUmFpSUtheUFLUVFKMGEycEJnQVJxUVFwMVFiQXVhaTBBQUNBQUlCQnFLQUlBUVJCcVFRVjFRYkF1YWkwQUFHcEJBV3BCQVhZNkFBQWdBRUVFYWlFQUlBbEJCR29oQ1NBQlFRRnFJUUVnQWtFRWFpRUNJQU5CZjJvaUF3MEFDd3NnQVNBVWFpRUJJQUFnQldvaEFDQUNJQVZxSVFJZ0JTQUphaUVKSUFkQmYyb2lCdzBBQ3dzZ0QwR0FEbW9rQUF1MEJnRUpmeU1BUWNBRGF5SU5KQUFnQmtFRmFpRUpBa0FDUUNBQ1FRQklEUUFnQXlBSGFpQUZTdzBBSUFOQkFFZ05BQ0FDSUFscUlBUkxEUUFnQkNFSklBTWhDZ3dCQ3lBQUlBMGdBaUFESUFRZ0JTQUpJQWNnQ1JBTUlBMGhBRUVBSVFJTElBY0VRRUVRSUFacklSQWdDU0FHYXlFUklBWkJBblloRHlBQUlBa2dDbXdnQW1wcVFRVnFJUWtEUUFKQUlBOUZEUUFnQ1VGL2FpMEFBQ0VDSUFsQmZtb3RBQUFoQmlBSlFYMXFMUUFBSVFNZ0NVRjhhaTBBQUNFRklBbEJlMm90QUFBaENpQVBJZ0FoQ3lBSUJFQURRQ0FCSUFZZ0NTMEFBQ0lFSUFvZ0FpQUZhaUlLYXlBRElBWnFRUlJzYWlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFDQUJJQUlnQ1MwQUFTSUxJQVVnQWlBR2FrRVViR29nQXlBRWFpSUZheUFGUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQVNBQklBUWdDUzBBQWlJTUlBTWdBaUFFYWtFVWJHb2dCaUFMYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBaUFCSUFzZ0NTMEFBeUlPSUFZZ0JDQUxha0VVYkdvZ0FpQU1haUlEYXlBRFFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUF5QUJRUVJxSVFFZ0NVRUVhaUVKSUFJaENpQUVJUVVnQ3lFRElBd2hCaUFPSVFJZ0FFRi9haUlBRFFBTUFnQUxBQXNEUUNBQklBTWdDUzBBQUNJQUlBb2dBaUFGYWlJRWF5QURJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBQ0FCSUFZZ0NTMEFBU0lFSUFVZ0FpQUdha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQWFrRUJha0VCZGpvQUFTQUJJQUlnQ1MwQUFpSU1JQU1nQUNBQ2FrRVViR29nQkNBR2FpSURheUFEUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBYWtFQmFrRUJkam9BQWlBQklBQWdDUzBBQXlJT0lBWWdBQ0FFYWtFVWJHb2dBaUFNYWlJRGF5QURRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFha0VCYWtFQmRqb0FBeUFCUVFScUlRRWdDVUVFYWlFSklBSWhDaUFBSVFVZ0JDRURJQXdoQmlBT0lRSWdDMEYvYWlJTERRQUxDeUFCSUJCcUlRRWdDU0FSYWlFSklBZEJmMm9pQncwQUN3c2dEVUhBQTJva0FBdkdCQUVMZnlNQVFjQURheUlOSkFBQ1FBSkFJQUpCQUVnTkFDQURRUUJJRFFBZ0FpQUdhaUFFU3cwQUlBTWdCMnBCQldvZ0JVc05BQ0FESVFrTUFRc2dBQ0FOSUFJZ0F5QUVJQVVnQmlBSFFRVnFJQVlRRENBTklRQWdCaUVFUVFBaEFnc2dCMEVDZGlJUUJFQkJ3QUFnQm1zaEVpQUVRUUYwSVFVZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVRJQUFnQkNBSmJDQUNhbW9nQkdvaUFDQUVRUVZzYWlFQ0lBQWdCQ0FJUVFKcWJHb2hCd05BSUFZaEF5QUdCRUFEUUNBQklBQWdCV290QUFBaUNDQUNJQVZxTFFBQUlBSWdCR290QUFBaUNpQUNJQk5xTFFBQUlnbHFJZ3RySUF0QkFuUnJhaUFDTFFBQUlnd2dBaUFQYWkwQUFDSUxha0VVYkdwQkVHcEJCWFZCc0M1cUxRQUFJQVVnQjJvdEFBQnFRUUZxUVFGMk9nQXdJQUVnQUNBRWFpMEFBQ0lSSUFvZ0NTQUxha0VVYkdvZ0NDQU1haUlLYXlBS1FRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQUlBUWdCMm90QUFCcVFRRnFRUUYyT2dBZ0lBRWdBQzBBQUNJS0lBd2dDQ0FKYWtFVWJHb2dDeUFSYWlJTWF5QU1RUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFJQWN0QUFCcVFRRnFRUUYyT2dBUUlBRWdBQ0FQYWkwQUFDQUxJQWdnRVdwQkZHeHFJQWtnQ21vaUNHc2dDRUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBQ0FISUE5cUxRQUFha0VCYWtFQmRqb0FBQ0FIUVFGcUlRY2dBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnFJUUlnQTBGL2FpSUREUUFMQ3lBQklCSnFJUUVnQnlBT2FpRUhJQUlnRG1vaEFpQUFJQTVxSVFBZ0VFRi9haUlRRFFBTEN5QU5RY0FEYWlRQUM0OEhBUXgvSUFFb0FnZ2hDeUFCS0FJRUlRWUNRQUpBQWtBZ0FrRUZTdzBBSUFKQkFXc09CQUFBQUFBQkN5QUFLQUs0R2cwQURBRUxJQUJCeEFscUlRUURRQ0FFSUFNUUZDRUhJQU5CRGtzTkFTQURRUUZxSVFNZ0IwVU5BQXNMQWtBQ1FBSkFBa0FnQUNnQ21Ba2lDQVJBSUFBb0Fyd0pJUXBCQUNFRFFRQWhCQU5BSUFvZ0EwSFlBV3hxS0FMRUFVVUVRRUVBSUFSQkFXb2lCQ0FFSUFaR0lnVWJJUVFnQlNBSmFpRUpJQU5CQVdvaUF5QUlTUTBCQ3dzZ0F5QUlSdzBCQ3dKQUFrQWdBa0YrYWlJQ1FRVkxEUUFDUUNBQ1FRRnJEZ1FCQVFFQkFBc2dCMFVOQVNBQUtBSzRHa1VOQVF3REN5QUhEUUlMSUFFb0FnQkJnQUVnQmlBTGJFR0FBMndRQnhvTUFnc2dBQ2dDdkFrZ0JpQUpiRUhZQVd4cUlRZ2dCQVJBSUFRaEF3TkFJQWdnQTBGL2FpSURRZGdCYkdvaUNpQUJJQWtnQXlBQ0lBY1FGaUFLUVFFMkFzUUJJQUFnQUNnQ3RBbEJBV28yQXJRSklBTU5BQXNMSUFSQkFXb2lBeUFHU1FSQUEwQWdDQ0FEUWRnQmJHb2lCQ2dDeEFGRkJFQWdCQ0FCSUFrZ0F5QUNJQWNRRmlBRVFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpDeUFEUVFGcUlnTWdCa2NOQUFzTEFrQWdDVVVOQUNBR1JRMEFRUUFoQlNBSlFYOXFJZ3dnQm13aERTQU1SUVJBQTBBZ0FDZ0N2QWtnRFVIWUFXeHFJQVZCMkFGc2FpSUVJQUZCQUNBRklBSWdCeEFXSUFSQkFUWUN4QUVnQUNBQUtBSzBDVUVCYWpZQ3RBa2dCVUVCYWlJRklBWkhEUUFNQWdBTEFBc2dDVUYrYWlFSVFRQWdCbXRCMkFGc0lRNERRQ0FBS0FLOENTQU5RZGdCYkdvZ0JVSFlBV3hxSWdNZ0FTQU1JQVVnQWlBSEVCWWdBMEVCTmdMRUFTQUFJQUFvQXJRSlFRRnFOZ0swQ1NBSUlRUURRQ0FESUE1cUlnTWdBU0FFSWdvZ0JTQUNJQWNRRmlBRFFRRTJBc1FCSUFBZ0FDZ0N0QWxCQVdvMkFyUUpJQVJCZjJvaEJDQUtEUUFMSUFWQkFXb2lCU0FHUncwQUN3c2dDVUVCYWlJRklBdFBEUUlnQmtVTkFnTkFJQUFvQXJ3SklBVWdCbXhCMkFGc2FpRUlRUUFoQXdOQUlBZ2dBMEhZQVd4cUlnUW9Bc1FCUlFSQUlBUWdBU0FGSUFNZ0FpQUhFQllnQkVFQk5nTEVBU0FBSUFBb0FyUUpRUUZxTmdLMENRc2dBMEVCYWlJRElBWkhEUUFMSUFWQkFXb2lCU0FMUncwQUN3d0NDeUFCS0FJQUlBY2dCaUFMYkVHQUEyd1FGUm9MSUFBZ0FDZ0NtQWtpQVRZQ3RBa2dBVVVOQUNBQUtBSzhDU0VBUVFBaEF3TkFJQUFnQTBIWUFXeHFRUUUyQWdnZ0EwRUJhaUlESUFGSERRQUxDd3MyQVFKL0lBQW9BaWdpQWdSQUEwQWdBQ2dDQkNBQlFRSjBhaUFBS0FJQUlBRkJLR3hxTmdJQUlBRkJBV29pQVNBQ1J3MEFDd3NMOXdRQ0RIOEJma0VISVFVakFFRWdheUlJSVF3RFFDQUZJQUZKQkVBZ0FFRUFJQVZyUVNoc2FpRUtJQVVoQmdOQUlBQWdCa0VvYkdvaUFpZ0NDQ0VKSUFJcEFnQWhEaUFJSUFJcEFndzNBeGdnQWlnQ0dDRU5JQUlvQWhRaEN5QU1JQUlvQWlRMkFoQWdDQ0FDS1FJY053TUlBa0FnQmlJRElBVkpEUUFDUUNBTFJRUkFBMEFnQ2lBRFFTaHNJZ0pxSWdRb0FoUU5BaUFOUlEwQ0lBUW9BaGdOQWlBQUlBSnFJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3lBTFFYOXFRUUZOQkVBRFFBSi9Ba0FnQ2lBRFFTaHNJZ0pxSWdRb0FoUWlCMFVOQUNBSFFYOXFRUUZMRFFBZ0JDZ0NDQ0lISUFsS0RRUWdBQ0FDYWlJRUlBY2dDVWdOQVJvZ0JDRUNEQVVMSUFBZ0Ftb0xJZ1FnQUNBRElBVnJJZ05CS0d4cUlnSXBBZ0EzQWdBZ0JDQUNLUUlnTndJZ0lBUWdBaWtDR0RjQ0dDQUVJQUlwQWhBM0FoQWdCQ0FDS1FJSU53SUlJQU1nQlU4TkFBd0RBQXNBQ3dOQUlBb2dBMEVvYkNJQ2FpSUVLQUlVSWdjRVFDQUhRWDlxUVFKSkRRSWdCQ2dDQ0NBSlRBMENDeUFBSUFKcUlnUWdBQ0FESUFWcklnTkJLR3hxSWdJcEFnQTNBZ0FnQkNBQ0tRSWdOd0lnSUFRZ0Fpa0NHRGNDR0NBRUlBSXBBaEEzQWhBZ0JDQUNLUUlJTndJSUlBTWdCVThOQUFzTUFRc2dBQ0FEUVNoc2FpRUNDeUFDSUE0M0FnQWdBQ0FEUVNoc2FpSURJQWsyQWdnZ0NDa0RHQ0VPSUFNZ0RUWUNHQ0FESUFzMkFoUWdBeUFPTndJTUlBTWdDQ2tEQ0RjQ0hDQURJQXdvQWhBMkFpUWdCa0VCYWlJR0lBRkhEUUFMQ3lBRlFRRjJJZ1VOQUFzTHJRVUJBWDhDUUNBQUtBSUFJZ0VvQWhSRkRRQWdBVUVBTmdJVUlBRW9BaGdOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ1BFVU5BQ0FCUVFBMkFqd2dBVUZBYXlnQ0FBMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUprUlEwQUlBRkJBRFlDWkNBQktBSm9EUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQW93QlJRMEFJQUZCQURZQ2pBRWdBU2dDa0FFTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0N0QUZGRFFBZ0FVRUFOZ0swQVNBQktBSzRBUTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMY0FVVU5BQ0FCUVFBMkF0d0JJQUVvQXVBQkRRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9Bb1FDUlEwQUlBRkJBRFlDaEFJZ0FTZ0NpQUlOQUNBQUlBQW9BaXhCZjJvMkFpd0xBa0FnQVNnQ3JBSkZEUUFnQVVFQU5nS3NBaUFCS0FLd0FnMEFJQUFnQUNnQ0xFRi9hallDTEFzQ1FDQUJLQUxVQWtVTkFDQUJRUUEyQXRRQ0lBRW9BdGdDRFFBZ0FDQUFLQUlzUVg5cU5nSXNDd0pBSUFFb0F2d0NSUTBBSUFGQkFEWUMvQUlnQVNnQ2dBTU5BQ0FBSUFBb0FpeEJmMm8yQWl3TEFrQWdBU2dDcEFORkRRQWdBVUVBTmdLa0F5QUJLQUtvQXcwQUlBQWdBQ2dDTEVGL2FqWUNMQXNDUUNBQktBTE1BMFVOQUNBQlFRQTJBc3dESUFFb0F0QUREUUFnQUNBQUtBSXNRWDlxTmdJc0N3SkFJQUVvQXZRRFJRMEFJQUZCQURZQzlBTWdBU2dDK0FNTkFDQUFJQUFvQWl4QmYybzJBaXdMQWtBZ0FTZ0NuQVJGRFFBZ0FVRUFOZ0tjQkNBQktBS2dCQTBBSUFBZ0FDZ0NMRUYvYWpZQ0xBc0NRQ0FCS0FMRUJFVU5BQ0FCUVFBMkFzUUVJQUVvQXNnRURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3dKQUlBRW9BdXdFUlEwQUlBRkJBRFlDN0FRZ0FTZ0M4QVFOQUNBQUlBQW9BaXhCZjJvMkFpd0xBMEFnQUJCZVJRMEFDeUFBUVFBMkFqQWdBRUwvL3dNM0FpUUwzUTRCQ1g4Z0FpZ0NBQ0FBS0FJSUlnSW9BZ0JHQkVBZ0FFRUFOZ0kwSUFBb0FqZ2lDMFVoRFFKQUlBRkZCRUFnQWlBRE5nSU1JQUpCQURZQ0ZDQUNJQTAyQWhnZ0FpQUVOZ0lRSUFJZ0F6WUNDQ0FMRFFFZ0FDQUFLQUlzUVFGcU5nSXNEQUVMSUFVRVFDQUFRZ0EzQWhBZ0FCQW9Ba0FnQVNnQ0FFVUVRQ0FBS0FJNFJRMEJDeUFBUWdBM0FoQUxJQUFvQWdnaUFrRURRUUlnQVNnQ0JDSUJHellDRkNBQVFRQkIvLzhESUFFYk5nSWtJQUlnRFRZQ0dDQUNRUUEyQWhBZ0FrSUFOd0lJSUFCQ2dZQ0FnQkEzQWlnTUFRc0NRQUpBQWtBZ0FTZ0NDQVJBUVFBaEN3TkFJQUVnQzBFVWJHb2lDQ2dDRENJQ1FRWkxEUUlDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUZyRGdZQUFRSURCQVVKQ3lBQUtBSVlJZ2xGRFFnZ0F5QUlLQUlRYXlFTUlBQW9BZ0FoQ2tFQUlRZ0RRQUpBSUFvZ0NFRW9iR29pQWlnQ0ZFRi9ha0VCVFFSQUlBSW9BZ2dnREVZTkFRc2dDRUVCYWlJSUlBbEhEUUVNQ2dzTElBaEJBRWdOQ0NBQ1FRQTJBaFFnQUNBQUtBSW9RWDlxTmdJb0lBSW9BaGdOQlNBQUlBQW9BaXhCZjJvMkFpd2dDMEVCYWlFTERBWUxJQUFvQWhnaUNVVU5CeUFJS0FJVUlRd2dBQ2dDQUNFS1FRQWhDQU5BQWtBZ0NpQUlRU2hzYWlJQ0tBSVVRUU5HQkVBZ0FpZ0NDQ0FNUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdKQ3dzZ0NFRUFTQTBISUFKQkFEWUNGQ0FBSUFBb0FpaEJmMm8yQWlnZ0FpZ0NHQTBFSUFBZ0FDZ0NMRUYvYWpZQ0xDQUxRUUZxSVFzTUJRc2dBQ2dDSkNJQ1FmLy9BMFlOQmlBQ0lBZ29BaGdpREVrTkJpQUFLQUlZSWdsRkRRWWdDQ2dDRUNFT0lBQW9BZ0FoQ2tFQUlRSURRQUpBQWtBZ0NpQUNRU2hzYWlJSUtBSVVRUU5IRFFBZ0NDZ0NDQ0FNUncwQUlBaEJBRFlDRkNBQUlBQW9BaWhCZjJvMkFpZ2dDQ2dDR0EwQklBQWdBQ2dDTEVGL2FqWUNMQXdCQ3lBQ1FRRnFJZ0lnQ1VjTkFRc0xJQWxCQVNBSlFRRkxHeUVKSUFNZ0Rtc2hEa0VBSVFnRFFBSkFJQW9nQ0VFb2JHb2lBaWdDRkNJUFFYOXFRUUZOQkVBZ0FpZ0NDQ0FPUmcwQkN5QUlRUUZxSWdnZ0NVY05BUXdJQ3dzZ0NFRUFTQTBHSUE5QkFra05CaUFDUVFNMkFoUWdBaUFNTmdJSUlBdEJBV29oQ3d3RUN5QUFJQWdvQWh3aUNUWUNKQ0FBS0FJWUlneEZEUUlnQUNnQ0FDRUtRUUFoQWlBSlFmLy9BMFlFUUFOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDRUVBTmdJVUlBQWdBQ2dDS0VGL2FqWUNLQ0FJS0FJWURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQ1FRRnFJZ0lnREVjTkFBd0VBQXNBQ3dOQUFrQWdDaUFDUVNoc2FpSUlLQUlVUVFOSERRQWdDQ2dDQ0NBSlRRMEFJQWhCQURZQ0ZDQUFJQUFvQWloQmYybzJBaWdnQ0NnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FrRUJhaUlDSUF4SERRQUxEQUlMSUFBUUtDQUFRUUUyQWpSQkFDRURJQXRCQVdvaEN3d0NDeUFBS0FJa0lnSkIvLzhEUmcwRElBSWdDQ2dDR0NJTVNRMERJQUFvQWhnaUNrVU5BeUFBS0FJQUlRaEJBQ0VDQWtBRFFBSkFJQWdnQWtFb2JHb2lDU2dDRkVFRFJ3MEFJQWtvQWdnZ0RFY05BQ0FKUVFBMkFoUWdBQ0FBS0FJb1FYOXFJZ2cyQWlnZ0NTZ0NHQTBDSUFBZ0FDZ0NMRUYvYWpZQ0xBd0NDeUFDUVFGcUlnSWdDa2NOQUFzZ0FDZ0NLQ0VJQ3lBSUlBcFBEUU1nQUNnQ0NDSUNRUU0yQWhRZ0FpQUVOZ0lRSUFJZ0REWUNDQ0FDSUFNMkFnd2dBaUFBS0FJNFJUWUNHRUVCSVJBZ0FDQUlRUUZxTmdJb0lBQWdBQ2dDTEVFQmFqWUNMQXNnQzBFQmFpRUxEQUFBQ3dBTFFRQWhBaUFBS0FJb0lna2dBQ2dDR0NJTFNRMEJJQWxGQkVCQkFDRUpEQUlMSUFBb0FnQWhERUYvSVFFRFFDQU1JQUpCS0d4cUlnb29BaFJCZjJwQkFVMEVRQ0FLS0FJSUlnb2dDQ0FCUVg5R0lBb2dDRWh5SWdvYklRZ2dBaUFCSUFvYklRRUxJQUpCQVdvaUFpQUpSdzBBQ3lBQlFRQklEUUVnRENBQlFTaHNhaUlCUVFBMkFoUWdBQ0FKUVg5cUlnazJBaWdnQVNnQ0dBMEJJQUFnQUNnQ0xFRi9hallDTEF3QkN5QVFEUUVnQUNnQ0dDRUxJQUFvQWlnaENRc2dDU0FMVHcwQklBQW9BZ2dpQVNBTk5nSVlJQUZCQWpZQ0ZDQUJJQVEyQWhBZ0FTQUROZ0lJSUFFZ0F6WUNEQ0FBSUFsQkFXbzJBaWdnQUNBQUtBSXNRUUZxTmdJc0N3c2dBQ2dDQ0NJQklBYzJBaUFnQVNBR05nSWNJQUVnQlRZQ0pBSkFJQUFvQWpoRkJFQWdBQ2dDTENJSklBQW9BaHdpQTAwTkFTQUFLQUlBSVFRRFFFSC8vLy8vQnlFRlFRQWhCa0VBSVFJRFFDQUVJQUpCS0d4cUlnRW9BaGdFUUNBQklBWWdBU2dDRUNJQklBVklJZ2NiSVFZZ0FTQUZJQWNiSVFVTElBSkJBV29pQWlBRFRRMEFDd0pBSUFaRkRRQWdBQ2dDRENBQUtBSVFJZ0pCQkhScUlnRWdCaWdDQURZQ0FDQUJJQVlvQWlRMkFnd2dBU0FHS0FJY05nSUVJQUVnQmlnQ0lEWUNDQ0FBSUFKQkFXbzJBaEFnQmtFQU5nSVlJQVlvQWhRTkFDQUFJQWxCZjJvaUNUWUNMQXNnQ1NBRFN3MEFDd3dCQ3lBQktBSUFJUUlnQUNnQ0RDQUFLQUlRSWdOQkJIUnFJZ0VnQlRZQ0RDQUJJQUkyQWdBZ0FTQUhOZ0lJSUFFZ0JqWUNCQ0FBSUFOQkFXbzJBaEFnQUNnQ0hDRURDeUFBS0FJQUlBTkJBV29RSndzTDFBc0NBbjhCZmlNQVFaQUJheUlFSkFBZ0JFRUFOZ0lNQWtBQ1FBSkFJQUFvQXBBYVJRMEFJQUFvQXBRYUlBRkhEUUFnQkNBQVFhUWFhaWtDQURjREdDQUFLUUtjR2lFR0lBUkJBRFlDR0NBRUlBWTNBeEFnQkVFQU5nSWdJQVFnQmo0Q0ZDQURJQUFvQXBnYU5nSUFEQUVMUVFNaEJTQUJJQUlnQkVFUWFpQURFR01OQVNBQUlBUXBBeEEzQXB3YUlBQkJyQnBxSUFRb0FpQTJBZ0FnQUVHa0dtb2dCQ2tER0RjQ0FDQURLQUlBSVFJZ0FDQUJOZ0tVR2lBQUlBSTJBcGdhQzBFQUlRVWdBRUVBTmdLUUdpQUVRUkJxSUFSQmlBRnFFRThFUUVFRElRVU1BUXNnQkNnQ2lBRkJmMnBCQzBzTkFDQUVRUkJxSUFSQmlBRnFJQUFnQkVFTWFoQXlJZ0VFUUVFRUlRVWdBVUh3L3dOR0RRRkJBeUVGREFFTEFrQWdCQ2dDREFSQUFrQWdBQ2dDb0FsRkRRQWdBQ2dDRUVVTkFFRURJUVVnQUNnQ3RCb05Bd0pBSUFBb0FxUUpSUVJBSUFCQnhBbHFJZ0lpQVNBQktBSUFJQUVvQWh4QktHeHFJZ0UyQWdnZ0FDQUJLQUlBTmdLNENpQUNFQ1lnQUNBQVFiZ0tha0VBRUNVTUFRc2dBQ0FBUWJnS2FpQUFRZHdLYWlnQ0FCQWxDeUFEUVFBMkFnQWdBRUVBTmdLY0NTQUFRUUUyQXBBYURBSUxJQUJCQURZQ25Ba2dBRUVBTmdLa0NRc2dCQ2dDaUFGQmYyb2lBVUVIU3cwQkFrQUNRQUpBSUFGQkFXc09Cd1FFQkFJRUFBRUNDeUFFUVJCcUlBUkJLR29RUXdSQUlBUW9BbEFRQkNBRVFRQTJBbEFnQkNnQ2ZCQUVJQVJCQURZQ2ZFRURJUVVNQkFzZ0FDQUVRU2hxRURjTUF3c2dCRUVRYWlBRVFTaHFFRXdFUUNBRUtBSThFQVFnQkVFQU5nSThJQVFvQWtBUUJDQUVRUUEyQWtBZ0JDZ0NSQkFFSUFSQkFEWUNSQ0FFS0FKVUVBUWdCRUVBTmdKVVFRTWhCUXdEQ3lBQUlBUkJLR29RTmd3Q0N5QUFLQUtjQ1EwQklBQkJBVFlDb0FrQ1FDQUFLQUtrQ1EwQUlBQkNBRGNDdEFrZ0JFRVFhaUFFUVNocUVDQWFJQUFvQWdnaEFTQUFJQVFvQWlnZ0JDZ0NpQUZCQlVZUU5TSUNCRUFnQUVLQWdvQ0FnQVEzQWdRZ0FFRUFOZ0swR2lBQVFnQTNBZ3hCQlVFRUlBSkIvLzhEUmhzaEJRd0RDeUFCSUFBb0FnaEdEUUFnQUNnQ0VDRUJJQVJCQVRZQ0NDQUFLQUlBSWdKQkgwMEVRQ0FBSUFKQkFuUnFLQUlVSVFVTElBTkJBRFlDQUNBQVFRRTJBcEFhQWtBQ1FBSkFJQVFvQW9nQlFRVkhEUUFnQkVFSWFpQUVRUkJxSUFFZ0FDZ0NEQkE0SUFRb0FnaHlEUUFnQlVVTkFDQUFRZndKYWlnQ0FBMEFJQVVvQWpRZ0FTZ0NORWNOQUNBRktBSTRJQUVvQWpoSERRQWdCU2dDV0NBQktBSllSZzBCQ3lBQVFZQUtha0VBTmdJQURBRUxJQUJCeEFscUVGa0xJQUFnQUNnQ0NEWUNBRUVDSVFVTUFnc2dBQ2dDdEJvRVFFRURJUVVNQWdzZ0JFRVFhaUFBUWJRU2FpSUNJQUFvQWhBZ0FDZ0NEQ0FFUVlnQmFoQStCRUJCQXlFRkRBSUxJQUFvQXFRSlJRUkFBa0FnQkNnQ2lBRkJCVVlOQUNBQVFjUUphaUFBUWNBU2FpZ0NBQ0FFS0FLTUFVRUFSeUFBS0FJUUtBSXdFRnBGRFFCQkF5RUZEQU1MSUFCQnhBbHFJZ0VnQVNnQ0FDQUJLQUljUVNoc2FpSUJOZ0lJSUFBZ0FTZ0NBRFlDdUFvTElBQkIyQXBxSUFKQjNBY1FGU0VCSUFCQkFUWUNwQWtnQUNBRUtRT0lBVGNDMEFvZ0FDZ0NsQWtnQUNnQ0RDQUFRWmdMYWlnQ0FDQUFLQUlRSWdJb0FqUWdBaWdDT0JBL0lBQkJ4QWxxSWdJUUppQUNJQUJCbkF0cUlBQkI1QXBxS0FJQUlBQkJoQXRxS0FJQUVGOEVRRUVESVFVTUFnc2dCRUVRYWlBQUlBQkJ1QXBxSUFFUVFRUkFJQUFnQUNnQzJBb1FRRUVESVFVTUFnc2dBQkF6UlEwQklBQkJBVFlDbkFrTElBQkJ1QXBxSWdFZ0FDZ0N2QWtRU1NBQUVEUWdBRUdFQ21vZ0FDZ0NFQ0FBUWRnS2FpQUFRZEFLYWhCTklRSUNRQ0FBS0FLa0NVVU5BQ0FBUWNRSmFpRURJQUJCMUFwcUtBSUFCRUFnQXlBQVFld01haUFCSUFCQjVBcHFLQUlBSUFJZ0FDZ0MwQXBCQlVZZ0FDZ0N1QWtnQUNnQ3RBa1FLUXdCQ3lBRFFRQWdBU0FBUWVRS2FpZ0NBQ0FDSUFBb0F0QUtRUVZHSUFBb0FyZ0pJQUFvQXJRSkVDa0xJQUJDQURjQ29BbEJBU0VGQ3lBRVFaQUJhaVFBSUFVTHFBd0JDMzhDUUNBQlFRUlBCRUJCQUNBRGF5SU5RUUYwSVFvQ1FDQUFJQU5ySWdVdEFBQWlCaUFBTFFBQUlnaHJJZ0VnQVVFZmRTSUJhaUFCY3lBQ0tBSUVJZ0ZQRFFBZ0FDQUthaTBBQUNJSElBWnJJZ1FnQkVFZmRTSUVhaUFFY3lBQ0tBSUlJZ3hQRFFBZ0FDQURhaTBBQUNJRUlBaHJJZ3NnQzBFZmRTSUxhaUFMY3lBTVR3MEFJQVVnQkNBR2FpQUhRUUYwYWtFQ2FrRUNkam9BQUNBQUlBZ2dCRUVCZEdvZ0IycEJBbXBCQW5ZNkFBQWdBaWdDQkNFQkN3SkFJQUJCQVdvaUJpQU5haUlNTFFBQUlnZ2dBQzBBQVNJSGF5SUVJQVJCSDNVaUJHb2dCSE1nQVU4TkFDQUdJQXBxTFFBQUlnUWdDR3NpQlNBRlFSOTFJZ1ZxSUFWeklBSW9BZ2dpQzA4TkFDQURJQVpxTFFBQUlnVWdCMnNpQ1NBSlFSOTFJZ2xxSUFseklBdFBEUUFnRENBRklBaHFJQVJCQVhScVFRSnFRUUoyT2dBQUlBWWdCeUFGUVFGMGFpQUVha0VDYWtFQ2Rqb0FBQ0FDS0FJRUlRRUxBa0FnQUVFQ2FpSUdJQTFxSWd3dEFBQWlDQ0FBTFFBQ0lnZHJJZ1FnQkVFZmRTSUVhaUFFY3lBQlR3MEFJQVlnQ21vdEFBQWlCQ0FJYXlJRklBVkJIM1VpQldvZ0JYTWdBaWdDQ0NJTFR3MEFJQU1nQm1vdEFBQWlCU0FIYXlJSklBbEJIM1VpQ1dvZ0NYTWdDMDhOQUNBTUlBVWdDR29nQkVFQmRHcEJBbXBCQW5ZNkFBQWdCaUFISUFWQkFYUnFJQVJxUVFKcVFRSjJPZ0FBSUFJb0FnUWhBUXNDUUNBQVFRTnFJZ1lnRFdvaURDMEFBQ0lJSUFBdEFBTWlCMnNpQkNBRVFSOTFJZ1JxSUFSeklBRlBEUUFnQmlBS2FpMEFBQ0lFSUFocklnVWdCVUVmZFNJRmFpQUZjeUFDS0FJSUlndFBEUUFnQXlBR2FpMEFBQ0lGSUFkcklna2dDVUVmZFNJSmFpQUpjeUFMVHcwQUlBd2dCU0FJYWlBRVFRRjBha0VDYWtFQ2Rqb0FBQ0FHSUFjZ0JVRUJkR29nQkdwQkFtcEJBblk2QUFBZ0FpZ0NCQ0VCQ3dKQUlBQkJCR29pQmlBTmFpSU1MUUFBSWdnZ0FDMEFCQ0lIYXlJRUlBUkJIM1VpQkdvZ0JITWdBVThOQUNBR0lBcHFMUUFBSWdRZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6SUFJb0FnZ2lDMDhOQUNBRElBWnFMUUFBSWdVZ0Iyc2lDU0FKUVI5MUlnbHFJQWx6SUF0UERRQWdEQ0FGSUFocUlBUkJBWFJxUVFKcVFRSjJPZ0FBSUFZZ0J5QUZRUUYwYWlBRWFrRUNha0VDZGpvQUFDQUNLQUlFSVFFTEFrQWdBRUVGYWlJR0lBMXFJZ3d0QUFBaUNDQUFMUUFGSWdkcklnUWdCRUVmZFNJRWFpQUVjeUFCVHcwQUlBWWdDbW90QUFBaUJDQUlheUlGSUFWQkgzVWlCV29nQlhNZ0FpZ0NDQ0lMVHcwQUlBTWdCbW90QUFBaUJTQUhheUlKSUFsQkgzVWlDV29nQ1hNZ0MwOE5BQ0FNSUFVZ0NHb2dCRUVCZEdwQkFtcEJBblk2QUFBZ0JpQUhJQVZCQVhScUlBUnFRUUpxUVFKMk9nQUFJQUlvQWdRaEFRc0NRQ0FBUVFacUlnWWdEV29pREMwQUFDSUlJQUF0QUFZaUIyc2lCQ0FFUVI5MUlnUnFJQVJ6SUFGUERRQWdCaUFLYWkwQUFDSUVJQWhySWdVZ0JVRWZkU0lGYWlBRmN5QUNLQUlJSWd0UERRQWdBeUFHYWkwQUFDSUZJQWRySWdrZ0NVRWZkU0lKYWlBSmN5QUxUdzBBSUF3Z0JTQUlhaUFFUVFGMGFrRUNha0VDZGpvQUFDQUdJQWNnQlVFQmRHb2dCR3BCQW1wQkFuWTZBQUFnQWlnQ0JDRUJDeUFOSUFCQkIyb2lEV29pQ0MwQUFDSUdJQUF0QUFjaUFHc2lCeUFIUVI5MUlnZHFJQWR6SUFGUERRRWdDaUFOYWkwQUFDSUJJQVpySWdvZ0NrRWZkU0lLYWlBS2N5QUNLQUlJSWdwUERRRWdBeUFOYWkwQUFDSUNJQUJySWdNZ0EwRWZkU0lEYWlBRGN5QUtUdzBCSUFnZ0FpQUdhaUFCUVFGMGFrRUNha0VDZGpvQUFDQU5JQUFnQWtFQmRHb2dBV3BCQW1wQkFuWTZBQUFQQzBFQUlBTnJJZ2RCQVhRaEJDQUJJQUlvQWdCcVFYOXFMUUFBSWdGQkFXb2hCaUFCUVg5eklRaEJDQ0VCQTBBQ1FDQUFJQWRxSWdVdEFBQWlDaUFBTFFBQUlnMXJJZ3dnREVFZmRTSU1haUFNY3lBQ0tBSUVUdzBBSUFBZ0JHb3RBQUFpRENBS2F5SUxJQXRCSDNVaUMyb2dDM01nQWlnQ0NDSUxUdzBBSUFBZ0Eyb3RBQUFpQ1NBTmF5SU9JQTVCSDNVaURtb2dEbk1nQzA4TkFDQUZJQW9nQ0NBR0lBMGdDbXRCQW5RZ0NXc2dER3BCQkdwQkEzVWlDaUFLSUFaS0d5QUtJQWhJR3lJS2FrR3dMbW90QUFBNkFBQWdBQ0FOSUFwclFiQXVhaTBBQURvQUFBc2dBRUVCYWlFQUlBRkJmMm9pQVEwQUN3c0w2Z2dCQW44Z0FVRUFRYmdIRUFjaEFrRUJJUUVDUUFKQUlBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBZ0FDUUNBRFFRRkhEUUFnQUVFSUVBTWlBMEYvUmcwQklBSWdBellDQkNBRFFmOEJSdzBBSUFCQkVCQURJZ05CZjBZTkFTQUNJQU0yQWdnZ0FFRVFFQU1pQTBGL1JnMEJJQUlnQXpZQ0RBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDRUNBRFFRRkdCRUFnQUVFQkVBTWlBMEYvUmcwQklBSWdBMEVCUmpZQ0ZBc2dBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDR0FKQUFrQWdBMEVCUmdSQUlBQkJBeEFESWdOQmYwWU5BeUFDSUFNMkFod2dBRUVCRUFNaUEwRi9SZzBESUFJZ0EwRUJSallDSUNBQVFRRVFBeUlEUVg5R0RRTWdBaUFEUVFGR05nSWtJQU5CQVVjTkFTQUFRUWdRQXlJRFFYOUdEUU1nQWlBRE5nSW9JQUJCQ0JBRElnTkJmMFlOQXlBQ0lBTTJBaXdnQUVFSUVBTWlBMEYvUncwQ0RBTUxJQUpCQlRZQ0hBc2dBa0tDZ0lDQUlEY0NLRUVDSVFNTElBSWdBellDTUNBQVFRRVFBeUlEUVg5R0RRQWdBaUFEUVFGR05nSTBBa0FnQTBFQlJ3MEFJQUFnQWtFNGFoQUNJZ0VOQVNBQ0tBSTRRUVZMRFFJZ0FDQUNRVHhxRUFJaUFRMEJJQUlvQWp4QkJVME5BQXdDQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBBSUFJZ0EwRUJSallDUUNBRFFRRkdCRUFnQUJBUElRRWdBRUVnRUFzaEF5QUJSUTBDSUFOQmYwWU5BaUFDSUFFMkFrUWdBQkFQSVFFZ0FFRWdFQXNoQXlBQlJRMENJQU5CZjBZTkFpQUNJQUUyQWtoQkFTRUJJQUJCQVJBRElnTkJmMFlOQVNBQ0lBTkJBVVkyQWt3TElBQkJBUkFESWdOQmYwWU5BQ0FDSUFOQkFVWTJBbEFDUUNBRFFRRkdCRUFnQUNBQ1FkUUFhaEFjSWdGRkRRRU1BZ3NnQWtFQk5nSlVJQUpDbUlDQWdJQUROd0xvQXlBQ1FwaUFnSUNBQXpjQzRBTWdBa0dCa0txSkFUWUM0QUVnQWtHQmtLcUpBVFlDWUF0QkFTRUJJQUJCQVJBRElnTkJmMFlOQUNBQ0lBTkJBVVkyQXZBREFrQWdBMEVCUmdSQUlBQWdBa0gwQTJvUUhDSUJSUTBCREFJTElBSkJBVFlDOUFNZ0FrS1lnSUNBZ0FNM0FvZ0hJQUpDbUlDQWdJQUROd0tBQnlBQ1FZRzR1UElBTmdLQUJTQUNRWUc0dVBJQU5nS0FCQXNDUUNBQ0tBSlFSUVJBSUFJb0F2QURSUTBCQzBFQklRRWdBRUVCRUFNaUEwRi9SZzBCSUFJZ0EwRUJSallDa0FjTFFRRWhBU0FBUVFFUUF5SURRWDlHRFFBZ0FpQURRUUZHTmdLVUJ5QUFRUUVRQXlJRFFYOUdEUUFnQWlBRFFRRkdOZ0tZQndKQUlBTkJBVVlFUUNBQVFRRVFBeUlEUVg5R0RRSWdBaUFEUVFGR05nS2NCeUFBSUFKQm9BZHFFQUlpQVEwQ0lBSW9BcUFIUVJCTERRTWdBQ0FDUWFRSGFoQUNJZ0VOQWlBQ0tBS2tCMEVRU3cwRElBQWdBa0dvQjJvUUFpSUJEUUlnQWlnQ3FBZEJFRXNOQXlBQUlBSkJyQWRxRUFJaUFRMENRUUVoQVNBQ0tBS3NCMEVRU3cwQ0lBQWdBa0d3QjJvUUFpSUJEUUlnQUNBQ1FiUUhhaEFDSWdGRkRRRU1BZ3NnQWtFUU5nSzBCeUFDUXBDQWdJQ0FBamNDckFjZ0FrS0JnSUNBZ0FJM0FxUUhJQUpDZ1lDQWdDQTNBcHdIQzBFQUlRRUxJQUVQQzBFQkMwMEJBbjhqQUVFUWF5SURKQUJCQVNFRUFrQWdBQ0FEUVF4cUVBSU5BQ0FES0FJTUlnQkJMMHNOQUNBQlFkQS9RWURBQUNBQ0d5QUFhaTBBQURZQ0FFRUFJUVFMSUFOQkVHb2tBQ0FFQ3o0QkFuOENRQ0FBS0FJTVFRTjBJQUFvQWhCcklnRkZCRUFNQVF0QkFTRUNJQUZCQ0VzTkFFRUJJQUZCZjJwMElBQVFEMEVnSUFGcmRrY1BDeUFDQ3pJQkFuOENRRUdBZ0lEQUFDSUJJQUJ4RFFBRFFDQUNRUUZxSVFJZ0FVRUJkaUlCUlEwQklBQWdBWEZGRFFBTEN5QUNDNG9DQVFkL0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRUNRUUVoQXlBQlFRWlBCRUJCQUNFRElBSWdBVUdRUEdvdEFBQkJmMnAwSVFJTElBQWdBQ2dDQUNJQklBQW9BZ2dpQkdzaUJTQUFLQUlFSWdZZ0FDZ0NEQ0lIYXlJSWF5QUNiQ0FEZFRZQ0RDQUFJQVVnQ0dvZ0Ftd2dBM1UyQWdnZ0FDQUJJQVJxSWdFZ0JpQUhhaUlFYXlBQ2JDQURkVFlDQkNBQUlBRWdCR29nQW13Z0EzVTJBZ0FnQUNBQUtBSWNJZ0VnQUNnQ0ZDSUVhaUlGSUFBb0FoZ2lCaUFBS0FJUUlnZHFJZ2hxSUFKc0lBTjFOZ0lRSUFBZ0JDQUJheUlCSUFjZ0Jtc2lCR29nQW13Z0EzVTJBaGdnQUNBSUlBVnJJQUpzSUFOMU5nSVVJQUFnQkNBQmF5QUNiQ0FEZFRZQ0hBdlBDQUVVZnlBQUlBQW9BaXdpQWlBQUtBSU1JZ1pxSWdVZ0FDZ0NOQ0lFSUFBb0FpQWlFR29pQ21zaUVUWUNMQ0FBS0FJb0lRTWdBQ0FHSUFKcklnY2dFQ0FFYXlJRWF5SUdOZ0lvSUFBb0FpUWhBaUFBSUFRZ0Iyb2lCRFlDSkNBQUlBVWdDbW9pQlRZQ0lDQUFJQUFvQWh3aUNpQUFLQUlJSWdkcUlnZ2dBQ2dDTUNJTUlBQW9BaEFpQ1dvaUMyc2lFRFlDSENBQUtBSVlJUThnQUNBSElBcHJJZ2NnQ1NBTWF5SU1heUlLTmdJWUlBQW9BaFFoQ1NBQUlBY2dER29pQnpZQ0ZDQUFJQWdnQzJvaUNEWUNFQ0FBSUFrZ0FDZ0NBQ0lMYWlJU0lBOGdBQ2dDQkNJTmFpSU9heUlNTmdJTUlBQWdDeUFKYXlJSklBMGdEMnNpQzJzaUR6WUNDQ0FBSUFrZ0Myb2lDVFlDQkNBQUlBNGdFbW9pQ3pZQ0FDQUFJQUlnQUNnQ09DSU5haUlUSUFNZ0FDZ0NQQ0lPYWlJVWF5SVNOZ0k4SUFBZ0FpQU5heUlDSUFNZ0Rtc2lBMnNpRFRZQ09DQUFJQUlnQTJvaURqWUNOQ0FBSUJNZ0ZHb2lFellDTUNBQlFaQThhaTBBQUNFQ0lBRkJvRDFxTFFBQVFReHNRZEE4YWlnQ0FDRURJQUZCREU4RVFDQUFJQU1nQWtGK2FuUWlBU0FGSUF0cUlnTWdDQ0FUYWlJQ2EydzJBakFnQUNBTElBVnJJZ1VnQ0NBVGF5SUlheUFCYkRZQ0lDQUFJQVVnQ0dvZ0FXdzJBaEFnQUNBQ0lBTnFJQUZzTmdJQUlBQWdCQ0FKYWlJRElBY2dEbW9pQW1zZ0FXdzJBalFnQUNBSklBUnJJZ1FnQnlBT2F5SUZheUFCYkRZQ0pDQUFJQVFnQldvZ0FXdzJBaFFnQUNBQ0lBTnFJQUZzTmdJRUlBQWdCaUFQYWlJRElBb2dEV29pQW1zZ0FXdzJBamdnQUNBUElBWnJJZ1lnQ2lBTmF5SUVheUFCYkRZQ0tDQUFJQVFnQm1vZ0FXdzJBaGdnQUNBQ0lBTnFJQUZzTmdJSUlBQWdEQ0FSYXlJRElCQWdFbXNpQW1zZ0FXdzJBaXdnQUNBQ0lBTnFJQUZzTmdJY0lBQWdFQ0FTYWlJRElBd2dFV29pQW1vZ0FXdzJBZ3dnQUNBQ0lBTnJJQUZzTmdJOER3c2dBRUVCUVFJZ0FVRjZha0VHU1JzaUFTQUZJQXRxSWhRZ0NDQVRhaUlWYXlBRGJHcEJBaUFDYXlJQ2RUWUNNQ0FBSUFzZ0JXc2lCU0FJSUJOcklnaHJJQU5zSUFGcUlBSjFOZ0lnSUFBZ0JTQUlhaUFEYkNBQmFpQUNkVFlDRUNBQUlCUWdGV29nQTJ3Z0FXb2dBblUyQWdBZ0FDQUVJQWxxSWdVZ0J5QU9haUlJYXlBRGJDQUJhaUFDZFRZQ05DQUFJQWtnQkdzaUJDQUhJQTVySWdkcklBTnNJQUZxSUFKMU5nSWtJQUFnQkNBSGFpQURiQ0FCYWlBQ2RUWUNGQ0FBSUFVZ0NHb2dBMndnQVdvZ0FuVTJBZ1FnQUNBR0lBOXFJZ1FnQ2lBTmFpSUZheUFEYkNBQmFpQUNkVFlDT0NBQUlBOGdCbXNpQmlBS0lBMXJJZ3BySUFOc0lBRnFJQUoxTmdJb0lBQWdCaUFLYWlBRGJDQUJhaUFDZFRZQ0dDQUFJQVFnQldvZ0Eyd2dBV29nQW5VMkFnZ2dBQ0FNSUJGcklnWWdFQ0FTYXlJRWF5QURiQ0FCYWlBQ2RUWUNMQ0FBSUFRZ0Jtb2dBMndnQVdvZ0FuVTJBaHdnQUNBUUlCSnFJZ1lnRENBUmFpSVJhaUFEYkNBQmFpQUNkVFlDRENBQUlCRWdCbXNnQTJ3Z0FXb2dBblUyQWp3THZRVUJCbjhqQUVFZ2F5SUZKQUFnQTBFQU5nSUFBa0FnQVNnQ0FDSUdRUkpMRFFCQkFTQUdkQ0lHUWNEZkgzRkZCRUFnQmtFaWNVVU5BU0FDUWJRS2FpZ0NBQVJBSUFOQkFUWUNBQ0FDUVFBMkFyUUtDeUFBSUFWQkhHb1FJQ0lFRFFGQjhQOERJUVFnQWlBRktBSWNRUUowYWlnQ2xBRWlDRVVOQVNBQ0lBZ29BZ1FpQmtFQ2RHb29BaFFpQjBVTkFRSkFJQUlvQWdnaUNVRWdSZzBBSUFZZ0NVWU5BQ0FCS0FJQVFRVkhEUUlMQWtBZ0FrR1lDbW9vQWdBaUJDQUJLQUlFSWdaR0RRQWdCRUVBSUFZYkRRQWdBMEVCTmdJQUN5QUJLQUlBSVFRQ1FBSkFJQUlvQXBRS1FRVkdCRUFnQkVFRlJ3MEJEQUlMSUFSQkJVY05BUXNnQTBFQk5nSUFDMEVCSVFRZ0FDQUhLQUlNSUFWQkdHb1FQUTBCSUFVb0FoZ2lCaUFDUVp3S2FpZ0NBRWNFUUNBQ0lBWTJBcHdLSUFOQkFUWUNBQXNnQVNnQ0FFRUZSZ1JBSUFBZ0J5Z0NEQ0FGUVJScUVEd05BZ0pBSUFJb0FwUUtRUVZIQkVBZ0JTZ0NGQ0VFREFFTElBSkJvQXBxS0FJQUlnUWdCU2dDRkNJR1JnMEFJQU5CQVRZQ0FDQUdJUVFMSUFKQm9BcHFJQVEyQWdBTEFrQWdCeWdDRUNJRVFRRkxEUUFnQkVFQmF3UkFRUUVoQkNBQUlBY2dBU2dDQUNBRlFRaHFFRHNOQXlBRktBSUlJZ1FnQWtHa0Ntb29BZ0JIQkVBZ0FpQUVOZ0trQ2lBRFFRRTJBZ0FMSUFnb0FnaEZEUUVnQUNBSElBRW9BZ0FnQlVFUWFoQTZJZ1FOQXlBRktBSVFJZ0FnQWtHb0Ntb29BZ0JHRFFFZ0FpQUFOZ0tvQ2lBRFFRRTJBZ0FNQVFzZ0J5Z0NHQTBBSUFBZ0J5QUJLQUlBSUFnb0FnZ2dCVUVJYWhBNUlnUU5BaUFGS0FJSUlnQWdBa0dzQ21vb0FnQkhCRUFnQWlBQU5nS3NDaUFEUVFFMkFnQUxJQWdvQWdoRkRRQWdCU2dDRENJQUlBSkJzQXBxS0FJQVJnMEFJQUlnQURZQ3NBb2dBMEVCTmdJQUN5QUNJQUVwQWdBM0FwUUtRUUFoQkF3QkN5QURRUUUyQWdBTElBVkJJR29rQUNBRUMzOEJBMzhDUUFKQUFrQWdBRUg4Q21vb0FnQUVRQ0FBS0FLWUNTSUREUUZCQVE4TFFRRWhBU0FBUWF3SmFpZ0NBQ0FBS0FLWUNVY05BUXdDQ3lBQUtBSzhDU0VCUVFBaEFBTkFJQUlnQVNBQVFkZ0JiR29vQXNRQlFRQkhhaUVDSUFCQkFXb2lBQ0FEUncwQUMwRUJJUUVnQWlBRFJnMEJDMEVBSVFFTElBRUxTZ0VEZnlBQVFnQTNBcWdKSUFBb0FwZ0pJZ0VFUUNBQUtBSzhDU0VDUVFBaEFBTkFJQUlnQUVIWUFXeHFJZ05CQURZQ3hBRWdBMEVBTmdJRUlBQkJBV29pQUNBQlJ3MEFDd3NMZ3dZQkRIOUJBU0VHQWtBZ0FDQUJRUUowYWlnQ2xBRWlCRVVOQUNBQUlBUW9BZ1FpQ1VFQ2RHb2lDa0VVYWlnQ0FDSURSUTBBQWtBZ0JDZ0NEQ0lGUVFKSkRRQWdBeWdDTkNJSElBTW9BamhzSVFnQ1FDQUVLQUlRSWdOQkFrc05BQUpBQWtBQ1FDQURRUUZyRGdJREFBRUxJQVZCZjJvaEN5QUVLQUljSVF3Z0JDZ0NHQ0VOUVFBaEF3d0JDeUFFS0FJVUlRZEJBQ0VEQTBBZ0J5QURRUUowYWlnQ0FDQUlUUVJBSUFVZ0EwRUJhaUlEUncwQkRBUUxDMEVCRHdzRFFDQU5JQU5CQW5RaUJXb29BZ0FpRGlBRklBeHFLQUlBSWdWTERRTWdCU0FJVHcwRElBNGdCM0FnQlNBSGNFMEVRQ0FEUVFGcUlnTWdDMFlOQXd3QkN3dEJBUThMSUFOQmZXcEJBazBFUUNBRUtBSWtJQWhORFFFTUFnc2dBMEVHUncwQUlBUW9BaWdnQ0VrTkFRc0NRQ0FBS0FJRUlnTkJnQUpHQkVBZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQW9BclFhQkVBZ0FFRUFOZ0swR2lBQUtBSzhDUkFFSUFCQkFEWUN2QWtnQUNnQ2xBa1FCQ0FBSUFBb0FwZ0pJZ0ZCMkFGc0lnUVFDaUlDTmdLOENTQUFJQUZCQW5RUUNpSUROZ0tVQ1VILy93TWhCaUFDUlEwQ0lBTkZEUUlnQWtFQUlBUVFCeUFBS0FJUUtBSTBJQUVRVGlBQUtBSVFJUUZCQVNFQ0FrQWdBQ2dDd0FrTkFDQUJLQUlRUVFKR0RRQUNRQ0FCS0FKUVJRMEFJQUVvQWxRaUJDZ0NtQWRGRFFBZ0JDZ0NzQWRGRFFFTFFRQWhBZ3NnQUVIRUNXb2dBU2dDT0NBQktBSTBiQ0FCS0FKWUlBRW9BaXdnQVNnQ0RDQUNFRndpQmtVTkFRd0NDeUFCSUFOR0RRQWdBQ2dDQ0NBSlJ3UkFJQUpGRFFJZ0FDQUVOZ0lNSUFBZ0FUWUNCQ0FBSUFrMkFnZ2dBQ0FLS0FJVUlnRTJBaEFnQVNnQ05DRUNJQUVvQWpnaEFTQUFRUUUyQXJRYUlBQkJ3QXBxSUFFMkFnQWdBRUc4Q21vZ0FqWUNBQ0FBSUFFZ0FtdzJBcGdKREFFTElBQWdCRFlDRENBQUlBRTJBZ1FMUVFBaEJnc2dCZ3UyQVFFRGZ3SkFJQUFnQVNnQ0FDSURRUUowYWlJQ0tBS1VBU0lFUlFSQUlBSkJ5QUFRQ2lJQU5nS1VBU0FBRFFFUEN3SkFJQU1nQUNnQ0JFY05BQ0FCS0FJRUlBQW9BZ2hHRFFBZ0FFR0JBallDQkFzZ0JDZ0NGQkFFSUFJb0FwUUJRUUEyQWhRZ0FpZ0NsQUVvQWhnUUJDQUNLQUtVQVVFQU5nSVlJQUlvQXBRQktBSWNFQVFnQWlnQ2xBRkJBRFlDSENBQ0tBS1VBU2dDTEJBRUlBSW9BcFFCUVFBMkFpd0xJQUlvQXBRQklBRkJ5QUFRRlJvTDFnRUJBMzhDUUNBQUlBRW9BZ2dpQTBFQ2RHb2lBaWdDRkNJRVJRUkFJQUpCM0FBUUNpSUFOZ0lVSUFBTkFROExJQUFvQWdnZ0EwWUVRQ0FCSUFBb0FoQVFRZ1JBSUFJb0FoUW9BaWdRQkNBQ0tBSVVRUUEyQWlnZ0FpZ0NGQ2dDVkJBRUlBSW9BaFJCQURZQ1ZDQUFRUUEyQWhBZ0FFR0JBallDQkNBQVFpRTNBZ2dNQWdzZ0FTZ0NLQkFFSUFGQkFEWUNLQ0FCS0FKVUVBUWdBVUVBTmdKVUR3c2dCQ2dDS0JBRUlBSW9BaFJCQURZQ0tDQUNLQUlVS0FKVUVBUWdBaWdDRkVFQU5nSlVDeUFDS0FJVUlBRkIzQUFRRlJvTDBnSUJBMzhqQUVFZ2F5SUVKQUFnQkNBQktBSVFOZ0lRSUFRZ0FTa0NDRGNEQ0NBRUlBRXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUJEUUFnQkNBRVFSeHFFQUlpQVEwQUlBUWdCRUVjYWhBQ0lnRU5BQ0FDS0FJTUlRWkJBQ0VCQTBBZ0FTSUZRUUZxSVFFZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQVF3QkN5QUVJQVJCSEdvUUFpSUJEUUFDUUNBQ0tBSVFJZ0VFZnlBQkJTQUNLQUlVSVFaQkFDRUJBMEFnQVNJRlFRRnFJUUVnQmlBRmRnMEFDeUFFSUFWQmYyb1FBMEYvUmdSQVFRRWhBUXdEQ3lBREtBSUlCRUFnQkNBRVFSaHFFQVVpQVEwREN5QUNLQUlRQzBFQlJ3MEFJQUlvQWhnTkFDQUVJQVJCR0dvUUJTSUJEUUVnQXlnQ0NFVU5BQ0FFSUFSQkdHb1FCU0lCRFFFTElBTW9Ba1FFUUNBRUlBUkJIR29RQWlJQkRRRUxJQUFnQkVFQkVBTWlBRFlDQUNBQVFYOUdJUUVMSUFSQklHb2tBQ0FCQzhZQkFRSi9Jd0JCSUdzaUJTUUFJQVVnQUNnQ0VEWUNFQ0FGSUFBcEFnZzNBd2dnQlNBQUtRSUFOd01BQWtBZ0JTQUZRUnhxRUFJaUFBMEFJQVVnQlVFY2FoQUNJZ0FOQUNBRklBVkJIR29RQWlJQURRQWdBU2dDRENFR1FRQWhBQU5BSUFBaUFVRUJhaUVBSUFZZ0FYWU5BQXNnQlNBQlFYOXFFQU5CZjBZRVFFRUJJUUFNQVFzZ0FrRUZSZ1JBSUFVZ0JVRWNhaEFDSWdBTkFRc2dCU0FFRUFVaUFBMEFJQU1FUUNBRklBUkJCR29RQlNJQURRRUxRUUFoQUFzZ0JVRWdhaVFBSUFBTDRRRUJBMzhqQUVFZ2F5SUVKQUFnQkNBQUtBSVFOZ0lRSUFRZ0FDa0NDRGNEQ0NBRUlBQXBBZ0EzQXdBQ1FDQUVJQVJCSEdvUUFpSUFEUUFnQkNBRVFSeHFFQUlpQUEwQUlBUWdCRUVjYWhBQ0lnQU5BQ0FCS0FJTUlRWkJBQ0VBQTBBZ0FDSUZRUUZxSVFBZ0JpQUZkZzBBQ3lBRUlBVkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUNRUVZHQkVBZ0JDQUVRUnhxRUFJaUFBMEJDeUFCS0FJVUlRSkJBQ0VBQTBBZ0FDSUJRUUZxSVFBZ0FpQUJkZzBBQ3lBRUlBRkJmMm9RQTBGL1JnUkFRUUVoQUF3QkN5QUVJQU1RQlNFQUN5QUVRU0JxSkFBZ0FBdm1BUUVEZnlNQVFTQnJJZ1FrQUNBRUlBQW9BaEEyQWhBZ0JDQUFLUUlJTndNSUlBUWdBQ2tDQURjREFBSkFJQVFnQkVFY2FoQUNJZ0FOQUNBRUlBUkJIR29RQWlJQURRQWdCQ0FFUVJ4cUVBSWlBQTBBSUFFb0Fnd2hCa0VBSVFBRFFDQUFJZ1ZCQVdvaEFDQUdJQVYyRFFBTElBUWdCVUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQUpCQlVZRVFDQUVJQVJCSEdvUUFpSUFEUUVMSUFFb0FoUWhBa0VBSVFBRFFDQUFJZ0ZCQVdvaEFDQUNJQUYyRFFBTElBUWdBVUYvYWhBRElnQkJmMFlFUUVFQklRQU1BUXNnQXlBQU5nSUFRUUFoQUFzZ0JFRWdhaVFBSUFBTGtnRUJBbjhqQUVFZ2F5SURKQUFnQXlBQUtBSVFOZ0lRSUFNZ0FDa0NBRGNEQUNBRElBQXBBZ2czQXdnQ1FDQURJQU5CSEdvUUFpSUFEUUFnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BRUVBSVFBRFFDQUFJZ1JCQVdvaEFDQUJJQVIyRFFBTElBTWdCRUYvYWhBRFFYOUdCRUJCQVNFQURBRUxJQU1nQWhBQ0lRQUxJQU5CSUdva0FDQUFDNWNCQVFKL0l3QkJJR3NpQXlRQUlBTWdBQ2dDRURZQ0VDQURJQUFwQWdnM0F3Z2dBeUFBS1FJQU53TUFBa0FnQXlBRFFSeHFFQUlpQUEwQUlBTWdBMEVjYWhBQ0lnQU5BQ0FESUFOQkhHb1FBaUlBRFFCQkFDRUFBMEFnQUNJRVFRRnFJUUFnQVNBRWRnMEFDeUFESUFSQmYyb1FBeUlBUVg5R0JFQkJBU0VBREFFTElBSWdBRFlDQUVFQUlRQUxJQU5CSUdva0FDQUFDNjhPQVFwL0l3QkJFR3NpQlNRQUlBRkJBRUhjQnhBSElRY2dBaWdDTkNFR0lBSW9BamdoQ0FKQUlBQWdCVUVFYWhBQ0lnRU5BQ0FISUFVb0FnUWlBVFlDQUNBQklBWWdDR3dpQzA4RVFFRUJJUUVNQVFzZ0FDQUZRUVJxRUFJaUFRMEFJQWNnQlNnQ0JDSUdOZ0lFSUFaQkIwc0VRRUVCSVFFTUFRdEJBU0VCQWtBQ1FDQUdRUUZyRGdjQ0FRSUNBQUlCQUFzZ0JDZ0NBRUVGUmdSQURBSUxJQUlvQWl3TkFBd0JDeUFBSUFWQkJHb1FBaUlCRFFBZ0J5QUZLQUlFSWdZMkFnaEJBU0VCSUFZZ0F5Z0NBRWNOQUNBQ0tBSU1JUWhCQUNFQkEwQWdBU0lHUVFGcUlRRWdDQ0FHZGcwQUMwRUJJUUVnQUNBR1FYOXFFQU1pQmtGL1JnMEFJQVpCQUNBRUtBSUFJZ2hCQlVZYkRRQWdCeUFHTmdJTUlBaEJCVVlFUUNBQUlBVkJCR29RQWlJQkRRRWdCeUFGS0FJRUlnWTJBaEJCQVNFQklBWkIvLzhEU3cwQkN3SkFJQUlvQWhBaUFRUi9JQUVGSUFJb0FoUWhDRUVBSVFFRFFDQUJJZ1pCQVdvaEFTQUlJQVoyRFFBTElBQWdCa0YvYWhBRElnRkJmMFlFUUVFQklRRU1Bd3NnQnlBQk5nSVVJQU1vQWdnRVFDQUFJQVVRQlNJQkRRTWdCeUFGS0FJQU5nSVlDeUFFS0FJQVFRVkdCRUJCQVNFQklBY29BaFFpQmlBQ0tBSVVRUUYyU3cwRElBWkJBQ0FIS0FJWUlnaEJIM1VnQ0hGclJ3MERDeUFDS0FJUUMwRUJSdzBBSUFJb0FoZ05BQ0FBSUFVUUJTSUJEUUVnQnlBRktBSUFOZ0ljSUFNb0FnZ0VRQ0FBSUFVUUJTSUJEUUlnQnlBRktBSUFOZ0lnQ3lBRUtBSUFRUVZIRFFCQkFTRUJJQWNvQWh3aUJpQUhLQUlnSUFZZ0FpZ0NJR3BxSWdnZ0JpQUlTQnNOQVFzZ0F5Z0NSQVJBSUFBZ0JVRUVhaEFDSWdFTkFTQUhJQVVvQWdRaUJqWUNKRUVCSVFFZ0JrSC9BRXNOQVFzQ1FDQUhLQUlFSWdGQkJVc05BQUpBSUFGQkFXc09CQUVCQVFFQUMwRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDS0FKQUlBWUVRQ0FBSUFWQkJHb1FBaUlCRFFOQkFTRUJJQVVvQWdRaUJrRVBTdzBESUFaQkFXb2hCZ3dCQ3lBREtBSXdJZ1pCRUVzTkFnc2dCeUFHTmdJc0lBY29BZ1FoQVFzQ1FDQUJRUVZMRFFBQ1FDQUJRUUZyRGdRQkFRRUJBQXNnQWlnQ0RDRUpJQWNvQWl3aENrRUJJUUVnQUVFQkVBTWlCa0YvUmcwQklBY2dCallDUkNBR1JRMEFRUUFoQVFOQUlBRWlCaUFLU3dSQVFRRWhBUXdEQ3lBQUlBVkJDR29RQWlJQkRRSWdCU2dDQ0NJQlFRTkxCRUJCQVNFQkRBTUxJQWNnQmtFTWJHb2lDQ0FCTmdKSUFrQWdBVUVCVFFSQUlBQWdCVUVNYWhBQ0lnRU5CQ0FGS0FJTUlnRWdDVThFUUVFQklRRU1CUXNnQ0NBQlFRRnFOZ0pNREFFTElBRkJBa2NOQUNBQUlBVkJER29RQWlJQkRRTWdDQ0FGS0FJTU5nSlFDeUFHUVFGcUlRRWdCU2dDQ0VFRFJ3MEFDMEVCSVFFZ0JrVU5BUXNDUUNBRUtBSUVSUTBBSUFRb0FnQWhCQ0FDS0FJc0lRbEJBU0VCSUFCQkFSQURJUUlnQkVFRlJnUkFJQUpCZjBZTkFpQUhJQUkyQXBRQ0lBQkJBUkFESWdKQmYwWU5BaUFISUFJMkFwZ0NJQWtOQVNBQ1JRMEJEQUlMSUFKQmYwWU5BU0FISUFJMkFwd0NJQUpGRFFBZ0NVRUJkRUVEYWlFT1FRQWhCa0VBSVFwQkFDRUVBMEFnQmlBT1JnUkFRUUVoQVF3REN5QUFJQVZCQ0dvUUFpSUJEUUlnQlNnQ0NDSUNRUVpMQkVCQkFTRUJEQU1MSUFjZ0JrRVViR29pQ0NBQ05nS2dBZ0ovSUFKQkFuSkJBMFlFUUNBQUlBVkJER29RQWlJQkRRUWdDQ0FGS0FJTVFRRnFOZ0trQWlBRktBSUlJUUlMSUFKQkFrWUxCRUFnQUNBRlFReHFFQUlpQVEwRElBZ2dCU2dDRERZQ3FBSWdCU2dDQ0NFQ0N3SkFJQUpCZldvaUFVRURTdzBBQWtBZ0FVRUJhdzRDQVFFQUN5QUFJQVZCREdvUUFpSUJEUU1nQ0NBRktBSU1OZ0tzQWlBRktBSUlJUUlMSUFKQkJFWUVRQ0FBSUFWQkRHb1FBaUlCRFFNZ0JTZ0NEQ0lCSUFsTEJFQkJBU0VCREFRTElBZ2dBVUYvYWtILy93TWdBUnMyQXJBQ0lBcEJBV29oQ2lBRktBSUlJUUlMSUFaQkFXb2hCaUFNSUFKQkJrWnFJUXdnQkNBQ1FRVkdhaUVFSUEwZ0FrRi9ha0VEU1dvaERTQUNEUUFMUVFFaEFTQUVJQXB5SUF4eVFRRkxEUUVnQkVVTkFDQU5EUUVMSUFBZ0JSQUZJZ0VOQUNBSElBVW9BZ0FpQVRZQ01DQUZJQUVnQXlnQ05Hb2lBallDQUVFQklRRWdBa0V6U3cwQUFrQWdBeWdDUEVVTkFDQUFJQVZCQkdvUUFpSUJEUUVnQnlBRktBSUVJZ0kyQWpSQkFTRUJJQUpCQWtzTkFTQUNRUUZHRFFBZ0FDQUZFQVVpQVEwQlFRRWhBU0FGS0FJQUlnSkJCbXBCREVzTkFTQUhJQUpCQVhRMkFqZ2dBQ0FGRUFVaUFRMEJRUUVoQVNBRktBSUFJZ0pCQm1wQkRFc05BU0FISUFKQkFYUTJBandMQWtBZ0F5Z0NERUVDU1EwQUlBTW9BaEJCZldwQkFrc05BRUVDUVFFZ0N5QUxJQU1vQWlRaUFXNGlBaUFCYkdzYklBSnFJUVJCQUNFQ0EwQWdCQ0FDSWdGQkFXb2lBbllOQUFzZ0JTQUFJQUlnQVNBRVFYOGdBWFJCZjNOeEd4QURJZ0EyQWdSQkFTRUJJQUJCZjBZTkFTQUhJQUEyQWtBZ0FDQUxJQU1vQWlRaUFHcEJmMm9nQUc1TERRRUxRUUFoQVFzZ0JVRVFhaVFBSUFFTHdRa0JEWDhnQXlBRWJDRUZJQUVvQWd3aUNVRUJSZ1JBSUFCQkFDQUZRUUowRUFjYUR3c0NRQUpBQWtBQ1FDQUJLQUlRSWdaQmZXcEJBazBFUUNBQktBSWtJQUpzSWdJZ0JTQUNJQVZKR3lFTElBWkJmbkZCQkVjTkFTQUZJQXRySUFzZ0FTZ0NJQnNoQndzQ1FBSkFBa0FnQmtFRlRRUkFJQVpCQVdzT0JRWUZCQU1DQVFzZ0JVVU5CaUFCS0FJc0lRSkJBQ0VCQTBBZ0FDQUJRUUowSWdOcUlBSWdBMm9vQWdBMkFnQWdBVUVCYWlJQklBVkhEUUFMREFZTEFrQWdDUVJBSUFFb0FoUWhBa0VBSVFZTUFRc2dCVVVOQmdOQURBQUFDd0FMQTBCQkFDRUVJQVlnQlU4TkJnTkFRUUFoQndKQUlBSWdCRUVDZEdvaUF5Z0NBQ0lCUlEwQUlBRWhCeUFGSUFaTkRRQkJBQ0VCUVFBZ0JTQUdheUlISUFjZ0JVc2JJUWdEUUNBQUlBRWdCbXBCQW5ScUlBUTJBZ0FnQVVFQmFpSUJJQU1vQWdBaUIwOE5BU0FCSUFoSERRQUxDeUFFUVFGcUlnUWdDVWxCQUNBR0lBZHFJZ1lnQlVrYkRRQUxJQVlnQlVrTkFBc01CUXNnQTBVTkJDQUVSUTBFUVFFZ0FTZ0NJQ0lKYXlFSVFRQWhCVUVBSVFJRFFFRUFJUUVnQlNFR0EwQWdBQ0FCSUFOc0lBSnFRUUowYWlBSklBZ2dCaUFIU1JzMkFnQWdCa0VCYWlFR0lBRkJBV29pQVNBRVJ3MEFDeUFFSUFWcUlRVWdBa0VCYWlJQ0lBTkhEUUFMREFRTElBVkZEUU5CQVNBQktBSWdJZ0pySVFOQkFDRUJBMEFnQUNBQlFRSjBhaUFDSUFNZ0FTQUhTUnMyQWdBZ0FVRUJhaUlCSUFWSERRQUxEQU1MSUFFb0FpQWhBaUFGQkVCQkFDRUJBMEFnQUNBQlFRSjBha0VCTmdJQUlBRkJBV29pQVNBRlJ3MEFDd3NnQzBVTkFpQURRWDlxSVE4Z0JFRi9haUVRSUFKQmYyb2hCa0VCSUFKQkFYUWlBV3NoQlNBQlFYOXFJUWtnQkNBQ2EwRUJkaUlLSVF3Z0F5QUNhMEVCZGlJTklRUWdDaUVJSUEwaEFVRUFJUWNEUUNBQUlBTWdDR3dnQVdwQkFuUnFJZzRvQWdBaUVVRUJSZ1JBSUE1QkFEWUNBQXNnRVVFQlJpRU9Ba0FDUUNBR1FYOUhEUUFnQVNBRVJ3MEFRUUFoQmlBSklRSWdCRUVCSUFSQkFVb2JRWDlxSWdFaEJBd0JDd0pBSUFaQkFVY05BQ0FCSUExSERRQkJBQ0VHSUFVaEFpQU5RUUZxSWdFZ0R5QUJJQTlJR3lJQklRME1BUXNDUUNBQ1FYOUhEUUFnQ0NBTVJ3MEFRUUFoQWlBRklRWWdERUVCSUF4QkFVb2JRWDlxSWdnaERBd0JDd0pBSUFKQkFVY05BQ0FJSUFwSERRQkJBQ0VDSUFraEJpQUtRUUZxSWdnZ0VDQUlJQkJJR3lJSUlRb01BUXNnQWlBSWFpRUlJQUVnQm1vaEFRc2dCeUFPYWlJSElBdEpEUUFMREFJTElBRW9BaHdoQnlBQktBSVlJUWdnQlFSQUlBbEJmMm9oQWtFQUlRRURRQ0FBSUFGQkFuUnFJQUkyQWdBZ0FVRUJhaUlCSUFWSERRQUxJQUpGRFFJTElBbEJmbW9oQVFOQUFrQWdDQ0FCSWdSQkFuUWlBV29vQWdBaUJpQURiaUlDSUFFZ0Iyb29BZ0FpQVNBRGJpSUZTdzBBSUFZZ0FpQURiR3NpQmlBQklBTWdCV3hySWdsTEJFQURRQ0FDUVFGcUlnSWdCVTBOQUF3Q0FBc0FDd05BSUFJZ0Eyd2hDaUFHSVFFRFFDQUFJQUVnQ21wQkFuUnFJQVEyQWdBZ0FVRUJhaUlCSUFsTkRRQUxJQUpCQVdvaUFpQUZUUTBBQ3dzZ0JFRi9haUVCSUFRTkFBc01BUXNnQlVVTkFFRUFJUUVEUUNBQUlBRkJBblJxSUFFZ0EyNGlBaUFKYkVFQmRpQUJJQUlnQTJ4cmFpQUpjRFlDQUNBQlFRRnFJZ0VnQlVjTkFBc0xDOFFCQVFWL0lBQW9BcWdKSVFRQ1FDQUFRYkFKYWlnQ0FDSUNSUTBBSUFKQmYyb2lBaUFCVFFSQUlBSWhBUXdCQ3lBQUtBSzhDU0VGQTBBQ1FDQUZJQUpCMkFGc2FpZ0NCQ0FFUncwQUlBTkJBV29pQXlBQUtBSVFLQUkwSWdaQkNpQUdRUXBMRzBrTkFDQUNJUUVNQWdzZ0FrRi9haUlDSUFGTERRQUxDd05BQWtBZ0FDZ0N2QWtnQVVIWUFXeHFJZ0lvQWdRZ0JFY05BQ0FDS0FMRUFTSURSUTBBSUFJZ0EwRi9hallDeEFFZ0FDZ0NsQWtnQUNnQ21Ba2dBUkFlSWdFTkFRc0xDNzBFQWd0L0FYNGpBRUhBQTJzaUJTUUFJQU1vQWdBaEJ5QUJLQUt3R2lFSUlBVkJBRFlDRENBQlFiQUpha0VBTmdJQUlBRWdBU2dDcUFsQkFXbzJBcWdKSUFVZ0F5Z0NNQ0FCS0FJTUtBSTBhallDQ0NBQlFjUUphaUVOSUFoQkRHb2hEZ0pBQTBBZ0FTZ0N2QWtoQkFKQUlBTW9BaVFOQUNBRUlBZEIyQUZzYWlnQ3hBRkZEUUJCQVNFRURBSUxJQU1wQWpRaER5QURLQUk4SVFzZ0FTZ0NxQWtoRENBRUlBZEIyQUZzSWdacUlnUWdBU2dDRENnQ09EWUNHQ0FFSUFzMkFoQWdCQ0FQTndJSUlBUWdERFlDQkFKQUlBTW9BZ1FpQkVFQ1JnMEFJQWtOQUNBRVFRZEdEUUFnQUNBRlFReHFFQUlpQkEwQ0lBVW9BZ3dpQkNBQktBS1lDU0FIYTBzRVFFRUJJUVFNQXdzZ0JFVUVRRUVBSVFrTUFRc2dEa0VBUWFRQkVBY2FJQWhCQURZQ0FFRUJJUWtMQWtBZ0JTZ0NEQ0lFQkVBZ0JTQUVRWDlxTmdJTURBRUxRUUFoQ1NBQUlBZ2dBU2dDdkFrZ0Jtb2dBeWdDQkNBREtBSXNFRkVpQkEwQ0N5QUJLQUs4Q1NBR2FpQUlJQUlnRFNBRlFRaHFJQWNnQVNnQ0RDZ0NRQ0FGUVJCcUVGQWlCQTBCSUFFb0Fyd0pJQVpxS0FMRUFTRUxJQUFRTGlFRUlBVW9BZ3doQmdKQUlBTW9BZ1JCZm1vaURFRUZTdzBBQWtBZ0RFRUJhdzRFQVFFQkFRQUxJQUVnQnpZQ3NBa0xJQVFnQm5JaEJrRUJJUVFnQVNnQ2xBa2dBU2dDbUFrZ0J4QWVJZ2RGUVFBZ0Joc05BU0FLSUF0QkFVWnFJUW9nQmcwQUN5QUJRYXdKYWlnQ0FDQUthaUlBSUFFb0FwZ0pTdzBBSUFFZ0FEWUNyQWxCQUNFRUN5QUZRY0FEYWlRQUlBUUw1Z0lCQjM5QkFTRUNBa0FnQUNnQ0FDQUJLQUlBUncwQUlBQW9BZ1FnQVNnQ0JFY05BQ0FBS0FJTUlBRW9BZ3hIRFFBZ0FDZ0NFQ0lESUFFb0FoQkhEUUFnQUNnQ0xDQUJLQUlzUncwQUlBQW9BakFnQVNnQ01FY05BQ0FBS0FJMElBRW9BalJIRFFBZ0FDZ0NPQ0FCS0FJNFJ3MEFJQUFvQWp3aUJTQUJLQUk4UncwQUlBQW9BbEFnQVNnQ1VFY05BQUpBSUFOQkFVc05BQ0FEUVFGclJRUkFJQUFvQWhnZ0FTZ0NHRWNOQWlBQUtBSWNJQUVvQWh4SERRSWdBQ2dDSUNBQktBSWdSdzBDSUFBb0FpUWlCQ0FCS0FJa1J3MENJQVJGRFFFZ0FTZ0NLQ0VHSUFBb0FpZ2hCMEVBSVFNRFFDQUhJQU5CQW5RaUNHb29BZ0FnQmlBSWFpZ0NBRWNOQXlBRUlBTkJBV29pQTBjTkFBc01BUXNnQUNnQ0ZDQUJLQUlVUncwQkN5QUZCRUFnQUNnQ1FDQUJLQUpBUncwQklBQW9Ba1FnQVNnQ1JFY05BU0FBS0FKSUlBRW9Ba2hIRFFFZ0FDZ0NUQ0FCS0FKTVJ3MEJDMEVBSVFJTElBSUwvd2tCQm44akFFRVFheUlFSkFBZ0FVRUFRZHdBRUFjaEF3SkFJQUJCQ0JBRElnRkJmMFlFUUVFQklRRU1BUXNnQXlBQk5nSUFJQUJCQVJBREdpQUFRUUVRQXhvZ0FFRUJFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUZFQU5CZjBZRVFFRUJJUUVNQVFzZ0FFRUlFQU1pQVVGL1JnUkFRUUVoQVF3QkN5QURJQUUyQWdRZ0FDQURRUWhxRUFJaUFRMEFJQU1vQWdoQkgwc0VRRUVCSVFFTUFRc2dBQ0FFUVF4cUVBSWlBUTBBUVFFaEFTQUVLQUlNSWdKQkRFc05BQ0FEUVFFZ0FrRUVhblEyQWd3Z0FDQUVRUXhxRUFJaUFRMEFRUUVoQVNBRUtBSU1JZ0pCQWtzTkFDQURJQUkyQWhBQ1FDQUNRUUZMRFFBZ0FrRUJhd1JBSUFBZ0JFRU1haEFDSWdFTkFrRUJJUUVnQkNnQ0RDSUNRUXhMRFFJZ0EwRUJJQUpCQkdwME5nSVVEQUVMSUFCQkFSQURJZ0pCZjBZTkFTQURJQUpCQVVZMkFoZ2dBQ0FEUVJ4cUVBVWlBUTBCSUFBZ0EwRWdhaEFGSWdFTkFTQUFJQU5CSkdvUUFpSUJEUUZCQVNFQklBTW9BaVFpQWtIL0FVc05BU0FDQkVBZ0F5QUNRUUowRUFvaUFUWUNLQ0FCUlFSQVFmLy9BeUVCREFNTElBQWdBUkFGSWdFTkFrRUJJUUlEUUNBQ0lBTW9BaVJQRFFJZ0FrRUNkQ0VCSUFKQkFXb2hBaUFBSUFFZ0F5Z0NLR29RQlNJQlJRMEFDd3dDQ3lBRFFRQTJBaWdMSUFBZ0EwRXNhaEFDSWdFTkFFRUJJUUVnQXlnQ0xFRVFTdzBBSUFCQkFSQURJZ0pCZjBZTkFDQURJQUpCQVVZMkFqQWdBQ0FFUVF4cUVBSWlBUTBBSUFNZ0JDZ0NERUVCYWpZQ05DQUFJQVJCREdvUUFpSUJEUUJCQVNFQklBTWdCQ2dDREVFQmFqWUNPQ0FBUVFFUUEwRUJha0VDU1EwQUlBQkJBUkFEUVg5R0RRQWdBRUVCRUFNaUFrRi9SZzBBSUFNZ0FrRUJSaUlCTmdJOEFrQWdBVVVFUUNBREtBSTRJUVVnQXlnQ05DRUdEQUVMSUFBZ0EwRkFheEFDSWdFTkFTQUFJQU5CeEFCcUVBSWlBUTBCSUFBZ0EwSElBR29RQWlJQkRRRWdBQ0FEUWN3QWFoQUNJZ0VOQVVFQklRRWdBeWdDUUNBREtBSkVRWDl6SUFNb0FqUWlCa0VEZEdwS0RRRWdBeWdDU0NBREtBSk1RWDl6SUFNb0FqZ2lCVUVEZEdwS0RRRUxBa0FDUUFKQUFrQWdBeWdDQkVGMmFpSUhRU2xMRFFCQjR3QWhBVUdBcEFraEFnSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFQmF3NHBBQUVCQ3dzTEN3c0xBUUlEQ3dzTEN3c0xDd01FQlFzTEN3c0xDd3NHQmdjTEN3c0xDd3NMQ0FrS0MwR01BeUVCUVlDTUZTRUNEQWtMUVl3RElRRkJnTmczSVFJTUNBdEJtQVloQVVHQXNPOEFJUUlNQnd0QjFBd2hBVUdBN0wwQklRSU1CZ3RCa0J3aEFVR0E4S1VESVFJTUJRdEJnQ2doQVVHQWdPQURJUUlNQkF0QmdNQUFJUUZCZ0lDQUJpRUNEQU1MUVlERUFDRUJRWUNBc0FZaEFnd0NDMEhBckFFaEFVR0F3SnNVSVFJTUFRdEJnS0FDSVFGQmdJRGdJU0VDQ3lBQklBVWdCbXdpQVU4TkFRc2dCRUgvLy8vL0J6WUNEQ0FES0FJc0lRSU1BUXNnQkNBQ0lBRkJnQU5zYmlJQlFSQWdBVUVRU1JzaUFUWUNEQ0FES0FJc0lnSWdBVTBOQVFzZ0JDQUNOZ0lNSUFJaEFRc2dBeUFCTmdKWVFRRWhBU0FBUVFFUUF5SUNRWDlHRFFBZ0F5QUNRUUZHTmdKUUFrQWdBa0VCUncwQUlBTkJ1QWNRQ2lJQk5nSlVJQUZGQkVCQi8vOERJUUVNQWdzZ0FDQUJFQ3dpQVEwQklBTW9BbFFpQWlnQ21BZEZEUUJCQVNFQklBSW9BckFISUFJb0FyUUhJZ0pMRFFFZ0FpQURLQUlzU1EwQklBSWdBeWdDV0VzTkFTQURJQUpCQVNBQ0d6WUNXQXNnQUJBZlFRQWhBUXNnQkVFUWFpUUFJQUVMalFRQkRuOGdBUUovQWtBZ0FDOEJJQ0lIRFFBZ0FDOEJIQTBBUVFBTUFRdEJBZ3MyQWlBZ0FRSi9Ba0FnQUM4QklpSUNEUUFnQUM4QkhnMEFRUUFNQVF0QkFnczJBaWdnQVFKL0FrQWdBQzhCS0NJRERRQWdBQzhCSkEwQVFRQU1BUXRCQWdzMkFqQWdBUUovQWtBZ0FDOEJLaUlJRFFBZ0FDOEJKZzBBUVFBTUFRdEJBZ3MyQWpnZ0FTQUhJQUF2QVN3aUNYSkJBRWRCQVhRMkFrQWdBU0FDSUFBdkFTNGlCSEpCQUVkQkFYUTJBa2dnQVNBRElBQXZBVFFpQlhKQkFFZEJBWFEyQWxBZ0FTQUlJQUF2QVRZaUNuSkJBRWRCQVhRMkFsZ2dBU0FBTHdFd0lnMGdDWEpCQUVkQkFYUTJBbUFnQVNBQUx3RXlJZ3NnQkhKQkFFZEJBWFEyQW1nZ0FTQUFMd0U0SWd3Z0JYSkJBRWRCQVhRMkFuQWdBU0FBTHdFNklnNGdDbkpCQUVkQkFYUTJBbmhCQWlFR0lBRWdBQzhCSGlJUEJIOUJBZ1VnQUM4QkhFRUFSMEVCZEFzMkFnd2dBU0FQSUFBdkFTUWlCbkpCQUVkQkFYUTJBaFFnQUM4QkppRUFJQUVnRENBT2NrRUFSMEVCZERZQ2ZDQUJJQXNnREhKQkFFZEJBWFEyQW5RZ0FTQUxJQTF5UVFCSFFRRjBOZ0pzSUFFZ0JTQUtja0VBUjBFQmREWUNYQ0FCSUFRZ0JYSkJBRWRCQVhRMkFsUWdBU0FFSUFseVFRQkhRUUYwTmdKTUlBRWdBeUFJY2tFQVIwRUJkRFlDUENBQklBSWdBM0pCQUVkQkFYUTJBalFnQVNBQ0lBZHlRUUJIUVFGME5nSXNJQUVnQUNBR2NrRUFSMEVCZERZQ0hBdk1CZ0VMZnlNQVFZQU9heUlPSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0NHb2dCRXNOQUNBSFFRVnFJZ29nQTJvZ0JVc05BQ0FFSVFnZ0F5RUpEQUVMSUFBZ0RrSEFDbW9nQWlBRElBUWdCU0FJSUFkQkJXb2lDaUFJRUF3Z0RrSEFDbW9oQUVFQUlRSUxBa0FnQ2tVTkFDQUdRUUoySWhCRkRRQWdDQ0FHYXlFUklBQWdDQ0FKYkNBQ2FtcEJCV29oQWlBT0lRQURRQ0FDUVg5cUxRQUFJUWdnQWtGK2FpMEFBQ0VESUFKQmZXb3RBQUFoQlNBQ1FYeHFMUUFBSVFRZ0FrRjdhaTBBQUNFTUlCQWhEUU5BSUFBZ0FpMEFBQ0lKSUF3Z0JDQUlhaUlMYXlBRElBVnFRUlJzYWlBTFFRSjBhMm8yQWdBZ0FDQUNMUUFCSWdzZ0F5QUlha0VVYkNBRWFpQUZJQWxxSWdScklBUkJBblJyYWpZQ0JDQUFJQUl0QUFJaUR5QUlJQWxxUVJSc0lBVnFJQU1nQzJvaUJHc2dCRUVDZEd0cU5nSUlJQUFnQWkwQUF5SVNJQWtnQzJwQkZHd2dBMm9nQ0NBUGFpSURheUFEUVFKMGEybzJBZ3dnQUVFUWFpRUFJQUpCQkdvaEFpQUlJUXdnQ1NFRUlBc2hCU0FQSVFNZ0VpRUlJQTFCZjJvaURRMEFDeUFDSUJGcUlRSWdDa0YvYWlJS0RRQUxDd0pBSUFkQkFuWWlCMFVOQUNBR1JRMEFRY0FBSUFacklROGdEaUFHUVFKMGFpSUlJQVpCRkd4cUlRSkJBQ0FHYXlJUVFRTjBJUklnQmtFRGRDRUpJQVpCQTJ4QkFuUWhDd05BSUFZaEJBTkFJQUVnQ0NBSmFpZ0NBQ0lBSUFJZ0NXb29BZ0FnQWlBR1FRSjBJZzFxS0FJQUlnb2dBaUFTYWlnQ0FDSURhaUlGYXlBRlFRSjBhMm9nQWlnQ0FDSU1JQUlnRUVFQ2RDSVJhaWdDQUNJRmFrRVViR3BCZ0FScVFRcDFRYkF1YWkwQUFEb0FNQ0FCSUFnZ0RXb29BZ0FpRFNBS0lBTWdCV3BCRkd4cUlBQWdER29pQ21zZ0NrRUNkR3RxUVlBRWFrRUtkVUd3TG1vdEFBQTZBQ0FnQVNBSUtBSUFJZ29nRENBQUlBTnFRUlJzYWlBRklBMXFJZ3hySUF4QkFuUnJha0dBQkdwQkNuVkJzQzVxTFFBQU9nQVFJQUVnQ0NBUmFpZ0NBQ0FGSUFBZ0RXcEJGR3hxSUFNZ0Ntb2lBR3NnQUVFQ2RHdHFRWUFFYWtFS2RVR3dMbW90QUFBNkFBQWdDRUVFYWlFSUlBRkJBV29oQVNBQ1FRUnFJUUlnQkVGL2FpSUVEUUFMSUFFZ0Qyb2hBU0FDSUF0cUlRSWdDQ0FMYWlFSUlBZEJmMm9pQncwQUN3c2dEa0dBRG1va0FBdmxBd0VKZnlNQVFjQURheUlLSkFBZ0JrRUZhaUVJQWtBQ1FDQUNRUUJJRFFBZ0F5QUhhaUFGU3cwQUlBTkJBRWdOQUNBQ0lBaHFJQVJMRFFBZ0JDRUlJQU1oQ1F3QkN5QUFJQW9nQWlBRElBUWdCU0FJSUFjZ0NCQU1JQW9oQUVFQUlRSUxBa0FnQjBVTkFDQUdRUUoySWcxRkRRQkJFQ0FHYXlFT0lBZ2dCbXNoRHlBQUlBZ2dDV3dnQW1wcVFRVnFJUUlEUUNBQ1FYOXFMUUFBSVFnZ0FrRithaTBBQUNFR0lBSkJmV290QUFBaEFDQUNRWHhxTFFBQUlRVWdBa0Y3YWkwQUFDRUpJQTBoQ3dOQUlBRWdBaTBBQUNJRElBa2dCU0FJYWlJRWF5QUFJQVpxUVJSc2FpQUVRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FBSUFFZ0FpMEFBU0lFSUFVZ0JpQUlha0VVYkdvZ0FDQURhaUlGYXlBRlFRSjBhMnBCRUdwQkJYVkJzQzVxTFFBQU9nQUJJQUVnQWkwQUFpSU1JQUFnQXlBSWFrRVViR29nQkNBR2FpSUFheUFBUVFKMGEycEJFR3BCQlhWQnNDNXFMUUFBT2dBQ0lBRWdBaTBBQXlJUUlBWWdBeUFFYWtFVWJHb2dDQ0FNYWlJQWF5QUFRUUowYTJwQkVHcEJCWFZCc0M1cUxRQUFPZ0FESUFGQkJHb2hBU0FDUVFScUlRSWdDQ0VKSUFNaEJTQUVJUUFnRENFR0lCQWhDQ0FMUVg5cUlnc05BQXNnQVNBT2FpRUJJQUlnRDJvaEFpQUhRWDlxSWdjTkFBc0xJQXBCd0FOcUpBQUw5UU1CQzM4akFFSEFBMnNpQ3lRQUFrQUNRQ0FDUVFCSURRQWdBMEVBU0EwQUlBSWdCbW9nQkVzTkFDQURJQWRxUVFWcUlBVkxEUUFnQXlFSURBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFZZ0IwRUZhaUFHRUF3Z0N5RUFJQVloQkVFQUlRSUxBa0FnQjBFQ2RpSU1SUTBBSUFaRkRRQkJ3QUFnQm1zaEVTQUVRUUYwSVEwZ0JFRUNkQ0FHYXlFT1FRQWdCR3NpRDBFQmRDRVNJQUFnQkNBSWJDQUNhbW9nQkdvaUJ5QUVRUVZzYWlFQ0EwQWdCaUVBQTBBZ0FTQUhJQTFxTFFBQUlnTWdBaUFOYWkwQUFDQUNJQVJxTFFBQUlna2dBaUFTYWkwQUFDSUZhaUlJYXlBSVFRSjBhMm9nQWkwQUFDSUtJQUlnRDJvdEFBQWlDR3BCRkd4cVFSQnFRUVYxUWJBdWFpMEFBRG9BTUNBQklBUWdCMm90QUFBaUVDQUpJQVVnQ0dwQkZHeHFJQU1nQ21vaUNXc2dDVUVDZEd0cVFSQnFRUVYxUWJBdWFpMEFBRG9BSUNBQklBY3RBQUFpQ1NBS0lBTWdCV3BCRkd4cUlBZ2dFR29pQ21zZ0NrRUNkR3RxUVJCcVFRVjFRYkF1YWkwQUFEb0FFQ0FCSUFjZ0Qyb3RBQUFnQ0NBRElCQnFRUlJzYWlBRklBbHFJZ05ySUFOQkFuUnJha0VRYWtFRmRVR3dMbW90QUFBNkFBQWdCMEVCYWlFSElBRkJBV29oQVNBQ1FRRnFJUUlnQUVGL2FpSUFEUUFMSUFFZ0VXb2hBU0FDSUE1cUlRSWdCeUFPYWlFSElBeEJmMm9pREEwQUN3c2dDMEhBQTJva0FBdXFCZ0VOZnlNQVFiQUJheUlSSkFBZ0NFRUJhaUVLQWtBQ1FDQUNRUUJJRFFBZ0EwRUFTQTBBSUFJZ0Ntb2dCRXNOQUNBRElBbHFRUUZxSUFWTERRQWdCU0VNSUFRaENpQURJUThNQVFzZ0FDQVJJQUlnQXlBRUlBVWdDaUFKUVFGcUlnd2dDaEFNSUFBZ0JDQUZiR29nRVNBS0lBeHNhaUFDSUFNZ0JDQUZJQW9nRENBS0VBd2dFU0VBUVFBaEFnc0NRQ0FKUVFGMklnVkZEUUFnQ0VFQmRpSUVSUTBBUVJBZ0NHc2hFMEVJSUFkcklRdEJDQ0FHYXlFTklBcEJBWFFpRGlBSWF5RVVJQUFnQW1vaUZpQUtJQTlzYWlFQ0lBRWhBQ0FGSVJVRFFDQUNJQTVxTFFBQUlBZHNJQXNnQWlBS2FpMEFBQ0lEYkdvaENDQURJQWRzSUFzZ0FpMEFBR3hxSVFrZ0JDRURBMEFnQWtFQmFpSVFJQTVxTFFBQUlSSWdBQ0FKSUExc0lBb2dFR290QUFBaUNTQUhiQ0FMSUFJdEFBRnNhaUlRSUFac2FrRWdha0VHZGpvQUFDQUFJQWdnRFd3Z0J5QVNiQ0FKSUF0c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ0NBQ0xRQUNJUWtnQWtFQ2FpSUNJQTVxTFFBQUlSSWdBQ0FOSUJCc0lBSWdDbW90QUFBaUVDQUhiQ0FKSUF0c2FpSUpJQVpzYWtFZ2FrRUdkam9BQVNBQUlBZ2dEV3dnQnlBU2JDQUxJQkJzYWlJSUlBWnNha0VnYWtFR2Rqb0FDU0FBUVFKcUlRQWdBMEYvYWlJRERRQUxJQUlnRkdvaEFpQUFJQk5xSVFBZ0ZVRi9haUlWRFFBTElBRkJRR3NoQUNBV0lBd2dEMm9nQ214cUlRSURRQ0FDSUE1cUxRQUFJQWRzSUFzZ0FpQUthaTBBQUNJQmJHb2hDQ0FCSUFkc0lBc2dBaTBBQUd4cUlRa2dCQ0VEQTBBZ0FrRUJhaUlCSUE1cUxRQUFJUXdnQUNBSklBMXNJQUVnQ21vdEFBQWlBU0FIYkNBTElBSXRBQUZzYWlJSklBWnNha0VnYWtFR2Rqb0FBQ0FBSUFnZ0RXd2dCeUFNYkNBQklBdHNhaUlCSUFac2FrRWdha0VHZGpvQUNDQUNMUUFDSVFnZ0FrRUNhaUlDSUE1cUxRQUFJUXdnQUNBSklBMXNJQUlnQ21vdEFBQWlEeUFIYkNBSUlBdHNhaUlKSUFac2FrRWdha0VHZGpvQUFTQUFJQUVnRFd3Z0J5QU1iQ0FMSUE5c2FpSUlJQVpzYWtFZ2FrRUdkam9BQ1NBQVFRSnFJUUFnQTBGL2FpSUREUUFMSUFJZ0ZHb2hBaUFBSUJOcUlRQWdCVUYvYWlJRkRRQUxDeUFSUWJBQmFpUUFDLzlFQVVGL0l3QkJzQUZySWdNa0FDQUFLQUlJSWdRRVFDQUFLQUlFSWg5QkEzUWhGaUFFSUI5c0lnUkJCblFoT3lBRVFRaDBJVHdnSDBFR2RDRTlJQjlCTUd3aFBpQWZRUVYwSVNVZ0gwRlFiQ0VyUVFBZ0gwRUVkQ0lhYXlJb1FRSjBJVDhnS0VFQmRDRXNJQU5CR0dvaElpQURRUXh5SVNNRFFBSkFJQUVvQWdnaUNVRUJSZzBBQWtBQ1FBSkFBa0FnQVNnQ3lBRWlBa1VFUUVFQklRWU1BUXRCQlNFR0lBbEJBa2NOQUVFRlFRRWdBU2dDQkNJSklBSW9BZ1JHR3lFR0lBRW9Bc3dCSWdRTkFVRUFJUVFNQXdzZ0FTZ0N6QUVpQkVVRVFFRUFJUVFNQXdzZ0NVRUNSdzBCSUFFb0FnUWhDUXNnQ1NBRUtBSUVSdzBCQ3lBR1FRSnlJUVlMQW44Z0JrRUNjU0l0QkVBQ1FDQUJLQUlBUVFWTkJFQWdCQ2dDQUVFR1NRMEJDeUFEUVFRMkFrQWdBMEVFTmdKSUlBTkJCRFlDT0NBRFFRUTJBakJCQVF3Q0MwRUNJUTlCQWlFSkFrQWdBUzhCSEEwQUlBUXZBVEFOQUVFQklRa2dBU2dDZENBRUtBSjhSdzBBSUFFdUFZUUJJQVF1QWF3QmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBRUxnR3VBV3NpQ1NBSlFSOTFJZ2xxSUFselFRTkxJUWtMSUFNZ0NUWUNNQUpBSUFFdkFSNE5BQ0FFTHdFeURRQkJBU0VQSUFFb0FuUWdCQ2dDZkVjTkFDQUJMZ0dJQVNBRUxnR3dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmlnRWdCQzRCc2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWpoQkFpRUZRUUloQ2dKQUlBRXZBU1FOQUNBRUx3RTREUUJCQVNFS0lBRW9BbmdnQkNnQ2dBRkhEUUFnQVM0QmxBRWdCQzRCdkFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBWllCSUFRdUFiNEJheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSkFBa0FnQVM4QkpnMEFJQVF2QVRvTkFFRUJJUVVnQVNnQ2VDQUVLQUtBQVVjTkFDQUJMZ0dZQVNBRUxnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0Qm1nRWdCQzRCd2dGcklnUWdCRUVmZFNJRWFpQUVjMEVEU3lFRkN5QURJQVUyQWtnZ0NTQVBjaUFLY2lBRmNrRUFSd3dCQ3lBRFFRQTJBa0FnQTBFQU5nSklJQU5CQURZQ09DQURRUUEyQWpCQkFBc2hDUUpBQWtBQ1FBSkFJQVpCQkhFaUxnUkFBa0FnQVNnQ0FDSUdRUVZOQkVBZ0FpZ0NBRUVHU1EwQkN5QURRUVEyQW5RZ0EwRUVOZ0tVQVNBRFFRUTJBbFFnQTBFRU5nSTBRUUVoQ1F3Q0MwRUNJUTlCQWlFRUFrQWdBUzhCSEEwQUlBSXZBU1lOQUVFQklRUWdBU2dDZENBQ0tBSjRSdzBBSUFFdUFZUUJJQUl1QVpnQmF5SUZJQVZCSDNVaUJXb2dCWE5CQTBzTkFDQUJMZ0dHQVNBQ0xnR2FBV3NpQkNBRVFSOTFJZ1JxSUFSelFRTkxJUVFMSUFNZ0JEWUNOQUpBSUFFdkFTQU5BQ0FDTHdFcURRQkJBU0VQSUFFb0FuUWdBaWdDZUVjTkFDQUJMZ0dNQVNBQ0xnR2dBV3NpQlNBRlFSOTFJZ1ZxSUFWelFRTkxEUUFnQVM0QmpnRWdBaTRCb2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFUEN5QURJQTgyQWxSQkFpRUZRUUloQ2dKQUlBRXZBU3dOQUNBQ0x3RTJEUUJCQVNFS0lBRW9BbndnQWlnQ2dBRkhEUUFnQVM0QnBBRWdBaTRCdUFGcklnZ2dDRUVmZFNJSWFpQUljMEVEU3cwQUlBRXVBYVlCSUFJdUFib0JheUlJSUFoQkgzVWlDR29nQ0hOQkEwc2hDZ3NnQXlBS05nSjBBa0FnQVM4Qk1BMEFJQUl2QVRvTkFFRUJJUVVnQVNnQ2ZDQUNLQUtBQVVjTkFDQUJMZ0dzQVNBQ0xnSEFBV3NpQ0NBSVFSOTFJZ2hxSUFoelFRTkxEUUFnQVM0QnJnRWdBaTRCd2dGcklnVWdCVUVmZFNJRmFpQUZjMEVEU3lFRkN5QURJQVUyQXBRQklBbEZEUUpCQVNFSkRBTUxJQU5CQURZQ2RDQURRUUEyQXBRQklBTkJBRFlDVkNBRFFRQTJBalFnQVNnQ0FDRUdDeUFHUVFaSkRRRWdBMEVETmdLZ0FTQURRb09BZ0lBd053S2tBU0FEUVFNMkFwQUJJQU5CQXpZQ2NDQURRUU0yQXF3QklBTkNnNENBZ0RBM0E1Z0JJQU5DZzRDQWdEQTNBNGdCSUFOQ2c0Q0FnREEzQTRBQklBTkNnNENBZ0RBM0EzZ2dBMEtEZ0lDQU1EY0RhQ0FEUW9PQWdJQXdOd05nSUFOQ2c0Q0FnREEzQTFnZ0EwS0RnSUNBTURjQ1RDQURRUU0yQWtRZ0EwRUROZ0k4REFJTElBUWdEM0lnQ25JZ0JYSkJBRWNoQ1FzQ1FBSi9JQVpCQTAwRVFDQUdRUUowUVl3MWFpZ0NBQXdCQzBFRUMwRUJSZ1JBSUFFZ0EwRXdhaEJFSUFNb0Fxd0JJUWNnQXlnQ3BBRWhEaUFES0FLY0FTRVFJQU1vQW93QklSa2dBeWdDaEFFaEJpQURLQUo4SVJjZ0F5Z0NiQ0VJSUFNb0FtUWhCQ0FES0FKY0lSUWdBeWdDVENFTUlBTW9Ba1FoQWlBREtBSThJUkVnQXlnQ3FBRWhIQ0FES0FLZ0FTRW1JQU1vQXBnQklRMGdBeWdDa0FFaEhTQURLQUtJQVNFU0lBTW9Bb0FCSVJVZ0F5Z0NlQ0ViSUFNb0FuQWhFeUFES0FKb0lRb2dBeWdDWUNFUElBTW9BbGdoQlNBREtBSlFJU2NNQVFzZ0F3Si9Ba0FnQXdKL0FrQUNRQ0FCS0FJQVFYNXFJZ1JCQVUwRVFDQUVRUUZyQkVBZ0F3Si9Ba0FnQVM4QklDSUVEUUFnQVM4QkhBMEFRUUFNQVF0QkFnc2lKellDVUNBREFuOENRQ0FCTHdFaUlnY05BQ0FCTHdFZURRQkJBQXdCQzBFQ0N5SUZOZ0pZSUFNQ2Z3SkFJQUV2QVNnaUJnMEFJQUV2QVNRTkFFRUFEQUVMUVFJTElnODJBbUFnQXdKL0FrQWdBUzhCS2lJT0RRQWdBUzhCSmcwQVFRQU1BUXRCQWdzaUNqWUNhQ0FEQW44Q1FDQUJMd0V3SWg0TkFDQUJMd0VzRFFCQkFBd0JDMEVDQ3lJZE5nS1FBU0FEQW44Q1FDQUJMd0V5SWhBTkFDQUJMd0V1RFFCQkFBd0JDMEVDQ3lJTk5nS1lBU0FEQW44Q1FDQUJMd0U0SWdzTkFDQUJMd0UwRFFCQkFBd0JDMEVDQ3lJbU5nS2dBU0FEQW44Q1FDQUJMd0U2SWhnTkFDQUJMd0UyRFFCQkFBd0JDMEVDQ3lJY05nS29BVUVDSVJ0QkFpRVRBa0FnQkNBQkx3RXNJaGR5RFFCQkFTRVRJQUV1QWFRQklBRXVBWXdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQkxnR21BU0FCTGdHT0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdBU2dDZkNBQktBSjBSeUVUQ3lBRElCTTJBbkFDUUNBSElBRXZBUzRpSUhJTkFFRUJJUnNnQVM0QnFBRWdBUzRCa0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRXVBYW9CSUFFdUFaSUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FCS0FKOElBRW9BblJISVJzTElBTWdHellDZUVFQ0lSSkJBaUVWQWtBZ0JpQUJMd0UwSWhseURRQkJBU0VWSUFFdUFiUUJJQUV1QVp3QmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJMZ0cyQVNBQkxnR2VBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEZRc2dBeUFWTmdLQUFRSkFJQTRnQVM4Qk5pSWhjZzBBUVFFaEVpQUJMZ0c0QVNBQkxnR2dBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVM0QnVnRWdBUzRCb2dGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9Bb0FCSUFFb0FuaEhJUklMSUFNZ0VqWUNpQUVnQVM4QkhnMENJQUV2QVJ3RVFFRUNJUkVnQTBFQ05nSThJQUV2QVNRaUNBMEdRUUFoREVFQURBY0xRUUFoRVNBRFFRQTJBanhCQUNFTVFRQWdBUzhCSkNJSVJRMEdHZ3dGQ3lBREFuOENRQ0FCTHdFZ0lnSU5BQ0FCTHdFY0RRQkJBQXdCQzBFQ0N5SW5OZ0pRSUFNQ2Z3SkFJQUV2QVNJaUJnMEFJQUV2QVI0TkFFRUFEQUVMUVFJTElnVTJBbGdnQXdKL0FrQWdBUzhCS0NJT0RRQWdBUzhCSkEwQVFRQU1BUXRCQWdzaUR6WUNZQ0FEQW44Q1FDQUJMd0VxSWdnTkFDQUJMd0VtRFFCQkFBd0JDMEVDQ3lJS05nSm9JQU1nQWlBQkx3RXNJaGR5UVFCSFFRRjBJaE0yQW5BZ0F5QUdJQUV2QVM0aUMzSkJBRWRCQVhRaUd6WUNlQ0FESUE0Z0FTOEJOQ0llY2tFQVIwRUJkQ0lWTmdLQUFTQURJQWdnQVM4Qk5pSVpja0VBUjBFQmRDSVNOZ0tJQVNBRElBRXZBVEFpRUNBWGNrRUFSMEVCZENJZE5nS1FBU0FESUFFdkFUSWlJQ0FMY2tFQVIwRUJkQ0lOTmdLWUFTQURJQUV2QVRnaUlTQWVja0VBUjBFQmRDSW1OZ0tnQVNBRElBRXZBVG9pQnlBWmNrRUFSMEVCZENJY05nS29BU0FEQW44Q1FDQUJMd0VlSWlRTkFDQUJMd0VjRFFCQkFBd0JDMEVDQ3lJUk5nSThJQUV2QVNZRVFDQUJMd0VrSVJnTUF3c2dBUzhCSkNJWURRSkJBQ0VZUVFBTUF3c2dBUzRCaGdFaEZDQUJMZ0dPQVNFRVFRSWhCU0FEQW45QkFpQUJMd0VjSWhFZ0FTOEJJQ0l2Y2cwQUdrRUJJQUV1QVl3QklBRXVBWVFCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUJvZ0JDQVVheUlHSUFaQkgzVWlCbW9nQm5OQkEwc0xJaWMyQWxBZ0FTNEJpZ0VoQ0NBQkxnR1NBU0VHQWtBZ0FTOEJIaUl3SUFFdkFTSWlFSElOQUVFQklRVWdBUzRCa0FFZ0FTNEJpQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBSUFZZ0NHc2lCU0FGUVI5MUlnVnFJQVZ6UVFOTElRVUxJQU1nQlRZQ1dDQUJMZ0dXQVNFTUlBRXVBWjRCSVFkQkFpRUtJQU1DZjBFQ0lBRXZBU1FpTVNBQkx3RW9JaGR5RFFBYVFRRWdBUzRCbkFFZ0FTNEJsQUZySWdJZ0FrRWZkU0lDYWlBQ2MwRURTdzBBR2lBSElBeHJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN3c2lEellDWUNBQkxnR2FBU0V5SUFFdUFhSUJJUXNDUUNBQkx3RW1Ja0FnQVM4QktpSXpjZzBBUVFFaENpQUJMZ0dnQVNBQkxnR1lBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQ3lBeWF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzaENnc2dBeUFLTmdKb0lBRXVBYVlCSVI1QkFpRWJRUUloRXdKQUlDOGdBUzhCTENJMGNnMEFRUUVoRXlBQkxnR2tBU0FCTGdHTUFXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWdIaUFFYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBQktBSjhJQUVvQW5SSElSTUxJQU1nRXpZQ2NDQUJMZ0dxQVNFT0FrQWdFQ0FCTHdFdUloaHlEUUJCQVNFYklBRXVBYWdCSUFFdUFaQUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQ0FPSUFacklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlBRW9BbndnQVNnQ2RFY2hHd3NnQXlBYk5nSjRJQUV1QWJZQklSbEJBaUVTUVFJaEZRSkFJQmNnQVM4Qk5DSWdjZzBBUVFFaEZTQUJMZ0cwQVNBQkxnR2NBV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnR1NBSGF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTkFDQUJLQUtBQVNBQktBSjRSeUVWQ3lBRElCVTJBb0FCSUFFdUFib0JJU0VDUUNBeklBRXZBVFlpTlhJTkFFRUJJUklnQVM0QnVBRWdBUzRCb0FGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlDRWdDMnNpQWlBQ1FSOTFJZ0pxSUFKelFRTkxEUUFnQVNnQ2dBRWdBU2dDZUVjaEVnc2dBeUFTTmdLSUFTQUJMZ0d1QVNFMlFRSWhEU0FEQW45QkFpQTBJQUV2QVRBaVFYSU5BQnBCQVNBQkxnR3NBU0FCTGdHa0FXc2lBaUFDUVI5MUlnSnFJQUp6UVFOTERRQWFJRFlnSG1zaUFpQUNRUjkxSWdKcUlBSnpRUU5MQ3lJZE5nS1FBU0FCTGdHeUFTRWtBa0FnR0NBQkx3RXlJamR5RFFCQkFTRU5JQUV1QWJBQklBRXVBYWdCYXlJQ0lBSkJIM1VpQW1vZ0FuTkJBMHNOQUNBa0lBNXJJZ0lnQWtFZmRTSUNhaUFDYzBFRFN5RU5DeUFESUEwMkFwZ0JJQUV1QWI0QklTbEJBaUVjSUFNQ2YwRUNJQ0FnQVM4Qk9DSTRjZzBBR2tFQklBRXVBYndCSUFFdUFiUUJheUlDSUFKQkgzVWlBbW9nQW5OQkEwc05BQm9nS1NBWmF5SUNJQUpCSDNVaUFtb2dBbk5CQTBzTElpWTJBcUFCSUFFdUFjSUJJVGtDUUNBMUlBRXZBVG9pUW5JTkFFRUJJUndnQVM0QndBRWdBUzRCdUFGcklnSWdBa0VmZFNJQ2FpQUNjMEVEU3cwQUlEa2dJV3NpQWlBQ1FSOTFJZ0pxSUFKelFRTkxJUndMSUFNZ0hEWUNxQUZCQWlFQ0lBTUNmMEVDSUJFZ01ISU5BQnBCQVNBQkxnR0lBU0FCTGdHRUFXc2lFU0FSUVI5MUloRnFJQkZ6UVFOTERRQWFJQWdnRkdzaUZDQVVRUjkxSWhScUlCUnpRUU5MQ3lJUk5nSThBa0FnTUNBeGNnMEFRUUVoQWlBQkxnR1VBU0FCTGdHSUFXc2lGQ0FVUVI5MUloUnFJQlJ6UVFOTERRQWdEQ0FJYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBQktBSjRJQUVvQW5SSElRSUxJQU1nQWpZQ1JFRUNJUlFnQXdKL1FRSWdNU0JBY2cwQUdrRUJJQUV1QVpnQklBRXVBWlFCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUJvZ01pQU1heUlJSUFoQkgzVWlDR29nQ0hOQkEwc0xJZ3cyQWt3Q1FDQVFJQzl5RFFCQkFTRVVJQUV1QVpBQklBRXVBWXdCYXlJSUlBaEJIM1VpQ0dvZ0NITkJBMHNOQUNBR0lBUnJJZ1FnQkVFZmRTSUVhaUFFYzBFRFN5RVVDeUFESUJRMkFseEJBaUVJUVFJaEJBSkFJQkFnRjNJTkFFRUJJUVFnQVM0Qm5BRWdBUzRCa0FGckloQWdFRUVmZFNJUWFpQVFjMEVEU3cwQUlBY2dCbXNpQmlBR1FSOTFJZ1pxSUFaelFRTkxEUUFnQVNnQ2VDQUJLQUowUnlFRUN5QURJQVEyQW1RQ1FDQVhJRE55RFFCQkFTRUlJQUV1QWFBQklBRXVBWndCYXlJR0lBWkJIM1VpQm1vZ0JuTkJBMHNOQUNBTElBZHJJZ1lnQmtFZmRTSUdhaUFHYzBFRFN5RUlDeUFESUFnMkFteEJBaUVHSUFNQ2YwRUNJQmdnTkhJTkFCcEJBU0FCTGdHb0FTQUJMZ0drQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBYUlBNGdIbXNpQnlBSFFSOTFJZ2RxSUFkelFRTkxDeUlYTmdKOEFrQWdHQ0FnY2cwQVFRRWhCaUFCTGdHMEFTQUJMZ0dvQVdzaUJ5QUhRUjkxSWdkcUlBZHpRUU5MRFFBZ0dTQU9heUlISUFkQkgzVWlCMm9nQjNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQlFRSWhFQ0FEQW45QkFpQWdJRFZ5RFFBYVFRRWdBUzRCdUFFZ0FTNEJ0QUZySWdjZ0IwRWZkU0lIYWlBSGMwRURTdzBBR2lBaElCbHJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN3c2lHVFlDakFFQ1FDQTNJRUZ5RFFCQkFTRVFJQUV1QWJBQklBRXVBYXdCYXlJSElBZEJIM1VpQjJvZ0IzTkJBMHNOQUNBa0lEWnJJZ2NnQjBFZmRTSUhhaUFIYzBFRFN5RVFDeUFESUJBMkFwd0JRUUloQjBFQ0lRNENRQ0EzSURoeURRQkJBU0VPSUFFdUFid0JJQUV1QWJBQmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQXBJQ1JySWdzZ0MwRWZkU0lMYWlBTGMwRURTdzBBSUFFb0FvQUJJQUVvQW54SElRNExJQU1nRGpZQ3BBRUNRQ0E0SUVKeURRQkJBU0VISUFFdUFjQUJJQUV1QWJ3QmF5SUxJQXRCSDNVaUMyb2dDM05CQTBzTkFDQTVJQ2xySWdjZ0IwRWZkU0lIYWlBSGMwRURTeUVIQ3lBRElBYzJBcXdCREFVTFFRSWhFU0FEUVFJMkFqd2dBUzhCSkNFSURBSUxRUUlMSWd3MkFreEJBaUVFSUFOQkFpQUlRUUJIUVFGMElBNGJJZ2cyQW13Z0EwRUNJQVpCQUVkQkFYUWdBaHNpRkRZQ1hDQURJQWNnSVhKQkFFZEJBWFFpQnpZQ3JBRWdBeUFRSUNCeVFRQkhRUUYwSWhBMkFwd0JJQU1nR1NBZWNrRUFSMEVCZENJWk5nS01BU0FESUFzZ0YzSkJBRWRCQVhRaUZ6WUNmRUVDSVFJQ1FDQVlJQ1J5RFFCQkFTRUNJQUV1QVpRQklBRXVBWWdCYXlJWUlCaEJIM1VpR0dvZ0dITkJBMHNOQUNBQkxnR1dBU0FCTGdHS0FXc2lHQ0FZUVI5MUloaHFJQmh6UVFOTERRQWdBU2dDZUNBQktBSjBSeUVDQ3lBRElBSTJBa1FDUUNBR0lBNXlEUUJCQVNFRUlBRXVBWndCSUFFdUFaQUJheUlHSUFaQkgzVWlCbW9nQm5OQkEwc05BQ0FCTGdHZUFTQUJMZ0dTQVdzaUJpQUdRUjkxSWdacUlBWnpRUU5MRFFBZ0FTZ0NlQ0FCS0FKMFJ5RUVDeUFESUFRMkFtUkJBaUVPUVFJaEJnSkFJQXNnSG5JTkFFRUJJUVlnQVM0QnRBRWdBUzRCcUFGcklnc2dDMEVmZFNJTGFpQUxjMEVEU3cwQUlBRXVBYllCSUFFdUFhb0JheUlMSUF0QkgzVWlDMm9nQzNOQkEwc05BQ0FCS0FLQUFTQUJLQUo4UnlFR0N5QURJQVkyQW9RQkFrQWdJQ0FoY2cwQVFRRWhEaUFCTGdHOEFTQUJMZ0d3QVdzaUN5QUxRUjkxSWd0cUlBdHpRUU5MRFFBZ0FTNEJ2Z0VnQVM0QnNnRnJJZ3NnQzBFZmRTSUxhaUFMYzBFRFN3MEFJQUVvQW9BQklBRW9BbnhISVE0TElBTWdEallDcEFFTUFnc2dDQ0VNUVFJTElnSTJBa1FnQXlBQkx3RW1JQXhCLy84RGNYSkJBRWRCQVhRaUREWUNUQ0FEQW44Q1FDQUhSUVJBSUFRRVFFRUNJUlFnQTBFQ05nSmNJQVlOQWtFQURBTUxRUUFoRkNBRFFRQTJBbHhCQUNBR1JRMENHZ3dCQzBFQ0lSUWdBMEVDTmdKY0MwRUNDeUlFTmdKa0lBTkJBaUFPUVFCSFFRRjBJQVliSWdnMkFtd2dBd0ovQWtBZ0lFVUVRQ0FYQkVCQkFpRVhJQU5CQWpZQ2ZDQVpEUUpCQUF3REMwRUFJUmNnQTBFQU5nSjhRUUFnR1VVTkFob01BUXRCQWlFWElBTkJBallDZkF0QkFnc2lCallDaEFFZ0F5QUxJQmh5UVFCSFFRRjBJZ2MyQXF3QklBTWdDeUFRY2tFQVIwRUJkQ0lPTmdLa0FTQURRUUlnRUVFQVIwRUJkQ0FlR3lJUU5nS2NBU0FESUJrZ0lYSkJBRWRCQVhRaUdUWUNqQUVMSUFrZ0ozSWdCWElnRDNJZ0NuSWdFM0lnRzNJZ0ZYSWdFbklnSFhJZ0RYSWdKbklnSEhJZ0VYSWdBbklnREhJZ0ZISWdCSElnQ0hJZ0YzSWdCbklnR1hJZ0VISWdEbklnQjNKRkRRRUxJQUVvQWd3aENTQURJQUVvQWhBaUJTQUJLQUlVSWdScUlnWkJNeUFHUVROSUd5SUdRUUFnQmtFQVNodEIwQmRxTFFBQUlnWTJBaUFnQXlBRUlBbHFJZ0pCTXlBQ1FUTklHeUlDUVFBZ0FrRUFTaHNpQ0VHUUYyb3RBQUFpQWpZQ0hDQURJQWhCQTJ4QmtCaHFJZ2cyQWhnQ1FDQXRSUTBBSUFRZ0FTZ0N6QUVvQWhRaUIwY0VRQ0FESUFRZ0IycEJBV3BCQVhZaUJ5QUZhaUlOUVRNZ0RVRXpTQnNpRFVFQUlBMUJBRW9iUWRBWGFpMEFBRFlDQ0NBRElBY2dDV29pQjBFeklBZEJNMGdiSWdkQkFDQUhRUUJLR3lJSFFaQVhhaTBBQURZQ0JDQURJQWRCQTJ4QmtCaHFOZ0lBREFFTElBTWdCallDQ0NBRElBSTJBZ1FnQXlBSU5nSUFDd0pBSUM1RkRRQWdCQ0FCS0FMSUFTZ0NGQ0lIUndSQUlBTWdCQ0FIYWtFQmFrRUJkaUlFSUFWcUlnVkJNeUFGUVROSUd5SUZRUUFnQlVFQVNodEIwQmRxTFFBQU5nSVVJQU1nQkNBSmFpSUVRVE1nQkVFelNCc2lCRUVBSUFSQkFFb2JJZ1JCa0JkcUxRQUFOZ0lRSUFNZ0JFRURiRUdRR0dvMkFnd01BUXNnQXlBR05nSVVJQU1nQWpZQ0VDQURJQWcyQWd3TElBQW9BZ0FnSHlBNmJDSVVRUWgwYWlBcVFRUjBhaUVKUVFBaEFrRURJUVFnQTBFd2FpRUdBMEFnQmlnQ0JDSUZCRUFnQ1NBRklDTWdHaEFaQ3lBR0tBSU1JZ1VFUUNBSlFRUnFJQVVnSWlBYUVCa0xJQVlvQWhRaUJRUkFJQWxCQ0dvZ0JTQWlJQm9RR1FzZ0JpZ0NIQ0lGQkVBZ0NVRU1haUFGSUNJZ0doQVpDeUFFSVFnQ1FBSkFBa0FnQmlnQ0FDSUVJQVlvQWdnaUQwY05BQ0FFSUFZb0FoQkhEUUFnQkNBR0tBSVlSdzBBSUFSRkRRSWdBeUFDUVF4c2FpSUZLQUlJSVF3Z0JTZ0NCQ0ViSUFSQkJFa05BU0FiUVFKMlFRSnFJUkJCRUNFUElBa2hCQU5BQWtBZ0JDQW9haUlDTFFBQUlnb2dCQzBBQUNJT2F5SUZJQVZCSDNVaUJXb2dCWE1pQnlBYlR3MEFJQVFnTEdvaUVTMEFBQ0lGSUFwcklnMGdEVUVmZFNJTmFpQU5jeUFNVHcwQUlBUWdHbW9pSEMwQUFDSVNJQTVySWcwZ0RVRWZkU0lOYWlBTmN5QU1UdzBBQWtBZ0J5QVFTUVJBSUFRZ0pXb2lGeTBBQUNFVkFuOGdCQ0FyYWlJTkxRQUFJaE1nQ21zaUJ5QUhRUjkxSWdkcUlBZHpJQXhKQkVCQkF5RWRJQUlnRWlBS0lBNXFJQVZxSWdKQkFYUnFJQk5xUVFScVFRTjJPZ0FBSUJFZ0FpQVRha0VDYWtFQ2Rqb0FBQ0FDUVFScUlSRWdCQ0EvYWkwQUFDRUhJQk5CQTJ3TUFRc2dDaUFTYWlFUklBVWhCMEVDSVIwZ0FpRU5RUUlMSVFJZ0RTQUNJQkZxSUFkQkFYUnFJQjEyT2dBQUlCVWdEbXNpQWlBQ1FSOTFJZ0pxSUFKeklBeFBEUUVnQkNBRklBb2dFbW9nRG1vaUFrRUJkR29nRldwQkJHcEJBM1k2QUFBZ0hDQUNJQlZxUVFKcVFRSjJPZ0FBSUJjZ0FpQVZRUU5zYWlBRUlENXFMUUFBUVFGMGFrRUVha0VEZGpvQUFBd0NDeUFDSUFvZ0Vtb2dCVUVCZEdwQkFtcEJBblk2QUFBTElBUWdCU0FPYWlBU1FRRjBha0VDYWtFQ2Rqb0FBQXNnQkVFQmFpRUVJQTlCZjJvaUR3MEFDd3dDQ3dKL0lBUUVRQ0FKSUFRZ0F5QUNRUXhzYWlBYUVCZ2dCaWdDQ0NFUEN5QVBDd1JBSUFsQkJHb2dEeUFESUFKQkRHeHFJQm9RR0FzZ0JpZ0NFQ0lFQkVBZ0NVRUlhaUFFSUFNZ0FrRU1iR29nR2hBWUN5QUdLQUlZSWdSRkRRRWdDVUVNYWlBRUlBTWdBa0VNYkdvZ0doQVlEQUVMSUFRZ0JTZ0NBR3BCZjJvdEFBQWlBa0VCYWlFSFFRQWdBbXNoRGtFUUlROGdDU0VFQTBBQ1FDQUVJQ2hxSWhNdEFBQWlEU0FFTFFBQUlncHJJZ1VnQlVFZmRTSUZhaUFGY3lBYlR3MEFJQVFnTEdvaUVTMEFBQ0lTSUExcklnVWdCVUVmZFNJRmFpQUZjeUFNVHcwQUlBUWdHbW9pRUMwQUFDSVZJQXBySWdVZ0JVRWZkU0lGYWlBRmN5QU1UdzBBSUFJaEJTQUVJQ3RxTFFBQUlod2dEV3NpSFNBZFFSOTFJaDFxSUIxeklBeEpCRUFnRVNBU0lBNGdBaUFLSUExcVFRRnFRUUYySUJKQkFYUnJJQnhxUVFGMUlnVWdCU0FDU2hzZ0JTQU9TQnRxT2dBQUlBY2hCUXNnRXlBTkFuOGdCQ0FsYWkwQUFDSVRJQXBySWhFZ0VVRWZkU0lSYWlBUmN5QU1TUVJBSUJBZ0ZTQU9JQUlnQ2lBTmFrRUJha0VCZGlBVlFRRjBheUFUYWtFQmRTSVRJQk1nQWtvYklCTWdEa2diYWpvQUFDQUZRUUZxSVFVTFFRQWdCV3NpRXdzZ0JTQVNJQlZySUFvZ0RXdEJBblJxUVFScVFRTjFJaElnRWlBRlNoc2dFaUFUU0JzaUJXcEJzQzVxTFFBQU9nQUFJQVFnQ2lBRmEwR3dMbW90QUFBNkFBQUxJQVJCQVdvaEJDQVBRWDlxSWc4TkFBc0xJQWhCZjJvaEJDQUdRU0JxSVFZZ0NTQTlhaUVKUVFJaEFpQUlEUUFMSUFFb0Fnd2hCQ0FESUFFb0FoQWlCU0FCS0FJVUlnWWdBU2dDR0NJQ2FpSUpRVE1nQ1VFelNCc2lDVUVBSUFsQkFFb2JRUUowUWVBOWFpZ0NBQ0lKYWlJSVFUTWdDRUV6U0JzaUNFRUFJQWhCQUVvYlFkQVhhaTBBQUNJSU5nSWdJQU1nQkNBSmFpSUhRVE1nQjBFelNCc2lCMEVBSUFkQkFFb2JJZzFCa0JkcUxRQUFJZ2MyQWh3Z0F5QU5RUU5zUVpBWWFpSU5OZ0lZQWtBZ0xVVU5BQ0FHSUFFb0Fzd0JLQUlVSWd4SEJFQWdBeUFKSUFJZ0RHb2lERUV6SUF4Qk0wZ2JJZ3hCQUNBTVFRQktHMEVDZEVIZ1BXb29BZ0JxUVFGcVFRRjJJZ3dnQldvaUQwRXpJQTlCTTBnYklnOUJBQ0FQUVFCS0cwSFFGMm90QUFBMkFnZ2dBeUFFSUF4cUlneEJNeUFNUVROSUd5SU1RUUFnREVFQVNoc2lERUdRRjJvdEFBQTJBZ1FnQXlBTVFRTnNRWkFZYWpZQ0FBd0JDeUFESUFnMkFnZ2dBeUFITmdJRUlBTWdEVFlDQUFzQ1FDQXVSUTBBSUFZZ0FTZ0N5QUVvQWhRaURFY0VRQ0FESUFVZ0NTQUNJQXhxSWdaQk15QUdRVE5JR3lJR1FRQWdCa0VBU2h0QkFuUkI0RDFxS0FJQWFrRUJha0VCZGlJSmFpSUZRVE1nQlVFelNCc2lCVUVBSUFWQkFFb2JRZEFYYWkwQUFEWUNGQ0FESUFRZ0NXb2lCRUV6SUFSQk0wZ2JJZ1JCQUNBRVFRQktHeUlFUVpBWGFpMEFBRFlDRUNBRElBUkJBMnhCa0JocU5nSU1EQUVMSUFNZ0NEWUNGQ0FESUFjMkFoQWdBeUFOTmdJTUN5QUFLQUlBSUR4cUlCUkJCblJxSUNwQkEzUnFJZ2tnTzJvaEJFRUFJUW9nQTBFd2FpRUdRUUFoQWdOQUlBWW9BZ1FpQlFSQUlBa2dCU0FqSUJZUUVDQUVJQVlvQWdRZ0l5QVdFQkFMSUFZb0FpUWlCUVJBSUFrZ0dtb2dCU0FqSUJZUUVDQUVJQnBxSUFZb0FpUWdJeUFXRUJBTElBWW9BaFFpQlFSQUlBbEJCR29nQlNBaUlCWVFFQ0FFUVFScUlBWW9BaFFnSWlBV0VCQUxJQVlvQWpRaUJRUkFJQWtnR21wQkJHb2dCU0FpSUJZUUVDQUVJQnBxUVFScUlBWW9BalFnSWlBV0VCQUxJQUloQlFKQUFrQWdCaWdDQUNJQ0lBWW9BZ2dpRDBjTkFDQUNJQVlvQWhCSERRQWdBaUFHS0FJWVJ3MEFJQUpGRFFFZ0NTQUNJQU1nQ2tFTWJHb2lBaUFXRUNzZ0JDQUdLQUlBSUFJZ0ZoQXJEQUVMQW44Z0FnUkFJQWtnQWlBRElBcEJER3hxSWdJZ0ZoQVNJQVFnQmlnQ0FDQUNJQllRRWlBR0tBSUlJUThMSUE4TEJFQWdDVUVDYWlBUElBTWdDa0VNYkdvaUFpQVdFQklnQkVFQ2FpQUdLQUlJSUFJZ0ZoQVNDeUFHS0FJUUlnSUVRQ0FKUVFScUlBSWdBeUFLUVF4c2FpSUNJQllRRWlBRVFRUnFJQVlvQWhBZ0FpQVdFQklMSUFZb0FoZ2lBa1VOQUNBSlFRWnFJQUlnQXlBS1FReHNhaUlDSUJZUUVpQUVRUVpxSUFZb0FoZ2dBaUFXRUJJTElBUWdKV29oQkNBSklDVnFJUWtnQmtGQWF5RUdRUUVoQWtFQ0lRb2dCVVVOQUFzTFFRQWdLa0VCYWlJRUlBUWdIMFlpQkJzaEtpQUJRZGdCYWlFQklBUWdPbW9pT2lBQUtBSUlTUTBBQ3dzZ0EwR3dBV29rQUF1Q0JRRUtmeU1BUVpBQmF5SUxKQUFDUUFKQUlBSkJBRWdOQUNBRFFRQklEUUFnQWlBSGFpQUVTdzBBSUFNZ0NHcEJBV29nQlVzTkFDQUZJUXdnQXlFT0RBRUxJQUFnQ3lBQ0lBTWdCQ0FGSUFjZ0NFRUJhaUlNSUFjUURDQUFJQVFnQld4cUlBc2dCeUFNYkdvZ0FpQURJQVFnQlNBSElBd2dCeEFNSUFzaEFDQUhJUVJCQUNFQ0N3SkFJQWhCQVhZaUJVVU5BQ0FIUVFGMklnTkZEUUJCRUNBSGF5RVFRUWdnQm1zaENTQUVRUUYwSWcwZ0Iyc2hFU0FBSUFKcUloSWdCQ0FPYkdvaEJ5QUJJUUlnQlNFSUEwQWdBeUVBQTBBZ0J5QU5haTBBQUNFS0lBSWdDU0FITFFBQWJDQUVJQWRxTFFBQUlnOGdCbXhxUVFOMFFTQnFRUVoyT2dBQUlBSWdDU0FQYkNBR0lBcHNha0VEZEVFZ2FrRUdkam9BQ0NBSFFRRnFJZ29nRFdvdEFBQWhEeUFDSUFrZ0J5MEFBV3dnQkNBS2FpMEFBQ0lLSUFac2FrRURkRUVnYWtFR2Rqb0FBU0FDSUFrZ0Ntd2dCaUFQYkdwQkEzUkJJR3BCQm5ZNkFBa2dBa0VDYWlFQ0lBZEJBbW9oQnlBQVFYOXFJZ0FOQUFzZ0J5QVJhaUVISUFJZ0VHb2hBaUFJUVg5cUlnZ05BQXNnQVVGQWF5RUNJQklnRENBT2FpQUViR29oQndOQUlBTWhBQU5BSUFjZ0RXb3RBQUFoQVNBQ0lBa2dCeTBBQUd3Z0JDQUhhaTBBQUNJSUlBWnNha0VEZEVFZ2FrRUdkam9BQUNBQ0lBZ2dDV3dnQVNBR2JHcEJBM1JCSUdwQkJuWTZBQWdnQjBFQmFpSUJJQTFxTFFBQUlRZ2dBaUFKSUFjdEFBRnNJQUVnQkdvdEFBQWlBU0FHYkdwQkEzUkJJR3BCQm5ZNkFBRWdBaUFCSUFsc0lBWWdDR3hxUVFOMFFTQnFRUVoyT2dBSklBSkJBbW9oQWlBSFFRSnFJUWNnQUVGL2FpSUFEUUFMSUFjZ0VXb2hCeUFDSUJCcUlRSWdCVUYvYWlJRkRRQUxDeUFMUVpBQmFpUUFDLzBFQVF0L0l3QkJrQUZySWd3a0FDQUhRUUZxSVFrQ1FBSkFJQUpCQUVnTkFDQURJQWhxSUFWTERRQWdBMEVBU0EwQUlBSWdDV29nQkVzTkFDQUVJUWtnQXlFTERBRUxJQUFnRENBQ0lBTWdCQ0FGSUFrZ0NDQUpFQXdnQUNBRUlBVnNhaUFNSUFnZ0NXeHFJQUlnQXlBRUlBVWdDU0FJSUFrUURDQU1JUUFnQ0NFRlFRQWhBZ3NDUUNBSVFRRjJJZ2hGRFFBZ0IwRUJkaUlFUlEwQVFSQWdCMnNoRGtFSUlBWnJJUW9nQ1VFQmRDQUhheUVQSUFBZ0Ftb2lFU0FKSUF0c2FpRUNJQUVoQXlBSUlRQURRQ0FFSVFjRFFDQUNRUUZxSUFscUxRQUFJUkFnQWlBSmFpMEFBQ0VOSUFNZ0FpMEFBU0lTSUFac0lBb2dBaTBBQUd4cVFRTjBRU0JxUVFaMk9nQUFJQU1nQmlBUWJDQUtJQTFzYWtFRGRFRWdha0VHZGpvQUNDQUNMUUFDSVEwZ0FrRUNhaUlDSUFscUxRQUFJUk1nQXlBR0lBMXNJQW9nRW14cVFRTjBRU0JxUVFaMk9nQUJJQU1nQmlBVGJDQUtJQkJzYWtFRGRFRWdha0VHZGpvQUNTQURRUUpxSVFNZ0IwRi9haUlIRFFBTElBSWdEMm9oQWlBRElBNXFJUU1nQUVGL2FpSUFEUUFMSUFGQlFHc2hBeUFSSUFVZ0Myb2dDV3hxSVFJRFFDQUVJUWNEUUNBQ1FRRnFJQWxxTFFBQUlRQWdBaUFKYWkwQUFDRUJJQU1nQWkwQUFTSUZJQVpzSUFvZ0FpMEFBR3hxUVFOMFFTQnFRUVoyT2dBQUlBTWdBQ0FHYkNBQklBcHNha0VEZEVFZ2FrRUdkam9BQ0NBQ0xRQUNJUUVnQWtFQ2FpSUNJQWxxTFFBQUlRc2dBeUFCSUFac0lBVWdDbXhxUVFOMFFTQnFRUVoyT2dBQklBTWdCaUFMYkNBQUlBcHNha0VEZEVFZ2FrRUdkam9BQ1NBRFFRSnFJUU1nQjBGL2FpSUhEUUFMSUFJZ0Qyb2hBaUFESUE1cUlRTWdDRUYvYWlJSURRQUxDeUFNUVpBQmFpUUFDN2tIQVFWL0l3QkJFR3NpQkNRQUFrQWdBQ0FCUVFCQnlBQVFCeUlERUFJaUFRMEFRUUVoQVNBREtBSUFRZjhCU3cwQUlBQWdBMEVFYWhBQ0lnRU5BRUVCSVFFZ0F5Z0NCRUVmU3cwQUlBQkJBUkFERFFBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNDQ0FBSUFSQkRHb1FBaUlCRFFBZ0F5QUVLQUlNUVFGcUlnRTJBZ3dnQVVFSVN3UkFRUUVoQVF3QkN3SkFJQUZCQWtrTkFDQUFJQU5CRUdvUUFpSUJEUUVnQXlnQ0VDSUJRUVpMSWdJRVFFRUJJUUVNQWdzZ0FnMEFBa0FDUUFKQUFrQWdBVUVCYXc0R0JBRUNBZ0lEQUFzZ0F5QURLQUlNSWdGQkFuUVFDaUlDTmdJVUlBSkZCRUJCLy84RElRRU1CUXNnQVVVTkEwRUFJUUlEUUNBQUlBUkJER29RQWlJQkRRVWdBeWdDRkNBQ1FRSjBhaUFFS0FJTVFRRnFOZ0lBSUFKQkFXb2lBaUFES0FJTVNRMEFDd3dEQ3lBRElBTW9BZ3dpQWtFQ2RFRjhhaUlCRUFvaUJUWUNHQ0FESUFFUUNpSUdOZ0ljUWYvL0F5RUJJQVZGRFFNZ0JrVU5BeUFDUVFGR0RRSkJBQ0VDQTBBZ0FDQUVRUXhxRUFJaUFRMEVJQUpCQW5RaUJTQURLQUlZYWlBRUtBSU1OZ0lBSUFBZ0JFRU1haEFDSWdFTkJDQURLQUljSUFWcUlBUW9BZ3cyQWdBZ0FrRUJhaUlDSUFNb0FneEJmMnBKRFFBTERBSUxRUUVoQVNBQVFRRVFBeUlDUVg5R0RRSWdBeUFDUVFGR05nSWdJQUFnQkVFTWFoQUNJZ0VOQWlBRElBUW9BZ3hCQVdvMkFpUU1BUXNnQUNBRVFReHFFQUlpQVEwQklBTWdCQ2dDREVFQmFpSUJOZ0lvSUFNZ0FVRUNkQkFLSWdJMkFpd2dBa1VFUUVILy93TWhBUXdDQ3lBQlJRMEFJQU1vQWd4QkFuUkJyRHRxS0FJQUlRWkJBQ0VDQTBBZ0FDQUdFQU1oQlNBREtBSXNJQUpCQW5ScUlBVTJBZ0JCQVNFQklBVWdBeWdDREU4TkFpQUNRUUZxSWdJZ0F5Z0NLRWtOQUFzTElBQWdCRUVNYWhBQ0lnRU5BRUVCSVFFZ0JDZ0NEQ0lDUVI5TERRQWdBeUFDUVFGcU5nSXdJQUFnQkVFTWFoQUNJZ0VOQUVFQklRRWdCQ2dDREVFZlN3MEFJQUJCQVJBREJFQU1BUXNnQUVFQ0VBTkJBa3NFUUF3QkN5QUFJQVJCQ0dvUUJTSUJEUUFnQkNnQ0NFRWFhaUlCUVROTEJFQkJBU0VCREFFTElBTWdBVFlDTkNBQUlBUkJDR29RQlNJQkRRQWdCQ2dDQ0VFYWFrRXpTd1JBUVFFaEFRd0JDeUFBSUFSQkNHb1FCU0lCRFFCQkFTRUJJQVFvQWdnaUFrRU1ha0VZU3cwQUlBTWdBallDT0NBQVFRRVFBeUlDUVg5R0RRQWdBeUFDUVFGR05nSThJQUJCQVJBRElnSkJmMFlOQUNBRElBSkJBVVkyQWtBZ0FFRUJFQU1pQWtGL1JnMEFJQU1nQWtFQlJqWUNSQ0FBRUI5QkFDRUJDeUFFUVJCcUpBQWdBUXZxQlFFSmZ3SkFJQUlvQXB3Q1JRUkFEQUVMUVFFaEJnTkFBa0FDUUNBQ0lBVkJGR3hxS0FLZ0FpSUVRUVZMRFFBZ0JFRUJhdzRGQUFBQUFBTUJDeUFGUVFGcUlRVU1BUXNMSUFRaEJnc0Nmd0pBSUFFb0FoQWlCRUVCVFFSQUlBUkJBV3NFUUNBREtBSUFRUVZHQkVBZ0FFSUFOd0lBSUFJb0FoUWhCVUVBSVFRTUF3c2dBQ2dDQUNJRUlBSW9BaFFpQlUwTkFpQUVJQVZySUFFb0FoUWlCMEVCZGtrTkFpQUFLQUlFSUFkcURBTUxRUUFoQlFKL1FRQWdBeWdDQUVFRlJnMEFHaUFBS0FJTUlnY2dBQ2dDQ0NBQ0tBSU1UUTBBR2lBQktBSU1JQWRxQ3lFSFFRQWhCQUovSUFFb0FpUWlDQVJBSUFJb0Fnd2dCMm9oQlFzZ0JTQURLQUlFSWdwRklBVkJBRWR4YXlJSkN3UkFJQWxCZjJvaUF5QURJQWh1SWdzZ0NHeHJJUU1MSUFnRVFDQUJLQUlvSVF4QkFDRUZBMEFnRENBRlFRSjBhaWdDQUNBRWFpRUVJQVZCQVdvaUJTQUlSdzBBQ3dzQ1FDQUpSUVJBUVFBaEJBd0JDeUFFSUF0c0lRUWdBU2dDS0NFSVFRQWhCUU5BSUFnZ0JVRUNkR29vQWdBZ0JHb2hCQ0FGUVFGcUlnVWdBMDBOQUFzTElBcEZCRUFnQVNnQ0hDQUVhaUVFQ3lBR1JRUkFJQUlvQWlBaEF5QUJLQUlnSVFFZ0FpZ0NIQ0VHSUFBZ0J6WUNEQ0FBSUFJb0FndzJBZ2dnQmlBQklBTnFJZ0JCSDNVZ0FIRWdCR3BxRHdzZ0FFSUFOd0lJUVFBUEMwRUFJUVZCQUNFRUlBTW9BZ0JCQlVjRVFDQUFLQUlNSVFVZ0FDZ0NDQ0FDS0FJTUlnUkxCRUFnQVNnQ0RDQUZhaUVGQ3lBRUlBVnFRUUYwSUFNb0FnUkZheUVFQ3lBR1JRUkFJQUFnQlRZQ0RDQUFJQUlvQWd3MkFnZ2dCQThMSUFCQ0FEY0NDRUVBRHdzQ1FDQUZJQVJORFFBZ0JTQUVheUFCS0FJVUlnRkJBWFpORFFBZ0FDZ0NCQ0FCYXd3QkN5QUFLQUlFQ3lFRUlBTW9BZ1JGQkVBZ0JDQUZhaUFDS0FJWUlnQkJIM1VnQUhGcUR3c2dBQ0FFTmdJRUlBSW9BaGdoQVNBR0JFQWdBRUVBTmdJRUlBQkJBQ0FCYXlBQlFSOTFjVFlDQUVFQUR3c2dBQ0FGTmdJQUlBUWdCV29nQVVFZmRTQUJjV29MdkFFQkNIOGdBZ1JBSUFGQmYyb2hCMEVBSUFGclFkZ0JiQ0VJUVFFZ0FXdEIyQUZzSVFrZ0FVRi9jMEhZQVd3aENnTkFJQUFnQmtIWUFXeHFJZ01nQTBHb2ZtcEJBQ0FFR3pZQ3lBRWdBd0ovSUFWRkJFQWdBMEVBTmdMTUFVRUFEQUVMSUFNZ0F5QUlhallDekFFZ0F5QUpha0VBSUFRZ0Iwa2JDellDMEFFZ0F5QURJQXBxUVFBZ0JCdEJBQ0FGR3pZQzFBRkJBQ0FFUVFGcUlnTWdBU0FEUmlJREd5RUVJQU1nQldvaEJTQUdRUUZxSWdZZ0FrY05BQXNMQzNjQkFuOUJBU0VDQWtBZ0FFRUJFQU5CZjBZTkFDQUJJQUJCQWhBRE5nSUVJQUVnQUVFRkVBTWlBRFlDQUNBQVFYNXFRUU5KRFFBQ1FDQUFRUXhMRFFCQkFTQUFkQ0lEUWNBOGNVVUVRQ0FEUWFBRGNVVU5BU0FBUVFaR0RRSWdBU2dDQkEwQkRBSUxJQUVvQWdRTkFRdEJBQ0VDQ3lBQ0M1SVRBUVovSUFBZ0FTZ0NBQ0lOTmdJQUlBQWdBQ2dDeEFGQkFXbzJBc1FCSUFJZ0JSQWRBa0FDUUFKQUFrQUNRQ0FOUVI5R0JFQWdBRUVBTmdJVUlBQW9Bc1FCUVFGTERRRWdBRUVjYWlFSklBRkJ5QUpxSVFSQkZ5RUJJQWNoQUFOQUlBbEJFRHNCQUNBQUlBUW9BZ0E2QUFBZ0FDQUVLQUlFT2dBQklBQWdCQ2dDQ0RvQUFpQUFJQVFvQWd3NkFBTWdBQ0FFS0FJUU9nQUVJQUFnQkNnQ0ZEb0FCU0FBSUFRb0FoZzZBQVlnQUNBRUtBSWNPZ0FISUFBZ0JDZ0NJRG9BQ0NBQUlBUW9BaVE2QUFrZ0FDQUVLQUlvT2dBS0lBQWdCQ2dDTERvQUN5QUFJQVFvQWpBNkFBd2dBQ0FFS0FJME9nQU5JQUFnQkNnQ09Eb0FEaUFBSUFRb0FqdzZBQThnQVNJRFFYOXFJUUVnQ1VFQ2FpRUpJQUJCRUdvaEFDQUVRVUJySVFRZ0F3MEFDeUFDSUFjUUd3d0VDeUFBUVJ4cUlRa2dEUVJBSUFrZ0FTa0NrQUkzQWdBZ0NTQUJLUUcrQWpjQkxpQUpJQUVwQXJnQ053SW9JQWtnQVNrQ3NBSTNBaUFnQ1NBQktRS29BamNDR0NBSklBRXBBcUFDTndJUUlBa2dBU2tDbUFJM0FnZ2dCQ2dDQUNFS0FrQWdBU2dDQ0NJTFJRMEFJQVFnQ2lBTGFpSUtOZ0lBSUFRZ0NrRi9UQVIvSUFwQk5Hb0ZJQXBCTkVnTkFTQUtRVXhxQ3lJS05nSUFDeUFBSUFvMkFoUWdBVUhJRDJvaERDQUJRY2dDYWlFRUFrQUNRQ0FBS0FJQVFRWk5CRUFnQ1M4QkFFVU5BVUVCSVFnZ0JDQUtRUUFnRENnQ0FCQUdSUTBDREFnTElBQXZBVXdFUUNBQlFjZ09haUFLRURFTFFiQTBJUXBCRHlFSUEwQWdDQ0VMSUFRZ0FTQUtLQUlBUVFKMGFrSElEbW9vQWdBaUNEWUNBQUpBQWtBZ0NFVUVRQ0FKTHdFQVJRMEJDMEVCSVFnZ0JDQUFLQUlVUVFFZ0RDZ0NBQkFHUlEwQkRBb0xJQVJCLy8vL0J6WUNBQXNnQ2tFRWFpRUtJQXRCZjJvaENDQU1RUVJxSVF3Z0NVRUNhaUVKSUFSQlFHc2hCQ0FMRFFBTERBUUxJQVJCLy8vL0J6WUNBQXNnQVVHSUEyb2hCQUpBSUFBdkFSNEVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSE1EMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJ5QU5xSVFRQ1FDQUFMd0VnQkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCMEE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUVlnRWFpRUVBa0FnQUM4QklnUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFkUVBhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVSElCR29oQkFKQUlBQXZBU1FFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUhZRDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCaUFWcUlRUUNRQ0FBTHdFbUJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQjNBOXFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFjZ0ZhaUVFQWtBZ0FDOEJLQVJBUVFFaENDQUVJQUFvQWhSQkFDQUJRZUFQYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJQm1vaEJBSkFJQUF2QVNvRVFFRUJJUWdnQkNBQUtBSVVRUUFnQVVIa0Qyb29BZ0FRQmtVTkFRd0hDeUFFUWYvLy93YzJBZ0FMSUFGQnlBWnFJUVFDUUNBQUx3RXNCRUJCQVNFSUlBUWdBQ2dDRkVFQUlBRkI2QTlxS0FJQUVBWkZEUUVNQndzZ0JFSC8vLzhITmdJQUN5QUJRWWdIYWlFRUFrQWdBQzhCTGdSQVFRRWhDQ0FFSUFBb0FoUkJBQ0FCUWV3UGFpZ0NBQkFHUlEwQkRBY0xJQVJCLy8vL0J6WUNBQXNnQVVISUIyb2hCQUpBSUFBdkFUQUVRRUVCSVFnZ0JDQUFLQUlVUVFBZ0FVSHdEMm9vQWdBUUJrVU5BUXdIQ3lBRVFmLy8vd2MyQWdBTElBRkJpQWhxSVFRQ1FDQUFMd0V5QkVCQkFTRUlJQVFnQUNnQ0ZFRUFJQUZCOUE5cUtBSUFFQVpGRFFFTUJ3c2dCRUgvLy84SE5nSUFDeUFCUWNnSWFpRUVBa0FnQUM4Qk5BUkFRUUVoQ0NBRUlBQW9BaFJCQUNBQlFmZ1BhaWdDQUJBR1JRMEJEQWNMSUFSQi8vLy9CellDQUFzZ0FVR0lDV29oQkFKQUlBQXZBVFlFUUVFQklRZ2dCQ0FBS0FJVVFRQWdBVUg4RDJvb0FnQVFCa1VOQVF3SEN5QUVRZi8vL3djMkFnQUxJQUZCeUFscUlRUUNRQ0FBTHdFNEJFQkJBU0VJSUFRZ0FDZ0NGRUVBSUFGQmdCQnFLQUlBRUFaRkRRRU1Cd3NnQkVILy8vOEhOZ0lBQ3lBQlFZZ0thaUVFQWtBZ0FDOEJPZ1JBUVFFaENDQUVJQUFvQWhSQkFDQUJRWVFRYWlnQ0FCQUdSUTBCREFjTElBUkIvLy8vQnpZQ0FBc2dBVUdJRUdvaERDQUJRY2dLYWlFRURBSUxJQWxDQURjQ0FDQUpRZ0EzQVM0Z0NVSUFOd0lvSUFsQ0FEY0NJQ0FKUWdBM0FoZ2dDVUlBTndJUUlBbENBRGNDQ0NBQUlBUW9BZ0EyQWhRTUFnc2dBRUtRZ01DQWdJS0FDRGNCSENBQVFwQ0F3SUNBZ29BSU53RkVJQUJDa0lEQWdJQ0NnQWczQVR3Z0FFS1FnTUNBZ0lLQUNEY0JOQ0FBUXBDQXdJQ0Fnb0FJTndFc0lBQkNrSURBZ0lDQ2dBZzNBU1JCQUE4TElBQW9BaGdnQUNnQ0ZHb2lDMEV6SUF0Qk0wZ2JJZ3RCQUNBTFFRQktHMEVDZEVIZ1BXb29BZ0FoQ1FKQUlBQXZBVTVGQkVBZ0FDOEJVRVVOQVFzZ0FVR0lEMm9nQ1JBd0N5QUVJQUZCaUE5cUtBSUFJZ3MyQWdBQ1FBSkFJQXRGQkVBZ0FDOEJQRVVOQVF0QkFTRUlJQVFnQ1VFQklBd29BZ0FRQmtVTkFRd0VDeUFFUWYvLy93YzJBZ0FMSUFRZ0FTZ0NqQThpQ3pZQ1FDQUVRVUJySVFvQ1FBSkFJQXRGQkVBZ0FDOEJQa1VOQVF0QkFTRUlJQW9nQ1VFQklBd29BZ1FRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NrQThpQ3pZQ2dBRWdCRUdBQVdvaENnSkFBa0FnQzBVRVFDQUFRVUJyTHdFQVJRMEJDMEVCSVFnZ0NpQUpRUUVnRENnQ0NCQUdSUTBCREFRTElBcEIvLy8vQnpZQ0FBc2dCQ0FCS0FLVUR5SUxOZ0xBQVNBRVFjQUJhaUVLQWtBQ1FDQUxSUVJBSUFBdkFVSkZEUUVMUVFFaENDQUtJQWxCQVNBTUtBSU1FQVpGRFFFTUJBc2dDa0gvLy84SE5nSUFDeUFFSUFFb0FwZ1BJZ3MyQW9BQ0lBUkJnQUpxSVFvQ1FBSkFJQXRGQkVBZ0FDOEJSRVVOQVF0QkFTRUlJQW9nQ1VFQklBd29BaEFRQmtVTkFRd0VDeUFLUWYvLy93YzJBZ0FMSUFRZ0FTZ0NuQThpQ3pZQ3dBSWdCRUhBQW1vaENnSkFBa0FnQzBVRVFDQUFMd0ZHUlEwQkMwRUJJUWdnQ2lBSlFRRWdEQ2dDRkJBR1JRMEJEQVFMSUFwQi8vLy9CellDQUFzZ0JDQUJLQUtnRHlJTE5nS0FBeUFFUVlBRGFpRUtBa0FDUUNBTFJRUkFJQUF2QVVoRkRRRUxRUUVoQ0NBS0lBbEJBU0FNS0FJWUVBWkZEUUVNQkFzZ0NrSC8vLzhITmdJQUN5QUVJQUVvQXFRUElnczJBc0FESUFSQndBTnFJUVFDUUFKQUlBdEZCRUFnQUM4QlNrVU5BUXRCQVNFSUlBUWdDVUVCSUF3b0Fod1FCa1VOQVF3RUN5QUVRZi8vL3djMkFnQUxJQTFCQmtrTkFDQUFJQUVnQWlBRklBWWdCeEJXSWdoRkRRRU1BZ3NnQUNBQklBTWdCU0FDSUFjUVZ5SUlEUUVMUVFBaENBc2dDQXVXSFFFSGZ5TUFRUkJySWdja0FDQUJRUUJCcUJBUUJ5RUZJQUFnQjBFRWFoQUNJUUVnQnlnQ0JDRUlBa0FDUUFKQUlBTkJmbW9pQTBFRlN3MEFBa0FnQTBFQmF3NEVBUUVCQVFBTFFRRWhBeUFCRFFJZ0NFRUdhaUlHUVI5TkRRRU1BZ3RCQVNFRElBRU5BU0FJUVFGcUlnWkJIMHNOQVFzZ0JTQUdOZ0lBQWtBZ0JrRWZSZ1JBQTBBZ0FDZ0NDQVJBSUFCQkFSQURSUTBCREFRTEN5QUZRY2dDYWlFR0EwQWdCeUFBUVFnUUF5SUJOZ0lFSUFGQmYwWU5BeUFHSUFFMkFnQWdCa0VFYWlFR0lBbEJBV29pQ1VHQUEwY05BQXNNQVF0QkFpQUdRUVpISUFaQkJra2JJUW9DUUFKQUlBWkJCRWtOQUNBR1FRVkxEUUFnQUNBSFFReHFFQUlOQVNBSEtBSU1JZ0ZCQTBzTkFTQUZJQUUyQXJBQklBQWdCMEVNYWhBQ0RRRWdCeWdDRENJQlFRTkxEUUVnQlNBQk5nSzBBU0FBSUFkQkRHb1FBZzBCSUFjb0Fnd2lBVUVEU3cwQklBVWdBVFlDdUFFZ0FDQUhRUXhxRUFJTkFTQUhLQUlNSWdGQkEwc05BU0FGSUFFMkFyd0JBa0FnQkVFQ1NRMEFJQVpCQlVZTkFDQUFJQWRCREdvZ0JFRUNTeUlCRUJjTkFpQUhLQUlNSWdnZ0JFOE5BaUFGSUFnMkFzQUJJQUFnQjBFTWFpQUJFQmNOQWlBSEtBSU1JZ2dnQkU4TkFpQUZJQWcyQXNRQklBQWdCMEVNYWlBQkVCY05BaUFIS0FJTUlnZ2dCRThOQWlBRklBZzJBc2dCSUFBZ0IwRU1haUFCRUJjTkFpQUhLQUlNSWdFZ0JFOE5BaUFGSUFFMkFzd0JDeUFISUFVb0FyQUJJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93SFFBU0FBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dIU0FTQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVlnQVEwQUN5QUhJQVVvQXJRQklnRkJBazBFZnlBQlFRSjBRZkEwYWlnQ0FBVkJBd3MyQWd4QkFDRUdBMEFnQUNBSFFRaHFFQVVpQXcwQ0lBVWdCa0VDZEdvaUFTQUhLQUlJT3dIZ0FTQUFJQWRCQ0dvUUJTSUREUUlnQVNBSEtBSUlPd0hpQVNBSElBY29BZ3dpQVVGL2FqWUNEQ0FHUVFGcUlRWWdBUTBBQ3lBSElBVW9BcmdCSWdGQkFrMEVmeUFCUVFKMFFmQTBhaWdDQUFWQkF3czJBZ3hCQUNFR0EwQWdBQ0FIUVFocUVBVWlBdzBDSUFVZ0JrRUNkR29pQVNBSEtBSUlPd0h3QVNBQUlBZEJDR29RQlNJRERRSWdBU0FIS0FJSU93SHlBU0FISUFjb0Fnd2lBVUYvYWpZQ0RDQUdRUUZxSVFZZ0FRMEFDeUFISUFVb0Fyd0JJZ0ZCQWswRWZ5QUJRUUowUWZBMGFpZ0NBQVZCQXdzMkFneEJBQ0VHQTBBZ0FDQUhRUWhxRUFVaUF3MENJQVVnQmtFQ2RHb2lBU0FIS0FJSU93R0FBaUFBSUFkQkNHb1FCU0lERFFJZ0FTQUhLQUlJT3dHQ0FpQUhJQWNvQWd3aUFVRi9hallDRENBR1FRRnFJUVpCQUNFRElBRU5BQXNNQVF0QkFDRURJQXBCQWtzTkFBSkFBbjhDUUFKQUFrQWdDa0VCYXc0Q0JBRUFDeUFIUVFBMkFnZ2dCU0FBRUE4aUFVRWZkallDRENBQlFRQk9EUUVnQVVFQmRDRUdRUUFNQWdzZ0JFRUNUd1JBUVFNaEFTQUdRUU5OQkVBZ0JrRUNkRUg4Tkdvb0FnQWhBUXNnQkVFQ1N5RUxRUUVoQXdOQUlBQWdCMEVNYWlBTEVCY05CU0FIS0FJTUlnZ2dCRThOQlNBRklBbEJBblJxSUFnMkFwQUJJQUVpQ0VGL2FpRUJJQWxCQVdvaENTQUlEUUFMQzBFRElRTWdCa0VEVFFSQUlBWkJBblJCL0RScUtBSUFJUU1MUVFBaEJnTkFJQU1oQVNBQUlBZEJDR29RQlNJRERRUWdCU0FHUVFKMGFpSUVJQWNvQWdnN0FhQUJJQUFnQjBFSWFoQUZJZ01OQkNBRUlBY29BZ2c3QWFJQklBRkJmMm9oQXlBR1FRRnFJUVlnQVEwQUMwRUFJUU1NQXdzZ0JTQUJRUngyTmdKTUlBRkJCSFFoQmtFQkN5RURJQVVnQmtFZmRqWUNFQ0FGSUFaQkFFZ0VmeUFHUVFGMEJTQUZJQVpCSEhZMkFsQWdBMEVCYWlFRElBWkJCSFFMSWdGQkgzWTJBaFFnQlNBQlFRQklCSDhnQVVFQmRBVWdCU0FCUVJ4Mk5nSlVJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0lZSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNXQ0FEUVFGcUlRTWdBVUVFZEFzaUFVRWZkallDSENBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBbHdnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWlBZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pnSUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJa0lBVWdBVUVBU0FSL0lBRkJBWFFGSUFVZ0FVRWNkallDWkNBRFFRRnFJUU1nQVVFRWRBc2lBVUVmZGpZQ0tDQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0pvSUFOQkFXb2hBeUFCUVFSMEN5RUdBa0FnQUNBRFFRTnNRUWhxRUF0QmYwWU5BQ0FIUVFFMkFnZ2dCU0FBRUE4aUFVRWZkallDTEFKL0lBRkJBRWdFUUNBQlFRRjBJUVpCQUF3QkN5QUZJQUZCSEhZMkFtd2dBVUVFZENFR1FRRUxJUU1nQlNBR1FSOTJOZ0l3SUFVZ0JrRUFTQVIvSUFaQkFYUUZJQVVnQmtFY2RqWUNjQ0FEUVFGcUlRTWdCa0VFZEFzaUFVRWZkallDTkNBRklBRkJBRWdFZnlBQlFRRjBCU0FGSUFGQkhIWTJBblFnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWpnZ0JTQUJRUUJJQkg4Z0FVRUJkQVVnQlNBQlFSeDJOZ0o0SUFOQkFXb2hBeUFCUVFSMEN5SUJRUjkyTmdJOElBVkJRR3NnQVVFQVNBUi9JQUZCQVhRRklBVWdBVUVjZGpZQ2ZDQURRUUZxSVFNZ0FVRUVkQXNpQVVFZmRqWUNBQ0FGSUFGQkFFZ0VmeUFCUVFGMEJTQUZJQUZCSEhZMkFvQUJJQU5CQVdvaEF5QUJRUVIwQ3lJQlFSOTJOZ0pFSUFVZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNoQUVnQTBFQmFpRURJQUZCQkhRTElnRkJIM1kyQWtnZ0FVRUFTQVIvSUFGQkFYUUZJQVVnQVVFY2RqWUNpQUVnQTBFQmFpRURJQUZCQkhRTElRWWdBQ0FEUVFOc1FRaHFFQXRCZjBZTkFDQUhJQVkyQWd3Z0IwRUNOZ0lJREFFTElBY2dCallDREVFQklRTU1BUXRCQVNFRElBQWdCMEVNYWhBQ0RRQWdCeWdDRENJQlFRTkxEUUFnQlNBQk5nS01BVUVBSVFNTElBTU5BUUpBSUFwQkFVY0VRQ0FBSUFkQkJHb2dDa1VRTFNJRERRTWdCU0FIS0FJRUlnRTJBZ1FnQVVVTkFnd0JDeUFGSUFVb0FnQWlBVUY1YWlJRFFRSjBRWEJ4SWdSQlVHb2dCQ0FEUVF0TEcwRVBRUUFnQVVFU1N4dHlOZ0lFQzBFQklRTWdBQ0FIUVF4cUVBVU5BU0FIS0FJTUlnRkJHbXBCTTBzTkFTQUZJQUUyQWdnZ0JVR1FBbW9oQ0NBRktBSUVJUVFDUUFKQUlBVW9BZ0JCQjBrRVFFRUFJUWxCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FJSUFsQkFuUnFRYmdOYWlBQUlBZ2dDVUVHZEdwQk9Hb2dBaUFKSUFnUURVRVFFQWtpQTBFUWRqWUNBQ0FEUVE5eERRUWdDQ0FKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FJSUFsQkFYSWlCa0VDZEdwQnVBMXFJQUFnQ0NBR1FRWjBha0U0YWlBQ0lBWWdDQkFOUVJBUUNTSURRUkIyTmdJQUlBTkJEM0VOQkNBSUlBWkJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBZ2dDVUVDY2lJR1FRSjBha0c0RFdvZ0FDQUlJQVpCQm5ScVFUaHFJQUlnQmlBSUVBMUJFQkFKSWdOQkVIWTJBZ0FnQTBFUGNRMEVJQWdnQmtFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQ0NBSlFRTnlJZ1pCQW5ScVFiZ05haUFBSUFnZ0JrRUdkR3BCT0dvZ0FpQUdJQWdRRFVFUUVBa2lBMEVRZGpZQ0FDQURRUTl4RFFRZ0JTQUdRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc01BUXRCQUNFSklBQWdCVUhJRG1vZ0FrRUFJQWdRRFVFUUVBa2lBMEVQY1EwQklBVWdBMEVFZGtIL0FYRTdBY0FDSUFWQmtBSnFJUVpCQXlFREEwQWdBeUVCSUFSQkFYRUVRQ0FHSUFsQkFuUnFRYmdOYWlBQUlBWWdDVUVHZEdwQlBHb2dBaUFKSUFnUURVRVBFQWtpQTBFUGRqWUNBQ0FEUVE5eERRTWdCaUFKUVFGMGFpQURRUVIyUWY4QmNUc0JBQ0FHSUFsQkFYSWlDa0VDZEdwQnVBMXFJQUFnQmlBS1FRWjBha0U4YWlBQ0lBb2dDQkFOUVE4UUNTSURRUTkyTmdJQUlBTkJEM0VOQXlBR0lBcEJBWFJxSUFOQkJIWkIvd0Z4T3dFQUlBWWdDVUVDY2lJS1FRSjBha0c0RFdvZ0FDQUdJQXBCQm5ScVFUeHFJQUlnQ2lBSUVBMUJEeEFKSWdOQkQzWTJBZ0FnQTBFUGNRMERJQVlnQ2tFQmRHb2dBMEVFZGtIL0FYRTdBUUFnQmlBSlFRTnlJZ3BCQW5ScVFiZ05haUFBSUFZZ0NrRUdkR3BCUEdvZ0FpQUtJQWdRRFVFUEVBa2lBMEVQZGpZQ0FDQURRUTl4RFFNZ0JTQUtRUUYwYWlBRFFRUjJRZjhCY1RzQmtBSUxJQVJCQVhZaEJDQUJRWDlxSVFNZ0NVRUVhaUVKSUFFTkFBc0xJQVJCQTNFRVFDQUFJQVZCaUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIQ0FpQUFJQVZCbUE5cVFYOUJCQkFKSWdOQkQzRU5BU0FGSUFOQkJIWkIvd0Z4T3dIRUFndEJBQ0VESUFSQkFuRkZEUUFnQUNBRlFjd0thaUFDUVJBZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCaUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzQUlnQUNBRlFZd0xhaUFDUVJFZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCakJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0JzZ0lnQUNBRlFjd0xhaUFDUVJJZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCa0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0QUlnQUNBRlFZd01haUFDUVJNZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J0Z0lnQUNBRlFjd01haUFDUVJRZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbUJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1QUlnQUNBRlFZd05haUFDUVJVZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCbkJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J1Z0lnQUNBRlFjd05haUFDUVJZZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCb0JCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2QUlnQUNBRlFZd09haUFDUVJjZ0NCQU5RUThRQ1NJQlFROXhCRUFnQVNFRERBRUxJQVZCcEJCcUlBRkJEM1kyQWdBZ0JTQUJRUVIyUWY4QmNUc0J2Z0lMSUFBZ0FDZ0NDQ0FBS0FJRUlBQW9BZ0JyUVFOMGFqWUNFQ0FERFFFTFFRQWhBd3NnQjBFUWFpUUFJQU1McFJRQkRIOENmeUFBS0FMSUFTSUhCRUFnQUNnQ0JDQUhLQUlFUmd3QkMwRUFDeUVLQWtBZ0JrVU5BQ0FLUlEwQVFRQWdDa0VDSUFBb0FzZ0JLQUlBSWdkQkJrY2dCMEVHU1J0QkFrWWJJUW9MQW44Z0FDZ0N6QUVpQndSQUlBQW9BZ1FnQnlnQ0JFWU1BUXRCQUFzaEJ3SkFJQVpGRFFBZ0IwVU5BRUVBSUFkQkFpQUFLQUxNQVNnQ0FDSUhRUVpISUFkQkJra2JRUUpHR3lFSEN3Si9JQUFvQXRRQklna0VRQ0FBS0FJRUlBa29BZ1JHREFFTFFRQUxJUWtDUUNBR1JRMEFJQWxGRFFCQkFpQUFLQUxVQVNnQ0FDSUFRUVpISUFCQkJra2JRUUpISVFrTElBcEJBRWNnQjBFQVIzRWlEU0FKUVFCSGNTRU9JQVZCQWtzaEQwRVFJUXNEUUFKQUlBOUZCRUFDUUFKQUFrQWdCVUVCYXc0Q0FRSUFDeUFCQW44Z0RRUkFJQVF0QUFNZ0JDMEFBaUFFTFFBQklBUXRBQUFnQXkwQUJDQURMUUFESUFNdEFBRWdBeTBBQW1wcWFtcHFhbXBCQkdwQkEzWWhCaUFETFFBSUlBTXRBQWNnQXkwQUJTQURMUUFHYW1wcVFRSnFRUUoyREFFTElBY0VRQ0FETFFBRUlBTXRBQU1nQXkwQUFTQURMUUFDYW1wcVFRSnFRUUoySVFZZ0F5MEFDQ0FETFFBSElBTXRBQVVnQXkwQUJtcHFha0VDYWtFQ2Rnd0JDeUFLUlFSQVFZQUJJUVpCZ0FFTUFRc2dCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYWtFQ2FrRUNkaUlHQzBIL0FYRkJnWUtFQ0d3aUFEWUFIQ0FCSUFaQi93RnhRWUdDaEFoc0lnWTJBQmdnQVNBQU5nQVVJQUVnQmpZQUVDQUJJQUEyQUF3Z0FTQUdOZ0FJSUFFZ0FEWUFCQ0FCSUFZMkFBQUNmeUFLQkVBZ0JDMEFCeUFFTFFBR0lBUXRBQVVnQkMwQUJHcHFhaUlHUVFKcVFRSjJJZ0FnQjBVTkFSb2dBeTBBQ0NBRExRQUhJQU10QUFZZ0JpQURMUUFGYW1wcWFrRUVha0VEZGd3QkN5QUhSUVJBUVlBQklRQkJnQUVNQVFzZ0F5MEFCQ0FETFFBRElBTXRBQUVnQXkwQUFtcHFha0VDYWtFQ2RpRUFJQU10QUFnZ0F5MEFCeUFETFFBRklBTXRBQVpxYW1wQkFtcEJBbllMSVFZZ0FTQUFRZjhCY1VHQmdvUUliQ0lBTmdBZ0lBRWdCa0gvQVhGQmdZS0VDR3dpQmpZQVBDQUJJQUEyQURnZ0FTQUdOZ0EwSUFFZ0FEWUFNQ0FCSUFZMkFDd2dBU0FBTmdBb0lBRWdCallBSkF3REN5QUtSUVJBUVFFUEN5QUJJQVF0QUFBNkFBQWdBU0FFTFFBQU9nQUJJQUVnQkMwQUFEb0FBaUFCSUFRdEFBQTZBQU1nQVNBRUxRQUFPZ0FFSUFFZ0JDMEFBRG9BQlNBQklBUXRBQUE2QUFZZ0FTQUVMUUFBT2dBSElBRWdCQzBBQVRvQUNDQUJJQVF0QUFFNkFBa2dBU0FFTFFBQk9nQUtJQUVnQkMwQUFUb0FDeUFCSUFRdEFBRTZBQXdnQVNBRUxRQUJPZ0FOSUFFZ0JDMEFBVG9BRGlBQklBUXRBQUU2QUE4Z0FTQUVMUUFDT2dBUUlBRWdCQzBBQWpvQUVTQUJJQVF0QUFJNkFCSWdBU0FFTFFBQ09nQVRJQUVnQkMwQUFqb0FGQ0FCSUFRdEFBSTZBQlVnQVNBRUxRQUNPZ0FXSUFFZ0JDMEFBam9BRnlBQklBUXRBQU02QUJnZ0FTQUVMUUFET2dBWklBRWdCQzBBQXpvQUdpQUJJQVF0QUFNNkFCc2dBU0FFTFFBRE9nQWNJQUVnQkMwQUF6b0FIU0FCSUFRdEFBTTZBQjRnQVNBRUxRQURPZ0FmSUFFZ0JDMEFCRG9BSUNBQklBUXRBQVE2QUNFZ0FTQUVMUUFFT2dBaUlBRWdCQzBBQkRvQUl5QUJJQVF0QUFRNkFDUWdBU0FFTFFBRU9nQWxJQUVnQkMwQUJEb0FKaUFCSUFRdEFBUTZBQ2NnQVNBRUxRQUZPZ0FvSUFFZ0JDMEFCVG9BS1NBQklBUXRBQVU2QUNvZ0FTQUVMUUFGT2dBcklBRWdCQzBBQlRvQUxDQUJJQVF0QUFVNkFDMGdBU0FFTFFBRk9nQXVJQUVnQkMwQUJUb0FMeUFCSUFRdEFBWTZBREFnQVNBRUxRQUdPZ0F4SUFFZ0JDMEFCam9BTWlBQklBUXRBQVk2QURNZ0FTQUVMUUFHT2dBMElBRWdCQzBBQmpvQU5TQUJJQVF0QUFZNkFEWWdBU0FFTFFBR09nQTNJQUVnQkMwQUJ6b0FPQ0FCSUFRdEFBYzZBRGtnQVNBRUxRQUhPZ0E2SUFFZ0JDMEFCem9BT3lBQklBUXRBQWM2QUR3Z0FTQUVMUUFIT2dBOUlBRWdCQzBBQnpvQVBpQUJJQVF0QUFjNkFEOE1BZ3NnQjBVRVFFRUJEd3NnQVNBRExRQUJPZ0FBSUFFZ0F5MEFBVG9BQ0NBQklBTXRBQUU2QUJBZ0FTQURMUUFCT2dBWUlBRWdBeTBBQVRvQUlDQUJJQU10QUFFNkFDZ2dBU0FETFFBQk9nQXdJQUVnQXkwQUFUb0FPQ0FCSUFNdEFBSTZBQUVnQVNBRExRQUNPZ0FKSUFFZ0F5MEFBam9BRVNBQklBTXRBQUk2QUJrZ0FTQURMUUFDT2dBaElBRWdBeTBBQWpvQUtTQUJJQU10QUFJNkFERWdBU0FETFFBQ09nQTVJQUVnQXkwQUF6b0FBaUFCSUFNdEFBTTZBQW9nQVNBRExRQURPZ0FTSUFFZ0F5MEFBem9BR2lBQklBTXRBQU02QUNJZ0FTQURMUUFET2dBcUlBRWdBeTBBQXpvQU1pQUJJQU10QUFNNkFEb2dBU0FETFFBRU9nQURJQUVnQXkwQUJEb0FDeUFCSUFNdEFBUTZBQk1nQVNBRExRQUVPZ0FiSUFFZ0F5MEFCRG9BSXlBQklBTXRBQVE2QUNzZ0FTQURMUUFFT2dBeklBRWdBeTBBQkRvQU95QUJJQU10QUFVNkFBUWdBU0FETFFBRk9nQU1JQUVnQXkwQUJUb0FGQ0FCSUFNdEFBVTZBQndnQVNBRExRQUZPZ0FrSUFFZ0F5MEFCVG9BTENBQklBTXRBQVU2QURRZ0FTQURMUUFGT2dBOElBRWdBeTBBQmpvQUJTQUJJQU10QUFZNkFBMGdBU0FETFFBR09nQVZJQUVnQXkwQUJqb0FIU0FCSUFNdEFBWTZBQ1VnQVNBRExRQUdPZ0F0SUFFZ0F5MEFCam9BTlNBQklBTXRBQVk2QUQwZ0FTQURMUUFIT2dBR0lBRWdBeTBBQnpvQURpQUJJQU10QUFjNkFCWWdBU0FETFFBSE9nQWVJQUVnQXkwQUJ6b0FKaUFCSUFNdEFBYzZBQzRnQVNBRExRQUhPZ0EySUFFZ0F5MEFCem9BUGlBQklBTXRBQWc2QUFjZ0FTQURMUUFJT2dBUElBRWdBeTBBQ0RvQUZ5QUJJQU10QUFnNkFCOGdBU0FETFFBSU9nQW5JQUVnQXkwQUNEb0FMeUFCSUFNdEFBZzZBRGNnQVNBRExRQUlPZ0EvREFFTElBNUZCRUJCQVE4TElBTXRBQVVnQXkwQUEyc2dBeTBBQmlBRExRQUNhMEVCZEdvZ0F5MEFCeUFETFFBQmEwRURiR29nQXkwQUNDSUFJQU10QUFBaUNXdEJBblJxUVJGc1FSQnFRUVYxSWdaQmZXd2hFQ0FBSUFRdEFBY2lER3BCQkhRZ0JDMEFCQ0FFTFFBQ2F5QU1JQWxyUVFKMGFpQUVMUUFGSUFRdEFBRnJRUUYwYWlBRUxRQUdJQVF0QUFCclFRTnNha0VSYkVFUWFrRUZkU0lSUVgxc2FrRVFhaUVKUVFnaERDQUJJUUFEUUNBQUlBa2dFR29pQ0VFRmRVR3dMbW90QUFBNkFBQWdBQ0FHSUFocUlnaEJCWFZCc0M1cUxRQUFPZ0FCSUFBZ0JpQUlhaUlJUVFWMVFiQXVhaTBBQURvQUFpQUFJQVlnQ0dvaUNFRUZkVUd3TG1vdEFBQTZBQU1nQUNBR0lBaHFJZ2hCQlhWQnNDNXFMUUFBT2dBRUlBQWdCaUFJYWlJSVFRVjFRYkF1YWkwQUFEb0FCU0FBSUFZZ0NHb2lDRUVGZFVHd0xtb3RBQUE2QUFZZ0FDQUdJQWhxUVFWMVFiQXVhaTBBQURvQUJ5QUpJQkZxSVFrZ0FFRUlhaUVBSUF4QmYyb2lEQTBBQ3dzZ0FTQUNJQXNRQ0NBQklBSkJRR3NnQzBFQmNoQUlJQUVnQWtHQUFXb2dDMEVDY2hBSUlBRWdBa0hBQVdvZ0MwRURjaEFJSUFKQmdBSnFJUUlnQkVFSWFpRUVJQU5CQ1dvaEF5QUJRVUJySVFFZ0MwRUVhaUVMSUJKQkFXb2lFa0VDUncwQUMwRUFDNkVWQWhoL0FuNENmd05BQW44Z0FDSUlJQlpCQTNSQnNEVnFLUUlBSWg2bkVCRWlDU0lHQkVBZ0NDZ0NCQ0FHS0FJRVJnd0JDMEVBQ3lFTkFrQWdCVVVOQUNBTlJRMEFRUUFnRFVFQ0lBa29BZ0FpQmtFR1J5QUdRUVpKRzBFQ1Joc2hEUXNDZnlBSUlCWkJBM1JCOERacUtRSUFJaCtuRUJFaUJ5SUdCRUFnQ0NnQ0JDQUdLQUlFUmd3QkMwRUFDeUVQQWtBZ0JVVU5BQ0FQUlEwQVFRQWdEMEVDSUFjb0FnQWlCa0VHUnlBR1FRWkpHMEVDUmhzaER3dEJBaUVNSUExQkFFY2dEMEVBUjNFaUVrRUJSZ1JBUVFJaEJnSi9RUUlnQ1NnQ0FDSUxRUVpISUF0QkJra2JSUVJBSUFrZ0hrSWdpS2RCL3dGeGFpMEFVaUVHQ3lBR0N3Si9RUUlnQnlnQ0FDSUpRUVpISUFsQkJra2JSUVJBSUFjZ0gwSWdpS2RCL3dGeGFpMEFVaUVNQ3lBTUN5QUdJQXhKR3lFTUN5QUNJQlpCQW5RaUNXb2lCaWdDREVVRVFDQUdLQUpNSWdZZ0JpQU1UMm9oREFzZ0NDQVdhaUFNT2dCU0FuOGdDQ0FXUVFOMFFiQTRhaWdDQUJBUklnWWlCd1JBSUFnb0FnUWdCeWdDQkVZTUFRdEJBQXNoRGdKQUlBVkZEUUFnRGtVTkFFRUFJQTVCQWlBR0tBSUFJZ1pCQmtjZ0JrRUdTUnRCQWtZYklRNExBbjhnQUNBV1FRTjBRZkE1YWlnQ0FCQVJJZ2dpQmdSQUlBQW9BZ1FnQmlnQ0JFWU1BUXRCQUFzaEVRSkFJQVZGRFFBZ0VVVU5BRUVBSUJGQkFpQUlLQUlBSWdoQkJrY2dDRUVHU1J0QkFrWWJJUkVMSUFsQjhDbHFLQUlBSVJjZ0NVR3dLV29vQWdBaEdBSi9RWVVLSUJaMlFRRnhJaHdFUUNBWFFRTnFJUWNnQkNBWGFpSUlRUUpxSVFZZ0NFRUJhaUVMSUFRTUFRc2dGMEVFZENBWWFpSUlRUzlxSVFjZ0FTQUlhaUlJUVI5cUlRWWdDRUVQYWlFTElBaEJmMm9oQ0NBQkN5RUpJQWNnQ1dvdEFBQWhDaUFHTFFBQUlSQWdDeTBBQUNFVElBZ3RBQUFoRkFKQVFUTWdGblpCQVhFRVFDQURJQmhxSWdjdEFBZ2hHeUFITFFBSElSa2dCeTBBQmlFVklBY3RBQVVoR2lBSExRQUVJUVlnQnkwQUF5RUxJQWN0QUFJaENTQUhMUUFCSVFnTUFRc2dBU0FYUVg5cUloMUJCSFFnR0dwcUlnY3RBQUFoQ0NBSExRQUhJUnNnQnkwQUJpRVpJQWN0QUFVaEZTQUhMUUFFSVJvZ0J5MEFBeUVHSUFjdEFBSWhDeUFITFFBQklRa2dIQVJBSUFRZ0hXb2hCd3dCQ3lBSFFYOXFJUWNMQWtBZ0RFRUhUUVJBSUFjdEFBQWhCd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdERUVCYXc0SEFRSURCQVVHQndBTElBOUZCRUJCQVE4TElBaEIvd0Z4SUF0Qi93RnhRUkIwSUFaQkdIUnljaUFKUWY4QmNVRUlkSEloRlNBSUlnd2hEU0FKSWc0aEVpQUxJZzhoQ2lBR0loRWhCd3dJQ3lBTlJRUkFRUUVQQ3lBS1FZR0NoQWhzSVJVZ0VFR0Jnb1FJYkNJTlFSaDJJUWNnRFVFUWRpRUtJQTFCQ0hZaEVpQVRRWUdDaEFoc0lneEJHSFloRVNBTVFSQjJJUThnREVFSWRpRU9JQlJCZ1lLRUNHd2lDRUVZZGlFR0lBaEJFSFloQ3lBSVFRaDJJUWtNQndzQ2Z5QVRJQlJxSUFwcUlCQnFJQVpCL3dGeGFpQUxRZjhCY1dvZ0NVSC9BWEZxSUFoQi93Rnhha0VFYWtFRGRpQVNEUUFhSUJNZ0ZHb2dDbW9nRUdwQkFtcEJBbllnRFEwQUdrR0FBU0FQUlEwQUdpQUdRZjhCY1NBTFFmOEJjV29nQ1VIL0FYRnFJQWhCL3dGeGFrRUNha0VDZGdzaUNFR0Jnb1FJYkNFVklBZ2lDU0lMSWdZaURDSU9JZzhpRVNJTkloSWlDaUVIREFZTElBOUZCRUJCQVE4TElBWkIvd0Z4SWcxQkFtb2lFU0FWSUFZZ0RodEIvd0Z4SWdkcUlCb2dCaUFPRzBIL0FYRWlDa0VCZEdwQkFuWWlEeUFaSUFZZ0RodEIvd0Z4SWd3Z0d5QUdJQTRiUWY4QmNTSUdRUU5zYWtFV2RFR0FnSUFFYWtHQWdJQjRjWElnQ2lBTWFpQUhRUUYwYWtFQ2FpSVFRUVowUVlEK0EzRnlJQVlnQjJvZ0RFRUJkR3BCQW1vaUJrRU9kRUdBZ1B3SGNYSWhGU0FHUVFKMklRY2dDMEgvQVhFaUJrRUNhaUlMSUFoQi93RnhhaUFKUWY4QmNTSUpRUUYwYWtFQ2RpRUlJQWtnRVdvZ0JrRUJkR3BCQW5ZaUNTRU1JQW9nQzJvZ0RVRUJkR3BCQW5ZaUN5RU9JQXNoRFNBUElnWWhFaUFRUVFKMkloRWhDZ3dGQzBFQklCRkZJQkpCQVhOeURRWWFJQlFnRTBFQmRHb2dFR3BCQW1vaURrRUdkRUdBL2dOeElBb2dFMEVDYWlJUGFpQVFRUUYwYWtFQ2RuSWdDRUgvQVhFaUNrRUNhaUlNSUJScUlBZEJBWFJxUVFKMklnaEJHSFJ5SUE4Z0ZFRUJkR29nQjJvaUVFRU9kRUdBZ1B3SGNYSWhGU0FKUWY4QmNTSVJRUUpxSWdrZ0JrSC9BWEZxSUF0Qi93RnhJZ3RCQVhScVFRSjJJUVlnRGtFQ2RpRU5JQWtnQ2tFQmRHb2dCMnBCQW5ZaUNTRVBJQkZCQVhRZ0Myb2dER3BCQW5ZaUN5RVJJQkJCQW5ZaURDRVNJQWdpRGlFS0lBa2hCd3dFQzBFQklCRkZJQkpCQVhOeURRVWFJQWhCL3dGeElncEJBbW9pRGlBTFFmOEJjU0lJSUFsQi93RnhJZ3RCQVhScWFrRUNkaUlQUVJoMElCUWdFMEVCZEdvZ0VHcEJBbXBCQW5aeUlBNGdGR29nQjBFQmRHb2lDVUVHZEVHQS9nTnhjaUFMUVFKcUlnNGdDa0VCZEdvZ0Iyb2lEVUVPZEVHQWdQd0hjWEloRlNBSVFRRnFJaEFnQmtIL0FYRWlER3BCQVhZaEJpQU1JQTVxSUFoQkFYUnFRUUoySVJFZ0NVRUNkaUVNSUExQkFuWWhEaUFUSUJSQkFYUnFJQWRxUVFKcVFRSjJJUTBnQnlBS2FrRUJha0VCZGlJSUlSSWdDaUFMYWtFQmFrRUJkaUlKSVFvZ0N5QVFha0VCZGlJTElRY01Bd3RCQVNBUlJTQVNRUUZ6Y2cwRUdpQVRRUUpxSWc0Z0Ntb2dFRUVCZEdwQkJuUkJnUDREY1NBUUlCTnFRUUZxSWc5QkQzUkJnSUQ4QjNFZ0ZFRUNhaUlNSUJOQkFYUnFJQkJxUVFKMkloSkJHSFJ5SUFvZ0VHcEJBV3BCQVhaeWNpRVZJQWhCL3dGeElnZ2dDMEgvQVhGcUlBbEIvd0Z4SWdsQkFYUnFRUUpxUVFKMklRWWdDU0FJUVFGMGFpQUhha0VDYWtFQ2RpRUxJQTlCQVhZaERTQUlJQXhxSUFkQkFYUnFRUUoySWhFaENTQVVRUUZxSWdvZ0IycEJBWFlpQ0NFUElBb2dFMnBCQVhZaURDRUtJQTRnRkVFQmRHb2dCMnBCQW5ZaURpRUhEQUlMSUE5RkJFQkJBUThMSUJvZ0JpQU9HMEgvQVhFaUNpQVpJQVlnRGh0Qi93RnhhaUFWSUFZZ0RodEIvd0Z4SWdkQkFYUnFRUlowSUF0Qi93RnhJZ3RCQW1vaURDQUthaUFHUWY4QmNTSUdRUUYwYWlJUFFRWjBja0dBZ0lBRWFrR0Evb040Y1NBR1FRSnFJZzBnQ1VIL0FYRWlDV29nQzBFQmRHcEJBbllpRG5JZ0J5QU5haUFLUVFGMGFpSU5RUTUwUVlDQS9BZHhjaUVWSUFjZ0NtcEJBV3BCQVhZaEJ5QU5RUUoySVJFZ0NTQUlRZjhCY1NJTmFrRUJha0VCZGlFSUlBOUJBblloRHlBTUlBMXFJQWxCQVhScVFRSjJJUXdnQ1NBTGFrRUJha0VCZGlJSklRMGdCa0VCYWlJR0lBdHFRUUYySWdzaEVpQUdJQXBxUVFGMklnWWhDZ3dCQ3lBTlJRUkFRUUVQQ3lBS1FRaDBJQXB5SUFwQkVIUnlJQXBCR0hSeUlSVWdFRUVDYWlJSElCUnFJQk5CQVhScVFRSjJJUWtnRTBFQmFpSUdJQlJxUVFGMklRZ2dCaUFRYWtFQmRpSUxJUXdnQ2lBVGFpQVFRUUYwYWtFQ2FrRUNkaUlHSVE0Z0NpQVFha0VCYWtFQmRpSVBJUTBnQnlBS1FRTnNha0VDZGlJUklSSWdDaUVIQ3lBQklCZEJCSFFnR0dwcUloQWdGVFlDTUNBUUlBMUIvd0Z4SUJKQi93RnhRUWgwY2lBS1FmOEJjVUVRZEhJZ0IwRVlkSEkyQWlBZ0VDQU1RZjhCY1NBT1FmOEJjVUVJZEhJZ0QwSC9BWEZCRUhSeUlCRkJHSFJ5TmdJUUlCQWdDRUgvQVhFZ0NVSC9BWEZCQ0hSeUlBdEIvd0Z4UVJCMGNpQUdRUmgwY2pZQ0FDQUJJQUlnRmtFR2RHcEJ5QUpxSUJZUUNDQVdRUUZxSWhaQkVFY05BQXRCQUFzTHhSSUJFSDhDZnlBQUtBTElBU0lIQkVBZ0FDZ0NCQ0FIS0FJRVJnd0JDMEVBQ3lFSEFrQWdCVVVOQUNBSFJRMEFRUUFnQjBFQ0lBQW9Bc2dCS0FJQUlnZEJCa2NnQjBFR1NSdEJBa1liSVFjTEFuOGdBQ2dDekFFaUNBUkFJQUFvQWdRZ0NDZ0NCRVlNQVF0QkFBc2hDQUpBSUFWRkRRQWdDRVVOQUVFQUlBaEJBaUFBS0FMTUFTZ0NBQ0lJUVFaSElBaEJCa2tiUVFKR0d5RUlDd0ovSUFBb0F0UUJJZ2tFUUNBQUtBSUVJQWtvQWdSR0RBRUxRUUFMSVFrQ1FDQUZSUTBBSUFsRkRRQkJBaUFBS0FMVUFTZ0NBQ0lGUVFaSElBVkJCa2tiUVFKSElRa0xBa0FDUUNBQUtBSUFRUUZxUVFOeElnQkJBazBFUUFKQUFrQUNRQ0FBUVFGckRnSUJBZ0FMSUFoRkJFQkJBUThMUVFBaEJTQUJJUUFEUUNBQUlBTXRBQUU2QUFBZ0FDQURMUUFDT2dBQklBQWdBeTBBQXpvQUFpQUFJQU10QUFRNkFBTWdBQ0FETFFBRk9nQUVJQUFnQXkwQUJqb0FCU0FBSUFNdEFBYzZBQVlnQUNBRExRQUlPZ0FISUFBZ0F5MEFDVG9BQ0NBQUlBTXRBQW82QUFrZ0FDQURMUUFMT2dBS0lBQWdBeTBBRERvQUN5QUFJQU10QUEwNkFBd2dBQ0FETFFBT09nQU5JQUFnQXkwQUR6b0FEaUFBSUFNdEFCQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3REN5QUhSUVJBUVFFUEMwRUFJUVVnQVNFQUEwQWdBQ0FFSUFWcUlnTXRBQUE2QUFBZ0FDQURMUUFBT2dBQklBQWdBeTBBQURvQUFpQUFJQU10QUFBNkFBTWdBQ0FETFFBQU9nQUVJQUFnQXkwQUFEb0FCU0FBSUFNdEFBQTZBQVlnQUNBRExRQUFPZ0FISUFBZ0F5MEFBRG9BQ0NBQUlBTXRBQUE2QUFrZ0FDQURMUUFBT2dBS0lBQWdBeTBBQURvQUN5QUFJQU10QUFBNkFBd2dBQ0FETFFBQU9nQU5JQUFnQXkwQUFEb0FEaUFBSUFNdEFBQTZBQThnQUVFUWFpRUFJQVZCQVdvaUJVRVFSdzBBQ3d3Q0N5QUJBbjhDUUNBSFJRMEFJQWhGRFFBZ0JDMEFEeUFETFFBUUlBUXRBQTRnQXkwQUR5QUVMUUFOSUFNdEFBNGdCQzBBRENBRExRQU5JQVF0QUFzZ0F5MEFEQ0FFTFFBS0lBTXRBQXNnQkMwQUNTQURMUUFLSUFRdEFBZ2dBeTBBQ1NBRUxRQUhJQU10QUFnZ0JDMEFCaUFETFFBSElBUXRBQVVnQXkwQUJpQUVMUUFFSUFNdEFBVWdCQzBBQXlBRExRQUVJQVF0QUFJZ0F5MEFBeUFFTFFBQklBTXRBQUlnQXkwQUFTQUVMUUFBYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFtcHFhbXBxYW1wcWFrRVFha0VGZGd3QkN5QUhCRUFnQkMwQUR5QUVMUUFPSUFRdEFBMGdCQzBBRENBRUxRQUxJQVF0QUFvZ0JDMEFDU0FFTFFBSUlBUXRBQWNnQkMwQUJpQUVMUUFGSUFRdEFBUWdCQzBBQXlBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFhbXBxYW1wcWFrRUlha0VFZGd3QkMwR0FBU0FJUlEwQUdpQURMUUFRSUFNdEFBOGdBeTBBRGlBRExRQU5JQU10QUF3Z0F5MEFDeUFETFFBS0lBTXRBQWtnQXkwQUNDQURMUUFISUFNdEFBWWdBeTBBQlNBRExRQUVJQU10QUFNZ0F5MEFBU0FETFFBQ2FtcHFhbXBxYW1wcWFtcHFhbXBxUVFocVFRUjJDMEdBQWhBSEdnd0JDMEVCSVFBZ0IwVU5BU0FJUlEwQklBbEZEUUVnQkMwQUNDQUVMUUFHYXlBRUxRQVBJZ0FnQXkwQUFDSUZhMEVEZEdvZ0JDMEFDU0FFTFFBRmEwRUJkR29nQkMwQUNpQUVMUUFFYTBFRGJHb2dCQzBBQ3lBRUxRQURhMEVDZEdvZ0JDMEFEQ0FFTFFBQ2EwRUZiR29nQkMwQURTQUVMUUFCYTBFR2JHb2dCQzBBRGlBRUxRQUFhMEVIYkdwQkJXeEJJR3BCQm5VaEJ5QURMUUFKSUFNdEFBZHJJQU10QUFvZ0F5MEFCbXRCQVhScUlBTXRBQXNnQXkwQUJXdEJBMnhxSUFNdEFBd2dBeTBBQkd0QkFuUnFJQU10QUEwZ0F5MEFBMnRCQld4cUlBTXRBQTRnQXkwQUFtdEJCbXhxSUFNdEFBOGdBeTBBQVd0QkIyeHFJQU10QUJBaUF5QUZhMEVEZEdwQkJXeEJJR3BCQm5VaUJFRURkQ0VJSUFSQkIyd2hDU0FFUVFac0lRb2dCRUVGYkNFTElBUkJBMndoRENBRVFYMXNJUTBnQkVGN2JDRU9JQVJCZW13aER5QUVRWGxzSVJCQkFDQUVRUUYwSWhGcklSSkJBQ0FFUVFKMEloTnJJUlFnQUNBRGFrRUVkRUVRYWlFVlFRQWhCUU5BSUFFZ0JVRUVkQ0lBYWlBVklBVkJlV29nQjJ4cUlnTWdFR3BCQlhVaUJrSC9BU0FHUWY4QlNCc2lCa0VBSUFaQkFFb2JPZ0FBSUFFZ0FFRUJjbW9nQXlBUGFrRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFKeWFpQURJQTVxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJBM0pxSUFNZ0ZHcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFRWNtb2dBeUFOYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUVZ5YWlBRElCSnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkJuSnFJQU1nQkd0QkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVIY21vZ0EwRUZkU0lHUWY4QklBWkIvd0ZJR3lJR1FRQWdCa0VBU2hzNkFBQWdBU0FBUVFoeWFpQURJQVJxUVFWMUlnWkIvd0VnQmtIL0FVZ2JJZ1pCQUNBR1FRQktHem9BQUNBQklBQkJDWEpxSUFNZ0VXcEJCWFVpQmtIL0FTQUdRZjhCU0JzaUJrRUFJQVpCQUVvYk9nQUFJQUVnQUVFS2Ntb2dBeUFNYWtFRmRTSUdRZjhCSUFaQi93RklHeUlHUVFBZ0JrRUFTaHM2QUFBZ0FTQUFRUXR5YWlBRElCTnFRUVYxSWdaQi93RWdCa0gvQVVnYklnWkJBQ0FHUVFCS0d6b0FBQ0FCSUFCQkRISnFJQU1nQzJwQkJYVWlCa0gvQVNBR1FmOEJTQnNpQmtFQUlBWkJBRW9iT2dBQUlBRWdBRUVOY21vZ0F5QUtha0VGZFNJR1FmOEJJQVpCL3dGSUd5SUdRUUFnQmtFQVNoczZBQUFnQVNBQVFRNXlhaUFESUFscVFRVjFJZ1pCL3dFZ0JrSC9BVWdiSWdaQkFDQUdRUUJLR3pvQUFDQUJJQUJCRDNKcUlBTWdDR3BCQlhVaUFFSC9BU0FBUWY4QlNCc2lBRUVBSUFCQkFFb2JPZ0FBSUFWQkFXb2lCVUVRUncwQUN3dEJBQ0VBSUFFZ0FrRUFFQWdnQVNBQ1FVQnJRUUVRQ0NBQklBSkJnQUZxUVFJUUNDQUJJQUpCd0FGcVFRTVFDQ0FCSUFKQmdBSnFRUVFRQ0NBQklBSkJ3QUpxUVFVUUNDQUJJQUpCZ0FOcVFRWVFDQ0FCSUFKQndBTnFRUWNRQ0NBQklBSkJnQVJxUVFnUUNDQUJJQUpCd0FScVFRa1FDQ0FCSUFKQmdBVnFRUW9RQ0NBQklBSkJ3QVZxUVFzUUNDQUJJQUpCZ0FacVFRd1FDQ0FCSUFKQndBWnFRUTBRQ0NBQklBSkJnQWRxUVE0UUNDQUJJQUpCd0FkcVFROFFDQXNnQUF1N0NBRUhmd0pBSUFORkRRQWdBQ2dDQUNBRElBQW9BZ1FpQlc0aUNDQUZiQ0lFUVFoMGFpQURJQVJySWdkQkJIUnFJUVlnQlVFRWRDRUVJQUFvQWdnaENTQUZJQU5MSWdwRkJFQWdBU0FHSUFSQkFYSnJJZ010QUFBNkFBQWdBU0FETFFBQk9nQUJJQUVnQXkwQUFqb0FBaUFCSUFNdEFBTTZBQU1nQVNBRExRQUVPZ0FFSUFFZ0F5MEFCVG9BQlNBQklBTXRBQVk2QUFZZ0FTQURMUUFIT2dBSElBRWdBeTBBQ0RvQUNDQUJJQU10QUFrNkFBa2dBU0FETFFBS09nQUtJQUVnQXkwQUN6b0FDeUFCSUFNdEFBdzZBQXdnQVNBRExRQU5PZ0FOSUFFZ0F5MEFEam9BRGlBQklBTXRBQTg2QUE4Z0FTQURMUUFRT2dBUUlBRWdBeTBBRVRvQUVTQUJJQU10QUJJNkFCSWdBU0FETFFBVE9nQVRJQUVnQXkwQUZEb0FGQ0FCUVJWcUlRRUxJQWNFUUNBQ0lBWkJmMm9pQXkwQUFEb0FBQ0FDSUFNZ0JHb2lBeTBBQURvQUFTQUNJQU1nQkdvaUF5MEFBRG9BQWlBQ0lBTWdCR29pQXkwQUFEb0FBeUFDSUFNZ0JHb2lBeTBBQURvQUJDQUNJQU1nQkdvaUF5MEFBRG9BQlNBQ0lBTWdCR29pQXkwQUFEb0FCaUFDSUFNZ0JHb2lBeTBBQURvQUJ5QUNJQU1nQkdvaUF5MEFBRG9BQ0NBQ0lBTWdCR29pQXkwQUFEb0FDU0FDSUFNZ0JHb2lBeTBBQURvQUNpQUNJQU1nQkdvaUF5MEFBRG9BQ3lBQ0lBTWdCR29pQXkwQUFEb0FEQ0FDSUFNZ0JHb2lBeTBBQURvQURTQUNJQU1nQkdvaUF5MEFBRG9BRGlBQ0lBTWdCR290QUFBNkFBOGdBa0VRYWlFQ0N5QUFLQUlBSUFVZ0NXd2lCRUVJZEdvZ0NDQUZRUU4wSWdCc1FRTjBhaUFIUVFOMGFpRUdJQUJCK1AvLy93ZHhJUUFnQ2tVRVFDQUJJQVlnQUVFQmNtc2lBeTBBQURvQUFDQUJJQU10QUFFNkFBRWdBU0FETFFBQ09nQUNJQUVnQXkwQUF6b0FBeUFCSUFNdEFBUTZBQVFnQVNBRExRQUZPZ0FGSUFFZ0F5MEFCam9BQmlBQklBTXRBQWM2QUFjZ0FTQURRUWhxSWdNdEFBQTZBQWdnQVNBRVFRWjBJQU5xSWdOQmVHb3RBQUE2QUFrZ0FTQURRWGxxTFFBQU9nQUtJQUVnQTBGNmFpMEFBRG9BQ3lBQklBTkJlMm90QUFBNkFBd2dBU0FEUVh4cUxRQUFPZ0FOSUFFZ0EwRjlhaTBBQURvQURpQUJJQU5CZm1vdEFBQTZBQThnQVNBRFFYOXFMUUFBT2dBUUlBRWdBeTBBQURvQUVRc2dCMFVOQUNBQ0lBWkJmMm9pQVMwQUFEb0FBQ0FDSUFBZ0FXb2lBUzBBQURvQUFTQUNJQUFnQVdvaUFTMEFBRG9BQWlBQ0lBQWdBV29pQVMwQUFEb0FBeUFDSUFBZ0FXb2lBUzBBQURvQUJDQUNJQUFnQVdvaUFTMEFBRG9BQlNBQ0lBQWdBV29pQVMwQUFEb0FCaUFDSUFBZ0FXb2lBUzBBQURvQUJ5QUNJQUFnQVdvZ0JDQUZhMEVHZEdvaUFTMEFBRG9BQ0NBQ0lBQWdBV29pQVMwQUFEb0FDU0FDSUFBZ0FXb2lBUzBBQURvQUNpQUNJQUFnQVdvaUFTMEFBRG9BQ3lBQ0lBQWdBV29pQVMwQUFEb0FEQ0FDSUFBZ0FXb2lBUzBBQURvQURTQUNJQUFnQVdvaUFTMEFBRG9BRGlBQ0lBQWdBV290QUFBNkFBOExDNjhCQVFGL0l3QkIwQUJySWdZa0FDQUNJQVpCSUdvZ0JpQURFRlVDUUFKQVFRSWdBQ2dDQUNJRFFRWkhJQU5CQmtrYlFRRkdCRUFnQUNBRklBRkJ5QUpxSUFaQklHb2dCaUFFRUZRaUEwVU5BUXdDQ3lBQUlBVWdBU0FHUVNCcUlBWWdCQkJUSWdNTkFRc2dBQ0FGUVlBQ2FpQUJRY2dLYWlBR1FUVnFJQVpCRUdvZ0FTZ0NqQUVnQkJCU0lnTU5BRUVBSVFNZ0FDZ0N4QUZCQVVzTkFDQUNJQVVRR3dzZ0JrSFFBR29rQUNBREM2TXFBU1IvSXdCQklHc2lFQ1FBSUJBZ0JDZ0NCQ0lJTmdJTUlCQWdCQ2dDQ0RZQ0VDQURJQWh1SWdaQkJIUWhGQ0FESUFZZ0NHeHJRUVIwSVJVQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FnQWlCa0VEVFFSQUFrQUNRQUpBSUFaQkFtc09BZ0VDQUFzZ0FTZ0NrQUVoRXlBQUtBSUVJUTVCZnlFUEFuOGdBQ2dDeUFFaUNVVUVRRUVBSVFoQmZ3d0JDMEVBSVFoQmZ5QUpLQUlFSUE1SERRQWFRUUVoRWtGL0lBa29BZ0JCQlVzTkFCb2dDU2dDbUFFaUNFRVFkaUVISUFrb0FtZ0xJUTBnQUNnQ3pBRWlDVVVOQ0NBSktBSUVJQTVIRFFoQkFTRVdJQWtvQWdCQkJVc05DQ0FKS0FLc0FTSVJRUkIySVFvZ0NTZ0NiQ0VQREFnTElBRW9BcEFCSVJNZ0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhDMEYvSVFjQ1FDQUFLQUxNQVNJR1JRMEFJQXNnQmlnQ0JFY0VRQXdCQzBFQklSSWdCaWdDQUVFRlN3MEFJQVlvQXF3QklnbEJFSFloQ2lBR0tBSnNJUWNMSUFjZ0UwWUVRQ0FLSVFjZ0NTRUdEQWNMUVg4aER3SkFBa0FDUUNBQUtBTElBU0lJUlFSQVFRQWhCd3dCQzBFQUlRY2dDQ2dDQkNBTFJnMEJDMEVBSVFZTUFRdEJBU0VYSUFnb0FnQkJCVXNFUUVFQUlRWU1BUXNnQ0NnQ21BRWlCa0VRZGlFSElBZ29BbWdoRHdzQ1FBSkFJQUFvQXRBQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVTBOQVF3R0N3SkFJQUFvQXRRQklnaEZEUUFnQ0NnQ0JDQUxSdzBBSUFnb0FnQkJCVXNOQmlBSUtBSndJUllnQ0NnQ3dBRWhDQXdIQzBFQUlRaEJmeUVXSUJJTkJpQVhSUTBHREFjTElBZ29BbXdoRmlBSUtBS3NBU0VJREFVTElBRW9BcEFCSVE4Z0FTOEJvZ0VoRFNBQkx3R2dBU0VNSUFBb0FnUWhCa0YvSVFjQ1FDQUFLQUxJQVNJS1JRUkFRUUFoQ0F3QkMwRUFJUWdnQmlBS0tBSUVSd1JBREFFTFFRRWhFU0FLS0FJQVFRVkxEUUFnQ2lnQ21BRWlDVUVRZGlFSUlBb29BbWdoQndzZ0J5QVBSZzBCQW44Q2Z3SkFBa0FnQUNnQ3pBRWlCMFVOQUNBSEtBSUVJQVpIRFFBZ0J5Z0NBRUVGU3cwQklBY29BbkFoRVNBSEtBSzhBU0VLSUFjb0Ftd2hFaUFIS0FLc0FTSUdRUkIyREFNTEFrQWdBQ2dDMUFFaUIwVU5BQ0FIS0FJRUlBWkhEUUJCQUNFR1FYOGhFaUFIS0FJQVFRVkxCRUJCZnlFUlFRQU1Bd3NnQnlnQ2NDRVJJQWNvQXNBQkRBSUxJQkVOQkF0QmZ5RVJRWDhoRWtFQUlRWkJBQXNoQ2tFQUN5RUhJQThnRWtZaUN5QVBJQkZHYWtFQlJ3UkFJQWNnQ0NBSFFSQjBRUkIxSWdzZ0NFRVFkRUVRZFNJT1NpSUlHeUlISUE0Z0N5QU9JQXNnRGtnYklBZ2JJZ2dnQ2tFUWRTSUxJQWdnQzBvYklBZEJFSFJCRUhVZ0MwZ2JJUWNnQmlBSklBWkJFSFJCRUhVaUN5QUpRUkIwUVJCMUlnbEtJZ1liSWdoQi8vOERjU0FKSUFzZ0NTQUxJQWxJR3lBR0d5SUdJQXBCRUhSQkVIVWlDU0FHSUFsS0d5QUlRUkIwUVJCMUlBbElHeUVHREFNTElBc05BaUFLUVJCMklRY2dDaUVHREFJTFFRRWhHeUFBUVlRQmFpRWNBMEFDZnlBQklCMUJBblFpSG1vaUlDSWtLQUt3QVNJR1FRSk5CRUFnQmtFQ2RFR2NOV29vQWdBTUFRdEJCQXNoSWlBQUlCNXFJZ1lnSUNnQ3dBRTJBbVFnQmlBQ0lDQW9Bc0FCRUJRaUJqWUNkQ0FHUlEwSUlDSUVRQ0FjSUIxQkJIUWlIMm9pSlNFbUlCd2dIMEVNY21vaUowRUNhaUVvSUJ3Z0gwRUljbW9pS1NFUklCd2dIMEVFY21vaUZpRVRRUUFoQmdOQUlBRWdIMm9nQmtFQ2RHb2lDQzhCMGdFaER5QUlMd0hRQVNFT0lDQW9Bc0FCSVNGQmZ5RVhBbjhnQUNBZFFRZDBJQ1FvQXJBQklpTkJCWFJxSUFaQkEzUnFJaHBCc0JscUtBSUFFQkVpQ1VVRVFFRUFJUXhCQUNFSVFRQWhDa0YvREFFTFFRQWhERUVBSVFoQkFDRUtRWDhnQ1NnQ0JDQUFLQUlFUncwQUdrRUJJUXBCZnlBSktBSUFRUVZMRFFBYUlBa2dHa0cwR1dvdEFBQWlCMEVDZEdvb0FvUUJJZ2hCRUhZaERDQUpJQWRCL0FGeGFpZ0NaQXNoRFFKQUFrQUNRQ0FBSUJwQnNCMXFLQUlBRUJFaUdFVUVRRUVBSVFrTUFRdEJBQ0VKSUJnb0FnUWdBQ2dDQkVZTkFRdEJBQ0VTUVFBaEN3d0JDMEVCSVFzZ0dDZ0NBRUVGU3dSQVFRQWhFZ3dCQ3lBWUlCcEJ0QjFxTFFBQUlnZEJBblJxS0FLRUFTSVNRUkIySVFrZ0dDQUhRZndCY1dvb0FtUWhGd3NDUUFKQUFrQUNRQUpBSUFBZ0drR3dJV29vQWdBUUVTSVpSUTBBSUJrb0FnUWdBQ2dDQkVjTkFDQVpLQUlBUVFWTkRRRU1BZ3NDUUNBQUlCcEJzQ1ZxS0FJQUVCRWlHVVVOQUNBWktBSUVJQUFvQWdSSERRQWdHU2dDQUVFRlN3MENJQmtnR2tHMEpXb3RBQUFpQjBIOEFYRnFLQUprSVJnZ0dTQUhRUUowYWlnQ2hBRWhCd3dEQzBFQUlRZEJmeUVZSUFwRkRRSWdDdzBDREFNTElCa2dHa0cwSVdvdEFBQWlCMEg4QVhGcUtBSmtJUmdnR1NBSFFRSjBhaWdDaEFFaEJ3d0JDMEVBSVFkQmZ5RVlDeUFYSUNGR0lnb2dEU0FoUmlJTGFpQVlJQ0ZHYWtFQlJ3UkFJQWtnRENBSlFSQjBRUkIxSWdzZ0RFRVFkRUVRZFNJTVNpSUpHeUlLSUF3Z0N5QU1JQXNnREVnYklBa2JJZ2tnQjBFUWRTSUxJQWtnQzBvYklBcEJFSFJCRUhVZ0MwZ2JJUXdnRWlBSUlCSkJFSFJCRUhVaUNpQUlRUkIwUVJCMUlndEtJZ2diSWdsQi8vOERjU0FMSUFvZ0N5QUtJQXRJR3lBSUd5SUlJQWRCRUhSQkVIVWlCeUFJSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVJREFFTElBZ2dFaUFMR3lFSUlBd2dDU0FMR3lFTUlBc05BQ0FLRFFBZ0IwRVFkaUVNSUFjaENBc2dDQ0FPYWlJS1FSQjBRUkIxUVlCQWEwSC8vd0JMRFFvZ0RDQVBhaUlKUVJCMFFSQjFRWUFRYWtIL0gwc05DaUFqUVFOTkJFQUNmd0pBQWtBQ1FBSkFJQ05CQVdzT0F3RUNBd0FMSUNVZ0Nqc0JBQ0FtSUFrN0FRSWdGaUFLT3dFQUlCTWdDVHNCQWlBcElBbzdBUUFnRVNBSk93RUNJQ2NnQ2pzQkFDQW9EQU1MSUJ3Z0JrRUJkQ0FlYWtFQ2RDSUhhaUlJSUFrN0FRSWdDQ0FLT3dFQUlCd2dCMEVFY21vaUNDQUtPd0VBSUFoQkFtb01BZ3NnQUNBR0lCNXFRUUowYWlJSUlBbzdBWXdCSUFnZ0NUc0JoZ0VnQ0NBS093R0VBU0FJUVk0QmFnd0JDeUFBSUFZZ0htcEJBblJxSWdnZ0Nqc0JoQUVnQ0VHR0FXb0xJQWs3QVFBTElBWkJBV29pQmlBaVJ3MEFDd3NnSFVFQmFpSWRRUVJIRFFBTFFRQWhEQU5BSUJBZ0FDQU1RUUowSWdKcUtBSjBOZ0lJSUF4QkFVdEJBM1FoQ1NBTVFRTjBRUWh4SVFjQ1FDQUJJQUpxS0FLd0FTSUNRUUpOQkVBQ1FBSkFBa0FnQWtFQmF3NENBUUlBQ3lBRklBQWdERUVFZEdwQmhBRnFJQkJCQ0dvZ0ZTQVVJQWNnQ1VFSVFRZ1FEZ3dEQ3lBRklBQWdERUVFZEdvaUFrR0VBV29nRUVFSWFpQVZJQlFnQnlBSlFRaEJCQkFPSUFVZ0FrR01BV29nRUVFSWFpQVZJQlFnQnlBSlFRUnlRUWhCQkJBT0RBSUxJQVVnQUNBTVFRUjBhaUlDUVlRQmFpQVFRUWhxSUJVZ0ZDQUhJQWxCQkVFSUVBNGdCU0FDUVlnQmFpQVFRUWhxSUJVZ0ZDQUhRUVJ5SUFsQkJFRUlFQTRNQVFzZ0JTQUFJQXhCQkhScUlnaEJoQUZxSUJCQkNHb2dGU0FVSUFjZ0NVRUVRUVFRRGlBRklBaEJpQUZxSUJCQkNHb2dGU0FVSUFkQkJISWlCaUFKUVFSQkJCQU9JQVVnQ0VHTUFXb2dFRUVJYWlBVklCUWdCeUFKUVFSeUlnSkJCRUVFRUE0Z0JTQUlRWkFCYWlBUVFRaHFJQlVnRkNBR0lBSkJCRUVFRUE0TElBeEJBV29pREVFRVJ3MEFDd3dHQ3lBSUlRY2dDU0VHQzBFQklSc2dCaUFNYWlJSVFSQjBRUkIxUVlCQWEwSC8vd0JMRFFVZ0J5QU5haUlHUVJCMFFSQjFRWUFRYWtIL0gwc05CU0FDSUE4UUZDSUhSUTBGSUFBZ0Jqc0JzZ0VnQUNBSU93R3dBU0FBSUFjMkFuUWdBQ0FQTmdKa0lBQWdCellDZkNBQUlBODJBbXdnQUNBQUtBS3dBU0lHTmdLc0FTQUFJQVkyQXFnQklBQWdCallDcEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FCS0FLVUFTRU9JQUV2QWFZQklRd2dBUzhCcEFFaEN5QUFLQUlFSVFrQ1FBSkFJQUFvQXRBQklnZEZEUUFnQnlnQ0JDQUpSdzBBUVFFaEVTQUhLQUlBUVFWTEJFQkJmeUVJUVFBaEJ3d0NDeUFIS0FKc0lRZ2dCeWdDckFFaEJ3d0JDMEYvSVFoQkFDRUhJQUFvQXN3QklncEZCRUJCQUNFUkRBRUxJQWtnQ2lnQ0JFY0VRRUVBSVJFTUFRdEJBU0VSSUFvb0FnQkJCVXNOQUNBS0tBSnNJUWdnQ2lnQ3NBRWhCd3NDUUNBSUlBNUdSUVJBSUFaQkVIWWhDQUovQWtBQ1FDQUFLQUxNQVNJTlJRMEFJQTBvQWdRZ0NVY05BQ0FOS0FJQVFRVkxEUUVnRFNnQ3ZBRWlFVUVRZGlFS0lBMG9BbkFNQWdzZ0VVVU5Bd3RCQUNFUlFRQWhDa0YvQ3lFTklBNGdEMFlpQ1NBTklBNUdha0VCUndSQUlBb2dDQ0FLUVJCMFFSQjFJZzBnQ0VFUWRFRVFkVW9pQ0JzaUNTQUdRUkIxSWdvZ0RTQUtJQW9nRFVvYklBZ2JJZ2dnQjBFUWRTSUtJQWdnQ2tvYklBbEJFSFJCRUhVZ0NrZ2JJUWdnRVNBR0lCRkJFSFJCRUhVaUNpQUdRUkIwUVJCMUlnMUtJZ1liSWdsQi8vOERjU0FOSUFvZ0RTQU5JQXBLR3lBR0d5SUdJQWRCRUhSQkVIVWlCeUFHSUFkS0d5QUpRUkIwUVJCMUlBZElHeUVHREFJTElBa05BU0FOSUE1R0JFQWdFVUgvL3dOeElBcEJFSFJ5SVFZZ0NpRUlEQUlMQ3lBSFFSQjJJUWdnQnlFR0N5QUdJQXRxSWdkQkVIUkJFSFZCZ0VCclFmLy9BRXNOQlNBSUlBeHFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MEZJQUlnRGhBVUlnSkZEUVVnQUNBR093SENBU0FBSUFjN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKNElBQWdEallDY0NBQUlBNDJBbWdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0tnQVNBQUlBWTJBcHdCSUFBZ0JqWUNtQUVnQUVHVUFXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVJUVJBUURpQVFJQUFvQW5nMkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFoQkFFRUlRUkFRRGd3RUMwRUFJUWhCZnlFV0N5QVBJQk5HSWdzZ0V5QVdSbXBCQVVjRVFDQUtJQWNnQ2tFUWRFRVFkU0lMSUFkQkVIUkJFSFVpRGtvaUJ4c2lDaUFPSUFzZ0RpQUxJQTVJR3lBSEd5SUhJQWhCRUhVaUN5QUhJQXRLR3lBS1FSQjBRUkIxSUF0SUd5RUhJQWtnQmlBSlFSQjBRUkIxSWdvZ0JrRVFkRUVRZFNJTFNpSUdHeUlKUWYvL0EzRWdDeUFLSUFzZ0NpQUxTQnNnQmhzaUJpQUlRUkIwUVJCMUlnZ2dCaUFJU2hzZ0NVRVFkRUVRZFNBSVNCc2hCZ3dCQ3lBTERRQWdDRUVRZGlFSElBZ2hCZ3RCQVNFYklBWWdER29pQ0VFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0RXb2lCa0VRZEVFUWRVR0FFR3BCL3g5TERRSWdBaUFURUJRaUIwVU5BaUFBSUFZN0FhSUJJQUFnQ0RzQm9BRWdBQ0FITmdKMElBQWdFellDWkNBQUlBYzJBbmdnQUNBVE5nSm9JQUFnQUNnQ29BRWlEellDbkFFZ0FDQVBOZ0tZQVNBQUlBODJBcFFCSUFBZ0R6WUNrQUVnQUNBUE5nS01BU0FBSUE4MkFvZ0JJQUFnRHpZQ2hBRWdBU2dDbEFFaERpQUJMd0dtQVNFTklBRXZBYVFCSVF3Q2Z3SkFBa0FDUUNBQUtBTElBU0lHQkVBZ0JpZ0NCQ0FBS0FJRVJnUkFJQVlvQWdCQkJVMEVRQ0FHS0FLNEFTSUxRUkIySVFjZ0JpZ0NjQ0FPUncwRUlBc2hDUXdEQzBGL0lSSkJBQ0VKUVFBaEIwRUFJUXRCQUNFS0lBNUJmMFlOQWd3RUMwRi9JUkpCQUNFSlFRQWhCMEVBSVF0QkFDRUtJQTVCZjBZTkFRd0RDMEYvSVJKQkFDRUpRUUFoQjBFQUlRdEJBQ0VLSUE1QmYwY05BZ3NnQ1VILy93TnhJQWRCRUhSeURBSUxJQVlvQW1naEVpQUdLQUtnQVNFS0lBY2hDUXNnRDBFUWRpRUlJQTRnRTBZaUJpQU9JQkpHYWtFQlJ3UkFJQWdnQ1NBSlFSQjBRUkIxSWdrZ0NFRVFkRUVRZFVnaUJ4c2lDQ0FKSUE5QkVIVWlCaUFKSUFZZ0NVZ2JJQWNiSWdZZ0NrRVFkU0lISUFZZ0Iwb2JJQWhCRUhSQkVIVWdCMGdiSVFjZ0R5QUxJQXRCRUhSQkVIVWlDeUFQUVJCMFFSQjFJZ2xJSWdZYklnaEIvLzhEY1NBTElBa2dDeUFKSUF0SUd5QUdHeUlHSUFwQkVIUkJFSFVpQ1NBR0lBbEtHeUFJUVJCMFFSQjFJQWxJR3d3QkN5QUlJQXBCRUhZZ0Joc2hCeUFQSUFvZ0Joc0xJQXhxSWdoQkVIUkJFSFZCZ0VCclFmLy9BRXNOQWlBSElBMXFJZ1pCRUhSQkVIVkJnQkJxUWY4ZlN3MENJQUlnRGhBVUlnSkZEUUlnQUNBR093SENBU0FBSUFnN0FjQUJJQUFnQWpZQ2dBRWdBQ0FDTmdKOElBQWdEallDY0NBQUlBNDJBbXdnQUNBQUtBTEFBU0lHTmdLOEFTQUFJQVkyQXJnQklBQWdCallDdEFFZ0FDQUdOZ0t3QVNBQUlBWTJBcXdCSUFBZ0JqWUNxQUVnQUVHa0FXb2lBaUFHTmdJQUlCQWdBQ2dDZERZQ0NDQUZJQUJCaEFGcUlCQkJDR29nRlNBVVFRQkJBRUVRUVFnUURpQVFJQUFvQW53MkFnZ2dCU0FDSUJCQkNHb2dGU0FVUVFCQkNFRVFRUWdRRGd3QkN3SkFJQVpGQkVBZ0VrVUVRRUVBSVFrTUFnc2dGa1VFUUVFQUlRa01BZ3NnQ0VILy93TnhJQWRCRUhSeUlBMXlSUVJBUVFBaENRd0NDMEVBSVFrZ0VVSC8vd054SUFwQkVIUnlJQTl5UlEwQkN5QUJMd0dpQVNFTElBRXZBYUFCSVFrQ1FBSkFBa0FDUUFKQUlBQW9BdEFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVME5BUXdDQ3dKQUlBQW9BdFFCSWdaRkRRQWdCaWdDQkNBT1J3MEFJQVlvQWdCQkJVc05BaUFHS0FKd0lSY2dCaWdDd0FFaERBd0RDMEYvSVJjZ0VrVU5BaUFXRFFJTUF3c2dCaWdDYkNFWElBWW9BcXdCSVF3TUFRdEJmeUVYQ3lBUElCTkdJZ1lnRFNBVFJpSU5haUFUSUJkR2FrRUJSd1JBSUFvZ0J5QUtRUkIwUVJCMUlnb2dCMEVRZEVFUWRTSU5TaUlHR3lJSElBMGdDaUFOSUFvZ0RVZ2JJQVliSWdZZ0RFRVFkU0lLSUFZZ0Nrb2JJQWRCRUhSQkVIVWdDa2diSVFjZ0VTQUlJQkZCRUhSQkVIVWlDaUFJUVJCMFFSQjFJZzFLSWdZYklnaEIvLzhEY1NBTklBb2dEU0FLSUExSUd5QUdHeUlHSUF4QkVIUkJFSFVpQ2lBR0lBcEtHeUFJUVJCMFFSQjFJQXBJR3lFSURBRUxJQWdnRVNBTkd5RUlJQWNnQ2lBTkd5RUhJQTBOQUNBR0RRQWdERUVRZGlFSElBd2hDQXRCQVNFYklBZ2dDV29pREVFUWRFRVFkVUdBUUd0Qi8vOEFTdzBDSUFjZ0Myb2lDVUVRZEVFUWRVR0FFR3BCL3g5TERRSUxJQUlnRXhBVUlnSkZCRUJCQVNFYkRBSUxJQUFnQ1RzQndnRWdBQ0FNT3dIQUFTQUFJQUkyQW5RZ0FDQVROZ0prSUFBZ0FqWUNnQUVnQUNBQ05nSjhJQUFnQWpZQ2VDQUFJQk0yQW5BZ0FDQVROZ0pzSUFBZ0V6WUNhQ0FBSUFBb0FzQUJJZ1kyQXJ3QklBQWdCallDdUFFZ0FDQUdOZ0swQVNBQUlBWTJBckFCSUFBZ0JqWUNyQUVnQUNBR05nS29BU0FBSUFZMkFxUUJJQUFnQmpZQ29BRWdBQ0FHTmdLY0FTQUFJQVkyQXBnQklBQWdCallDbEFFZ0FDQUdOZ0tRQVNBQUlBWTJBb3dCSUFBZ0JqWUNpQUVnQUNBR05nS0VBU0FRSUFJMkFnZ2dCU0FBUVlRQmFpQVFRUWhxSUJVZ0ZFRUFRUUJCRUVFUUVBNExRUUFoR3lBQUtBTEVBVUVCU3cwQUlBQW9BZ0FFUUNBRUlBTWdCU0FCUWNnQ2FoQllEQUVMSUFRZ0JSQWJDeUFRUVNCcUpBQWdHd3VUQ3dFUGZ5QUFLQUlBSWhFZ0FTQUJJQUFvQWdRaUNuQWlBV3NpQkVFSWRHb2dBVUVFZEdvaEJTQUtRUVIwSVFzZ0FDZ0NDQ0FLYkNJQVFRWjBJUVlnQVVFRGRDRUpJQUJCQ0hRaERDQUVRUVowSVJJZ0NrRUNkRUg4Ly8vL0EzRkJBblFoRUFOQUlBVWdEa0VDZENJQVFmQXBhaWdDQUNJQklBdHNhaUFBUWJBcGFpZ0NBQ0lBYWlFRUlBSWdBVUVFZEdvZ0FHb2hBQUpBSUFNZ0RrRUdkR29pQVNnQ0FDSUhRZi8vL3dkSEJFQWdBU2dDQkNFSUlBQXRBQUVoRFNBRUlBY2dBQzBBQUdwQnNDNXFMUUFBT2dBQUlBRW9BZ2doQnlBQUxRQUNJUThnQkNBSUlBMXFRYkF1YWkwQUFEb0FBU0FCS0FJTUlRZ2dBQzBBQXlFTklBUWdCeUFQYWtHd0xtb3RBQUE2QUFJZ0JDQUlJQTFxUWJBdWFpMEFBRG9BQXlBQktBSVVJUWNnQUMwQUVTRUlJQVFnQzJvaUJDQUJLQUlRSUFBdEFCQnFRYkF1YWkwQUFEb0FBQ0FCS0FJWUlRMGdBQzBBRWlFUElBUWdCeUFJYWtHd0xtb3RBQUE2QUFFZ0FTZ0NIQ0VISUFBdEFCTWhDQ0FFSUEwZ0QycEJzQzVxTFFBQU9nQUNJQVFnQnlBSWFrR3dMbW90QUFBNkFBTWdBU2dDSkNFSElBQXRBQ0VoQ0NBRUlBdHFJZ1FnQVNnQ0lDQUFMUUFnYWtHd0xtb3RBQUE2QUFBZ0FTZ0NLQ0VOSUFBdEFDSWhEeUFFSUFjZ0NHcEJzQzVxTFFBQU9nQUJJQUVvQWl3aEJ5QUFMUUFqSVFnZ0JDQU5JQTlxUWJBdWFpMEFBRG9BQWlBRUlBY2dDR3BCc0M1cUxRQUFPZ0FESUFFb0FqUWhCeUFBTFFBeElRZ2dCQ0FMYWlJRUlBRW9BakFnQUMwQU1HcEJzQzVxTFFBQU9nQUFJQUVvQWpnaERTQUFMUUF5SVE4Z0JDQUhJQWhxUWJBdWFpMEFBRG9BQVNBQktBSThJUUVnQUMwQU15RUFJQVFnRFNBUGFrR3dMbW90QUFBNkFBSWdCQ0FBSUFGcVFiQXVhaTBBQURvQUF3d0JDeUFBS0FJUUlRRWdCQ0FBS0FJQU5nSUFJQVFnRUdvaUJDQUJOZ0lBSUFBb0FqQWhBU0FFSUJCcUlnUWdBQ2dDSURZQ0FDQUVJQkJxSUFFMkFnQUxJQTVCQVdvaURrRVFSdzBBQ3lBTUlCRnFJQkpxSUFscUloQWdCbW9oRVNBS1FRTjBRZmovLy84SGNTSUxRUUoyUVFKMElRNUJFQ0VLQTBBZ0NrRUNkRUVNY1NJQVFmQXBhaWdDQUNJQklBdHNJQUJCc0NscUtBSUFJZ0JxSUJFZ0VDQUtRUk5MSWdVYmFpRUVJQUpCd0FKQmdBSWdCUnRxSUFGQkEzUWdBR3BxSVFBQ1FDQURJQXBCQm5ScUlnRW9BZ0FpQlVILy8vOEhSd1JBSUFFb0FnUWhCaUFBTFFBQklRa2dCQ0FGSUFBdEFBQnFRYkF1YWkwQUFEb0FBQ0FCS0FJSUlRVWdBQzBBQWlFTUlBUWdCaUFKYWtHd0xtb3RBQUE2QUFFZ0FTZ0NEQ0VHSUFBdEFBTWhDU0FFSUFVZ0RHcEJzQzVxTFFBQU9nQUNJQVFnQmlBSmFrR3dMbW90QUFBNkFBTWdBU2dDRkNFRklBQXRBQWtoQmlBRUlBdHFJZ1FnQVNnQ0VDQUFMUUFJYWtHd0xtb3RBQUE2QUFBZ0FTZ0NHQ0VKSUFBdEFBb2hEQ0FFSUFVZ0JtcEJzQzVxTFFBQU9nQUJJQUVvQWh3aEJTQUFMUUFMSVFZZ0JDQUpJQXhxUWJBdWFpMEFBRG9BQWlBRUlBVWdCbXBCc0M1cUxRQUFPZ0FESUFFb0FpUWhCU0FBTFFBUklRWWdCQ0FMYWlJRUlBRW9BaUFnQUMwQUVHcEJzQzVxTFFBQU9nQUFJQUVvQWlnaENTQUFMUUFTSVF3Z0JDQUZJQVpxUWJBdWFpMEFBRG9BQVNBQktBSXNJUVVnQUMwQUV5RUdJQVFnQ1NBTWFrR3dMbW90QUFBNkFBSWdCQ0FGSUFacVFiQXVhaTBBQURvQUF5QUJLQUkwSVFVZ0FDMEFHU0VHSUFRZ0Myb2lCQ0FCS0FJd0lBQXRBQmhxUWJBdWFpMEFBRG9BQUNBQktBSTRJUWtnQUMwQUdpRU1JQVFnQlNBR2FrR3dMbW90QUFBNkFBRWdBU2dDUENFQklBQXRBQnNoQUNBRUlBa2dER3BCc0M1cUxRQUFPZ0FDSUFRZ0FDQUJha0d3TG1vdEFBQTZBQU1NQVFzZ0FDZ0NDQ0VCSUFRZ0FDZ0NBRFlDQUNBRUlBNXFJZ1FnQVRZQ0FDQUFLQUlZSVFFZ0JDQU9haUlFSUFBb0FoQTJBZ0FnQkNBT2FpQUJOZ0lBQ3lBS1FRRnFJZ3BCR0VjTkFBc0w1Z0VCQjM4Q1FDQUFLQUlBSWdWRkRRQWdBRUVCTmdJOElBQW9BamdOQUNBQUtBSWNJUVpCLy8vLy93Y2hBZ05BQTBBZ0JTQURRU2hzYWlJRUtBSVlCRUFnQkNBQklBUW9BaEFpQkNBQ1NDSUhHeUVCSUFRZ0FpQUhHeUVDQ3lBRFFRRnFJZ01nQmswTkFDQUJSUTBDSUFBb0Fnd2dBQ2dDRUNJRFFRUjBhaUlDSUFFb0FnQTJBZ0FnQWlBQktBSWtOZ0lNSUFJZ0FTZ0NIRFlDQkNBQ0lBRW9BaUEyQWdnZ0FDQURRUUZxTmdJUVFRQWhBeUFCUVFBMkFoZ2dBU2dDRkNFRVFRQWhBVUgvLy8vL0J5RUNJQVFOQUFzZ0FDQUFLQUlzUVg5cU5nSXNEQUFBQ3dBTEM5d0dBUXAvSUFCQ0FEY0NFQUpBQWtBQ1FDQURSUTBBQWtBQ1FDQUJJQUFvQWpBaUEwY0VRQ0FEUVFGcUlBQW9BaUFpQkhBaUNTQUJSZzBCSUFBb0FnQWdBQ2dDSEVFb2JHb29BZ0FoQ3dOQUFrQUNRQ0FBS0FJb0lnY0VRQ0FBS0FJQUlRaEJBQ0VEQTBBZ0NDQURRU2hzYWlJRktBSVVRWDlxUVFGTkJFQWdCU0FGS0FJTUlnVWdCRUVBSUFVZ0NVc2JhellDQ0FzZ0EwRUJhaUlESUFkSERRQUxJQWNnQUNnQ0dFa05Ba0YvSVFWQkFDRURRUUFoQkFOQUlBZ2dBMEVvYkdvaUJpZ0NGRUYvYWtFQlRRUkFJQVlvQWdnaUJpQUVJQVZCZjBZZ0JpQUVTSElpQmhzaEJDQURJQVVnQmhzaEJRc2dBMEVCYWlJRElBZEhEUUFMSUFWQkFFNE5BVUVCRHd0QkFDRUhJQUFvQWhnTkFVRUJEd3NnQ0NBRlFTaHNhaUlEUVFBMkFoUWdBQ0FIUVg5cUlnYzJBaWdnQXlnQ0dBMEFJQUFnQUNnQ0xFRi9hallDTEFzZ0FDZ0NMQ0lGSUFBb0Fod2lDRThFUUNBQUtBSTREUVlnQUNnQ0FDRU1BMEJCQUNFRVFmLy8vLzhISVFaQkFDRURBMEFnRENBRFFTaHNhaUlLS0FJWUJFQWdDaUFFSUFvb0FoQWlDaUFHU0NJTkd5RUVJQW9nQmlBTkd5RUdDeUFEUVFGcUlnTWdDRTBOQUFzQ1FDQUVSUTBBSUFBb0Fnd2dBQ2dDRUNJR1FRUjBhaUlESUFRb0FnQTJBZ0FnQXlBRUtBSWtOZ0lNSUFNZ0JDZ0NIRFlDQkNBRElBUW9BaUEyQWdnZ0FDQUdRUUZxTmdJUUlBUkJBRFlDR0NBRUtBSVVEUUFnQUNBRlFYOXFJZ1UyQWl3TElBVWdDRThOQUFzTElBQW9BZ0FpQkNBSVFTaHNhaUlESUFrMkFnd2dBMEtBZ0lDQUVEY0NFQ0FEUVFBMkFoZ2dBeUFKTmdJSUlBQWdCMEVCYWpZQ0tDQUFJQVZCQVdvMkFpd2dCQ0FJUVFGcUVDY2dDVUVCYWlBQUtBSWdJZ1J3SWdrZ0FVY05BQXNDUUNBQUtBSVFJZ2xGRFFBZ0FDZ0NBQ0lGSUFBb0Fod2lCRUVvYkdvaUNDZ0NBQ0VISUFBb0Fnd2hCa0VBSVFNRFFDQUhJQVlnQTBFRWRHb29BZ0JIQkVBZ0NTQURRUUZxSWdOSERRRU1BZ3NMSUFSRkRRQkJBQ0VEQTBBZ0N5QUZJQU5CS0d4cUlna29BZ0JIQkVBZ0JDQURRUUZxSWdOSERRRU1BZ3NMSUFrZ0J6WUNBQ0FJSUFzMkFnQUxJQUlOQlNBQUtBSXdJUU1NQWdzZ0FrRUFSdzhMSUFJTkF3c2dBU0FEUmcwQUlBQWdBU0FBS0FJZ0lnQnFRWDlxSUFCd05nSXdDMEVBRHdzRFFBd0FBQXNBQ3lBQUlBRTJBakJCQUF0MUFRTi9Ba0FnQUNnQ0FDSUJSUTBBSUFBb0FoeEJmMFlOQUFOQUlBRWdBa0VvYkNJRGFpZ0NCQkFFSUFBb0FnQWlBU0FEYWtFQU5nSUVJQUpCQVdvaUFpQUFLQUljUVFGcVNRMEFDd3NnQVJBRUlBQkJBRFlDQUNBQUtBSUVFQVFnQUVFQU5nSUVJQUFvQWd3UUJDQUFRUUEyQWd3TGd3RUJBMzhDUUNBQUtBSUFJZ1pGRFFBZ0FDZ0NIRUYvUmcwQUEwQWdCaUFIUVNoc0lnaHFLQUlFRUFRZ0FDZ0NBQ0lHSUFocVFRQTJBZ1FnQjBFQmFpSUhJQUFvQWh4QkFXcEpEUUFMQ3lBR0VBUWdBRUVBTmdJQUlBQW9BZ1FRQkNBQVFRQTJBZ1FnQUNnQ0RCQUVJQUJCQURZQ0RDQUFJQUVnQWlBRElBUWdCUkJkQzRBQ0FRSi9JQUFnQlRZQ09DQUFJQVEyQWlBZ0FFTC8vd00zQWlRZ0FFSUFOd0lzSUFBZ0EwRUJJQU5CQVVzYklnTTJBaGdnQUNBRElBSWdCUnNpQWpZQ0hDQUFRYWdGRUFvaUF6WUNBRUgvL3dNaEJBSkFJQU5GRFFCQkFDRUZJQU5CQUVHb0JSQUhJUVlnQWtGL1J3UkFJQUZCZ0FOc1FTOXlJUVZCQUNFREEwQWdCaUFEUVNoc2FpSUhJQVVRQ2lJQk5nSUVJQUZGRFFJZ0J5QUJRUUFnQVd0QkQzRnFOZ0lBSUFNZ0Fra2hBU0FEUVFGcUlRTWdBUTBBQ3lBQ1FRUjBRUkJxSVFVTElBQkJ4QUFRQ2lJQk5nSUVJQUFnQlJBS0lnSTJBZ3dnQWtVTkFDQUJSUTBBUVFBaEJDQUJRUUJCeEFBUUJ4b2dBRUlBTndJUUN5QUVDOU1CQVFkL1FRRWhBUUpBSUFBb0FqZ05BQ0FBS0FJY0lRVWdBQ2dDQUNFR1FmLy8vLzhISVFOQkFDRUJBMEFnQmlBQlFTaHNhaUlFS0FJWUJFQWdCQ0FDSUFRb0FoQWlCQ0FEU0NJSEd5RUNJQVFnQXlBSEd5RURDeUFCUVFGcUlnRWdCVTBOQUFzZ0FrVUVRRUVCRHdzZ0FDZ0NEQ0FBS0FJUUlnTkJCSFJxSWdFZ0FpZ0NBRFlDQUNBQklBSW9BaVEyQWd3Z0FTQUNLQUljTmdJRUlBRWdBaWdDSURZQ0NDQUFJQU5CQVdvMkFoQkJBQ0VCSUFKQkFEWUNHQ0FDS0FJVURRQWdBQ0FBS0FJc1FYOXFOZ0lzQ3lBQkMvVUVBUWgvSUFBb0FpZ2lCQVJBSUFBb0FnQWhCd05BSUFjZ0JVRW9iR29pQmlnQ0ZFRi9ha0VCVFFSQUlBWWdCaWdDRENJSUlBSkxCSDhnQ0NBQUtBSWdhd1VnQ0FzMkFnZ0xJQVZCQVdvaUJTQUVSdzBBQ3d0QkFDRUVBa0FnQVNnQ0FFVU5BQ0FCS0FJRUlnVkJBa3NOQUVFQUlRY2dBaUVHQTBBQ1FBSkFBa0FnQlVFQ1J3UkFJQUVnQjBFTWJHb29BZ2doQkFKQUlBVkZCRUFnQmlBRWF5SUdRWDlLRFFFZ0FDZ0NJQ0FHYWlFR0RBRUxJQVFnQm1vaUJrRUFJQUFvQWlBaUJTQUdJQVZJRzJzaEJnc2dCaUVKSUFZZ0Frc0VRQ0FHSUFBb0FpQnJJUWtMSUFBb0FoZ2lDa1VFUUVFQkR3c2dBQ2dDQUNFSVFRQWhCUU5BSUFnZ0JVRW9iR29pQkNnQ0ZDSUxRWDlxUVFGTkJFQWdCQ2dDQ0NBSlJnMERDMEVCSVFRZ0JVRUJhaUlGSUFwSERRQUxEQVVMUVFFaEJDQUFLQUlZSWdsRkRRUWdBU0FIUVF4c2FpZ0NEQ0VLSUFBb0FnQWhDRUVBSVFVRFFDQUlJQVZCS0d4cUlnUW9BaFJCQTBZRVFDQUVLQUlJSUFwR0RRTUxRUUVoQkNBRlFRRnFJZ1VnQ1VjTkFBc01CQXNnQlVFQVNBUkFRUUVQQzBFQklRUWdDMEVCU3cwQkRBTUxRUUVoQkNBRlFRQklEUUlMSUFjZ0F5SUVTUVJBQTBBZ0FDZ0NCQ0lKSUFSQkFuUnFJQWtnQkVGL2FpSUVRUUowYWlnQ0FEWUNBQ0FFSUFkTERRQUxJQUFvQWdBaENBc2dBQ2dDQkNBSFFRSjBhaUFJSUFWQktHd2lDV28yQWdBZ0IwRUJhaUlISVFRZ0J5SUZJQU5OQkVBRFFDQUFLQUlFSWdnZ0JVRUNkR29vQWdBaUNpQUFLQUlBSUFscVJ3UkFJQWdnQkVFQ2RHb2dDallDQUNBRVFRRnFJUVFMSUFWQkFXb2lCU0FEVFEwQUN3dEJBQ0VFSUFFZ0IwRU1iR29vQWdRaUJVRURTUTBBQ3dzZ0JBc0hBRUhFR2hBS0M3Y0JBUUovSXdCQkVHc2lCaVFBSUFaQkFEWUNEQ0FBSUFFZ0FpQUdRUXhxRUNvaUIwRjljVVVFUUFOQUlBQWdBU0FHS0FJTUlnZHFJZ0VnQWlBSGF5SUNJQVpCREdvUUtpSUhRWDF4UlEwQUN3c2dCMEVCUmdSQUlBUWdBQ2dDRUNJQktBSTBRUVIwTmdJQUlBVWdBU2dDT0VFRWREWUNBQ0FESUFCQnhBbHFJZ0FvQWhRaUFTQUFLQUlRU1FSL0lBQWdBVUVCYWpZQ0ZDQUFLQUlNSUFGQkJIUnFCVUVBQ3lnQ0FEWUNBQXNnQmtFUWFpUUFJQWNMU1FFQmZ5QUFRUUJCeEJvUUJ5SUNRYlFLYWtFQk5nSUFJQUpDZ0lLQWdJQUVOd0lFSUFCQndCQVFDaUlDTmdLd0dpQUNSUVJBUVFFUEN5QUJCRUFnQUVFQk5nTEFDUXRCQUF1NkJBRUpmd0pBQWtBZ0FVRUVTUTBBSUFBdEFBQU5BQ0FBTFFBQkRRQWdBQzBBQWlJSFFRRkxEUUJCQXlFRUlBQkJBMm9oQlVFQ0lRaEJmU0VNQWtBRFFDQUZJUVlDZnlBSVFRRnFJQWRCL3dGeElnVkZEUUFhUVFBaEJ5QUZRUUZHUVFBZ0NFRUJTeHNOQWtFQUN5RUlJQVJCZjNNaERDQUdRUUZxSVFVZ0JpMEFBQ0VISUFSQkFXb2lCQ0FCUncwQUN5QURJQUUyQWdCQkFROExJQVFoQ2tFQUlRaEJBQ0VGQTBCQkFTQUlJQWNnQmkwQUFDSUxSV29pQ1VFQ1Joc2dDQ0FMUVFOR0d5RUlJQXBCQVdvaENnSkFJQXRCQVVjTkFDQUpRUUpKRFFBZ0FpQUtJQXhxSUFsQmYzTnFJZ0UyQWd4QkFDQUpRWDFxSWdZZ0JpQUpTeHNoQnd3REMwRUFJQWtnQ3hzaEIwRUJJQVVnQ1VFQ1N4c2dCU0FMR3lFRklBWkJBV29oQmlBQklBcEhEUUFMSUFJZ0FTQU1haUFIYXlJQk5nSU1EQUVMSUFJZ0FUWUNERUVCSVFoQkFDRUhDeUFDUVFBMkFoQWdBa0VBTmdJSUlBSWdBQ0FFYWlJQU5nSUVJQUlnQURZQ0FDQURJQVFnQjJvZ0FXbzJBZ0JCQVNFREFrQWdCUTBBUVFBaEF5QUlSUTBBSUFJQ2Z5QUNLQUlNSWdGRkJFQWdBQ0VFUVFBTUFRc2dBQ0VFUVFBaEJnTkFJQUZCZjJvaEFTQUVMUUFBSVFVQ2Z3SkFJQVpCQWtjTkFDQUZRUU5HQkVBZ0FVVUVRRUVCRHdzZ0JDMEFBVUVEU3dSQVFRRVBDMEVBSVFZZ0JFRUJhZ3dDQ3lBRlFRTlBEUUJCQVE4TElBQWdCVG9BQUVFQUlBWkJBV29nQlJzaEJpQUFRUUZxSVFBZ0JFRUJhZ3NoQkNBQkRRQUxJQUlvQWd3TElBQWdCR3RxTmdJTUN5QURDd3Z0TWhrQVFZWUlDOG9GWmlBbUVBWUlaUmhsR0VNUVF4QkRFRU1RUXhCREVFTVFReEFpQ0NJSUlnZ2lDQ0lJSWdnaUNDSUlJZ2dpQ0NJSUlnZ2lDQ0lJSWdnaUNBQUFBQUFBQUFBQWFrQktNQ29vQ2lCcE9HazRTU2hKS0NrZ0tTQUpHQWtZYURCb01HZ3dhREJJSUVnZ1NDQklJQ2dZS0Jnb0dDZ1lDQkFJRUFnUUNCQm5LR2NvWnlobktHY29aeWhuS0djb1J4aEhHRWNZUnhoSEdFY1lSeGhIR0c1Z1RsZ3VVQTVRYmxoT1VDNUlEa2dOUUExQVRVaE5TQzFBTFVBTk9BMDRiVkJ0VUUxQVRVQXRPQzA0RFRBTk1HdElhMGhyU0d0SWEwaHJTR3RJYTBoTE9FczRTemhMT0VzNFN6aExPRXM0S3pBck1Dc3dLekFyTUNzd0t6QXJNQXNvQ3lnTEtBc29DeWdMS0Fzb0N5Z0FBQUFBTDJndmFCQ0FVSUF3Z0JCNGNJQlFlREI0RUhCd2VGQndNSEFRYUc5d2IzQlBhRTlvTDJBdllBOWdEMkJ2YUc5b1QyQlBZQzlZTDFnUFdBOVlBQUFBQUFBQUFBQm1PRVlnSmlBR0VHWXdSaGdtR0FZSVpTaGxLQ1VRSlJCa0lHUWdaQ0JrSUdRWVpCaGtHR1FZUXhCREVFTVFReEJERUVNUVF4QkRFQUFBQUFBQUFBQUFhVWhKT0NrNENUQUlLQWdvU0RCSU1DZ3dLREFJSUFnZ1owQm5RR2RBWjBCSEtFY29SeWhIS0Njb0p5Z25LQ2NvQnhnSEdBY1lCeGdBQUFBQWJYaHRlRzZBVG9BdWdBNkFMbmdPZUU1NExuQk5jRTF3RFhBTmNHMXdiWEJOYUUxb0xXZ3RhQTFvRFdodGFHMW9UV0JOWUMxZ0xXQU5ZQTFnREZnTVdBeFlERmhNV0V4WVRGaE1XQ3hZTEZnc1dDeFlERkFNVUF4UURGQnNZR3hnYkdCc1lFeFFURkJNVUV4UUxGQXNVQ3hRTEZBTVNBeElERWdNU0d0WWExaHJXR3RZYTFocldHdFlhMWhMU0V0SVMwaExTRXRJUzBoTFNFdElLMGdyU0N0SUswZ3JTQ3RJSzBnclNBdEFDMEFMUUF0QUMwQUxRQXRBQzBCclVHdFFhMUJyVUd0UWExQnJVR3RRUzBCTFFFdEFTMEJMUUV0QVMwQkxRQ3RBSzBBclFDdEFLMEFyUUN0QUswQUxPQXM0Q3pnTE9BczRDemdMT0FzNEFFSGdEUXV1Q1FZWVJqZ21PQVlRWmtoR01DWXdCZ2dsS0NVb1JTaEZLQ1VnSlNCRklFVWdKUmdsR0dWQVpVQkZHRVVZSlJBbEVHUTRaRGhrT0dRNFpEQmtNR1F3WkRCa0tHUW9aQ2hrS0dRZ1pDQmtJR1FnWkJoa0dHUVlaQmhFRUVRUVJCQkVFQ1FJSkFna0NDUUlCQUFFQUFRQUJBQUFBQXFBYW9CS2dDcUFDbmhxZUVwNEtuZ0tjR3B3U25BcWNBcG9LV2dwYUFsZ0NXQkphRWxvS1dBcFlBbFlDVmhwYUdsb1NXQkpZQ2xZS1ZnSlVBbFFhR0JvWUdoZ2FHQklXRWhZU0ZoSVdDaFFLRkFvVUNoUUNFZ0lTQWhJQ0Vob1dHaFlhRmhvV0VoUVNGQklVRWhRS0Vnb1NDaElLRWdJUUFoQUNFQUlRQWM0QnpnSE9BYzRCemdIT0FjNEJ6Z0hNQWN3QnpBSE1BY3dCekFITUFjd1IwaEhTRWRJUjBoSFNFZElSMGhIU0Fjb0J5Z0hLQWNvQnlnSEtBY29CeWhuVUdkUVoxQm5VR2RRWjFCblVHZFFSMEJIUUVkQVIwQkhRRWRBUjBCSFFDZEFKMEFuUUNkQUowQW5RQ2RBSjBBSElBY2dCeUFISUFjZ0J5QUhJQWNnQmdnbUNBQUFCZ0FHRUNZUVJoQUFBQVlZSmhoR0dHWVlCaUFtSUVZZ1ppQUdLQ1lvUmlobUtBWXdKakJHTUdZd0JqZ21PRVk0WmpnR1FDWkFSa0JtUUFaSUpraEdTR1pJQmxBbVVFWlFabEFHV0NaWVJsaG1XQVpnSm1CR1lHWmdCbWdtYUVab1ptZ0djQ1p3Um5CbWNBWjRKbmhHZUdaNEJvQW1nRWFBWm9BQUFFTVFBZ0FDQUNFSUlRZ2hDQ0VJWnlCbklFZ2dLQ0JIR0VjWUp4Z25HQVlnQmlBR0lBWWdCaGdHR0FZWUJoZ0dFQVlRQmhBR0VHWVlaaGhtR0dZWUpoQW1FQ1lRSmhBR0NBWUlCZ2dHQ0FBQVpWVkVSRFEwSXlNakl4TVRFeE1CQVFFQkFRRUJBUUVCQVFFQkFRRUJBUG5wMmNqSXVMaW5wNmVubDVlWGw0YUdob2FHaG9hR2RuWjJkbloyZG5ibTFzYTJwYVdWbFlTRWhJUjBkSFIwWkdSa1pGUlVWRlJEUTBORFEwTkRRek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEV3TURBd01EQXdNRDFyYkZ4YVdsbFpXRWhJU0VWRlJVVkVSRVJFUUVCQVFFYzNOemMzTnpjM05qWTJOalkyTmpZek16TXpNek16TXpJeU1qSXlNakl5TVRFeE1URXhNVEU4VzFwUVdVbEhSME5EUWtKSU9EZzROalkyTmpVMU5UVTBORFEwTVRFeE1UdFpXa3BJU0VKQ1FVRkFRRWMzTnpjMk5qWTJOVFUxTlRRME5EUXpNek16T21CaFVWaElTRWhKT1RrNU9UazVPVGMzTnpjM056YzNOalkyTmpZMk5qWTFOVFUxTlRVMU5UUTBORFEwTkRRME16TXpNek16TXpNeU1qSXlNakl5TWpsZ1lWRlhSMGRIU0RnNE9EZzRPRGcyTmpZMk5qWTJOalEwTkRRME5EUTBNek16TXpNek16TXlNakl5TWpJeU1qVWxKU1VsSlNVbEpTVWxKU1VsSlNVb1lHSlNVVUZCUVVjM056YzNOemMzTmpZMk5qWTJOall6TXpNek16TXpNelVsSlNVbEpTVWxKU1VsSlNVbEpTVWtKQ1FrSkNRa0pDUWtKQ1FrSkNRa0lXQm5WMUpDUWtKRk5UVTFOVFUxTlRZbUppWW1KaVltSmlZbUppWW1KaVlrSkNRa0pDUWtKQ1FrSkNRa0pDUWtJeU1qSXlNakl5TWpJeU1qSXlNakl5RlFWa1pDTWpJeU5TVWxKU1VsSlNVa0pDUWtKQ1FrSkNNakl5TWpJeU1qSUVGQ01qTXpOVFUwRkJRVUZCUVVGQkJCUkRReUlpSWlJeE1URXhNVEV4TVFNVE1qSWhJU0VoQWhJaElSRUJJaElCQVRJaUVnSkRNeUlpRWhJQ0FsTkRNeU1TRWdJQ0V5TkRNMk5UQWdJQVFhQVhDeVFFQkFVR0J3Z0pDZ3dORHhFVUZoa2NJQ1FvTFRJNFAwZFFXbVZ4ZjVDaXRzdmkvLzhBUWVBWEN5UUNBZ0lEQXdNREJBUUVCZ1lIQndnSUNRa0tDZ3NMREF3TkRRNE9EdzhRRUJFUkVoSUFRY1VZQzRRQkFRQUFBUUFBQVFBQUFRQUJBUUFCQVFFQkFRRUJBUUVCQVFFQkFRRUJBZ0VCQWdFQkFnRUJBZ0VDQXdFQ0F3SUNBd0lDQkFJREJBSURCQU1EQlFNRUJnTUVCZ1FGQndRRkNBUUdDUVVIQ2dZSUN3WUlEUWNLRGdnTEVBa01FZ29ORkFzUEZ3MFJHUUFBQUFBQUFBQUFCUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVIVUdRc1ZCUUFBQUFBQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUVIMEdRc1ZCUUFBQUFRQUFBQUFBQUFBL3dBQUFBQUFBQUQvQUVHVUdnc0ZCUUFBQUFRQVFhUWFDNlVCQndBQUFBUUFBQUFDQUFBQUJBQUFBQUVBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUFRQUFBQVFBQUFBREFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFCQUFBQUJBQUFBQVFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBRUFBQUFFQUFBQUJBQUFBQVFBQUFBREFBQUFCQUFBQUFZQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FFSFVHd3NWRFFBQUFBQUFBQUFQQUFBQS93QUFBQUFBQUFEL0FFSDBHd3NWRFFBQUFBUUFBQUFJQUFBQS93QUFBQUFBQUFEL0FFR1VIQXUxQ3cwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBSkFBQUFCQUFBQUFzQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQWtBQUFBRUFBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUNRQUFBQVFBQUFBTUFBQUFCQUFBQUFzQUFBQUVBQUFBRGdBQUFBRUFBQUFLQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBb0FBQUFFQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ2dBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUtBQUFBQVFBQUFBc0FBQUFFQUFBQUFBQUFBQVFBQUFBQkFBQUFBUUFBQUE0QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEZ0FBQUFRQUFBQUVBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQUVBQUFBT0FBQUFBUUFBQUE4QUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUFRQUFBQTRBQUFBQkFBQUFEd0FBQUFRQUFBQUVBQUFBQkFBQUFBVUFBQUFFQUFBQUFnQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFDQUFBQUJBQUFBQWdBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUVBQUFBQWdBQUFBUUFBQUFEQUFBQUJBQUFBQWdBQUFBRUFBQUFDUUFBQUFRQUFBQUdBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFZQUFBQUVBQUFBREFBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBRUFBQUFCZ0FBQUFRQUFBQUhBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUFCQUFBQUFjQUFBQUVBQUFBREFBQUFBUUFBQUFOQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFCQUFBQURnQUFBUDhBQUFBRUFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBRUFBQUFMQUFBQUFRQUFBQTRBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFCQUFBQURnQUFBQVFBQUFBQkFBQUEvd0FBQUFRQUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFJQUFBQUtBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFBUUFBQUE4QUFBQUNBQUFBQ2dBQUFQOEFBQUFBQUFBQS93QUFBQUFBQUFBQkFBQUFEd0FBQUFJQUFBQUtBQUFBQkFBQUFBVUFBQUQvQUFBQUFBQUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUJBQUFBQVlBQUFEL0FBQUFEQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFBRUFBQUFDUUFBQVA4QUFBQU1BQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBRC9BQUFBQWdBQUFQOEFBQUFJQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFRQUFBQUhBQUFBL3dBQUFBSUFBQUQvQUFBQUFBQUFBUDhBQUFBQUFBQUFCQUFBQUFjQUFBRC9BQUFBQWdBQUFBUUFBQUFOQUFBQS93QUFBQWdBQUFBREFBQUFEd0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUQvQUFBQUFBQUFBQU1BQUFBUEFBQUFBQUFBQUFVQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQUF3QUFBQThBQUFBQkFBQUFDZ0FBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFEQUFBQUR3QUFBQUVBQUFBS0FBQUFBQUFBQUFVQUFBQUVBQUFBQUFBQUFBRUFBQUFMQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQVFBQUFBc0FBQUFFQUFBQUFRQUFBUDhBQUFBQUFBQUEvd0FBQUFBQUFBQUJBQUFBQ3dBQUFBRUFBQUFPQUFBQS93QUFBQUFBQUFEL0FBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBRC9BQUFBQUFBQUFQOEFBQUFBQUFBQS93QkIxQ2NMRlFjQUFBQUFBQUFBRFFBQUFQOEFBQUFBQUFBQS93QkI5Q2NMRlFjQUFBQUVBQUFBQWdBQUFQOEFBQUFBQUFBQS93QkJsQ2dMMlFFSEFBQUFCQUFBQUFJQUFBQUFBQUFBRFFBQUFBUUFBQUFJQUFBQUJBQUFBQU1BQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBL3dBQUFBQUFBQUFFQUFBQUF3QUFBQVFBQUFBSkFBQUEvd0FBQUFBQUFBRC9BQUFBQUFBQUFBUUFBQUFEQUFBQUJBQUFBQVlBQUFEL0FBQUFBQUFBQVA4QUFBQUFBQUFBQkFBQUFBTUFBQUFFQUFBQUJnQUFBQVFBQUFBSkFBQUFCQUFBQUF3QUFBQUFBQUFBQkFBQUFBQUFBQUFFQUFBQUNBQUFBQXdBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBQUFBQUFBUUFBQUFJQUFBQURBQUFBQWdBQUFBTUFFSDRLUXNGQkFBQUFBUUFRWWdxQ3lVRUFBQUFCQUFBQUFnQUFBQUlBQUFBREFBQUFBd0FBQUFJQUFBQUNBQUFBQXdBQUFBTUFFR3hMZ3ZJQmdFQ0F3UUZCZ2NJQ1FvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqSkNVbUp5Z3BLaXNzTFM0dk1ERXlNelExTmpjNE9UbzdQRDArUDBCQlFrTkVSVVpIU0VsS1MweE5UazlRVVZKVFZGVldWMWhaV2x0Y1hWNWZZR0ZpWTJSbFptZG9hV3ByYkcxdWIzQnhjbk4wZFhaM2VIbDZlM3g5Zm4rQWdZS0RoSVdHaDRpSmlvdU1qWTZQa0pHU2s1U1ZscGVZbVpxYm5KMmVuNkNob3FPa3BhYW5xS21xcTZ5dHJxK3dzYkt6dExXMnQ3aTV1cnU4dmI2L3dNSEN3OFRGeHNmSXljckx6TTNPejlEUjB0UFUxZGJYMk5uYTI5emQzdC9nNGVMajVPWG01K2pwNnV2czdlN3Y4UEh5OC9UMTl2ZjQrZnI3L1AzKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBQUFBQUVBQUFBRUFBQUFCUUFBQUFJQUFBQURBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQXdBQUFBTkFBQUFDZ0FBQUFzQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUFRQkJoRFVMSVFFQUFBQUJBQUFBQVFBQUFBRUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBZ0JCdERVTEJRVUFBQUFFQUVIRU5RdkpCZ2NBQUFBRUFBQUFBZ0FBQUFRQUFBQUJBQUFBQkFBQUFBUUFBQUFFQUFBQUF3QUFBQVFBQUFBR0FBQUFBQUFBQUEwQUFBQUVBQUFBQ0FBQUFBQUFBQUFQQUFBQUJBQUFBQW9BQUFBRUFBQUFDUUFBQUFRQUFBQU1BQUFBQkFBQUFBc0FBQUFFQUFBQURnQUFBQUFBQUFBUkFBQUFCQUFBQUJBQUFBQUFBQUFBRXdBQUFBUUFBQUFTQUFBQUFBQUFBQlVBQUFBRUFBQUFGQUFBQUFBQUFBQVhBQUFBQkFBQUFCWUFBQUFCQUFBQUNnQUFBQUVBQUFBTEFBQUFCQUFBQUFBQUFBQUVBQUFBQVFBQUFBRUFBQUFPQUFBQUFRQUFBQThBQUFBRUFBQUFCQUFBQUFRQUFBQUZBQUFBQkFBQUFBSUFBQUFFQUFBQUF3QUFBQVFBQUFBSUFBQUFCQUFBQUFrQUFBQUVBQUFBQmdBQUFBUUFBQUFIQUFBQUJBQUFBQXdBQUFBRUFBQUFEUUFBQUFFQUFBQVNBQUFBQVFBQUFCTUFBQUFFQUFBQUVBQUFBQVFBQUFBUkFBQUFBUUFBQUJZQUFBQUJBQUFBRndBQUFBUUFBQUFVQUFBQUJBQUFBQlVBQUFBQkFBQUFDd0FBQUFFQUFBQU9BQUFBQkFBQUFBRUFBQUQvQUFBQUJBQUFBQUVBQUFBUEFBQUFBZ0FBQUFvQUFBQUVBQUFBQlFBQUFQOEFBQUFBQUFBQUJBQUFBQU1BQUFBRUFBQUFCZ0FBQUFRQUFBQUpBQUFBL3dBQUFBd0FBQUFFQUFBQUJ3QUFBUDhBQUFBQ0FBQUFCQUFBQUEwQUFBRC9BQUFBQ0FBQUFBRUFBQUFUQUFBQUFnQUFBQklBQUFBRUFBQUFFUUFBQVA4QUFBQVFBQUFBQVFBQUFCY0FBQUFDQUFBQUZnQUFBQVFBQUFBVkFBQUEvd0FBQUJRQUFBQURBQUFBRHdBQUFBRUFBQUFLQUFBQUFBQUFBQVVBQUFBRUFBQUFBQUFBQUFFQUFBQUxBQUFBQVFBQUFBNEFBQUFFQUFBQUFRQUFBQVFBQUFBRUFBQUFBQUFBQUFjQUFBQUVBQUFBQWdBQUFBQUFBQUFOQUFBQUJBQUFBQWdBQUFBRUFBQUFBd0FBQUFRQUFBQUdBQUFBQkFBQUFBa0FBQUFFQUFBQURBQUFBQU1BQUFBVEFBQUFBUUFBQUJJQUFBQUFBQUFBRVFBQUFBUUFBQUFRQUFBQUF3QUFBQmNBQUFBQkFBQUFGZ0FBQUFBQUFBQVZBQUFBQkFBQUFCUUFBQUFCQUFBQUFRQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQXdBQUFBTkFBQUFEZ0FBQUE4QVFaWThDeTRCQVFFQkFRRUNBZ0lDQWdJREF3TURBd01FQkFRRUJBUUZCUVVGQlFVR0JnWUdCZ1lIQndjSEJ3Y0lDQWdJQUVIUVBBdEZDZ0FBQUEwQUFBQVFBQUFBQ3dBQUFBNEFBQUFTQUFBQURRQUFBQkFBQUFBVUFBQUFEZ0FBQUJJQUFBQVhBQUFBRUFBQUFCUUFBQUFaQUFBQUVnQUFBQmNBQUFBZEFFR2hQUXN6QVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURCQVVBQVFJREJBVUFBUUlEQkFVQUFRSURBRUhrUFF2TUFnRUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNBQUFBQWhBQUFBSWdBQUFDSUFBQUFqQUFBQUl3QUFBQ1FBQUFBa0FBQUFKUUFBQUNVQUFBQWxBQUFBSmdBQUFDWUFBQUFtQUFBQUp3QUFBQ2NBQUFBbkFBQUFKd0FBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFMeDhQQUJjYkhSNEhDdzBPSnlzdExoQURCUW9NRXhVYUhDTWxLaXdCQWdRSUVSSVVHQVlKRmhrZ0lTSWtLQ1lwQUJBQkFnUUlJQU1GQ2d3UEx3Y0xEUTRHQ1I4akpTb3NJU0lrS0NjckxTNFJFaFFZRXhVYUhCY2JIUjRXR1NZcEFMQXRCRzVoYldVQjZ3TmtBQVp0WlcxamNIa0JCbkpsYzJsNlpRSUNaaklEQW1ZekJBRm1CUUptTlFZQ1pqWUhBbVkzQ0FKbU9Ba0NaamtLQVdVTEEyWXhNUXdEWmpFeURRTm1NVE1PQTJZeE5BOERaakUxRUFObU1UWVJBMll4TnhJRFpqRTRFd05tTVRrVUEyWXlNQlVEWmpJeEZnTm1NaklYQTJZeU14Z0RaakkwR1FObU1qVWFBMll5TmhzRFpqSTNIQU5tTWpnZEEyWXlPUjREWmpNd0h3Tm1NekVnQTJZek1pRURaak16SWdObU16UWpBMll6TlNRRFpqTTJKUU5tTXpjbUEyWXpPQ2NEWmpNNUtBTm1OREFwQTJZME1Tb0RaalF5S3dObU5ETXNBMlkwTkMwRFpqUTFMZ05tTkRZdkEyWTBOekFEWmpRNE1RTm1ORGt5QTJZMU1ETURaalV4TkFObU5USTFBMlkxTXpZRFpqVTBOd05tTlRVNEEyWTFOamtEWmpVM09nTm1OVGc3QTJZMU9Ud0Raall3UFFObU5qRStBMlkyTWo4RFpqWXpRQU5tTmpSQkEyWTJOVUlEWmpZMlF3Tm1OamRFQTJZMk9FVURaalk1UmdObU56QkhBMlkzTVVnRFpqY3lTUU5tTnpOS0EyWTNORXNEWmpjMVRBTm1OelpOQTJZM04wNERaamM0VHdObU56bFFBMlk0TUZFRFpqZ3hVZ05tT0RKVEEyWTRNMVFEWmpnMFZRTm1PRFZXQTJZNE5sY0RaamczV0FObU9EaFpBMlk0T1ZvRFpqa3dXd05tT1RGY0EyWTVNbDBEWmprelhnTm1PVFJmQTJZNU5XQUJhV0VCWjJJQlpHTUVaakV3TVFLNktXUUFBd0FBQVFBQ0FBRUJBQUFDQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1EQ1FBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FRSUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNGQkFBQ2NEQUJBbkF4QWdKc01nTUNiRE1HR0FBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFV0Eyd3lNaGNEYkRJekJ3WUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVSUJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlFrUUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlFvTUFBSndNQUVDYkRFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVMQXdBQ2NEQUJBbkF4QWdKc01nd1JBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRFFZQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05BVUNiRFVPRUFBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVQQlFBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEVBc0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQVJBZ0FDY0RBQkFuQXhFZzhBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkJNREFBSndNQUVDYkRFQ0Ftd3lGQU1BQW5Bd0FRSndNUUlDYkRJVkJnQUNjREFCQW5BeEFnSndNZ01DYkRNRUFtdzBCUUpzTlJZbUFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2NEUUZBbkExQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUVBBMnd4TlJBRGJERTJFUU5zTVRjU0Eyd3hPQk1EYkRFNUZBTnNNakFWQTJ3eU1SWURiREl5RndOc01qTVlBMnd5TkJrRGJESTFHZ05zTWpZYkEyd3lOeHdEYkRJNEhRTnNNamtlQTJ3ek1COERiRE14SUFOc016SWhBMnd6TXlJRGJETTBJd05zTXpVa0Eyd3pOaVVEYkRNM0Z3TUFBbkF3QVFKd01RSUNjRElZRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpFWkVnQUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0doWUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhHd1lBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVWNCd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlkQlFBQ2NEQUJBbkF4QWdKc01nTUNiRE1FQW13MEhnVUFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQjhCQUFKd01DQUVBQUp3TUFFQ2NERUNBbXd5QXdKc015RWJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVGQU5zTWpBVkEyd3lNUllEYkRJeUZ3TnNNak1ZQTJ3eU5Ca0RiREkxR2dOc01qWWlGUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0l4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0p3TndnQ2NEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE55UVVBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFuQTRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyRVFOc01UY1NBMnd4T0JNRGJERTVKUThBQW5Bd0FRSndNUUlDY0RJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNZREFBSndNQUVDYkRFQ0Ftd3lKdzhBQW5Bd0FRSndNUUlDYkRJREFtd3pCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkNnQ0FBSndNQUVDYkRFcEVRQUNjREFCQW5BeEFnSndNZ01DY0RNRUFuQTBCUUp3TlFZQ2NEWUhBbkEzQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaW9IQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmlzUEFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1nMERiREV6RGdOc01UUXNCQUFDY0RBQkFuQXhBZ0pzTWdNQ2JETXRCUUFDY0RBQkFuQXhBZ0p3TWdNQ2JETUVBbXcwTGdNQUFuQXdBUUpzTVFJQ2JESXZBd0FDY0RBQkFtd3hBZ0pzTWpBSkFBSndNQUVDY0RFQ0Ftd3lBd0pzTXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NE1SWUFBbkF3QVFKd01RSUNiRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0RXdOc01Ua1VBMnd5TUJVRGJESXhNZ29BQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NU13UUFBbkF3QVFKc01RSUNiRElEQW13ek5BUUFBbkF3QVFKc01RSUNiRElEQW13ek5ROEFBbkF3QVFKd01RSUNjRElEQW13ekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hORFlGQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRM0JRQUNjREFCQW5BeEFnSnNNZ01DYkRNRUFtdzBPQWNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyT1FjQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNiRFVHQW13Mk9nY0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJPd2NBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyUEFVQUFuQXdBUUp3TVFJQ2NESURBbXd6QkFKc05EMEZBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFErRHdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSnNOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMFB4SUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE4wQUhBQUp3TUFFQ2NERUNBbXd5QXdKc013UUNiRFFGQW13MUJnSnNOa0VRQUFKd01BRUNjREVDQW5BeUF3SndNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVUlKQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0UXdnQUFuQXdBUUp3TVFJQ2JESURBbXd6QkFKc05BVUNiRFVHQW13MkJ3SnNOMFFRQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOVVVUQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0p3TmdjQ2NEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9FWVJBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSndOZ2NDY0RjSUFtdzRDUUpzT1FvRGJERXdDd05zTVRFTUEyd3hNZzBEYkRFekRnTnNNVFFQQTJ3eE5SQURiREUyUnhNQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW5BMkJ3SndOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRTQmNBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NjRGdKQW5BNUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTU9BMnd4TkE4RGJERTFFQU5zTVRZUkEyd3hOeElEYkRFNEV3TnNNVGtVQTJ3eU1CVURiREl4RmdOc01qSkpRd0FDY0RBQkFuQXhBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPUlFEYkRJd0ZRTnNNakVXQTJ3eU1oY0RiREl6R0FOc01qUVpBMnd5TlJvRGJESTJHd05zTWpjY0Eyd3lPQjBEYkRJNUhnTnNNekFmQTJ3ek1TQURiRE15SVFOc016TWlBMnd6TkNNRGJETTFKQU5zTXpZbEEyd3pOeVlEYkRNNEp3TnNNemtvQTJ3ME1Da0RiRFF4S2dOc05ESXJBMncwTXl3RGJEUTBMUU5zTkRVdUEydzBOaThEYkRRM01BTnNORGd4QTJ3ME9USURiRFV3TXdOc05URTBBMncxTWpVRGJEVXpOZ05zTlRRM0EydzFOVGdEYkRVMk9RTnNOVGM2QTJ3MU9Ec0RiRFU1UEFOc05qQTlBMncyTVQ0RGJEWXlQd05zTmpOQUEydzJORUVEYkRZMVFnTnNOalpLRXdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDY0RZSEFuQTNDQUp3T0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UaExGQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNjRFlIQW5BM0NBSndPQWtDYkRrS0Eyd3hNQXNEYkRFeERBTnNNVElOQTJ3eE13NERiREUwRHdOc01UVVFBMnd4TmhFRGJERTNFZ05zTVRnVEEyd3hPVXdIQUFKd01BRUNjREVDQW13eUF3SnNNd1FDYkRRRkFtdzFCZ0pzTmswTkFBSndNQUVDY0RFQ0FuQXlBd0p3TXdRQ2JEUUZBbXcxQmdKc05nY0NiRGNJQW13NENRSnNPUW9EYkRFd0N3TnNNVEVNQTJ3eE1rNExBQUp3TUFFQ2NERUNBbkF5QXdKc013UUNiRFFGQW13MUJnSnNOZ2NDYkRjSUFtdzRDUUpzT1FvRGJERXdUd1FBQW5Bd0FRSndNUUlDYkRJREFtd3pVQTRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUp3TkFVQ2NEVUdBbkEyQndKd053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTlJEQUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKc05RWUNiRFlIQW13M0NBSnNPQWtDYkRrS0Eyd3hNQXNEYkRFeFVoTUFBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FuQTJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVF3RGJERXlEUU5zTVRNT0Eyd3hOQThEYkRFMUVBTnNNVFlSQTJ3eE54SURiREU0VXlBQUFuQXdBUUp3TVFJQ2NESURBbkF6QkFKd05BVUNjRFVHQW13MkJ3SnNOd2dDYkRnSkFtdzVDZ05zTVRBTEEyd3hNUXdEYkRFeURRTnNNVE1PQTJ3eE5BOERiREUxRUFOc01UWVJBMnd4TnhJRGJERTRFd05zTVRrVUEyd3lNQlVEYkRJeEZnTnNNaklYQTJ3eU14Z0RiREkwR1FOc01qVWFBMnd5TmhzRGJESTNIQU5zTWpnZEEyd3lPUjREYkRNd0h3TnNNekZVRmdBQ2NEQUJBbkF4QWdKd01nTUNjRE1FQW5BMEJRSndOUVlDYkRZSEFtdzNDQUpzT0FrQ2JEa0tBMnd4TUFzRGJERXhEQU5zTVRJTkEyd3hNdzREYkRFMER3TnNNVFVRQTJ3eE5oRURiREUzRWdOc01UZ1RBMnd4T1JRRGJESXdGUU5zTWpGVkN3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1GWUhBQUp3TUFFQ2NERUNBbkF5QXdKd013UUNjRFFGQW5BMUJnSnNObGNxQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEY0lBbXc0Q1FKc09Rb0RiREV3Q3dOc01URU1BMnd4TWcwRGJERXpEZ05zTVRRUEEyd3hOUkFEYkRFMkVRTnNNVGNTQTJ3eE9CTURiREU1RkFOc01qQVZBMnd5TVJZRGJESXlGd05zTWpNWUEyd3lOQmtEYkRJMUdnTnNNalliQTJ3eU54d0RiREk0SFFOc01qa2VBMnd6TUI4RGJETXhJQU5zTXpJaEEyd3pNeUlEYkRNMEl3TnNNelVrQTJ3ek5pVURiRE0zSmdOc016Z25BMnd6T1NnRGJEUXdLUU5zTkRGWUV3QUNjREFCQW5BeEFnSndNZ01DY0RNRUFtdzBCUUpzTlFZQ2JEWUhBbXczQ0FKc09Ba0NiRGtLQTJ3eE1Bc0RiREV4REFOc01USU5BMnd4TXc0RGJERTBEd05zTVRVUUEyd3hOaEVEYkRFM0VnTnNNVGhaQ0FBQ2NEQUJBbXd4QWdKc01nTUNiRE1FQW13MEJRSnNOUVlDYkRZSEFtdzNXZzRBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5RFFOc01UTmJCQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETmNDUUFDY0RBQkFuQXhBZ0p3TWdNQ2NETUVBbkEwQlFKd05RWUNiRFlIQW13M0NBSnNPRjBJQUFKd01BRUNjREVDQW5BeUF3SndNd1FDY0RRRkFuQTFCZ0pzTmdjQ2JEZGVDQUFDY0RBQkFtd3hBZ0pzTWdNQ2JETUVBbXcwQlFKc05RWUNiRFlIQW13M1h3d0FBbkF3QVFKd01RSUNjRElEQW5BekJBSnNOQVVDYkRVR0FtdzJCd0pzTndnQ2JEZ0pBbXc1Q2dOc01UQUxBMnd4TVdBQVlRZ0FBbkF3QVFKd01RSUNjRElEQW5BekJBSndOQVVDY0RVR0FtdzJCd0pzTjJJREFBSndNQUVDY0RFQ0Ftd3lZdzBBQW5Bd0FRSndNUUlDY0RJREFuQXpCQUpzTkFVQ2JEVUdBbXcyQndKc053Z0NiRGdKQW13NUNnTnNNVEFMQTJ3eE1Rd0RiREV5IixVPWE7Ri5oMjY0TW9kdWxlPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoVS5kZWNvZGUoTCkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh5LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBZPUYscT1BPT4oSSxnLEIpPT57QS5IRUFQVTguY29weVdpdGhpbihJLGcsZytCKX07ZnVuY3Rpb24gSyhBLEkpe2NvbnN0IGc9QSVJO3JldHVybiBnPjA/QStJLWc6QX1jb25zdCBIPUE9Pkk9Pntjb25zdCBnPUEuSEVBUFU4Lmxlbmd0aCxCPTY1NTM2LFE9MjE0NzQ4MzY0ODtpZihJPlEpcmV0dXJuITE7Y29uc3QgQz0xNjc3NzIxNjtmb3IobGV0IEQ9MTtEPD00O0QqPTIpe2xldCBFPWcqKDErLjIvRCk7RT1NYXRoLm1pbihFLEkrMTAwNjYzMjk2KTtjb25zdCB3PU1hdGgubWluKFEsSyhNYXRoLm1heChDLEksRSksQikpO3RyeXtjb25zdHttZW1vcnk6b309QTtvLmdyb3cody1vLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpO2NvbnN0e2J1ZmZlcjpOfT1vO3JldHVybiBBLkhFQVA4PW5ldyBJbnQ4QXJyYXkoTiksQS5IRUFQVTg9bmV3IFVpbnQ4QXJyYXkoTiksQS5IRUFQMzI9bmV3IEludDMyQXJyYXkoTiksITB9Y2F0Y2h7fX1yZXR1cm4hMX0sUj02NTUzNixjPTUyNTE3OTIsZD04NzUyLHQ9MTY3NzcyMTY7Y2xhc3MgaXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MCx0aGlzLmhlaWdodD0wLHRoaXMucGljPW5ldyBVaW50OEFycmF5KDApO2NvbnN0IEk9bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDp0L1IsbWF4aW11bToyMTQ3NDgzNjQ4L1J9KSxnPXttZW1vcnk6SSxIRUFQODpuZXcgSW50OEFycmF5KEkuYnVmZmVyKSxIRUFQVTg6bmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIpLEhFQVAzMjpuZXcgSW50MzJBcnJheShJLmJ1ZmZlcil9O2cuSEVBUDMyW2Q+PjJdPWM7Y29uc3R7ZXhwb3J0czpCfT1uZXcgV2ViQXNzZW1ibHkuSW5zdGFuY2UoWS5oMjY0TW9kdWxlLHtoMjY0OnttZW1vcnk6SSxtZW1jcHk6cShnKSxyZXNpemU6SChnKX19KTt0aGlzLm1lbW9yeT1nLHRoaXMuYXNtPUIsdGhpcy5wU3RvcmFnZT1CLmgyNjRhbGxvYygpLHRoaXMucFdpZHRoPUIubWFsbG9jKDQpLHRoaXMucEhlaWdodD1CLm1hbGxvYyg0KSx0aGlzLnBQaWN0dXJlPUIubWFsbG9jKDQpLHRoaXMuZGVjQnVmZmVyPUIubWFsbG9jKDEwMjQqMTAyNCksQi5pbml0KHRoaXMucFN0b3JhZ2UsMCl9ZGVjb2RlKEkpe2NvbnN0e21lbW9yeTpnLGFzbTpCfT10aGlzO2cuSEVBUFU4LnNldChJLHRoaXMuZGVjQnVmZmVyKTtjb25zdCBRPUIuZGVjb2RlKHRoaXMucFN0b3JhZ2UsdGhpcy5kZWNCdWZmZXIsSS5ieXRlTGVuZ3RoLHRoaXMucFBpY3R1cmUsdGhpcy5wV2lkdGgsdGhpcy5wSGVpZ2h0KTtpZihRPT09aS5QSUNfUkRZKXtjb25zdCBDPXRoaXMud2lkdGg9Zy5IRUFQMzJbdGhpcy5wV2lkdGg+Pj4yXSxEPXRoaXMuaGVpZ2h0PWcuSEVBUDMyW3RoaXMucEhlaWdodD4+PjJdLEU9Zy5IRUFQMzJbdGhpcy5wUGljdHVyZT4+Ml0sdz1DKkQqMy8yO3RoaXMucGljPWcuSEVBUFU4LnN1YmFycmF5KEUsRSt3KX1yZXR1cm4gUX19dmFyIGI9eS5IMjY0RGVjb2Rlcj1pO2kuUkRZPTAsaS5QSUNfUkRZPTEsaS5IRFJTX1JEWT0yLGkuRVJST1I9MyxpLlBBUkFNX1NFVF9FUlJPUj00LGkuTUVNQUxMT0NfRVJST1I9NTtmdW5jdGlvbiB4KEEpe3JldHVybiBVaW50OEFycmF5LmZyb20oYXRvYihBKSxJPT5JLmNoYXJDb2RlQXQoMCkpfWNvbnN0IHM9c2VsZixrPW5ldyBiLG09Si5zZWNvbmQvNTthZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixBPT57Y29uc3R7dGltZXN0YW1wOkksZmxhZ3M6ZyxpbmRleDpCfT1BLmRhdGEsUT1EYXRlLm5vdygpLUk7aWYoUT5tJiZnIT09Myl7TShgRnJhbWUgaXMgJHtRfW1zIGxhdGUsIGRyb3BwaW5nYCxCKTtyZXR1cm59Y29uc3QgQz14KEEuZGF0YS5lbmNvZGVkRnJhbWUpLEQ9ay5kZWNvZGUoQyk7dHJ5e2lmKEQhPT0xKXtNKGBmYWlsZWQgdG8gZGVjb2RlIGZyYW1lLCBzdGF0dXM6ICR7bihEKX1gLEIsQyk7cmV0dXJufWNvbnN0e3BpYzpFLGhlaWdodDp3LHdpZHRoOm99PWs7aWYoRS5sZW5ndGg9PT0wfHx3PT09MHx8bz09PTApe00oImRlY29kZWQgZnJhbWUgaGFzIG5vIGRhdGEiLEIsQyk7cmV0dXJufWNvbnN0IE49bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEUpO3MucG9zdE1lc3NhZ2Uoe3RpbWVzdGFtcDpBLmRhdGEudGltZXN0YW1wLHl1djpOLGhlaWdodDp3LHdpZHRoOm8saW5kZXg6Qn0pfWNhdGNoKEUpe00oRSxCKX19KTtmdW5jdGlvbiBNKEEsSSxnKXtzLnBvc3RNZXNzYWdlKHtlcnJvcjpgaDI2NCBkZWNvZGVyIHdvcmtlcjogJHtBfWAsaW5kZXg6SX0pfWZ1bmN0aW9uIG4oQSl7c3dpdGNoKEEpe2Nhc2UgMDpyZXR1cm4iUkRZIjtjYXNlIDE6cmV0dXJuIlBJQ19SRFkiO2Nhc2UgMjpyZXR1cm4iSERSU19SRFkiO2Nhc2UgMzpyZXR1cm4iRVJST1IiO2Nhc2UgNDpyZXR1cm4iUEFSQU1fU0VUX0VSUk9SIjtjYXNlIDU6cmV0dXJuIk1FTUFMTE9DX0VSUk9SIjtkZWZhdWx0OnJldHVybiBBLnRvU3RyaW5nKCl9fX0pfSkoKTsK",blob=typeof window<"u"&&window.Blob&&new Blob([atob(encodedJs)],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(){const o=blob&&(window.URL||window.webkitURL).createObjectURL(blob);try{return o?new Worker(o,{}):new Worker("data:application/javascript;base64,"+encodedJs,{type:"module"})}finally{o&&(window.URL||window.webkitURL).revokeObjectURL(o)}}class RealtimePlayer extends HTMLElement{constructor(){super(),__publicField(this,"drawer"),this.drawer=new H264BytestreamCanvasDrawer(()=>new WorkerWrapper,()=>{},()=>{})}connectedCallback(){this.style.background="black",this.innerHTML='',this.drawer.start(),this.drawer.setCanvas(this.querySelector("canvas"))}drawVideoFrame(s){this.drawer.receiveEncodedFrame(s)}}customElements.define("formant-realtime-player",RealtimePlayer);var classnames$1={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(o){(function(){var s={}.hasOwnProperty;function _(){for(var _e="",et=0;et{const[s,_]=reactExports.useState();return reactExports.useEffect(()=>{K0(o).then(j=>_(j)).catch(j=>{throw console.log("Failed fetching device",{err:j}),new Error("Authentication failed, please authenticate and try again")})},[o]),s},z1=async o=>{try{if(await Authentication.waitTilAuthenticated())return o()}catch(s){throw s}},$1=(o,s)=>s?JSON.parse(o):o,J0=async(o,s)=>{await z1(async()=>{try{const _=await App$2.getCurrentModuleConfiguration();if(!_)return;const j=$1(_,s);o(j),App$2.addModuleConfigurationListener($=>{const _e=$1($.configuration,s);o(_e)})}catch(_){throw _}})},X0=o=>{const[s,_]=reactExports.useState("");return reactExports.useEffect(()=>{J0(_,o==null?void 0:o.parse)},[]),s};function Oe(){return reactExports.useContext(d0)}const d0=reactExports.createContext(void 0);function Ke({theme:o,children:s,parseConfiguration:_,scoped:j=!1}){const $=X0({parse:!!_}),_e=createTheme(o==="dark"?c0:o==="light"?P0:O0),et={configuration:$};return jsx$1(ThemeProvider,{theme:_e,children:jsx$1(j?D0:CssBaseline,{children:jsx$1(d0.Provider,{value:et,children:s})})})}Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);Chart.register(...registerables);const I2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACGFjVEwAAAAwAAAAAChseJYAAAAaZmNUTAAAAAAAAAAwAAAAMAAAAAAAAAAAAAQAZAAAR67u9QAAAK9JREFUaN7t0zEKwkAQheEVCxvPYGFla+UFbD1CwNY6ra23sPEAxgRNNKBpLWITA6IsBCV6A/txV1svsPB/8GCYah/LKAUA/4hI4xQWAxs7O/X4JNGtY1BkeXCWX4pMm50zBUZx5U3WWmbRVRbhRQ6rUvJl6bnzBbun397W0kvuMowrGZsy0+jmu1Ng/+iaEm8TsWmaubMxO7cO4dVXaT3/xs4AAAAAAAAAAAAAYH0AgOhTVFHYG+UAAAAaZmNUTAAAAAEAAAALAAAADwAAABUAAAAGAAQAZAAAZ7Lt7AAAAWFmZEFUAAAAAmjefZG/S0JxFMXPveKv7wu0paBcAh0iaHYKHGsIJBD6LyQS2qopsCGClpZoaWp6BZo0uDcIEUE/ECG33veJkz6R926DT9OUDlwuX/icA+d+qVT6DBuOU1aQDAAAUo1H1GZqK9XDH7Hu9XOaOGMTowsCQJm209nHDLFmWrCJoImgidEihgM+qJm1pSn4G0FTE/c1sW8gaKI5yw2d/IUJAPbuPs4UJG+IQEGgRGBAJCpIZ7NrT6NkAGi5wWObWA/SGfZgk010LiI0AV9nV9oW4XAIj036wnzbnYABgDrJS030Ml7WJobNXDytPBsT8G2OXIsD+d/UgckiWracSGFUcFzrpYapBNuGX1RBYIh0oxxYnYITD81kxPNeDUjIv4pv8q5o1k/Nl5tFBSlMwqjPhPFYj4Xd8Lsh3qIC/Lt797NhAKh8bUD4JgJJREVqMbg7+FdHwqg24sPnD+oal8W6KwosAAAAGmZjVEwAAAADAAAAEQAAABkAAAAVAAAABQAEAGQAALMDT1sAAAImZmRBVAAAAARo3p3UPWgUQRQH8FUEbcQvLPRACxVRiU2QJGDwNKD4BRHR4oIYJIpK1OJSKBI5gqASBY1E8AOSIim8Yr9mdu4M5FIIKiJiuK/dzO3ebQ4EwUrSqJjn2xyrG6sZH/xhmeK3b94woyhYALDkrT7d8gETfCuyxRhfnlULuUktD6/VPLxTp3Mc16SQtFY6o2pFIFoBXmFyDeymFDKqlZNjehFeYjTEaAObmySfYsLIkMa3PNNLP0b0EowjlF7ACkD1/JhUN4+M8oNhowzPERr9i83rerFdGLln2CsHDfszYvBkMfYxlYKlwtAAcXruGDbcx0SxEaN4ThgJ/thvOu8HTBv+wb48TburhKE+wtuum848YhDFHuvlQakhXyUz40lzBhCDELtr2N8fGvZ2YeQicWKXCJ9DDELsFua26UxIddNNK/09hANiEGB9iN1AKEWcI+LIVHVFgrreWVKBALuMudbA+BWZe9VpuSdP0QokMN2InQ8x6iSltnWUuhOd1IXTCHUtYDzAvl3IljYII/uzfNdBy/t5DKETUYzyF1Ld7LW84QOWB4cwEexXl+nuEUaaqL+mlVW/tltVWIx5bxSZV7CJ1XqbWQ1aEfqDUQ+OW25CGIlPwbIdrJbfjVAzIiHWYXn1wzJHvinjd2xlPiAGIdaGiZNqXGrIGzOz6maEolgL83dKIetIPbY+M1tBDAJsG/OHlP8qnMFqVt+3NtLBb68GzUQnZ+QFAAAAGmZjVEwAAAAFAAAAFgAAACIAAAAVAAAABQAEAGQAAAaksUUAAALMZmRBVAAAAAZo3q3WW0gUYRTAcQu6EUQPUZAVZQhGF6noRkJiYWiKRVgYGEuJSWQkFsUuxYqaUVQqRkp2sSxSY+c+m5BW9JhBsM7uzM7szmw+JD1E0I2k9nRGZ2va19PAgWUe/r8z3zzMZmTgBQDThlllyysc+3fG/7hkWZ8lBUaHB5lReMaE4EUgNGzfI4f7mXAlwyjAY1jCsYGhQMhHDvcySv1jVoEBHAajNiAzo1+GhLeZpPA9JrSyhw1PPMSwDTz5AygPyFt3M8rVO2wY7uO4gGQgoOSRwu2yPu8mF3l/C8NuoI9R3vj9MJ0Ub+Mj1R1cBDpxbOBuCmAUDylsb3aNi7xuw3AaMN6LT0SKX+TU7Zc5NYkA2MANB7jNKi3kF9nIq30tnApXcFIAPsGPTiGcTQr7WGOpn1e/NvEquIF2LsySt/bxWsN5XoMGnCYMX3KAVjaymxSu6x+bc47XLC+GL7gBXg13dY3MIMVP8dGKej4KZzHqBpr5SC35SE7w0ZcIwGkH8E0C0Y9+QVtACtdw+vrjgv6rVoiCG/ByWgd56ypR764WdEAAbKBuCvjp5dR1pHBlwFjoEYxPRzF8zAFOTgL6EHnrCsk4UykY4MHov4C2jxQu71dmHhANrUI0IAVUTQExz3NzNileJsRL94sxQAAOuQFR95KPpESIyWUYTwM+H+HUxaRwoWDmFInxiRIM73WAgzYgGT3krQvk2PVCKQ4IgAtIlgsx2mcsnzHn75DiHwowngJKp4AR8mdsq2TW5EkmIAA7HaAY4yWCcZh2HrjZJskc2YbxNGC8iPoZyw0m8jbIVhIBSAH5NiDGm8kvcrVsDeTKFiAAm/8C33eJiSxSOCdoLs+RrW8IQBrQSt56hfSuMVtOAAKwxgE2StYjcnjR4PjcZcGEkYVxG1iF5742aBX/l//YS4SxzEx5rBWB3qyn1h773m+SXYWCYYXpgQAAABpmY1RMAAAABwAAABsAAAArAAAAFQAAAAUABABkAACqa+X8AAADYGZkQVQAAAAIaN612GlIFVEUB3CLKCgqqA8RFQmStBethPEorGglizLbLJFKLLV9p16FFZK2K9FitFhJvlnuzJgUBkVfwqLSmTfvzbx572W0QH1opYU8nZtvcPTzvRcODPPlx/9yuPdwk5JwAUCnOlGfXI9Fv5N4LU2zuimBpnpNaII6rPuBxnr6jwtWIxirBUEHCSEF6z8aaNzHBasS9G3Vog53sQSEEuhXQl4MYI5dFRpTbor671uIeVFZ0K9xSXdVNMquiQYgCi5aI+gtgYA+lTl2Q7N6XRaNd4iCi95uRRv8fujMHKwQ9Q0XEbqCRdHrCfSO1LSGOUYTlMvBhguIdEDf0+TMwbOSmXZOCraUS0HwopVisJhLs5yUgtWnEUMUXPSSaPyqJMYQ5lipaA8qlczviIKLVlBUMGq4pDsqmUdKJBNOYFH0TAI9T4Kz2DcLaeheLJnxY4hRtLQN1f0PH3ZhD0rmqsOyCYjCcQ9aJhv57PcSr5oDcuixXw7BES8qm5/OBYJ9mXt7iTVunxz6iyh0QE9xaZZdcrhyD0KIggf9U6wYI5ljRZLTb7sc/rxTDoMXPSSHHnBJt5mE9mxBDFHYiRBF91OUWAuYY0ur9a6bSDhcRMLgorsoSkJ2AY8RIo/Yi/KJBQUIUnRrAt1Nwju4bOc6YtXlIdgB/bK5xujPHMsRreG5xPqDKHjRQmJd5JIuW4mcX4sIouCiG4n1t0gOTWTfLPea+6xU7I/ZxAYXXd+KPkniMeBmqnbhcsWGlQhSNMdNqthZzLFpePIvUSKvMhGk6Ko2tHl13csezMEMEklfpEQAUVjWDrX8XJplvmJLCxFb3B79sUJ1BjPH5mhWylwl8nMBQl40S7GruKSboTolsxUHEAUvmqmGfcyxNMnsma46b2eqDnjRDOI85zJN+5RY7jTEEAUXnfcfdXLZ7yUmSFOjT31qFFx0FkWJ82HG/Uhv5t4kEpsyRY22TEXQh9D0NrSES7NMUKNVkxFDFDzor3Q1ksocG629GThOi31DFNqhmiNxSTeyNn5wjBYDRKEDOps5Np687T5ci8VHIeaiE1vRF1zSpda+zhqKCKJA0bEJlM/jCt5rKWr80RAtDhQd0Yo2c3vMSa6NJidr8WcpCKZq8eZhquP7ByfqQHlEWABmAAAAGmZjVEwAAAAJAAAAMAAAACUAAAAAAAAACwAEAGQAAKmGMjkAAANYZmRBVAAAAApo3tXYaUgUYRgH8C2kKDuwqOy+sMNOpAMzFsOSLumgzNKskFLssKL73AorJLtLwsqgg1qoZuadmd2lwA/Rl5CoaHdn59rdRjqgPhSdSD49kw6Osn6M7X3h//35vc/zMMPrcPyjc0tUelxjAu9uMAG4ibnN+OEuxs3461wu6Oig4VQx/uJqLP46xg65x75eQwXAvOnLXLDuChbeBvLe7BAViAuslHGRDTZeZoNgh9QwwXIHLecMG3SfQwBCwIJcZQK/akgghQpAJaMOrmSlbwgBC1JlQh4G7lPTheOsdKyCleAUxoScb4ZcIsFsOhaa1HUtZ6XoCQSYkMoWiN9VW5tAB4KVCo5yEiAETtogp7lAKR1zBNDhEBd64uJCcMwO4aRPFx8Ee1Nh2EeUtP1c6DdCoA3kLDULvZuTa/Zi8QgBG6ShnA+MpwJQxur9dnDy512cDHbIES70mJoubCWhvdsQgBDYhcWbkAMmhCg5VACWu/2dNhFZLiMyWJDdJoSE1M2i0pkKRAlRl5QSBTYjwoRsb4bsIfJOakZpPVF8JYhoA/my9X6gPxWAdYySWkSUBoSAHbKFKNXUdKGQ1y6txcIRAhZkI1F+l3GhqXQstNfolc+rHwuJChZkQxPkqfn1pgKRK6hbVvIq5CPChKyzOsKreVQAMvGPdBmvvcpFhAkpaIEYq30vE6lALCZa1hJeA4TAilYQxUXNQi/kVXYRApa2hnxfJehDqQDME5WR83ntZw4Wb4fk8eodarowW9Ar5vI6IATskFxBdlIByGCl7lmC/naOoIMdspjoz6l51XPykaJMBCAELMiCvxC9iI45wpvOEMLPnEIYLEi2CSH6h9mPtJ5UGKaRSHq6EG6ciQgnFj+rBVJBzUJPEcJ3piMAIWCD/MoStFFUACaK9YPSxMhXhEAriKiz/82sJ3vfHBzgMYKDPVFtmBjVhmNSMKMxqWJEmyBGfkwSI4AQsENmiHr8X/V6euqLe3veQB9MMmYgBiGAEBiBQQiMwcIRAggBCzK1CfLCMZOPJsUTkOgx3D08BiRhTEjfGJCRMSCTmyF/WxhPQCefcbiL14BuCGgPMiQGZFwTxIj/DvjeJyZ469nOXqOxPUj/GJBRYtQYK+jOP0moWT95E2zZAAAAGmZjVEwAAAALAAAADgAAAAUAAAAVAAAAKwAEAGQAAH1y1dMAAAB5ZmRBVAAAAAxo3n3MsQ3CQAxG4c93qZmAOeip2IE9WINpKLJBJmCCjBGIKe4UoQhh6cmy/fsFGOcrcYt0KKhSwYCykSobYZxPxNTvIPpQe7hkC++l5+8nSLyxCitKZOvZdhWDiKf0sxIvxE6wJsXl+MAdC/8Fi2gEHzF0I+cJ3N4OAAAAGmZjVEwAAAANAAAAJgAAACsAAAAKAAAABQAEAGQAAHinmB8AAAQvZmRBVAAAAA5o3sWYXYhVVRTHf/9976iZZfmgYL2kTOaYhigZJcFQWI2pZWZICX1ARUWTfSmIcDFRQ/xAqpcQ66UHH2oUHbGQiR56yAStRHQaxFQsSCGl6c7Z557Vw73n3jNnxmAg716wH849m3t++7/W2nvtJUZoZqaje3+6F2DOklk/SDKug2kkk7u7e0dPKPcfFGp3VcyeW8aMfay1o3Xg/wZzI5k8dqC83OPaPcIDFdR+udz/7vVQbERgMUz0Ai+owgmPW/P9nmO3BQWLoMsj76nBCWIxLm4pbAoK1vHkzD5vfNRQq+rSCJ7r+fLE/GBgAG7M6JIXv3ugOoRHisSOUslcMLCOjtYrHpVStRrD5sybdWJlMDCAE8faPvXiqJfwyrhUfNjd3XtzMLBSSUmsQqcHaySC8NKkcjla3fQNNm+fd53cI+xpAQ7DVVcaFQq6e9mitt6mK5ZahfgdD/2ZJMDDqIGYzUFcmdqLT8w858W2wUkgvFj62VcnFwQDA5Dr3+Sl3xqJUAWsyLaXenqKwcBeWTS3P0Zr64qlgFLb5L8mvRwk+LOl0NZ9p75z2HxX+1MHSFwm5s43lk6/1HTFACTZgEs6PUqyR1VsTKgUbF0wxVLb0HVqt5M9nypWG3GxkMzufLztl6Yrllq/WtZ46Uq1LKqPYjl2O4K4MrWNS6b84Y3N1S0jHeDFQxu6Ti4KBgZQHIi3etQ7eF8TlYLbvrO7d3QwsNLyGVEsWz2k+jCm/lmxN4MEf9be2nf6kIMFje3DcHBVvjJt41NtF5uuWP0cTbTKi7iRCMKjm+KWlvVBFQN4dX/vx854TY3KA2ckDrtv6+JpR4IoBuCL0boILg26IwgXiR2YKRjYrkdnXPZo/ZDqA3f/6wf6ngkGBnB23LlPKujnfJZGZltWHjp+YzCwb9vb4witqpffjbP09pZo7HtBgj9ry/b/utfB4mz14Yx/Rjk3fdfCKWebrli9veDsbY8GstWHFzeULdkUxJWpdXW09nnTTl/tgdRdGsGK5QdOPxgMDMAl0QceXcxnaZQUh9zimwq2b8ldVyNYl0sCYtnso3PPvBAMDODwj3fsjuBIvZ1Vg4yNjQ9/0zc+GBglJVHiOj2yxgUGvGOii7S26dtF3uYdOPNFAVakZ2jtPI0cNvPwwqmnXSgwFL/v4e9cO2uUl9vSUOzrCw+Q2GaMyYM2QIzcxaJeWwkoZOYW6rFhOGvESCGjSHa+qmNyAcY4G/wdyR4R+8/eSrFwBhg/3F6ShXSALA9qOejcOxvu3bUWDDXI40WKxTlg44dTO6k3T8Ch9BLb6OwYqPZ7HrL6LJwyMPVFaeiC02cJwT1FxCmMGPjPPkOSAU0hnTIwOcihqqi2qKGQufIbB+erMXbwwkso2QYaUTdQ14pHu0YYDOe6mrsz785jevZfJmHP8r30AXEAAAAaZmNUTAAAAA8AAAAwAAAAKgAAAAAAAAAGAAQAZAAAcRPiHgAABDJmZEFUAAAAEGje1ZlvaFV1GMc/z+9e3TSt6IWC+cZkmbMVli9EJBiK1WxaVqtRUb2ooMhhWRPG4GLgjLUc9udFIb4L8UXN4VYSMojozQomNsStYX8Ui9CW4vXu/M45Ty/uufeec3YnBS5+PvB7cQ6/+/x+n/M83/M893eEWbDxwfGayUL+S5DG4h0durV2/sN1TXVT13stMxsAk1cLLZXNA0jjZCG/czbWmhUADxb5QAhoBWLXd4dHbr8hAAqGPotYi1AcEMCCzBzpuiEANjzWMGHRD62AFSiDqHn2289H1zsPADBVOy/nifxuiSCKQwIJezWnxnmApqa6Sz6Sq6RRcXhw//F7Rp9zHgBgeKT+Ux/5wQKVIfjCu4OD4zc7D5DLSWiNtllES2KOxuKw4LVfjzWE/8EO9Y0eNvCkRAsaBUG9bGDubn6iftzZCJRMCd+0kC9HQMCKzC1k2Ot0CpWs9dGG36zK+/G6UATRbYe+OLnJeQCAqWy+y8KvJSGXh2T2DQ0NZZ0HeKV5Td4T05F8I4GF+p//Xvyy0yIua0FVPug/9U0GWV8RtCJwsSaUO5/ftvKCsxEAEBENDG0WwooOBCtyWz6jnc5HoGTv9Z0+iOgLgmKiTQj4ZHR12yP1PzobgbKgxdtl4VKqzcgGvul1OoVK1rG14Q8f3VvsVGND2NDdd6rZeQCAYCrssZjxSAPljtUT2bd/cLzGeYBcyyrPE22PN3nFuiDL/wp0u9Mijlt7/9gx0E0SPc1I0JdDG6zY83j9eWcjUDI/lB0W8ZOCZiFzMrtviAgAbD96+iNUXi12qVGBg1DRtT1bVgw7HQGAK1m/0yIX4mK2ggmFXlTFeYADD626aNHd6UbPw6x7bWDsKecBAJYuOPexhZPpZs9X073z2ImbnAfINTb6HmZHSsxYWDrpzX/LaRHH7emjPx0R2GIA0bKgr2aNWXlg8x2/OBuBkhWMvmGRqdR50ryChl1Op1DJ+prqJqzK/iqp1NoyMPaA8wAAGnrv+HA+3Wb4YbY3lzrVcxKgf+tdly3SmTpLwoquHllz5kXnAQDWfr/soBWGy91qqTao7tn49cQtzgPkchL6oWmzoAlBG1lkPOlw9jWatnUDZz4z0Frskcp/QT2DNhzfvHzMuA4QiP+2hSupNmOuJ6a7GIEjfy6kxusBbUQxJhaWDBrvDsv5luzdNXEd6+mnz9G478o8idaiio/oeomo1k7zL/qg8NW5T0BfmqlMJzeTBIpVyth9rfK76UDx1vlaPgwzzFPFwIkswsbYl7jk+5jKR7oAECTpRDTlFEw059qbEYzEN5YEivuo+uCKZ0wYuDdLoKMYlv2rAhONsByh6UBJmMqc9GaST1wQicFMi67MlLZns0jmdQiWAPf954pZBagCk0onrbYZrZImkQ9JRVCTERQ4KyrP/APT7dIdHNFWEAAAABpmY1RMAAAAEQAAACwAAAAMAAAAAAAAACEABABkAgD8ivGfAAACBmZkQVQAAAASaN7Flb1rFEEYh5/f3AWDhQSCEBRJYnIgNiI2MYUggpADPwoRxT9B1CaxCcoJ2gSLQFoh2NhLNKeNH4WIeJWIFjkS9UBRG5EouZvdfS12b+/2ONvNDwZm2HdmnnfejxX/0eTq2o7dFKci3M835dEP5KBLK2snHXoqwAHCSOaVe6dKtwDUb+OhlcZeVwhfCiacGUhLtfLY1TygLzyqPxScdoCMNvBfF3Jg+exkw/XbFBTCRQ8THvASAVw5vPr5YB7A3jTrUSu+Ox07fZGFvi88Wf101JleCeSSkAiQ7Pj7mfEXeUCfWVlfcLK59t0Jh5npWPaFzRSgux7kAY/a4+uWBa/JSa1CeNvD95gh5VAkFjPAI0++nPNo2ktxKJINAXajXi418wKulku/AzQfg3Y4WnCkA1yrDQSmOxmvJLz0bn1z9D45a6o2vuzF24QhjXYKvOvHyGUvlXq98sYc5xXmDVypKAoid82DdRegAIaebww1m8W6jGHXLrK4nTz7NbPvBNuo6ccbDxxcVNKXHcDmVnHeo+E0d+MRtczNss0KFVz38KedpqL6bQyFH4FB0j8MCLwza3S9dpo/ythZZt0ToayNdfpooctOQAHrc3a63iOzQQFFFN5swwJEHecGJO3PXm5ZGAMlhdDTM3ugFc/VcSCyLFSY2PSekZ6t+Ps/kTTHxalO1YsAAAAaZmNUTAAAABMAAAAnAAAAFQAAAAAAAAAYAAQAZAIAtADR+wAAAwVmZEFUAAAAFGjexZZNaBVXFMd/5848Y56hxSCI+IXGBCXdCFnUjRBdNJoYhFJRsKtCLYJBrREJ2EZLm42gNigoSLtrURdqYlT8WkpBFyIVk/hJWosFIyjSvrkzc7qYybyZmNQYX5I/nMUMh3P+93/OufcI74CvunrnGpxWIZxlhF86m2rOM07s7+rdI6odRkGIzABGtbl1/bIu4n9jwueXbs8o8/K3DVTFwdTBNB1ZV9UzHnLbevrLZvrhXQOLo3iKAUTpt4Xgo/YNtZ4ZazDx8q0+UmWB2MQT3Txe5TrXVhc8YVcxnkQmUm2m51rGrNxnXb1zc+L0CeQlW4bDP69bsp33wO5zfVcEXT1U1jj2y1BzNWNSLjC5HzwkbwEriXn/ONrJe8KGwQ6L+IlyCBY+ULHfv1W55p7+5YTmpoBJnQxBD5xuWtJKCdDS3XsEla3DhiN8q3KF0DlkEZPqNTwYFLesgxLhtevvtchzK5KujPlfcvXnH3zqCysjZ4kMIRD55lTD/MFSkTvRUDto0f2ZwUAYlVztyd+nWUxH3ANF1YR7z2YPHqfEmFfx51ELd9K5RiVXkS9vsVA9/DS+MV/fqquzpSbXXl/ve5gd6VwjDkTtxYHKaWHQL1BpVJMmdeDajcZFq5lAbOy+f1ag2YyqXBjss1AZXR0yZIGHu50Jxr9Gd1qkMGJZay49WmqRLRbBz0yonrjVOP/ORJM7s7b6gVX5ccSBsL45YCE3rNdeoXzLJEFD7zsf/sr03Oyex6tcMVeThzi+FI3S9rBxYQeTiIbuh1+4yddJdQIZOKjJCyAYAYEBDdzDTDI+vrnop0S5Dy/88SXoMROrluxXsOnZmgW/MgWIyF3/u6K8UOgTZU76/XSE3158Mm8FIjoV5FwA1/PaLDJHBAzJvaaq4a6pIhYpd/npAsLwHko52Z0qMKpPMit0Su6in2a+08q/4aPFBdLJbDjgoG/EdgnCdoiIAYRF4o6ILM4m0mxijQcnQ0gzSU08XAJDA4aghJolF8Q+6Rj/AQB4LsR2B2nNAAAAGmZjVEwAAAAVAAAAIgAAAB4AAAAAAAAADwAEAGQAACn7SAcAAAOxZmRBVAAAABZo3r1XT2gcZRT//b7ZLc1APfRqttSmEDSkHgKBiJdSikibiGxJQYh/DlLwYPEQO2CkkZYQuhZXRA+C1autpqlbElAQFL15CWiT7aLm0Cw0h/6xSZudb+Z7PUxmdmbapLubrA++wwxv3veb3/d+772P2KJ9dWVhF8Sct4CDBK8Zwcm3Xn12Me7z7fRflwgcIwACUAIoyprvm558/sA/AKC2CkTDfOEBb7vAfg0ZMpDv0z73RY1q4IEGoAFoAi6406hMIfThVkB8Oj3/giJ+I0Cu/xUBGEvvfufogdtx328uXztDYizwE4TsQOHQa0M9P7fMiIjQU/xEA4z+NFhLy3/03k37K1tPusBS4MNo+YbFixfFahnIxJXrI1rQHw+qQbjAR+PjNGn/1196flVTOSnQ0EDv6o75Ey0dzXipalPuLShIjgAo60kIzO2rdfcND9PfiMXPfpj/1QJfrCeugMCtlhjxsOJoIBcxwWDVYEY3AgEAJMVXOKkBU09cQpO7m2bk/ZlKJzwpE2KHybnOxtSZoe58IzE+ni5/DcqbhEQJ3jQjNV8KGrBTueGu0XcajkHX0cB/8RhNATlRqgx44HHNoBZoBvR6RLEw+Fyl0TgfvNJ704NMht/rphgRoQ8UA7nG2CCXV3ZaE80y69fMeQ1VCfOrYSBvXP17xAP70/JzwbEvD3fdbVp5wz2uSznVFCODpartKpwNqIznBubuPOi60GotmhzsvuyBPzYMJMs1RwtzYZ8Il6es0UubyLWhUmD4nga9J8r35ZlKZ9aoMoGEXAlMfXe0K49tsHevlj/PPDFHjSpo0I5rnoBrBA62yVYz3oebMnKotDgAZX5PdFcBSDk3e6TrFLbR1GZyrSkpajDZXYllvQMT2Gbb8Gj6Z/8d0WB/cByMyrCijP3SglxbAtJXqtoa+iwpYXeMumtu5ZkLaIM9Fsia5ToEcgSgyAiIJdyyXDfszOkX+2dudFrwywDs+EhHwdSfR/bm0SbLPDpreAUftIOjiNhwLaMctNESQJ6evTGgYY4HmwtUffIqXh/MVdoJRCXkClOsD8Ph5KWWkfUm0GaLGHlqdmlEM5Sr1OUqGFtqg1wfn6ylqt2R9RcoyKXGv7k79zr70CalPMJIJmscDebI5OVH0Yz+HyACRn6q7oExCxB0IHZbI2CUyGKMnSihmPCTxHOK0aSP1OuFlezkyMD3TwPsCJHFbkaK5L5kUEluIkH5T24uiQ0SLYJ1YEaSQB4CgnuSISYCxzkAAAAaZmNUTAAAABcAAAAhAAAAIwAAAAEAAAAHAAQAZAAApfNfPQAABAtmZEFUAAAAGGjetVddaBxVFP6+u5u0a2IffBGbkGgVEhNrS6VarYp5UMTmpw1tqI1FwScJKIltU4mBQLtNlPQnWPsgiogUyqJ2w6apCBKQIEKfRLPNpmDEbYSqhBqSmJ07M8eH3UxmNj/sJjsHDiyzc8/97nfOd88ZosB245ufuwCe9j6V93c37wivtoaFBDA6OL5VWUaCQKnKBM9sMKtNu/qZlp1TK61ThQShbeOMBks1iCUHLKA0UMRe35n49uv4roCybhBQzJyOACjObwHU88821476woSI0FL2BQ2qbBY0HadF+4L0iPIFRDQ6dlgDz2kAXqfHDeCJ7x8fO1rwdEQiyZBdPHMzAFR66Zd4hoQd7iJVwJ+bNKvqWmpnC8aEUTx73AQqndNndjaJDlOhTYPipCbtW+eCeK9gTHwRS5RZlpUgUOI5LTHU2lTTAABXomMRBRxy/hOAECNoqccaDtbc2jATC5b0aqAkqxb0AtQxp2hhv6uBeS9TLF4IoG/D6bgYi+8yKK2ahMeBi282VScW33t1//akFp7zKAaApjRfufrLS+sGISJM2WpAA8rDAjE9Z8jp7PdTwfleDfyxTDEMnB8ZGQmuqybC0ZtHAuRleqsepN3W0VhzaaU1lwbHX1Nif6my1wBteTNxLpIMmUqdcS4hhwmJz9x755PV1r3VWHXZIEazUgcNnMobxD+h+RMaqFyiNO2pADp66urMVfsDKZbCOxqwl9JHaPK+vNLRHkuUFQkThHglCYmdaqxuzCVGfzTxOShvEOL0l/yYEPSlJekuLmozIMdyDZGicVIDM+4YOYNouzbxlEHV6mpI0AAMmx/17nt0Itc4XU3b75iQPnc9qRw1yZTwrAaYxcI0NxnhfOvKStlnNdStxXrKCcTrQ78dMYV7s7ukCek6/3LtdL4gelpqDYPSmTMThyLJkKakJellIf5A6dSn671x+xqqrprgdzmBkJDRaYAVWQMKtEj7WpLMxUyb7Ro015RofSxRphhc1iUJDn5Vv21/IQait4cSHwfXRMqiDwiUuDVNwAhQThRqNp0Lmt2rMvHC8OSegMiPBOjc8wIQ6L9ev+14Iad0tZokTZF+DdKtBoP4+z/NMApsK6Zj97XJVk3uTaeA7o7X/cOBh+76DuLpSDK0oKxwehQTd9uNb77n98/ggy0DMVNqniRYkZ4V6QJht/+0QUnm9AX2yPDtcgVrPC1JcUkS0V9fefAAfDIPE6aYH5IsSZ/cYcFQEuiEj+aAuH/49h5N+3B6Y8mM5gAFA5P7yif8BKEWJWnRHkh3SbgmJvUXi80wfLYgAGy5PnVUk09mPt8cSSrY3VMvPvyv3yCISDIU2oJxCiqyJuGxu5vLd6KOpt8g/gfmUtaG5klergAAABpmY1RMAAAAGQAAAB8AAAAjAAAADwAAAAcABABkAAC7TR7vAAADymZkQVQAAAAaaN61V11sFFUU/r47C1ipUR8koiGSWLBLRZO69UFsDG8KJUvAWGLE6IM2UQnUStDU2JXUoobKopLYxpioMUoNv21Rn4xBTQho1MTWtStEEGOr1loxdefO3OPDzuzPQGF3s3OS83Jzz3z3O/c795whZrHj+7/tBNhdtCh8sGn98ndRJVMXWvz80A/XafBpB4ABIN46gQWookUutKiN3aPAWnqnIwBCNCLqUKjgH+8baXTgbiSzoHlw7Lkr3pCuJnhR2kWErjJJDSoNIu+Y1DKnG1W2IuYHD36/gUAz82yzpxM+t3pd9M/QwAcGztRkOL3D8oHFT7mMjv/+Xz9CsBy4PffcVgA3GB+cWXAFtLe1xXQY4ASAtwdT17uumyIwv0BgIGT4gbUNLYUB7x8YXRyh2a0EyyzKp2SkIx6v/6di5jPG9BCYH1C3FlodwQADs88BGhUBF6wj3BoAGytinjycarLEHGM204V1nWyLL2sv3Pze0HdXO05kMrtP/EOKRWlujd/8Rdml5ookNUANwHcb+MO1nO3BzWMnlv9tA2ez+3KlSFvU7kRCVNngGrijuKYJh9L1WMstfwU3JxI0GkgUHtTz2xbfOvpw+eAENAs/JCPTV4zPWloT30TfssnjmkTOAdhkT9/AT1eWydxj7H0oY+HJxMqVzmwBiQSNFmzRgOQOTEITC9x5mc5y055j7UAGu1qin1wqqGNt9EsN7PWe3gLn5tf3jy6thLl2LHmq1EDjRLZq4N+AXubaFnrLu3MAtuFrO1ZHfyw1cNv6Jb/YkJ3FegE02LLzcOqe0pmTk5xnv1CuWqcytS9p8Oe8+LLizYi80td3Yk5Jd+5AOnfd3TBZLviu+xbN2MS2Atb+FdaPL6x9vIS0c2Rh7dk3K20OL665aa8GPwvWvg12PXNk7JqLg4u0X6y0SjHbwhYNuoEB5Cpqd/slu1o1bNPgWD8hjygpGkSMKHV7b0vdVyVPr5WY1nxWg1OFwtOEco1JQoShgr+xrm5Ck92BpgNN3vnEcPreUMEBQF079aoGU+c1HkHvo4O/Xh4qeH8sprVRmwLCgwYWGZ7rCE1whdY6lB5WwCrlDaKe+GYErH9nzY2nQ2Gee/ddbNZgJtvxcl5jaHpCS7tvH8br0g6xJ5h+G7x/w9DJ5lDBASBD87wGfgs8vbQhSX/kCg38o1VLpm2orvN7Phq/jp18KDTB5aceUUebTh0jECsSn8iEfRmWhgoOAM1H0iuUqKPKG8398VxBXg4dHABWDJ/6gECr9z/g/xvY/wMSR7zfnh0m2AAAABpmY1RMAAAAGwAAACcAAAAdAAAACQAAAA8ABABkAACQMqAdAAADhWZkQVQAAAAcaN7FmF1oHFUUx///u8nqdpFCHwStobRpNVp8qAgigtiHomaThvpQjClSEPTBB9102ypRWdQ0taUmLXlSFMWPhwpq2AbrB6QK+qI+CBLcxYRiqqJGUUp2mzkz9/iwXzOTzTbNx/TAebgzw8zvno//vXeIJvZ2Lr/R87w8gaQBwIob4kxfz23dWGNraXbzkqdDAJIE4IMThckgAlsUbjQ3eYdjtY8gAnCqo0/0dOSjgDONLqoq5605KYARADUn/plz9GVEZLFGF+M7Hn5EybQFUXUFYamZ/oe2fxUV3IK0vnp6JnHRFI9YaCWNlSaATl667o/XEKEtgJtNFA8ZxSZTqTWyDAej/dmdO90o4egfpHP5ja3KPKFB6YDmXtrdsRsRWzByiqMCJAnWu5OQmLEZXAWrwT05XrjLsexjpdZMtd5UR4+lbi0s9wODY4WUge0lMBs3PN7ffcuvVyYlqpy3HBaAAqLm5Kx68ReXC5bN5Ttdak6IPpd4qmT1y+Of/pC8IrhHz0z3uuDdAU0r69oLI3s2/7tcOFHsC0yYbC86icNLhuvO/bZOjB4VAv6oOeCPNyYvvL6SmnHJPxdMWDUzMD65aUlwraZ0UJRtlUj5nOmVSodDnBJwPlAqQMJ6sWNLgnMVB8uz8r/AjL3f1f7FSrttuOvmaQFGylmpOiHg3gNjhXsvCydgMhR6x6MeWi05mFM7KDC/CxnIjEuMZLNqmsOVU1j28qxOfZRqL6wW3Js9HRcd6nPh7Ljkjr/v/Hn/ZSJXj5pD/FUSDq62mLZ9t/UtgX4bbg5HMfT451Prm6W1Phvw+XMrkI5F9S5LKzRPC6i+xoAA13sl++xSIjdp1p1/Y62Wone7tn4jBqdrdVdPb3p/bmrbIjVXqTdq+twa7zocakbAYki24kJ9pVnkPv6+c8tna72Qf9i57YIDngjpHgTY0zs+vatRzTmuthxGRHZNsXVIgF9Cuod51eH7JiZagnCKkz+lbipEBffB3raSCw74olb17euLbY8F4Bh3BxGxnU1tfs8hvg7pK0R55P6zMxtqcNO72v+LfBdJqgMeEECDzcEN8GSg4TY9artn/Pw7hO4rHwe0uvsWGNw+8eCWvLmacNbGnhFgLrS0tboWJwCA134yM2V8p+vgrwcNjIOHntAzWk9DzPccAcSgDd5dG99A1cSCe4oH/geA/qt59cXVmAAAABpmY1RMAAAAHQAAACkAAAAOAAAABAAAABgABABkAADVd96AAAABxGZkQVQAAAAeaN7N1E1PE0EAxvE1mhg9Ga/GBF+KaSkB1AIK2k0LKqRo0VaBKm0VtLE06Dfo3XjxM8ClB8DOS/XEhS+gCQc7s7tdqx5IuOGhl47PgjUYE4+bmeR32jn8D7OPYfznFFl9qEhEe4nUVQmW4VUV3ou3hhZHqSMLVGw9J0K9gAK8BETvvv6wfVqLxiyxMjkiVR5hT+EZLO4H1wtaBKYrzRNzVLoZKtVjhD6BechRuV3e3DymRWSKWOUUtdRDRD6CGZiFDBG3tAhMkC9n7lJr7x4ip+E+PIAUtTcMXc4daq9MUFtNIiwBU4Do1jSzurUINLkzHGd2e4zZahxuA6IVot9oMzmjzN66yRwVRZwJsQM75rpzSovGCG9khhB4Da7DCNw44Nvk5DdEKF8V0RIXx//5eIX8ODnAG83LvKGuIiwCgzDMnM/pijrqRyDm7l1n7rJEynn8wH9dCDOnHEZgL/RBPwx4am7cl13mInR47ua8uaNy7c+FCx+/n73E3Z+ggggLQY+n5vo2OUkizMNzl0akFz3LZWz/Qhf/unoOgefhIgSgm7utIGkG/IqcwBvE3H37PXcq2dloZn3yntsv5ZpZTXufdM4AAAAaZmNUTAAAAB8AAAAvAAAADAAAAAEAAAAhAAQAZAAAQRf7KAAAAX9mZEFUAAAAIGjezZUxa1NhFIaf9yRIYiS4FUoIiv0BLpZ2M0OXZnITrLuT4GQXoUsWt44OTt261EFau3bqD2hLcLCF3CxO1UFK7809DrnJvUluO38vfHDPx7mH57x8nCNK9OL7ry2T9gxQdrLvdyfdp18IRNX5i/X9Qf3GRj0B5l6Ev6g9vPpKQFqA//so2RZqCzCpAJ9+OO10kpDgVQxWDqOWMeoLGkbuuuDb2eaTVwSmGecTTz5Laoydnrp+a175SICawi8dRmux0tdjYMc8c93Zvey2foYIbwC4a6R0NwbFQIyIJWLZbz1IegSqKkDzaPg2llYtc30yGo3003Dj2Z9Q4cX+oF5v0pfTnpvr59e11nM6SkKFt2qT7Ri1x8+E6Ulc70MEf3lw+Zgdt7Hzx9E/nDr5FkWQmvtVcbtaYbbmeT4Tl2zkPMfzuVwp5Amo4CW1C/FkWYqaOctCkZG+ET8iv2sBzIL4XMEyYC/5b7GZ6STj/hqljWTNGIr+A3aWb1YDMT8GAAAAGmZjVEwAAAAhAAAAMAAAACgAAAAAAAAACAAEAGQBAH8nJFcAAAQ9ZmRBVAAAACJo3s2ZT2gcVRzHv9/frKnrxnhvNGlpDq1BsGmwleAhoCht2pqqEBN6qJd6EUmJbaW0eGhSK1aM1oNFBS8eFgoJadeDnkoFT0XBxmyotrBpQYvRRpRk3sz8PMzs7OxmTTfJ/pkvPBbmzbx5n/f7895vlqiyrk1e2+i6iSyA5uh1Kke6X3riXLXfJ9UecMlNjHklkwdgmJBJ1ECJag525eKPXQ54kAAECglWiMQnO/Z33qgFQNUsoKq0xfrQEGIIGDDf5j194DRqpKpZIDNxfUCAZwQEoRD6q2MpT/Uc2PZHrQCqYoF0Opc0wBkDwG/h6v+curt4ATVUdSzQtPCWAdtFA5/P+z8x3H2429QSgOsd4MupbGvCdbIEUvmgFQBQXnq5//G9qLHWbQHHdc8omGI4eYUAxhIZQR20LoBPp6a7HBdDXmBKH4AQ4Pyr+7dm6wGw5iBWVS55GDekGBKGDAIY87atp1EnWWt9sHn7wKCSwwpAAXgAlIQnGHn9QOeVegGsyYU+SOeSi/hnLBq0hILA9MLDv11AHbUmgL+T/x6Fsl2gKKROAqpH3untdeoJsOo0emIq2wpFVoCizANg6tS+rftQZ63aAkuKdwVMie8ywYZFY4k3ggZoVQBvXp7daTwM+W7DEICefnx277bZRgBUnkZVuaQ8Z0AaAmED5u0NzigapIot8NqlG4MG6IlsVr4FqCfOv9A5H2uAV9K5pMHSWJlCZbo1dfszNFAVATC5eMyQbcyvvuYPbDpc77S56jTaN5VtbWIiyzBthhaY/Kqv40U0WPe1gDJx1g6Oyiz4v50gjiIGWhHg2czNXbbqoAAQLRQqFvSji3s6ZuMAICulTVv1fQPQwE+ZDgkD3qWxRhET/a8Fdl6+OeSQPSWFCoQ8OdG/+a9YAzydziVtOqNlCpXpxEO3PkeMVBZgodk5boFtYeBqfvV1+GqD0+Z902hHZu5RC+6MQCOZBxBg4ofdm/oRMy2zgKPOex6ZKjouQG1V9xhiqCKA1szcLkNvoLhQAagc/2XPltk4Akg0bRp64w5Ag6BIJ2ETv2uTM4qYKrRAy9e3D9rkU0WFit9O/vrclntxBfCDOJ1LJlswI4q24sDV6/MPPvYkeunE2gLSwrcN0CbUQuAqkBAdjvPkfQt8c6cNnjcDRTIsEf3V90RxS4quhX0ovZ7frRmem/yPTvl+K+iL3g8AlkbGUt6B8Pj3u9u/qxwgM/cFBIfK+Vb0m084SV2hr9j9lt1bugDL+nyYextUNl/ta/+zIheioFfLneUAuEFjsCcEu3HhxRrtK50UIYxMWKMALA9PQoBHHAs7AHxbEYB6+AmCTSvWBBGY6NeIEEZL6uRlLsbwHxtGYIrGKmQ/hzTZyoOY1huAuxFAVyUPeMGvG11JRiwQgSnvYgUYgQb3hzALFvVI9vmOXKUA/wHPJ3pHqnUMtAAAABpmY1RMAAAAIwAAABsAAAAoAAAAAAAAAAgABABkAAAH2SvHAAADw2ZkQVQAAAAkaN6t1n2IFHUcx/ExlbpQz8cyT82uy/OhujxFvRCpRDMtkkCs6zCCMEsKQ3ugUE+xIktFCPEBQzqT2Lyd55k9jBa74+jsfLrd2b19mN2d2yUpuL86Ag/uvn3GnTnX88R/vgPvf+fFb/jMMILAfF2WL8/4M9j1L6LSOpsjO7gt4WKw6/RwCPVfkq0qVqiz+VotbjxwByZ2HWaFiGgUTvX7CKfq7QjGp7BirWL0jXbc/I87sW2sUHugvew3MZK7IEaoNRghF+0oQrHO451jWTEjaO1uEaP0KzCgdAFgm4ueu/oiK6SqVysUMdqnATORj4bFiMo+9YBk/dgsWiQCAUoe2m/K16pZoSY1VvuTZA38LFkElIbQYPQQ+9RPybHW01KMmhBQctFfJKs3ELAms2JHpXj9MSAn0Q/IR89KsfdZoUOBfNkRKZ77Xo7TUXT8FmqFw+ExrNg3cmLPd3I3HQZ0BPnoCSnOO/X9aqJiv9zd9zWwA2gIVeIK+9R3KYmmPUqC9ind9CUgD+0/GIzPZYV2SsllnymJwc+BAaVGD/1Kjh8UmLc+aruSatuhJOljBJS+KKK9jSHmqW9VU29uU5P0IdoOzEU/cVE1uZUV2oipv6OmnC1qit5DPvqRkrQauafeoKYa31LT9DYgoOSjH6ipNbynwtQ3aXZfvZamBoBDqJaS2Kf+qmafeU2zaSOwTchDb2zWbd6pv2Rkl6/T7MFXgG1APvq6lv6Wfeov6Jm21XqG1moZWg/IQ//ZIGYnslrPapmGlXqWnge2Cq3x0HV6+l1WqA5TX6pnnTpgK9BKQEXUtp7jnnqNkd27yMjREkDL0BBqZHinXmUUZi4wcn1PAqtBtbdQkX3qlXru7BOGQ9UIKD1VRG/UcE+9wigsn2U6g3MAVSIXnQdsoZ47wD71h8yejulmD1UgoOSijxvO35Xn7XJWa4JR2DzJzNMUQEDJR2ebzhbmP818WVko74wDNgGVoFEhTLxTvy9U2DcmVKD7Q3kCSj46ucVZzXuq83/NFloK/wnAgFIJOgDULkeTzB57KnoYPYJmIjxe+zHDsavQXITl2gvR0+gZtFjP2vgw2HhlrqzQc/VFLJQ/5UKluehYD33QO2m5e1I8WqAElIASUHoUIwJKQAkozcd63XcUKPkfBqADdWpmKbBCejh2N3T8COiMm6hzG1pdgtZ46GIt+6kgmAXlbthw9AEXNW9Hp42AVpagC3xUd14Gdn0ObnjpXqDb6BHQiSXodA+dVYLiw9A/z8zd/NX7HzEvJHngoXNkAAAAGmZjVEwAAAAlAAAADgAAAAUAAAANAAAAKwAEAGQBAJ/K/NgAAABTZmRBVAAAACZo3mOQ2f74uvyOB7UMDf+ZGEgB4tsf/ZcEYuntD9NJ0igE1CQCxOLbH68iSSPv9sf/+YFYaPvjepI0cux4/I9r+5ON4jtfcJOiDwCu9COhqRjjzAAAABpmY1RMAAAAJwAAAA0AAAAFAAAAAAAAACsABABkAQAanuSfAAAAYGZkQVQAAAAoaN5jYNj2RIZhx5OvQPyfCYhZgJh9x+P/nDsfr2PACXY8ngvSgIyBmn8ANarg0fTkDromhp2Puxjwgu1PNqFpesGw+y4/AU3PFYAKz0I1PGbY+ciOgQAAAF9eSoCTwHWxAAAAGmZjVEwAAAApAAAAGgAAACMAAAABAAAACAAEAGQAACJuQm4AAAK1ZmRBVAAAACpo3u3VW0gUYRTA8cmNLqggGmSJYCYUCUKBoBTZBQJNIioqhCipEIokySCwixRZgd2IioouqGRsOLNz25nNaCkwNAV1173O7s6us0ZFPRRhkeTpTO7m4vPpqQ78nwa+H99whmEYwnltHcrr73J97WddkNpAl/sYpcPgoe0zEezHAOdeSob0sa5yPHRyJvSGG24lQ5qbIe0l6+7rYd3Qm4qwrveD3GAWGaTaPLXdnBteYK8QM8G+KeggGcLz/kyeG3krcSOgYiboxPCGg1ar1UIGddq8F602D7CcBxCEJPiMdVWQIQ+6goWPbN7v7TYvdCKWBAXO84R0nW/xPv4OIvcxBKEDIQTHOzlfARlyWQxsvMr74AaGINxNgA85TzPdOjuds1t4v+sS74dWLAne5n1Gm2M4nQxqEoP1p4UAnBX8cB6hJHid9+4mQxpUT3ajEPx4AqEm7EwCvMD7ewBgFhl0SNJu1otBaBCCcBwzwZNC4OcpIVBKhtTatBUHRG2iTtTgMDYNavdI17lGDjv2iCHYhwiCkAC/HFW9i8iQLVJ423YpDDulENRgJliL0H4h1EiGVNq1uZVSJFiN0FbMBHdNgaEj+IwMWitFmjbIEdiEIQhJcIccriZDSmU9t0zWP6+WdahAKAlWSZFu0gUoUaJtK+1RQBAQhDVT4MR6VSsmQ4rsetkye2yyGKESbFUCLJf1K3RXwa88X432LrHHoAhbjkgC/FSuGtlkTo4S27tQGYXFWL4Sgz+gotfR3cb5ISNDMcayFANyEJoGR4cYK9D9ntMc8ZY5qgHzsUzETHABQrmKsY7uNs9jhYwa/4aBBUsBn5KuMwLXTCQ1iyM+Pk/RC4gh4/FMiHHEzzHkoxhVePhkChRiHO/Smb8yanwzo4x1/H6NopHH/J9/Yn4ByYxYN7/uQDkAAAAaZmNUTAAAACsAAAAVAAAAHgAAAAUAAAAJAAQAZAEAs3ud4wAAAfBmZEFUAAAALGje7dRPSBRhGMfx8Q9pggUZFoqBEQgSgQSCZbSQXhQURA8S5GE7FJUHFfKgsHkxaS9FeglBUC97mNnZd+Yd96Kgl7IlaLfR3XF23d1xV7xIFyFEfXpGZmnxEjx63B98rx/emRdeQTjHvonhhe9iGM50SAY1MdyyLEVO1sQIfM1D16WfXhLo8UCxJOnrivQLghji4OB7IV/oKgmdkzbci34dfJiEaA5fkSJuEjglRyun5c3sF/8GzGF5+A/7C0jopBzzfpCj8FHehBnMwU/m/fojEjgqm3fGArE/7wIxmETY6+B48gXyjb9mhjoUMOAtouPYRCBq4wfvmX6LBA4o8U4324IX2BtmwDDiozbOjDES2OfTL/WyeLRfMeEZM8HGX2KDzEh5WLaChLYpiZEOJQ7dWC9m4wOIP1eMHhL4IGhWt6rbv11qAtqxHN6nxJfJl9PIk7NNPAnN6jY8xBz8qEtO3COBNTzZVM9Txw08BXcR/ocnPtOOCFB0TUuv3tDSUKel4DbCDr5/n2Wvk8ySoPW0fMmCSs2CKoRvOni9mnxFOyXfKhOWdiwMSrDLiF+xcZ6OCCtQSnwsLZcN5leKlWs7T+hPOt9tPIsKwYwonHta5lMeagrMqhUuZPaJufX49B8XVlhh/99fDnKESFU/MpsAAAAaZmNUTAAAAC0AAAALAAAADQAAABAAAAAIAAQAZAEA9UdUDgAAAThmZEFUAAAALmjefZBPK0RhFMZ/58wted+ZspYssFCWslBKFkpZsGEhn0EpCwsLyp+NBWXFN7DRlBQb38ByjJpYkJKbycJcZsY9FjNu103z1Ls4T7/zvKdHyOiqWO4tfNfvAsinfTFZC7Jw1Zp7X6J5j+HMyLXshgRa/APvn92OhsKyx4gwHEZ76WhsbqSiCWkmrzk9CEU1FCX13qrN3DZAkrx0fr8Uik60UsEBHiGCjYXF4bcEHj997H7Vxq4zTb53rVNKXYXnk9/AAKCaj9c/0f7srZ/Y6vHUVDNppPviqc9JXHaY92Y4wJnhseLl7MB8uoAgUtuKUB/9SaVe0++1bK0ByCRADaEmgjejJvFhODNUycKKUUobHyIvYdDc4R8p5FaAm/b8hMSLTA++01HXDz1smnZCfgAx7nr6AIqbTAAAABpmY1RMAAAALwAAAAYAAAAEAAAAFQAAAAcABABkAADHjO1dAAAAQGZkQVQAAAAwaN5jOL32cuzpdZf+o2CgGMOZtZeL0SVAYgyn115SAuIvCNVANlCMAQROr7lgeHrtxTlgDGSDxAAF5EHBroZQLgAAABpmY1RMAAAAMQAAAA8AAAAJAAAAFQAAAAUABABkAACeX6S1AAABHWZkQVQAAAAyaN6Nj0ErRGEYhZ/3u/d+N5ntWFpM2ZgNo252UhaSYiFlMT/BD7DzF+QPyMKsJKXLykZJjVm4UmpCMigsxuY2zL3zWhjCqJlnc+qczqkjAKoqld0oaCkZJzXP4jVfCnOFB7og1bDq1xvxPsjkn+xVIRLkSFvpVrAwctFRLm+fFxHdpDsVQdf7EreUX8y/A5hD1x04djxOHY/IuFwal2vjUBPDkxjqIsQICYwpshG76U1552wJQKb2bnMeaWTRfotiAattRbH6qf5vX63qrAAQ3o9ao8u+as6iWR8GrWrme6BjULFQkn/fraphvJYDMw1aBIKfsQF8dE3ohYO7AFgBmW87VzR1orfyF+HjMCRZaJwwM/T2AQyzafxz+v/6AAAAGmZjVEwAAAAzAAAAFgAAAA8AAAAVAAAABgAEAGQAAK3aH+QAAAHSZmRBVAAAADRo3q2Sv2uTURSGn3PviSVEu0h1cwhULEG0igHHDoI/0IBWQaEKXcRBSgfBRcg/UEUUXIMFhThUqSZxdq2KFQcbRDEZFFOhQ0oa/b7jkDb9Uqsl2hcul3Pv5TnvuedIoVDu6WssFkGG6NSCwawgLywMHqSH97+jC8mzqbcjHrnvMRTwBorhAdf59qVgd+I/9WHqXKq5Edh9Q3fURKiJ+219F8eCCHURGsjBH0iursHHmak3V/L5vP+r41tP55ISBLMKCQ+otdwq0K4ich65e+UCLg8N751ZFwxw40l50Etw1UNSzfoU2eWxrauQPyZsaMjFzOnUo3XBa5XNmmsMfkjGCI6qMOLN0u0ERBKYoRCqyNilzMDdDcFrNT79Pu1DuaZiZzxI27W1v8YUxscye253BV7R6HT5cAzuKezrBBseTJHR7Kndua7BAMcK5Z7e0E167GwLHGkwVt/iggM3TwzMuW7BxeP9S+Fi8vy8SK4mwvzyaC7via9hLIeZdO14tcPm0oc+TSpc6Ghqq4oj/w4Gdj7/kugNll4r1h8dSzWu/xcYYHvpc8Ybj9uuDWLGSTZDrlSdiJWqzXip0txWrE6wqcpX4uQr8ZXwF/buq2nt8Lx5AAAAGmZjVEwAAAA1AAAAGQAAABkAAAAVAAAABQAEAGQAAFT/qnAAAAKNZmRBVAAAADZo3q2UT0iUURTFz3nvUxOFKKyFRgvD0PzXTDLYrhZhRFJqDrWwRUHQosIoajm7Ni3KJLdmYDAFkxgTQUTQpiIxLbUU0ijaJIHZ92b8M99tMc44M/ZHne/AXbzN+3HPvecSAESEL/uGfVpQqGPqO3MWpr1HvN/gkhgOT+TlRqOPNbFfC6ABaAg0MCPAMMEX4sR6fcd2j6wbEgqNtmk4PfHPk4B4yfKbwAAht/IXrXuV/sr5tUCUDdlqSBgSBhnF5YqCe+bBbtuKTb4JDZ0NBoN61ZB5JydkQDv+KZAOxAqgTRYbUbdLrIrXrx68q1uVXQDQ0TfiyaU6p0RKtWCLBrZroPBv1iVtJaLKkZP7mmvu/xeSqUBA1DbPaCmgDmqRNg34/gF0LPDCgabKzjVBMtUV+uiz6FzWkBYN8A9A0ZD2xqbqm+uGJNTZP7ZXO+jSIrXLtiW7EktwqqWpsjsrCAB0hCfynIXFuxpojXeSOifYuQ69x5srxtO2a62Q84fK5ornyk/Yoroz19yQBbNK7gQCorKCAIDfz1j07c7ThuhNzxZgyPoiz5g/K7tSdenJUEHeXP6ghpQlZxNfhFEzWF4dCNBZdycJXW+otW3yTFpwSRiqXdrz4WhWdqXqRmPZ8wj5bMVporriGgQAZqmu2SBsEDaT58nX/nCs2jVIz+EdTw04mOgiAYzonHrXIABgk/0Z6wwD1ACA5RYkQgxr4VL6GQ8nWeUuRPG9coi0cyNSlXVOUtUaFP2pYOqXBjak3rSY6M2uQQCgIjz1VQMlKZ3A0SxWbkIMOJlxYn6iaHraVUgEuGrImaXtWjTExYG6ugVX7QKAjY8+b4KGVytr/EdDyRcA+A3D0hL1rKSxAAAAABpmY1RMAAAANwAAABkAAAAiAAAAFQAAAAUABABkAACrOn62AAADL2ZkQVQAAAA4aN6t1llIVFEcx3FLWqAeCgLDoEXKAsnQ9oVWi6IgKgwLRSEKFNswKorKQikyipKixcwsra7jXeYu0+KWWWpOonM9M+M4zThD9dJLkNBLzb+fmS2itHgOfGFA8MOZ//9eJiwMh4iGVMlsfq3UuqrBYsbWKc2RYTyPYXSMsIltVY+kNqqQTKpGtaJJz0XzQ4PoqG0SzdyXlpaYQSHlkjNFAmBFOnqIngCqQk+B1aF60UFNosNuF1tTmcCG/zNSKrGsBzIjC5Ik1j8m/cReio63dqk1XRCE8L9GCss9UcWys6sEyH1UhkRgChAN2dBjVAmoBj0D9qIHe9VoMef8NVSgsLhC2VV4W3HW3JUZuyezjwKwcmAyABUZqJ+5fWoUHYn/NafsbBp6R2FT7yssE1jjH7AvdZIjc9AbWCKxeZhbGeYWGmBJQpjbXi7rXiq6FuJ2Lf3PzQxVSo40LtAlPFdYEmGAJemqEF3RXCBBoPAimd3CkhCWhH5bEtms754pF6j7HxXKrKRIdtIdVAqo93kTxbYkbq+k4keto65LTs9NIH0wxu023Sdfci2/orjoGoACdAvh4aYSxdzM9SV7QXFVXgJ0GV0FcKMHa+SK5MmehHOKm4DRD+zb7VwzuUI5iqv5DKA8dB7AxR5sJ1fkhLX95ClrO+UC+QXL54octnq2HAVyHJ1EOVY3nba6q7kiexX39ANWDx0CcAQdQ9nW9vdckUS8Bfaonk/7Af2KHdYcY7lCu9SOtxlqB+1WPbQPUBY6qLj5/ihJU73vdgABRukoE1gmTySt2j9yu+b9nKJ6CRh9x0IZAhvNDdmk+mZt0V7TVs1L21AyoFTVG+T6Va3VfMkbgGxEm1EioCTNa+OKJBi+vDW6j9ZpPurFcLuz3IDZdvuwJbo/sAzISrQa4Wa0HrfjhsTbAslzdT8tQIvRUiArdN8XgJO4AJOxVTFGp3+W0UnxqBdbpPslbreYogdSphkBmgEAGMWiODTHCCzmhkx4GMyaaAvQFEBT0XQUo3dqXLcqQgtEjbcFuybYgvQd64rS30SH8T5jjM64cbZgQQSKxOe+f/8KwVMMQUzpBO4AAAAaZmNUTAAAADkAAAAZAAAAKQAAABUAAAAFAAQAZAAAmL3pFAAAA+1mZEFUAAAAOmjerddrbFNlHMfx6jKQiC5DvOEUMycacUNAmQuKI6BGYzQi4I0Fb4iYEYKXKF5ivRAFJBIVvOEmOHAetnO/tCIdDpAVq1l7+uy0Xdv17AzemBiMBF4o+/sbQ6yAyVifk3xfrp895/88zzqfDw8RnRWSWXVIis5qb7GrdiuJcT6ej2l2j9TFeMiS4vQd2iHZtBPtFu2DP4qx9rBor9zX0jmxIESQuupEiZECQEeDmH0C2yXaBIzCYiwSEaMLmcBGnDGyVWLPfyszakESABUZKIC2AwmhH8RjK6O9wPaJsf0RKbpEEISiISMNranyJpkd+gaIgFqxKhmAhkwURN8DakPtgPagDmA/ibGfwy32jUOGNips8ibZafhaYTu3yowB+2OI2JGIGJs3rDn5/XS2oLAKVI95hf87r/jJ8zoalmL1Be9AQWLTRJFtw7z6T5nX4E7s75Ciy7hsd0F0arA5Ov9nc/TvkWKPcTtXrTLGdvp5Hdoldk7gsyKBirDlG089X8Bkey9hplyggc3RLLMt27DtT8aCYvwhblfS5mD0XBzm1GkOM/PzWs3A0yg5tU1yF504zPLg+dJFew7XS7ZBcnZsAoSbg/JujjBX5HO5a/ZGII1oM9oCpPkY5lRyhTYozi+fAcjHmpT4Iq7IOtV582PFoU8QVkZfoq8k9hFXZK3qPPABgA/RevQp+kLuauOKvK0krlmlJOh9lIf9yhUZuAXeURJH3gWyGq0Fsg5t0GOlXKE31OT+t9QErQTyHlqDVvH+UrJCSx54TU0SMPoH44r423rOeUFN/fUSgFfQ68ivJvv9AhvNDVmqJSct01L0nJqiF9HLQF5Vk71cX9VivXvBEq2b6gH9iyUtrsjjemrNU0AWo2fRUkDLldRqbsDTkUjxAi3tLtTS9ASAReiZgVVhddyQuVrm0fl6mh5GwOg4dvRJIzue21/Ie/UMu1/P0Fz0IKBHUJ2Wlrit4k4jW3eXnqV7ANyH5qB5aL6Zns4FqDW7y2qN7G+zjCzdgfKwEBdg6vZMyc1GT3i60UMz0EwgsxFWRncb2RkFA5W6WzrJzHVMMXN0EwBgdAu6DQCw5oKBci1zxQTTjV8HoBLdgKYCmIZqjJxXE/DGDPvDK/DN8TLLXTHedH8vN126Gl0LYCKqQpPN3OEpevbW4f/6+J/yAssNXWT10qWozHIJGOVhh6833NsLekWjDK/6fMujUgBj0cVoHLoc2JWme/AqPTez4DkUB73qUQGPRgMqQWMAXIgusXq9Msur4nPi8LqKAn2hEYCOY3+WWH3rz9MOjOV6y/oweF+gr6442Ld8ZMCrOJMf/RuAQ7maj2/maQAAABpmY1RMAAAAOwAAABkAAAArAAAAFQAAAAUABABkAADdrYtsAAAEPmZkQVQAAAA8aN6tl01oXFUUx//nnjdNUlMkgl2EGtqhak2aSWvbMYW6iAjmo9Km1QErqVAholJEQQKCMAvBjS7EqktThYijJq2RaWnVVLPQSkQz6aS0oYSQGBctxZSkybyPe1y8eW8+Mm2TybvwmDswc3/vfP3vOQQAIkLnTo9HQ2JXG466rkKhG/sObJtFQIuSyYkKZylzhgktDIAhYAAsmGNQSkGGWTt90ed2pMuGJAbGuwzIF/7h/uPDvP2fDPm4yja+aog1mKuBKBuy0SLAIoIF5D3Z7+TtaZcF6l0wnMmRgdFXE4kErxiypEMDFrDgHki5w30QuaAcrNYW+nSLse2Pi9+O7V6RuwDg5On0Tog6bpAOs+BBBupYUF3owrx9zoVLDBzdfSjyzT0hxSseF1W/czysgFbW0sVAtHSsAIZog/DGns7IiVVBitfAQDpKIm8z4TADVAImTPrN5s6mj8qGeKu///JeJuczBppKuFAMkmN7OyO9a4IAQDI5UWGamS+V4PllLtRYUOQ8/uShHVcLsmu1kPb2hzOm2fCCBepdloUK99mKT0pc1JogABCLkTM2Wv+yTdS3LOUFzT9F0rE1Q9wMJH27yu42gYnCQibYhHfjedaotQjf0WeaFizo7hKFXP9E5NLBQCAA0NXZeMES9bMvQR6MqCcwCADYJO/7wc/CTKLoqVOpxsAgxw7W/2gBfxUIK4AMqebAIABgKRosTmlbUwQAjKAgJpAyiKABaBH3k2h7oJCM0CWBf7gH2l6WrNxpJRLCUxVX5hlSmX/DClsPBBaTWIwcC7hZkGUAHGddVWDuygaftAi0ABpufNYFmV3xoclKS7AxW4ieJaIyzq3ALLk1bz4aAlgDueBDZl6PNcwHBnFINcJL3WyWOaB0oClsQZo0Za0QNx5K9FhgFd89MhKyhGIFLRQAG5wKzJLb/9bEDEid5yYNgibRJvNwIJbE46IckndyzZ+vX99/0hGeCsSSv/dMvshC9QyBplw8ROODsruV/NWWnNiktEoxUFPUuQz17d/6lPe7si15+vy1+02TvmNCjVvhuXgIOfH835YF2ffDVM2iqc8wENWem5BVXqKv+zse+XVNkF2D1+oWoZMMNPiZlJP4GYdDrxX/Z+WQhPBjG6ZeWRK8x0BNweXkiuGiI3Lkl9aHbq66Ta0dnF3PbL+kIG8ZwNZlPTAAFllUkAMXO8LnV9ZwJ6arqtc7m1mpCBNaGXKYQRv8w2XZyDenNDpH928euvvocHb6CEA9BIQZecOPlBiA3Df39v8octqvtIVTdx+Czk5HAfotv/pV/psKSk1bwoTPqyyj5+qztTfu5XIDQEuxvPh3gqtBWWUFNEg05BxExWfbNv2+0pwxQJSG3OGOyGXOfxqSEI0Tcx11Y6ue492YzHwI4DiAUFbfrgO4DGAMIsOotJNo2bJUrjr8DzgKCvJ3CR9TAAAAGmZjVEwAAAA9AAAAIgAAACsAAAAMAAAABQAEAGQAAHrt1WoAAAS9ZmRBVAAAAD5o3r2Yb2iVZRjGf/f9nunmZrbAPoiKDu2Pc5t/h4J+MKJsM3SaByxUMDCKIgoi6NP5EAQRQWT1yVADo1M2TZuW2aQRWExkm1NKzcbUCEUU57Zz3vM+dx/On51zXDVl573h4cB77ufl4rru+3qf5xbGGGYmJw90Nzqjygv0qpT51xatXXSFcQoZS1Jb27mJ1cODhxVZpYV/3TToFqTDXLC38ZkFvSUFcry1Z7MaexRQjPTvqJtPCvZhRSryeW20Nnk3QHQsSUl40BfwBXwkt1KAK0xdbMiuwUhwsbO168V4PO6NLxBnrT5y20fIASoABQFgI1ummcnHsyOP/PrLVz1Lxk0agAMHehdGAveKitZ42FTBZipUKaBGTq586TIxLLBlyfr6L8cFSHHEYqbLFp6p8VywWpDNCo2FoApqySG8urSlfse4AymOI629jWrBG57IBgUZhSUTsdcaWxo+KCmQbBz+unu5J/KJQkMOyAhLJsK25S31u0oOJOs7kkx8psbGfInUQI3bSLBo5foFv99119xtNDXNTdxKntnkw678zvIFfKUyUG+3xUxLDgQgGo0GnV21z6dgr0+h//jGsmP1vdGSS5Mfe77rqqwajJxSbO5I8YLCmRNdtXWxmLiSMpKNLU823E7gtvuSJ1F6zVtSf3pdyaXJj00tdcd948e0IwtZUCmRN0MFAuCLvFPAiEBKpHH//rN1oQLZum7eDz6cSn8s0x9MH0hIsCxUIAAp7GAqVyMZeZzUA0TCBJJQ7Y4YqI2YXCAyP3Qggclpw1CRPLe1+aH4SH7E4+b1T/xtQLHyfE8Rz38g1BqJRiXw4XqB7QNBMKEiVGkAfEXUZdlIS5QIW5pY+8Vydys5oODlzimGJRPBfaEyMjSQfHgERIYR4VIsWjsQKhDfaZ2KFR8le0Nv36RnDZ5lT2zp+hBzPaE66/bOzrKUSbTgSgKk8LpDZST115SowMz8blHB4XkdoTESi5kmRd4q9g8fvvmouaYvNEZ6l55/Tk3mqWRtPc0IjvdCOyqubzs33TntVqgu6pb2vWvmPJbNKykjjx+9MGU4IfsEqy7wDsCTIJafWzIgKw71VbtkcDgpNCqSadk0GyLyxcHmh34qOZAVBy/MNFybj9TmpJAcG5fwyl4q3hMBmHKor8Y8b60K1264oThNcxP3AmBj3Lw/Jve9kHD2tuRqQvLvwEOe8eyx1TOu33HlLGu7vFDVdShUZu6o59Xs/cogsvvK09MGxwJg8cErkwa9xFZFXleYk3foyb/HDCm29ufmmqOjX8KP9O9UZFvxKEGNW4rsE3NHIs51Vwx6f16KzhgCmB7vr/AmBbOcar1ntlqFDQqT73jHyLopjpaTa2a1//tY4kj/TpBt2V6+Y+BSMF5gIPO8SotzjVEAGAqXRVzT6adquv97dOV0B8IQmdFTUHTKLhxVUeUjVUXumMnLrtxz89FP/WDCgv8DMWJoh/vrEX0X7IlikxsDS8VymMD3YkHsctPsE/c23vy2vw6VlxGiwP2jTf5GqaVse95QI17m2PF384ye8Zmztl8sZzjShMhKoA54FJgKlGU2+QpXFc4qrkdNOobKU22smj18r97zD55t9cK/Y9FxAAAAGmZjVEwAAAA/AAAAKAAAACoAAAAFAAAABgAEAGQAABkw4gcAAAUQZmRBVAAAAEBo3s3Ye0yVdRzH8ccbitc0BS+EhCh5AWaa6PA6pcuareFMVzKrpYU6rbTbWo1yrmY1ui1npdSapUd5nnN4riiCl0oOUIPznEeQA+f2HPynDZk43Fzy7fPAOXm42JDg8Py293Z2+D0Pr/34nd+eA8P8z+GSXCMr2OqSCtZBXWouZx0XKlj1QPmpqvnMYI2yAjW7vDuupyor2eqtmkWLiijwYoG69zdWpUtAlKFeYBsrueoci8UyLCLA4gJH4jlOvXEByIvIwP7eO+wf9lPq4oggz9i0hWdZ9WgJp54DVjvPqi29xN6sZB0bI74vc3NpaKlNSyrlHLuAtXfF2jsjb1dgHjOY4yynLTnHOk4C22Zgf+2ObSvnqvcwgz2KWccybIOqUk6l88E9G4YF0vH8oCMlnJunrU5LMZDAUidsgXrDzlbNGXSkccTInDO/iHPSaQA7Ya3qJcIeHnSk8UHiOecxEUhgKRxbzDo3M2YYRUXVYzjOWVcInIBCWIVzarlmWEVjnOTU1QWcRhyyAmdgeQPMqlmMWcYJTjtrsWp0EoVh7aYB/mi9vO4YcD+j4yiEtVprUkyD/MF6+U9A6ScUwp6wObeZBvitVfvge+COImCpHctpX5kGeKiwZsMhWw0dBuw7FMSWmgb4ua02+UsAv0bfoCD2L9MALRYa9pmt5mYeYF+gEJYx0/jYVtt40FZLnyJgKc9swP187dUDwH2EgCUDaxpcbqln1PuFV/7OLbxCH6L9hbUEbJtpgG/xV9LeAexd9B4CloD1mwb4us215Y3COnoTvQ1cECubBrhbqPvkVb6OXgNwL9pnYG11B02B215ZOSKHd/l28i7aBeRutAcZq9oxg2hIquhJX4SM15EGvsi7nnsJuO3oZQQs7eBdt3eK7plMEr4jzJO9JfMlL6WgNLw23ovkk3W2UK9t5evpBcCAJQO7jXdx7ROSRF/2bMlHc9BDAM5DC0TPK5ECbhZd2ZuFenoWbQEyGxnYrbb6jPYJMyXvvgTgHkSzUBDblCQF4gYalyW54jYIDU2INgK4CQWxJf9Omi55F86Q/RQn+ygehbBYWXvimYYJA4Vbh3s/KTTY1wP3FHoaZSED+4xYt7LT5Cmy/5dYIKehcCxWtyxe8E3sb9xy3DNTdJc9KrrpccFNTwAFLBnY9aL7eLcLxiv6pEmyX58MXAwKYae3Y/1OrGR8v+H4hvhVgse5Grg1aC1ah4JY/TFYerxwnOJfMUHWWyfKOgFLXbBNwO5g8EjUV9hGXPuI4N2RLnqalokeykDL0Uq0qgPbulZwr/jPm4wp8mWOBXIckMBSOHZKB9Y1VfLnTOevju4tbBHmpkqenDTJ61qIE+JhtBioJQhYCmJbM0R3Zq9uOEoJrIlW9ObRik7AUgh7Xyes7zpWNz9W8m+aJnjnxln06ND1xuuZeG8WfjZb9OUnS77rc0PHV+isRWHY5nTBu+ae/hxRsp46vCgQGAnkKGRgx/SAvf/OytJU2d+CbdCCPUsPtH/AOk6ERONECB5fyeFnbQc2sEB2p/Zt0/BXJw9V9CPDlEDbCCVAUfeGbf+Azbg7ti1Z8h+Zg9/RD/8vCyxllEZlCKDA0t2w43vAxnTHtsVLPiVB8izt/5NV1FMYOXCYUQLXgKWu2OgesBNDWMV/LUbWD8ca9xjwgUdzRtazAM1DxcA2Antr+B3sLWAbgS0eq/jzAM1KMK7p4/gHhfht8rs3/k0AAAAaZmNUTAAAAEEAAAArAAAAKQAAAAIAAAAHAAQAZAAAz3myWAAABXlmZEFUAAAAQmjezZhtTJVlGMf///s5xwAxZFM+kJKedL4Qh0wF23JFs0zAEp3HmlqrNluu1mpzbs4P50Nf2lxby16/qLWsKCIlEULFjbVpUY5DUFMZAidaL5NShMPzdvXhwHl5eBEQOefant3bc5499++5z/++7uv6E1MYP1Y07wTl43E8+hMh76Sars9yfbn6eN+vphJWB7JMADYAGfvRlQIe7nNZ7Y2VTS+Vl5dr0w5rQyoN4Q0DhAHCBGCNDZ4twvcWupb+cP6r5lU3ez8xxVF3rGWFZtmvaISHgrkEchSQTgjU4ISjrFCIwDOrNnu/nDZYZ/j9oh5a0erRbOtxCncSKFCQCDTjIWwQr64u8x5MCKwzTle2FGhi7VHgFgUwDB0HL0J5raAs/+2Eww7Fqa8DD2jk+wTylSAGVqAAUcTzBWXew0kBCwDV1ZfumKEPfEKRrRFYiYw33LTuL9x838Xbkg0mGsXFiweu6q1PG+DhcAYBDA5eCjND0I6IX1RSwAKAz+ezzjXlvqADR4dSXgz4mtPeFl9SyCA2amubZob6tAsEFsemOAKt55py8/x+2ipZYNevz7+hQ3ZFVjV6LV/l/WVTUsggNraW5Z01gTMGCZNDpyBhknuTSgZD8ek3resAqXNIAW4or0o22O2blp8ywAtxGw3AAK01SQcbrt6kKqrZMLRu0+tKRlhLqYAtACWm+CHvdQHArqrutD7071GQZZqg/tDGez4CKQmDNdEsGkAyplKTXAUAPew7alL8BrFNV/hgx4m2/Ylc2SxzaZsBhOJTGOeqrXVtGSb4hEPQOxJ7qtEywKvOTeYa6HPPtDWD0eUmCMxKtG4NBdIeSl1hOahrd16/ZoDiODmyHq5vT0kUqL++PcUUZhlktLABRJ0tyu3ViWD4JsMXqKX3ypJEwfb36kt0QItNXQYZVABggi1xYiYwQOQlTAK2ynPq1QBaVDgJs3lYeaaQnyhYU5N856FgCJsVABhiBxxpAobQt7Kx0T3doLsaG92G0BenVwImGFAAIESDQdpRzQIGkOP+a45v2lf1jwyfAeTErSpoD7i0BgUAF0o8HSZwPKrZMLQO7ENMWzEdbbtF7huhpj3+bomnIwJigAdGKnzzV3duny7Y31Zf3q4Dy8OpirFFzIFh9aznZMcZJShytMU9Lri8geJ5wdsJurn60jzaKkAg0+He1B8tXfTIsE7BsOkfttHAzJBYFZ66tozbBbquri1Dt1WFDmQ6tAqTtn/UhjG7pvNzCrZFXBIZsnjkvGlzQ2fp3T1TCVrybUemTuukAgrDnkHUnQH5RVWJ56lRW/FecLcBBGNOjnDqIAup0OCpasuZKtAHq9pyemE3GEBh1DOInKJBXXPvvqkjk1nTuVYJagmkOnshBfQQ2N91ff6H8NGaVGNYLlpnWseLpLyhgEzHHgGBfiVYf7rU0zAu+yijtuNR2OqYAlKdduXgeJmCt8RyHenemN03HsiVVd1phjbwrAJfV8CiuE4gOvYD8uT3JZ66CRlz6TXBIohUEsiIqdgdL5frCqyAoMZt2wGrT7sS9M3vB4B55V2pqWnWAirlhcjjirJFAbMccIN7Q0DgP01Ydr50Qf2kLM8ZJ7u8SqFaCe6KmGbD/zbn2Dv4e3q8Qxj3kc77v7toF/+8wRO4NTO5qnuO2229SeC5iKcqN508MkY+bGRw0SCHLGvG3osbs/8ZC2NiJkd1cI2m6CfkMQWJdhcjQoy66kMfJkrwHWD7rxQvPDee6SfnyJzoylOKL5PwEZg9DG6sVSf+pbAcNg7+WTK/eSLT3pp9VN+egpCrWJFrBcjTgGUE5iqIexDOoOBvDfgVlGYlbJidYlZfKVoYmsx0/wMN5mfvJKM07gAAABpmY1RMAAAAQwAAACsAAAAMAAAAAgAAAA8ABABkAACqQq/DAAABy2ZkQVQAAABEaN7Flb9rFEEYhp939k7QQhC0sbQwel4uihYRIRCIpL0IHng2VmlFUayELQOp7O1EkUsTibExqKUIGjgTA0YL/4FgYSB7s7ufxW72stff3QvDwvxgHmaeb1YMZHl1px1IjwU4s+X7zYuvGGI6nU5wslp7LrjnMAQ4yL7G55lu/YZCpeR9RZbe/Jwx0o8OXL4odamuP1yY+DJM4DA0d3Vq+0UA7T6s4QBMd+Zu1V+T9xcLIuyZF84LPODBRYHNMuSEodJjJ5JFD7v5vniER8TiaRiaK8FGV3abXlw+nOQlvCDGthlB5uen9nvYYrY/R1vtWmOrWYKNxaOBSXjc1+TbhXeMKLcXJj/F8MFLxMpPFhFLTwpnH6zvTFoSdAuxD51JdXOpeX6DEebl6o85sPdlFqjiGg4gSqvTXlC0zJnNUYMC3G3WNjzaLHTMbzlSMu0APNboD2a+xs7WGFN62NpgofVSNSoZLPXBY3epuuOCTZzrpgYy6/NI9UpWXLokK/taCYLv44KNTFsBhqQjPwiru/bbP6d6cKbsrA7+7p/7PS7Ys9HELw8HpZdJOu3+JTpe8hXwYm+lpWRcsK2WEo/2BovsP/LZyUqNvyewAAAAGmZjVEwAAABFAAAADQAAAAwAAAAFAAAACAAEAGQAABBMi7MAAAFBZmRBVAAAAEZo3n2STSuEURiGr/vxamws/QKbySTEwlYWVlNGGSULRWyUhY2NmrK0kI+yQ8LGYhpZSfIPSIMiSxtsKd5557GYDzMac+p06vRc57rPeY5oMtxdF9l8CmPMnHeCaG042fui/4Cz7G2/S9vmGhRggOA5isUSDaGT3N24OQdy2gynBqIFHwr+Ake5u4XQ2TAwCQyVIAfhFGSvddBe7n4xdNYFKp3sVYMJQFsTo4n7aryd04dpK/qugWrjlNe8ebQ0leo+p7zPZvap06xwDbRXi90rsXJR8Dk5nxz4rAiCTMbt2x4PDdrrDBJy9jvC+Gw6paj2Gtba95gO8cEQ8TuhII7fbuIz6XQ9ABAUxErV4BWTnoqxr7lMRsVGLQlC6BIqFQsMR/K55ZGej/8aH4T1r4Shy9Vk/KrZ9/oBXY1omw5NKvUAAAAaZmNUTAAAAEcAAAAgAAAAKQAAAAsAAAAFAAQAZAAAZJZ0ogAABJ5mZEFUAAAASGjexVhdbFRVEP6+ubtY/mxqJCYVGmwEhA1bfrdoNBpDFIuEtOBNwKiJJBBJfNCEF+PDPpj4QGJCJDH6QEpIUBZL25QAK5ImEuVHLG1xG40U+an1AUJCKOz2nnvv+LA/7K5tLbRcJzm5D+ec+31nZs6cmSHGKV3tXdVqwo97lj8LACxPrjNsbixbv2wQExCONnH22+4Ixdqs0BcIRAFUjrL0lgK9BE+q7+2PbVySemACqURqyo2QbhLo+wIsJxSSWyTj/+cvhH4+1Q19HbEjzrgIJBIJqyq8cCugHwtYnQekooiAFohwLNXdk0FSP7lkfv/Ktm1vVALt7RdWiI8vBVxWDFAO+F+ExnIf3+e2+o2Lz41IoKUtlaaiYkTAwlchwBCBqwJcz5GZRaBGgBnjMFWGwNsrmqIHyydCBqggAQGzP9ACIAicJbgvLDz20/lFl+Jx+sWb43GVF5f21Vq+t4bKtwjERjFVhQLf/Nza+8TKxujuEg3sa+vTshMogRYodtqNkbP349EnWlMxS70dAm4QgCOYSpX6QayxbleBwJ62Pi0sIHtCHt7b3LTw1ETu9veHep+1yC8I1GU1WmJKFeLdWGO0GQDEADAAjKI9LXeemyg4AKxuip5KP1JR75IHDYHCAGFAOj53nznUPT9LgIQBmx81CzdsW7fiLiZJGhrmDd90+jYZsDkLXEREMD0Da6/GVcQl9l/vfmaLbdPDJItt297pnsgWB9ifOz2KyKw6EU3Z3Jnsmb7j1bo7eIiSTPZMz9y1zhOYV3bN+4iA5GDrhZcE0vkAEXXy5EBr6gSJl/PxRu7vjZm4uOSnBoBb5JCBagAAmtv6ugRYmg9SEjQBB9pRiD0gQkET8ER6fQWo2dMHTmBY+asFBcngnRAAqocXXDRAJm+GwAnYNj0D3sxHxcBNAABGQPrjyqYmX+Kdf1bgtjMEwPpfnDA95CywACsfjgMnYHxZ7FMLiW3gBFxL63w//yIy2Fuw9dy5sFHahiy8BYFqwP270vazqTyIgANRPK7ikR8VMqLcCEwDv628+CaVi0hAlIWkRKJHBmY/bPCmI3/MNiq7/pWcEp2SUa+l9nh/5cMCX328v9LxpcUBqvJPcH649ONiiBiMlaw5fKVqssHXHr5SRYdJQ8bKbe+QBxJr5/8ghoBL1lNwsrajv2aywJ/v6K8Zgn/SAPX31E7k6pABxwpvz1VGOZWQEScU7p5z9Op2JNR6UOA3EmrVH7683RXpNkSkpBbIjrQBNifXzLkJAHzs6FUdoSS/SMVn6oX2Dq6rHle1tLxjcJqxht8R8EMBns5nPGX/TQO6/se1tccLxenMo9d09KaE3hawBYpjYd/v9e5alwfsOWkAmJ24NnXqNG8uRaJQXSPUDQLMHLHHoAoCtyxl45nX53aWlOcVyWsDoniytPtR0iMo/w7l5meUVr5jdlf+CtFv6Hqttrdcc5JxrCUG2GMIvVfFll6XYu81wIzsyDqUm4vrbm7eze11s3vVA/ZkvClLRgIv7ZIdGVhlCeOEviJQFiKVjtqyGev0KorvAD9+ueGp02P5zj9F+PJVVhzSogAAABpmY1RMAAAASQAAAA0AAAAJAAAAGAAAAAUABABkAAAnmz+BAAAAvWZkQVQAAABKaN5jOLPhovn///8ZGUgBp9dd+n963cV9t7fdZidRExCvvRxLtKZTUE1n1l4uRpc7tuqC9Jl1lyecWXdpyal1l4Pg3ji67vL/42svfTm99pISsgaQc4GG3YG7BIiBFhw/u/6SMcOBdZfnHVxz1RDdluPrLzsga0DC33E6+9CGq1rHgIqOA/FJiC1wjXj9e2j95UmHgM4/AsRgbwA1nCCkCQT2rr/stn/95csH1l/+DzLgMBADAOTpoMvneFgUAAAAGmZjVEwAAABLAAAADQAAAAwAAAAeAAAACAAEAGQBAGnzyCEAAAB4ZmRBVAAAAExo3u3OoQ3CUACE4f+uzENQtaQz4NiDKVAsQepKXRMGAE1SdgHxDlH/cCh+fV9y8O/H6dvgennsm+ggwCXH7W59rqJpmNuQm8EiGIqcblVDb6Uj2IAQBqvoVEWvktkyJghYMJvqvSTqx+e9gVaAs8APAjUhlh67PNsAAAAaZmNUTAAAAE0AAAATAAAAHAAAABsAAAARAAQAZAEAxHV91wAAAgZmZEFUAAAATmje7ZQ9aJNRFIaf935plUgt2bVoKREsouLP5KI4tKbiH1bQwa0FR0dxCOIiOrjo6CgqOLSVOhQJKA5CcYhIK1okpeomiNGafF/ucciPSe3fl7kHLme55+U57zn3wkZsxLKhdorMTPfHZkfkdFRmM879uj168uDvRDtid8dnriPdcGYIcD65HzjdFtmtsdkPgrQDhOHASqXOVFtkoaNLHqpiwoG0KdwSmyyb+7yZn+UiEDTIDAtLla2xyRaL5V0BBKKJTCxkh/uLscVC7/Z41YynnnkPEFssCmyv99REVM3GO2qk646R6emO0DQcSoSicSKUj00Wfese9tDTNEUEPkoEr2KRZbPmKtK1EBFC8xm/l+ktxCKbPfTpkky7JXCmuvHguRPrbZ6d/LhN3uUFqdrG18VyD4f6jtXvrUl2fGquu1ziqSC1xCsCVbLNd1cVyzwrpMrlyvNQHJa17BVIjycy6ZfrEjsyMddTxE8K+h0gtezVggUdV5bW/Cd2/okF88nCaCS76SH1r62GV4sOLr4Y2P59xc/xwMTXZBiULjt01UGfrMXoel4EO/U60zu17E+bnpy/gNmAk51z0LWkuNaWIfgRmM68GdqRW8maRBl75NQ6pWajBTjpS0L+xPTgzvxqA3P1dxbVNrqaRYQIkVXgwZ9K5763g735tdboL3R+tcS6Adb4AAAAGmZjVEwAAABPAAAAKAAAACkAAAADAAAABwAEAGQBAFnJ6ywAAAUEZmRBVAAAAFBo3s2YW2xUVRiF1/rPmdISSJ0IPFSug1EotIRbig8kNlGRUmILMgZMVKKBKBCjkfiCySSaGKPBeEkML6KihgypTa29IEo1jREJiLYpJC0FWgaMYqiGXpieOef3YWbOXCvl0nZWcjInM3Nyvqz97/3vvYibUEewI6/P1M2A7hLocgFAADLSA8qnVm4sOYDbkDmaPwWDQcPrWbjtD9h7BCwiAFEiAajIBktgBm5TNwSsq2tfYTjYZ4HLiCiUQEEiAZUGG/0OAwKtHVPAQ3UdmyKKzxxofrJDArr3hEKisP0C9BK8QsU5U+WDsscXnbtdQI70wxd1HTtF8R4BkTiMZgzncQEPiKD52Knic4EAHdxhZQXcX3f6RSreFYBZakwJ1JiKt6urFx3HGCsD8KOvzzxjOPoxAbrOxT/J3w0bz2/ZsPBnjJNSAN+v7ZovEjlFYKpbbxoteirqbHNwy/b1KwYxjnInSSCgMiydnwswNWVCkBDFJ3dbC57zV9PGOMtdtjxLO/0R6CoLROICLOLLP39b8KzfP/5w7hAHAipc1tku0OLoTHUd7JL88NLda5YMYIJkAkB4aVeVARQLmLQAK2jrttcmEM4FjBCvOOkzFjz6evWCHzDBMl9qOFNi2XhAkNauHL6JHJAZdjyrSAep3YKn9lbd911OAFrQ0sQmACAVQq1Hjsi0wMWMtbJY7UEctOUMYIRYBE1yEArTMNpzBnAYmB5fWqI1yOv9A77uXBripH2egsTVQxPUNUYATF7/CP7PHnEiJBapbt+NXjMebDmfnzOAw0DIImCR0Qs0pvTr/TkDGAE7ktyDRSBMlOSQg2zP2GIJluRODarTluIgCEvpX37ihCcnAJVotUgnWn8u6GzPX9P8406jym0NnWU7GjrLoEp3w7q48UItgKq0Q9Lpk8fnlGAMjpLZtKuxa9KAjSYC5TGGlkkG1gqiw/pO2lIDCyhesrL3yfEy76otWy2wPGkulA9G4HcXZV9Tz1FRlz4eYfSZMEvbKmaGxhJuQ2PXTNNhmwBeJm37DMVu99BkOQxkTBbQG1a7xneku3Cs4DYd6S60HamxQG/aYQ1hU79PaWtFzb0HRfEEoRBNzmL0l2GHa3sr5/TdSbh13/R4HdhNhJZlhATAwa8q529Oifb6wReGgZAFJjoLAQssE0Grr7579p2Ce6i+e/YQnFaLKIt1MCTNg5Bh5u3IGn14m3tXi+KwAAUJB9267BNwT8+1WftwizueTUE1Lk3u2S7UNwh43bgu8Z4hUaw5XOlrHTE8Kjzc8zAdqSO0IN362P1ZUey1bfPTy+uLRhWFLK+/PBlG+Gk4fFmo96YNZ7yUhgA89uM635Ebxm9TmkPlVK0lUOjmgBl1otcErBFFszhOmz1oXAj5Zw0BwMzgxYKCyfZcU7SUKo+SulGSMx8A1JTU7F9DWf1T5dyWUeWDAJDXdLHUEDSKg3tSHdRsrsZd6I8lrFOylMgIz+AS6FT8utbXNuoA01X95Wl5HvstAlsFYPLszpZPpzkcS8iyDicYzRr3F9h5r55cX/T3TSWsGWoMrTKFAYHziJsd3gA2q+vR7EcF+JZwAmcr5h27pQh4RDVcLBHhTiH8AtyV9uLsDsa/I/4RZZAOPgytmzWqk+Otnz9azufjulkh5GoBSgAsNKDTBfDEYC0CVwQ4Y1DbqWydmh9pvFA+7/rNvOY/L9Lne0Dh1moAAAAaZmNUTAAAAFEAAAAiAAAAKQAAAAIAAAAHAAQAZAEACVOYiAAABG5mZEFUAAAAUmjexZhdTFxFFMf/58xdCtiKKO0DSqtoVBahUkqkMTzw4AdtSYrVNdZE22hqNBgToyYaHvZNjUbjx0t9INYa06yhZEUoVdPW8GBsGlE2iIFCC2yIESOmLCwwe+/x4S67e7fAbgl7Pclks7tzZ35z7pnzPzOE67TBwGDeVSP2FINeZqA24wNCz9QdrDqRqZuRLUAgEFC3eCqOTsNsY+FSBsAQ2J8ArfIcAduyGT8rkO5gaDdbOBYD7bIAMNmTs1ACJBUq6Q3MCaRzQ0BOnRp8Qot8wUC+PVHK5JScPA4VYciEAqYJGCOxPql7/P6xbEBorT9PBgdbSfARA8ziXHVKu8CwThisen/s9475/WRhHbYqyPHg76+Q4EOG0DWTC4RFOhTRe80tlRewAbYiyGedQ4eJpJ2BNAgBE35TJr/oe6ziJ2ygXQPycefIncyxfga22KtP2RmC4JIxf+iF5t3z2GBzBKvfL6x5+MsEBAAmikNYn9+svc8faSETOTDHbvPUDPs0pF6DYDdAA1gifPXnr97nfL7cQDhejd8vTLuGQwzx2jsk0UaQv1jz+iM755BDS7yaxZqRAwrwMiiesAQsgLLk6Js5hnCAxAivWY4dQmDC2baWe8/DBTMAoLV7qEqb2OPImhAYFr0Nl8wAAMvy1GuSZOYUgEH97xy4+wdXQTSkmlJ1hASKpAsumgEAS6D7nDpCiFkYcB1EEyqTkm4DKaVCroIc+na8WENvTdQYILBgYXaufNRVkIhJBawoXdj++TqHWXRFkCiAvPT8kaFOyYnW6Btnr2oiSdUWDWw7fO5yvqsg5xsrIxoIawI0LYsdqb8jco+rIHYeocGEN8hui4Sq/wMklJT++Cti7HQfhGkgJT6gQYgJ+WovXvS4ChK1zD5NZNkxkgDa7vmrxOcqyNC+8nENfGPHCCWbyFvwC7sGAgAm6P20LYwYkbembuJpN0Aciav89PhZFjSmHSFnGEb1wN7bwq54BAC0Rf7UgI23Yi1mR+33o0WueQQASnsnTrLIk8kCKaFBP2+yqCm0f8dMzj0CABHQS0ugsMZy0MbjBfRAlNFX3jW63RWPAEBx70SDEpxRQIFDlW0PzSiitkuzZcewToVu6hnZFBPlI0iJR4xg9/4dY6uqbNGZ8YeURUF2wCShSHBJgT5YMI3jU82lWR1Ba7umCgvV4rNk0atM1l3x8eZA3LCm3G/uDTcqkU4Gila+khCwYFYJOoioly1rIDqvroR9ZVEA2BOYLFgsNG8HSzUJP8qwDjqOs4kxqD1j3XHD6clqAnoYuDX9ZmgFqOXvkfhvm1fsK5J+zdGeVQG0pWuqxPSY75LgiPOqQjIBYc2+NlDUIHrwuioxT0+4XrH4GXiYJRPQalCJvsKg7wwy3/ilqXxgXSVhXvdkFTFameBjwU0ZV+4E+peBgBL+9I99ZaGs7tAy2rnL+XkLxl4iaWBQlRJUMLCVAU8cSDMwzaAhRRIioT4jP9ZzpfGOhfSh/gMVwbrySbrr8QAAABpmY1RMAAAAUwAAABkAAAApAAAAAgAAAAcABABkAABi76wSAAAD82ZkQVQAAABUaN6tl19oW3UUx7/nd25qx+i2yLqHyWqpaFlqMtturnvYQxEVVwKraEAHMlEGSsUHFYbsIS8iQ1F0T/NB1MnASC2x3daqbMMJwzGpa4kdq22Xtfig4sD+W/O7+R0ffkmam9k2ae6B30O4uefD+Z7f+XMJFVoqkapZdNznBPQagPY1XxB6wSnXeSKR4B2B5iPzkj1GoO3lvkfANirnj98lR3c7BidZ0MYAGAK2DtaIAvMAImtGMvBN6llX5AsBag0JDAAjBFMEK7I5Am4J8BeASYg5seeZRyZXhSSSqZ6MwUcsUAaAgXVeArvCJKccxYNtw6FJipMp9bMi5FTyt9ddkQ+FQAYEIznHFiZZMb1M/N5j3S1XysjL3fZJ39hhh+RTBigvCQNgARzINSXmlejTkcsVJN9rH/eNP+Aod5hF6grO8/oLkhudxeej0d0LlVx7j1zxuChXXf9SgDpDOf2XZfosoEMvR7spW2ltqeIfgdYbMQ3q0CBowB4iZBSdvvlr6KVYrHKAR654XBS13RhlkZBHImBc12Za33py1zzWaQW5llrHDzIQsjIJjOSurJEj1QA8EE14s+iKwhBgIOePdu+8iCrNAYCeM2NhbbAvX8kGNtkw6l34YA4AuCbQYSC2kqVQ2cPvHHzoB98gS5CIU5Ap3zKkHz6ZjQT0sEDg6U/AiK8QTWix/Wk5Hy7zqG+QroF0UMOttzkpdNY7C/NNE75BOEsbNN/Vxv/5ep3V/b+QRQAOqCCThQnBR1N60+y/miCefgXadvjCVK1vkIudLXMamNFkm2EOxn/PSbNvkNwVThUiycFcQthXiAaN5mQqSOYq7PIVsqRopCgf9ghi7VevBnyDZEz2kiYyNicFWMPGP7fGfIOMdTWlNfBtfhLmYRmRtxEX5QsEADKg90vHrgZCe/dMHaoW4im6pnPp8yzodIrXIOB2ADry84EHZ6qOBAC0obhbnHwbVXBJanrbv5/Y7Atkuqvhx4yir7w3DdAkj2rNQ+GBdLBqiNWPXtVEtgN4o9oLJZfa+ycaqspJ3uoHb+1nwRADG3KbY/EmedshHGuevf9kuZ16xW5771D6ccdQ0oIAFkHJPvY7Qz4IZO/5/Jfo9oV1QQBgy+BMpyOmj4HNRftwKWyWhXqZzGCNoRFa4JuXYzsWy4YAQPDcdIQgZxm4r2T5LoUtH4M5Jplk0PGfuhpPlzWc6vr/2MqB7HEWedF+TuQ/JWRlkH1mlJF9FU3ATWdnOpgkzpAnlmGrR+UYObquMRs8Mx0mhR4mibFgy2owJRStapY3Xpiqnb3jHFAk+1ko7EB2skg9AwEGNJOcuP5U4xv/AaU65cQdibPpAAAAGmZjVEwAAABVAAAAGQAAACcAAAACAAAACQAEAGQAADJpvUAAAAOJZmRBVAAAAFZo3t2WS2hcZRiGn+//T0wKtiWg4iKNEK9M2tTEFuNCMbiwTRxsREfQjaAUFMGNLhQXs/KCoqgg6EK8IVKsYazSeKEpZCENhWhCFBKTknQ2XrBQc5tz+T8X58zNVJPMnJUvHGZz5n/O+36Xc4Qt6JvC9AHreMdCn1WwKBYwm/1RWQF6vM3uK3w+80Cg+qGDNofiBJwKjipMqrcvCywp/A4soO6tg/ffvPCfkGOFmSdDxxuqGAc44sOdaPwbwyY80Y88Y0f7JjMLkhf3z3Pk3wAfFH56yqq+bkEsUBuTBbXKcU/klbuGuyc2S+OSkHdHfn7EiL5XAVQPxyo/tmj0ePa+nu/ZojZA3hyZu9aYcNLCTqs1hwOeauFyb+2hbPbAKttQXU3yeTXrZvZjD3ZawIokT69Y9P3WIPNYdlgitqm6LjS9s7kQ7Q8Q4gsCwDfyyfkfMo/mctsH1MWVz6txfbPTFjIWTQoNHsxFbaXeZ+7ev0KDqsS12jt3xEAmzl+wEscUOT36bBOAOogvPG3Lc0AyByKnnh++6TRNygM4+tX8vsC52xyK0/LQKTh5kRTkAYRO+7USU9K2KpMvH7nhu/Qg0BPHVF0datwJUpKX1GOvRZKo4nqok6l0IUi3ReOOQrAKvjXTqUGGvlxsDwivdLWdJayHK13zqUH8SHYYKzVLUPDQPz9rcLovCVkFWiUpeKUmIqQo07Lrr4sBogEQCAQiBMhVd46da0sNcnqge9mHoo8QX+ALtnVZb0wNAhAYmSlv3PL2LQn7UoX4julAJIkqBkXG7E/byZQPSVRxZCXV3C1nz7ak6CQaDxBXiSx21Wl+uyKXGuTcUNdigH6x4Y0Iz5FXkwokWS2v+pJEVu20zN6DSw83C6kbuqtPLp6yyEDt69fChVZsz9RgR7FpJwCRk3yljSudRvuaRse7vp3fnYoTgPbR4qdG3YPV762yKz0TOjm8dM81F5pyAhChT/hIsW4442671RjGu07MdzbtBKBtdOl2T+VrCzvqPlFjZxc9x0tG/Nd+Gby+1JATgPVDneOBcff6hrW6nRZ33q6SkRd8uewkqtKwk8p7YLQ4YNERC7ur3VbjzEl/cWjPmYaclBUe6hgrKXf4SDGQ2gVaHdiG46rT4T1TYWB6fZG3fZGwPLAlZOzXwY6JpuPaoNHz1xmRrFX+CNzaMbZY+P+P/gZjNJnGDOT1EQAAABpmY1RMAAAAVwAAABMAAAAmAAAAAgAAAAgABABkAQCkfZTAAAACtmZkQVQAAABYaN7tlF1oT3EYxz/P7zn/mYtdSEYWeSkzMwu74I4bJMqUv+JGWZMoJa642J28lCgXSigvabI1TJJQklqrsTVqa5mQi2kXspdz5n8eF+f/Nm32P3O7b/3q/OqcT8/zPd/nEQpUY2OjliXK69XktMLCid6RQkDPWrpqXMhVhXVqoIBi6F/v6VSgpqbuPaHwKEQWhQihEB2EMF2L5J1Jdael+6galxRcVJHhMb4yhTbFbjmnTyeFXWv5cEyNiwqS9yFpqKnxwBM5v622su2fnl1++PGAGtcVRC0PhKHCe025w8ndFW+n/AHnmnuXO5fqUKwkBwE1Q42WMW9436GdNcMTFeHlXxoazI1oz23PKFHkL2/kZunYyrpkraQms8blX0bW9iQD2OCL4IvgAz6CL3L3x7uVB5PJyUHjotHQYG5k4eA9Q+YZYICJYOJ6i2aN7jhVtyCYKkbZNr/X9O7yTFYphlquxYSk6k9urR4qJNxZWGByIhV5g0raK3Mvzu4sf1XoyHkA+1v7qgKzjZlgpg3HOTtDDHkAw6FsUAEViyoz8LCOGztWPI8NCyRc4xCycRDjNzwipjwA37nVaulgZn2TzunBTCqjUZHs/AnWFRtW9fjzHJ9w3rjEC6Nzh5b1xYZ5RTI7+C25+YuiMXh/irRPCBtOz1RkfBYqTENuMFH800fMJzOL4IuUbnr5qTg2bGBz6a9A5GsABEj6oAO+lceGEVXTnd0Ukt4UplXTggVIV7ZFMutHqqdbWWeuRSEAAiO5vr09ERs2GuprXyT0hVybIov7B+bvjQPLReDpl2aQXfmr2pn0DxWPVbB56WjBlUVP7gJAKu+vjoktKfYTe2K1CcCWsjdAa+aag1IaHxYRjgP5K3oo9FLN8T3L6Mm3tWh4JIK7K2wv62BGM/o//QFuzQanlLTaOQAAABpmY1RMAAAAWQAAABQAAAAWAAAAAgAAAAgABABkAQDPl48GAAAB/2ZkQVQAAABaaN6dlL9rU2EUhp/zna/SpYOgi0UcioGmVlHuUP8ClxZUMIOToBQFQRAFB4dsDgri2EXEFikRkagVBREHQSnYUIMorYmIOAgVUdqbSJsch+ZHbzBtcl84cO/H5eE953vPFTpUJpPR/p7BcWd2VWGXtPlOOoHNZPOBqzKhcEgBBdRAMRRw3QCnsx9OOOOuGr11QLOsFb68KXAi+/G8N7ul4CIAQK3xPKvIJI5nb3PJYlvgjeynCx67qSAtABTMYw+8cT11bGh2yxmmHy2cUqq31WqwDe48zLsK584eH3zT0aVcfrg4IGo5xfoiMAOFbNktn0yPBWG7znzEWdrcD/95SqFPkTpkvYQ7C+XEmfspqWw29403TiEopEJkJEQIEUIRQoFQ5F7PXOL0VrBIy+m0ufmgmPdYsiVri2vbwoOTRw6sdJLZRsuvg+JRjyQjORPwZuPTHcIiwJJzl9ajIU13Zi+fju19RRfyAMMz34ZDKodb3Sl2jS7lAUKpjnikBmlsQu7d6MCLWMASsl/FUJMG0Is9JoZqDmVfs81akKvyPjawJAy5liA7NB8P+OTr9r/ITgDXnGG5vNJfiAf01lt/qdZqVeQnHWzF/1dvx9IS2J/IqfGFmHIEwSrmLgJrtbPfOLkSF9j8fT3/vpuqJahU5hjd8ysu8B/6h7Fbz1BUNQAAABpmY1RMAAAAWwAAABUAAAANAAAABQAAAAgABABkAQBGTvCFAAABdmZkQVQAAABcaN6tkcsrrVEYh593rfdzGVBmcimlk8gIfwIx2RNlIspIKWXCzMDEhHLSGZ2JtJXBV9KXS+r8Aaf2RAaKhHIZyOiULdvlew32pYNNmzy1Wq3eelq/3yt8QBiGviZoHQ2waW9SpxgeED7m3XkyOujy8dNvFTo8oJYVekABj6GWf2dnABjpotK56GBAsaSHCs2LctKCEPAGit14OAuQa2fxSZl3v95IJ6PDcSeyqJgrSCwnyf9KLBWYrATEOxe7bSczMxK/G39o43jCYz8VkyIxzRtr6mx+NtGSKqnTnq3TEW+25DF58ats9D2BsWTix19KQADat8+alXhXzape96YQlccVgxuJultKxGMm7vjfZkak+Q4hI8KdZO8Mbrk+3TS03l99zycQ3bnsFuyPYrltFnpcvUo1DvNqCaWgj8SdIDwg/zUsRzgd/YoQwCGyXyTAFL21ab6Io7dhE1gAHnJngb76iG8hPK8kPK/8DtUztGqCyuea2MoAAAAaZmNUTAAAAF0AAAAPAAAABgAAAAwAAAAIAAQAZAAAeXELuwAAAMFmZEFUAAAAXmjejY4xTgJRGIS/yXv7HlcQsDK21FyAxNBQk3AMD2BHY6VH8AIGjJBY2e4BoCBsAR3barbZ3d9iSTRbqF8zyZ+Z+UcAD4vtNBr3iVk3YAQg2FkxgjXq+EamW41W+3FS8RJAP42xFWwVfrrSDfybwsx56RcjoeYjyA4JlkeUeZWPq8l15kGnCigQhQB03kUKeoJ6TdrPuFNNC7E89kj0Dlw1J3sG5txcpvxB8+Z1F6EzBJ8zvtjwT74AljFC6d2II+4AAAASdEVYdFNvZnR3YXJlAGV6Z2lmLmNvbaDDs1gAAAAxdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIGV6Z2lmLmNvbSBBbmltYXRlZCBQTkcgbWFrZXKphWVeAAAAAElFTkSuQmCC",z2=()=>jsx$1(D2,{children:jsx$1("img",{src:I2})}),D2=createStyled$2("div",{target:"e1ho5dd50"})({name:"hmtpto",styles:"height:24px;width:24px;overflow:hidden;img{height:100%;}"}),at=({device:o,id:s,cameraName:_,height:j,width:$})=>{const[_e,et]=reactExports.useState(!0),tt=async ut=>{await Authentication.waitTilAuthenticated();const dt=await rt();o.addRealtimeListener((Ut,st)=>{st.header.stream.streamName===_&&ut.drawVideoFrame(st.payload.h264VideoFrame)}),o.startListeningToRealtimeVideo(dt),et(!1)},nt=async()=>{const ut=await Fleet.getCurrentDevice(),dt=await rt();await ut.stopListeningToRealtimeVideo(dt)},rt=reactExports.useCallback(async()=>{const ut=(await o.getRealtimeVideoStreams()).filter(dt=>dt.name===_);return ut.length===0&&console.error("Error: Camera name is incorrect or doesn't exist"),ut[0]},[_]),ot=reactExports.useCallback(async()=>{const ut=document.querySelector(`#${s}`);ut.drawer.start(),await tt(ut)},[]);return reactExports.useLayoutEffect(()=>{if(o)return ot().then(ut=>console.warn("video mounted")),()=>{nt()}},[o]),jsxs(T2,{height:j,width:$,children:[_e&&jsx$1(z2,{}),jsx$1("formant-realtime-player",{id:s,style:{display:_e?"none":"block",backgroundColor:"transparent",height:"100%",width:"100%"}})]})},T2=createStyled$2("div",{target:"ee073z40"})("display:flex;align-items:center;justify-content:center;width:",o=>o.width?o.width:"100%",";height:",o=>o.height?o.height:"100%",";");Chart.register(...registerables);const App$1="";function timeout(o){return new Promise(s=>setTimeout(s,o))}function App(){const o=Oe(),{camera:s,isTeleopModule:_}=o.configuration,j=s0(),[$,_e]=reactExports.useState(!0),et=reactExports.useCallback(async()=>{if(!j)return;await j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:10,deadlineMs:1e4});let tt=!1;for(;!tt;)tt=await j.isInRealtimeSession(),console.warn("Waiting for the main connection to establish."),await timeout(2e3);console.warn("Main connection completed"),_e(!1)},[j]);return reactExports.useEffect(()=>{if(!(!j||!s)){if(!_){j.startRealtimeConnection({sessionType:SessionTypeConstants.OBSERVE,maxConnectRetries:50,deadlineMs:2e4}).then(()=>_e(!1));return}return et(),()=>{j.stopRealtimeConnection()}}},[j,s]),jsx$2("div",{className:"App",children:$||!j?jsx$2(z2,{}):jsx$2(at,{cameraName:s,device:j,id:"rtc-video"})})}const index="";client.createRoot(document.getElementById("root")).render(jsx$2(Ke,{parseConfiguration:!0,children:jsx$2(App,{})})); diff --git a/examples/realtime-video/dist/index.html b/examples/realtime-video/dist/index.html index 612e63f03..2884c9266 100644 --- a/examples/realtime-video/dist/index.html +++ b/examples/realtime-video/dist/index.html @@ -5,7 +5,7 @@ Vite + React + TS - + From f986f71526f766e4340e90e17aebe48fee6655ed Mon Sep 17 00:00:00 2001 From: Amir Nathoo Date: Mon, 8 Sep 2025 23:05:47 -0700 Subject: [PATCH 2/2] bump realtime sdk --- examples/realtime-video/package.json | 2 +- examples/realtime-video/yarn.lock | 1596 ++++++++++++-------------- 2 files changed, 724 insertions(+), 874 deletions(-) diff --git a/examples/realtime-video/package.json b/examples/realtime-video/package.json index 807b05a87..c67886637 100644 --- a/examples/realtime-video/package.json +++ b/examples/realtime-video/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@formant/data-sdk": "^1.51.0", - "@formant/realtime-sdk": "^1.4.0", + "@formant/realtime-sdk": "^1.4.2", "@formant/ui-sdk": "^0.0.60", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/examples/realtime-video/yarn.lock b/examples/realtime-video/yarn.lock index 9253a8b9e..56c795053 100644 --- a/examples/realtime-video/yarn.lock +++ b/examples/realtime-video/yarn.lock @@ -2,347 +2,401 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.20.5": - version "7.20.14" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz" - integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.20.12": - version "7.20.12" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz" - integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.12" - "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/compat-data@^7.27.2": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.4.tgz#96fdf1af1b8859c8474ab39c295312bfb7c24b04" + integrity sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw== + +"@babel/core@^7.20.12": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.4.tgz#12a550b8794452df4c8b084f95003bce1742d496" + integrity sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.28.3" + "@babel/helpers" "^7.28.4" + "@babel/parser" "^7.28.4" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.28.4" + "@babel/types" "^7.28.4" + "@jridgewell/remapping" "^2.3.5" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.20.7": - version "7.20.14" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz" - integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg== - dependencies: - "@babel/types" "^7.20.7" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" + integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw== + dependencies: + "@babel/parser" "^7.28.3" + "@babel/types" "^7.28.2" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + +"@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" lru-cache "^5.1.1" - semver "^6.3.0" + semver "^6.3.1" -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@babel/helper-globals@^7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" + integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== +"@babel/helper-module-transforms@^7.28.3": + version "7.28.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" + integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== dependencies: - "@babel/types" "^7.18.6" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.28.3" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" +"@babel/helper-plugin-utils@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== -"@babel/helper-module-transforms@^7.20.11": - version "7.20.11" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helpers@^7.20.7": - version "7.20.13" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz" - integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.13" - "@babel/types" "^7.20.7" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/parser@^7.20.13", "@babel/parser@^7.20.7": - version "7.20.13" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz" - integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw== +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/plugin-transform-react-jsx-self@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz" - integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/plugin-transform-react-jsx-source@^7.19.6": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz" - integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== +"@babel/helpers@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" + integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.4" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz" - integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== +"@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.4.tgz#da25d4643532890932cc03f7705fe19637e03fa8" + integrity sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg== dependencies: - regenerator-runtime "^0.13.11" + "@babel/types" "^7.28.4" -"@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13": - version "7.20.13" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz" - integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ== +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz#af678d8506acf52c577cac73ff7fe6615c85fc92" + integrity sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw== dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.13" - "@babel/types" "^7.20.7" - debug "^4.1.0" - globals "^11.1.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@emotion/babel-plugin@^11.10.5", "@emotion/babel-plugin@^11.10.6": - version "11.10.6" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz" - integrity sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ== +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz#dcfe2c24094bb757bf73960374e7c55e434f19f0" + integrity sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" + integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== + +"@babel/template@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.27.1", "@babel/traverse@^7.28.3", "@babel/traverse@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.4.tgz#8d456101b96ab175d487249f60680221692b958b" + integrity sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.28.3" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.4" + "@babel/template" "^7.27.2" + "@babel/types" "^7.28.4" + debug "^4.3.1" + +"@babel/types@^7.27.1", "@babel/types@^7.28.2", "@babel/types@^7.28.4": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.4.tgz#0a4e618f4c60a7cd6c11cb2d48060e4dbe38ac3a" + integrity sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/serialize" "^1.1.1" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" find-root "^1.1.0" source-map "^0.5.7" - stylis "4.1.3" + stylis "4.2.0" -"@emotion/cache@^11.10.5": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz" - integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== +"@emotion/cache@^11.13.5", "@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== dependencies: - "@emotion/memoize" "^0.8.0" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" - stylis "4.1.3" + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" "@emotion/css@^11.10.6": - version "11.10.6" - resolved "https://registry.npmjs.org/@emotion/css/-/css-11.10.6.tgz" - integrity sha512-88Sr+3heKAKpj9PCqq5A1hAmAkoSIvwEq1O2TwDij7fUtsJpdkV4jMTISSTouFeRvsGvXIpuSuDQ4C1YdfNGXw== + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" + integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== + dependencies: + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.13.5" + "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + +"@emotion/is-prop-valid@^1.3.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz#e9ad47adff0b5c94c72db3669ce46de33edf28c0" + integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw== dependencies: - "@emotion/babel-plugin" "^11.10.6" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/sheet" "^1.2.1" - "@emotion/utils" "^1.2.0" + "@emotion/memoize" "^0.9.0" -"@emotion/hash@^0.9.0": +"@emotion/memoize@^0.9.0": version "0.9.0" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz" - integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== - -"@emotion/is-prop-valid@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz" - integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== - dependencies: - "@emotion/memoize" "^0.8.0" - -"@emotion/memoize@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz" - integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== -"@emotion/react@^11.0.0-rc.0", "@emotion/react@^11.4.1", "@emotion/react@^11.5.0", "@emotion/react@^11.9.0": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.10.5.tgz" - integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== +"@emotion/react@^11.9.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/cache" "^11.10.5" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - "@emotion/weak-memoize" "^0.3.0" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.1": - version "1.1.1" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz" - integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== dependencies: - "@emotion/hash" "^0.9.0" - "@emotion/memoize" "^0.8.0" - "@emotion/unitless" "^0.8.0" - "@emotion/utils" "^1.2.0" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" csstype "^3.0.2" -"@emotion/sheet@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz" - integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== -"@emotion/styled@^11.3.0", "@emotion/styled@^11.8.1": - version "11.10.5" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.5.tgz" - integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== +"@emotion/styled@^11.8.1": + version "11.14.1" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.14.1.tgz#8c34bed2948e83e1980370305614c20955aacd1c" + integrity sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.10.5" - "@emotion/is-prop-valid" "^1.2.0" - "@emotion/serialize" "^1.1.1" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" - "@emotion/utils" "^1.2.0" - -"@emotion/unitless@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz" - integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== - -"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz" - integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== - -"@emotion/utils@^1.2.0": + "@emotion/babel-plugin" "^11.13.5" + "@emotion/is-prop-valid" "^1.3.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz" - integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== - -"@emotion/weak-memoize@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz" - integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== - -"@esbuild/linux-x64@0.17.15": - version "0.17.15" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz" - integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg== - -"@formant/data-sdk@^1.0.0", "@formant/data-sdk@^1.51.0": - version "1.51.0" - resolved "https://registry.npmjs.org/@formant/data-sdk/-/data-sdk-1.51.0.tgz" - integrity sha512-8/7IQb6VaiLVx+31e8y3iRNNC4f9LLjhJwAK5NNJNceagz6oezPkfvsKa362scyf2oXLkgsOMC2A/20UMD6gPw== + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== + +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@formant/data-sdk@^1.51.0": + version "1.80.7" + resolved "https://registry.yarnpkg.com/@formant/data-sdk/-/data-sdk-1.80.7.tgz#6beef5c753462080ce4c3d57453b54bfad498b56" + integrity sha512-/2g7xx/gWzzpfXM/Q6GK4qD4Q5lz0Psxv5Mr0E4JjOwXcZqcpN5kcb++MQ988aJOW5yWCXRs0uHbWMAVfRW4Eg== dependencies: "@formant/ui-sdk-realtime-player-core" "^0.0.2" "@formant/ui-sdk-realtime-player-core-worker" "^0.0.4" @@ -351,24 +405,24 @@ base64-js "^1.5.1" date-fns "^2.30.0" eventemitter3 "^5.0.1" + fast-json-stable-stringify "=2.0.0" google-protobuf "^3.21.2" + lru-cache "^7.14.0" lzfjs "^1.0.1" pako "^2.1.0" validator "^13.11.0" -"@formant/realtime-sdk@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@formant/realtime-sdk/-/realtime-sdk-1.4.0.tgz" - integrity sha512-nxUxm8PlYDsjI6X0KAO/JvYIGE/UlL1O0k+vYlOwQjAMvX9xGXAz6QhO2GJKDO3Z8HurhTaZnmExxUU0q0Q9kg== +"@formant/realtime-sdk@^1.4.2": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@formant/realtime-sdk/-/realtime-sdk-1.4.3.tgz#c7440c3c92902d3ded0c533b845b22f6fc808808" + integrity sha512-eC8L1JrcDOaJrCgVB/qpBK6nV4nM4GIRrotJun8Hey8yXGfCD6fzu6hLnwWSoBVXEyPBEqyjb6NDibu8yvoAmA== dependencies: - "@types/generic-pool" "^3.8.1" "@types/google-protobuf" "~3.7.0" env-var "^7.4.0" - generic-pool "^3.9.0" "@formant/ui-sdk-realtime-player-core-worker@^0.0.4": version "0.0.4" - resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz" + resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player-core-worker/-/ui-sdk-realtime-player-core-worker-0.0.4.tgz#d197fcaad113bd51b6cca53e5f6bb1e441ae6582" integrity sha512-yQ0VJNdrFkTHRA9mBkmfBzrgSrdOTTukETtC1Jit2A5yj2B765IngA20Lf8ny6BePTsozHFk89KM5cU6MNuMmg== dependencies: "@types/offscreencanvas" "^2019.6.4" @@ -376,12 +430,12 @@ "@formant/ui-sdk-realtime-player-core@^0.0.2": version "0.0.2" - resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz" + resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player-core/-/ui-sdk-realtime-player-core-0.0.2.tgz#c4a48e2de2619b3a3633c4808e201234decf0b41" integrity sha512-RC8z90dMvtXDAnxnSLYH2d4m27SgPI7fJasMu4X98QEwo4eOg4yRXT5TNbnpdjI7bqARbaSlosWtc7ba8d42Ng== "@formant/ui-sdk-realtime-player@^0.0.9": version "0.0.9" - resolved "https://registry.npmjs.org/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz" + resolved "https://registry.yarnpkg.com/@formant/ui-sdk-realtime-player/-/ui-sdk-realtime-player-0.0.9.tgz#24737e83582b277c8cc3cad3dd1f3df162dfd9ad" integrity sha512-umNyNLWzv5TMw5Q+cLFHMlaTKi9HgU5R9LupzwqgroVlghgNFV2UxIZSDc5G7ZpMVsnwaNxPeLBdm90oJiyFjg== dependencies: "@formant/ui-sdk-realtime-player-core" "^0.0.2" @@ -389,7 +443,7 @@ "@formant/ui-sdk@^0.0.60": version "0.0.60" - resolved "https://registry.npmjs.org/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz" + resolved "https://registry.yarnpkg.com/@formant/ui-sdk/-/ui-sdk-0.0.60.tgz#bf5dfab2ede331bea4a300c9c1e4014e14b18aae" integrity sha512-emHwiZXwPONTEgtEgE+EKifiIlcCLNGvnpcydPR/o8EQu4SXrGS96qUv8kNqz4/bvKFhqrQuH4RZoJsoKqSa7g== dependencies: "@emotion/css" "^11.10.6" @@ -406,217 +460,175 @@ react-chartjs-2 "^5.2.0" react-device-detect "^2.2.2" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== +"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.13" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" + integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA== dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/sourcemap-codec" "^1.5.0" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== +"@jridgewell/remapping@^2.3.5": + version "2.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/remapping/-/remapping-2.3.5.tgz#375c476d1972947851ba1e15ae8f123047445aa1" + integrity sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ== dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== +"@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba" + integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== + +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28": + version "0.3.30" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz#4a76c4daeee5df09f5d3940e087442fb36ce2b99" + integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q== dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@kurkle/color@^0.3.0": - version "0.3.2" - resolved "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz" - integrity sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw== - -"@mui/base@5.0.0-alpha.115": - version "5.0.0-alpha.115" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.115.tgz" - integrity sha512-OGQ84whT/yNYd6xKCGGS6MxqEfjVjk5esXM7HP6bB2Rim7QICUapxZt4nm8q39fpT08rNDkv3xPVqDDwRdRg1g== - dependencies: - "@babel/runtime" "^7.20.7" - "@emotion/is-prop-valid" "^1.2.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - "@popperjs/core" "^2.11.6" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" + version "0.3.4" + resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.4.tgz#4d4ff677e1609214fc71c580125ddddd86abcabf" + integrity sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w== -"@mui/core-downloads-tracker@^5.11.6": - version "5.11.6" - resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.6.tgz" - integrity sha512-lbD3qdafBOf2dlqKhOcVRxaPAujX+9UlPC6v8iMugMeAXe0TCgU3QbGXY3zrJsu6ex64WYDpH4y1+WOOBmWMuA== +"@mui/core-downloads-tracker@^5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.18.0.tgz#85019a8704b0f63305fc5600635ee663810f2b66" + integrity sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA== "@mui/material@^5.6.1": - version "5.11.6" - resolved "https://registry.npmjs.org/@mui/material/-/material-5.11.6.tgz" - integrity sha512-MzkkL5KC2PCkFiv8cLpkzgLUPXSrAtnvJBR0emV7mLVWbkwV3n5832vjBx154B6R032fHjFTziTh7YEb50nK6Q== - dependencies: - "@babel/runtime" "^7.20.7" - "@mui/base" "5.0.0-alpha.115" - "@mui/core-downloads-tracker" "^5.11.6" - "@mui/system" "^5.11.5" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - "@types/react-transition-group" "^4.4.5" - clsx "^1.2.1" - csstype "^3.1.1" + version "5.18.0" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.18.0.tgz#71e72d52338252edc6f8d9461e04fdf0d61905cd" + integrity sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/core-downloads-tracker" "^5.18.0" + "@mui/system" "^5.18.0" + "@mui/types" "~7.2.15" + "@mui/utils" "^5.17.1" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.10" + clsx "^2.1.0" + csstype "^3.1.3" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^19.0.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.11.2": - version "5.11.2" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.2.tgz" - integrity sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg== +"@mui/private-theming@^5.17.1": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.17.1.tgz#b4b6fbece27830754ef78186e3f1307dca42f295" + integrity sha512-XMxU0NTYcKqdsG8LRmSoxERPXwMbp16sIXPcLVgLGII/bVNagX0xaheWAwFv8+zDK7tI3ajllkuD3GZZE++ICQ== dependencies: - "@babel/runtime" "^7.20.7" - "@mui/utils" "^5.11.2" + "@babel/runtime" "^7.23.9" + "@mui/utils" "^5.17.1" prop-types "^15.8.1" -"@mui/styled-engine@^5.11.0": - version "5.11.0" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz" - integrity sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ== +"@mui/styled-engine@^5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.18.0.tgz#914cca1385bb33ce0cde31721f529c8bd7fa301c" + integrity sha512-BN/vKV/O6uaQh2z5rXV+MBlVrEkwoS/TK75rFQ2mjxA7+NBo8qtTAOA4UaM0XeJfn7kh2wZ+xQw2HAx0u+TiBg== dependencies: - "@babel/runtime" "^7.20.6" - "@emotion/cache" "^11.10.5" - csstype "^3.1.1" + "@babel/runtime" "^7.23.9" + "@emotion/cache" "^11.13.5" + "@emotion/serialize" "^1.3.3" + csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.11.5": - version "5.11.5" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.11.5.tgz" - integrity sha512-KNVsJ0sgRRp2XBqhh4wPS5aacteqjwxgiYTVwVnll2fgkgunZKo3DsDiGMrFlCg25ZHA3Ax58txWGE9w58zp0w== - dependencies: - "@babel/runtime" "^7.20.7" - "@mui/private-theming" "^5.11.2" - "@mui/styled-engine" "^5.11.0" - "@mui/types" "^7.2.3" - "@mui/utils" "^5.11.2" - clsx "^1.2.1" - csstype "^3.1.1" +"@mui/system@^5.18.0": + version "5.18.0" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.18.0.tgz#e55331203a40584b26c5a855a07949ac8973bfb6" + integrity sha512-ojZGVcRWqWhu557cdO3pWHloIGJdzVtxs3rk0F9L+x55LsUjcMUVkEhiF7E4TMxZoF9MmIHGGs0ZX3FDLAf0Xw== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/private-theming" "^5.17.1" + "@mui/styled-engine" "^5.18.0" + "@mui/types" "~7.2.15" + "@mui/utils" "^5.17.1" + clsx "^2.1.0" + csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.3": - version "7.2.3" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz" - integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== +"@mui/types@~7.2.15": + version "7.2.24" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.24.tgz#5eff63129d9c29d80bbf2d2e561bd0690314dec2" + integrity sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw== -"@mui/utils@^5.11.2", "@mui/utils@^5.6.1": - version "5.11.2" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.11.2.tgz" - integrity sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w== +"@mui/utils@^5.17.1", "@mui/utils@^5.6.1": + version "5.17.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.17.1.tgz#72ba4ffa79f7bdf69d67458139390f18484b6e6b" + integrity sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg== dependencies: - "@babel/runtime" "^7.20.7" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^16.7.1 || ^17.0.0" + "@babel/runtime" "^7.23.9" + "@mui/types" "~7.2.15" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.2.0" - -"@popperjs/core@^2.11.6": - version "2.11.6" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz" - integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + react-is "^19.0.0" -"@types/generic-pool@^3.8.1": - version "3.8.1" - resolved "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.8.1.tgz" - integrity sha512-eaMAbZS0EfKvaP5PUZ/Cdf5uJBO2t6T3RdvQTKuMqUwGhNpCnPAsKWEMyV+mCeCQG3UiHrtgdzni8X6DmhxRaQ== - dependencies: - generic-pool "*" +"@popperjs/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@types/google-protobuf@~3.7.0": version "3.7.4" - resolved "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.7.4.tgz" + resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.7.4.tgz#1621c50ceaf5aefa699851da8e0ea606a2943a39" integrity sha512-6PjMFKl13cgB4kRdYtvyjKl8VVa0PXS2IdVxHhQ8GEKbxBkyJtSbaIeK1eZGjDKN7dvUh4vkOvU9FMwYNv4GQQ== "@types/lodash@^4.14.182": - version "4.14.191" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.20.tgz#1ca77361d7363432d29f5e55950d9ec1e1c6ea93" + integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA== "@types/offscreencanvas@^2019.6.4": - version "2019.7.0" - resolved "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz" - integrity sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg== + version "2019.7.3" + resolved "https://registry.yarnpkg.com/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz#90267db13f64d6e9ccb5ae3eac92786a7c77a516" + integrity sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A== "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/prop-types@*", "@types/prop-types@^15.7.5": - version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== +"@types/prop-types@*", "@types/prop-types@^15.7.12": + version "15.7.15" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.15.tgz#e6e5a86d602beaca71ce5163fadf5f95d70931c7" + integrity sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw== "@types/react-dom@^18.0.9": - version "18.0.10" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz" - integrity sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg== - dependencies: - "@types/react" "*" - -"@types/react-is@^16.7.1 || ^17.0.0": - version "17.0.3" - resolved "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz" - integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== - dependencies: - "@types/react" "*" + version "18.3.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.7.tgz#b89ddf2cd83b4feafcc4e2ea41afdfb95a0d194f" + integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== -"@types/react-transition-group@^4.4.5": - version "4.4.5" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz" - integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== - dependencies: - "@types/react" "*" +"@types/react-transition-group@^4.4.10": + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@^17.0.0 || ^18.0.0", "@types/react@^18.0.26": - version "18.0.27" - resolved "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz" - integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA== +"@types/react@^18.0.26": + version "18.3.24" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.24.tgz#f6a5a4c613242dfe3af0dcee2b4ec47b92d9b6bd" + integrity sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A== dependencies: "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - "@types/validator@^13.11.8": - version "13.12.0" - resolved "https://registry.npmjs.org/@types/validator/-/validator-13.12.0.tgz" - integrity sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag== + version "13.15.3" + resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.3.tgz#67e8aeacbace03517f9bd3f99e750bb666207ff4" + integrity sha512-7bcUmDyS6PN3EuD9SlGGOxM77F8WLVsrwkxyWxKnxzmXoequ6c7741QBrANq6htVRGOITJ7z72mTP6Z4XyuG+Q== "@vitejs/plugin-react@^3.0.0": version "3.1.0" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz#d1091f535eab8b83d6e74034d01e27d73c773240" integrity sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g== dependencies: "@babel/core" "^7.20.12" @@ -625,24 +637,9 @@ magic-string "^0.27.0" react-refresh "^0.14.0" -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -651,107 +648,64 @@ babel-plugin-macros@^3.1.0: base-64@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a" integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg== base64-js@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.3, "browserslist@>= 4.21.0": - version "4.21.5" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== +browserslist@^4.24.0: + version "4.25.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.4.tgz#ebdd0e1d1cf3911834bab3a6cd7b917d9babf5af" + integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg== dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" + caniuse-lite "^1.0.30001737" + electron-to-chromium "^1.5.211" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -caniuse-lite@^1.0.30001449: - version "1.0.30001449" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz" - integrity sha512-CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw== +caniuse-lite@^1.0.30001737: + version "1.0.30001741" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001741.tgz#67fb92953edc536442f3c9da74320774aa523143" + integrity sha512-QGUGitqsc8ARjLdgAfxETDhRbJ0REsP6O3I96TAth/mVjh2cYzN2u+3AzPP3aVSm2FehEItaJw1xd+IGBXWeSw== -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chart.js@^4.1.1, chart.js@^4.2.0: - version "4.2.1" - resolved "https://registry.npmjs.org/chart.js/-/chart.js-4.2.1.tgz" - integrity sha512-6YbpQ0nt3NovAgOzbkSSeeAQu/3za1319dPUQTXn9WcOpywM8rGKxJHrhS8V8xEkAlk8YhEfjbuAPfUyp6jIsw== +chart.js@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.5.0.tgz#11a1ef6c4befc514b1b0b613ebac226c4ad2740b" + integrity sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ== dependencies: "@kurkle/color" "^0.3.0" -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - classnames@^2.3.1: - version "2.3.2" - resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz" - integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== - -clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== +clsx@^2.1.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== -convert-source-map@^1.5.0, convert-source-map@^1.7.0: +convert-source-map@^1.5.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -760,316 +714,263 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -csstype@^3.0.2, csstype@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +csstype@^3.0.2, csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== date-fns@^2.30.0: version "2.30.0" - resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== dependencies: "@babel/runtime" "^7.21.0" -debug@^4.1.0: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@^4.1.0, debug@^4.3.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" csstype "^3.0.2" -electron-to-chromium@^1.4.284: - version "1.4.284" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== +electron-to-chromium@^1.5.211: + version "1.5.215" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.215.tgz#200c8d69b1270af6126837b6b1f95077c3a347b1" + integrity sha512-TIvGp57UpeNetj/wV/xpFNpWGb0b/ROw372lHPx5Aafx02gjTBtWnEEcaSX3W2dLM3OSdGGyHX/cHl01JQsLaQ== env-var@^7.4.0: version "7.5.0" - resolved "https://registry.npmjs.org/env-var/-/env-var-7.5.0.tgz" + resolved "https://registry.yarnpkg.com/env-var/-/env-var-7.5.0.tgz#5f0c2d999d2997eaf7cf7f1437b3f857b865bf48" integrity sha512-mKZOzLRN0ETzau2W2QXefbFjo5EF4yWq28OyKb9ICdeNhHJlOE/pHHnz4hdYJ9cNZXcJHo5xN4OT4pzuSHSNvA== error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -esbuild@^0.17.5: - version "0.17.15" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz" - integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== +esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== optionalDependencies: - "@esbuild/android-arm" "0.17.15" - "@esbuild/android-arm64" "0.17.15" - "@esbuild/android-x64" "0.17.15" - "@esbuild/darwin-arm64" "0.17.15" - "@esbuild/darwin-x64" "0.17.15" - "@esbuild/freebsd-arm64" "0.17.15" - "@esbuild/freebsd-x64" "0.17.15" - "@esbuild/linux-arm" "0.17.15" - "@esbuild/linux-arm64" "0.17.15" - "@esbuild/linux-ia32" "0.17.15" - "@esbuild/linux-loong64" "0.17.15" - "@esbuild/linux-mips64el" "0.17.15" - "@esbuild/linux-ppc64" "0.17.15" - "@esbuild/linux-riscv64" "0.17.15" - "@esbuild/linux-s390x" "0.17.15" - "@esbuild/linux-x64" "0.17.15" - "@esbuild/netbsd-x64" "0.17.15" - "@esbuild/openbsd-x64" "0.17.15" - "@esbuild/sunos-x64" "0.17.15" - "@esbuild/win32-arm64" "0.17.15" - "@esbuild/win32-ia32" "0.17.15" - "@esbuild/win32-x64" "0.17.15" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + "@esbuild/android-arm" "0.18.20" + "@esbuild/android-arm64" "0.18.20" + "@esbuild/android-x64" "0.18.20" + "@esbuild/darwin-arm64" "0.18.20" + "@esbuild/darwin-x64" "0.18.20" + "@esbuild/freebsd-arm64" "0.18.20" + "@esbuild/freebsd-x64" "0.18.20" + "@esbuild/linux-arm" "0.18.20" + "@esbuild/linux-arm64" "0.18.20" + "@esbuild/linux-ia32" "0.18.20" + "@esbuild/linux-loong64" "0.18.20" + "@esbuild/linux-mips64el" "0.18.20" + "@esbuild/linux-ppc64" "0.18.20" + "@esbuild/linux-riscv64" "0.18.20" + "@esbuild/linux-s390x" "0.18.20" + "@esbuild/linux-x64" "0.18.20" + "@esbuild/netbsd-x64" "0.18.20" + "@esbuild/openbsd-x64" "0.18.20" + "@esbuild/sunos-x64" "0.18.20" + "@esbuild/win32-arm64" "0.18.20" + "@esbuild/win32-ia32" "0.18.20" + "@esbuild/win32-x64" "0.18.20" + +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" +fast-json-stable-stringify@=2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + integrity sha512-eIgZvM9C3P05kg0qxfqaVU6Tma4QedCPIByQOcemV0vju8ot3cS2DpHi4m2G2JvbSMI152rjfLX0p1pkSdyPlQ== find-root@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== -generic-pool@*, generic-pool@^3.9.0: - version "3.9.0" - resolved "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz" - integrity sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - google-protobuf@^3.21.2: version "3.21.4" - resolved "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.4.tgz" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.4.tgz#2f933e8b6e5e9f8edde66b7be0024b68f77da6c9" integrity sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ== grpc-web@1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/grpc-web/-/grpc-web-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/grpc-web/-/grpc-web-1.2.1.tgz#860051d705bf5baa7b81fcbd14030060bf16b7b9" integrity sha512-ibBaJPzfMVuLPgaST9w0kZl60s+SnkPBQp6QKdpEr85tpc1gXW2QDqSne9xiyiym0logDfdUSm4aX5h9YBA2mw== h264decoder@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/h264decoder/-/h264decoder-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/h264decoder/-/h264decoder-1.0.0.tgz#5c3c5bc1f755df10f3689d58e00910264be8a8ff" integrity sha512-uFoa7RPOjKia91ziteLynrDkoIIx17zfIhJbTy2SXAg/Eu89H8sFVDw9lpWv3i4evIO1QlCdjrub0f4kRIgtcQ== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" hoist-non-react-statics@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" -immutable@^4.0.0: - version "4.2.2" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz" - integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og== - import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + hasown "^2.0.2" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json5@^2.2.2: +json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" +lru-cache@^7.14.0: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + lzfjs@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/lzfjs/-/lzfjs-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/lzfjs/-/lzfjs-1.0.1.tgz#f26074f55bdca831a6354449f59a1632fe8f6ea1" integrity sha512-P1x9feLT9xHg9OpfgWcDlWtndf7wYTJk5LgIeVE9tGo6CptVnDi34/mcT8REskWNdQCSiPGhSLQ80L7zTQXUVg== magic-string@^0.27.0: version "0.27.0" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== -node-releases@^2.0.8: - version "2.0.9" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz" - integrity sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +node-releases@^2.0.19: + version "2.0.20" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.20.tgz#e26bb79dbdd1e64a146df389c699014c611cbc27" + integrity sha512-7gK6zSXEH6neM212JgfYFXe+GmZQM+fia5SsusuBIUgnPheLFBmIPhtFoAQRj8/7wASYQnbDlHPVwY0BefoFgA== object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== pako@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -1079,36 +980,31 @@ parse-json@^5.0.0: path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -postcss@^8.4.21: - version "8.4.21" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== +postcss@^8.4.27: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -1116,48 +1012,43 @@ prop-types@^15.6.2, prop-types@^15.8.1: react-is "^16.13.1" react-chartjs-2@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.2.0.tgz" - integrity sha512-98iN5aguJyVSxp5U3CblRLH67J8gkfyGNbiK3c+l1QI/G4irHMPQw44aEPmjVag+YKTyQ260NcF82GTQ3bdscA== + version "5.3.0" + resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz#2d3286339a742bc7f77b5829c33ebab215f714cc" + integrity sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw== react-device-detect@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.2.tgz" - integrity sha512-zSN1gIAztUekp5qUT/ybHwQ9fmOqVT1psxpSlTn1pe0CO+fnJHKRLOWWac5nKxOxvOpD/w84hk1I+EydrJp7SA== + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca" + integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw== dependencies: - ua-parser-js "^1.0.2" + ua-parser-js "^1.0.33" -"react-dom@^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 0.14.0", react-dom@>=16.6.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== +react-dom@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + scheduler "^0.23.2" -react-is@^16.7.0: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^19.0.0: + version "19.1.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.1.tgz#038ebe313cf18e1fd1235d51c87360eb87f7c36a" + integrity sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA== react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + version "0.14.2" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.2.tgz#3833da01ce32da470f1f936b9d477da5c7028bf9" + integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -1165,147 +1056,106 @@ react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -"react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, "react@>= 0.14.0", react@>=16.6.0, react@>=16.8.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== +react@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.19.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.19.0: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -rollup@^3.18.0: - version "3.20.2" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz" - integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg== +rollup@^3.27.1: + version "3.29.5" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54" + integrity sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w== optionalDependencies: fsevents "~2.3.2" -sass@*: - version "1.57.1" - resolved "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz" - integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -source-map-js@^1.0.2, "source-map-js@>=0.6.2 <2.0.0": - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map@^0.5.7: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -stylis@4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz" - integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - typescript@^4.9.3: version "4.9.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -ua-parser-js@^1.0.2: - version "1.0.33" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.33.tgz" - integrity sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ== +ua-parser-js@^1.0.33: + version "1.0.41" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.41.tgz#bd04dc9ec830fcf9e4fad35cf22dcedd2e3b4e9c" + integrity sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug== -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.2.0" + picocolors "^1.1.1" validator@^13.11.0: - version "13.12.0" - resolved "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz" - integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== - -vite@^4.0.0, vite@^4.1.0-beta.0: - version "4.2.1" - resolved "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz" - integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== - dependencies: - esbuild "^0.17.5" - postcss "^8.4.21" - resolve "^1.22.1" - rollup "^3.18.0" + version "13.15.15" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.15.15.tgz#246594be5671dc09daa35caec5689fcd18c6e7e4" + integrity sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A== + +vite@^4.0.0: + version "4.5.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.14.tgz#2e652bc1d898265d987d6543ce866ecd65fa4086" + integrity sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g== + dependencies: + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" optionalDependencies: fsevents "~2.3.2" yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==