@hpcc-js/wasm-zstd
Version:
hpcc-js - WASM zstd
11 lines • 243 kB
JavaScript
var Sn=ArrayBuffer,U=Uint8Array,Xr=Uint16Array,Pn=Int16Array;var Qr=Int32Array,ne=function(n,a,i){if(U.prototype.slice)return U.prototype.slice.call(n,a,i);(a==null||a<0)&&(a=0),(i==null||i>n.length)&&(i=n.length);var c=new U(i-a);return c.set(n.subarray(a,i)),c},Fr=function(n,a,i,c){if(U.prototype.fill)return U.prototype.fill.call(n,a,i,c);for((i==null||i<0)&&(i=0),(c==null||c>n.length)&&(c=n.length);i<c;++i)n[i]=a;return n},Tn=function(n,a,i,c){if(U.prototype.copyWithin)return U.prototype.copyWithin.call(n,a,i,c);for((i==null||i<0)&&(i=0),(c==null||c>n.length)&&(c=n.length);i<c;)n[a++]=n[i++]};var Kn=["invalid zstd data","window size too large (>2046MB)","invalid block type","FSE accuracy too high","match distance too far back","unexpected EOF"],Y=function(n,a,i){var c=new Error(a||Kn[n]);if(c.code=n,Error.captureStackTrace&&Error.captureStackTrace(c,Y),!i)throw c;return c},ke=function(n,a,i){for(var c=0,u=0;c<i;++c)u|=n[a++]<<(c<<3);return u},En=function(n,a){return(n[a]|n[a+1]<<8|n[a+2]<<16|n[a+3]<<24)>>>0},$n=function(n,a){var i=n[0]|n[1]<<8|n[2]<<16;if(i==3126568&&n[3]==253){var c=n[4],u=c>>5&1,v=c>>2&1,d=c&3,w=c>>6;c&8&&Y(0);var b=6-u,E=d==3?4:d,x=ke(n,b,E);b+=E;var P=w?1<<w:u,$=ke(n,b,P)+(w==1&&256),F=$;if(!u){var j=1<<10+(n[5]>>3);F=j+(j>>3)*(n[5]&7)}F>2145386496&&Y(1);var _=new U((a==1?$||F:a?0:F)+12);return _[0]=1,_[4]=4,_[8]=8,{b:b+P,y:0,l:0,d:x,w:a&&a!=1?a:_.subarray(12),e:F,o:new Qr(_.buffer,0,3),u:$,c:v,m:Math.min(131072,F)}}else if((i>>4|n[3]<<20)==25481893)return En(n,4)+8;Y(0)},hr=function(n){for(var a=0;1<<a<=n;++a);return a-1},zr=function(n,a,i){var c=(a<<3)+4,u=(n[a]&15)+5;u>i&&Y(3);for(var v=1<<u,d=v,w=-1,b=-1,E=-1,x=v,P=new Sn(512+(v<<2)),$=new Pn(P,0,256),F=new Xr(P,0,256),j=new Xr(P,512,v),_=512+(v<<1),z=new U(P,_,v),W=new U(P,_+v);w<255&&d>0;){var D=hr(d+1),R=c>>3,q=(1<<D+1)-1,B=(n[R]|n[R+1]<<8|n[R+2]<<16)>>(c&7)&q,g=(1<<D)-1,I=q-d-1,X=B&g;if(X<I?(c+=D,B=X):(c+=D+1,B>g&&(B-=I)),$[++w]=--B,B==-1?(d+=B,z[--x]=w):d-=B,!B)do{var M=c>>3;b=(n[M]|n[M+1]<<8)>>(c&7)&3,c+=2,w+=b}while(b==3)}(w>255||d)&&Y(0);for(var k=0,A=(v>>1)+(v>>3)+3,Z=v-1,N=0;N<=w;++N){var T=$[N];if(T<1){F[N]=-T;continue}for(E=0;E<T;++E){z[k]=N;do k=k+A&Z;while(k>=x)}}for(k&&Y(0),E=0;E<v;++E){var m=F[z[E]]++,J=W[E]=u-hr(m);j[E]=(m<<J)-v}return[c+7>>3,{b:u,s:z,n:W,t:j}]},Dn=function(n,a){var i=0,c=-1,u=new U(292),v=n[a],d=u.subarray(0,256),w=u.subarray(256,268),b=new Xr(u.buffer,268);if(v<128){var E=zr(n,a+1,6),x=E[0],P=E[1];a+=v;var $=x<<3,F=n[a];F||Y(0);for(var j=0,_=0,z=P.b,W=z,D=(++a<<3)-8+hr(F);D-=z,!(D<$);){var R=D>>3;if(j+=(n[R]|n[R+1]<<8)>>(D&7)&(1<<z)-1,d[++c]=P.s[j],D-=W,D<$)break;R=D>>3,_+=(n[R]|n[R+1]<<8)>>(D&7)&(1<<W)-1,d[++c]=P.s[_],z=P.n[j],j=P.t[j],W=P.n[_],_=P.t[_]}++c>255&&Y(0)}else{for(c=v-127;i<c;i+=2){var q=n[++a];d[i]=q>>4,d[i+1]=q&15}++a}var B=0;for(i=0;i<c;++i){var g=d[i];g>11&&Y(0),B+=g&&1<<g-1}var I=hr(B)+1,X=1<<I,M=X-B;for(M&M-1&&Y(0),d[c++]=hr(M)+1,i=0;i<c;++i){var g=d[i];++w[d[i]=g&&I+1-g]}var k=new U(X<<1),A=k.subarray(0,X),Z=k.subarray(X);for(b[I]=0,i=I;i>0;--i){var N=b[i];Fr(Z,i,N,b[i-1]=N+w[i]*(1<<I-i))}for(b[0]!=X&&Y(0),i=0;i<c;++i){var T=d[i];if(T){var m=b[T];Fr(A,i,m,b[T]=m+(1<<I-T))}}return[a,{n:Z,b:I,s:A}]},Cn=zr(new U([81,16,99,140,49,198,24,99,12,33,196,24,99,102,102,134,70,146,4]),0,6)[1],Fn=zr(new U([33,20,196,24,99,140,33,132,16,66,8,33,132,16,66,8,33,68,68,68,68,68,68,68,68,36,9]),0,6)[1],zn=zr(new U([32,132,16,66,102,70,68,68,68,68,36,73,2]),0,5)[1],Ve=function(n,a){for(var i=n.length,c=new Qr(i),u=0;u<i;++u)c[u]=a,a+=1<<n[u];return c},ie=new U(new Qr([0,0,0,0,16843009,50528770,134678020,202050057,269422093]).buffer,0,36),xn=Ve(ie,0),ae=new U(new Qr([0,0,0,0,0,0,0,0,16843009,50528770,117769220,185207048,252579084,16]).buffer,0,53),Rn=Ve(ae,3),Cr=function(n,a,i){var c=n.length,u=a.length,v=n[c-1],d=(1<<i.b)-1,w=-i.b;v||Y(0);for(var b=0,E=i.b,x=(c<<3)-8+hr(v)-E,P=-1;x>w&&P<u;){var $=x>>3,F=(n[$]|n[$+1]<<8|n[$+2]<<16)>>(x&7);b=(b<<E|F)&d,a[++P]=i.s[b],x-=E=i.n[b]}(x!=w||P+1!=u)&&Y(0)},Bn=function(n,a,i){var c=6,u=a.length,v=u+3>>2,d=v<<1,w=v+d;Cr(n.subarray(c,c+=n[0]|n[1]<<8),a.subarray(0,v),i),Cr(n.subarray(c,c+=n[2]|n[3]<<8),a.subarray(v,d),i),Cr(n.subarray(c,c+=n[4]|n[5]<<8),a.subarray(d,w),i),Cr(n.subarray(c),a.subarray(w),i)},Hn=function(n,a,i){var c,u=a.b,v=n[u],d=v>>1&3;a.l=v&1;var w=v>>3|n[u+1]<<5|n[u+2]<<13,b=(u+=3)+w;if(d==1)return u>=n.length?void 0:(a.b=u+1,i?(Fr(i,n[u],a.y,a.y+=w),i):Fr(new U(w),n[u]));if(!(b>n.length)){if(d==0)return a.b=b,i?(i.set(n.subarray(u,b),a.y),a.y+=w,i):ne(n,u,b);if(d==2){var E=n[u],x=E&3,P=E>>2&3,$=E>>4,F=0,j=0;x<2?P&1?$|=n[++u]<<4|(P&2&&n[++u]<<12):$=E>>3:(j=P,P<2?($|=(n[++u]&63)<<4,F=n[u]>>6|n[++u]<<2):P==2?($|=n[++u]<<4|(n[++u]&3)<<12,F=n[u]>>2|n[++u]<<6):($|=n[++u]<<4|(n[++u]&63)<<12,F=n[u]>>6|n[++u]<<2|n[++u]<<10)),++u;var _=i?i.subarray(a.y,a.y+a.m):new U(a.m),z=_.length-$;if(x==0)_.set(n.subarray(u,u+=$),z);else if(x==1)Fr(_,n[u++],z);else{var W=a.h;if(x==2){var D=Dn(n,u);F+=u-(u=D[0]),a.h=W=D[1]}else W||Y(0);(j?Bn:Cr)(n.subarray(u,u+=F),_.subarray(z),W)}var R=n[u++];if(R){R==255?R=(n[u++]|n[u++]<<8)+32512:R>127&&(R=R-128<<8|n[u++]);var q=n[u++];q&3&&Y(0);for(var B=[Fn,zn,Cn],g=2;g>-1;--g){var I=q>>(g<<1)+2&3;if(I==1){var X=new U([0,0,n[u++]]);B[g]={s:X.subarray(2,3),n:X.subarray(0,1),t:new Xr(X.buffer,0,1),b:0}}else I==2?(c=zr(n,u,9-(g&1)),u=c[0],B[g]=c[1]):I==3&&(a.t||Y(0),B[g]=a.t[g])}var M=a.t=B,k=M[0],A=M[1],Z=M[2],N=n[b-1];N||Y(0);var T=(b<<3)-8+hr(N)-Z.b,m=T>>3,J=0,vr=(n[m]|n[m+1]<<8)>>(T&7)&(1<<Z.b)-1;m=(T-=A.b)>>3;var pr=(n[m]|n[m+1]<<8)>>(T&7)&(1<<A.b)-1;m=(T-=k.b)>>3;var dr=(n[m]|n[m+1]<<8)>>(T&7)&(1<<k.b)-1;for(++R;--R;){var mr=Z.s[vr],Rr=Z.n[vr],_r=k.s[dr],br=k.n[dr],Sr=A.s[pr],Pr=A.n[pr];m=(T-=Sr)>>3;var Tr=1<<Sr,Q=Tr+((n[m]|n[m+1]<<8|n[m+2]<<16|n[m+3]<<24)>>>(T&7)&Tr-1);m=(T-=ae[_r])>>3;var sr=Rn[_r]+((n[m]|n[m+1]<<8|n[m+2]<<16)>>(T&7)&(1<<ae[_r])-1);m=(T-=ie[mr])>>3;var or=xn[mr]+((n[m]|n[m+1]<<8|n[m+2]<<16)>>(T&7)&(1<<ie[mr])-1);if(m=(T-=Rr)>>3,vr=Z.t[vr]+((n[m]|n[m+1]<<8)>>(T&7)&(1<<Rr)-1),m=(T-=br)>>3,dr=k.t[dr]+((n[m]|n[m+1]<<8)>>(T&7)&(1<<br)-1),m=(T-=Pr)>>3,pr=A.t[pr]+((n[m]|n[m+1]<<8)>>(T&7)&(1<<Pr)-1),Q>3)a.o[2]=a.o[1],a.o[1]=a.o[0],a.o[0]=Q-=3;else{var ar=Q-(or!=0);ar?(Q=ar==3?a.o[0]-1:a.o[ar],ar>1&&(a.o[2]=a.o[1]),a.o[1]=a.o[0],a.o[0]=Q):Q=a.o[0]}for(var g=0;g<or;++g)_[J+g]=_[z+g];J+=or,z+=or;var lr=J-Q;if(lr<0){var cr=-lr,Br=a.e+lr;cr>sr&&(cr=sr);for(var g=0;g<cr;++g)_[J+g]=a.w[Br+g];J+=cr,sr-=cr,lr=0}for(var g=0;g<sr;++g)_[J+g]=_[lr+g];J+=sr}if(J!=z)for(;z<_.length;)_[J++]=_[z++];else J=_.length;i?a.y+=J:_=ne(_,0,J)}else if(i){if(a.y+=$,z)for(var g=0;g<$;++g)_[g]=_[z+g]}else z&&(_=ne(_,z));return a.b=b,_}Y(2)}},Un=function(n,a){if(n.length==1)return n[0];for(var i=new U(a),c=0,u=0;c<n.length;++c){var v=n[c];i.set(v,u),u+=v.length}return i};function je(n,a){for(var i=[],c=+!a,u=0,v=0;n.length;){var d=$n(n,c||a);if(typeof d=="object"){for(c?(a=null,d.w.length==d.u&&(i.push(a=d.w),v+=d.u)):(i.push(a),d.e=0);!d.l;){var w=Hn(n,d,a);w||Y(5),a?d.e=d.y:(i.push(w),v+=w.length,Tn(d.w,0,w.length),d.w.set(w,d.w.length-w.length))}u=d.b+d.c*4}else u=d;n=n.subarray(u)}return Un(i,v)}async function Yn(n={}){var a,i=n,c=(e,r)=>{throw r},u='',v="";function d(e){return v+e}var w,b,E=console.log.bind(console),x=console.error.bind(console),P,$=!1,F,j=e=>e.startsWith("file://"),_,z,W,D,R,q,B,g,I,X,M=!1;function k(){var e=Jr.buffer;W=new Int8Array(e),R=new Int16Array(e),i.HEAPU8=D=new Uint8Array(e),q=new Uint16Array(e),B=new Int32Array(e),g=new Uint32Array(e),I=new Float32Array(e),X=new Float64Array(e)}function A(){}function Z(){M=!0,Dr.y()}function N(){}function T(e){e="Aborted("+e+")",x(e),$=!0,e+=". Build with -sASSERTIONS for more info.",M&&$e();var r=new WebAssembly.RuntimeError(e);throw z?.(r),r}var m;let J=()=>"";function vr(e){if(e==m&&P)return new Uint8Array(P);if(b)return b(e);throw"both async and sync fetching of the wasm failed"}async function pr(e){if(!P)try{var r=await w(e);return new Uint8Array(r)}catch{}return vr(e)}async function dr(e,r){try{var t=await pr(e),s=await WebAssembly.instantiate(t,r);return s}catch(o){x(`failed to asynchronously prepare wasm: ${o}`),T(o)}}async function mr(e,r,t){if(!e&&!j(r))try{var s=fetch(r,{credentials:"same-origin"}),o=await WebAssembly.instantiateStreaming(s,t);return o}catch(l){x(`wasm streaming compile failed: ${l}`),x("falling back to ArrayBuffer instantiation")}return dr(r,t)}function Rr(){var e={a:mn};return e}async function _r(){function e(l,h){return Dr=l.exports,wn(Dr),k(),Dr}function r(l){return e(l.instance)}var t=Rr();m??=J();var s=await mr(P,m,t),o=r(s);return o}class br{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var Sr=globalThis.TextDecoder&&new TextDecoder,Pr=(e,r,t,s)=>{var o=r+t;if(s)return o;for(;e[r]&&!(r>=o);)++r;return r},Tr=(e,r=0,t,s)=>{var o=Pr(e,r,t,s);if(o-r>16&&e.buffer&&Sr)return Sr.decode(e.subarray(r,o));for(var l="";r<o;){var h=e[r++];if(!(h&128)){l+=String.fromCharCode(h);continue}var f=e[r++]&63;if((h&224)==192){l+=String.fromCharCode((h&31)<<6|f);continue}var p=e[r++]&63;if((h&240)==224?h=(h&15)<<12|f<<6|p:h=(h&7)<<18|f<<12|p<<6|e[r++]&63,h<65536)l+=String.fromCharCode(h);else{var y=h-65536;l+=String.fromCharCode(55296|y>>10,56320|y&1023)}}return l},Q=(e,r,t)=>e?Tr(D,e,r,t):"",sr=(e,r,t,s)=>T(`Assertion failed: ${Q(e)}, at: `+[r?Q(r):"unknown filename",t,s?Q(s):"unknown function"]),or=()=>He,ar=e=>{var r=e.getArg(or(),0);return Re(r)},lr=()=>Fe(),cr=e=>De(e),Br=e=>Ce(e),Me=e=>{var r=lr(),t=Br(4),s=Br(4);Be(e,t,s);var o=g[t>>2],l=g[s>>2],h=Q(o);rr(o);var f;return l&&(f=Q(l),rr(l)),cr(r),[h,f]},oe=e=>{var r=ar(e);return Me(r)},Ze=e=>{var r=new WebAssembly.Exception(or(),[e],{traceStack:!0});throw r.message=oe(r),r},Ne=()=>T(""),Ge=(e,r,t,s,o)=>{},G=e=>{for(var r="";;){var t=D[e++];if(!t)return r;r+=String.fromCharCode(t)}},gr={},yr={},Hr={},Kr=class extends Error{constructor(r){super(r),this.name="BindingError"}},K=e=>{throw new Kr(e)};function Le(e,r,t={}){var s=r.name;if(e||K(`type "${s}" must have a positive integer typeid pointer`),yr.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;K(`Cannot register type '${s}' twice`)}if(yr[e]=r,delete Hr[e],gr.hasOwnProperty(e)){var o=gr[e];delete gr[e],o.forEach(l=>l())}}function ir(e,r,t={}){return Le(e,r,t)}var Ae=(e,r,t,s)=>{r=G(r),ir(e,{name:r,fromWireType:function(o){return!!o},toWireType:function(o,l){return l?t:s},readValueFromPointer:function(o){return this.fromWireType(D[o])},destructorFunction:null})},rt=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),Wr=e=>{function r(t){return t.$$.ptrType.registeredClass.name}K(r(e)+" instance already deleted")},qr=!1,le=e=>{},et=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},ce=e=>{e.count.value-=1;var r=e.count.value===0;r&&et(e)},Er=e=>globalThis.FinalizationRegistry?(qr=new FinalizationRegistry(r=>{ce(r.$$)}),Er=r=>{var t=r.$$,s=!!t.smartPtr;if(s){var o={$$:t};qr.register(r,o,r)}return r},le=r=>qr.unregister(r),Er(e)):(Er=r=>r,e),Ur=[],tt=()=>{for(;Ur.length;){var e=Ur.pop();e.$$.deleteScheduled=!1,e.delete()}},ue,nt=()=>{let e=Yr.prototype;Object.assign(e,{isAliasOf(t){if(!(this instanceof Yr)||!(t instanceof Yr))return!1;var s=this.$$.ptrType.registeredClass,o=this.$$.ptr;t.$$=t.$$;for(var l=t.$$.ptrType.registeredClass,h=t.$$.ptr;s.baseClass;)o=s.upcast(o),s=s.baseClass;for(;l.baseClass;)h=l.upcast(h),l=l.baseClass;return s===l&&o===h},clone(){if(this.$$.ptr||Wr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var t=Er(Object.create(Object.getPrototypeOf(this),{$$:{value:rt(this.$$)}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),le(this),ce(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Wr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&K("Object already scheduled for deletion"),Ur.push(this),Ur.length===1&&ue&&ue(tt),this.$$.deleteScheduled=!0,this}});let r=Symbol.dispose;r&&(e[r]=e.delete)};function Yr(){}var fe=(e,r)=>Object.defineProperty(r,"name",{value:e}),he={},Mr=(e,r,t)=>{if(e[r].overloadTable===void 0){var s=e[r];e[r]=function(...o){return e[r].overloadTable.hasOwnProperty(o.length)||K(`Function '${t}' called with an invalid number of arguments (${o.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[o.length].apply(this,o)},e[r].overloadTable=[],e[r].overloadTable[s.argCount]=s}},it=(e,r,t)=>{i.hasOwnProperty(e)?((t===void 0||i[e].overloadTable!==void 0&&i[e].overloadTable[t]!==void 0)&&K(`Cannot register public name '${e}' twice`),Mr(i,e,e),i[e].overloadTable.hasOwnProperty(t)&&K(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),i[e].overloadTable[t]=r):(i[e]=r,i[e].argCount=t)},at=48,st=57,ot=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=at&&r<=st?`_${e}`:e};function lt(e,r,t,s,o,l,h,f){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=s,this.baseClass=o,this.getActualType=l,this.upcast=h,this.downcast=f,this.pureVirtualFunctions=[]}var Zr=(e,r,t)=>{for(;r!==t;)r.upcast||K(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e},Nr=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e};function ct(e,r){if(r===null)return this.isReference&&K(`null is not a valid ${this.name}`),0;r.$$||K(`Cannot pass "${Nr(r)}" as a ${this.name}`),r.$$.ptr||K(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass,s=Zr(r.$$.ptr,t,this.registeredClass);return s}function ut(e,r){var t;if(r===null)return this.isReference&&K(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,t),t):0;(!r||!r.$$)&&K(`Cannot pass "${Nr(r)}" as a ${this.name}`),r.$$.ptr||K(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&K(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var s=r.$$.ptrType.registeredClass;if(t=Zr(r.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&K("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:K(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,Ar.toHandle(()=>o.delete())),e!==null&&e.push(this.rawDestructor,t)}break;default:K("Unsupporting sharing policy")}return t}function ft(e,r){if(r===null)return this.isReference&&K(`null is not a valid ${this.name}`),0;r.$$||K(`Cannot pass "${Nr(r)}" as a ${this.name}`),r.$$.ptr||K(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&K(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass,s=Zr(r.$$.ptr,t,this.registeredClass);return s}function Or(e){return this.fromWireType(g[e>>2])}var ve=(e,r,t)=>{if(r===t)return e;if(t.baseClass===void 0)return null;var s=ve(e,r,t.baseClass);return s===null?null:t.downcast(s)},ht={},vt=(e,r)=>{for(r===void 0&&K("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},pt=(e,r)=>(r=vt(e,r),ht[r]),dt=class extends Error{constructor(r){super(r),this.name="InternalError"}},Ir=e=>{throw new dt(e)},kr=(e,r)=>{(!r.ptrType||!r.ptr)&&Ir("makeClassHandle requires ptr and ptrType");var t=!!r.smartPtrType,s=!!r.smartPtr;return t!==s&&Ir("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Er(Object.create(e,{$$:{value:r,writable:!0}}))};function gt(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=pt(this.registeredClass,r);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var s=t.clone();return this.destructor(e),s}function o(){return this.isSmartPointer?kr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):kr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var l=this.registeredClass.getActualType(r),h=he[l];if(!h)return o.call(this);var f;this.isConst?f=h.constPointerType:f=h.pointerType;var p=ve(r,this.registeredClass,f.registeredClass);return p===null?o.call(this):this.isSmartPointer?kr(f.registeredClass.instancePrototype,{ptrType:f,ptr:p,smartPtrType:this,smartPtr:e}):kr(f.registeredClass.instancePrototype,{ptrType:f,ptr:p})}var yt=()=>{Object.assign(Vr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:Or,fromWireType:gt})};function Vr(e,r,t,s,o,l,h,f,p,y,S){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=s,this.isSmartPointer=o,this.pointeeType=l,this.sharingPolicy=h,this.rawGetPointee=f,this.rawConstructor=p,this.rawShare=y,this.rawDestructor=S,!o&&r.baseClass===void 0?s?(this.toWireType=ct,this.destructorFunction=null):(this.toWireType=ft,this.destructorFunction=null):this.toWireType=ut}var wt=(e,r,t)=>{i.hasOwnProperty(e)||Ir("Replacing nonexistent public symbol"),i[e].overloadTable!==void 0&&t!==void 0?i[e].overloadTable[t]=r:(i[e]=r,i[e].argCount=t)},pe={},mt=(e,r,t)=>{e=e.replace(/p/g,"i");var s=pe[e];return s(r,...t)},de=e=>Ue.get(e),_t=(e,r,t=[],s=!1)=>{if(e.includes("j"))return mt(e,r,t);var o=de(r),l=o(...t);function h(f){return f}return l},bt=(e,r,t=!1)=>(...s)=>_t(e,r,s,t),ur=(e,r,t=!1)=>{e=G(e);function s(){if(e.includes("j"))return bt(e,r);var l=de(r);return l}var o=s();return typeof o!="function"&&K(`unknown function pointer with signature ${e}: ${r}`),o};class St extends Error{}var Pt=e=>{var r=Ke(e),t=G(r);return rr(r),t},jr=(e,r)=>{var t=[],s={};function o(l){if(!s[l]&&!yr[l]){if(Hr[l]){Hr[l].forEach(o);return}t.push(l),s[l]=!0}}throw r.forEach(o),new St(`${e}: `+t.map(Pt).join([", "]))},fr=(e,r,t)=>{e.forEach(f=>Hr[f]=r);function s(f){var p=t(f);p.length!==e.length&&Ir("Mismatched type converter count");for(var y=0;y<e.length;++y)ir(e[y],p[y])}var o=new Array(r.length),l=[],h=0;for(let[f,p]of r.entries())yr.hasOwnProperty(p)?o[f]=yr[p]:(l.push(p),gr.hasOwnProperty(p)||(gr[p]=[]),gr[p].push(()=>{o[f]=yr[p],++h,h===l.length&&s(o)}));l.length===0&&s(o)},Tt=(e,r,t,s,o,l,h,f,p,y,S,H,O)=>{S=G(S),l=ur(o,l),f&&=ur(h,f),y&&=ur(p,y),O=ur(H,O);var C=ot(S);it(C,function(){jr(`Cannot construct ${S} due to unbound types`,[s])}),fr([e,r,t],s?[s]:[],V=>{V=V[0];var er,L;s?(er=V.registeredClass,L=er.instancePrototype):L=Yr.prototype;var tr=fe(S,function(...te){if(Object.getPrototypeOf(this)!==ee)throw new Kr(`Use 'new' to construct ${S}`);if(nr.constructor_body===void 0)throw new Kr(`${S} has no accessible constructor`);var Ie=nr.constructor_body[te.length];if(Ie===void 0)throw new Kr(`Tried to invoke ctor of ${S} with invalid number of parameters (${te.length}) - expected (${Object.keys(nr.constructor_body).toString()}) parameters instead!`);return Ie.apply(this,te)}),ee=Object.create(L,{constructor:{value:tr}});tr.prototype=ee;var nr=new lt(S,tr,ee,O,er,l,f,y);nr.baseClass&&(nr.baseClass.__derivedClasses??=[],nr.baseClass.__derivedClasses.push(nr));var bn=new Vr(S,nr,!0,!1,!1),Ye=new Vr(S+"*",nr,!1,!1,!1),Oe=new Vr(S+" const*",nr,!1,!0,!1);return he[e]={pointerType:Ye,constPointerType:Oe},wt(C,tr),[bn,Ye,Oe]})},Kt=e=>{for(;e.length;){var r=e.pop(),t=e.pop();t(r)}};function ge(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function Et(e,r,t,s){var o=ge(e),l=e.length-2,h=[],f=["fn"];r&&f.push("thisWired");for(var p=0;p<l;++p)h.push(`arg${p}`),f.push(`arg${p}Wired`);h=h.join(","),f=f.join(",");var y=`return function (${h}) {
`;o&&(y+=`var destructors = [];
`);var S=o?"destructors":"null",H=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];r&&(y+=`var thisWired = toClassParamWire(${S}, this);
`);for(var p=0;p<l;++p){var O=`toArg${p}Wire`;y+=`var arg${p}Wired = ${O}(${S}, arg${p});
`,H.push(O)}if(y+=(t||s?"var rv = ":"")+`invoker(${f});
`,o)y+=`runDestructors(destructors);
`;else for(var p=r?1:2;p<e.length;++p){var C=p===1?"thisWired":"arg"+(p-2)+"Wired";e[p].destructorFunction!==null&&(y+=`${C}_dtor(${C});
`,H.push(`${C}_dtor`))}return t&&(y+=`var ret = fromRetWire(rv);
return ret;
`),y+=`}
`,new Function(H,y)}function Gr(e,r,t,s,o,l){var h=r.length;h<2&&K("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var f=r[1]!==null&&t!==null,p=ge(r),y=!r[0].isVoid,S=r[0],H=r[1],O=[e,K,s,o,Kt,S.fromWireType.bind(S),H?.toWireType.bind(H)],C=2;C<h;++C){var V=r[C];O.push(V.toWireType.bind(V))}if(!p)for(var C=f?1:2;C<r.length;++C)r[C].destructorFunction!==null&&O.push(r[C].destructorFunction);var L=Et(r,f,y,l)(...O);return fe(e,L)}var Lr=(e,r)=>{for(var t=[],s=0;s<e;s++)t.push(g[r+s*4>>2]);return t},ye=e=>{e=e.trim();let r=e.indexOf("(");return r===-1?e:e.slice(0,r)},$t=(e,r,t,s,o,l,h,f,p)=>{var y=Lr(t,s);r=G(r),r=ye(r),l=ur(o,l,f),fr([],[e],S=>{S=S[0];var H=`${S.name}.${r}`;function O(){jr(`Cannot call ${H} due to unbound types`,y)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var C=S.registeredClass.constructor;return C[r]===void 0?(O.argCount=t-1,C[r]=O):(Mr(C,r,H),C[r].overloadTable[t-1]=O),fr([],y,V=>{var er=[V[0],null].concat(V.slice(1)),L=Gr(H,er,null,l,h,f);if(C[r].overloadTable===void 0?(L.argCount=t-1,C[r]=L):C[r].overloadTable[t-1]=L,S.registeredClass.__derivedClasses)for(let tr of S.registeredClass.__derivedClasses)tr.constructor.hasOwnProperty(r)||(tr.constructor[r]=L);return[]}),[]})},Dt=(e,r,t,s,o,l)=>{var h=Lr(r,t);o=ur(s,o),fr([],[e],f=>{f=f[0];var p=`constructor ${f.name}`;if(f.registeredClass.constructor_body===void 0&&(f.registeredClass.constructor_body=[]),f.registeredClass.constructor_body[r-1]!==void 0)throw new Kr(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${f.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return f.registeredClass.constructor_body[r-1]=()=>{jr(`Cannot construct ${f.name} due to unbound types`,h)},fr([],h,y=>(y.splice(1,0,null),f.registeredClass.constructor_body[r-1]=Gr(p,y,null,o,l),[])),[]})},Ct=(e,r,t,s,o,l,h,f,p,y)=>{var S=Lr(t,s);r=G(r),r=ye(r),l=ur(o,l,p),fr([],[e],H=>{H=H[0];var O=`${H.name}.${r}`;r.startsWith("@@")&&(r=Symbol[r.substring(2)]),f&&H.registeredClass.pureVirtualFunctions.push(r);function C(){jr(`Cannot call ${O} due to unbound types`,S)}var V=H.registeredClass.instancePrototype,er=V[r];return er===void 0||er.overloadTable===void 0&&er.className!==H.name&&er.argCount===t-2?(C.argCount=t-2,C.className=H.name,V[r]=C):(Mr(V,r,O),V[r].overloadTable[t-2]=C),fr([],S,L=>{var tr=Gr(O,L,H,l,h,p);return V[r].overloadTable===void 0?(tr.argCount=t-2,V[r]=tr):V[r].overloadTable[t-2]=tr,[]}),[]})},we=[],wr=[0,1,,1,null,1,!0,1,!1,1],Ft=e=>{e>9&&--wr[e+1]===0&&(wr[e]=void 0,we.push(e))},Ar={toValue:e=>(e||K(`Cannot use deleted val. handle = ${e}`),wr[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let r=we.pop()||wr.length;return wr[r]=e,wr[r+1]=1,r}}}},zt={name:"emscripten::val",fromWireType:e=>{var r=Ar.toValue(e);return Ft(e),r},toWireType:(e,r)=>Ar.toHandle(r),readValueFromPointer:Or,destructorFunction:null},xt=e=>ir(e,zt),Rt=(e,r)=>{switch(r){case 4:return function(t){return this.fromWireType(I[t>>2])};case 8:return function(t){return this.fromWireType(X[t>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Bt=(e,r,t)=>{r=G(r),ir(e,{name:r,fromWireType:s=>s,toWireType:(s,o)=>o,readValueFromPointer:Rt(r,t),destructorFunction:null})},Ht=(e,r,t)=>{switch(r){case 1:return t?s=>W[s]:s=>D[s];case 2:return t?s=>R[s>>1]:s=>q[s>>1];case 4:return t?s=>B[s>>2]:s=>g[s>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Ut=(e,r,t,s,o)=>{r=G(r);let l=s===0,h=p=>p;if(l){var f=32-8*t;h=p=>p<<f>>>f,o=h(o)}ir(e,{name:r,fromWireType:h,toWireType:(p,y)=>y,readValueFromPointer:Ht(r,t,s!==0),destructorFunction:null})},Yt=(e,r,t)=>{var s=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],o=s[r];function l(h){var f=g[h>>2],p=g[h+4>>2];return new o(W.buffer,p,f)}t=G(t),ir(e,{name:t,fromWireType:l,readValueFromPointer:l},{ignoreDuplicateRegistrations:!0})},Ot=(e,r,t,s)=>{if(!(s>0))return 0;for(var o=t,l=t+s-1,h=0;h<e.length;++h){var f=e.codePointAt(h);if(f<=127){if(t>=l)break;r[t++]=f}else if(f<=2047){if(t+1>=l)break;r[t++]=192|f>>6,r[t++]=128|f&63}else if(f<=65535){if(t+2>=l)break;r[t++]=224|f>>12,r[t++]=128|f>>6&63,r[t++]=128|f&63}else{if(t+3>=l)break;r[t++]=240|f>>18,r[t++]=128|f>>12&63,r[t++]=128|f>>6&63,r[t++]=128|f&63,h++}}return r[t]=0,t-o},me=(e,r,t)=>Ot(e,D,r,t),_e=e=>{for(var r=0,t=0;t<e.length;++t){var s=e.charCodeAt(t);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++t):r+=3}return r},It=(e,r)=>{r=G(r);var t=!0;ir(e,{name:r,fromWireType(s){var o=g[s>>2],l=s+4,h;if(t)h=Q(l,o,!0);else{h="";for(var f=0;f<o;++f)h+=String.fromCharCode(D[l+f])}return rr(s),h},toWireType(s,o){o instanceof ArrayBuffer&&(o=new Uint8Array(o));var l,h=typeof o=="string";h||ArrayBuffer.isView(o)&&o.BYTES_PER_ELEMENT==1||K("Cannot pass non-string to std::string"),t&&h?l=_e(o):l=o.length;var f=re(4+l+1),p=f+4;if(g[f>>2]=l,h)if(t)me(o,p,l+1);else for(var y=0;y<l;++y){var S=o.charCodeAt(y);S>255&&(rr(f),K("String has UTF-16 code units that do not fit in 8 bits")),D[p+y]=S}else D.set(o,p);return s!==null&&s.push(rr,f),f},readValueFromPointer:Or,destructorFunction(s){rr(s)}})},be=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,kt=(e,r,t)=>{var s=e>>1,o=Pr(q,s,r/2,t);if(o-s>16&&be)return be.decode(q.subarray(s,o));for(var l="",h=s;h<o;++h){var f=q[h];l+=String.fromCharCode(f)}return l},Vt=(e,r,t)=>{if(t??=2147483647,t<2)return 0;t-=2;for(var s=r,o=t<e.length*2?t/2:e.length,l=0;l<o;++l){var h=e.charCodeAt(l);R[r>>1]=h,r+=2}return R[r>>1]=0,r-s},jt=e=>e.length*2,Jt=(e,r,t)=>{for(var s="",o=e>>2,l=0;!(l>=r/4);l++){var h=g[o+l];if(!h&&!t)break;s+=String.fromCodePoint(h)}return s},Xt=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var s=r,o=s+t-4,l=0;l<e.length;++l){var h=e.codePointAt(l);if(h>65535&&l++,B[r>>2]=h,r+=4,r+4>o)break}return B[r>>2]=0,r-s},Qt=e=>{for(var r=0,t=0;t<e.length;++t){var s=e.codePointAt(t);s>65535&&t++,r+=4}return r},Wt=(e,r,t)=>{t=G(t);var s,o,l;r===2?(s=kt,o=Vt,l=jt):(s=Jt,o=Xt,l=Qt),ir(e,{name:t,fromWireType:h=>{var f=g[h>>2],p=s(h+4,f*r,!0);return rr(h),p},toWireType:(h,f)=>{typeof f!="string"&&K(`Cannot pass non-string to C++ string type ${t}`);var p=l(f),y=re(4+p+r);return g[y>>2]=p/r,o(f,y+4,p+r),h!==null&&h.push(rr,y),y},readValueFromPointer:Or,destructorFunction(h){rr(h)}})},qt=(e,r)=>{r=G(r),ir(e,{isVoid:!0,name:r,fromWireType:()=>{},toWireType:(t,s)=>{}})},Mt=0,Zt=()=>{Mt=0},$r={},Se=e=>{if(e instanceof br||e=="unwind")return F;c(1,e)},Pe=()=>!0,Te=e=>{F=e,Pe()||($=!0),c(e,new br(e))},Nt=(e,r)=>{F=e,Te(e)},Gt=Nt,Lt=()=>{if(!Pe())try{Gt(F)}catch(e){Se(e)}},At=e=>{if(!$)try{e(),Lt()}catch(r){Se(r)}},rn=()=>performance.now(),en=(e,r)=>{if($r[e]&&(clearTimeout($r[e].id),delete $r[e]),!r)return 0;var t=setTimeout(()=>{delete $r[e],At(()=>Ee(e,rn()))},r);return $r[e]={id:t,timeout_ms:r},0},tn=()=>2147483648,nn=(e,r)=>Math.ceil(e/r)*r,an=e=>{var r=Jr.buffer.byteLength,t=(e-r+65535)/65536|0;try{return Jr.grow(t),k(),1}catch{}},sn=e=>{var r=D.length;e>>>=0;var t=tn();if(e>t)return!1;for(var s=1;s<=4;s*=2){var o=r*(1+.2/s);o=Math.min(o,e+100663296);var l=Math.min(t,nn(Math.max(e,o),65536)),h=an(l);if(h)return!0}return!1},on=e=>52,ln=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+r*4294967296:NaN;function cn(e,r,t,s,o){var l=ln(r,t);return 70}var un=[null,[],[]],fn=(e,r)=>{var t=un[e];r===0||r===10?((e===1?E:x)(Tr(t)),t.length=0):t.push(r)},hn=(e,r,t,s)=>{for(var o=0,l=0;l<t;l++){var h=g[r>>2],f=g[r+4>>2];r+=8;for(var p=0;p<f;p++)fn(e,D[h+p]);o+=f}return g[s>>2]=o,0},vn=e=>{var r=ar(e);xe(r)},pn=e=>{var r=ar(e);ze(r)};nt(),yt(),i.wasmBinary&&(P=i.wasmBinary),i.UTF8ToString=Q,i.stringToUTF8=me,i.lengthBytesUTF8=_e,i.getExceptionMessage=oe,i.incrementExceptionRefcount=vn,i.decrementExceptionRefcount=pn;var Ke,re,rr,Ee,$e,De,Ce,Fe,ze,xe,Re,Be,dn,gn,yn,He,Jr,Ue;function wn(e){Ke=e.z,re=i._malloc=e.A,rr=i._free=e.B,Ee=e.D,$e=e.E,De=e.F,Ce=e.G,Fe=e.H,ze=e.J,xe=e.K,Re=e.L,Be=e.M,dn=pe.jiji=e.N,gn=Jr=e.x,yn=Ue=e.C,He=e.I}var mn={p:sr,r:Ze,q:Ne,l:Ge,i:Ae,w:Tt,b:$t,v:Dt,d:Ct,g:xt,f:Bt,c:Ut,a:Yt,h:It,e:Wt,j:qt,n:Zt,o:en,s:sn,u:on,k:cn,t:hn,m:Te};function _n(){function e(){i.calledRun=!0,!$&&(Z(),_?.(i),void 0)}e()}var Dr;return Dr=await _r(),_n(),M?a=i:a=new Promise((e,r)=>{_=e,z=r}),a}var Je=Yn;var On=new Int8Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,90,63,64,65,66,-1,67,68,69,70,71,-1,72,73,52,53,54,55,56,57,58,59,60,61,74,75,76,77,78,79,80,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,81,-1,82,83,84,85,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,86,87,88,89,-1]);function In(n){let a=new Uint8Array(170411),i=0,c=0,u=0,v=-1;for(let d=0,w=n.length;d<w;d++){let b=n.charCodeAt(d);if(b>127)continue;let E=On[b];if(!(E<0))if(v<0)v=E;else{v+=E*91,c|=v<<u,u+=(v&8191)>88?13:14;do a[i++]=c,c>>>=8,u-=8;while(u>7);v=-1}}return v>=0&&(a[i++]=(c|v<<u)&255),a}var kn='v7#a#A(?e?h=FbsE(M`)qm"o,TA_gqB%@|cQ/O1JL*uh|PO~,x],U4TNg{rel[Pb^vaFzIKN5`fT|67T_Fg>I<{mQ~At!^Alqu:G8&K|H1@R/[w@_2K)u%[wk0k+PTIWI:1J61G?%MeR8pP$o=1sE=cFx_#}`IaZjC%@;&yjUifuBaL:1JDoI)Zis8rihuYDRfNg]kJl9*4DK_ne&;|F&ifSthBxx`2fG?h&MKj)Jjo59_G4~hM8Y&w7+FY[S+H5ITbD]n$Xl#yjPu1!]Y_yc!2t@hFleWIc`0jfw_y_hOoJ1FV6dsGBIs^t*UoJ6W.wsO]S3"j7exXB[w]90s2`kE[Ze~XxTxESNAs&b0E>y#QpIccNFPBVskmKWPei764x]9iYWHBRD1(<Di[Z)HhmCf7=rz1__#<boXU.9KVIw87hhR[rwg6j4un6C$<h.#"8>k9DT?}ra1F[[+Ln2IT:v?pc^j[eY91/H47Dy8f9ug+Sw|l<8r_0n@7_TWT6@o%o.QX1i,$C<@o?N!heUi~8j5Auvw)54!aGMZBCCHx6T"k%OmF!js_6`.9g1DxP:%thQ53i$89@PbsBLdj!`zM_hOd<a<+}."x#^f`4QlM_Md=gmfvuAsV.^HkIU+NC*ttUK.Sqy?J!P("#<Xjs)!JA$cy":W,ylD/Ga#n@9{|`RL+F{l;CVZ*LfS;jX2Fk4}SV_y4r*7(XA=tiZbAuyX:Z<XGLbYjslO}c~|G8LyZ&S<6}C$"eZ+cpb;LfErCjZbQ0;#ujws8@bvdm~>7U)"]}{J9xsuBCwx}GhQ6vEV`T+}`Uzj5#h*q@zD*Yj6>g#vrp}zF5i5C5Ls@!A84,^F0S~pM<j*<`bO[rwKfC<gQ5hIy&uR*62DbR$E|YHWx@YED7/B7ICK%x6lA}fyUZ1L9^b]0p?a:K%*V8Yx4Ov/f/mj|ga|{H#!I&.kf52S<gRyRaN)u/V1Dea|G|yV0bn#&$(BXK(ArP7h`V4QQRr"dpbI9Ksd~h1~X|x8nRAz0y8LZ^ePojuH]YK.,NFT]=emEw1$[tXa/vL8{[TD/bVB)=R3`(iXekK7!pn@+(B>Gd[w1$%&DSqwq??ck~iK,o<i~hZH9S[g`6=Ixriqk2eO<FDpi2%=.N0@C).{h~fb]Ts@RdeKEU(B[IIf{TA|5<]{veW|0E)[GkGKc+!x[3BoevTvJtt,pMB5A9`=M(l?lT7IR!Z3@jwu*@et]|qb.hkr/C"dZpNjFw:Uc/em!Mtw0KIX<a;B|aD*v%4QS7z4qhlx^%:{vr"dfV+.,#5pDjZbF%Rw]41/]#]O=K1!4XQ~rGsV~eq`71^X;(D/ZobD,FEHgtBWhdpn%*!v7F]4yD2{%[fs/QH;67.$47sn0#;>/d?V^C2<5dH9@#EWa,ozJ,<[Had/I/WDHyn/*1X>E[B=Q14x}d<Pv/Kl``{$]RH0?mByQ:hWzg/v7~kI?>mVD;vUdn+M{8%!O(g!&]"&I:;s).Dizc|9]Tvpig;?`x_a|ce@fDMmuM>7Mwios<V,3O)5EDvMqnBZe@s0HUuMnge@BF4TB<Qkf5TtBcd:3h=R}I6p=0v/|m6%&ik;2&Z<{`J/3McKuKT_(?*9bR)i6/W>%uWEI/ZiZUr^YF;l<##X0hxD}Kz[/8Hf$h,/wN6?vb%B$(m[8W8vsZ{5N7owEisb!C`1e>jf?5=+@i$|UK=(|0M?."yajt8la66t0C~UBF1iyC4{AA6EJbll+:|x34s[dWCjE6vBbRwg(j$.tX8S#EfKcvdIG#yve@Y$&4KJvR/Zk!d+>Edg,#KLEVXnn!;)+s(LFk$l^%X_|VRV1c2c@0:Ib0{<a2Fdi+,+;a}<)=@k&Vn3z4)4Na<nyC*w$[Br(D;+h9]#(eD4P(k}p809JH%MyvKRI(CoZsphKWL(J/IeyMoq}5_U`!5wJ_<U1eWHbpCV$.s5l)R7_;Y2l>RR6Y]j}hbp(|Y;1^$wz{%!d_>!@e7Ia~0Civa{wC1Idy>RH=<pY*i~4SBX!<m3cJd;M3LQrCI$_oHfV<NfIc91q(oH[c5RK}1YgM"^jGZe%f|9=KNC,|Kl^XF}*40sQv%/F&mF;heQh68VEr!XIsiScxA5?},[q8`}sUf.:!EpuVV$$/(pT^x%S$.Qny#gb9*?5i$H6;ikYdP!s>5._YA/wsB`z8sKJ[w6M]:CoSg=J.:S:Pa~y2y2#e,?%.<?}v:RX#S8ei51F^3jg.w*8i65?KSE!^`as*P/BMa;my7]#uy]}Qf<6TX>T@&M(Z>MN_cH~qqM/Q5{Ccl1a_4|k^xh$OQLCcmw$,1O@{ni}!:RMl+V@%XJj5{TT7Ly;it&I/[07F5$/&K|86lsW(K|:WcW_s;;zRX5q9,9=k2ILBr+f%OJ[E]j;LcLb{=3G[^n~|N><vk+QvzO0qbk}(8@p|Dm9}UqEO.Bg~YkZbp|8reu4s(?`>UF/b;JMKM>Ekn|ns!~]wAT~^F%^k|wATPLCP%mw]xQtIEc,=tj`{h.tKh6Df1>M+fwQze}zIj5hO_k+1KkPy[qdm|0`!w|s,z`aH7@eWFVPxI[4{i]acw5c1^ms50)`PF7h_)6&bB+OU=zT(j3vwz)T8/rt%f~Qslbns<,"Qq;rTXhEO48J.VtOem~n3/y_FZ3Q4cudtmKnScEIu6al!|.=Bi`_JP`>m=42$#cgwdEG#|)}`x;<kFk4,*uTr1eA5cM6NkR()2sW[h<4=R4|`^l.QfnJ2|Y^S[9s2#=7za~3hqkjs,{zx%|g~|f(HBFGgF"3a0G6pCK|>tJ(el!(1s4tmZ^E;fWU}!_er0SRv(zk%l138K(Ydbh4W2)?5I(9KyhYW2][QP4+}Hxc~t9TTsk?@|*3ji!./%sZnOy7<[G[w.VCycJMuM3.s56=yS#7oLT,&%_/s#gYW6]cWSn"%E%5OMir83gF>Wht^ac45hu4sT;5sZn"%E%*!jynFuMYeclq~bhy>|)eio:V~x*f[,f^w(Ly|ITg#{rJ&NjgVN(9K.s8x)Fn(}VPxf_``hTk18ywXE|wXv{dY7LhvIVRVqdg}FS&x7!,r&>Q1zF!%I/KjB_G^PHJYr83gy3WhW.acg5^X`^,`Zfv}Z}fJF|&Sr;;#6Ll[sF89M<4~}{VR:a]j^U#KM=[@YyR:}ey>&|E^;Q>bQ7j)oL|C=:5v:UI@,BtOY.ay~G04"SMV]UO+zC^hE)ay?E#nJ1[2%NO+jCD%/(uv2K,QVlwu]P1_3HK.)k"X"LCi]6:F5#f?,G$<(n@2z3)Wq::Cd2K?8X?8>Tob,b`KVlhu`2Yqii7vPG1bO+NwAFsn:txGF1~*)$`(l6PVxhRd1K+QG2zK+QXzzKcRI@KC3IO?UC41wnHucx+$}(8*.$.(5ePV}iO+TCU!wt9Evg]>svzKnQEoxtBydq1lVl0?s,NV21O+NE:f#__g0KeIVl8u^82_=xbyZGEoFuY9unEu*munCuXQunAu`2*TA)Xk*$"(5eXq6+O+IDD%[(iTWq&uay)FEo2)AZVqW<]6vG5#d)0Nbqx;]6jG4Sc)%{aq<:]6XG5#a)B+($=((CcWEE|Es_)c03uYpR13vVr3$^wn6)~ExnO+GF{oc8";E?8vGvQJO:}Yf#T)9E0IaiLv?2G?gTG_unO?kCC3H?`Uhm7k8to=^2I?4C@V@44;i#Q)eFsQK{g$hS7/FvSLe"EEA<:TV)+FHlw<`x`ha?_C6XqK{E0nvuPMEI"*.$a)XGnl%V{E1n3uoJtz!2#f^>u5[J?k3tMN,P>p"96n%)#GsT]]bFYq/?PC)R+2zKx_Qu0JC>ZFZqN)MF=(Z=zKz_gu~KZ~wQVVL?exuLrD2x8kq)OHK8w$OVU?.Dvgpd0K3_e@#+!Hg>vTOV)4`EHYSSI>3_>u&Pt*=8&k,)_F>wZ1O&Q?kD2bl5R2rqb)(IsZeu0KrqtXFK6aLPsP;abhIq{XhkNN@@hv{FE+Emz($_zH7*M*&AjpV)7zDLu{F#U)D%1~ooS*Nvg?7][9!l|;58F!*hD.yFDI6&Yi~A*jB)#R`)_v!yFkei;Fpfc*871)Vx>V"M|zia|e&2~chxKFvRB2*49S0LvC:psR(l(K"nOH!qGyBj7wy@i>7dKEc[*SM,!7HpeQ8&Ujv,+{wDE<<!zm{K>i&;J9?SCy.MtM3c2YtmSq~8I,k+8/Ax]M``jhP00_7!|+T3rQ6[Wk_*]Vwq0.2R/NfMpu8$Km_Ne>K(b[e>^j.yVm&o$m|A~pw1s}V%`wwy%<ruW&0X<#ynEtT8k#_{rVpvB.b*yC4L0hJA4w#URCKpcU`G{@q2qrL$<mdOoqehk$HFU2UU60?cv*K5ky50e:CUBEW[qDTQE*fTqUu[;=OHK`huY_Gy}n7o@T*17ov,:KxiYwQ33)(2g9NoL^vi~>_@Tf9*i>1aro<$FzYh`l(I>pLK#U$*dTouL^r!INxRg^zp:h}t[<g7"]"Qh,@g[@xfxZ}ctpu1|w^9"(_{_Q};"hh<Tt<DW$%g&e>+UDp9B=.H&eE)MD*tRt<D!.nB&eXb0F@gY;g{|;"horB<"hUi4"BCDIf?feAEU2B)$i9)F*f;dx`51Heia)_I2x2Ha)yu!YueEkkfOJGQff]=6Y<kbjY/4YNlq)dxHDJ<J^3Heikw$i9)se~p~k<8|^xfOJTJRP8)x`7XXk5k<k8)$i8XD$nBqa";X1!B)?ImO[>x2+4Yd"PC4zmVhRrBjKhM*H@Fn9SJv6,d<u[3DCKznr2(]nHK;#[KXtLnv=X6dAzb@KT[LP4yzFbRhB"QVSnNxl85Tl,@v{mZMv;!fiRsX%tFnCf$nNFT,#?c6T4W?l73}(aW8l:h8zqGML//YO,([LXt62xcs<3Y6X"|]!X9!<]4`:O!Dz?ykr`1)C;{xoR4Nrkf#cain1p3VyXxp/waC1:SKep6*)r/HPojBkaXzlpDjN]L79ke]LYer%YK/8Q09%DzIKmQ^)fJ7l=r+cYp[^I=IU}zRpANZ]hf;;kQGJ8LP%buCuV1)5Y1Y9X]byMSYWh1mMUy450h!pI8IYMD^CV;.9AqrUcl$=Eh1!n?C&A`>NHTB&Asbe`{_}}/}1$_ny`+5qR7_;N#C,_&3<;|CFXBpbB_Hg3s!<.yCzf&Xy9zpPx3c<l1.)n}cv@[s7_GW:VW*o(=GYz22dY:QrfSr;&>O{Vh5|K_VhkVJPn354Ea$7B:w,k+^Ccg>UX_m+{4x0[o_mAVogWhf2bN=@weeNq;>ZR.cS{1Lf!3NbjOo`S7mc%xHY~$d~aW,!H)&gwjFBa#2D?CQ48T1N3,Y*OR+C#)?(gw2L^>s!j#GZIC4uR(i5zurn}Y{C%Xqch2t||^E!0%DSa*Eh^9ay"KSw&4v}Z}%%`jEe59WF?p4}HW.!:4ENViuZtxuB).+Ih4c^UXQJ:eXQ:z$sWmR(UU$aq_M|elLjR(u{gs;a>Mozw8I":V:_+f?c=/>Y6?(8^77Sg;Nx42,GgNz`^8,GKvcdyz,G>j(YhWh)5*r6%}dfh2&sN#n5$SP]IOYM_jgYq_e~f,&+P56F87Qb^>7}=0oz:BZGd)fl`?7}>xxZMe7SE)}DFfu){0M!{uwPQUTaNa&i}Omq@oFfs)m0^Obd8dJ5[j[Wi/7xg4zC,&laf{;&XM[?(D9%L^foKjgVK2mjA.vID,x`%uz{<hWESuIvD:f_@ay#P]ik&<euz)1EALm`E!SVi!}/`?AiOsFvW:r94:9Xikj8`}+2Joa^])2;Eko2spze7E,2;gd:tRyMd9ug.S^^T1%wX7Wvb$,$K0onRZtp<OjR#LE9Y>U6(bnU3)D`I[wGEqkJ+|v_4C~_U+;/al"o~GhEqzJ5fMv^9%RBZNa;GPk`)]FSTbXSUb$,=BmH3>zU"Q1a<v4,Px[!N15f(!3W{c5)QeLG!Y;>FeF{2Z8te+T|v>W@mFUZz8VCW9Aey8*.5/z#J5[Ka;d{8]cU5.xl0#<lc:tSb;A8.<9Ut,wG57~m/o?0;Fi4_?bd6VUi%|"xN2=skk8x1yp:385s{eaTuhd?u};/M!m2PLQfHtb/mjn)I+URk~e{0C4RIK&!8U&QFLaWvpS!:)Uy:U}CX;"XQUW%CorGWeGvRNp$^F+h:le_xUH;N8V)P]!oy%gv&.NuIzg4`}}$!c$ppJ|hbZO|z*vx#qiKU$)wdZ<=eFw]{!"%Q)^ma;F%Ji7s3`}xvwM3Gl;?Ch5g{,/r8uyMV9m1X/@e4Ek/nsC*(`1a%A/3THI$}[c;hQe[>1PFTe1v[aGSjW4&{Khqd<$_f?1WAe|eD}CO^F]b#($ElEr&|wD8Ampja6|IA?^Fa(!z7]u>_/T]pSOybLsj8sS;^S:_r(LfzUtg:y]d%k0!")?R|P>9nNb;6.v6SzqRBQF>`>Jogw;yq~1Le{%D`fi_CWS#8(n}mEJ+#Qa;a*/"Mw{qPXh%sH,y*yW{d3T:s=W_&S]8@;Brce(Q5Q{Pl!>q|)$sF%^kozWKdClMsqA}.y}RdX1V;/TZ4mL,bNuSCxHlH!,du`R|{qv{J2,*F@s752bvs2^ETO/|.kZ9mp}ibSvb*5q8t<DjB_m^$J9n1EGE5;@6i*|*xFGwr6%f>MozP?Ji+[ITg?X;;b6^o7TCj/l])5jJ+F)R4WU:>MnSvb~;1;5nu|6*?bGl0)#~:iokZ"D5[!1F/CDYMls<2E_<=m4Gx8x="^b~2&$Mb=OMp7zws&BO2!^#TGk;.g5EY%!GI!bnMHc>9gL+%DqKq}<9bR2]=I3`*h#&uM9,ZilE$O=?@Q(t2>w87UfWhx7xepW%=Kx,b}S[t,:H{vZUf0W~lrN~e8UYbvw^5=D}{iv@>K9)k},1B.iONHmVy|u5|)boNohjG4h!.Qoy`_Y<3^Rm:wUVD@w;#&[oj}eU!;`f;Q)pOre~ah1>OE8m[m]vB&!|hUb`kRt"`YD`:ja0#g&li,LjO^>HqTq<v0}^@&[obj9iPX%Xn*w*Sp2y1&(=cz>wD%opAhn$GyfKbgH9,P9xg3Ulc${)FC?ph,5q+1D5!/K.vR3&PySXBm]o<58#8a&_y0}fw<#]*QgNkScx;4.=@:#(k[({pwOg@6Pd]<w68&M]#=45Y%G[B_t)C_I86{J~w>A$B>U(jSAZp]Hm>rLhXl7,=4R#^kf}Nds?w!A9w</Q(LVx>}K.BVrXoI6pjs;6yl`WpfoJFHoPc!`qPAQ|U+++)Bl84=r#[YiN8!]PO^.N5iZp*uf(.p`D`.e1{#);h^.Qd>i*2{QM?/8{`kh5ji5xG@>riI@9")_i+U>&;[%Ev:2or"+&dIP_ji.E%,wJl1S#^1}Kd1z);i+[U(.Yb|s&W)a/<XT@S:]FF7U*wsTrbTMX1J,y*y6J"p,F@Y}V9XKs!_.Sh~4yJzM?0hSWa:5{,{%zr"y6GpDksP(x8Hd3<G4%?w2E,Y,CF}!:vgtt7e%G}FZy7F!$|B3=ZKRMfGc~a&e;:^Q=8EL&>,Hq[X)I)>f/F~HbeP@hNg&cJoVskfb|2EprDR_nChIi@(lSRVvcjGx/NWN`r]z{htnS,^s;VN<LkkqR;Sy{_rX&XT`CrX&|gfPXupDH9v@aX/56Dp?F!Yqf:$<:26@i=*CfDf_qKd/*Cf&y_qZbhXT@>}@D;iNlJ9Euv/X,GB*[k)FJ,y)F_u0x[P}3W`z}T+f9uLMfje)tIVS&]mNhDjz5iu"$^&5a!0`hk1*,y;CFUli>Bun3al#gL9hwOz!{h>]I%o&HZgsaDoO(KL%iTrlTA_OUgh{8X~,!1O{k{zmk9)27PX/Z"PSKmEP_8&jSpJD>^5*/6DEGXhmXCS?`}y06k5M(1:,13Ge3Ow_u=U%x:)Qun38^ZpPU1FLQF73O.J|CVvWf#3]tM3l:aE:L*+t;<.~^ei}:=P/y:r4*3ls_mydIkI%,&esxvi"!er3u!>8eY^=EIuY<g7Az4,{r1bc{`3?SeN^},+%qsT#pyv;ScoCin0Y,hp1&wy7]"WiTE9MlIfqDu<Z+q!A(drb83]gWX)>Y$9@/c}UE~O=p`/l`H<D+Oy1E3Nr@$u3an=k[U%+@(H!^yr)HD_hk%rwgM!?[57<$L8HfmDK^[XeU!Y`Q=k^J(*m/m5QHzylWk,;CFSK)(_JrR&=ij|R$_<|4Efj@h<Bq+0L@5tjL=J%/^/5l+)kc=/*%=UVlOaoY^@~&exOsq<Nd{oHc1h+.[|[1Ltie_Up=|(*VKk~(IGz#NCKc1hFPiLXTZ5A9w<OB6l9{X|.,!k&H`R)Bh6^94&1stw:UtIP4:?1v)E:s6}4e!B6l.*`1A(x5%.[HmNZJ{V2f8J>AM8B_&:cNtI7%CtzLyjaZT:<6JfVSHMz8qJRm)a;hC`G^Fuq?*qe~rfk*HZ&[M=U2nib5`sVt!VpGa~1db;lJUGp/T<7WlY5XZ,||r`i=c=rOi&>0)$%!w;P(vfic7v3*tB@ShvY!c#%8.ESxcDjuKxPCu1R#D?y#4{tiiA]DnTo+]?&HiIWHk&{ryO}rbi<v$IXP#$5K:[UJgVIWL64H|ojD:^1>!zFI$V{MtpftsL`+:wzczD5u}ryt4LJF2RDVQ9`qj9Cq_gcaw[]AX;;LLv]LpPl1E8a;ocS&upG+$/eX1x@Ic^_o{qWJrPq#ubrUV=EtnyRf"TF9dF+Vg|14Z|)uHqmw}(vfg5Ls5^M^RH[hHyRfpWSe=47mr"DLNM#QcLoZfP%u~t.H7}^KFf6l1hg.Oj_n9wHGQDSxxEGl0EfFx:2Y!fV3BV~^MUIcIJ<DK[[wI|56~?O6JorefL)ko/T<:(_t0^5PbJfES#>0"e_*4Q^S!"xZ~rk3Fkg]V;L]q".I,&JpWP*S_gn0MUuKjk^TfVk>%@oL<gX;877s(iDe<hFn2hoO~F]qgVsi{l9}CVEFIKkBUxvsv@A#BP&mn`JVog`M@DI&`YQr_6J,~T#VQ}yxfpg5NjHwPLoZwM~xt?&/HS4mSXx19E#*"elu!V^AI(J.+YK;qX5h3<ri=O.$3!G8<=>x&u^{OF5f$62D][,hl}z`UKcRUCw838nSnIQJ[0&<7X4x=Y7X/BLIdO^`KqDcr]kD]Q(L8mdXd!GX(dR28PG%V0Gz<;Oo1b4bsjtz)daONHudWcLXdUT?Ga`M0j5%J/ilIU69FKlz6oH`G[xx.6N_*Kb2!c08_oeL6;67zOxo*H#G;}n5S1@KA|a7s2Sox>4w{o8!.Z)K=i?kaqM<?m~inJ_G(^F&w>n/)=PsD4B/e(]w:@6Np&9,bNWpE&arj^tZ#)=&{NeHja3/%}H{%kR1d.rOly?+<byxWE$E*E,+aH]a3n"c5o~7F,jD}vI|94xEl8fmqxx.|X%s6Hr6Yktws2znHG[o^%#OlOxO7qL>.vM@c[$`]&L,)~gqodl+Qv.Xh{&}z{"W$pk5)MsKV/Tq<MaeJ,7X*Pa:nR:=_0%*vyQETDpEx0"wE><7a*wl+a%GZH,,2z[bvdg0Q.Z2Z7K|malbmHfYz0<IabB8Vd86m#%Z_K_c5Rt<,Xjw76!~F#Hbk%b[9=wfB:#dV`nT5w^&wsVNoz2TbW=s:[XN7aXwaY6H+tXO/FC879M0mb">^"a76:ok[$k?&=*6:1ZF9]d.LW}|55Mp)_mjF~I{=eo*1`Q]eb{7mj@,(Z>MeJKJ56dD%X4fU3nPBUcZgfF:.TfR4D@?VXf0tNr`zn_=M(3JXgh_[<J9WT^n}(:m"}fx8`jer8Ipj*Ey"x8@^Y=P^35ke_|S%elQU;c/5hMz7,%*$IsVHcxxe1_`6ax;NMI2W>m#kHa5uwaYb26Q|a`23tTH^L!SxURp.GD7s1%Nw8%iVB"Yu?ia>M/A{q]8|KnmacbY`qhad2_5#2s|2cD2xT7y.^V1Y_BwP;]FC7%>ML8x<Fc[*=O~T=M)g%MT},l)%af+#4F({K89+z6z.EH5%g}P?SBFY:H_X{G>ahbikU[p=728%p10JC`Vf`GZA5Sfd2[mMSsLH44,oV1Lyf3)/`:[F.|wt!Xz]nafv!)89!Yuwe%l8M(KQ/W+/^3j[L~;6|CF,8^kNOMZp=R2F{)vI8;TQdV"?VHdHC`,I@z;|+<HSPDBSV0F+&fzVCAW=5|j//?{|G7i$tOzxW8!aj4KDcO~/V.a{`iebN;?igFx@ab&4d#fMEZt9:5h@H4(jB*e="cIy"^oHf_a*K@^8C2&[RcsaNzEeWl]6Mn<L<jMaZeo.Nh_&_.5?g2*!0aQQ9`7AeO56QO*JaYDSZwO94BX*=XSm@u|mWg1meOJ6QBMu]OFdc{FQ^796QPF}7He|=Bs|/Pt])h"{OA7v$X@nY,}lrb;gR6W$`v83).oqme4`:MNqR:Z>MM,@.Qgw6V#x=fQ}pyH_5o~0wHm,wh#?edH}#]XI[8kp:jyT?Jo>/wYX@zV@t1Eyk7AB~yCa#>DwH[UkWwj7)/T{a2E_fSR9E:lii:T5=+J]<1)XNPnBS9"p_0pII&I{QDsL5DW5+IYJ8TTs>fFHxA$l{k&]SGqO@d02u..!wh6;4S#4h.qJ2~Xc^`aA>N*Ak;%_5`:!{${senZ=_Lqo=28WFT8}/A(xOT(3g$LAV/p:X1fG!Bq$VjtKZl+,"Sy,FQ5:}]`8TyG&[|yYp}`k#5[GN`d$H^m(2BlHvNbSGzpx)B/KZO(Xpj&A/x|hk`VK;=_O0TTz8|$e5C{FSmo.JNHQfh$B]s;VaiUW`=0kw#]BWc*^Ut#l7d14w+k08I~A{0#PNvc"0d1vE%e7JeI.a{Q~^.x)+o/x_t$Jd4U:rI/fw_%MmZ&q3LL]5):"}eW#9#LAH^rU.cpr36x<SY;G.}GB?r"h[cs]L?nFAp|J4uZ<U?WV=JoPzS*rqaV^_y6p|tCo_37jiON&IW$fVXF)N1Exl~h&.Q(z^Q+OX0.+CwZ)=|5mY%i[g<={eUGA|cJ>VvP3TESY@h.PDK^BWl!*r,v>&Ef+}]`%s^dDJUBM$yVI2zFu0XCa#$dcn%drPg6B2kKs&Ep`<vP9n.B4J6]e=K>}PmH3s{z;e.kRSPhX|{>j)#jFAxItI$*v8c9tEqc*F7DeY8C&;<YVx:*g[Y<uHM:1E!B6KJDaS;|k3S2}(G>2hLP<h`IQ!8>}L:$S9,!Mi1w{(:x:VqaPuznqgvc2w?Wa)~LuBpF0@"arP1/*TWH0I2XGwihi/PF"c>M:tNfS+!_PHP^=k=4KP~B7Ibf=4IBbr<>yEXCMOmw{yhm`F,&qmg]PLF7SB3P$kbu]pcmdt)jD_}rU1dJ]A;)R^0{2D>.F@n9dU{jJ;LtVKa$&=D%gDr}Pqi)&!f=?tNl8aMv{KxqfD(]kJ;leLo~pRfR=gD^t3"yJ/h<AqAiN.=i")Z%o~SSP4lC6r+hM_MR}q_1IfiR;#UNU=PH7IdAr^IJPJ`jj+@.nav8%}nG3cz^~F4Y|)ei[B5=.xjh5?Fk/jq0rPn1*?mRH*/jCJLQQfpk0wOn7PP}KOrR&i$*wu4T+`l)A*ZHo_y82E@G%D8kL"UH^vR5@+%TD`2&1Ec;#WfBIQ0L[C?7_5cB"lk~`4T#{o"q#K{Inq<LQygNY%1MU7SD6!_e}RS|UJuLvl`/[ij(}V8q:X(1jvWI1|OrVs]8.b]jEw4UchKlL2o(:?8B2Va;g(#lsgD`{OPS2>b+8b<X&I[[v_Ll{F1$54Aqw&x5RYI:0HOH_H87QbxUY/6>JoU.V=+kH!#d(GS|EVRp[EHCE`jjgURX!.P4rPI(brZD&oId!nn}h<MF6ozR{=kwO9{Rs&#}<y[%Hr[5]a}v4,,c6ad1tas5")2M7r`WNb4]W!O]m[*`LV6r%9VjN#0BBir{%H<Na,o(jhahmV`;q^?vC>i5%uyDm__/iXWbo/(4Zg:kaXvVe]`6r/~[O]mJ<6D`_/Gd?}"`#S1du*8Z78o~sUzjLuez]I)WEDYc,F=29L,YLC#Sb;7|[5#@>m4Q=E=}ITx&kAxFGE*H%a?5D|A0#49pmuf_^Yi17F?9T#Gv:@Dqux^?|K.I5vrV{4|>7lmJLV_VtP<L,[xxJ&NjgV{KcJ!Lm[RafO2V_GjTSE0!JP?eU.zU`els1@Z1KU~[TMPMc]f{!87Zz0v3N6Of*gEzv%2am8T(cKk+*}.+aF&zYhs7MDW[RiuDd$9kp%Q,SY@=pdAa@=k8`kvJ9,C/prWIlPF##,ZiLqK+Vu5?<5&Xl!$6dbBBn0^FX8*`HH&0d;c9&R|GKH#N5|&2E]875Qqhvccxd1s[!:`>j?tO%br#l1mi}#~b+se7uvY4nUND:YdISZ<5pcPS/[<FI&aGhq"$mOk?!Lixm!vvPHdcswADiJ)]):?t~*byuv;evbMQ|o;_>}Xp{~;eaQC,ZYJC~:g7uvqy;y~fA7%KuCVdB_}9~|==DO=7FWi,F@"`d,A;U`<(3@Fw)@PF~eaj{2y&HdqDq.Xoqs1,,@U);9)XI9n%Fco$bu4:~TuA7X%x!#Vq?9fV&~Vhc>t8>/Sgd{e&`qX6O}fJL1UyJ*sB/].4&]6h"QNKDTr&%%pvsrewD`devSGN8G*}]!PfPw7NIa.A[`3D^E}v0TSHl=NKDfGK.dF_MX6JO0T@$MH7MD,GHA=Go35_f}0u"qR`R%?X~70I+(0aY4QSvPF{va=4GizXV63d6%etKS?W@iMH!y*U!f.ubbj3!+(DM:LlN_J:t`uP~2paQE0/_o2}$7"95|BWt>&we<#/KlS*l/Lymoze]X9^6Sn2[,&yWKuJ};@qg2PV2L<[]zJ}Y;Gye{ic;7{LN+cw{87Zk(oH<#Ucc::ScegE9$[taD.L<7hW=wD`XV;0hzduS|)#05H8k`]KOCrPg6,cs<95]`cyX>pw|e3C5*KC,#PxpCFTm2$.J<+.g|`aIDk,e=hkKw1EGEVna:8W9~5N1OQw.l.<&FfO*50u1h{d0Z`j^o2v9%EbU~U:5^;@iXJ~;=zSb;x0bcj$=]=I?9){ase1u,R=m9`y]VL;w.i]Cv&AzbjsY^u+`s#c(t)=fVA&Y)YF/oy_?)9*GMmR!YfIhT6#O(rr}=+@?{2*9Kzhg!Ycg.p%S>YjOL}NJ_|FC>R8(oBqNz8k</y!^M0.R!>}<H){6zdU.d0_70.iw3tR#*b6W@N$=K2>fyB&lK[^Q+1&4)USb1MP5L3>NC%,ZiPS=1QyAqg7bBbw/V/[py^1zFn(m@gVm(H)CPbc.5tcL`i8sS*T[LanI[VUnR(8}En=pJq;z,jA;^12^hNsV:Xf>NogmlyY9%NDTM;KDT6Y8*HbPd{o:CR{X||2]|Y;w![jc9M2$!.O#V_<.TSE{#@Q7HwKi|J>LN$_I=V17A4(5J,/K(.QqGw}QSe=F%x(a$/2[%Ws%xA!qw7]5(:@e_VCrP+.fy8Kw8cdY9cLSC:^1"7:023Jc:NlV,sO?1=beo20b:HHQfUi:dgz3b)O9n&z|,J5nH1w^d]5UaPOHK}J%wQOTF_/c3|7aY#Qz2$8*B^BQPC8TmmwHdO5iuW0K6KEc7MY;OO7hY^2a7rzaomHeRT,H6/BIH+M1P"W4O9N%I=i4H$Rc.fYyzkm!il@CmQD}5:2_$e:xT0bAe/0gdb6Aeedoz?5OOz4bXjCLO6qJ;=!X{c+l,nZ5w+fQMSb1bcUZ@Myz+wukaVH$j%G~LrO[nzarg0&gIAoC?Fxs6^z?nGxrg,?6.fX.n.n>x#_Z*H0LHs4vjCDna%HEp_KF:*H,:~$CIoapqM[c*Nf30s7wc/)KYNM&]Yo^gi;mfq#pfWNnG]Ce5Rl<m#Rzc9?s?K|M8|T?"S3X_M>pKbMw8WUIjsg9[44K{gY#O+Z]m?7%ZFbZm"_^7Lb4n,j0S"Z~>OHkzg{7NB,8:fY#wiYy.?!LJT8b;#_0&:$KN](~iOhTN;GsTY/H|7g3%gYR3]z1bf%x.hoB3nqWK.0Iey+F3JkaO3BQbS8=x^wI%9MWMV#Hb/&ouSn"5rj6`%H&37r,|G6Cl%YDdPPTNcX`cMas]I,>M+taH;&f.~3K=:!rz~RT*8fpCDh]M$7lvxXb6E5jclb*9Cj`t5%1=zM#]y=gYwV>027p7hT0&gI%|tg0Wf/.KRINt?$^^U"an|YhE^?.%wf~pB&B>B_AqboQY&:Ub1bIUGzTTq;aO+*7|59f&jT?%=xJC`V~?xGB0#~u@=q"n@_ky`*Znn;dZ{KQ/W+WV#p:qaXFn`4qa?xTfrYJx7/q%QIa5^o4bo=>b0waLvdm"@IBgl;94J!UQ_xz=iC|ZIF1cdVKp"iTwTQ/W~QNHV)Px1,EGFv#ZJN)K"VD]l@%fA_pXq?{7av%OSZIC4uau+7]IB?|x^GLR7wGO%+}TT2oRN,nD<b)6qz$+OOf2|>8.![9.&RK51j_Y:c)m;1GS"dj:02f/m4%Zr=,j.xKeIPl@NlI{f./[QzC2T>*Xx#A86MT%45Ae(+4h"niT79[.vc&KA!S4%2?1Ke[B"cDWdYc1u]rOhbPLIw")(9{6:OPwceo!,E]P!P!1E8M,JpWU+Rwj(B(GIvLlpD1wPpW0xo0arNJK}J0,%&WU9wb5h]U;qTo>Kjhx,e6Xo>U*N0h:yrrO>cS80b,N@O|,r4T;MO#4|dCWf2d3G6+8Wo/:Z?L1*d[nGxhe.6]7d3h{![,fC0WvCZl`FK0,e6;qUdqp1K$Kw`Fo:qG3&?@M#R?erduleozC=oP[I0QP&dpz`HDZsn]1|.=Y|{uOcSba|o8!b!W06u]U2.R_r^m+fEqzCK6~$f~K^R1Mh]Jf*|4zrH?CPLeQ4b2yr^T|r.2/gQ)dk~5`3=:g/vWn59>}|3t7Sfr@TeT_,&K|jhIsNGyi/U)o1bq@8|;a`dB?4:~394F._%NH<fJ3|6M)WmiI`w^%d].p+Kh25kD`q#%G<rQez7&my<1`kZnmh5q73jXD;]<r$!p*7Gy/P3e1ffedi%xRd[}pdVrEWp"d3|ptl~1Yc[}MX{]oh(*&F,alpcTD%@Q5r>;@Fa_w]PJp$ilH<Nf!ku3+He!w4=@<H#V0#JfOiT9ct=&mE6l=Sed.b[//.60cyNLUOxWoaI!*zfyw]UiwjDuU&ZVH@J#9~d5.q*~o8mx/?/}BaJ%H>N|:x&=XyH|P3[SKaub/lUd[2Ii%)<,/OHlO.&fI!*$I>?$hH3Y70ccIyj/[7mK8NfHOnR1z8]Fw677d;!/Zba&Y1H&OMN/S:/rNm@1QU1ocRt+7Ow5?[a>Ud~5%RJQes]Q4f[=dm`~:{[t.pGY[>1rj]z3o+EPhYu5N,3H|5dn=:ke;=.~d4bVI`}:h;/A74E<#|XH2(FUZUzGqPp5P_:}[uKnJQwS+aS;/rK>Ny/G5Kt?V<q0_V)[C2LiupF;Vb|L?pu.FRX&C^K7r0_V)JaPxcP%]YRl0U,`<lH~;fV@N7[u:l>2a16.fT%u[02C[2&4G>Rif+gasz=.?M3g=:2_]Sh2oO_n@F6pxf{P[q/yzn(Uc!v#ZpNiHKJxcxNKptBBTr0}dfSA<BPIJwG"5KOoSUi>$!G=^Aa.mZ`Ccr>qdNU^A[owGh!k$0iHaS5{ck)WpA;zJ0=<7nRRXcU(g2wrVfO1./qfOE,0bzV%WkZ{2fH+oOf#<l%O#T_f6nPAH<aM+Is8l_N[KLfU^l&ru,oB9Wdk)oD}va5^[.[(GAb%dU0csMJ6LC{)6pxWI$7A}V&vk(TzGgX,6bV&C!X4bu!>,`GD4cKQP[SpaakIT9b#RS5Idm.kXA9&O?fgoa0(XL6;OiR$jW52ct7^1A8Aeyc?eCoc2^7#jLOg0E}pb?1vj2.}z,)s,)f5P;5@P^1m.W#Rb,Dpb>1k:8S`2%RE,P3_NF+W:}Ey.raVIGl{Z+facta=a<GC4nlt,fX[fhfvs?P16.zto1b0+yZ_1GM1@_}K{fOfeCdN,d%ex"kf;<Ru*KOj7FNc.`cB1(_kON0AN6@Wfc>+#5w&Z,ugal8*uPdqdhfc!8@_1<UT?//dUVktzN#xcZ/PZh<l1.X]Cof;eR[SH7T%dQ<Ij)0LNG]@c_^9D!wQz{d(yeS*O9n;dLl*jNoxD.N2Nji,t8?39b5pxdfkxPzd=Pr<7hjZY=<!iv!WGM!H#u[z<2mU5v/"0W_4z[M[B=80CIXIwW0g{pj]V!8MW$fQ{iST5o>/HYX)Yc,}%LQIjw6BY9#.zyjPn_n:aC0v;TN9bWh6|UW18gMklBija*wiYO5e!Xf|7b)YuVfJdb1/BZk?q1P,!fx"`RVl1rK6(Hw|eCUc[40ubxS_7;@!Z0&0GhYc6o0+Z#`*o6vBv$+>y)gG}Lrx.,Y#!W0ao"A2Y9Kh+Xy0cRO4uIsl#xZBe30I,9f%<s+UP!I@F86bCDmfGT<#<h+Fjw2z]$#(1b2!X>Z>M}jlJ6Y_{?_GS.yi%VsO5wN9X,>c=.dv9v56R.[6R*q:|$IR.Y|&*A]>V=arz%Z6Ygh0DVf>iOzRYeIs|uEKj;zsxW%%L|m;L`m@F`m6IvE1&e<7)}<$x3^HPcr<;Y|V+SwQzHpwkH%b@XS"86LLk|5",})9~i8mRg2a8WR%I5ch29n?m7Eol_GaNVS=gd#K;wg/i`tI$^j#+$k&3l](<clH:6(6S6p;m|(lFR(#z=sVR&oQJJ,3X>ie1};2Miu[R)E`mhQsMozTD#_BQ~r!+7ZR*]ioo!ASEiv$.r^a{~c+&U^DR8k"pp*7,WFhfU(UHj9z^1~A(L+^}j5d>8[_1NPT5J=7&V$8leSa){>7kri#Do)ERW|0E))H$OGs/A56SJF1X$nl+:VXlx!>rT|>`,>9{B72^Vu}<H{QWZF~tnv}Y:?O;f45wut8}TGUJ;%ZinR]%IY|&.Q};x/b{!y[r`dBBJZnz%Z>MH`E>kOYOXZBvH!d)H$>Ysy&h@3gvm2SBvlbdgJ^kK2m/vxrZNh9&I!H(O)d[vgBW0tf_).u{2#a:6U]z<;+*,YHJ+p&W9hn(5OBzJfR2gr9RCQ30o&bj:fIf4|1a1LY9s,1p3MwO8*ROVz06,GmRSi+Y|=9eacsVfO7n|g;^AqeDV3u`(RwMOd]R0cfodJBkw8QSw8yLDM"mdI]D[gPl:IIx3m4N<pUfof)xk_D9mEz>ybX>5z%Z`+i{zQwlg9$Ssx^m)5M?o$./Zv;#Vg$lZ3B>PgXnR0b`o!U>tUEw789KM[gxs#DDV,o}:*MQt+t2g{eEoEOn%3"K#[Ai7O=iVxa?:hQQhB}3mteDhye1K+@/!Wg|w#f`M5"6aaF0Ve;fxJ(O/%eSc!*G8727eLbd]viPRcK8&UA7Q5T_l,T]Wy)"r8hw|l+|gl0Sg;3^fLKFZ]Xp]F!X{~~dh0HfF>;S5xuwQS,,A,(Z_mW~<]LfCrm^$E^Ef36l<HAIAWz*6_/I(|AIyA*<@r!+jY/;Fm*Zba7=vz20Z%CNQP1caOe0*ZG81f3YOGzr?5Uc&Y16qOBrKOkbc7`Z,E!Pl=@1yx<^mTop<L,N19E2H&Y=W!8{Cya)j;PTb7PwkVsN4qEz^_nR?99z{c:#Qy7X/Rnk9wQSj^b36hir0@*MM|3LquGzG6wZN_jzHpD0)IMTj7p+Sl7Nl#,Z98<|%k"Xy<fvI6*Z^xWUOb9bIUH;bU8}2S9Umxj7h*yR6RIavOP35RpYIJw+%7c<C6YS|&D8ouE:"5u0+SC;|cBJ;8_a#J{JGwL<3.]`;m3/Te|%qzQV=21OW!E>6Pv>&X]t4}]d!p*5AeR25j,(d~0UOn%k6U/v8Sk%18m|d]$:+jKeXFeWCW/qS3L^@^hv!uV~%rr^ZZ%2sj_p^N&]I4w6!G:R<LNKZ#H>`9<bcO.ZrkEw4oZ66SB&3Zoj|SVOD^>:81Vh~8rm<U"L1otL$?=KTx<IT#`ruzaO/r:2Z[BmmIkj)<cG4zu42X_C:5`/m"/hOIBtLC_JgcSi#Zp9SHY4$4!4ZN(wXE,auM1cnL]CwLWXUEgA>iM<Ak#F|;D<slQ_^D(Y3;,rH)T?io8:3woilEA7Tf$/{0k|niTkfRMg/f?hKW1X,qhJARs);F7Sg_!Laq=a)DNoCcc&tVfV`p`~R<v`Zz#|UKz<![_gQ(em9J1eXHM=x#h>.GR@<N>!tS>m_E|;Gamr5mq|kdZOptJ>gAS2=~8/;0Kp"xD6p|_/:kvguOxSA)B#@VL2|==<Ve8wb1OI`|A6F1RO8;KNd.8`F)TiT3{BJisl!^r1z^H+#<yhjc}2kr4C$1kUb>ieiX54W7WNY0.Vec>nVEZg;}esY5>@s^M]:TsT?Wc3x2;;CS<vK2;dRe2GT}j_(1mOf>)Jq3#KW}O&f4*9picN>ewI@}fnCaRM#!{tD"U}f1h6bHPE1?[^cKXRnWc3k|ZH(x}}S{_;+76:dSHjLs^JMGCWFsm.4WTJL{u%[;"AIZw<jL=?J{"p5o4yyoEx#)04^["o5t`b9!F9{))NPQu/VwDazfmb|r~Fv"WL*:z(@8`{BR7zaJ2uA#I~uC>Qh7q!4>9Shn]v5i*|nMx{xBV7/}PDUZHOo&y#/MWj9p>ET_hM?eKe|,0QD%J3w^|+.j}//t|WVwK[u8c0l|bnDn#VKuFn3kq%tt&QL!@[d2#$.Nb9.wb~_2?nHaZgVd#q$(XQY}#ld.00JbM2=3DT#nbR5lr8mi:]Zsv{m%NEur_0,I%nm8P20Fe7Get^BTU<mDNa%yztO1;U7@zKC*rucPs=+0A`NYssN^Dy&4geh&V$F(dq_*~c~W"R|_JK+:tZP+AB9w@1elevb<q9r7AThj&t~/wY(vp(?r"L@:}gEi&xCd*PD.+?q0TISS2`_Hd,RBi,D4r`ir1Y{u~n8Pc?Um>sB*8j$aipu!U3Y%/CK#HIUuLt`fk6G/eRH}VUR.pSsqlw+n@;~]t4.|adIq4jqrzm&E%J~`0EvH)qyEE`y8#=U:#(=X[;!+_U(OUm6T4?p$jz;UNf9DQ2ecH.?Ivdw~9^Q=U4E7f;7Z}0Ny95l=@*kEC,*s={anbZys6R5or%LFCI^SV.1lS}?Q]R^ec[vrdTdQJ$2fV1/YmagOGitR]`Jr|&.u#,R(({H!|^H]Pj5kA^iCHU9)2"(WhZ8GvDFA.LqY|bc8?^yj6b7op6|nWx6r:#w$HibxydcG0[0W&~tzJbCt<+Pd7^fcv=Jq2Nx_oho^Rbg+|:(~^"@O:48QXSh9fSa`C8IOUU~(ggPW]DQ[Yp9X[Y;^?]HGrmlAM$oE`:bmb;"4Qk*]34xi1vHE4}.f2O]B&;y$p~]8/xahU|U<Y`aM?vlzsZ*&mbZ!oS[F"tJ[=Gb9^(OkS>;lJ*K{G7qO.:OZ>eUGMqVR,g`mRZ@!>F9rparWG=&g:r9!R6cr>{zD=(4~@Ua)A}vg)#FTe`gxS$M*!UP]gMvjNiEM7(lT*GPYNs&K#nulu|Zm+&I*FaZF:.KT56^:+q)z~@C$n+FIyKU6/fdEdfVHcI,DxU>fbM;$,g61jAs+HTrg,`RfgRn6/6[vbF/*8({(Bt6318uN{_fs2!/g2wDPyl<`S7E}1C.Q?i>nrk+E{.yLi;pDj9GMTfDX}adT5I>I%ZzmDw)zEHH6fN6M:=#69kt,*dU@vD!eyP`{AhMx6;<AT#%id6ba|P".^ex[7cnVnK1#{(ydkdN0xhzbWc2u=Yv.%<u7YwpiIpCk73+.LS,&SB>KlpP0/@{#h4Fxi4=t^iE5$mq}D1DE=N|G[tU&YD~|cP#vS2L/{fBM@"M0@z*7s+2%D[hjNe?e&m<z}:B1/FxcJN14:Zs;Y*s~2nCtnhm*|a{Z@*xGt`7Ij&YjFTQzYb>E~u_|=y*}n8R9%ceD699.Dul[2oE@L*x*th#w6{!9:l1zW!>Yq.x)uKZa;Tqf(#{TbFsKY1Z4,%LhC(x&DgdG{$qS+>`b=gGA[Na<>Tf4%T(],nkCK<P^?X&}A%q/sQZ<YozTCA8Bv5;I<y6E&F73Pj/YO0>1;pki?f]){,7[HGnck+ztpM8]@DhNQi^/%dSj,20S{!c6qFk87ay&7o}Mo]UG<+&BNW.1(@]+aEH%TW[Et}Ut4tjoDOK5umY8:%?:izDC>kj=HmN3lZOtzDfac)39v<mR|B3;?&|^0;39Nr)tl#g(T?mW(%UKb>THBD"T2VM%3A$ht`C):3.L2hd/pbNRzbtjf]pJ}!!c9obui>g?F|R9>>%2^ieEgcY2=Zg%jJ8DqKHGRW}dO9V86hC+vg1(%t5,]Ld`+T%lI7]Y