@smartledger/keys 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var LumenKeys=(()=>{var Rn=Object.create;var si=Object.defineProperty;var Ln=Object.getOwnPropertyDescriptor;var Mn=Object.getOwnPropertyNames;var Kn=Object.getPrototypeOf,vn=Object.prototype.hasOwnProperty;var qn=(X,_,$)=>_ in X?si(X,_,{enumerable:!0,configurable:!0,writable:!0,value:$}):X[_]=$;var Ee=(X,_)=>()=>(X&&(_=X(X=0)),_);var ot=(X,_)=>()=>(_||X((_={exports:{}}).exports,_),_.exports),Q0=(X,_)=>{for(var $ in _)si(X,$,{get:_[$],enumerable:!0})},Tg=(X,_,$,eA)=>{if(_&&typeof _=="object"||typeof _=="function")for(let rA of Mn(_))!vn.call(X,rA)&&rA!==$&&si(X,rA,{get:()=>_[rA],enumerable:!(eA=Ln(_,rA))||eA.enumerable});return X};var f0=(X,_,$)=>($=X!=null?Rn(Kn(X)):{},Tg(_||!X||!X.__esModule?si($,"default",{value:X,enumerable:!0}):$,X)),ai=X=>Tg(si({},"__esModule",{value:!0}),X);var bA=(X,_,$)=>qn(X,typeof _!="symbol"?_+"":_,$);var Buffer,process,mA=Ee(()=>{"use strict";Buffer={from:function(X,_){if(typeof X=="string"){if(_==="base64"){let eA=atob(X),rA=new Uint8Array(eA.length);for(let IA=0;IA<eA.length;IA++)rA[IA]=eA.charCodeAt(IA);return rA}return new TextEncoder().encode(X)}return new Uint8Array(X)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let X=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let $="",eA=new Uint8Array(this);for(let rA=0;rA<eA.byteLength;rA++)$+=String.fromCharCode(eA[rA]);return btoa($)}return X.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});var Vg=ot(Pg=>{"use strict";mA();Object.defineProperty(Pg,"__esModule",{value:!0})});var E0=ot(Xe=>{"use strict";mA();Object.defineProperty(Xe,"__esModule",{value:!0});Xe.globalRegistry=Xe.SignatureSuiteRegistry=void 0;var Fi=class{constructor(){bA(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let $=this.suites.get(_);if(!$)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return $}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}};Xe.SignatureSuiteRegistry=Fi;Xe.globalRegistry=new Fi});function Jn(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function u0(X,_=""){if(!Number.isSafeInteger(X)||X<0){let $=_&&`"${_}" `;throw new Error(`${$}expected integer >= 0, got ${X}`)}}function Ze(X,_,$=""){let eA=Jn(X),rA=X?.length,IA=_!==void 0;if(!eA||IA&&rA!==_){let aA=$&&`"${$}" `,cA=IA?` of length ${_}`:"",EA=eA?`length=${rA}`:`type=${typeof X}`;throw new Error(aA+"expected Uint8Array"+cA+", got "+EA)}return X}function ze(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function Ui(X,_){Ze(X,void 0,"digestInto() output");let $=_.outputLen;if(X.length<$)throw new Error('"digestInto() output" expected to be of length >='+$)}function Wg(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function vt(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function ki(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function Nt(X,_){return X<<32-_|X>>>_}function _n(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}function jn(X){for(let _=0;_<X.length;_++)X[_]=_n(X[_]);return X}function Bi(X,_={}){let $=(rA,IA)=>X(IA).update(rA).digest(),eA=X(void 0);return $.outputLen=eA.outputLen,$.blockLen=eA.blockLen,$.create=rA=>X(rA),Object.assign($,_),Object.freeze($)}var On,h0,Ci,Ni=Ee(()=>{mA();On=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;h0=On?X=>X:jn;Ci=X=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,X])})});function Xg(X,_,$){return X&_^~X&$}function Zg(X,_,$){return X&_^X&$^_&$}var ci,Ie,It,zg=Ee(()=>{mA();Ni();ci=class{constructor(_,$,eA,rA){bA(this,"blockLen");bA(this,"outputLen");bA(this,"padOffset");bA(this,"isLE");bA(this,"buffer");bA(this,"view");bA(this,"finished",!1);bA(this,"length",0);bA(this,"pos",0);bA(this,"destroyed",!1);this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=rA,this.buffer=new Uint8Array(_),this.view=ki(this.buffer)}update(_){ze(this),Ze(_);let{view:$,buffer:eA,blockLen:rA}=this,IA=_.length;for(let aA=0;aA<IA;){let cA=Math.min(rA-this.pos,IA-aA);if(cA===rA){let EA=ki(_);for(;rA<=IA-aA;aA+=rA)this.process(EA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===rA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){ze(this),Ui(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:rA,isLE:IA}=this,{pos:aA}=this;$[aA++]=128,vt(this.buffer.subarray(aA)),this.padOffset>rA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<rA;CA++)$[CA]=0;eA.setBigUint64(rA-8,BigInt(this.length*8),IA),this.process(eA,0);let cA=ki(_),EA=this.outputLen;if(EA%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let yA=EA/4,uA=this.get();if(yA>uA.length)throw new Error("_sha2: outputLen bigger than state");for(let CA=0;CA<yA;CA++)cA.setUint32(4*CA,uA[CA],IA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:rA,finished:IA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=IA,_.length=rA,_.pos=cA,rA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}},Ie=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),It=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function Tn(X,_=!1){return _?{h:Number(X&Yi),l:Number(X>>$g&Yi)}:{h:Number(X>>$g&Yi)|0,l:Number(X&Yi)|0}}function Ri(X,_=!1){let $=X.length,eA=new Uint32Array($),rA=new Uint32Array($);for(let IA=0;IA<$;IA++){let{h:aA,l:cA}=Tn(X[IA],_);[eA[IA],rA[IA]]=[aA,cA]}return[eA,rA]}function qt(X,_,$,eA){let rA=(_>>>0)+(eA>>>0);return{h:X+$+(rA/2**32|0)|0,l:rA|0}}var Yi,$g,y0,l0,Ue,ke,Qi,fi,Ar,tr,er,ir,gr,rr,nr,Ir,or,sr,d0=Ee(()=>{mA();Yi=BigInt(4294967295),$g=BigInt(32);y0=(X,_,$)=>X>>>$,l0=(X,_,$)=>X<<32-$|_>>>$,Ue=(X,_,$)=>X>>>$|_<<32-$,ke=(X,_,$)=>X<<32-$|_>>>$,Qi=(X,_,$)=>X<<64-$|_>>>$-32,fi=(X,_,$)=>X>>>$-32|_<<64-$,Ar=(X,_,$)=>X<<$|_>>>32-$,tr=(X,_,$)=>_<<$|X>>>32-$,er=(X,_,$)=>_<<$-32|X>>>64-$,ir=(X,_,$)=>X<<$-32|_>>>64-$;gr=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0),rr=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0,nr=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0),Ir=(X,_,$,eA,rA)=>_+$+eA+rA+(X/2**32|0)|0,or=(X,_,$,eA,rA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(rA>>>0),sr=(X,_,$,eA,rA,IA)=>_+$+eA+rA+IA+(X/2**32|0)|0});var Vn,ue,D0,b0,ar,Wn,Xn,he,ye,p0,w0,Br,Cr,cr=Ee(()=>{mA();zg();d0();Ni();Vn=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ue=new Uint32Array(64),D0=class extends ci{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:$,C:eA,D:rA,E:IA,F:aA,G:cA,H:EA}=this;return[_,$,eA,rA,IA,aA,cA,EA]}set(_,$,eA,rA,IA,aA,cA,EA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=rA|0,this.E=IA|0,this.F=aA|0,this.G=cA|0,this.H=EA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)ue[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=ue[CA-15],Z=ue[CA-2],fA=Nt(lA,7)^Nt(lA,18)^lA>>>3,HA=Nt(Z,17)^Nt(Z,19)^Z>>>10;ue[CA]=HA+ue[CA-7]+fA+ue[CA-16]|0}let{A:eA,B:rA,C:IA,D:aA,E:cA,F:EA,G:yA,H:uA}=this;for(let CA=0;CA<64;CA++){let lA=Nt(cA,6)^Nt(cA,11)^Nt(cA,25),Z=uA+lA+Xg(cA,EA,yA)+Vn[CA]+ue[CA]|0,HA=(Nt(eA,2)^Nt(eA,13)^Nt(eA,22))+Zg(eA,rA,IA)|0;uA=yA,yA=EA,EA=cA,cA=aA+Z|0,aA=IA,IA=rA,rA=eA,eA=Z+HA|0}eA=eA+this.A|0,rA=rA+this.B|0,IA=IA+this.C|0,aA=aA+this.D|0,cA=cA+this.E|0,EA=EA+this.F|0,yA=yA+this.G|0,uA=uA+this.H|0,this.set(eA,rA,IA,aA,cA,EA,yA,uA)}roundClean(){vt(ue)}destroy(){this.set(0,0,0,0,0,0,0,0),vt(this.buffer)}},b0=class extends D0{constructor(){super(32);bA(this,"A",Ie[0]|0);bA(this,"B",Ie[1]|0);bA(this,"C",Ie[2]|0);bA(this,"D",Ie[3]|0);bA(this,"E",Ie[4]|0);bA(this,"F",Ie[5]|0);bA(this,"G",Ie[6]|0);bA(this,"H",Ie[7]|0)}},ar=Ri(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(X=>BigInt(X))),Wn=ar[0],Xn=ar[1],he=new Uint32Array(80),ye=new Uint32Array(80),p0=class extends ci{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:$,Bh:eA,Bl:rA,Ch:IA,Cl:aA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:HA,Hl:NA}=this;return[_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA]}set(_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=rA|0,this.Ch=IA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=HA|0,this.Hl=NA|0}process(_,$){for(let pA=0;pA<16;pA++,$+=4)he[pA]=_.getUint32($),ye[pA]=_.getUint32($+=4);for(let pA=16;pA<80;pA++){let XA=he[pA-15]|0,zA=ye[pA-15]|0,SA=Ue(XA,zA,1)^Ue(XA,zA,8)^y0(XA,zA,7),dA=ke(XA,zA,1)^ke(XA,zA,8)^l0(XA,zA,7),OA=he[pA-2]|0,JA=ye[pA-2]|0,Ct=Ue(OA,JA,19)^Qi(OA,JA,61)^y0(OA,JA,6),Et=ke(OA,JA,19)^fi(OA,JA,61)^l0(OA,JA,6),ut=nr(dA,Et,ye[pA-7],ye[pA-16]),Lt=Ir(ut,SA,Ct,he[pA-7],he[pA-16]);he[pA]=Lt|0,ye[pA]=ut|0}let{Ah:eA,Al:rA,Bh:IA,Bl:aA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:HA,Gl:NA,Hh:wA,Hl:LA}=this;for(let pA=0;pA<80;pA++){let XA=Ue(CA,lA,14)^Ue(CA,lA,18)^Qi(CA,lA,41),zA=ke(CA,lA,14)^ke(CA,lA,18)^fi(CA,lA,41),SA=CA&Z^~CA&HA,dA=lA&fA^~lA&NA,OA=or(LA,zA,dA,Xn[pA],ye[pA]),JA=sr(OA,wA,XA,SA,Wn[pA],he[pA]),Ct=OA|0,Et=Ue(eA,rA,28)^Qi(eA,rA,34)^Qi(eA,rA,39),ut=ke(eA,rA,28)^fi(eA,rA,34)^fi(eA,rA,39),Lt=eA&IA^eA&cA^IA&cA,Oe=rA&aA^rA&EA^aA&EA;wA=HA|0,LA=NA|0,HA=Z|0,NA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=qt(yA|0,uA|0,JA|0,Ct|0),yA=cA|0,uA=EA|0,cA=IA|0,EA=aA|0,IA=eA|0,aA=rA|0;let Wt=gr(Ct,ut,Oe);eA=rr(Wt,JA,Et,Lt),rA=Wt|0}({h:eA,l:rA}=qt(this.Ah|0,this.Al|0,eA|0,rA|0)),{h:IA,l:aA}=qt(this.Bh|0,this.Bl|0,IA|0,aA|0),{h:cA,l:EA}=qt(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=qt(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:CA,l:lA}=qt(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=qt(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:HA,l:NA}=qt(this.Gh|0,this.Gl|0,HA|0,NA|0),{h:wA,l:LA}=qt(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA,wA,LA)}roundClean(){vt(he,ye)}destroy(){vt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},w0=class extends p0{constructor(){super(64);bA(this,"Ah",It[0]|0);bA(this,"Al",It[1]|0);bA(this,"Bh",It[2]|0);bA(this,"Bl",It[3]|0);bA(this,"Ch",It[4]|0);bA(this,"Cl",It[5]|0);bA(this,"Dh",It[6]|0);bA(this,"Dl",It[7]|0);bA(this,"Eh",It[8]|0);bA(this,"El",It[9]|0);bA(this,"Fh",It[10]|0);bA(this,"Fl",It[11]|0);bA(this,"Gh",It[12]|0);bA(this,"Gl",It[13]|0);bA(this,"Hh",It[14]|0);bA(this,"Hl",It[15]|0)}},Br=Bi(()=>new b0,Ci(1)),Cr=Bi(()=>new w0,Ci(3))});function gI(X,_=24){let $=new Uint32Array(10);for(let eA=24-_;eA<24;eA++){for(let aA=0;aA<10;aA++)$[aA]=X[aA]^X[aA+10]^X[aA+20]^X[aA+30]^X[aA+40];for(let aA=0;aA<10;aA+=2){let cA=(aA+8)%10,EA=(aA+2)%10,yA=$[EA],uA=$[EA+1],CA=Qr(yA,uA,1)^$[cA],lA=fr(yA,uA,1)^$[cA+1];for(let Z=0;Z<50;Z+=10)X[aA+Z]^=CA,X[aA+Z+1]^=lA}let rA=X[2],IA=X[3];for(let aA=0;aA<24;aA++){let cA=ur[aA],EA=Qr(rA,IA,cA),yA=fr(rA,IA,cA),uA=Er[aA];rA=X[uA],IA=X[uA+1],X[uA]=EA,X[uA+1]=yA}for(let aA=0;aA<50;aA+=10){for(let cA=0;cA<10;cA++)$[cA]=X[aA+cA];for(let cA=0;cA<10;cA++)X[aA+cA]^=~$[(cA+2)%10]&$[(cA+4)%10]}X[0]^=eI[eA],X[1]^=iI[eA]}vt($)}var Zn,Ei,zn,$n,AI,tI,Er,ur,hr,yr,eI,iI,Qr,fr,x0,rI,lr,dr=Ee(()=>{mA();d0();Ni();Zn=BigInt(0),Ei=BigInt(1),zn=BigInt(2),$n=BigInt(7),AI=BigInt(256),tI=BigInt(113),Er=[],ur=[],hr=[];for(let X=0,_=Ei,$=1,eA=0;X<24;X++){[$,eA]=[eA,(2*$+3*eA)%5],Er.push(2*(5*eA+$)),ur.push((X+1)*(X+2)/2%64);let rA=Zn;for(let IA=0;IA<7;IA++)_=(_<<Ei^(_>>$n)*tI)%AI,_&zn&&(rA^=Ei<<(Ei<<BigInt(IA))-Ei);hr.push(rA)}yr=Ri(hr,!0),eI=yr[0],iI=yr[1],Qr=(X,_,$)=>$>32?er(X,_,$):Ar(X,_,$),fr=(X,_,$)=>$>32?ir(X,_,$):tr(X,_,$);x0=class X{constructor(_,$,eA,rA=!1,IA=24){bA(this,"state");bA(this,"pos",0);bA(this,"posOut",0);bA(this,"finished",!1);bA(this,"state32");bA(this,"destroyed",!1);bA(this,"blockLen");bA(this,"suffix");bA(this,"outputLen");bA(this,"enableXOF",!1);bA(this,"rounds");if(this.blockLen=_,this.suffix=$,this.outputLen=eA,this.enableXOF=rA,this.rounds=IA,u0(eA,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Wg(this.state)}clone(){return this._cloneInto()}keccak(){h0(this.state32),gI(this.state32,this.rounds),h0(this.state32),this.posOut=0,this.pos=0}update(_){ze(this),Ze(_);let{blockLen:$,state:eA}=this,rA=_.length;for(let IA=0;IA<rA;){let aA=Math.min($-this.pos,rA-IA);for(let cA=0;cA<aA;cA++)eA[this.pos++]^=_[IA++];this.pos===$&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:$,pos:eA,blockLen:rA}=this;_[eA]^=$,($&128)!==0&&eA===rA-1&&this.keccak(),_[rA-1]^=128,this.keccak()}writeInto(_){ze(this,!1),Ze(_),this.finish();let $=this.state,{blockLen:eA}=this;for(let rA=0,IA=_.length;rA<IA;){this.posOut>=eA&&this.keccak();let aA=Math.min(eA-this.posOut,IA-rA);_.set($.subarray(this.posOut,this.posOut+aA),rA),this.posOut+=aA,rA+=aA}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return u0(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(Ui(_,this),this.finished)throw new Error("digest() was already called");return this.writeInto(_),this.destroy(),_}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,vt(this.state)}_cloneInto(_){let{blockLen:$,suffix:eA,outputLen:rA,rounds:IA,enableXOF:aA}=this;return _||(_=new X($,eA,rA,aA,IA)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=IA,_.suffix=eA,_.outputLen=rA,_.enableXOF=aA,_.destroyed=this.destroyed,_}},rI=(X,_,$,eA={})=>Bi(()=>new x0(_,X,$),eA),lr=rI(6,136,32,Ci(8))});var Li={};Q0(Li,{createHash:()=>Dr,default:()=>nI});function Dr(X){let _=new Uint8Array(0),$;switch(X.toLowerCase()){case"sha256":case"sha-256":$=Br;break;case"sha512":case"sha-512":$=Cr;break;case"sha3-256":$=lr;break;default:throw new Error(`Unsupported hash algorithm: ${X}`)}return{update(eA){let rA=eA instanceof Uint8Array?eA:new Uint8Array(eA),IA=new Uint8Array(_.length+rA.length);return IA.set(_),IA.set(rA,_.length),_=IA,this},digest(){return $(_)}}}var nI,Mi=Ee(()=>{"use strict";mA();cr();dr();nI={createHash:Dr}});var ui=ot(et=>{"use strict";mA();var II=et&&et.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),oI=et&&et.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),G0=et&&et.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&II($,_,eA[rA]);return oI($,_),$}})();Object.defineProperty(et,"__esModule",{value:!0});et.canonicalizeJson=S0;et.stringToBytes=sI;et.bytesToString=aI;et.bytesToHex=BI;et.hexToBytes=CI;et.bytesToBase64Url=cI;et.base64UrlToBytes=QI;et.constantTimeEqual=fI;et.zeroBytes=EI;et.hashBytes=uI;function S0(X){return X===null?"null":typeof X!="object"?JSON.stringify(X):Array.isArray(X)?"["+X.map(S0).join(",")+"]":"{"+Object.keys(X).sort().map(eA=>`"${eA}":${S0(X[eA])}`).join(",")+"}"}function sI(X){return new TextEncoder().encode(X)}function aI(X){return new TextDecoder().decode(X)}function BI(X){return Array.from(X).map(_=>_.toString(16).padStart(2,"0")).join("")}function CI(X){if(X.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(X.length/2);for(let $=0;$<X.length;$+=2)_[$/2]=parseInt(X.slice($,$+2),16);return _}function cI(X){return Buffer.from(X).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function QI(X){let _=X.replace(/-/g,"+").replace(/_/g,"/"),$=_.length%4;return $&&(_+="=".repeat(4-$)),new Uint8Array(Buffer.from(_,"base64"))}function fI(X,_){if(X.length!==_.length)return!1;let $=0;for(let eA=0;eA<X.length;eA++)$|=X[eA]^_[eA];return $===0}function EI(X){X.fill(0)}async function uI(X,_){if(_==="sha256"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha256").update(X).digest())}else if(_==="sha512"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha512").update(X).digest())}else if(_==="sha3-256"){let $=await Promise.resolve().then(()=>G0((Mi(),ai(Li))));return new Uint8Array($.createHash("sha3-256").update(X).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}});var pr=ot(Ki=>{"use strict";mA();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.signAgentResponse=hI;Ki.verifySignedEnvelope=yI;var Qt=ui();async function hI(X,_,$,eA,rA,IA,aA){let cA=(0,Qt.canonicalizeJson)(_),EA=(0,Qt.stringToBytes)(cA),yA=[],uA=rA.getSuite($.suiteId),CA=br($.suiteId),lA=await(0,Qt.hashBytes)(EA,CA),Z=await uA.sign(eA,lA);if(yA.push({suiteId:$.suiteId,keyId:$.keyId,hashAlgorithm:CA,payloadHash:(0,Qt.bytesToBase64Url)(lA),signature:(0,Qt.bytesToBase64Url)(Z)}),IA&&aA){let HA=rA.getSuite(IA.suiteId),NA=br(IA.suiteId),wA=await(0,Qt.hashBytes)(EA,NA),LA=await HA.sign(aA,wA);yA.push({suiteId:IA.suiteId,keyId:IA.keyId,hashAlgorithm:NA,payloadHash:(0,Qt.bytesToBase64Url)(wA),signature:(0,Qt.bytesToBase64Url)(LA)})}let fA={format:"lumen.signature.v1",mode:yA.length>1?"hybrid":"single",signatures:yA};return yA.length>1&&X.cryptoProfile.primarySignatureSuite&&(fA.policy={threshold:"all",requiredSuites:[X.cryptoProfile.primarySignatureSuite]}),{agent:X.agentId,version:X.version,timestamp:new Date().toISOString(),payload:_,_signature:fA}}async function yI(X,_,$){let eA=[],rA=(0,Qt.canonicalizeJson)(X.payload),IA=(0,Qt.stringToBytes)(rA);for(let cA of X._signature.signatures)try{let EA=_.getSuite(cA.suiteId),yA=$.get(cA.keyId);if(!yA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Public key not found"});continue}let uA=await(0,Qt.hashBytes)(IA,cA.hashAlgorithm),CA=(0,Qt.base64UrlToBytes)(cA.payloadHash);if(!dI(uA,CA)){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Payload hash mismatch"});continue}let lA=(0,Qt.base64UrlToBytes)(cA.signature),Z=await EA.verify(yA,uA,lA);eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:Z,error:Z?void 0:"Signature verification failed"})}catch(EA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:EA instanceof Error?EA.message:String(EA)})}let aA=lI(X._signature,eA);return{valid:aA&&eA.every(cA=>cA.valid),details:{signatureResults:eA,policyMet:aA,timestamp:new Date().toISOString()}}}function lI(X,_){let $=X.policy;if(!$)return _.every(rA=>rA.valid);let eA=_.filter(rA=>rA.valid);if($.requiredSuites&&!$.requiredSuites.every(IA=>eA.some(aA=>aA.suiteId===IA)))return!1;switch($.threshold){case"any":return eA.length>0;case"all":return eA.length===_.length;case"quorum":return eA.length>=($.quorumCount||0);default:return eA.length===_.length}}function br(X){return X.startsWith("bsv-ecdsa")?"sha256":X.startsWith("ml-dsa")||X.startsWith("fn-dsa")?"sha3-256":(X.startsWith("slh-dsa"),"sha256")}function dI(X,_){if(X.length!==_.length)return!1;for(let $=0;$<X.length;$++)if(X[$]!==_[$])return!1;return!0}});var wr=ot($e=>{"use strict";mA();Object.defineProperty($e,"__esModule",{value:!0});$e.KeyRegistry=$e.InMemoryKeyStorage=void 0;var vi=class{constructor(){bA(this,"keys",new Map)}async store(_,$,eA){this.keys.set(_,{keypair:$,meta:eA})}async load(_){return this.keys.get(_)||null}async list(_){let $=Array.from(this.keys.values()).map(eA=>eA.meta);return _?$.filter(eA=>Object.entries(_).every(([rA,IA])=>rA==="usage"&&Array.isArray(IA)?IA.some(aA=>eA.usage.includes(aA)):eA[rA]===IA)):$}async delete(_){this.keys.delete(_)}async updateMeta(_,$){let eA=this.keys.get(_);if(!eA)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:eA.keypair,meta:{...eA.meta,...$}})}clear(){this.keys.clear()}};$e.InMemoryKeyStorage=vi;var H0=class{constructor(_=new vi){bA(this,"storage");this.storage=_}async registerKey(_,$,eA,rA={}){let IA={keyId:_,suiteId:eA,createdAt:new Date().toISOString(),expiresAt:rA.expiresAt,usage:rA.usage||["signing"],cryptoProfileVersion:rA.cryptoProfileVersion||"1.0.0",status:rA.status||"active"};return await this.storage.store(_,$,IA),IA}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let $=await this.storage.load(_);return $?{publicKey:$.keypair.publicKey,meta:$.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let $=await this.storage.list(_),eA=new Date;return $.filter(rA=>!(rA.status&&rA.status!=="active"||rA.expiresAt&&new Date(rA.expiresAt)<eA))}async rotateKey(_,$,eA){let rA=await this.storage.load(_);if(!rA)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey($,eA,rA.meta.suiteId,{usage:rA.meta.usage,cryptoProfileVersion:rA.meta.cryptoProfileVersion,expiresAt:rA.meta.expiresAt,status:"active"}),await this.storage.updateMeta($,{rotatedFrom:_}),(await this.storage.load($)).meta}async revokeKey(_,$){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),$=new Date,eA=0;for(let rA of _)rA.expiresAt&&new Date(rA.expiresAt)<$&&rA.status==="active"&&(await this.storage.updateMeta(rA.keyId,{status:"expired"}),eA++);return eA}async pruneOldKeys(_=90){let $=await this.storage.list(),eA=new Date;eA.setDate(eA.getDate()-_);let rA=0;for(let IA of $)(IA.status==="revoked"&&IA.revokedAt&&new Date(IA.revokedAt)<eA||IA.status==="expired"&&IA.expiresAt&&new Date(IA.expiresAt)<eA)&&(await this.storage.delete(IA.keyId),rA++);return rA}};$e.KeyRegistry=H0});var jr={};Q0(jr,{CURVE:()=>Fr,Point:()=>Rt,ProjectivePoint:()=>Rt,Signature:()=>ii,etc:()=>L0,getPublicKey:()=>mI,getSharedSecret:()=>RI,sign:()=>kI,signAsync:()=>UI,utils:()=>KI,verify:()=>NI});var Fr,Ye,_t,DI,bI,Ur,ft,Re,TA,kr,Nr,pI,Me,Le,wI,Yr,_i,oe,xr,k0,Yt,Rr,xI,Ke,N0,ti,yi,xA,lt,li,GI,Gr,Lr,Sr,hi,m0,F0,Ai,Mr,SI,Jt,Rt,Ot,Ne,Kr,di,qi,HI,le,ei,Ji,mI,ii,vr,Y0,R0,FI,qr,Jr,UI,kI,NI,YI,RI,Or,LI,MI,L0,KI,Oi,vI,_r,U0,qI,Hr,mr,JI,Tr=Ee(()=>{mA();Fr={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:Ye,n:_t,Gx:DI,Gy:bI,b:Ur}=Fr,ft=32,Re=64,TA=(X="")=>{throw new Error(X)},kr=X=>typeof X=="bigint",Nr=X=>typeof X=="string",pI=X=>X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array",Me=(X,_)=>!pI(X)||typeof _=="number"&&_>0&&X.length!==_?TA("Uint8Array expected"):X,Le=X=>new Uint8Array(X),wI=X=>Uint8Array.from(X),Yr=(X,_)=>X.toString(16).padStart(_,"0"),_i=X=>Array.from(Me(X)).map(_=>Yr(_,2)).join(""),oe={_0:48,_9:57,A:65,F:70,a:97,f:102},xr=X=>{if(X>=oe._0&&X<=oe._9)return X-oe._0;if(X>=oe.A&&X<=oe.F)return X-(oe.A-10);if(X>=oe.a&&X<=oe.f)return X-(oe.a-10)},k0=X=>{let _="hex invalid";if(!Nr(X))return TA(_);let $=X.length,eA=$/2;if($%2)return TA(_);let rA=Le(eA);for(let IA=0,aA=0;IA<eA;IA++,aA+=2){let cA=xr(X.charCodeAt(aA)),EA=xr(X.charCodeAt(aA+1));if(cA===void 0||EA===void 0)return TA(_);rA[IA]=cA*16+EA}return rA},Yt=(X,_)=>Me(Nr(X)?k0(X):wI(Me(X)),_),Rr=()=>globalThis?.crypto,xI=()=>Rr()?.subtle??TA("crypto.subtle must be defined"),Ke=(...X)=>{let _=Le(X.reduce((eA,rA)=>eA+Me(rA).length,0)),$=0;return X.forEach(eA=>{_.set(eA,$),$+=eA.length}),_},N0=(X=ft)=>Rr().getRandomValues(Le(X)),ti=BigInt,yi=(X,_,$,eA="bad number: out of range")=>kr(X)&&_<=X&&X<$?X:TA(eA),xA=(X,_=Ye)=>{let $=X%_;return $>=0n?$:_+$},lt=X=>xA(X,_t),li=(X,_)=>{(X===0n||_<=0n)&&TA("no inverse n="+X+" mod="+_);let $=xA(X,_),eA=_,rA=0n,IA=1n,aA=1n,cA=0n;for(;$!==0n;){let EA=eA/$,yA=eA%$,uA=rA-aA*EA,CA=IA-cA*EA;eA=$,$=yA,rA=aA,IA=cA,aA=uA,cA=CA}return eA===1n?xA(rA,_):TA("no inverse")},GI=X=>{let _=L0[X];return typeof _!="function"&&TA("hashes."+X+" not set"),_},Gr=X=>X instanceof Rt?X:TA("Point expected"),Lr=X=>xA(xA(X*X)*X+Ur),Sr=X=>yi(X,0n,Ye),hi=X=>yi(X,1n,Ye),m0=X=>yi(X,1n,_t),F0=X=>(X&1n)===0n,Ai=X=>Uint8Array.of(X),Mr=X=>Ai(F0(X)?2:3),SI=X=>{let _=Lr(hi(X)),$=1n;for(let eA=_,rA=(Ye+1n)/4n;rA>0n;rA>>=1n)rA&1n&&($=$*eA%Ye),eA=eA*eA%Ye;return xA($*$)===_?$:TA("sqrt invalid")},Jt=class Jt{constructor(_,$,eA){bA(this,"px");bA(this,"py");bA(this,"pz");this.px=Sr(_),this.py=hi($),this.pz=Sr(eA),Object.freeze(this)}static fromBytes(_){Me(_);let $,eA=_[0],rA=_.subarray(1),IA=qi(rA,0,ft),aA=_.length;if(aA===ft+1&&[2,3].includes(eA)){let cA=SI(IA),EA=F0(cA);F0(ti(eA))!==EA&&(cA=xA(-cA)),$=new Jt(IA,cA,1n)}return aA===Re+1&&eA===4&&($=new Jt(IA,qi(rA,ft,Re),1n)),$?$.assertValidity():TA("bad point: not on curve")}equals(_){let{px:$,py:eA,pz:rA}=this,{px:IA,py:aA,pz:cA}=Gr(_),EA=xA($*cA),yA=xA(IA*rA),uA=xA(eA*cA),CA=xA(aA*rA);return EA===yA&&uA===CA}is0(){return this.equals(Ne)}negate(){return new Jt(this.px,xA(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:$,py:eA,pz:rA}=this,{px:IA,py:aA,pz:cA}=Gr(_),EA=0n,yA=Ur,uA=0n,CA=0n,lA=0n,Z=xA(yA*3n),fA=xA($*IA),HA=xA(eA*aA),NA=xA(rA*cA),wA=xA($+eA),LA=xA(IA+aA);wA=xA(wA*LA),LA=xA(fA+HA),wA=xA(wA-LA),LA=xA($+rA);let pA=xA(IA+cA);return LA=xA(LA*pA),pA=xA(fA+NA),LA=xA(LA-pA),pA=xA(eA+rA),uA=xA(aA+cA),pA=xA(pA*uA),uA=xA(HA+NA),pA=xA(pA-uA),lA=xA(EA*LA),uA=xA(Z*NA),lA=xA(uA+lA),uA=xA(HA-lA),lA=xA(HA+lA),CA=xA(uA*lA),HA=xA(fA+fA),HA=xA(HA+fA),NA=xA(EA*NA),LA=xA(Z*LA),HA=xA(HA+NA),NA=xA(fA-NA),NA=xA(EA*NA),LA=xA(LA+NA),fA=xA(HA*LA),CA=xA(CA+fA),fA=xA(pA*LA),uA=xA(wA*uA),uA=xA(uA-fA),fA=xA(wA*HA),lA=xA(pA*lA),lA=xA(lA+fA),new Jt(uA,CA,lA)}multiply(_,$=!0){if(!$&&_===0n)return Ne;if(m0(_),_===1n)return this;if(this.equals(Ot))return JI(_).p;let eA=Ne,rA=Ot;for(let IA=this;_>0n;IA=IA.double(),_>>=1n)_&1n?eA=eA.add(IA):$&&(rA=rA.add(IA));return eA}toAffine(){let{px:_,py:$,pz:eA}=this;if(this.equals(Ne))return{x:0n,y:0n};if(eA===1n)return{x:_,y:$};let rA=li(eA,Ye);return xA(eA*rA)!==1n&&TA("inverse invalid"),{x:xA(_*rA),y:xA($*rA)}}assertValidity(){let{x:_,y:$}=this.toAffine();return hi(_),hi($),xA($*$)===Lr(_)?this:TA("bad point: not on curve")}toBytes(_=!0){let{x:$,y:eA}=this.assertValidity().toAffine(),rA=le($);return _?Ke(Mr(eA),rA):Ke(Ai(4),rA,le(eA))}static fromAffine(_){let{x:$,y:eA}=_;return $===0n&&eA===0n?Ne:new Jt($,eA,1n)}toHex(_){return _i(this.toBytes(_))}static fromPrivateKey(_){return Ot.multiply(ei(_))}static fromHex(_){return Jt.fromBytes(Yt(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};bA(Jt,"BASE"),bA(Jt,"ZERO");Rt=Jt,Ot=new Rt(DI,bI,1n),Ne=new Rt(0n,1n,0n);Rt.BASE=Ot;Rt.ZERO=Ne;Kr=(X,_,$)=>Ot.multiply(_,!1).add(X.multiply($,!1)).assertValidity(),di=X=>ti("0x"+(_i(X)||"0")),qi=(X,_,$)=>di(X.subarray(_,$)),HI=2n**256n,le=X=>k0(Yr(yi(X,0n,HI),Re)),ei=X=>{let _=kr(X)?X:di(Yt(X,ft));return yi(_,1n,_t,"private key invalid 3")},Ji=X=>X>_t>>1n,mI=(X,_=!0)=>Ot.multiply(ei(X)).toBytes(_),ii=class X{constructor(_,$,eA){bA(this,"r");bA(this,"s");bA(this,"recovery");this.r=m0(_),this.s=m0($),eA!=null&&(this.recovery=eA),Object.freeze(this)}static fromBytes(_){Me(_,Re);let $=qi(_,0,ft),eA=qi(_,ft,Re);return new X($,eA)}toBytes(){let{r:_,s:$}=this;return Ke(le(_),le($))}addRecoveryBit(_){return new X(this.r,this.s,_)}hasHighS(){return Ji(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return _i(this.toBytes())}recoverPublicKey(_){return YI(this,_)}static fromCompact(_){return X.fromBytes(Yt(_,Re))}assertValidity(){return this}normalizeS(){let{r:_,s:$,recovery:eA}=this;return Ji($)?new X(_,lt(-$),eA):this}},vr=X=>{let _=X.length*8-256;_>1024&&TA("msg invalid");let $=di(X);return _>0?$>>ti(_):$},Y0=X=>lt(vr(Me(X))),R0={lowS:!0},FI={lowS:!0},qr=(X,_,$=R0)=>{["der","recovered","canonical"].some(lA=>lA in $)&&TA("option not supported");let{lowS:eA,extraEntropy:rA}=$;eA==null&&(eA=!0);let IA=le,aA=Y0(Yt(X)),cA=IA(aA),EA=ei(_),yA=[IA(EA),cA];rA&&yA.push(rA===!0?N0(ft):Yt(rA));let uA=aA,CA=lA=>{let Z=vr(lA);if(!(1n<=Z&&Z<_t))return;let fA=Ot.multiply(Z).toAffine(),HA=lt(fA.x);if(HA===0n)return;let NA=li(Z,_t),wA=lt(NA*lt(uA+lt(EA*HA)));if(wA===0n)return;let LA=wA,pA=(fA.x===HA?0:2)|Number(fA.y&1n);return eA&&Ji(wA)&&(LA=lt(-wA),pA^=1),new ii(HA,LA,pA)};return{seed:Ke(...yA),k2sig:CA}},Jr=X=>{let _=Le(ft),$=Le(ft),eA=0,rA=Le(0),IA=()=>{_.fill(1),$.fill(0),eA=0},aA=1e3,cA="drbg: tried 1000 values";if(X){let EA=(...CA)=>L0.hmacSha256Async($,_,...CA),yA=async(CA=rA)=>{$=await EA(Ai(0),CA),_=await EA(),CA.length!==0&&($=await EA(Ai(1),CA),_=await EA())},uA=async()=>(eA++>=aA&&TA(cA),_=await EA(),_);return async(CA,lA)=>{IA(),await yA(CA);let Z;for(;!(Z=lA(await uA()));)await yA();return IA(),Z}}else{let EA=(...CA)=>GI("hmacSha256Sync")($,_,...CA),yA=(CA=rA)=>{$=EA(Ai(0),CA),_=EA(),CA.length!==0&&($=EA(Ai(1),CA),_=EA())},uA=()=>(eA++>=aA&&TA(cA),_=EA(),_);return(CA,lA)=>{IA(),yA(CA);let Z;for(;!(Z=lA(uA()));)yA();return IA(),Z}}},UI=async(X,_,$=R0)=>{let{seed:eA,k2sig:rA}=qr(X,_,$);return await Jr(!0)(eA,rA)},kI=(X,_,$=R0)=>{let{seed:eA,k2sig:rA}=qr(X,_,$);return Jr(!1)(eA,rA)},NI=(X,_,$,eA=FI)=>{let{lowS:rA}=eA;rA==null&&(rA=!0),"strict"in eA&&TA("option not supported");let IA,aA=X&&typeof X=="object"&&"r"in X;!aA&&Yt(X).length!==Re&&TA("signature must be 64 bytes");try{IA=aA?new ii(X.r,X.s):ii.fromCompact(X);let cA=Y0(Yt(_)),EA=Rt.fromBytes(Yt($)),{r:yA,s:uA}=IA;if(rA&&Ji(uA))return!1;let CA=li(uA,_t),lA=lt(cA*CA),Z=lt(yA*CA),fA=Kr(EA,lA,Z).toAffine();return lt(fA.x)===yA}catch{return!1}},YI=(X,_)=>{let{r:$,s:eA,recovery:rA}=X;[0,1,2,3].includes(rA)||TA("recovery id invalid");let IA=Y0(Yt(_,ft)),aA=rA===2||rA===3?$+_t:$;hi(aA);let cA=Mr(ti(rA)),EA=Ke(cA,le(aA)),yA=Rt.fromBytes(EA),uA=li(aA,_t),CA=lt(-IA*uA),lA=lt(eA*uA);return Kr(yA,CA,lA)},RI=(X,_,$=!0)=>Rt.fromBytes(Yt(_)).multiply(ei(X)).toBytes($),Or=X=>{X=Yt(X),(X.length<ft+8||X.length>1024)&&TA("expected 40-1024b");let _=xA(di(X),_t-1n);return le(_+1n)},LI=()=>Or(N0(ft+16)),MI="SHA-256",L0={hexToBytes:k0,bytesToHex:_i,concatBytes:Ke,bytesToNumberBE:di,numberToBytesBE:le,mod:xA,invert:li,hmacSha256Async:async(X,..._)=>{let $=xI(),eA="HMAC",rA=await $.importKey("raw",X,{name:eA,hash:{name:MI}},!1,["sign"]);return Le(await $.sign(eA,rA,Ke(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:Or,randomBytes:N0},KI={normPrivateKeyToScalar:ei,isValidPrivateKey:X=>{try{return!!ei(X)}catch{return!1}},randomPrivateKey:LI,precompute:(X=8,_=Ot)=>(_.multiply(3n),_)},Oi=8,vI=256,_r=Math.ceil(vI/Oi)+1,U0=2**(Oi-1),qI=()=>{let X=[],_=Ot,$=_;for(let eA=0;eA<_r;eA++){$=_,X.push($);for(let rA=1;rA<U0;rA++)$=$.add(_),X.push($);_=$.double()}return X},mr=(X,_)=>{let $=_.negate();return X?$:_},JI=X=>{let _=Hr||(Hr=qI()),$=Ne,eA=Ot,rA=2**Oi,IA=rA,aA=ti(rA-1),cA=ti(Oi);for(let EA=0;EA<_r;EA++){let yA=Number(X&aA);X>>=cA,yA>U0&&(yA-=IA,X+=1n);let uA=EA*U0,CA=uA,lA=uA+Math.abs(yA)-1,Z=EA%2!==0,fA=yA<0;yA===0?eA=eA.add(mr(Z,_[CA])):$=$.add(mr(fA,_[lA]))}return{p:$,f:eA}}});var Pr=ot(ji=>{"use strict";mA();Object.defineProperty(ji,"__esModule",{value:!0});ji.crypto=void 0;ji.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});var Pi=ot(UA=>{"use strict";mA();Object.defineProperty(UA,"__esModule",{value:!0});UA.wrapXOFConstructorWithOpts=UA.wrapConstructorWithOpts=UA.wrapConstructor=UA.Hash=UA.nextTick=UA.swap32IfBE=UA.byteSwapIfBE=UA.swap8IfBE=UA.isLE=void 0;UA.isBytes=Wr;UA.anumber=M0;UA.abytes=ri;UA.ahash=OI;UA.aexists=_I;UA.aoutput=jI;UA.u8=TI;UA.u32=PI;UA.clean=VI;UA.createView=WI;UA.rotr=XI;UA.rotl=ZI;UA.byteSwap=v0;UA.byteSwap32=Xr;UA.bytesToHex=$I;UA.hexToBytes=Ao;UA.asyncLoop=eo;UA.utf8ToBytes=q0;UA.bytesToUtf8=io;UA.toBytes=Ti;UA.kdfInputToBytes=go;UA.concatBytes=ro;UA.checkOpts=no;UA.createHasher=zr;UA.createOptHasher=$r;UA.createXOFer=An;UA.randomBytes=Io;var gi=Pr();function Wr(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function M0(X){if(!Number.isSafeInteger(X)||X<0)throw new Error("positive integer expected, got "+X)}function ri(X,..._){if(!Wr(X))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(X.length))throw new Error("Uint8Array expected of length "+_+", got length="+X.length)}function OI(X){if(typeof X!="function"||typeof X.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");M0(X.outputLen),M0(X.blockLen)}function _I(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function jI(X,_){ri(X);let $=_.outputLen;if(X.length<$)throw new Error("digestInto() expects output buffer of length at least "+$)}function TI(X){return new Uint8Array(X.buffer,X.byteOffset,X.byteLength)}function PI(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function VI(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function WI(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function XI(X,_){return X<<32-_|X>>>_}function ZI(X,_){return X<<_|X>>>32-_>>>0}UA.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function v0(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}UA.swap8IfBE=UA.isLE?X=>X:X=>v0(X);UA.byteSwapIfBE=UA.swap8IfBE;function Xr(X){for(let _=0;_<X.length;_++)X[_]=v0(X[_]);return X}UA.swap32IfBE=UA.isLE?X=>X:Xr;var Zr=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",zI=Array.from({length:256},(X,_)=>_.toString(16).padStart(2,"0"));function $I(X){if(ri(X),Zr)return X.toHex();let _="";for(let $=0;$<X.length;$++)_+=zI[X[$]];return _}var se={_0:48,_9:57,A:65,F:70,a:97,f:102};function Vr(X){if(X>=se._0&&X<=se._9)return X-se._0;if(X>=se.A&&X<=se.F)return X-(se.A-10);if(X>=se.a&&X<=se.f)return X-(se.a-10)}function Ao(X){if(typeof X!="string")throw new Error("hex string expected, got "+typeof X);if(Zr)return Uint8Array.fromHex(X);let _=X.length,$=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let eA=new Uint8Array($);for(let rA=0,IA=0;rA<$;rA++,IA+=2){let aA=Vr(X.charCodeAt(IA)),cA=Vr(X.charCodeAt(IA+1));if(aA===void 0||cA===void 0){let EA=X[IA]+X[IA+1];throw new Error('hex string expected, got non-hex character "'+EA+'" at index '+IA)}eA[rA]=aA*16+cA}return eA}var to=async()=>{};UA.nextTick=to;async function eo(X,_,$){let eA=Date.now();for(let rA=0;rA<X;rA++){$(rA);let IA=Date.now()-eA;IA>=0&&IA<_||(await(0,UA.nextTick)(),eA+=IA)}}function q0(X){if(typeof X!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(X))}function io(X){return new TextDecoder().decode(X)}function Ti(X){return typeof X=="string"&&(X=q0(X)),ri(X),X}function go(X){return typeof X=="string"&&(X=q0(X)),ri(X),X}function ro(...X){let _=0;for(let eA=0;eA<X.length;eA++){let rA=X[eA];ri(rA),_+=rA.length}let $=new Uint8Array(_);for(let eA=0,rA=0;eA<X.length;eA++){let IA=X[eA];$.set(IA,rA),rA+=IA.length}return $}function no(X,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(X,_)}var K0=class{};UA.Hash=K0;function zr(X){let _=eA=>X().update(Ti(eA)).digest(),$=X();return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=()=>X(),_}function $r(X){let _=(eA,rA)=>X(rA).update(Ti(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}function An(X){let _=(eA,rA)=>X(rA).update(Ti(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}UA.wrapConstructor=zr;UA.wrapConstructorWithOpts=$r;UA.wrapXOFConstructorWithOpts=An;function Io(X=32){if(gi.crypto&&typeof gi.crypto.getRandomValues=="function")return gi.crypto.getRandomValues(new Uint8Array(X));if(gi.crypto&&typeof gi.crypto.randomBytes=="function")return Uint8Array.from(gi.crypto.randomBytes(X));throw new Error("crypto.getRandomValues must be defined")}});var tn=ot(qe=>{"use strict";mA();Object.defineProperty(qe,"__esModule",{value:!0});qe.hmac=qe.HMAC=void 0;var ve=Pi(),Di=class extends ve.Hash{constructor(_,$){super(),this.finished=!1,this.destroyed=!1,(0,ve.ahash)(_);let eA=(0,ve.toBytes)($);if(this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let rA=this.blockLen,IA=new Uint8Array(rA);IA.set(eA.length>rA?_.create().update(eA).digest():eA);for(let aA=0;aA<IA.length;aA++)IA[aA]^=54;this.iHash.update(IA),this.oHash=_.create();for(let aA=0;aA<IA.length;aA++)IA[aA]^=106;this.oHash.update(IA),(0,ve.clean)(IA)}update(_){return(0,ve.aexists)(this),this.iHash.update(_),this}digestInto(_){(0,ve.aexists)(this),(0,ve.abytes)(_,this.outputLen),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:$,iHash:eA,finished:rA,destroyed:IA,blockLen:aA,outputLen:cA}=this;return _=_,_.finished=rA,_.destroyed=IA,_.blockLen=aA,_.outputLen=cA,_.oHash=$._cloneInto(_.oHash),_.iHash=eA._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};qe.HMAC=Di;var oo=(X,_,$)=>new Di(X,_).update($).digest();qe.hmac=oo;qe.hmac.create=(X,_)=>new Di(X,_)});var gn=ot(Bt=>{"use strict";mA();Object.defineProperty(Bt,"__esModule",{value:!0});Bt.SHA512_IV=Bt.SHA384_IV=Bt.SHA224_IV=Bt.SHA256_IV=Bt.HashMD=void 0;Bt.setBigUint64=en;Bt.Chi=so;Bt.Maj=ao;var jt=Pi();function en(X,_,$,eA){if(typeof X.setBigUint64=="function")return X.setBigUint64(_,$,eA);let rA=BigInt(32),IA=BigInt(4294967295),aA=Number($>>rA&IA),cA=Number($&IA),EA=eA?4:0,yA=eA?0:4;X.setUint32(_+EA,aA,eA),X.setUint32(_+yA,cA,eA)}function so(X,_,$){return X&_^~X&$}function ao(X,_,$){return X&_^X&$^_&$}var J0=class extends jt.Hash{constructor(_,$,eA,rA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=rA,this.buffer=new Uint8Array(_),this.view=(0,jt.createView)(this.buffer)}update(_){(0,jt.aexists)(this),_=(0,jt.toBytes)(_),(0,jt.abytes)(_);let{view:$,buffer:eA,blockLen:rA}=this,IA=_.length;for(let aA=0;aA<IA;){let cA=Math.min(rA-this.pos,IA-aA);if(cA===rA){let EA=(0,jt.createView)(_);for(;rA<=IA-aA;aA+=rA)this.process(EA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===rA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){(0,jt.aexists)(this),(0,jt.aoutput)(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:rA,isLE:IA}=this,{pos:aA}=this;$[aA++]=128,(0,jt.clean)(this.buffer.subarray(aA)),this.padOffset>rA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<rA;CA++)$[CA]=0;en(eA,rA-8,BigInt(this.length*8),IA),this.process(eA,0);let cA=(0,jt.createView)(_),EA=this.outputLen;if(EA%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let yA=EA/4,uA=this.get();if(yA>uA.length)throw new Error("_sha2: outputLen bigger than state");for(let CA=0;CA<yA;CA++)cA.setUint32(4*CA,uA[CA],IA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:rA,finished:IA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=IA,_.length=rA,_.pos=cA,rA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}};Bt.HashMD=J0;Bt.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Bt.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Bt.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Bt.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var xn=ot(YA=>{"use strict";mA();Object.defineProperty(YA,"__esModule",{value:!0});YA.toBig=YA.shrSL=YA.shrSH=YA.rotrSL=YA.rotrSH=YA.rotrBL=YA.rotrBH=YA.rotr32L=YA.rotr32H=YA.rotlSL=YA.rotlSH=YA.rotlBL=YA.rotlBH=YA.add5L=YA.add5H=YA.add4L=YA.add4H=YA.add3L=YA.add3H=void 0;YA.add=yn;YA.fromBig=_0;YA.split=rn;var Vi=BigInt(2**32-1),O0=BigInt(32);function _0(X,_=!1){return _?{h:Number(X&Vi),l:Number(X>>O0&Vi)}:{h:Number(X>>O0&Vi)|0,l:Number(X&Vi)|0}}function rn(X,_=!1){let $=X.length,eA=new Uint32Array($),rA=new Uint32Array($);for(let IA=0;IA<$;IA++){let{h:aA,l:cA}=_0(X[IA],_);[eA[IA],rA[IA]]=[aA,cA]}return[eA,rA]}var nn=(X,_)=>BigInt(X>>>0)<<O0|BigInt(_>>>0);YA.toBig=nn;var In=(X,_,$)=>X>>>$;YA.shrSH=In;var on=(X,_,$)=>X<<32-$|_>>>$;YA.shrSL=on;var sn=(X,_,$)=>X>>>$|_<<32-$;YA.rotrSH=sn;var an=(X,_,$)=>X<<32-$|_>>>$;YA.rotrSL=an;var Bn=(X,_,$)=>X<<64-$|_>>>$-32;YA.rotrBH=Bn;var Cn=(X,_,$)=>X>>>$-32|_<<64-$;YA.rotrBL=Cn;var cn=(X,_)=>_;YA.rotr32H=cn;var Qn=(X,_)=>X;YA.rotr32L=Qn;var fn=(X,_,$)=>X<<$|_>>>32-$;YA.rotlSH=fn;var En=(X,_,$)=>_<<$|X>>>32-$;YA.rotlSL=En;var un=(X,_,$)=>_<<$-32|X>>>64-$;YA.rotlBH=un;var hn=(X,_,$)=>X<<$-32|_>>>64-$;YA.rotlBL=hn;function yn(X,_,$,eA){let rA=(_>>>0)+(eA>>>0);return{h:X+$+(rA/2**32|0)|0,l:rA|0}}var ln=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0);YA.add3L=ln;var dn=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0;YA.add3H=dn;var Dn=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0);YA.add4L=Dn;var bn=(X,_,$,eA,rA)=>_+$+eA+rA+(X/2**32|0)|0;YA.add4H=bn;var pn=(X,_,$,eA,rA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(rA>>>0);YA.add5L=pn;var wn=(X,_,$,eA,rA,IA)=>_+$+eA+rA+IA+(X/2**32|0)|0;YA.add5H=wn;var Bo={fromBig:_0,split:rn,toBig:nn,shrSH:In,shrSL:on,rotrSH:sn,rotrSL:an,rotrBH:Bn,rotrBL:Cn,rotr32H:cn,rotr32L:Qn,rotlSH:fn,rotlSL:En,rotlBH:un,rotlBL:hn,add:yn,add3L:ln,add3H:dn,add4L:Dn,add4H:bn,add5H:wn,add5L:pn};YA.default=Bo});var Sn=ot(qA=>{"use strict";mA();Object.defineProperty(qA,"__esModule",{value:!0});qA.sha512_224=qA.sha512_256=qA.sha384=qA.sha512=qA.sha224=qA.sha256=qA.SHA512_256=qA.SHA512_224=qA.SHA384=qA.SHA512=qA.SHA224=qA.SHA256=void 0;var FA=gn(),RA=xn(),ZA=Pi(),Co=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),de=new Uint32Array(64),bi=class extends FA.HashMD{constructor(_=32){super(64,_,8,!1),this.A=FA.SHA256_IV[0]|0,this.B=FA.SHA256_IV[1]|0,this.C=FA.SHA256_IV[2]|0,this.D=FA.SHA256_IV[3]|0,this.E=FA.SHA256_IV[4]|0,this.F=FA.SHA256_IV[5]|0,this.G=FA.SHA256_IV[6]|0,this.H=FA.SHA256_IV[7]|0}get(){let{A:_,B:$,C:eA,D:rA,E:IA,F:aA,G:cA,H:EA}=this;return[_,$,eA,rA,IA,aA,cA,EA]}set(_,$,eA,rA,IA,aA,cA,EA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=rA|0,this.E=IA|0,this.F=aA|0,this.G=cA|0,this.H=EA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)de[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=de[CA-15],Z=de[CA-2],fA=(0,ZA.rotr)(lA,7)^(0,ZA.rotr)(lA,18)^lA>>>3,HA=(0,ZA.rotr)(Z,17)^(0,ZA.rotr)(Z,19)^Z>>>10;de[CA]=HA+de[CA-7]+fA+de[CA-16]|0}let{A:eA,B:rA,C:IA,D:aA,E:cA,F:EA,G:yA,H:uA}=this;for(let CA=0;CA<64;CA++){let lA=(0,ZA.rotr)(cA,6)^(0,ZA.rotr)(cA,11)^(0,ZA.rotr)(cA,25),Z=uA+lA+(0,FA.Chi)(cA,EA,yA)+Co[CA]+de[CA]|0,HA=((0,ZA.rotr)(eA,2)^(0,ZA.rotr)(eA,13)^(0,ZA.rotr)(eA,22))+(0,FA.Maj)(eA,rA,IA)|0;uA=yA,yA=EA,EA=cA,cA=aA+Z|0,aA=IA,IA=rA,rA=eA,eA=Z+HA|0}eA=eA+this.A|0,rA=rA+this.B|0,IA=IA+this.C|0,aA=aA+this.D|0,cA=cA+this.E|0,EA=EA+this.F|0,yA=yA+this.G|0,uA=uA+this.H|0,this.set(eA,rA,IA,aA,cA,EA,yA,uA)}roundClean(){(0,ZA.clean)(de)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,ZA.clean)(this.buffer)}};qA.SHA256=bi;var Wi=class extends bi{constructor(){super(28),this.A=FA.SHA224_IV[0]|0,this.B=FA.SHA224_IV[1]|0,this.C=FA.SHA224_IV[2]|0,this.D=FA.SHA224_IV[3]|0,this.E=FA.SHA224_IV[4]|0,this.F=FA.SHA224_IV[5]|0,this.G=FA.SHA224_IV[6]|0,this.H=FA.SHA224_IV[7]|0}};qA.SHA224=Wi;var Gn=RA.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(X=>BigInt(X))),co=Gn[0],Qo=Gn[1],De=new Uint32Array(80),be=new Uint32Array(80),Je=class extends FA.HashMD{constructor(_=64){super(128,_,16,!1),this.Ah=FA.SHA512_IV[0]|0,this.Al=FA.SHA512_IV[1]|0,this.Bh=FA.SHA512_IV[2]|0,this.Bl=FA.SHA512_IV[3]|0,this.Ch=FA.SHA512_IV[4]|0,this.Cl=FA.SHA512_IV[5]|0,this.Dh=FA.SHA512_IV[6]|0,this.Dl=FA.SHA512_IV[7]|0,this.Eh=FA.SHA512_IV[8]|0,this.El=FA.SHA512_IV[9]|0,this.Fh=FA.SHA512_IV[10]|0,this.Fl=FA.SHA512_IV[11]|0,this.Gh=FA.SHA512_IV[12]|0,this.Gl=FA.SHA512_IV[13]|0,this.Hh=FA.SHA512_IV[14]|0,this.Hl=FA.SHA512_IV[15]|0}get(){let{Ah:_,Al:$,Bh:eA,Bl:rA,Ch:IA,Cl:aA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:HA,Hl:NA}=this;return[_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA]}set(_,$,eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=rA|0,this.Ch=IA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=HA|0,this.Hl=NA|0}process(_,$){for(let pA=0;pA<16;pA++,$+=4)De[pA]=_.getUint32($),be[pA]=_.getUint32($+=4);for(let pA=16;pA<80;pA++){let XA=De[pA-15]|0,zA=be[pA-15]|0,SA=RA.rotrSH(XA,zA,1)^RA.rotrSH(XA,zA,8)^RA.shrSH(XA,zA,7),dA=RA.rotrSL(XA,zA,1)^RA.rotrSL(XA,zA,8)^RA.shrSL(XA,zA,7),OA=De[pA-2]|0,JA=be[pA-2]|0,Ct=RA.rotrSH(OA,JA,19)^RA.rotrBH(OA,JA,61)^RA.shrSH(OA,JA,6),Et=RA.rotrSL(OA,JA,19)^RA.rotrBL(OA,JA,61)^RA.shrSL(OA,JA,6),ut=RA.add4L(dA,Et,be[pA-7],be[pA-16]),Lt=RA.add4H(ut,SA,Ct,De[pA-7],De[pA-16]);De[pA]=Lt|0,be[pA]=ut|0}let{Ah:eA,Al:rA,Bh:IA,Bl:aA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:HA,Gl:NA,Hh:wA,Hl:LA}=this;for(let pA=0;pA<80;pA++){let XA=RA.rotrSH(CA,lA,14)^RA.rotrSH(CA,lA,18)^RA.rotrBH(CA,lA,41),zA=RA.rotrSL(CA,lA,14)^RA.rotrSL(CA,lA,18)^RA.rotrBL(CA,lA,41),SA=CA&Z^~CA&HA,dA=lA&fA^~lA&NA,OA=RA.add5L(LA,zA,dA,Qo[pA],be[pA]),JA=RA.add5H(OA,wA,XA,SA,co[pA],De[pA]),Ct=OA|0,Et=RA.rotrSH(eA,rA,28)^RA.rotrBH(eA,rA,34)^RA.rotrBH(eA,rA,39),ut=RA.rotrSL(eA,rA,28)^RA.rotrBL(eA,rA,34)^RA.rotrBL(eA,rA,39),Lt=eA&IA^eA&cA^IA&cA,Oe=rA&aA^rA&EA^aA&EA;wA=HA|0,LA=NA|0,HA=Z|0,NA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=RA.add(yA|0,uA|0,JA|0,Ct|0),yA=cA|0,uA=EA|0,cA=IA|0,EA=aA|0,IA=eA|0,aA=rA|0;let Wt=RA.add3L(Ct,ut,Oe);eA=RA.add3H(Wt,JA,Et,Lt),rA=Wt|0}({h:eA,l:rA}=RA.add(this.Ah|0,this.Al|0,eA|0,rA|0)),{h:IA,l:aA}=RA.add(this.Bh|0,this.Bl|0,IA|0,aA|0),{h:cA,l:EA}=RA.add(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=RA.add(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:CA,l:lA}=RA.add(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=RA.add(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:HA,l:NA}=RA.add(this.Gh|0,this.Gl|0,HA|0,NA|0),{h:wA,l:LA}=RA.add(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,rA,IA,aA,cA,EA,yA,uA,CA,lA,Z,fA,HA,NA,wA,LA)}roundClean(){(0,ZA.clean)(De,be)}destroy(){(0,ZA.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};qA.SHA512=Je;var Xi=class extends Je{constructor(){super(48),this.Ah=FA.SHA384_IV[0]|0,this.Al=FA.SHA384_IV[1]|0,this.Bh=FA.SHA384_IV[2]|0,this.Bl=FA.SHA384_IV[3]|0,this.Ch=FA.SHA384_IV[4]|0,this.Cl=FA.SHA384_IV[5]|0,this.Dh=FA.SHA384_IV[6]|0,this.Dl=FA.SHA384_IV[7]|0,this.Eh=FA.SHA384_IV[8]|0,this.El=FA.SHA384_IV[9]|0,this.Fh=FA.SHA384_IV[10]|0,this.Fl=FA.SHA384_IV[11]|0,this.Gh=FA.SHA384_IV[12]|0,this.Gl=FA.SHA384_IV[13]|0,this.Hh=FA.SHA384_IV[14]|0,this.Hl=FA.SHA384_IV[15]|0}};qA.SHA384=Xi;var st=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),at=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),Zi=class extends Je{constructor(){super(28),this.Ah=st[0]|0,this.Al=st[1]|0,this.Bh=st[2]|0,this.Bl=st[3]|0,this.Ch=st[4]|0,this.Cl=st[5]|0,this.Dh=st[6]|0,this.Dl=st[7]|0,this.Eh=st[8]|0,this.El=st[9]|0,this.Fh=st[10]|0,this.Fl=st[11]|0,this.Gh=st[12]|0,this.Gl=st[13]|0,this.Hh=st[14]|0,this.Hl=st[15]|0}};qA.SHA512_224=Zi;var zi=class extends Je{constructor(){super(32),this.Ah=at[0]|0,this.Al=at[1]|0,this.Bh=at[2]|0,this.Bl=at[3]|0,this.Ch=at[4]|0,this.Cl=at[5]|0,this.Dh=at[6]|0,this.Dl=at[7]|0,this.Eh=at[8]|0,this.El=at[9]|0,this.Fh=at[10]|0,this.Fl=at[11]|0,this.Gh=at[12]|0,this.Gl=at[13]|0,this.Hh=at[14]|0,this.Hl=at[15]|0}};qA.SHA512_256=zi;qA.sha256=(0,ZA.createHasher)(()=>new bi);qA.sha224=(0,ZA.createHasher)(()=>new Wi);qA.sha512=(0,ZA.createHasher)(()=>new Je);qA.sha384=(0,ZA.createHasher)(()=>new Xi);qA.sha512_256=(0,ZA.createHasher)(()=>new zi);qA.sha512_224=(0,ZA.createHasher)(()=>new Zi)});var Hn=ot(Tt=>{"use strict";mA();Object.defineProperty(Tt,"__esModule",{value:!0});Tt.sha224=Tt.SHA224=Tt.sha256=Tt.SHA256=void 0;var $i=Sn();Tt.SHA256=$i.SHA256;Tt.sha256=$i.sha256;Tt.SHA224=$i.SHA224;Tt.sha224=$i.sha224});var mn=ot(Pt=>{"use strict";mA();var fo=Pt&&Pt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),Eo=Pt&&Pt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),uo=Pt&&Pt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&fo($,_,eA[rA]);return Eo($,_),$}})();Object.defineProperty(Pt,"__esModule",{value:!0});Pt.BsvEcdsaSuite=void 0;var ni=uo((Tr(),ai(jr))),ho=tn(),yo=Hn(),A0=ui();ni.etc.hmacSha256Sync=(X,..._)=>(0,ho.hmac)(yo.sha256,X,ni.etc.concatBytes(..._));var j0=class{constructor(){bA(this,"suiteId","bsv-ecdsa-secp256k1");bA(this,"version","1.0.0")}async generateKeypair(){let _=ni.utils.randomPrivateKey(),$=ni.getPublicKey(_,!0);return{privateKey:_,publicKey:$}}async sign(_,$){try{return(await ni.sign($,_)).toCompactRawBytes()}catch(eA){throw new Error(`BsvEcdsaSuite signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return ni.verify(eA,$,_)}catch{return!1}}exportPublicKey(_){return(0,A0.bytesToHex)(_)}importPublicKey(_){return(0,A0.hexToBytes)(_)}exportPrivateKey(_){return(0,A0.bytesToHex)(_)}importPrivateKey(_){let $=(0,A0.hexToBytes)(_);if($.length!==32)throw new Error("Private key must be 32 bytes");return $}};Pt.BsvEcdsaSuite=j0});var Fn=ot((exports,module)=>{mA();var dilithium=(function(){var A,I,g,C={};function B(X,_){if(X===0)return _;throw new Error("Dilithium error: "+X)}function Q(X,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,X,_))}function i(X){try{C._free(X)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(X){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(X)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(X){I(X)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(X,_){throw _},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(X,_){var $=x(X);return $?_?$:$.toString():(X=q(X)?new URL(X):e.normalize(X),a.readFileSync(X,_?void 0:"utf8"))},B=function(X){var _=C(X,!0);return _.buffer||(_=new Uint8Array(_)),_},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(X){if(!(X==="unwind"||X instanceof p||X.context instanceof p))throw X})),E=function(X,_){throw process.exitCode=X,_},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=x(X);if($)return(function(rA){for(var IA=[],aA=0;aA<rA.length;aA++){var cA=rA[aA];cA>255&&(cA&=255),IA.push(String.fromCharCode(cA))}return IA.join("")})($);throw eA}},n&&(B=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=x(X);if($)return $;throw eA}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(X){throw Q.onAbort&&Q.onAbort(X),D(X="Aborted("+X+")"),F=!0,X+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(X)}var R,d,M="data:application/octet-stream;base64,";function J(X){return X.startsWith(M)}function q(X){return X.startsWith("file://")}function l(X){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var $=x(_);if($)return $;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function m(X,_,$,eA){return(function(rA,IA,aA){return l(rA).then((function(cA){return WebAssembly.instantiate(cA,IA)})).then((function(cA){return cA})).then(aA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(_,$,eA)}J(R="data:application/octet-stream;base64,AGFzbQEAAAABOApgA39/fwBgAX8AYAJ/fwBgAX8Bf2ACf38Bf2AAAX9gA39/fwF/YAR/f39/AGAAAGAEf39/fwF/AhkEAWEBYQABAWEBYgAGAWEBYwADAWEBZAAAA0FAAAAAAQICAAQBAQAAAQACAgICAgAGAAABAAECAgABAQMEAQEBAQcBAwAAAQEAAggAAgAEAAADBwIACQkEBQUFCAQFAXABAQEFBgEBgAKAAgYJAX8BQZCcgAQLBzEMAWUCAAFmADIBZwEAAWgAKwFpACoBagBDAWsAQgFsAEEBbQBAAW4APwFvAD4BcAA9CuuEAkD5BAIHfwF+IwBB4AZrIgUkACMAQRBrIgQkACAEIAI7AA4gBUEMaiICECEgAiABQSAQPCACIARBDmpBAhA8IAIoAgAiASABKQPIASIKp0F4cWoiAyADKQMAQh8gCkIDhoaFNwMAIAFCADcDyAEgASABKQOgAUKAgICAgICAgIB/hTcDoAEgBEEQaiQAIAVBEGpByAYgAhA1QQAhAUEDIQQDQCAFQRBqIAFqIgEvAAAgAS0AAkEQdEGAgPwDcXIiAUGAwP8DTQRAIAAgBkECdGogATYCACAGQQFqIQYLIAQiAUHFBk0EQCABQQNqIQQgBkGAAkkNAQsLIAZB/wFNBEBByAYhAwNAIANBA3AiCARAIAMgCGshB0EAIQRBACECQQAhCSADQQNwQQFrQQNPBEADQCAFQRBqIgEgAmogAiAHaiABai0AADoAACABIAJBAXIiA2ogAyAHaiABai0AADoAACABIAJBAnIiA2ogAyAHaiABai0AADoAACABIAJBA3IiA2ogAyAHaiABai0AADoAACACQQRqIQIgCUEEaiIJDQALCwNAIAVBEGoiASACaiACIAdqIAFqLQAAOgAAIAJBAWohAiAEQQFqIgQgCEcNAAsLIAVBEGogCHJBqAEgBUEMahA1QYACIAZrIQcgCEGoAXIhAyAAIAZBAnRqIQhBACECQQMhBEEAIQEDQCAFQRBqIAJqIgIvAAAgAi0AAkEQdEGAgPwDcXIiAkGAwP8DTQRAIAggAUECdGogAjYCACABQQFqIQELIAEgB0kgAyAEIgJBA2oiBE9xDQALIAEgBmoiBkGAAkkNAAsLIAVBDGoQECAFQeAGaiQAC1ACAn8BfgNAIAAgA0ECdCIEaiACIARqNAIAIAEgBGo0AgB+IgUgBUKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACADQQFqIgNBgAJHDQALC1ABAn8DQCAAIARBAnQiA2ogAiADaigCACABIANqKAIAajYCACAAIANBBHIiA2ogAiADaigCACABIANqKAIAajYCACAEQQJqIgRBgAJHDQALC8UaAgZ/An4DQCAAIAZBAnRqIgU0AoAEQvfJAX4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAUgBSgCACIBIAJrNgKABCAFIAEgAmo2AgAgBkEBaiIGQYABRw0ACwNAIAAgA0ECdGoiBjQCgAJCguLgfn4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyEFIAYgBigCACICIAVrNgKAAiAGIAIgBWo2AgAgA0EBaiIDQcAARw0AC0GAASEDA0AgACADQQJ0aiIGNAKAAkKDqmB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSAGIAYoAgAiAiAFazYCgAIgBiACIAVqNgIAIANBAWoiA0HAAUcNAAtBACEDA0AgACADQQJ0aiIGNAKAAULEvA5+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSAGIAYoAgAiAiAFazYCgAEgBiACIAVqNgIAIANBAWoiA0EgRw0AC0HAACEGA0BBgAEhAyAAIAZBAnRqIgU0AoABQpjCUH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAUgBSgCACIBIAJrNgKAASAFIAEgAmo2AgAgBkEBaiIGQeAARw0ACwNAIAAgA0ECdGoiBjQCgAFCqMJKfiIHIAdCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQUgBiAGKAIAIgIgBWs2AoABIAYgAiAFajYCACADQQFqIgNBoAFHDQALQcABIQMDQCAAIANBAnRqIgY0AoABQqS8HH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyEFIAYgBigCACICIAVrNgKAASAGIAIgBWo2AgAgA0EBaiIDQeABRw0AC0EHIQZBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQcAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARC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ACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAIahAJIAFBoAJqIAZBgBBqEAkgAUGAA2ogBkGAGGoQCSABQeADaiAGQYAgahAJIAFBwARqIAZBgChqEAkgAUGgBWogBkGAMGoQCSABQYAGaiAEEAkgAUHgBmogBEGACGoQCSABQcAHaiAEQYAQahAJIAFBoAhqIARBgBhqEAkgAUGACWogBEGAIGoQCSABQeAJaiAEQYAoahAJIAFBwApqIARBgDBqEAkgAUGgC2ogDhAJIAFBgAxqIAUQFCABQaAPaiAPEBQgAUHAEmogEBAUIAFB4BVqIBEQFCABQYAZaiASEBQgAUGgHGogExAUIAFBwB9qIBQQFCABQeAiaiAVEBQgBUGg8QVqJABBAAsFAEH1IwsFAEGAJgsFAEGgFAsoAQF/IwBBEGsiACQAIABBADoAD0HIEiAAQQ9qQQAQARogAEEQaiQACwunCgMAQYAIC1FyYW5kb21ieXRlcwBsaWJzb2RpdW0vc3JjL2xpYnNvZGl1bS9yYW5kb21ieXRlcy9yYW5kb21ieXRlcy5jAGJ1Zl9sZW4gPD0gU0laRV9NQVgAQeAIC78JAQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zikeAEGgEgsDEA6A")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var X=new Uint32Array(1);return I.getRandomValues(X),X[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var X=B.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),Q.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function p(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var K=function(X){for(;X.length>0;)X.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(X,_,$){var eA=(function(rA,IA){var aA;for(v.length=0,IA>>=2;aA=y[rA++];)IA+=aA!=105&IA,v.push(aA==105?u[IA]:s[IA++>>1]),++IA;return v})(_,$);return L[X].apply(null,eA)},O=function(X){G||(Q.onExit&&Q.onExit(X),F=!0),E(X,new p(X))},T={b:function(X,_,$){return j(X,_,$)},d:function(X,_,$){return y.copyWithin(X,_,_+$)},c:function(X){y.length,U("OOM")},a:function(X,_){O(X)}};(function(){var X={a:T};function _($,eA){var rA,IA,aA=$.exports;return Q.asm=aA,c=Q.asm.e,rA=c.buffer,Q.HEAP8=h=new Int8Array(rA),Q.HEAP16=new Int16Array(rA),Q.HEAP32=u=new Int32Array(rA),Q.HEAPU8=y=new Uint8Array(rA),Q.HEAPU16=new Uint16Array(rA),Q.HEAPU32=new Uint32Array(rA),Q.HEAPF32=new Float32Array(rA),Q.HEAPF64=s=new Float64Array(rA),Q.asm.g,IA=Q.asm.f,N.unshift(IA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var EA=H;H=null,EA()}})(),aA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(X,_)}catch($){return D("Module.instantiateWasm callback failed with error: "+$),!1}m(0,R,X,(function($){_($.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(X){if(J(X))return(function(_){if(r!==void 0&&r){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),rA=new Uint8Array(eA.length),IA=0;IA<eA.length;++IA)rA[IA]=eA.charCodeAt(IA);return rA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(M.length))}function W(){function X(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)_=Q.postRun.shift(),w.unshift(_);var _;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)_=Q.preRun.shift(),Y.unshift(_);var _;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),X()}),1)):X()))}if(Q.writeArrayToMemory=function(X,_){h.set(X,_)},H=function X(){b||W(),b||(H=X)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(X){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(X)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(X,_){throw _},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(X,_){var $=P(X);return $?_?$:$.toString():(X=m(X)?new URL(X):t.normalize(X),r.readFileSync(X,_?void 0:"utf8"))},g=function(X){var _=I(X,!0);return _.buffer||(_=new Uint8Array(_)),_},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(X){if(!(X==="unwind"||X instanceof b||X.context instanceof b))throw X})),Q=function(X,_){throw process.exitCode=X,_},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=P(X);if($)return(function(rA){for(var IA=[],aA=0;aA<rA.length;aA++){var cA=rA[aA];cA>255&&(cA&=255),IA.push(String.fromCharCode(cA))}return IA.join("")})($);throw eA}},E&&(g=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=P(X);if($)return $;throw eA}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(X){this.buffer=new ArrayBuffer(65536*X.initial)},Module:function(X){},Instance:function(X,_){this.exports=(function($){for(var eA,rA=new Uint8Array(123),IA=25;IA>=0;--IA)rA[48+IA]=52+IA,rA[65+IA]=IA,rA[97+IA]=26+IA;function aA(EA,yA,uA){for(var CA,lA,Z=0,fA=yA,HA=uA.length,NA=yA+(3*HA>>2)-(uA[HA-2]=="=")-(uA[HA-1]=="=");Z<HA;Z+=4)CA=rA[uA.charCodeAt(Z+1)],lA=rA[uA.charCodeAt(Z+2)],EA[fA++]=rA[uA.charCodeAt(Z)]<<2|CA>>4,fA<NA&&(EA[fA++]=CA<<4|lA>>2),fA<NA&&(EA[fA++]=lA<<6|rA[uA.charCodeAt(Z+3)])}function cA(){throw new Error("abort")}return rA[43]=62,rA[47]=63,(function(EA){var yA=EA.a,uA=yA.a.buffer,CA=new Int8Array(uA),lA=new Int16Array(uA),Z=new Int32Array(uA),fA=new Uint8Array(uA),HA=new Uint16Array(uA),NA=new Uint32Array(uA),wA=(new Float32Array(uA),new Float64Array(uA),Math.imul),LA=Math.clz32,pA=yA.b,XA=yA.c,zA=yA.d,SA=8392208,dA=0;function OA(z){var iA,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;SA=iA=SA-16|0;A:{e:{t:{i:{o:{n:{s:{f:{B:{a:{I:{C:{c:{g:{if((z|=0)>>>0<=244){if(3&(tA=(sA=Z[776])>>>(AA=(BA=z>>>0<11?16:z+11&-8)>>>3|0)|0)){tA=(z=(AA=AA+(1&(-1^tA))|0)<<3)+3144|0,gA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[gA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):Z[776]=Mt(AA)&sA,z=gA+8|0,tA=AA<<3,Z[gA+4>>2]=3|tA,Z[(tA=tA+gA|0)+4>>2]=1|Z[tA+4>>2];break A}if((DA=Z[778])>>>0>=BA>>>0)break g;if(tA){tA=(z=(gA=a0(0-(z=(0-(z=2<<AA)|z)&tA<<AA)&z))<<3)+3144|0,nA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[nA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):(sA=Mt(gA)&sA,Z[776]=sA),Z[nA+4>>2]=3|BA,gA=(z=gA<<3)-BA|0,Z[(AA=nA+BA|0)+4>>2]=1|gA,Z[z+nA>>2]=gA,DA&&(tA=3144+(-8&DA)|0,oA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=oA,Z[z+12>>2]=oA,Z[oA+12>>2]=tA,Z[oA+8>>2]=z),z=nA+8|0,Z[781]=AA,Z[778]=gA;break A}if(!(hA=Z[777]))break g;for(AA=Z[3408+(a0(0-hA&hA)<<2)>>2],oA=(-8&Z[AA+4>>2])-BA|0,tA=AA;(z=Z[tA+16>>2])||(z=Z[tA+20>>2]);)oA=(gA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<oA>>>0)?tA:oA,AA=gA?z:AA,tA=z;if(QA=Z[AA+24>>2],(0|(gA=Z[AA+12>>2]))!=(0|AA)){z=Z[AA+8>>2],Z[z+12>>2]=gA,Z[gA+8>>2]=z;break e}if(!(z=Z[(tA=AA+20|0)>>2])){if(!(z=Z[AA+16>>2]))break c;tA=AA+16|0}for(;nA=tA,gA=z,(z=Z[(tA=z+20|0)>>2])||(tA=gA+16|0,z=Z[gA+16>>2]););Z[nA>>2]=0;break e}if(BA=-1,!(z>>>0>4294967231)&&(BA=-8&(z=z+11|0),hA=Z[777])){oA=0-BA|0,sA=0,BA>>>0<256||(sA=31,BA>>>0>16777215||(sA=62+((BA>>>38-(z=LA(z>>>8|0))&1)-(z<<1)|0)|0));r:{Q:{if(tA=Z[3408+(sA<<2)>>2])for(z=0,AA=BA<<((0|sA)!=31?25-(sA>>>1|0)|0:0);;){if(!((nA=(-8&Z[tA+4>>2])-BA|0)>>>0>=oA>>>0||(gA=tA,oA=nA,nA))){oA=0,z=tA;break Q}if(nA=Z[tA+20>>2],tA=Z[16+((AA>>>29&4)+tA|0)>>2],z=nA?(0|nA)==(0|tA)?z:nA:z,AA<<=1,!tA)break}else z=0;if(!(z|gA)){if(gA=0,!(z=(0-(z=2<<sA)|z)&hA))break g;z=Z[3408+(a0(z&0-z)<<2)>>2]}if(!z)break r}for(;oA=(AA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<oA>>>0)?tA:oA,gA=AA?z:gA,z=(tA=Z[z+16>>2])||Z[z+20>>2];);}if(!(!gA|Z[778]-BA>>>0<=oA>>>0)){if(sA=Z[gA+24>>2],(0|gA)!=(0|(AA=Z[gA+12>>2]))){z=Z[gA+8>>2],Z[z+12>>2]=AA,Z[AA+8>>2]=z;break t}if(!(z=Z[(tA=gA+20|0)>>2])){if(!(z=Z[gA+16>>2]))break C;tA=gA+16|0}for(;nA=tA,AA=z,(z=Z[(tA=z+20|0)>>2])||(tA=AA+16|0,z=Z[AA+16>>2]););Z[nA>>2]=0;break t}}}if((z=Z[778])>>>0>=BA>>>0){gA=Z[781],(tA=z-BA|0)>>>0>=16?(Z[(AA=gA+BA|0)+4>>2]=1|tA,Z[z+gA>>2]=tA,Z[gA+4>>2]=3|BA):(Z[gA+4>>2]=3|z,Z[(z=z+gA|0)+4>>2]=1|Z[z+4>>2],AA=0,tA=0),Z[778]=tA,Z[781]=AA,z=gA+8|0;break A}if((QA=Z[779])>>>0>BA>>>0){tA=QA-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}if(z=0,hA=BA+47|0,Z[894]?AA=Z[896]:(Z[897]=-1,Z[898]=-1,Z[895]=4096,Z[896]=4096,Z[894]=iA+12&-16^1431655768,Z[899]=0,Z[887]=0,AA=4096),(tA=(nA=hA+AA|0)&(oA=0-AA|0))>>>0<=BA>>>0||(gA=Z[886])&&gA>>>0<(sA=(AA=Z[884])+tA|0)>>>0|AA>>>0>=sA>>>0)break A;g:{if(!(4&fA[3548])){r:{Q:{E:{u:{if(gA=Z[782])for(z=3552;;){if((AA=Z[z>>2])>>>0<=gA>>>0&gA>>>0<AA+Z[z+4>>2]>>>0)break u;if(!(z=Z[z+8>>2]))break}if((0|(AA=je(0)))==-1||(sA=tA,(z=(gA=Z[895])-1|0)&AA&&(sA=(tA-AA|0)+(z+AA&0-gA)|0),sA>>>0<=BA>>>0)||(gA=Z[886])&&gA>>>0<(oA=(z=Z[884])+sA|0)>>>0|z>>>0>=oA>>>0)break r;if((0|AA)!=(0|(z=je(sA))))break E;break g}if((0|(AA=je(sA=oA&nA-QA)))==(Z[z>>2]+Z[z+4>>2]|0))break Q;z=AA}if((0|z)==-1)break r;if(BA+48>>>0<=sA>>>0){AA=z;break g}if((0|je(AA=(AA=Z[896])+(hA-sA|0)&0-AA))==-1)break r;sA=AA+sA|0,AA=z;break g}if((0|AA)!=-1)break g}Z[887]=4|Z[887]}if((0|(AA=je(tA)))==-1|(0|(z=je(0)))==-1|z>>>0<=AA>>>0||(sA=z-AA|0)>>>0<=BA+40>>>0)break B}z=Z[884]+sA|0,Z[884]=z,z>>>0>NA[885]&&(Z[885]=z);g:{if(nA=Z[782]){for(z=3552;;){if(((gA=Z[z>>2])+(tA=Z[z+4>>2])|0)==(0|AA))break g;if(!(z=Z[z+8>>2]))break}break I}for((z=Z[780])>>>0<=AA>>>0&&z||(Z[780]=AA),z=0,Z[889]=sA,Z[888]=AA,Z[784]=-1,Z[785]=Z[894],Z[891]=0;tA=(gA=z<<3)+3144|0,Z[gA+3152>>2]=tA,Z[gA+3156>>2]=tA,(0|(z=z+1|0))!=32;);tA=(gA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+gA|0)>>2]=40,Z[783]=Z[898];break a}if(8&Z[z+12>>2]|AA>>>0<=nA>>>0|gA>>>0>nA>>>0)break I;Z[z+4>>2]=tA+sA,AA=(z=nA+8&7?-8-nA&7:0)+nA|0,Z[782]=AA,z=(tA=Z[779]+sA|0)-z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[4+(tA+nA|0)>>2]=40,Z[783]=Z[898];break a}gA=0;break e}AA=0;break t}NA[780]>AA>>>0&&(Z[780]=AA),tA=AA+sA|0,z=3552;I:{C:{c:{for(;;){if((0|tA)!=Z[z>>2]){if(z=Z[z+8>>2])continue;break c}break}if(!(8&fA[z+12|0]))break C}for(z=3552;;){if((tA=Z[z>>2])>>>0<=nA>>>0&&(oA=tA+Z[z+4>>2]|0)>>>0>nA>>>0)break I;z=Z[z+8>>2]}}if(Z[z>>2]=AA,Z[z+4>>2]=Z[z+4>>2]+sA,Z[(hA=(AA+8&7?-8-AA&7:0)+AA|0)+4>>2]=3|BA,z=(sA=tA+(tA+8&7?-8-tA&7:0)|0)-(QA=BA+hA|0)|0,(0|nA)==(0|sA)){Z[782]=QA,z=Z[779]+z|0,Z[779]=z,Z[QA+4>>2]=1|z;break i}if(Z[781]==(0|sA)){Z[781]=QA,z=Z[778]+z|0,Z[778]=z,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z;break i}if((3&(oA=Z[sA+4>>2]))!=1)break o;if(nA=-8&oA,oA>>>0<=255){if((0|(AA=Z[sA+12>>2]))==(0|(tA=Z[sA+8>>2]))){Z[776]=Z[776]&Mt(oA>>>3|0);break n}Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break n}if(BA=Z[sA+24>>2],(0|sA)!=(0|(AA=Z[sA+12>>2]))){tA=Z[sA+8>>2],Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break s}if(!(oA=Z[(tA=sA+20|0)>>2])){if(!(oA=Z[sA+16>>2]))break f;tA=sA+16|0}for(;gA=tA,(oA=Z[(tA=(AA=oA)+20|0)>>2])||(tA=AA+16|0,oA=Z[AA+16>>2]););Z[gA>>2]=0;break s}for(tA=(gA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+gA|0)>>2]=40,Z[783]=Z[898],Z[(gA=(z=(oA+(oA-39&7?39-oA&7:0)|0)-47|0)>>>0<nA+16>>>0?nA:z)+4>>2]=27,z=Z[891],Z[gA+16>>2]=Z[890],Z[gA+20>>2]=z,z=Z[889],Z[gA+8>>2]=Z[888],Z[gA+12>>2]=z,Z[890]=gA+8,Z[889]=sA,Z[888]=AA,Z[891]=0,z=gA+24|0;Z[z+4>>2]=7,tA=z+8|0,z=z+4|0,tA>>>0<oA>>>0;);if((0|gA)!=(0|nA))if(Z[gA+4>>2]=-2&Z[gA+4>>2],oA=gA-nA|0,Z[nA+4>>2]=1|oA,Z[gA>>2]=oA,oA>>>0<=255)tA=3144+(-8&oA)|0,(AA=Z[776])&(z=1<<(oA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,oA>>>0<=16777215&&(z=62+((oA>>>38-(z=LA(oA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;I:{if((gA=Z[777])&(AA=1<<z)){for(z=oA<<((0|z)!=31?25-(z>>>1|0)|0:0),gA=Z[tA>>2];;){if((0|oA)==(-8&Z[(tA=gA)+4>>2]))break I;if(AA=z>>>29|0,z<<=1,!(gA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|gA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break a}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}}if(!((z=Z[779])>>>0<=BA>>>0)){tA=z-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}}Z[775]=48,z=0;break A}AA=0}if(BA){gA=Z[sA+28>>2];s:{if(Z[(tA=3408+(gA<<2)|0)>>2]==(0|sA)){if(Z[tA>>2]=AA,AA)break s;Z[777]=Z[777]&Mt(gA);break n}if(Z[BA+(Z[BA+16>>2]==(0|sA)?16:20)>>2]=AA,!AA)break n}Z[AA+24>>2]=BA,(tA=Z[sA+16>>2])&&(Z[AA+16>>2]=tA,Z[tA+24>>2]=AA),(tA=Z[sA+20>>2])&&(Z[AA+20>>2]=tA,Z[tA+24>>2]=AA)}}z=z+nA|0,oA=Z[(sA=nA+sA|0)+4>>2]}if(Z[sA+4>>2]=-2&oA,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z,z>>>0<=255)tA=3144+(-8&z)|0,(AA=Z[776])&(z=1<<(z>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=QA,Z[z+12>>2]=QA,Z[QA+12>>2]=tA,Z[QA+8>>2]=z;else{oA=31,z>>>0<=16777215&&(oA=62+((z>>>38-(tA=LA(z>>>8|0))&1)-(tA<<1)|0)|0),Z[QA+28>>2]=oA,Z[QA+16>>2]=0,Z[QA+20>>2]=0,tA=3408+(oA<<2)|0;o:{if((gA=Z[777])&(AA=1<<oA)){for(oA=z<<((0|oA)!=31?25-(oA>>>1|0)|0:0),AA=Z[tA>>2];;){if(tA=AA,(-8&Z[AA+4>>2])==(0|z))break o;if(AA=oA>>>29|0,oA<<=1,!(AA=Z[(gA=(4&AA)+tA|0)+16>>2]))break}Z[gA+16>>2]=QA}else Z[777]=AA|gA,Z[tA>>2]=QA;Z[QA+24>>2]=tA,Z[QA+12>>2]=QA,Z[QA+8>>2]=QA;break i}z=Z[tA+8>>2],Z[z+12>>2]=QA,Z[tA+8>>2]=QA,Z[QA+24>>2]=0,Z[QA+12>>2]=tA,Z[QA+8>>2]=z}}z=hA+8|0;break A}t:if(sA){tA=Z[gA+28>>2];i:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|gA)){if(Z[z>>2]=AA,AA)break i;hA=Mt(tA)&hA,Z[777]=hA;break t}if(Z[sA+(Z[sA+16>>2]==(0|gA)?16:20)>>2]=AA,!AA)break t}Z[AA+24>>2]=sA,(z=Z[gA+16>>2])&&(Z[AA+16>>2]=z,Z[z+24>>2]=AA),(z=Z[gA+20>>2])&&(Z[AA+20>>2]=z,Z[z+24>>2]=AA)}t:if(oA>>>0<=15)z=oA+BA|0,Z[gA+4>>2]=3|z,Z[(z=z+gA|0)+4>>2]=1|Z[z+4>>2];else if(Z[gA+4>>2]=3|BA,Z[(nA=gA+BA|0)+4>>2]=1|oA,Z[nA+oA>>2]=oA,oA>>>0<=255)tA=3144+(-8&oA)|0,(AA=Z[776])&(z=1<<(oA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,oA>>>0<=16777215&&(z=62+((oA>>>38-(z=LA(oA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;i:{if((AA=1<<z)&hA){for(z=oA<<((0|z)!=31?25-(z>>>1|0)|0:0),BA=Z[tA>>2];;){if((-8&Z[(tA=BA)+4>>2])==(0|oA))break i;if(AA=z>>>29|0,z<<=1,!(BA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|hA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break t}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}z=gA+8|0;break A}e:if(QA){tA=Z[AA+28>>2];t:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[z>>2]=gA,gA)break t;Z[777]=Mt(tA)&hA;break e}if(Z[QA+(Z[QA+16>>2]==(0|AA)?16:20)>>2]=gA,!gA)break e}Z[gA+24>>2]=QA,(z=Z[AA+16>>2])&&(Z[gA+16>>2]=z,Z[z+24>>2]=gA),(z=Z[AA+20>>2])&&(Z[gA+20>>2]=z,Z[z+24>>2]=gA)}oA>>>0<=15?(z=oA+BA|0,Z[AA+4>>2]=3|z,Z[(z=z+AA|0)+4>>2]=1|Z[z+4>>2]):(Z[AA+4>>2]=3|BA,Z[(gA=AA+BA|0)+4>>2]=1|oA,Z[gA+oA>>2]=oA,DA&&(tA=3144+(-8&DA)|0,nA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z),Z[781]=gA,Z[778]=oA),z=AA+8|0}return SA=iA+16|0,0|z}function JA(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0,_A=0,jA=0,$A=0,At=0,PA=0,VA=0,WA=0,it=0,gt=0,rt=0,nt=0,ct=0,bt=0,pt=0,wt=0,xt=0,Gt=0,ht=0,St=0,yt=0,Ht=0,mt=0,Ft=0,Ut=0,kt=0,Kt=0,Zt=0,we=0,zt=0,$t=0,Ae=0,te=0,Be=0,ee=0,ie=0,ge=0,re=0,ne=0,Ce=0,ce=0,Qe=0,xe=0,Ge=0,fe=0,Se=0,He=0,Pe=0,Ve=0,me=0,Fe=0,We=0,Si=0,Hi=0,mi=0,lg=0,dg=0,Dg=0,bg=0,pg=0,wg=0,xg=0,Gg=0,Sg=0,Hg=0,c0=0,mg=0,Fg=0,Ug=0,kg=0,Ng=0,Yg=0,Rg=0,Lg=0,Mg=0,Kg=0,vg=0,qg=0,Jg=0,Og=0,_g=0,jg=0;for(zt=Z[z+192>>2],$t=Z[z+196>>2],pt=Z[z+184>>2],Ae=Z[z+188>>2],te=Z[z+176>>2],Be=Z[z+180>>2],wt=Z[z+168>>2],ee=Z[z+172>>2],$A=Z[z+160>>2],Ge=Z[z+164>>2],ie=Z[z+152>>2],fe=Z[z+156>>2],ge=Z[z+144>>2],re=Z[z+148>>2],xt=Z[z+136>>2],Gt=Z[z+140>>2],ht=Z[z+128>>2],Se=Z[z+132>>2],ne=Z[z+120>>2],He=Z[z+124>>2],St=Z[z+112>>2],yt=Z[z+116>>2],KA=Z[z+104>>2],rt=Z[z+108>>2],Ht=Z[z+96>>2],mt=Z[z+100>>2],QA=Z[z+88>>2],nt=Z[z+92>>2],sA=Z[z+80>>2],Ft=Z[z+84>>2],oA=Z[z+72>>2],Ut=Z[z+76>>2],kA=Z[z+64>>2],jA=Z[z+68>>2],At=Z[z+56>>2],MA=Z[z+60>>2],tA=Z[z+48>>2],Ce=Z[z+52>>2],gA=Z[z+40>>2],vA=Z[z+44>>2],PA=Z[z+32>>2],kt=Z[z+36>>2],DA=Z[z+24>>2],VA=Z[z+28>>2],hA=Z[z+16>>2],ct=Z[z+20>>2],AA=Z[z+8>>2],WA=Z[z+12>>2],BA=Z[z>>2],it=Z[z+4>>2];mi>>>0<=23;)iA=DA^kA^KA^pt^ge,Kt=GA(_A=BA^gA^sA^$A^ne,gt=it^vA^Ft^Ge^He,1)^iA,nA=GA(PA^Kt,kt^(Zt=(Pe=VA^jA^rt^Ae^re)^dA),27),Ve=dA,ce=bt=ct^MA^mt^Gt^Be,bt=GA(we=hA^At^Ht^xt^te,bt,1)^_A,_A=GA(QA^bt,nt^(Qe=dA^gt),10),me=dA,xe=gt=WA^Ce^nt^ee^Se,Fe=PA^oA^St^zt^ie,PA=GA(Si=AA^tA^QA^wt^ht,gt,1)^Fe,gt=GA(gt=gA^PA,vA^(nt=(gA=kt^Ut^yt^$t^fe)^dA),36),We=dA,QA=GA(AA^bt,WA^Qe,1),WA=dA,vA=GA(Fe,gA,1)^we,KA=GA(vA^KA,(we=rt)^(rt=dA^ce),25),ce=dA,kt=GA(iA,Pe,1)^Si,AA=GA(kt^At,(we=MA)^(MA=dA^xe),6),Pe=dA,At=GA(DA^vA,VA^rt,28),VA=dA,sA=GA(sA^PA,nt^Ft,3),Ft=dA,iA=GA(oA^Kt,Ut^Zt,20),we=DA=dA,oA=GA(hA^kt,MA^ct,62),Ut=dA,St=GA(St^Kt,yt^Zt,39),yt=dA,gA=GA(kA^vA,jA^rt,55),ct=hA=dA,jA=Z[(kA=(Si=mi<<3)+1120|0)>>2],kA=Z[kA+4>>2],Ht=GA(Ht^kt,MA^mt,43),mt=dA,tA=GA(tA^bt,Ce^Qe,44),Hi=hA=(lg=(it^=nt)^(-1^(Ce=dA))&mt^kA)^(dg=(-1^hA)&yt^Ut)^(Dg=(-1^DA)&Ft^VA)^(bg=(-1^We)&me^Ve)^(pg=(-1^Pe)&ce^WA),kA=GA(jA=(wg=(xe=BA^PA)^(-1^tA)&Ht^jA)^(xg=(-1^gA)&St^oA)^(Gg=(-1^iA)&sA^At)^(Sg=(-1^gt)&_A^nA)^(Hg=(-1^AA)&KA^QA),hA,1),DA=dA,xt=GA(xt^kt,MA^Gt,15),Gt=dA,pt=GA(vA^pt,rt^Ae,56),Fe=dA,ge=GA(vA^ge,rt^re,21),Ae=dA,zt=GA(zt^Kt,$t^Zt,14),re=dA,ne=GA(PA^ne,nt^He,41),$t=dA,hA=GA(wt^bt,ee^Qe,2),BA=dA,ie=GA(ie^Kt,Zt^fe,8),ee=dA,wt=GA($A^PA,nt^Ge,18),PA=dA,$A=GA(ht^bt,Qe^Se,45),ht=dA,c0=(-1^pt)&nA^xt,vA=(-1^zt)&xe^ge,fe=(-1^hA)&oA^ne,nt=(-1^wt)&QA^ie,te=GA(kt^te,MA^Be,61),oA=GA((kA^=Se=c0^vA^fe^nt^(Ge=(-1^te)&At^$A))^(He=(-1^oA)&gA^hA),(DA^=kg=(mg=(-1^Fe)&Ve^Gt)^(Fg=(-1^re)&it^Ae)^(rt=(-1^BA)&Ut^$t)^(MA=(-1^PA)&WA^ee)^(Ug=(-1^(Be=dA))&VA^ht))^(Ut=(-1^Ut)&ct^BA),14),Kt=dA,jg=BA=(Ng=ce^(-1^ee)&PA)^(Yg=mt^(-1^Ae)&re)^(Rg=(-1^$t)&BA^yt)^(Lg=Ft^(-1^ht)&Be)^(Mg=(-1^Gt)&Fe^me),BA=GA(_g=(Kg=KA^(-1^ie)&wt)^(vg=Ht^(-1^ge)&zt)^(qg=(-1^ne)&hA^St)^(Jg=sA^(-1^$A)&te)^(Og=(-1^xt)&pt^_A),BA,1)^jA,sA=GA(BA^(hA=(-1^sA)&$A^iA),(jA=dA^Hi)^($A=(-1^Ft)&ht^we),44),Zt=dA,ht=ct^(-1^yt)&$t,yt=Pe^(-1^ce)&ee,me=We^(-1^me)&Gt,_A=(pt=(ce=pt^(-1^nA)&gt)^(Hi=te^(-1^At)&iA)^(nA=wt^(-1^QA)&AA)^He^(Gt=(-1^xe)&tA^zt))^GA(AA=(iA=gA^(-1^St)&ne)^(St=AA^(-1^KA)&ie)^(xe=gt^(-1^_A)&xt)^(Ht=(-1^Ht)&ge^tA)^hA,$A^=ht^yt^me^(mt=(-1^mt)&Ae^Ce),1),Qe=tA=(At=(gA=(Ve=Fe^(-1^Ve)&We)^(We=Be^(-1^VA)&we)^(wt=PA^(-1^WA)&Pe)^Ut^(xt=(-1^it)&Ce^re))^dA)^lg,hA=oA,gt=sA,PA=oA^sA&(-1^(bt=_A^wg)),kt=(-1^tA)&Zt^Kt,iA=GA(iA^BA,jA^ht,2),QA=dA,VA=GA(pt,gA,1)^_g,gA=GA(Ge^VA,Ug^(ct=jg^dA),55),KA=dA,WA=GA(Se,kg,1)^AA,AA=GA(WA^vg,(it=$A^dA)^Yg,62),sA=tA=dA,zt=(-1^AA)&gA^iA,$t=(-1^tA)&KA^QA,pt=(tA=GA(_A^Sg,At^bg,41))^(-1^iA)&AA,Ae=(oA=dA)^(-1^QA)&sA,te=(nA=GA(nA^kA,DA^wt,39))^(-1^tA)&iA,Be=(iA=dA)^(-1^oA)&QA,wt=gA^(-1^nA)&tA,ee=KA^(-1^iA)&oA,$A=AA^(-1^gA)&nA,Ge=sA^(-1^KA)&iA,iA=GA(VA^fe,ct^rt,56),QA=dA,gA=GA(_A^Gg,At^Dg,36),KA=dA,AA=GA(kA^Gt,DA^xt,27),sA=tA=dA,ie=(-1^AA)&gA^iA,fe=(-1^tA)&KA^QA,ge=(tA=GA(WA^Og,it^Mg,15))^(-1^iA)&AA,re=(oA=dA)^(-1^QA)&sA,xt=(nA=GA(BA^St,jA^yt,10))^(-1^tA)&iA,Gt=(iA=dA)^(-1^oA)&QA,ht=gA^(-1^nA)&tA,Se=KA^(-1^iA)&oA,ne=(-1^gA)&nA^AA,He=(-1^KA)&iA^sA,iA=GA(_A^xg,At^dg,18),QA=dA,gA=GA(WA^Jg,it^Lg,6),oA=dA,AA=GA(BA^Ht,jA^mt,1),Ft=tA=dA,St=(-1^AA)&gA^iA,yt=(-1^tA)&oA^QA,KA=(tA=GA(kA^ce,DA^Ve,8))^(-1^iA)&AA,rt=(sA=dA)^(-1^QA)&Ft,Ht=(nA=GA(VA^nt,MA^ct,25))^(-1^tA)&iA,mt=(iA=dA)^(-1^sA)&QA,QA=gA^(-1^nA)&tA,nt=oA^(-1^iA)&sA,sA=(-1^gA)&nA^AA,Ft^=(-1^oA)&iA,iA=GA(WA^qg,it^Rg,61),MA=dA,gA=GA(kA^Hi,DA^We,20),DA=dA,AA=GA(vA^VA,ct^Fg,28),vA=tA=dA,oA=(-1^AA)&gA^iA,Ut=(-1^tA)&DA^MA,kA=(tA=GA(BA^xe,jA^me,45))^(-1^iA)&AA,jA=(BA=dA)^(-1^MA)&vA,At=(nA=GA(_A^Hg,At^pg,3))^(-1^tA)&iA,MA=(iA=dA)^(-1^BA)&MA,tA=(-1^nA)&tA^gA,Ce=(-1^iA)&BA^DA,gA=AA^(-1^gA)&nA,vA^=(-1^DA)&iA,DA=(AA=GA(VA^c0,ct^mg,21))^(-1^hA)&bt,VA=(nA=dA)^(-1^Kt)&Qe,hA=(iA=GA(WA^Kg,it^Ng,43))^(-1^AA)&hA,ct=(_A=dA)^(-1^nA)&Kt,AA=(-1^iA)&AA^gt,WA=(-1^_A)&nA^Zt,BA=bt^Z[(nA=1120+(8|Si)|0)>>2]^(-1^gt)&iA,it=Qe^Z[nA+4>>2]^(-1^Zt)&_A,mi=mi+2|0;Z[z+192>>2]=zt,Z[z+196>>2]=$t,Z[z+184>>2]=pt,Z[z+188>>2]=Ae,Z[z+176>>2]=te,Z[z+180>>2]=Be,Z[z+168>>2]=wt,Z[z+172>>2]=ee,Z[z+160>>2]=$A,Z[z+164>>2]=Ge,Z[z+152>>2]=ie,Z[z+156>>2]=fe,Z[z+144>>2]=ge,Z[z+148>>2]=re,Z[z+136>>2]=xt,Z[z+140>>2]=Gt,Z[z+128>>2]=ht,Z[z+132>>2]=Se,Z[z+120>>2]=ne,Z[z+124>>2]=He,Z[z+112>>2]=St,Z[z+116>>2]=yt,Z[z+104>>2]=KA,Z[z+108>>2]=rt,Z[z+96>>2]=Ht,Z[z+100>>2]=mt,Z[z+88>>2]=QA,Z[z+92>>2]=nt,Z[z+80>>2]=sA,Z[z+84>>2]=Ft,Z[z+72>>2]=oA,Z[z+76>>2]=Ut,Z[z+64>>2]=kA,Z[z+68>>2]=jA,Z[z+56>>2]=At,Z[z+60>>2]=MA,Z[z+48>>2]=tA,Z[z+52>>2]=Ce,Z[z+40>>2]=gA,Z[z+44>>2]=vA,Z[z+32>>2]=PA,Z[z+36>>2]=kt,Z[z+24>>2]=DA,Z[z+28>>2]=VA,Z[z+16>>2]=hA,Z[z+20>>2]=ct,Z[z+8>>2]=AA,Z[z+12>>2]=WA,Z[z>>2]=BA,Z[z+4>>2]=it}function Ct(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0;A:if(z|=0){nA=(AA=z-8|0)+(z=-8&(iA=Z[z-4>>2]))|0;e:if(!(1&iA)){if(!(3&iA)||(AA=AA-(iA=Z[AA>>2])|0)>>>0<NA[780])break A;z=z+iA|0;t:{i:{if(Z[781]!=(0|AA)){if(iA>>>0<=255){if(gA=iA>>>3|0,(0|(iA=Z[AA+12>>2]))==(0|(tA=Z[AA+8>>2]))){Z[776]=Z[776]&Mt(gA);break e}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break e}if(oA=Z[AA+24>>2],(0|AA)!=(0|(iA=Z[AA+12>>2]))){tA=Z[AA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(!(tA=Z[(gA=AA+20|0)>>2])){if(!(tA=Z[AA+16>>2]))break i;gA=AA+16|0}for(;sA=gA,(tA=Z[(gA=(iA=tA)+20|0)>>2])||(gA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break t}if((3&(iA=Z[nA+4>>2]))!=3)break e;return Z[778]=z,Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,void(Z[nA>>2]=z)}iA=0}if(oA){tA=Z[AA+28>>2];t:{if(Z[(gA=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[gA>>2]=iA,iA)break t;Z[777]=Z[777]&Mt(tA);break e}if(Z[oA+(Z[oA+16>>2]==(0|AA)?16:20)>>2]=iA,!iA)break e}Z[iA+24>>2]=oA,(tA=Z[AA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[AA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(!(AA>>>0>=nA>>>0)&&1&(iA=Z[nA+4>>2])){e:{t:{i:{o:{if(!(2&iA)){if(Z[782]==(0|nA)){if(Z[782]=AA,z=Z[779]+z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[781]!=(0|AA))break A;return Z[778]=0,void(Z[781]=0)}if(Z[781]==(0|nA))return Z[781]=AA,z=Z[778]+z|0,Z[778]=z,Z[AA+4>>2]=1|z,void(Z[z+AA>>2]=z);if(z=(-8&iA)+z|0,iA>>>0<=255){if(gA=iA>>>3|0,(0|(iA=Z[nA+12>>2]))==(0|(tA=Z[nA+8>>2]))){Z[776]=Z[776]&Mt(gA);break t}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(oA=Z[nA+24>>2],(0|nA)!=(0|(iA=Z[nA+12>>2]))){tA=Z[nA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break i}if(!(tA=Z[(gA=nA+20|0)>>2])){if(!(tA=Z[nA+16>>2]))break o;gA=nA+16|0}for(;sA=gA,(tA=Z[(gA=(iA=tA)+20|0)>>2])||(gA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break i}Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,Z[z+AA>>2]=z;break e}iA=0}if(oA){tA=Z[nA+28>>2];i:{if(Z[(gA=3408+(tA<<2)|0)>>2]==(0|nA)){if(Z[gA>>2]=iA,iA)break i;Z[777]=Z[777]&Mt(tA);break t}if(Z[oA+(Z[oA+16>>2]==(0|nA)?16:20)>>2]=iA,!iA)break t}Z[iA+24>>2]=oA,(tA=Z[nA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[nA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(Z[AA+4>>2]=1|z,Z[z+AA>>2]=z,Z[781]==(0|AA))return void(Z[778]=z)}if(z>>>0<=255)return iA=3144+(-8&z)|0,(tA=Z[776])&(z=1<<(z>>>3))?z=Z[iA+8>>2]:(Z[776]=z|tA,z=iA),Z[iA+8>>2]=AA,Z[z+12>>2]=AA,Z[AA+12>>2]=iA,void(Z[AA+8>>2]=z);tA=31,z>>>0<=16777215&&(tA=62+((z>>>38-(iA=LA(z>>>8|0))&1)-(iA<<1)|0)|0),Z[AA+28>>2]=tA,Z[AA+16>>2]=0,Z[AA+20>>2]=0,iA=3408+(tA<<2)|0;e:{t:{if((gA=Z[777])&(sA=1<<tA)){for(tA=z<<((0|tA)!=31?25-(tA>>>1|0)|0:0),iA=Z[iA>>2];;){if(gA=iA,(-8&Z[iA+4>>2])==(0|z))break t;if(iA=tA>>>29|0,tA<<=1,!(iA=Z[(sA=gA+(4&iA)|0)+16>>2]))break}Z[sA+16>>2]=AA,Z[AA+24>>2]=gA}else Z[777]=gA|sA,Z[iA>>2]=AA,Z[AA+24>>2]=iA;Z[AA+12>>2]=AA,Z[AA+8>>2]=AA;break e}z=Z[gA+8>>2],Z[z+12>>2]=AA,Z[gA+8>>2]=AA,Z[AA+24>>2]=0,Z[AA+12>>2]=gA,Z[AA+8>>2]=z}z=Z[784]-1|0,Z[784]=z||-1}}}function Et(z,iA,tA,AA){var gA,nA,oA,sA,BA=0,QA=0,hA=0,DA=0,kA=0;for(SA=nA=SA-160|0,sA=nA+12|0,oA=OA(200),Z[sA>>2]=oA,oA||(pA(111),cA()),SA=gA=SA-208|0;;){if((0|BA)==25){for(;;){if(BA=0,AA>>>0<136){for(QA=0;;){if((0|BA)==136){for(;(0|AA)!=(0|QA);)CA[QA+gA|0]=fA[tA+QA|0],QA=QA+1|0;break}CA[BA+gA|0]=0,BA=BA+1|0}for(CA[AA+gA|0]=31,CA[gA+135|0]=128|fA[gA+135|0],BA=0;(0|BA)!=17;)QA=Z[(tA=(AA=BA<<3)+oA|0)>>2],hA=Z[tA+4>>2],Z[tA>>2]=rg(AA+gA|0)^QA,Z[tA+4>>2]=dA^hA,BA=BA+1|0;SA=gA+208|0;break}for(;(0|BA)!=17;)DA=Z[(QA=(hA=BA<<3)+oA|0)>>2],kA=Z[QA+4>>2],Z[QA>>2]=rg(tA+hA|0)^DA,Z[QA+4>>2]=dA^kA,BA=BA+1|0;JA(oA),tA=tA+136|0,AA=AA-136|0}break}Z[(QA=(BA<<3)+oA|0)>>2]=0,Z[QA+4>>2]=0,BA=BA+1|0}tg(z,tA=(iA>>>0)/136|0,sA);A:if((0|(tA=wA(tA,136)))!=(0|iA))for(AA=iA-tA|0,z=z+tA|0,tg(nA+16|0,1,nA+12|0),iA=0;;){if((0|iA)==(0|AA))break A;CA[z+iA|0]=fA[(nA+16|0)+iA|0],iA=iA+1|0}Ct(Z[nA+12>>2]),SA=nA+160|0}function ut(z,iA,tA,AA){for(var gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0;;){A:{if(sA=0,oA=0,BA=hA=Z[z+204>>2],!(!((QA=AA+(gA=Z[z+200>>2])|0)>>>0<AA>>>0?BA+1|0:BA)&iA>>>0>QA>>>0)){for(;!(!oA&(nA=iA-gA|0)>>>0<=sA>>>0|(0|oA)!=0);)hA=Z[(BA=(-8&(gA=gA+sA|0))+z|0)+4>>2],QA=fA[tA+sA|0],nA=31&(gA<<=3),(63&gA)>>>0>=32?(gA=QA<<nA,nA=0):(gA=(1<<nA)-1&QA>>>32-nA,nA=QA<<nA),Z[BA>>2]=nA^Z[BA>>2],Z[BA+4>>2]=gA^hA,oA=(sA=sA+1|0)?oA:oA+1|0,gA=Z[z+200>>2],hA=Z[z+204>>2];Z[z+200>>2]=0,Z[z+204>>2]=0,JA(z),tA=tA+nA|0,AA=AA-nA|0;continue}for(;;){if(!kA&(0|AA)==(0|DA))break A;iA=DA+Z[z+200>>2]|0,nA=Z[(oA=(-8&iA)+z|0)+4>>2],sA=fA[tA+DA|0],iA=31&(gA=iA<<3),(63&gA)>>>0>=32?(gA=sA<<iA,iA=0):(gA=(1<<iA)-1&sA>>>32-iA,iA=sA<<iA),Z[oA>>2]=iA^Z[oA>>2],Z[oA+4>>2]=gA^nA,iA=kA,kA=(DA=DA+1|0)?iA:iA+1|0}}break}iA=Z[z+204>>2],iA=(tA=AA+Z[z+200>>2]|0)>>>0<AA>>>0?iA+1|0:iA,Z[z+200>>2]=tA,Z[z+204>>2]=iA}function Lt(z,iA,tA,AA){var gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;for(QA=iA;;){oA=Z[tA+200>>2],sA=Z[tA+204>>2];A:{if(!BA&(0|gA)==(0|QA))nA=iA;else{if(nA=gA,(0|BA)==(0|sA)&oA>>>0>gA>>>0|BA>>>0<sA>>>0)break A;QA=gA}for(gA=oA-QA|0,BA=sA-((oA>>>0<QA>>>0)+0|0)|0,QA=iA-nA|0,iA=z+nA|0;Z[tA+200>>2]=gA,Z[tA+204>>2]=BA,QA;){for(JA(tA),z=AA>>>0>QA>>>0?QA:AA,nA=0;(0|z)!=(0|nA);)sA=Z[(gA=(-8&nA)+tA|0)>>2],oA=Z[gA+4>>2],gA=31&(BA=nA<<3&56),CA[iA+nA|0]=(63&BA)>>>0>=32?oA>>>gA|0:((1<<gA)-1&oA)<<32-gA|sA>>>gA,nA=nA+1|0;QA=QA-z|0,iA=z+iA|0,gA=AA-z|0,BA=0}return}DA=hA=z+nA|0,hA=Z[(sA=(-8&(oA=gA+(AA-oA|0)|0))+tA|0)>>2],sA=Z[sA+4>>2],nA=31&(oA<<=3),CA[0|DA]=(63&oA)>>>0>=32?sA>>>nA|0:((1<<nA)-1&sA)<<32-nA|hA>>>nA,BA=(gA=gA+1|0)?BA:BA+1|0}}function Oe(z,iA){var tA,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;for(SA=tA=SA-160|0,pe(nA=tA+12|0),Dt(nA,iA,32),Te(nA),Xt(tA+16|0,136,nA);;){if(!AA&(0|gA)==8){for(iA=0;;){if((0|iA)==256){for(iA=8,gA=196;(0|gA)!=256;){for(;iA>>>0>=136&&(Xt(tA+16|0,136,tA+12|0),iA=0),AA=(tA+16|0)+iA|0,iA=iA+1|0,(AA=fA[0|AA])>>>0>gA>>>0;);AA=(AA<<2)+z|0,Z[(gA<<2)+z>>2]=Z[AA>>2],Z[AA>>2]=1-(sA<<1&2),gA=gA+1|0,sA=(1&BA)<<31|sA>>>1,BA=BA>>>1|0}ae(tA+12|0),SA=tA+160|0;break}Z[(iA<<2)+z>>2]=0,iA=iA+1|0}break}nA=fA[(tA+16|0)+gA|0],iA=31&(oA=gA<<3),(63&oA)>>>0>=32?(oA=nA<<iA,iA=0):(oA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),sA|=iA,BA|=oA,AA=(gA=gA+1|0)?AA:AA+1|0}}function Wt(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0;(0|sA)!=8;){for(DA=sA<<8,kA=wA(sA,7168)+z|0,oA=0;(0|oA)!=7;){for(SA=tA=(SA=gA=SA-864|0)-16|0,AA=oA+DA|0,CA[tA+14|0]=AA,CA[tA+15|0]=AA>>>8,pe(AA=gA+12|0),yg(AA,iA,32),yg(AA,tA+14|0,2),$0(Z[AA>>2],168),SA=tA+16|0,tA=840,hg(nA=gA+16|0,840,AA),AA=gg(QA=(oA<<10)+kA|0,256,nA,840);AA>>>0<=255;){for(BA=tA-(nA=(tA>>>0)%3|0)|0,tA=0;(0|tA)!=(0|nA);)CA[(hA=gA+16|0)+tA|0]=fA[(tA+BA|0)+hA|0],tA=tA+1|0;hg((tA=gA+16|0)|nA,168,gA+12|0),AA=gg((AA<<2)+QA|0,256-AA|0,BA=tA,tA=168|nA)+AA|0}ae(gA+12|0),SA=gA+864|0,oA=oA+1|0}sA=sA+1|0}}function Z0(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;nA=256,AA=1;A:for(;;){e:{if(tA=0,AA>>>0>255)for(;;){if((0|oA)==256)break e;iA=_e(iA=Z[(gA=(oA<<2)+z|0)>>2],iA>>31,41978,0),Z[gA>>2]=xi(iA,dA),oA=oA+1|0}for(;;){t:{if(tA>>>0<=255)for(BA=tA+AA|0,hA=(gA=0-Z[1312+((nA=nA-1|0)<<2)>>2]|0)>>31;;){if((0|tA)==(0|BA))break t;QA=Z[(iA=(tA<<2)+z|0)>>2],DA=iA,iA=Z[(sA=(tA+AA<<2)+z|0)>>2],Z[DA>>2]=QA+iA,iA=QA-iA|0,Z[sA>>2]=iA,Z[sA>>2]=xi(_e(iA,iA>>31,gA,hA),dA),tA=tA+1|0}AA<<=1;continue A}tA=AA+BA|0}}break}}function z0(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0;(0|gA)!=32;)tA=(gA<<5)+z|0,AA=wA(gA,3)+iA|0,nA=7&fA[0|AA],Z[tA>>2]=nA,oA=fA[0|AA]>>>3&7,Z[tA+4>>2]=oA,sA=fA[AA+1|0]<<2&4|fA[0|AA]>>>6,Z[tA+8>>2]=sA,BA=fA[AA+1|0]>>>1&7,Z[tA+12>>2]=BA,QA=fA[AA+1|0]>>>4&7,Z[tA+16>>2]=QA,hA=fA[AA+2|0]<<1&6|fA[AA+1|0]>>>7,Z[tA+20>>2]=hA,DA=fA[AA+2|0]>>>2&7,Z[tA+24>>2]=DA,AA=fA[AA+2|0],Z[tA+4>>2]=2-oA,Z[tA>>2]=2-nA,Z[tA+8>>2]=2-sA,Z[tA+12>>2]=2-BA,Z[tA+16>>2]=2-QA,Z[tA+20>>2]=2-hA,Z[tA+24>>2]=2-DA,Z[tA+28>>2]=2-(AA>>>5|0),gA=gA+1|0}function GA(z,iA,tA){var AA=0,gA=0,nA=0,oA=0;return gA=31&(nA=oA=63&tA),nA=nA>>>0>=32?-1>>>gA|0:(AA=-1>>>gA|0)|(1<<gA)-1<<32-gA,nA&=z,AA&=iA,gA=31&oA,oA>>>0>=32?(AA=nA<<gA,oA=0):(AA=(1<<gA)-1&nA>>>32-gA|AA<<gA,oA=nA<<gA),nA=AA,AA=31&(gA=0-tA&63),gA>>>0>=32?(AA=-1<<AA,tA=0):AA=(tA=-1<<AA)|(1<<AA)-1&-1>>>32-AA,z&=tA,iA&=AA,AA=31&gA,gA>>>0>=32?(tA=0,z=iA>>>AA|0):(tA=iA>>>AA|0,z=((1<<AA)-1&iA)<<32-AA|z>>>AA),dA=tA|nA,z|=oA}function r0(z){var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;for(tA=128;iA=0,tA;){for(;iA>>>0<=255;){for(oA=iA>>>0>(AA=iA+tA|0)>>>0?iA:AA,QA=(AA=Z[1312+((sA=sA+1|0)<<2)>>2])>>31;(0|iA)!=(0|oA);)nA=xi(_e(nA=Z[(gA=(iA+tA<<2)+z|0)>>2],nA>>31,AA,QA),dA),hA=gA,BA=Z[(gA=(iA<<2)+z|0)>>2],Z[hA>>2]=BA-nA,Z[gA>>2]=nA+BA,iA=iA+1|0;iA=tA+oA|0}tA=tA>>>1|0}}function $0(z,iA){var tA,AA=0,gA=0,nA=0;AA=Z[z+200>>2],tA=Z[(gA=z+(-8&AA)|0)+4>>2],AA=31&(nA=AA<<3),(63&nA)>>>0>=32?(nA=31<<AA,AA=0):(nA=(1<<AA)-1&31>>>32-AA,AA=31<<AA),Z[gA>>2]=AA^Z[gA>>2],Z[gA+4>>2]=nA^tA,nA=Z[(iA=(-8&(AA=iA-1|0))+z|0)+4>>2],AA=31&(gA=AA<<3&56),(63&gA)>>>0>=32?(gA=128<<AA,AA=0):(gA=(1<<AA)-1&128>>>32-AA,AA=128<<AA),Z[iA>>2]=AA^Z[iA>>2],Z[iA+4>>2]=gA^nA,Z[z+200>>2]=0,Z[z+204>>2]=0}function Ag(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;(0|AA)!=32;)sA=Z[(tA=(AA<<5)+iA|0)+16>>2],BA=Z[tA+12>>2],gA=Z[tA+28>>2],QA=Z[tA+20>>2],hA=Z[tA+24>>2],nA=wA(AA,3)+z|0,oA=16-(Z[tA+4>>2]<<3)|2-Z[tA>>2],tA=2-Z[tA+8>>2]|0,CA[0|nA]=oA|tA<<6,oA=64-(gA<<5)|0,gA=2-QA|0,CA[nA+2|0]=oA|8-(hA<<2)|(254&gA)>>>1,CA[nA+1|0]=32-(sA<<4)|4-(BA<<1)|(252&tA)>>>2|gA<<7,AA=AA+1|0}function tg(z,iA,tA){var AA,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0;AA=Z[tA>>2];A:for(;;){if(iA)for(JA(AA),tA=0;;){if((0|tA)==17){iA=iA-1|0,z=z+136|0;continue A}for(QA=(gA=tA<<3)+z|0,hA=Z[(gA=gA+AA|0)>>2],sA=Z[gA+4>>2],nA=0,gA=0;(0|nA)!=8|gA;)oA=31&(BA=nA<<3),CA[nA+QA|0]=(63&BA)>>>0>=32?sA>>>oA|0:((1<<oA)-1&sA)<<32-oA|hA>>>oA,gA=(nA=nA+1|0)?gA:gA+1|0;tA=tA+1|0}break}}function eg(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0;(0|oA)!=128;)gA=(oA<<3)+z|0,tA=wA(oA,5)+iA|0,AA=fA[0|tA],Z[gA>>2]=AA,AA|=fA[tA+1|0]<<8,Z[gA>>2]=AA,AA|=fA[tA+2|0]<<16&983040,Z[gA>>2]=AA,nA=fA[tA+2|0]>>>4|0,Z[gA+4>>2]=nA,nA|=fA[tA+3|0]<<4,Z[gA+4>>2]=nA,tA=fA[tA+4|0],Z[gA>>2]=524288-AA,Z[gA+4>>2]=524288-(nA|tA<<12),oA=oA+1|0}function ig(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0;!(iA>>>0<=AA>>>0|nA>>>0>135);)oA=(gA=fA[tA+nA|0])>>>4|0,nA=nA+1|0,(0|(gA&=15))!=15&&(Z[(AA<<2)+z>>2]=2+(wA(wA(gA,205)>>>10|0,5)-gA|0),AA=AA+1|0),(0|oA)==15|iA>>>0<=AA>>>0||(Z[(AA<<2)+z>>2]=2+(wA(wA(oA,205)>>>10|0,5)-oA|0),AA=AA+1|0);return AA}function n0(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;(0|AA)!=8;){for(SA=gA=SA-1024|0,wi(oA=(AA<<10)+z|0,sA=wA(AA,7168)+iA|0,tA),nA=1;(0|nA)!=7;)wi(gA,(BA=nA<<10)+sA|0,tA+BA|0),o0(oA,oA,gA),nA=nA+1|0;SA=gA+1024|0,AA=AA+1|0}}function gg(z,iA,tA,AA){for(var gA=0,nA=0,oA=0,sA=0;!(iA>>>0<=nA>>>0||(gA=sA+3|0)>>>0>AA>>>0);)oA=tA+sA|0,sA=gA,(gA=fA[oA+2|0]<<16&8323072|fA[0|oA]|fA[oA+1|0]<<8)>>>0>8380416||(Z[(nA<<2)+z>>2]=gA,nA=nA+1|0);return nA}function rg(z){for(var iA=0,tA=0,AA=0,gA=0,nA=0,oA=0,sA=0;!(!gA&(0|tA)==8);)nA=fA[z+tA|0],iA=31&(AA=tA<<3),(63&AA)>>>0>=32?(AA=nA<<iA,iA=0):(AA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),oA|=iA,sA|=AA,gA=(tA=tA+1|0)?gA:gA+1|0;return dA=sA,oA}function _e(z,iA,tA,AA){var gA,nA,oA,sA,BA=0,QA=0;return sA=wA(BA=tA>>>16|0,QA=z>>>16|0),BA=(65535&(QA=((oA=wA(gA=65535&tA,nA=65535&z))>>>16|0)+wA(QA,gA)|0))+wA(BA,nA)|0,dA=(wA(iA,tA)+sA|0)+wA(z,AA)+(QA>>>16)+(BA>>>16)|0,65535&oA|BA<<16}function ng(z,iA,tA){for(var AA=0,gA=0,nA=0,oA=0,sA=0,BA=0;(0|gA)!=8;){for(oA=(AA=gA<<10)+z|0,sA=iA+AA|0,BA=tA+AA|0,AA=0;(0|AA)!=256;)Z[oA+(nA=AA<<2)>>2]=Z[nA+sA>>2]-Z[nA+BA>>2],AA=AA+1|0;gA=gA+1|0}}function Ig(z,iA,tA){var AA,gA;for(SA=AA=SA-160|0,Qg(gA=AA+12|0,iA,tA),Xt(iA=AA+16|0,136,gA),tA=ig(z,256,iA);tA>>>0<=255;)Xt(iA=AA+16|0,136,AA+12|0),tA=ig((tA<<2)+z|0,256-tA|0,iA)+tA|0;ae(AA+12|0),SA=AA+160|0}function og(z,iA){for(var tA=0,AA=0,gA=0,nA=0,oA=0;(0|AA)!=8;){for(nA=(AA<<7)+z|0,oA=(AA<<10)+iA|0,tA=0;(0|tA)!=128;)gA=(tA<<3)+oA|0,CA[tA+nA|0]=Z[gA+4>>2]<<4|Z[gA>>2],tA=tA+1|0;AA=AA+1|0}}function I0(z){for(var iA=0,tA=0,AA=0,gA=0,nA=0;(0|tA)!=8;){for(nA=(tA<<10)+z|0,iA=0;(0|iA)!=256;)gA=Z[(AA=(iA<<2)+nA|0)>>2],Z[AA>>2]=gA+(gA>>31&8380417),iA=iA+1|0;tA=tA+1|0}}function pe(z){var iA=0,tA=0;for(iA=z,z=OA(208),Z[iA>>2]=z,z||(pA(111),cA());(0|tA)!=25;)Z[(iA=z+(tA<<3)|0)>>2]=0,Z[iA+4>>2]=0,tA=tA+1|0;Z[z+200>>2]=0,Z[z+204>>2]=0}function wi(z,iA,tA){for(var AA=0,gA=0,nA=0;(0|gA)!=256;)AA=_e(AA=Z[(nA=gA<<2)+tA>>2],AA>>31,AA=Z[iA+nA>>2],AA>>31),Z[z+nA>>2]=xi(AA,dA),gA=gA+1|0}function je(z){var iA,tA;return(z=(iA=Z[584])+(tA=z+7&-8)|0)>>>0<=iA>>>0&&tA||z>>>0>(uA.byteLength/65536|0)<<16>>>0&&!(0|zA(0|z))?(Z[775]=48,-1):(Z[584]=z,iA)}function sg(z,iA){var tA=0,AA=0;if((0|iA)<=1047552)for(;;){if((0|AA)==256)return 0;if(tA=AA<<2,AA=AA+1|0,!(((tA=Z[z+tA>>2])-(tA<<1&tA>>31)|0)<(0|iA)))break}return 1}function ag(z){for(var iA=0,tA=0,AA=0;(0|iA)!=256;)AA=Z[(tA=(iA<<2)+z|0)>>2],Z[tA>>2]=AA+wA(AA+4194304>>23,-8380417),iA=iA+1|0}function Bg(z,iA){var tA;return tA=z,z=wA(iA+127>>7,1025)+2097152>>>22&15,iA=wA(z,-523776)+iA|0,Z[tA>>2]=((0|iA)>4190208?-8380417:0)+iA,z}function Cg(z){for(var iA=0,tA=0;;){if((0|iA)==7)return 0;if(tA=iA<<10,iA=iA+1|0,sg(z+tA|0,524168))break}return 1}function cg(z,iA){for(var tA=0,AA=0;;){if((0|tA)==8)return 0;if(AA=tA<<10,tA=tA+1|0,sg(z+AA|0,iA))break}return 1}function o0(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=256;)Z[(gA=AA<<2)+z>>2]=Z[tA+gA>>2]+Z[iA+gA>>2],AA=AA+1|0}function Qg(z,iA,tA){var AA;SA=AA=SA-16|0,CA[AA+14|0]=tA,CA[AA+15|0]=tA>>>8,pe(z),Dt(z,iA,64),Dt(z,AA+14|0,2),Te(z),SA=AA+16|0}function xi(z,iA){var tA=0;return _e(z,iA,0,58728449),tA=_e(tA=dA,tA>>31,-8380417,-1),iA=iA+dA|0,z+tA>>>0<z>>>0?iA+1|0:iA}function fg(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=8;)o0((gA=AA<<10)+z|0,iA+gA|0,tA+gA|0),AA=AA+1|0}function s0(z,iA,tA){for(var AA=0,gA=0;(0|AA)!=8;)wi((gA=AA<<10)+z|0,iA,tA+gA|0),AA=AA+1|0}function Eg(z,iA){var tA=0;for(tA=7168;CA[0|z]=fA[0|iA],z=z+1|0,iA=iA+1|0,tA=tA-1|0;);}function ug(z,iA){for(var tA=0;(0|iA)!=(0|tA);)r0((tA<<10)+z|0),tA=tA+1|0}function Ii(z){for(var iA=0;(0|iA)!=8;)ag((iA<<10)+z|0),iA=iA+1|0}function oi(z){for(var iA=0;(0|iA)!=8;)Z0((iA<<10)+z|0),iA=iA+1|0}function Mt(z){var iA;return(-1>>>(iA=31&z)&-2)<<iA|(-1<<(z=0-z&31)&-2)>>>z}function a0(z){return z?31-LA(z-1^z)|0:32}function hg(z,iA,tA){Lt(z,iA,Z[tA>>2],168)}function yg(z,iA,tA){ut(Z[z>>2],168,iA,tA)}function Xt(z,iA,tA){Lt(z,iA,Z[tA>>2],136)}function Dt(z,iA,tA){ut(Z[z>>2],136,iA,tA)}function Te(z){$0(Z[z>>2],136)}function ae(z){Ct(Z[z>>2])}function B0(z){ug(z,8)}function Gi(z){ug(z,7)}aA(eA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),aA(eA,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),aA(eA,2336,"EA6A");var C0,Yn=((C0=[]).set=function(z,iA){this[z]=iA},C0.get=function(z){return this[z]},C0);return{e:function(){},f:Yn,g:OA,h:Ct,i:function(){var z;SA=z=SA-16|0,CA[z+15|0]=0,XA(2376,z+15|0,0),SA=z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(z,iA){z|=0,iA|=0;var tA,AA=0,gA=0,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0;for(SA=tA=SA-96416|0,sA=tA+96288|0;(0|gA)!=32;)SA=oA=SA-16|0,CA[oA+15|0]=0,BA=0|XA(2340,oA+15|0,0),SA=oA+16|0,CA[gA+sA|0]=BA,gA=gA+1|0;for(Et(sA,128,sA,32),Wt(oA=tA+38912|0,sA),DA=tA+31744|0,gA=tA+96320|0;(0|AA)!=7;)Ig(DA+(AA<<10)|0,gA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(kA=tA+16384|0,AA=0,nA=7;(0|AA)!=8;)Ig(kA+(AA<<10)|0,gA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(Eg(AA=tA+24576|0,DA),Gi(AA),n0(nA=tA- -8192|0,oA,AA),Ii(nA),oi(nA),fg(nA,nA,kA),I0(nA),AA=0;(0|AA)!=8;){for(MA=(gA=AA<<10)+nA|0,QA=gA+tA|0,hA=gA+nA|0,gA=0;(0|gA)!=256;)BA=(KA=Z[(oA=gA<<2)+hA>>2])+4095|0,Z[oA+QA>>2]=KA-(-8192&BA),Z[oA+MA>>2]=BA>>13,gA=gA+1|0;AA=AA+1|0}for(AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(MA=z+32|0,AA=0;(0|AA)!=8;){for(QA=MA+wA(AA,320)|0,hA=nA+(AA<<10)|0,oA=0;(0|oA)!=64;)BA=QA+wA(oA,5)|0,gA=hA+(oA<<4)|0,CA[0|BA]=Z[gA>>2],CA[BA+1|0]=Z[gA+4>>2]<<2|Z[gA>>2]>>>8,CA[BA+2|0]=Z[gA+8>>2]<<4|Z[gA+4>>2]>>>6,CA[BA+3|0]=Z[gA+12>>2]<<6|Z[gA+8>>2]>>>4,CA[BA+4|0]=Z[gA+12>>2]>>>2,oA=oA+1|0;AA=AA+1|0}for(Et(nA=tA+96256|0,32,z,2592),z=tA+96384|0,AA=0;(0|AA)!=32;)CA[iA+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(gA=iA+32|0,AA=0;(0|AA)!=32;)CA[AA+gA|0]=fA[z+AA|0],AA=AA+1|0;for(z=iA- -64|0,AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(z=iA+96|0,AA=0;(0|AA)!=7;)Ag(z+wA(AA,96)|0,DA+(AA<<10)|0),AA=AA+1|0;for(z=iA+768|0,AA=0;(0|AA)!=8;)Ag(z+wA(AA,96)|0,kA+(AA<<10)|0),AA=AA+1|0;for(BA=iA+1536|0,AA=0;(0|AA)!=8;){for(DA=BA+wA(AA,416)|0,kA=(AA<<10)+tA|0,nA=0;(0|nA)!=32;)MA=Z[(iA=kA+(nA<<5)|0)+20>>2],QA=Z[iA+8>>2],hA=Z[iA+28>>2],oA=Z[iA+24>>2],sA=Z[iA+16>>2],gA=Z[iA+12>>2],KA=Z[iA+4>>2],z=DA+wA(nA,13)|0,vA=4096-Z[iA>>2]|0,CA[0|z]=vA,iA=4096-KA|0,CA[z+2|0]=iA>>>3,gA=4096-gA|0,CA[z+5|0]=gA>>>1,sA=4096-sA|0,CA[z+7|0]=sA>>>4,oA=4096-oA|0,CA[z+10|0]=oA>>>2,hA=4096-hA|0,CA[z+12|0]=hA>>>5,CA[z+1|0]=iA<<5|vA>>>8,QA=4096-QA|0,CA[z+3|0]=QA<<2|iA>>>11,CA[z+4|0]=gA<<7|QA>>>6,CA[z+6|0]=sA<<4|gA>>>9,iA=4096-MA|0,CA[z+8|0]=iA<<1|sA>>>12,CA[z+9|0]=oA<<6|iA>>>7,CA[z+11|0]=hA<<3|oA>>>10,nA=nA+1|0;AA=AA+1|0}return SA=tA+96416|0,0},n:function(z,iA,tA,AA){iA|=0,tA|=0,AA|=0;var gA,nA,oA,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0,_A=0,jA=0,$A=0,At=0,PA=0,VA=0,WA=0,it=0,gt=0,rt=0,nt=0;for(nA=(z|=0)+2|0,SA=gA=(SA=oA=SA-16|0)-121072|0,BA=$A=gA+120848|0,QA=At=gA+120880|0,hA=gA+120912|0,DA=gA+33808|0,kA=gA+56336|0,MA=gA+25616|0;(0|sA)!=32;)CA[sA+BA|0]=fA[AA+sA|0],sA=sA+1|0;for(BA=AA+32|0,sA=0;(0|sA)!=32;)CA[sA+hA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA- -64|0,sA=0;(0|sA)!=32;)CA[sA+QA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA+96|0,sA=0;(0|sA)!=7;)z0(kA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(BA=AA+768|0,sA=0;(0|sA)!=8;)z0(MA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(it=AA+1536|0,sA=0;(0|sA)!=8;){for(gt=DA+(sA<<10)|0,rt=it+wA(sA,416)|0,QA=0;(0|QA)!=32;)AA=gt+(QA<<5)|0,BA=rt+wA(QA,13)|0,PA=fA[0|BA],Z[AA>>2]=PA,PA|=fA[BA+1|0]<<8&7936,Z[AA>>2]=PA,KA=fA[BA+1|0]>>>5|0,Z[AA+4>>2]=KA,KA|=fA[BA+2|0]<<3,Z[AA+4>>2]=KA,KA|=fA[BA+3|0]<<11&6144,Z[AA+4>>2]=KA,VA=fA[BA+3|0]>>>2|0,Z[AA+8>>2]=VA,VA|=fA[BA+4|0]<<6&8128,Z[AA+8>>2]=VA,vA=fA[BA+4|0]>>>7|0,Z[AA+12>>2]=vA,vA|=fA[BA+5|0]<<1,Z[AA+12>>2]=vA,vA|=fA[BA+6|0]<<9&7680,Z[AA+12>>2]=vA,_A=fA[BA+6|0]>>>4|0,Z[AA+16>>2]=_A,_A|=fA[BA+7|0]<<4,Z[AA+16>>2]=_A,_A|=fA[BA+8|0]<<12&4096,Z[AA+16>>2]=_A,WA=fA[BA+8|0]>>>1|0,Z[AA+20>>2]=WA,WA|=fA[BA+9|0]<<7&8064,Z[AA+20>>2]=WA,jA=fA[BA+9|0]>>>6|0,Z[AA+24>>2]=jA,jA|=fA[BA+10|0]<<2,Z[AA+24>>2]=jA,jA|=fA[BA+11|0]<<10&7168,Z[AA+24>>2]=jA,nt=fA[BA+11|0]>>>3|0,Z[AA+28>>2]=nt,BA=fA[BA+12|0],Z[AA+4>>2]=4096-KA,Z[AA>>2]=4096-PA,Z[AA+8>>2]=4096-VA,Z[AA+12>>2]=4096-vA,Z[AA+16>>2]=4096-_A,Z[AA+20>>2]=4096-WA,Z[AA+24>>2]=4096-jA,Z[AA+28>>2]=4096-(BA<<5|nt),QA=QA+1|0;sA=sA+1|0}for(pe(AA=gA+12|0),Dt(AA,At,32),Dt(AA,iA,tA),Te(AA),Xt(At=gA+120944|0,64,AA),ae(AA),Et(it=gA+121008|0,64,hA,96),Wt(gA+63504|0,$A),Gi(kA),B0(MA),B0(DA),sA=0;;){for(BA=gA+49168|0,QA=wA(65535&sA,7),iA=0;(0|iA)!=7;)SA=tA=SA-704|0,Qg(AA=tA+12|0,it,iA+QA&65535),Xt(hA=tA+16|0,680,AA),ae(AA),eg(BA+(iA<<10)|0,hA),SA=tA+704|0,iA=iA+1|0;for(Eg(AA=gA+42e3|0,BA),Gi(AA),n0(iA=gA+17424|0,gA+63504|0,AA),Ii(iA),oi(iA),I0(iA),DA=gA+9232|0,tA=0;(0|tA)!=8;){for(kA=(QA=tA<<10)+iA|0,MA=QA+DA|0,$A=iA+QA|0,QA=0;(0|QA)!=256;)Z[(hA=QA<<2)+kA>>2]=Bg(hA+MA|0,Z[hA+$A>>2]),QA=QA+1|0;tA=tA+1|0}for(og(nA,iA),pe(iA=gA+12|0),Dt(iA,At,64),Dt(iA,nA,1024),Te(iA),Xt(nA,32,iA),ae(iA),Oe(iA=gA+16|0,nA),sA=sA+1|0,r0(iA),QA=gA+56336|0,tA=0;(0|tA)!=7;)wi((hA=tA<<10)+AA|0,iA,QA+hA|0),tA=tA+1|0;for(iA=0;(0|iA)!=7;)Z0(AA+(iA<<10)|0),iA=iA+1|0;for(iA=0;(0|iA)!=7;)o0((tA=iA<<10)+AA|0,tA+AA|0,tA+BA|0),iA=iA+1|0;for(tA=0;(0|tA)!=7;)ag(AA+(tA<<10)|0),tA=tA+1|0;if(!Cg(AA)&&(s0(tA=gA+1040|0,gA+16|0,gA+25616|0),oi(tA),ng(iA=gA+9232|0,iA,tA),Ii(iA),!cg(iA,261768)&&(s0(iA=gA+1040|0,gA+16|0,gA+33808|0),oi(iA),Ii(iA),!cg(iA,261888)))){for(fg(BA=gA+9232|0,BA,kA=gA+1040|0),MA=gA+17424|0,iA=0,tA=0;(0|iA)!=8;){for($A=(AA=iA<<10)+kA|0,gt=AA+BA|0,rt=AA+MA|0,AA=0,QA=0;(0|AA)!=256;)DA=(0|(DA=Z[(hA=AA<<2)+gt>>2]))==-261888&Z[hA+rt>>2]!=0|DA-261889>>>0<4294443519,Z[hA+$A>>2]=DA,QA=QA+DA|0,AA=AA+1|0;tA=tA+QA|0,iA=iA+1|0}if(!(tA>>>0>75))break}}for(QA=gA+42e3|0,hA=gA+1040|0,iA=0;(0|iA)!=32;)CA[0|(tA=iA+nA|0)]=fA[0|tA],iA=iA+1|0;for(DA=nA+32|0,iA=0;(0|iA)!=7;){for(kA=DA+wA(iA,640)|0,MA=QA+(iA<<10)|0,tA=0;(0|tA)!=128;)BA=Z[(sA=MA+(tA<<3)|0)+4>>2],AA=kA+wA(tA,5)|0,sA=524288-Z[sA>>2]|0,CA[0|AA]=sA,CA[AA+1|0]=sA>>>8,BA=524288-BA|0,CA[AA+3|0]=BA>>>4,CA[AA+4|0]=BA>>>12,CA[AA+2|0]=BA<<4|sA>>>16,tA=tA+1|0;iA=iA+1|0}for(sA=nA+4512|0,tA=0,iA=0;;){if((0|iA)==83){for(AA=0;(0|tA)!=8;){for(BA=hA+(tA<<10)|0,iA=0;(0|iA)!=256;)Z[BA+(iA<<2)>>2]&&(CA[AA+sA|0]=iA,AA=AA+1|0),iA=iA+1|0;CA[75+(tA+sA|0)|0]=AA,tA=tA+1|0}break}CA[iA+sA|0]=0,iA=iA+1|0}return Z[oA+12>>2]=4595,SA=gA+121072|0,lA[z>>1]=Z[oA+12>>2],SA=oA+16|0,0},o:function(z,iA,tA,AA){z|=0,iA|=0,AA|=0;var gA,nA=0,oA=0,sA=0,BA=0,QA=0,hA=0,DA=0,kA=0,MA=0,KA=0,vA=0;sA=(tA|=0)+2|0,nA=HA[tA>>1],QA=z,oA=iA,tA=0,SA=gA=SA-91312|0,KA=-1;A:if((0|nA)==4595){for(z=gA+90256|0,kA=gA+16400|0,iA=0;(0|iA)!=32;)CA[z+iA|0]=fA[iA+AA|0],iA=iA+1|0;for(hA=AA+32|0,iA=0;(0|iA)!=8;){for(DA=kA+(iA<<10)|0,MA=hA+wA(iA,320)|0,nA=0;(0|nA)!=64;)BA=DA+(nA<<4)|0,z=wA(nA,5)+MA|0,Z[BA>>2]=fA[z+1|0]<<8&768|fA[0|z],Z[BA+4>>2]=fA[z+2|0]<<6&960|fA[z+1|0]>>>2,Z[BA+8>>2]=fA[z+3|0]<<4&1008|fA[z+2|0]>>>4,Z[BA+12>>2]=fA[z+4|0]<<2|fA[z+3|0]>>>6,nA=nA+1|0;iA=iA+1|0}for(z=gA+90160|0,iA=gA+24592|0,kA=gA+16|0;(0|tA)!=32;)CA[z+tA|0]=fA[tA+sA|0],tA=tA+1|0;for(z=sA+32|0,tA=0;(0|tA)!=7;)eg(iA+(tA<<10)|0,z+wA(tA,640)|0),tA=tA+1|0;sA=sA+4512|0,nA=0,z=0;e:{for(;;){t:if((0|nA)!=8){for(BA=kA+(nA<<10)|0,tA=0;(0|tA)!=256;)Z[BA+(tA<<2)>>2]=0,tA=tA+1|0;if(!((iA=fA[(hA=nA+sA|0)+75|0])>>>0>75||(tA=z,iA>>>0<z>>>0))){for(;iA>>>0>tA>>>0;){if(z>>>0<tA>>>0&(iA=fA[0|(DA=tA+sA|0)])>>>0<=fA[DA-1|0])break t;Z[BA+(iA<<2)>>2]=1,tA=tA+1|0,iA=fA[hA+75|0]}nA=nA+1|0,z=iA;continue}}else for(tA=z>>>0<=75?75:z;;){if(iA=0,(0|z)==(0|tA))break e;if(iA=z+sA|0,z=z+1|0,fA[0|iA])break}break}iA=1}if(!iA&&!Cg(gA+24592|0)){for(Et(nA=gA+90192|0,32,AA,2592),pe(z=gA+12|0),Dt(z,nA,32),Dt(z,QA,oA),Te(z),Xt(nA,64,z),ae(z),Oe(oA=gA+89104|0,gA+90160|0),Wt(iA=gA+31760|0,gA+90256|0),Gi(AA=gA+24592|0),n0(tA=gA+8208|0,iA,AA),r0(oA),AA=gA+16400|0,iA=0;(0|iA)!=8;){for(sA=AA+(iA<<10)|0,QA=0;(0|QA)!=256;)Z[(BA=sA+(QA<<2)|0)>>2]=Z[BA>>2]<<13,QA=QA+1|0;iA=iA+1|0}for(B0(AA),s0(AA,oA,AA),ng(tA,tA,AA),Ii(tA),oi(tA),I0(tA),BA=gA+16|0,AA=0;(0|AA)!=8;){for(kA=(iA=AA<<10)+tA|0,hA=iA+tA|0,DA=iA+BA|0,iA=0;(0|iA)!=256;)MA=(oA=iA<<2)+kA|0,vA=Z[oA+DA>>2],SA=QA=SA-16|0,oA=sA=Bg(QA+12|0,Z[oA+hA>>2]),vA&&(oA=sA+1&15,Z[QA+12>>2]>0||(oA=sA-1&15)),SA=QA+16|0,Z[MA>>2]=oA,iA=iA+1|0;AA=AA+1|0}for(og(iA=gA+90288|0,tA),pe(z),Dt(z,nA,64),Dt(z,iA,1024),Te(z),Xt(gA+90128|0,32,z),ae(z),iA=0;;){if((0|iA)==32){KA=0;break A}if(z=(gA+90128|0)+iA|0,tA=(gA+90160|0)+iA|0,iA=iA+1|0,fA[0|tA]!=fA[0|z])break}}}return SA=gA+91312|0,0|KA}}})($)})(_)},instantiate:function(X,_){return{then:function($){var eA=new c.Module(X);$({instance:new c.Instance(eA,_)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(X){throw C.onAbort&&C.onAbort(X),e(X="Aborted("+X+")"),s=!0,X+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(X)}var M,J,q="data:application/octet-stream;base64,";function l(X){return X.startsWith(q)}function m(X){return X.startsWith("file://")}function L(X){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var $=P(_);if($)return $;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function p(X,_,$,eA){return(function(rA,IA,aA){return L(rA).then((function(cA){return c.instantiate(cA,IA)})).then((function(cA){return cA})).then(aA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(_,$,eA)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var X=new Uint32Array(1);return g.getRandomValues(X),X[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var X=Q.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),C.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function b(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var v=function(X){for(;X.length>0;)X.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(X,_,$){var eA=(function(rA,IA){var aA;for(O.length=0,IA>>=2;aA=h[rA++];)IA+=aA!=105&IA,O.push(aA==105?y[IA]:u[IA++>>1]),++IA;return O})(_,$);return K[X].apply(null,eA)},x=function(X){D||(C.onExit&&C.onExit(X),s=!0),Q(X,new b(X))},W={c:function(X,_,$){return T(X,_,$)},d:function(X){h.length,d("OOM")},b:function(X,_){x(X)},a:f};(function(){var X={a:W};function _($,eA){var rA,IA=$.exports;return C.asm=IA,C.asm.f,rA=C.asm.e,S.unshift(rA),(function(aA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),IA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(X,_)}catch($){return e("Module.instantiateWasm callback failed with error: "+$),!1}p(0,M,X,(function($){_($.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(X){if(l(X))return(function(_){if(o!==void 0&&o){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),rA=new Uint8Array(eA.length),IA=0;IA<eA.length;++IA)rA[IA]=eA.charCodeAt(IA);return rA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(q.length))}function V(){function X(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)_=C.postRun.shift(),k.unshift(_);var _;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)_=C.preRun.shift(),w.unshift(_);var _;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),X()}),1)):X()))}if(C.writeArrayToMemory=function(X,_){G.set(X,_)},R=function X(){j||V(),j||(R=X)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(X,_){C.onAbort=_,C.onRuntimeInitialized=function(){X(C)}}))})).then((function(X){Object.keys(X).forEach((function(_){C[_]=X[_]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var X=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(X,_),{publicKey:Q(X,A),privateKey:Q(_,I)})}finally{i(X),i(_)}}))},sign:function(X,_){return o.signDetached(X,_).then((function($){var eA=new Uint8Array(g+X.length);return eA.set($),eA.set(X,g),eA}))},signDetached:function(X,_){return E.then((function(){var $=C._malloc(g),eA=C._malloc(X.length),rA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),$),C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,rA);try{return B(C._dilithiumjs_sign($,eA,X.length,rA),Q($,g))}finally{i($),i(eA),i(rA)}}))},open:function(X,_){return E.then((function(){var $=new Uint8Array(X.buffer,X.byteOffset,g),eA=new Uint8Array(X.buffer,X.byteOffset+g,X.length-g);return o.verifyDetached($,eA,_).then((function(rA){if(rA)return eA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(X,_,$){return E.then((function(){var eA=C._malloc(g),rA=C._malloc(_.length),IA=C._malloc(A);C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,rA),C.writeArrayToMemory($,IA);try{return C._dilithiumjs_verify(rA,_.length,eA,IA)===0}finally{i(eA),i(rA),i(IA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var Un=ot(dt=>{"use strict";mA();var lo=dt&&dt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),Do=dt&&dt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),bo=dt&&dt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var rA in $)Object.prototype.hasOwnProperty.call($,rA)&&(eA[eA.length]=rA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),rA=0;rA<eA.length;rA++)eA[rA]!=="default"&&lo($,_,eA[rA]);return Do($,_),$}})();Object.defineProperty(dt,"__esModule",{value:!0});dt.MlDsaSuite=dt.MlDsa87Suite=void 0;var t0=ui(),T0=null;async function P0(){return T0||(T0=await Promise.resolve().then(()=>bo(Fn()))),T0}var e0=class{constructor(){bA(this,"suiteId","ml-dsa-87");bA(this,"version","1.0.0")}async generateKeypair(){try{let $=await(await P0()).keyPair();return{publicKey:new Uint8Array($.publicKey),privateKey:new Uint8Array($.privateKey)}}catch(_){throw new Error(`ML-DSA-87 key generation failed: ${_ instanceof Error?_.message:String(_)}`)}}async sign(_,$){try{let rA=await(await P0()).signDetached(Buffer.from($),Buffer.from(_));return new Uint8Array(rA)}catch(eA){throw new Error(`ML-DSA-87 signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return await(await P0()).verifyDetached(Buffer.from(eA),Buffer.from($),Buffer.from(_))}catch{return!1}}exportPublicKey(_){return(0,t0.bytesToHex)(_)}importPublicKey(_){let $=(0,t0.hexToBytes)(_);if($.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${$.length}`);return $}exportPrivateKey(_){return(0,t0.bytesToHex)(_)}importPrivateKey(_){let $=(0,t0.hexToBytes)(_);if($.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${$.length}`);return $}};dt.MlDsa87Suite=e0;var V0=class{constructor(){bA(this,"suiteId","ml-dsa-65");bA(this,"version","1.0.0");bA(this,"impl",new e0)}async generateKeypair(){return this.impl.generateKeypair()}async sign(_,$){return this.impl.sign(_,$)}async verify(_,$,eA){return this.impl.verify(_,$,eA)}exportPublicKey(_){return this.impl.exportPublicKey(_)}importPublicKey(_){return this.impl.importPublicKey(_)}exportPrivateKey(_){return this.impl.exportPrivateKey(_)}importPrivateKey(_){return this.impl.importPrivateKey(_)}};dt.MlDsaSuite=V0});var i0=ot(tt=>{"use strict";mA();var po=tt&&tt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var rA=Object.getOwnPropertyDescriptor(_,$);(!rA||("get"in rA?!_.__esModule:rA.writable||rA.configurable))&&(rA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,rA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),pi=tt&&tt.__exportStar||function(X,_){for(var $ in X)$!=="default"&&!Object.prototype.hasOwnProperty.call(_,$)&&po(_,X,$)};Object.defineProperty(tt,"__esModule",{value:!0});tt.globalRegistry=tt.MlDsa87Suite=tt.MlDsaSuite=tt.BsvEcdsaSuite=void 0;pi(Vg(),tt);pi(E0(),tt);pi(ui(),tt);pi(pr(),tt);pi(wr(),tt);var wo=mn();Object.defineProperty(tt,"BsvEcdsaSuite",{enumerable:!0,get:function(){return wo.BsvEcdsaSuite}});var kn=Un();Object.defineProperty(tt,"MlDsaSuite",{enumerable:!0,get:function(){return kn.MlDsaSuite}});Object.defineProperty(tt,"MlDsa87Suite",{enumerable:!0,get:function(){return kn.MlDsa87Suite}});var xo=E0();Object.defineProperty(tt,"globalRegistry",{enumerable:!0,get:function(){return xo.globalRegistry}})});var So={};Q0(So,{InMemoryKeyStorage:()=>Nn.InMemoryKeyStorage,createKeySDK:()=>X0,default:()=>Go});mA();mA();var W0=f0(i0()),g0=class{constructor(_){this.keyCounter=new Map;this.keyRegistry=_.keyRegistry,this.suiteRegistry=_.suiteRegistry}async createKey(_,$,eA={}){let IA=await this.suiteRegistry.getSuite($.primarySignatureSuite).generateKeypair(),aA=this.getNextCounter(_),cA=$.primarySignatureSuite.split("-")[0],EA=`${_}:pk-${cA}-${aA}`;return{meta:await this.keyRegistry.registerKey(EA,IA,$.primarySignatureSuite,{expiresAt:eA.expiresAt,usage:eA.usage||["signing"],cryptoProfileVersion:eA.cryptoProfileVersion||"1.0.0"}),publicKey:IA.publicKey}}async getKey(_){let $=await this.keyRegistry.getPublicKey(_);return $?{meta:$.meta,publicKey:$.publicKey}:null}async signWithKey(_,$){let eA=await this.keyRegistry.getKey(_);if(!eA)throw new Error(`Key not found: ${_}`);if(eA.meta.status!=="active")throw new Error(`Key is not active: ${_} (status: ${eA.meta.status})`);let rA=this.suiteRegistry.getSuite(eA.meta.suiteId),IA=this.getHashAlgorithm(eA.meta.suiteId),aA=await(0,W0.hashBytes)($,IA);return await rA.sign(eA.keypair.privateKey,aA)}async verifySignature(_,$,eA){let rA=await this.keyRegistry.getPublicKey(_);if(!rA)return!1;let IA=this.suiteRegistry.getSuite(rA.meta.suiteId),aA=this.getHashAlgorithm(rA.meta.suiteId),cA=await(0,W0.hashBytes)($,aA);try{return await IA.verify(rA.publicKey,cA,eA)}catch{return!1}}async listKeysForAgent(_,$=!0){let rA=($?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(aA=>aA.keyId.startsWith(`${_}:`)),IA=[];for(let aA of rA){let cA=await this.keyRegistry.getPublicKey(aA.keyId);cA&&IA.push({meta:cA.meta,publicKey:cA.publicKey})}return IA}async getActiveCryptoProfile(_){let $=await this.listKeysForAgent(_,!0);if($.length===0)return null;let eA=new Set($.map(IA=>IA.meta.suiteId)),rA=Array.from(eA);return{primarySignatureSuite:rA[0],secondarySignatureSuite:rA[1]}}async rotateAgentKeys(_){let $=await this.listKeysForAgent(_,!0),eA=[];for(let rA of $){let aA=await this.suiteRegistry.getSuite(rA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(_),EA=rA.meta.suiteId.split("-")[0],yA=`${_}:pk-${EA}-${cA}`,uA=await this.keyRegistry.rotateKey(rA.meta.keyId,yA,aA);eA.push({meta:uA,publicKey:aA.publicKey})}return eA}async getOrCreateKey(_,$,eA={}){let IA=(await this.listKeysForAgent(_,!0)).find(aA=>aA.meta.suiteId===$.primarySignatureSuite);return IA||await this.createKey(_,$,eA)}getHashAlgorithm(_){return _.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(_){let eA=(this.keyCounter.get(_)||0)+1;return this.keyCounter.set(_,eA),eA}};var Vt=f0(i0());mA();var Nn=f0(i0());async function X0(){let X=new Vt.InMemoryKeyStorage,_=new Vt.KeyRegistry(X),$=new Vt.SignatureSuiteRegistry;return $.register(new Vt.BsvEcdsaSuite),$.register(new Vt.MlDsaSuite),new g0({keyRegistry:_,suiteRegistry:$})}var Go={createKeySDK:X0};typeof window<"u"&&(window.LumenKeys={createKeySDK:X0});return ai(So);})();
1
+ "use strict";var LumenKeys=(()=>{var $n=Object.create;var Qi=Object.defineProperty;var Ao=Object.getOwnPropertyDescriptor;var to=Object.getOwnPropertyNames;var eo=Object.getPrototypeOf,io=Object.prototype.hasOwnProperty;var ro=(X,_,$)=>_ in X?Qi(X,_,{enumerable:!0,configurable:!0,writable:!0,value:$}):X[_]=$;var he=(X,_)=>()=>(X&&(_=X(X=0)),_);var it=(X,_)=>()=>(_||X((_={exports:{}}).exports,_),_.exports),d0=(X,_)=>{for(var $ in _)Qi(X,$,{get:_[$],enumerable:!0})},Ig=(X,_,$,eA)=>{if(_&&typeof _=="object"||typeof _=="function")for(let gA of to(_))!io.call(X,gA)&&gA!==$&&Qi(X,gA,{get:()=>_[gA],enumerable:!(eA=Ao(_,gA))||eA.enumerable});return X};var p0=(X,_,$)=>($=X!=null?$n(eo(X)):{},Ig(_||!X||!X.__esModule?Qi($,"default",{value:X,enumerable:!0}):$,X)),fi=X=>Ig(Qi({},"__esModule",{value:!0}),X);var dA=(X,_,$)=>ro(X,typeof _!="symbol"?_+"":_,$);var Buffer,process,HA=he(()=>{"use strict";Buffer={from:function(X,_){if(typeof X=="string"){if(_==="base64"){let eA=atob(X),gA=new Uint8Array(eA.length);for(let oA=0;oA<eA.length;oA++)gA[oA]=eA.charCodeAt(oA);return gA}return new TextEncoder().encode(X)}return new Uint8Array(X)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let X=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(_){if(_==="base64"){let $="",eA=new Uint8Array(this);for(let gA=0;gA<eA.byteLength;gA++)$+=String.fromCharCode(eA[gA]);return btoa($)}return X.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});var ag=it(sg=>{"use strict";HA();Object.defineProperty(sg,"__esModule",{value:!0})});var Ri=it(Ai=>{"use strict";HA();Object.defineProperty(Ai,"__esModule",{value:!0});Ai.globalRegistry=Ai.SignatureSuiteRegistry=void 0;var Yi=class{constructor(){dA(this,"suites",new Map)}register(_){if(this.suites.has(_.suiteId))throw new Error(`Signature suite already registered: ${_.suiteId}`);this.suites.set(_.suiteId,_)}getSuite(_){let $=this.suites.get(_);if(!$)throw new Error(`Unknown signature suite: ${_}. Available: ${this.listSuites().join(", ")}`);return $}hasSuite(_){return this.suites.has(_)}listSuites(){return[...this.suites.keys()]}unregister(_){return this.suites.delete(_)}clear(){this.suites.clear()}};Ai.SignatureSuiteRegistry=Yi;Ai.globalRegistry=new Yi});function go(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function D0(X,_=""){if(!Number.isSafeInteger(X)||X<0){let $=_&&`"${_}" `;throw new Error(`${$}expected integer >= 0, got ${X}`)}}function ti(X,_,$=""){let eA=go(X),gA=X?.length,oA=_!==void 0;if(!eA||oA&&gA!==_){let aA=$&&`"${$}" `,cA=oA?` of length ${_}`:"",uA=eA?`length=${gA}`:`type=${typeof X}`;throw new Error(aA+"expected Uint8Array"+cA+", got "+uA)}return X}function ei(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function Li(X,_){ti(X,void 0,"digestInto() output");let $=_.outputLen;if(X.length<$)throw new Error('"digestInto() output" expected to be of length >='+$)}function Bg(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function Jt(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function Mi(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function Rt(X,_){return X<<32-_|X>>>_}function oo(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}function Io(X){for(let _=0;_<X.length;_++)X[_]=oo(X[_]);return X}function ui(X,_={}){let $=(gA,oA)=>X(oA).update(gA).digest(),eA=X(void 0);return $.outputLen=eA.outputLen,$.blockLen=eA.blockLen,$.create=gA=>X(gA),Object.assign($,_),Object.freeze($)}var no,b0,Ei,Ki=he(()=>{HA();no=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;b0=no?X=>X:Io;Ei=X=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,X])})});function Cg(X,_,$){return X&_^~X&$}function cg(X,_,$){return X&_^X&$^_&$}var hi,se,st,Qg=he(()=>{HA();Ki();hi=class{constructor(_,$,eA,gA){dA(this,"blockLen");dA(this,"outputLen");dA(this,"padOffset");dA(this,"isLE");dA(this,"buffer");dA(this,"view");dA(this,"finished",!1);dA(this,"length",0);dA(this,"pos",0);dA(this,"destroyed",!1);this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=gA,this.buffer=new Uint8Array(_),this.view=Mi(this.buffer)}update(_){ei(this),ti(_);let{view:$,buffer:eA,blockLen:gA}=this,oA=_.length;for(let aA=0;aA<oA;){let cA=Math.min(gA-this.pos,oA-aA);if(cA===gA){let uA=Mi(_);for(;gA<=oA-aA;aA+=gA)this.process(uA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===gA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){ei(this),Li(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:gA,isLE:oA}=this,{pos:aA}=this;$[aA++]=128,Jt(this.buffer.subarray(aA)),this.padOffset>gA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<gA;CA++)$[CA]=0;eA.setBigUint64(gA-8,BigInt(this.length*8),oA),this.process(eA,0);let cA=Mi(_),uA=this.outputLen;if(uA%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let yA=uA/4,EA=this.get();if(yA>EA.length)throw new Error("_sha2: outputLen bigger than state");for(let CA=0;CA<yA;CA++)cA.setUint32(4*CA,EA[CA],oA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:gA,finished:oA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=oA,_.length=gA,_.pos=cA,gA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}},se=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),st=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function so(X,_=!1){return _?{h:Number(X&vi),l:Number(X>>fg&vi)}:{h:Number(X>>fg&vi)|0,l:Number(X&vi)|0}}function qi(X,_=!1){let $=X.length,eA=new Uint32Array($),gA=new Uint32Array($);for(let oA=0;oA<$;oA++){let{h:aA,l:cA}=so(X[oA],_);[eA[oA],gA[oA]]=[aA,cA]}return[eA,gA]}function Ot(X,_,$,eA){let gA=(_>>>0)+(eA>>>0);return{h:X+$+(gA/2**32|0)|0,l:gA|0}}var vi,fg,w0,x0,ke,Ye,yi,li,ug,Eg,hg,yg,lg,dg,pg,Dg,bg,wg,S0=he(()=>{HA();vi=BigInt(4294967295),fg=BigInt(32);w0=(X,_,$)=>X>>>$,x0=(X,_,$)=>X<<32-$|_>>>$,ke=(X,_,$)=>X>>>$|_<<32-$,Ye=(X,_,$)=>X<<32-$|_>>>$,yi=(X,_,$)=>X<<64-$|_>>>$-32,li=(X,_,$)=>X>>>$-32|_<<64-$,ug=(X,_,$)=>X<<$|_>>>32-$,Eg=(X,_,$)=>_<<$|X>>>32-$,hg=(X,_,$)=>_<<$-32|X>>>64-$,yg=(X,_,$)=>X<<$-32|_>>>64-$;lg=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0),dg=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0,pg=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0),Dg=(X,_,$,eA,gA)=>_+$+eA+gA+(X/2**32|0)|0,bg=(X,_,$,eA,gA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(gA>>>0),wg=(X,_,$,eA,gA,oA)=>_+$+eA+gA+oA+(X/2**32|0)|0});var Bo,ye,G0,H0,xg,Co,co,le,de,m0,F0,Sg,Gg,Hg=he(()=>{HA();Qg();S0();Ki();Bo=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),ye=new Uint32Array(64),G0=class extends hi{constructor(_){super(64,_,8,!1)}get(){let{A:_,B:$,C:eA,D:gA,E:oA,F:aA,G:cA,H:uA}=this;return[_,$,eA,gA,oA,aA,cA,uA]}set(_,$,eA,gA,oA,aA,cA,uA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=gA|0,this.E=oA|0,this.F=aA|0,this.G=cA|0,this.H=uA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)ye[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=ye[CA-15],Z=ye[CA-2],fA=Rt(lA,7)^Rt(lA,18)^lA>>>3,mA=Rt(Z,17)^Rt(Z,19)^Z>>>10;ye[CA]=mA+ye[CA-7]+fA+ye[CA-16]|0}let{A:eA,B:gA,C:oA,D:aA,E:cA,F:uA,G:yA,H:EA}=this;for(let CA=0;CA<64;CA++){let lA=Rt(cA,6)^Rt(cA,11)^Rt(cA,25),Z=EA+lA+Cg(cA,uA,yA)+Bo[CA]+ye[CA]|0,mA=(Rt(eA,2)^Rt(eA,13)^Rt(eA,22))+cg(eA,gA,oA)|0;EA=yA,yA=uA,uA=cA,cA=aA+Z|0,aA=oA,oA=gA,gA=eA,eA=Z+mA|0}eA=eA+this.A|0,gA=gA+this.B|0,oA=oA+this.C|0,aA=aA+this.D|0,cA=cA+this.E|0,uA=uA+this.F|0,yA=yA+this.G|0,EA=EA+this.H|0,this.set(eA,gA,oA,aA,cA,uA,yA,EA)}roundClean(){Jt(ye)}destroy(){this.set(0,0,0,0,0,0,0,0),Jt(this.buffer)}},H0=class extends G0{constructor(){super(32);dA(this,"A",se[0]|0);dA(this,"B",se[1]|0);dA(this,"C",se[2]|0);dA(this,"D",se[3]|0);dA(this,"E",se[4]|0);dA(this,"F",se[5]|0);dA(this,"G",se[6]|0);dA(this,"H",se[7]|0)}},xg=qi(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(X=>BigInt(X))),Co=xg[0],co=xg[1],le=new Uint32Array(80),de=new Uint32Array(80),m0=class extends hi{constructor(_){super(128,_,16,!1)}get(){let{Ah:_,Al:$,Bh:eA,Bl:gA,Ch:oA,Cl:aA,Dh:cA,Dl:uA,Eh:yA,El:EA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:mA,Hl:kA}=this;return[_,$,eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA]}set(_,$,eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=gA|0,this.Ch=oA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=uA|0,this.Eh=yA|0,this.El=EA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=mA|0,this.Hl=kA|0}process(_,$){for(let bA=0;bA<16;bA++,$+=4)le[bA]=_.getUint32($),de[bA]=_.getUint32($+=4);for(let bA=16;bA<80;bA++){let zA=le[bA-15]|0,At=de[bA-15]|0,GA=ke(zA,At,1)^ke(zA,At,8)^w0(zA,At,7),pA=Ye(zA,At,1)^Ye(zA,At,8)^x0(zA,At,7),OA=le[bA-2]|0,JA=de[bA-2]|0,ct=ke(OA,JA,19)^yi(OA,JA,61)^w0(OA,JA,6),Et=Ye(OA,JA,19)^li(OA,JA,61)^x0(OA,JA,6),ht=pg(pA,Et,de[bA-7],de[bA-16]),Kt=Dg(ht,GA,ct,le[bA-7],le[bA-16]);le[bA]=Kt|0,de[bA]=ht|0}let{Ah:eA,Al:gA,Bh:oA,Bl:aA,Ch:cA,Cl:uA,Dh:yA,Dl:EA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:mA,Gl:kA,Hh:wA,Hl:LA}=this;for(let bA=0;bA<80;bA++){let zA=ke(CA,lA,14)^ke(CA,lA,18)^yi(CA,lA,41),At=Ye(CA,lA,14)^Ye(CA,lA,18)^li(CA,lA,41),GA=CA&Z^~CA&mA,pA=lA&fA^~lA&kA,OA=bg(LA,At,pA,co[bA],de[bA]),JA=wg(OA,wA,zA,GA,Co[bA],le[bA]),ct=OA|0,Et=ke(eA,gA,28)^yi(eA,gA,34)^yi(eA,gA,39),ht=Ye(eA,gA,28)^li(eA,gA,34)^li(eA,gA,39),Kt=eA&oA^eA&cA^oA&cA,Pe=gA&aA^gA&uA^aA&uA;wA=mA|0,LA=kA|0,mA=Z|0,kA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=Ot(yA|0,EA|0,JA|0,ct|0),yA=cA|0,EA=uA|0,cA=oA|0,uA=aA|0,oA=eA|0,aA=gA|0;let Zt=lg(ct,ht,Pe);eA=dg(Zt,JA,Et,Kt),gA=Zt|0}({h:eA,l:gA}=Ot(this.Ah|0,this.Al|0,eA|0,gA|0)),{h:oA,l:aA}=Ot(this.Bh|0,this.Bl|0,oA|0,aA|0),{h:cA,l:uA}=Ot(this.Ch|0,this.Cl|0,cA|0,uA|0),{h:yA,l:EA}=Ot(this.Dh|0,this.Dl|0,yA|0,EA|0),{h:CA,l:lA}=Ot(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=Ot(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:mA,l:kA}=Ot(this.Gh|0,this.Gl|0,mA|0,kA|0),{h:wA,l:LA}=Ot(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA,wA,LA)}roundClean(){Jt(le,de)}destroy(){Jt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},F0=class extends m0{constructor(){super(64);dA(this,"Ah",st[0]|0);dA(this,"Al",st[1]|0);dA(this,"Bh",st[2]|0);dA(this,"Bl",st[3]|0);dA(this,"Ch",st[4]|0);dA(this,"Cl",st[5]|0);dA(this,"Dh",st[6]|0);dA(this,"Dl",st[7]|0);dA(this,"Eh",st[8]|0);dA(this,"El",st[9]|0);dA(this,"Fh",st[10]|0);dA(this,"Fl",st[11]|0);dA(this,"Gh",st[12]|0);dA(this,"Gl",st[13]|0);dA(this,"Hh",st[14]|0);dA(this,"Hl",st[15]|0)}},Sg=ui(()=>new H0,Ei(1)),Gg=ui(()=>new F0,Ei(3))});function po(X,_=24){let $=new Uint32Array(10);for(let eA=24-_;eA<24;eA++){for(let aA=0;aA<10;aA++)$[aA]=X[aA]^X[aA+10]^X[aA+20]^X[aA+30]^X[aA+40];for(let aA=0;aA<10;aA+=2){let cA=(aA+8)%10,uA=(aA+2)%10,yA=$[uA],EA=$[uA+1],CA=mg(yA,EA,1)^$[cA],lA=Fg(yA,EA,1)^$[cA+1];for(let Z=0;Z<50;Z+=10)X[aA+Z]^=CA,X[aA+Z+1]^=lA}let gA=X[2],oA=X[3];for(let aA=0;aA<24;aA++){let cA=Ug[aA],uA=mg(gA,oA,cA),yA=Fg(gA,oA,cA),EA=Ng[aA];gA=X[EA],oA=X[EA+1],X[EA]=uA,X[EA+1]=yA}for(let aA=0;aA<50;aA+=10){for(let cA=0;cA<10;cA++)$[cA]=X[aA+cA];for(let cA=0;cA<10;cA++)X[aA+cA]^=~$[(cA+2)%10]&$[(cA+4)%10]}X[0]^=yo[eA],X[1]^=lo[eA]}Jt($)}var Qo,di,fo,uo,Eo,ho,Ng,Ug,kg,Yg,yo,lo,mg,Fg,N0,Do,Rg,Lg=he(()=>{HA();S0();Ki();Qo=BigInt(0),di=BigInt(1),fo=BigInt(2),uo=BigInt(7),Eo=BigInt(256),ho=BigInt(113),Ng=[],Ug=[],kg=[];for(let X=0,_=di,$=1,eA=0;X<24;X++){[$,eA]=[eA,(2*$+3*eA)%5],Ng.push(2*(5*eA+$)),Ug.push((X+1)*(X+2)/2%64);let gA=Qo;for(let oA=0;oA<7;oA++)_=(_<<di^(_>>uo)*ho)%Eo,_&fo&&(gA^=di<<(di<<BigInt(oA))-di);kg.push(gA)}Yg=qi(kg,!0),yo=Yg[0],lo=Yg[1],mg=(X,_,$)=>$>32?hg(X,_,$):ug(X,_,$),Fg=(X,_,$)=>$>32?yg(X,_,$):Eg(X,_,$);N0=class X{constructor(_,$,eA,gA=!1,oA=24){dA(this,"state");dA(this,"pos",0);dA(this,"posOut",0);dA(this,"finished",!1);dA(this,"state32");dA(this,"destroyed",!1);dA(this,"blockLen");dA(this,"suffix");dA(this,"outputLen");dA(this,"enableXOF",!1);dA(this,"rounds");if(this.blockLen=_,this.suffix=$,this.outputLen=eA,this.enableXOF=gA,this.rounds=oA,D0(eA,"outputLen"),!(0<_&&_<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Bg(this.state)}clone(){return this._cloneInto()}keccak(){b0(this.state32),po(this.state32,this.rounds),b0(this.state32),this.posOut=0,this.pos=0}update(_){ei(this),ti(_);let{blockLen:$,state:eA}=this,gA=_.length;for(let oA=0;oA<gA;){let aA=Math.min($-this.pos,gA-oA);for(let cA=0;cA<aA;cA++)eA[this.pos++]^=_[oA++];this.pos===$&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:_,suffix:$,pos:eA,blockLen:gA}=this;_[eA]^=$,($&128)!==0&&eA===gA-1&&this.keccak(),_[gA-1]^=128,this.keccak()}writeInto(_){ei(this,!1),ti(_),this.finish();let $=this.state,{blockLen:eA}=this;for(let gA=0,oA=_.length;gA<oA;){this.posOut>=eA&&this.keccak();let aA=Math.min(eA-this.posOut,oA-gA);_.set($.subarray(this.posOut,this.posOut+aA),gA),this.posOut+=aA,gA+=aA}return _}xofInto(_){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(_)}xof(_){return D0(_),this.xofInto(new Uint8Array(_))}digestInto(_){if(Li(_,this),this.finished)throw new Error("digest() was already called");return this.writeInto(_),this.destroy(),_}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Jt(this.state)}_cloneInto(_){let{blockLen:$,suffix:eA,outputLen:gA,rounds:oA,enableXOF:aA}=this;return _||(_=new X($,eA,gA,aA,oA)),_.state32.set(this.state32),_.pos=this.pos,_.posOut=this.posOut,_.finished=this.finished,_.rounds=oA,_.suffix=eA,_.outputLen=gA,_.enableXOF=aA,_.destroyed=this.destroyed,_}},Do=(X,_,$,eA={})=>ui(()=>new N0(_,X,$),eA),Rg=Do(6,136,32,Ei(8))});var Ji={};d0(Ji,{createHash:()=>Mg,default:()=>bo});function Mg(X){let _=new Uint8Array(0),$;switch(X.toLowerCase()){case"sha256":case"sha-256":$=Sg;break;case"sha512":case"sha-512":$=Gg;break;case"sha3-256":$=Rg;break;default:throw new Error(`Unsupported hash algorithm: ${X}`)}return{update(eA){let gA=eA instanceof Uint8Array?eA:new Uint8Array(eA),oA=new Uint8Array(_.length+gA.length);return oA.set(_),oA.set(gA,_.length),_=oA,this},digest(){return $(_)}}}var bo,Oi=he(()=>{"use strict";HA();Hg();Lg();bo={createHash:Mg}});var pi=it(rt=>{"use strict";HA();var wo=rt&&rt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var gA=Object.getOwnPropertyDescriptor(_,$);(!gA||("get"in gA?!_.__esModule:gA.writable||gA.configurable))&&(gA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,gA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),xo=rt&&rt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),U0=rt&&rt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var gA in $)Object.prototype.hasOwnProperty.call($,gA)&&(eA[eA.length]=gA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),gA=0;gA<eA.length;gA++)eA[gA]!=="default"&&wo($,_,eA[gA]);return xo($,_),$}})();Object.defineProperty(rt,"__esModule",{value:!0});rt.canonicalizeJson=k0;rt.stringToBytes=So;rt.bytesToString=Go;rt.bytesToHex=Ho;rt.hexToBytes=mo;rt.bytesToBase64Url=Fo;rt.base64UrlToBytes=No;rt.constantTimeEqual=Uo;rt.zeroBytes=ko;rt.hashBytes=Yo;function k0(X){return X===null?"null":typeof X!="object"?JSON.stringify(X):Array.isArray(X)?"["+X.map(k0).join(",")+"]":"{"+Object.keys(X).sort().map(eA=>`"${eA}":${k0(X[eA])}`).join(",")+"}"}function So(X){return new TextEncoder().encode(X)}function Go(X){return new TextDecoder().decode(X)}function Ho(X){return Array.from(X).map(_=>_.toString(16).padStart(2,"0")).join("")}function mo(X){if(X.length%2!==0)throw new Error("Hex string must have even length");let _=new Uint8Array(X.length/2);for(let $=0;$<X.length;$+=2)_[$/2]=parseInt(X.slice($,$+2),16);return _}function Fo(X){return Buffer.from(X).toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function No(X){let _=X.replace(/-/g,"+").replace(/_/g,"/"),$=_.length%4;return $&&(_+="=".repeat(4-$)),new Uint8Array(Buffer.from(_,"base64"))}function Uo(X,_){if(X.length!==_.length)return!1;let $=0;for(let eA=0;eA<X.length;eA++)$|=X[eA]^_[eA];return $===0}function ko(X){X.fill(0)}async function Yo(X,_){if(_==="sha256"){let $=await Promise.resolve().then(()=>U0((Oi(),fi(Ji))));return new Uint8Array($.createHash("sha256").update(X).digest())}else if(_==="sha512"){let $=await Promise.resolve().then(()=>U0((Oi(),fi(Ji))));return new Uint8Array($.createHash("sha512").update(X).digest())}else if(_==="sha3-256"){let $=await Promise.resolve().then(()=>U0((Oi(),fi(Ji))));return new Uint8Array($.createHash("sha3-256").update(X).digest())}throw new Error(`Unsupported hash algorithm: ${_}`)}});var vg=it(_i=>{"use strict";HA();Object.defineProperty(_i,"__esModule",{value:!0});_i.signAgentResponse=Ro;_i.verifySignedEnvelope=Lo;var ft=pi();async function Ro(X,_,$,eA,gA,oA,aA){let cA=(0,ft.canonicalizeJson)(_),uA=(0,ft.stringToBytes)(cA),yA=[],EA=gA.getSuite($.suiteId),CA=Kg($.suiteId),lA=await(0,ft.hashBytes)(uA,CA),Z=await EA.sign(eA,lA);if(yA.push({suiteId:$.suiteId,keyId:$.keyId,hashAlgorithm:CA,payloadHash:(0,ft.bytesToBase64Url)(lA),signature:(0,ft.bytesToBase64Url)(Z)}),oA&&aA){let mA=gA.getSuite(oA.suiteId),kA=Kg(oA.suiteId),wA=await(0,ft.hashBytes)(uA,kA),LA=await mA.sign(aA,wA);yA.push({suiteId:oA.suiteId,keyId:oA.keyId,hashAlgorithm:kA,payloadHash:(0,ft.bytesToBase64Url)(wA),signature:(0,ft.bytesToBase64Url)(LA)})}let fA={format:"lumen.signature.v1",mode:yA.length>1?"hybrid":"single",signatures:yA};return yA.length>1&&X.cryptoProfile.primarySignatureSuite&&(fA.policy={threshold:"all",requiredSuites:[X.cryptoProfile.primarySignatureSuite]}),{agent:X.agentId,version:X.version,timestamp:new Date().toISOString(),payload:_,_signature:fA}}async function Lo(X,_,$){let eA=[],gA=(0,ft.canonicalizeJson)(X.payload),oA=(0,ft.stringToBytes)(gA);for(let cA of X._signature.signatures)try{let uA=_.getSuite(cA.suiteId),yA=$.get(cA.keyId);if(!yA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Public key not found"});continue}let EA=await(0,ft.hashBytes)(oA,cA.hashAlgorithm),CA=(0,ft.base64UrlToBytes)(cA.payloadHash);if(!Ko(EA,CA)){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:"Payload hash mismatch"});continue}let lA=(0,ft.base64UrlToBytes)(cA.signature),Z=await uA.verify(yA,EA,lA);eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:Z,error:Z?void 0:"Signature verification failed"})}catch(uA){eA.push({suiteId:cA.suiteId,keyId:cA.keyId,valid:!1,error:uA instanceof Error?uA.message:String(uA)})}let aA=Mo(X._signature,eA);return{valid:aA&&eA.every(cA=>cA.valid),details:{signatureResults:eA,policyMet:aA,timestamp:new Date().toISOString()}}}function Mo(X,_){let $=X.policy;if(!$)return _.every(gA=>gA.valid);let eA=_.filter(gA=>gA.valid);if($.requiredSuites&&!$.requiredSuites.every(oA=>eA.some(aA=>aA.suiteId===oA)))return!1;switch($.threshold){case"any":return eA.length>0;case"all":return eA.length===_.length;case"quorum":return eA.length>=($.quorumCount||0);default:return eA.length===_.length}}function Kg(X){return X.startsWith("bsv-ecdsa")?"sha256":X.startsWith("ml-dsa")||X.startsWith("fn-dsa")?"sha3-256":(X.startsWith("slh-dsa"),"sha256")}function Ko(X,_){if(X.length!==_.length)return!1;for(let $=0;$<X.length;$++)if(X[$]!==_[$])return!1;return!0}});var qg=it(ii=>{"use strict";HA();Object.defineProperty(ii,"__esModule",{value:!0});ii.KeyRegistry=ii.InMemoryKeyStorage=void 0;var ji=class{constructor(){dA(this,"keys",new Map)}async store(_,$,eA){this.keys.set(_,{keypair:$,meta:eA})}async load(_){return this.keys.get(_)||null}async list(_){let $=Array.from(this.keys.values()).map(eA=>eA.meta);return _?$.filter(eA=>Object.entries(_).every(([gA,oA])=>gA==="usage"&&Array.isArray(oA)?oA.some(aA=>eA.usage.includes(aA)):eA[gA]===oA)):$}async delete(_){this.keys.delete(_)}async updateMeta(_,$){let eA=this.keys.get(_);if(!eA)throw new Error(`Key not found: ${_}`);this.keys.set(_,{keypair:eA.keypair,meta:{...eA.meta,...$}})}clear(){this.keys.clear()}};ii.InMemoryKeyStorage=ji;var Y0=class{constructor(_=new ji){dA(this,"storage");this.storage=_}async registerKey(_,$,eA,gA={}){let oA={keyId:_,suiteId:eA,createdAt:new Date().toISOString(),expiresAt:gA.expiresAt,usage:gA.usage||["signing"],cryptoProfileVersion:gA.cryptoProfileVersion||"1.0.0",status:gA.status||"active"};return await this.storage.store(_,$,oA),oA}async getKey(_){return await this.storage.load(_)}async getPublicKey(_){let $=await this.storage.load(_);return $?{publicKey:$.keypair.publicKey,meta:$.meta}:null}async listKeys(_){return await this.storage.list(_)}async listActiveKeys(_){let $=await this.storage.list(_),eA=new Date;return $.filter(gA=>!(gA.status&&gA.status!=="active"||gA.expiresAt&&new Date(gA.expiresAt)<eA))}async rotateKey(_,$,eA){let gA=await this.storage.load(_);if(!gA)throw new Error(`Cannot rotate: key not found: ${_}`);return await this.storage.updateMeta(_,{status:"rotated"}),await this.registerKey($,eA,gA.meta.suiteId,{usage:gA.meta.usage,cryptoProfileVersion:gA.meta.cryptoProfileVersion,expiresAt:gA.meta.expiresAt,status:"active"}),await this.storage.updateMeta($,{rotatedFrom:_}),(await this.storage.load($)).meta}async revokeKey(_,$){await this.storage.updateMeta(_,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(_){await this.storage.delete(_)}async markExpiredKeys(){let _=await this.storage.list(),$=new Date,eA=0;for(let gA of _)gA.expiresAt&&new Date(gA.expiresAt)<$&&gA.status==="active"&&(await this.storage.updateMeta(gA.keyId,{status:"expired"}),eA++);return eA}async pruneOldKeys(_=90){let $=await this.storage.list(),eA=new Date;eA.setDate(eA.getDate()-_);let gA=0;for(let oA of $)(oA.status==="revoked"&&oA.revokedAt&&new Date(oA.revokedAt)<eA||oA.status==="expired"&&oA.expiresAt&&new Date(oA.expiresAt)<eA)&&(await this.storage.delete(oA.keyId),gA++);return gA}};ii.KeyRegistry=Y0});var j0=it(TA=>{"use strict";HA();Object.defineProperty(TA,"__esModule",{value:!0});TA.ComplianceViolationError=TA.InvalidKeyParametersError=TA.CryptoOperationError=TA.InvalidSignatureError=TA.SuiteNotFoundError=TA.SuiteNotAllowedError=TA.KeyInvalidStateError=TA.KeyExpiredError=TA.KeyNotFoundError=TA.SmartLedgerCryptoError=void 0;var dt=class extends Error{constructor($,eA){super($);dA(this,"code");this.code=eA,this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}};TA.SmartLedgerCryptoError=dt;var R0=class extends dt{constructor($){super(`Key not found: ${$}`,"KEY_NOT_FOUND");dA(this,"keyId");this.keyId=$}};TA.KeyNotFoundError=R0;var L0=class extends dt{constructor($,eA){super(`Key expired: ${$} (expired at ${eA})`,"KEY_EXPIRED");dA(this,"keyId");dA(this,"expiresAt");this.keyId=$,this.expiresAt=eA}};TA.KeyExpiredError=L0;var M0=class extends dt{constructor($,eA,gA){super(`Key in invalid state: ${$} (current: ${eA}, required: ${gA})`,"KEY_INVALID_STATE");dA(this,"keyId");dA(this,"currentState");dA(this,"requiredState");this.keyId=$,this.currentState=eA,this.requiredState=gA}};TA.KeyInvalidStateError=M0;var K0=class extends dt{constructor($,eA){let gA=eA?` in profile ${eA}`:"";super(`Suite not allowed: ${$}${gA}`,"SUITE_NOT_ALLOWED");dA(this,"suiteId");dA(this,"profileName");this.suiteId=$,this.profileName=eA}};TA.SuiteNotAllowedError=K0;var v0=class extends dt{constructor($){super(`Suite not found: ${$}`,"SUITE_NOT_FOUND");dA(this,"suiteId");this.suiteId=$}};TA.SuiteNotFoundError=v0;var q0=class extends dt{constructor($,eA="Signature verification failed"){super(eA,"INVALID_SIGNATURE");dA(this,"keyId");this.keyId=$}};TA.InvalidSignatureError=q0;var J0=class extends dt{constructor($,eA,gA){super(`Cryptographic operation failed (${$}): ${eA}`,"CRYPTO_OPERATION_FAILED");dA(this,"operation");dA(this,"cause");this.operation=$,this.cause=gA}};TA.CryptoOperationError=J0;var O0=class extends dt{constructor(_){super(`Invalid key parameters: ${_}`,"INVALID_KEY_PARAMETERS")}};TA.InvalidKeyParametersError=O0;var _0=class extends dt{constructor($,eA){super(`Compliance violation in profile ${$}: ${eA}`,"COMPLIANCE_VIOLATION");dA(this,"profileName");dA(this,"violation");this.profileName=$,this.violation=eA}};TA.ComplianceViolationError=_0});var Jg=it(Re=>{"use strict";HA();Object.defineProperty(Re,"__esModule",{value:!0});Re.setGlobalRegistry=qo;Re.signUsingSuite=Jo;Re.verifyUsingSuite=Oo;Re.generateKeypairUsingSuite=_o;Re.listAvailableSuites=jo;var vo=Ri(),ri=j0(),Ti=null;function qo(X){Ti=X}function Pi(){return Ti||(Ti=new vo.SignatureSuiteRegistry),Ti}async function Jo(X,_,$){let eA=Pi();if(!eA.hasSuite(X))throw new ri.SuiteNotFoundError(X);try{return await eA.getSuite(X).sign(_,$)}catch(gA){throw new ri.CryptoOperationError("sign",gA instanceof Error?gA.message:"Unknown error",gA instanceof Error?gA:void 0)}}async function Oo(X,_,$,eA){let gA=Pi();if(!gA.hasSuite(X))throw new ri.SuiteNotFoundError(X);try{return await gA.getSuite(X).verify(_,$,eA)}catch(oA){throw new ri.CryptoOperationError("verify",oA instanceof Error?oA.message:"Unknown error",oA instanceof Error?oA:void 0)}}async function _o(X){let _=Pi();if(!_.hasSuite(X))throw new ri.SuiteNotFoundError(X);try{return await _.getSuite(X).generateKeypair()}catch($){throw new ri.CryptoOperationError("generateKeypair",$ instanceof Error?$.message:"Unknown error",$ instanceof Error?$:void 0)}}function jo(){return Pi().listSuites()}});var sn={};d0(sn,{CURVE:()=>Vg,Point:()=>Mt,ProjectivePoint:()=>Mt,Signature:()=>Ii,etc:()=>$0,getPublicKey:()=>AI,getSharedSecret:()=>nI,sign:()=>iI,signAsync:()=>eI,utils:()=>sI,verify:()=>rI});var Vg,Me,Tt,To,Po,Wg,ut,Ke,PA,Xg,Zg,Vo,qe,ve,Wo,zg,Zi,ae,Og,W0,Lt,$g,Xo,Je,X0,ni,bi,xA,pt,wi,Zo,_g,An,jg,Di,T0,P0,gi,tn,zo,_t,Mt,jt,Le,en,xi,Vi,$o,pe,oi,Wi,AI,Ii,rn,Z0,z0,tI,gn,nn,eI,iI,rI,gI,nI,on,oI,II,$0,sI,Xi,aI,In,V0,BI,Tg,Pg,CI,an=he(()=>{HA();Vg={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:Me,n:Tt,Gx:To,Gy:Po,b:Wg}=Vg,ut=32,Ke=64,PA=(X="")=>{throw new Error(X)},Xg=X=>typeof X=="bigint",Zg=X=>typeof X=="string",Vo=X=>X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array",qe=(X,_)=>!Vo(X)||typeof _=="number"&&_>0&&X.length!==_?PA("Uint8Array expected"):X,ve=X=>new Uint8Array(X),Wo=X=>Uint8Array.from(X),zg=(X,_)=>X.toString(16).padStart(_,"0"),Zi=X=>Array.from(qe(X)).map(_=>zg(_,2)).join(""),ae={_0:48,_9:57,A:65,F:70,a:97,f:102},Og=X=>{if(X>=ae._0&&X<=ae._9)return X-ae._0;if(X>=ae.A&&X<=ae.F)return X-(ae.A-10);if(X>=ae.a&&X<=ae.f)return X-(ae.a-10)},W0=X=>{let _="hex invalid";if(!Zg(X))return PA(_);let $=X.length,eA=$/2;if($%2)return PA(_);let gA=ve(eA);for(let oA=0,aA=0;oA<eA;oA++,aA+=2){let cA=Og(X.charCodeAt(aA)),uA=Og(X.charCodeAt(aA+1));if(cA===void 0||uA===void 0)return PA(_);gA[oA]=cA*16+uA}return gA},Lt=(X,_)=>qe(Zg(X)?W0(X):Wo(qe(X)),_),$g=()=>globalThis?.crypto,Xo=()=>$g()?.subtle??PA("crypto.subtle must be defined"),Je=(...X)=>{let _=ve(X.reduce((eA,gA)=>eA+qe(gA).length,0)),$=0;return X.forEach(eA=>{_.set(eA,$),$+=eA.length}),_},X0=(X=ut)=>$g().getRandomValues(ve(X)),ni=BigInt,bi=(X,_,$,eA="bad number: out of range")=>Xg(X)&&_<=X&&X<$?X:PA(eA),xA=(X,_=Me)=>{let $=X%_;return $>=0n?$:_+$},pt=X=>xA(X,Tt),wi=(X,_)=>{(X===0n||_<=0n)&&PA("no inverse n="+X+" mod="+_);let $=xA(X,_),eA=_,gA=0n,oA=1n,aA=1n,cA=0n;for(;$!==0n;){let uA=eA/$,yA=eA%$,EA=gA-aA*uA,CA=oA-cA*uA;eA=$,$=yA,gA=aA,oA=cA,aA=EA,cA=CA}return eA===1n?xA(gA,_):PA("no inverse")},Zo=X=>{let _=$0[X];return typeof _!="function"&&PA("hashes."+X+" not set"),_},_g=X=>X instanceof Mt?X:PA("Point expected"),An=X=>xA(xA(X*X)*X+Wg),jg=X=>bi(X,0n,Me),Di=X=>bi(X,1n,Me),T0=X=>bi(X,1n,Tt),P0=X=>(X&1n)===0n,gi=X=>Uint8Array.of(X),tn=X=>gi(P0(X)?2:3),zo=X=>{let _=An(Di(X)),$=1n;for(let eA=_,gA=(Me+1n)/4n;gA>0n;gA>>=1n)gA&1n&&($=$*eA%Me),eA=eA*eA%Me;return xA($*$)===_?$:PA("sqrt invalid")},_t=class _t{constructor(_,$,eA){dA(this,"px");dA(this,"py");dA(this,"pz");this.px=jg(_),this.py=Di($),this.pz=jg(eA),Object.freeze(this)}static fromBytes(_){qe(_);let $,eA=_[0],gA=_.subarray(1),oA=Vi(gA,0,ut),aA=_.length;if(aA===ut+1&&[2,3].includes(eA)){let cA=zo(oA),uA=P0(cA);P0(ni(eA))!==uA&&(cA=xA(-cA)),$=new _t(oA,cA,1n)}return aA===Ke+1&&eA===4&&($=new _t(oA,Vi(gA,ut,Ke),1n)),$?$.assertValidity():PA("bad point: not on curve")}equals(_){let{px:$,py:eA,pz:gA}=this,{px:oA,py:aA,pz:cA}=_g(_),uA=xA($*cA),yA=xA(oA*gA),EA=xA(eA*cA),CA=xA(aA*gA);return uA===yA&&EA===CA}is0(){return this.equals(Le)}negate(){return new _t(this.px,xA(-this.py),this.pz)}double(){return this.add(this)}add(_){let{px:$,py:eA,pz:gA}=this,{px:oA,py:aA,pz:cA}=_g(_),uA=0n,yA=Wg,EA=0n,CA=0n,lA=0n,Z=xA(yA*3n),fA=xA($*oA),mA=xA(eA*aA),kA=xA(gA*cA),wA=xA($+eA),LA=xA(oA+aA);wA=xA(wA*LA),LA=xA(fA+mA),wA=xA(wA-LA),LA=xA($+gA);let bA=xA(oA+cA);return LA=xA(LA*bA),bA=xA(fA+kA),LA=xA(LA-bA),bA=xA(eA+gA),EA=xA(aA+cA),bA=xA(bA*EA),EA=xA(mA+kA),bA=xA(bA-EA),lA=xA(uA*LA),EA=xA(Z*kA),lA=xA(EA+lA),EA=xA(mA-lA),lA=xA(mA+lA),CA=xA(EA*lA),mA=xA(fA+fA),mA=xA(mA+fA),kA=xA(uA*kA),LA=xA(Z*LA),mA=xA(mA+kA),kA=xA(fA-kA),kA=xA(uA*kA),LA=xA(LA+kA),fA=xA(mA*LA),CA=xA(CA+fA),fA=xA(bA*LA),EA=xA(wA*EA),EA=xA(EA-fA),fA=xA(wA*mA),lA=xA(bA*lA),lA=xA(lA+fA),new _t(EA,CA,lA)}multiply(_,$=!0){if(!$&&_===0n)return Le;if(T0(_),_===1n)return this;if(this.equals(jt))return CI(_).p;let eA=Le,gA=jt;for(let oA=this;_>0n;oA=oA.double(),_>>=1n)_&1n?eA=eA.add(oA):$&&(gA=gA.add(oA));return eA}toAffine(){let{px:_,py:$,pz:eA}=this;if(this.equals(Le))return{x:0n,y:0n};if(eA===1n)return{x:_,y:$};let gA=wi(eA,Me);return xA(eA*gA)!==1n&&PA("inverse invalid"),{x:xA(_*gA),y:xA($*gA)}}assertValidity(){let{x:_,y:$}=this.toAffine();return Di(_),Di($),xA($*$)===An(_)?this:PA("bad point: not on curve")}toBytes(_=!0){let{x:$,y:eA}=this.assertValidity().toAffine(),gA=pe($);return _?Je(tn(eA),gA):Je(gi(4),gA,pe(eA))}static fromAffine(_){let{x:$,y:eA}=_;return $===0n&&eA===0n?Le:new _t($,eA,1n)}toHex(_){return Zi(this.toBytes(_))}static fromPrivateKey(_){return jt.multiply(oi(_))}static fromHex(_){return _t.fromBytes(Lt(_))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(_){return this.toBytes(_)}};dA(_t,"BASE"),dA(_t,"ZERO");Mt=_t,jt=new Mt(To,Po,1n),Le=new Mt(0n,1n,0n);Mt.BASE=jt;Mt.ZERO=Le;en=(X,_,$)=>jt.multiply(_,!1).add(X.multiply($,!1)).assertValidity(),xi=X=>ni("0x"+(Zi(X)||"0")),Vi=(X,_,$)=>xi(X.subarray(_,$)),$o=2n**256n,pe=X=>W0(zg(bi(X,0n,$o),Ke)),oi=X=>{let _=Xg(X)?X:xi(Lt(X,ut));return bi(_,1n,Tt,"private key invalid 3")},Wi=X=>X>Tt>>1n,AI=(X,_=!0)=>jt.multiply(oi(X)).toBytes(_),Ii=class X{constructor(_,$,eA){dA(this,"r");dA(this,"s");dA(this,"recovery");this.r=T0(_),this.s=T0($),eA!=null&&(this.recovery=eA),Object.freeze(this)}static fromBytes(_){qe(_,Ke);let $=Vi(_,0,ut),eA=Vi(_,ut,Ke);return new X($,eA)}toBytes(){let{r:_,s:$}=this;return Je(pe(_),pe($))}addRecoveryBit(_){return new X(this.r,this.s,_)}hasHighS(){return Wi(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return Zi(this.toBytes())}recoverPublicKey(_){return gI(this,_)}static fromCompact(_){return X.fromBytes(Lt(_,Ke))}assertValidity(){return this}normalizeS(){let{r:_,s:$,recovery:eA}=this;return Wi($)?new X(_,pt(-$),eA):this}},rn=X=>{let _=X.length*8-256;_>1024&&PA("msg invalid");let $=xi(X);return _>0?$>>ni(_):$},Z0=X=>pt(rn(qe(X))),z0={lowS:!0},tI={lowS:!0},gn=(X,_,$=z0)=>{["der","recovered","canonical"].some(lA=>lA in $)&&PA("option not supported");let{lowS:eA,extraEntropy:gA}=$;eA==null&&(eA=!0);let oA=pe,aA=Z0(Lt(X)),cA=oA(aA),uA=oi(_),yA=[oA(uA),cA];gA&&yA.push(gA===!0?X0(ut):Lt(gA));let EA=aA,CA=lA=>{let Z=rn(lA);if(!(1n<=Z&&Z<Tt))return;let fA=jt.multiply(Z).toAffine(),mA=pt(fA.x);if(mA===0n)return;let kA=wi(Z,Tt),wA=pt(kA*pt(EA+pt(uA*mA)));if(wA===0n)return;let LA=wA,bA=(fA.x===mA?0:2)|Number(fA.y&1n);return eA&&Wi(wA)&&(LA=pt(-wA),bA^=1),new Ii(mA,LA,bA)};return{seed:Je(...yA),k2sig:CA}},nn=X=>{let _=ve(ut),$=ve(ut),eA=0,gA=ve(0),oA=()=>{_.fill(1),$.fill(0),eA=0},aA=1e3,cA="drbg: tried 1000 values";if(X){let uA=(...CA)=>$0.hmacSha256Async($,_,...CA),yA=async(CA=gA)=>{$=await uA(gi(0),CA),_=await uA(),CA.length!==0&&($=await uA(gi(1),CA),_=await uA())},EA=async()=>(eA++>=aA&&PA(cA),_=await uA(),_);return async(CA,lA)=>{oA(),await yA(CA);let Z;for(;!(Z=lA(await EA()));)await yA();return oA(),Z}}else{let uA=(...CA)=>Zo("hmacSha256Sync")($,_,...CA),yA=(CA=gA)=>{$=uA(gi(0),CA),_=uA(),CA.length!==0&&($=uA(gi(1),CA),_=uA())},EA=()=>(eA++>=aA&&PA(cA),_=uA(),_);return(CA,lA)=>{oA(),yA(CA);let Z;for(;!(Z=lA(EA()));)yA();return oA(),Z}}},eI=async(X,_,$=z0)=>{let{seed:eA,k2sig:gA}=gn(X,_,$);return await nn(!0)(eA,gA)},iI=(X,_,$=z0)=>{let{seed:eA,k2sig:gA}=gn(X,_,$);return nn(!1)(eA,gA)},rI=(X,_,$,eA=tI)=>{let{lowS:gA}=eA;gA==null&&(gA=!0),"strict"in eA&&PA("option not supported");let oA,aA=X&&typeof X=="object"&&"r"in X;!aA&&Lt(X).length!==Ke&&PA("signature must be 64 bytes");try{oA=aA?new Ii(X.r,X.s):Ii.fromCompact(X);let cA=Z0(Lt(_)),uA=Mt.fromBytes(Lt($)),{r:yA,s:EA}=oA;if(gA&&Wi(EA))return!1;let CA=wi(EA,Tt),lA=pt(cA*CA),Z=pt(yA*CA),fA=en(uA,lA,Z).toAffine();return pt(fA.x)===yA}catch{return!1}},gI=(X,_)=>{let{r:$,s:eA,recovery:gA}=X;[0,1,2,3].includes(gA)||PA("recovery id invalid");let oA=Z0(Lt(_,ut)),aA=gA===2||gA===3?$+Tt:$;Di(aA);let cA=tn(ni(gA)),uA=Je(cA,pe(aA)),yA=Mt.fromBytes(uA),EA=wi(aA,Tt),CA=pt(-oA*EA),lA=pt(eA*EA);return en(yA,CA,lA)},nI=(X,_,$=!0)=>Mt.fromBytes(Lt(_)).multiply(oi(X)).toBytes($),on=X=>{X=Lt(X),(X.length<ut+8||X.length>1024)&&PA("expected 40-1024b");let _=xA(xi(X),Tt-1n);return pe(_+1n)},oI=()=>on(X0(ut+16)),II="SHA-256",$0={hexToBytes:W0,bytesToHex:Zi,concatBytes:Je,bytesToNumberBE:xi,numberToBytesBE:pe,mod:xA,invert:wi,hmacSha256Async:async(X,..._)=>{let $=Xo(),eA="HMAC",gA=await $.importKey("raw",X,{name:eA,hash:{name:II}},!1,["sign"]);return ve(await $.sign(eA,gA,Je(..._)))},hmacSha256Sync:void 0,hashToPrivateKey:on,randomBytes:X0},sI={normPrivateKeyToScalar:oi,isValidPrivateKey:X=>{try{return!!oi(X)}catch{return!1}},randomPrivateKey:oI,precompute:(X=8,_=jt)=>(_.multiply(3n),_)},Xi=8,aI=256,In=Math.ceil(aI/Xi)+1,V0=2**(Xi-1),BI=()=>{let X=[],_=jt,$=_;for(let eA=0;eA<In;eA++){$=_,X.push($);for(let gA=1;gA<V0;gA++)$=$.add(_),X.push($);_=$.double()}return X},Pg=(X,_)=>{let $=_.negate();return X?$:_},CI=X=>{let _=Tg||(Tg=BI()),$=Le,eA=jt,gA=2**Xi,oA=gA,aA=ni(gA-1),cA=ni(Xi);for(let uA=0;uA<In;uA++){let yA=Number(X&aA);X>>=cA,yA>V0&&(yA-=oA,X+=1n);let EA=uA*V0,CA=EA,lA=EA+Math.abs(yA)-1,Z=uA%2!==0,fA=yA<0;yA===0?eA=eA.add(Pg(Z,_[CA])):$=$.add(Pg(fA,_[lA]))}return{p:$,f:eA}}});var Bn=it(zi=>{"use strict";HA();Object.defineProperty(zi,"__esModule",{value:!0});zi.crypto=void 0;zi.crypto=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0});var A0=it(NA=>{"use strict";HA();Object.defineProperty(NA,"__esModule",{value:!0});NA.wrapXOFConstructorWithOpts=NA.wrapConstructorWithOpts=NA.wrapConstructor=NA.Hash=NA.nextTick=NA.swap32IfBE=NA.byteSwapIfBE=NA.swap8IfBE=NA.isLE=void 0;NA.isBytes=cn;NA.anumber=Ar;NA.abytes=ai;NA.ahash=cI;NA.aexists=QI;NA.aoutput=fI;NA.u8=uI;NA.u32=EI;NA.clean=hI;NA.createView=yI;NA.rotr=lI;NA.rotl=dI;NA.byteSwap=er;NA.byteSwap32=Qn;NA.bytesToHex=DI;NA.hexToBytes=bI;NA.asyncLoop=xI;NA.utf8ToBytes=ir;NA.bytesToUtf8=SI;NA.toBytes=$i;NA.kdfInputToBytes=GI;NA.concatBytes=HI;NA.checkOpts=mI;NA.createHasher=un;NA.createOptHasher=En;NA.createXOFer=hn;NA.randomBytes=FI;var si=Bn();function cn(X){return X instanceof Uint8Array||ArrayBuffer.isView(X)&&X.constructor.name==="Uint8Array"}function Ar(X){if(!Number.isSafeInteger(X)||X<0)throw new Error("positive integer expected, got "+X)}function ai(X,..._){if(!cn(X))throw new Error("Uint8Array expected");if(_.length>0&&!_.includes(X.length))throw new Error("Uint8Array expected of length "+_+", got length="+X.length)}function cI(X){if(typeof X!="function"||typeof X.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Ar(X.outputLen),Ar(X.blockLen)}function QI(X,_=!0){if(X.destroyed)throw new Error("Hash instance has been destroyed");if(_&&X.finished)throw new Error("Hash#digest() has already been called")}function fI(X,_){ai(X);let $=_.outputLen;if(X.length<$)throw new Error("digestInto() expects output buffer of length at least "+$)}function uI(X){return new Uint8Array(X.buffer,X.byteOffset,X.byteLength)}function EI(X){return new Uint32Array(X.buffer,X.byteOffset,Math.floor(X.byteLength/4))}function hI(...X){for(let _=0;_<X.length;_++)X[_].fill(0)}function yI(X){return new DataView(X.buffer,X.byteOffset,X.byteLength)}function lI(X,_){return X<<32-_|X>>>_}function dI(X,_){return X<<_|X>>>32-_>>>0}NA.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function er(X){return X<<24&4278190080|X<<8&16711680|X>>>8&65280|X>>>24&255}NA.swap8IfBE=NA.isLE?X=>X:X=>er(X);NA.byteSwapIfBE=NA.swap8IfBE;function Qn(X){for(let _=0;_<X.length;_++)X[_]=er(X[_]);return X}NA.swap32IfBE=NA.isLE?X=>X:Qn;var fn=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",pI=Array.from({length:256},(X,_)=>_.toString(16).padStart(2,"0"));function DI(X){if(ai(X),fn)return X.toHex();let _="";for(let $=0;$<X.length;$++)_+=pI[X[$]];return _}var Be={_0:48,_9:57,A:65,F:70,a:97,f:102};function Cn(X){if(X>=Be._0&&X<=Be._9)return X-Be._0;if(X>=Be.A&&X<=Be.F)return X-(Be.A-10);if(X>=Be.a&&X<=Be.f)return X-(Be.a-10)}function bI(X){if(typeof X!="string")throw new Error("hex string expected, got "+typeof X);if(fn)return Uint8Array.fromHex(X);let _=X.length,$=_/2;if(_%2)throw new Error("hex string expected, got unpadded hex of length "+_);let eA=new Uint8Array($);for(let gA=0,oA=0;gA<$;gA++,oA+=2){let aA=Cn(X.charCodeAt(oA)),cA=Cn(X.charCodeAt(oA+1));if(aA===void 0||cA===void 0){let uA=X[oA]+X[oA+1];throw new Error('hex string expected, got non-hex character "'+uA+'" at index '+oA)}eA[gA]=aA*16+cA}return eA}var wI=async()=>{};NA.nextTick=wI;async function xI(X,_,$){let eA=Date.now();for(let gA=0;gA<X;gA++){$(gA);let oA=Date.now()-eA;oA>=0&&oA<_||(await(0,NA.nextTick)(),eA+=oA)}}function ir(X){if(typeof X!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(X))}function SI(X){return new TextDecoder().decode(X)}function $i(X){return typeof X=="string"&&(X=ir(X)),ai(X),X}function GI(X){return typeof X=="string"&&(X=ir(X)),ai(X),X}function HI(...X){let _=0;for(let eA=0;eA<X.length;eA++){let gA=X[eA];ai(gA),_+=gA.length}let $=new Uint8Array(_);for(let eA=0,gA=0;eA<X.length;eA++){let oA=X[eA];$.set(oA,gA),gA+=oA.length}return $}function mI(X,_){if(_!==void 0&&{}.toString.call(_)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(X,_)}var tr=class{};NA.Hash=tr;function un(X){let _=eA=>X().update($i(eA)).digest(),$=X();return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=()=>X(),_}function En(X){let _=(eA,gA)=>X(gA).update($i(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}function hn(X){let _=(eA,gA)=>X(gA).update($i(eA)).digest(),$=X({});return _.outputLen=$.outputLen,_.blockLen=$.blockLen,_.create=eA=>X(eA),_}NA.wrapConstructor=un;NA.wrapConstructorWithOpts=En;NA.wrapXOFConstructorWithOpts=hn;function FI(X=32){if(si.crypto&&typeof si.crypto.getRandomValues=="function")return si.crypto.getRandomValues(new Uint8Array(X));if(si.crypto&&typeof si.crypto.randomBytes=="function")return Uint8Array.from(si.crypto.randomBytes(X));throw new Error("crypto.getRandomValues must be defined")}});var yn=it(_e=>{"use strict";HA();Object.defineProperty(_e,"__esModule",{value:!0});_e.hmac=_e.HMAC=void 0;var Oe=A0(),Si=class extends Oe.Hash{constructor(_,$){super(),this.finished=!1,this.destroyed=!1,(0,Oe.ahash)(_);let eA=(0,Oe.toBytes)($);if(this.iHash=_.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let gA=this.blockLen,oA=new Uint8Array(gA);oA.set(eA.length>gA?_.create().update(eA).digest():eA);for(let aA=0;aA<oA.length;aA++)oA[aA]^=54;this.iHash.update(oA),this.oHash=_.create();for(let aA=0;aA<oA.length;aA++)oA[aA]^=106;this.oHash.update(oA),(0,Oe.clean)(oA)}update(_){return(0,Oe.aexists)(this),this.iHash.update(_),this}digestInto(_){(0,Oe.aexists)(this),(0,Oe.abytes)(_,this.outputLen),this.finished=!0,this.iHash.digestInto(_),this.oHash.update(_),this.oHash.digestInto(_),this.destroy()}digest(){let _=new Uint8Array(this.oHash.outputLen);return this.digestInto(_),_}_cloneInto(_){_||(_=Object.create(Object.getPrototypeOf(this),{}));let{oHash:$,iHash:eA,finished:gA,destroyed:oA,blockLen:aA,outputLen:cA}=this;return _=_,_.finished=gA,_.destroyed=oA,_.blockLen=aA,_.outputLen=cA,_.oHash=$._cloneInto(_.oHash),_.iHash=eA._cloneInto(_.iHash),_}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};_e.HMAC=Si;var NI=(X,_,$)=>new Si(X,_).update($).digest();_e.hmac=NI;_e.hmac.create=(X,_)=>new Si(X,_)});var dn=it(Ct=>{"use strict";HA();Object.defineProperty(Ct,"__esModule",{value:!0});Ct.SHA512_IV=Ct.SHA384_IV=Ct.SHA224_IV=Ct.SHA256_IV=Ct.HashMD=void 0;Ct.setBigUint64=ln;Ct.Chi=UI;Ct.Maj=kI;var Pt=A0();function ln(X,_,$,eA){if(typeof X.setBigUint64=="function")return X.setBigUint64(_,$,eA);let gA=BigInt(32),oA=BigInt(4294967295),aA=Number($>>gA&oA),cA=Number($&oA),uA=eA?4:0,yA=eA?0:4;X.setUint32(_+uA,aA,eA),X.setUint32(_+yA,cA,eA)}function UI(X,_,$){return X&_^~X&$}function kI(X,_,$){return X&_^X&$^_&$}var rr=class extends Pt.Hash{constructor(_,$,eA,gA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=_,this.outputLen=$,this.padOffset=eA,this.isLE=gA,this.buffer=new Uint8Array(_),this.view=(0,Pt.createView)(this.buffer)}update(_){(0,Pt.aexists)(this),_=(0,Pt.toBytes)(_),(0,Pt.abytes)(_);let{view:$,buffer:eA,blockLen:gA}=this,oA=_.length;for(let aA=0;aA<oA;){let cA=Math.min(gA-this.pos,oA-aA);if(cA===gA){let uA=(0,Pt.createView)(_);for(;gA<=oA-aA;aA+=gA)this.process(uA,aA);continue}eA.set(_.subarray(aA,aA+cA),this.pos),this.pos+=cA,aA+=cA,this.pos===gA&&(this.process($,0),this.pos=0)}return this.length+=_.length,this.roundClean(),this}digestInto(_){(0,Pt.aexists)(this),(0,Pt.aoutput)(_,this),this.finished=!0;let{buffer:$,view:eA,blockLen:gA,isLE:oA}=this,{pos:aA}=this;$[aA++]=128,(0,Pt.clean)(this.buffer.subarray(aA)),this.padOffset>gA-aA&&(this.process(eA,0),aA=0);for(let CA=aA;CA<gA;CA++)$[CA]=0;ln(eA,gA-8,BigInt(this.length*8),oA),this.process(eA,0);let cA=(0,Pt.createView)(_),uA=this.outputLen;if(uA%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let yA=uA/4,EA=this.get();if(yA>EA.length)throw new Error("_sha2: outputLen bigger than state");for(let CA=0;CA<yA;CA++)cA.setUint32(4*CA,EA[CA],oA)}digest(){let{buffer:_,outputLen:$}=this;this.digestInto(_);let eA=_.slice(0,$);return this.destroy(),eA}_cloneInto(_){_||(_=new this.constructor),_.set(...this.get());let{blockLen:$,buffer:eA,length:gA,finished:oA,destroyed:aA,pos:cA}=this;return _.destroyed=aA,_.finished=oA,_.length=gA,_.pos=cA,gA%$&&_.buffer.set(eA),_}clone(){return this._cloneInto()}};Ct.HashMD=rr;Ct.SHA256_IV=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);Ct.SHA224_IV=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);Ct.SHA384_IV=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);Ct.SHA512_IV=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});var On=it(YA=>{"use strict";HA();Object.defineProperty(YA,"__esModule",{value:!0});YA.toBig=YA.shrSL=YA.shrSH=YA.rotrSL=YA.rotrSH=YA.rotrBL=YA.rotrBH=YA.rotr32L=YA.rotr32H=YA.rotlSL=YA.rotlSH=YA.rotlBL=YA.rotlBH=YA.add5L=YA.add5H=YA.add4L=YA.add4H=YA.add3L=YA.add3H=void 0;YA.add=Rn;YA.fromBig=nr;YA.split=pn;var t0=BigInt(2**32-1),gr=BigInt(32);function nr(X,_=!1){return _?{h:Number(X&t0),l:Number(X>>gr&t0)}:{h:Number(X>>gr&t0)|0,l:Number(X&t0)|0}}function pn(X,_=!1){let $=X.length,eA=new Uint32Array($),gA=new Uint32Array($);for(let oA=0;oA<$;oA++){let{h:aA,l:cA}=nr(X[oA],_);[eA[oA],gA[oA]]=[aA,cA]}return[eA,gA]}var Dn=(X,_)=>BigInt(X>>>0)<<gr|BigInt(_>>>0);YA.toBig=Dn;var bn=(X,_,$)=>X>>>$;YA.shrSH=bn;var wn=(X,_,$)=>X<<32-$|_>>>$;YA.shrSL=wn;var xn=(X,_,$)=>X>>>$|_<<32-$;YA.rotrSH=xn;var Sn=(X,_,$)=>X<<32-$|_>>>$;YA.rotrSL=Sn;var Gn=(X,_,$)=>X<<64-$|_>>>$-32;YA.rotrBH=Gn;var Hn=(X,_,$)=>X>>>$-32|_<<64-$;YA.rotrBL=Hn;var mn=(X,_)=>_;YA.rotr32H=mn;var Fn=(X,_)=>X;YA.rotr32L=Fn;var Nn=(X,_,$)=>X<<$|_>>>32-$;YA.rotlSH=Nn;var Un=(X,_,$)=>_<<$|X>>>32-$;YA.rotlSL=Un;var kn=(X,_,$)=>_<<$-32|X>>>64-$;YA.rotlBH=kn;var Yn=(X,_,$)=>X<<$-32|_>>>64-$;YA.rotlBL=Yn;function Rn(X,_,$,eA){let gA=(_>>>0)+(eA>>>0);return{h:X+$+(gA/2**32|0)|0,l:gA|0}}var Ln=(X,_,$)=>(X>>>0)+(_>>>0)+($>>>0);YA.add3L=Ln;var Mn=(X,_,$,eA)=>_+$+eA+(X/2**32|0)|0;YA.add3H=Mn;var Kn=(X,_,$,eA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0);YA.add4L=Kn;var vn=(X,_,$,eA,gA)=>_+$+eA+gA+(X/2**32|0)|0;YA.add4H=vn;var qn=(X,_,$,eA,gA)=>(X>>>0)+(_>>>0)+($>>>0)+(eA>>>0)+(gA>>>0);YA.add5L=qn;var Jn=(X,_,$,eA,gA,oA)=>_+$+eA+gA+oA+(X/2**32|0)|0;YA.add5H=Jn;var YI={fromBig:nr,split:pn,toBig:Dn,shrSH:bn,shrSL:wn,rotrSH:xn,rotrSL:Sn,rotrBH:Gn,rotrBL:Hn,rotr32H:mn,rotr32L:Fn,rotlSH:Nn,rotlSL:Un,rotlBH:kn,rotlBL:Yn,add:Rn,add3L:Ln,add3H:Mn,add4L:Kn,add4H:vn,add5H:Jn,add5L:qn};YA.default=YI});var jn=it(qA=>{"use strict";HA();Object.defineProperty(qA,"__esModule",{value:!0});qA.sha512_224=qA.sha512_256=qA.sha384=qA.sha512=qA.sha224=qA.sha256=qA.SHA512_256=qA.SHA512_224=qA.SHA384=qA.SHA512=qA.SHA224=qA.SHA256=void 0;var FA=dn(),RA=On(),$A=A0(),RI=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),De=new Uint32Array(64),Gi=class extends FA.HashMD{constructor(_=32){super(64,_,8,!1),this.A=FA.SHA256_IV[0]|0,this.B=FA.SHA256_IV[1]|0,this.C=FA.SHA256_IV[2]|0,this.D=FA.SHA256_IV[3]|0,this.E=FA.SHA256_IV[4]|0,this.F=FA.SHA256_IV[5]|0,this.G=FA.SHA256_IV[6]|0,this.H=FA.SHA256_IV[7]|0}get(){let{A:_,B:$,C:eA,D:gA,E:oA,F:aA,G:cA,H:uA}=this;return[_,$,eA,gA,oA,aA,cA,uA]}set(_,$,eA,gA,oA,aA,cA,uA){this.A=_|0,this.B=$|0,this.C=eA|0,this.D=gA|0,this.E=oA|0,this.F=aA|0,this.G=cA|0,this.H=uA|0}process(_,$){for(let CA=0;CA<16;CA++,$+=4)De[CA]=_.getUint32($,!1);for(let CA=16;CA<64;CA++){let lA=De[CA-15],Z=De[CA-2],fA=(0,$A.rotr)(lA,7)^(0,$A.rotr)(lA,18)^lA>>>3,mA=(0,$A.rotr)(Z,17)^(0,$A.rotr)(Z,19)^Z>>>10;De[CA]=mA+De[CA-7]+fA+De[CA-16]|0}let{A:eA,B:gA,C:oA,D:aA,E:cA,F:uA,G:yA,H:EA}=this;for(let CA=0;CA<64;CA++){let lA=(0,$A.rotr)(cA,6)^(0,$A.rotr)(cA,11)^(0,$A.rotr)(cA,25),Z=EA+lA+(0,FA.Chi)(cA,uA,yA)+RI[CA]+De[CA]|0,mA=((0,$A.rotr)(eA,2)^(0,$A.rotr)(eA,13)^(0,$A.rotr)(eA,22))+(0,FA.Maj)(eA,gA,oA)|0;EA=yA,yA=uA,uA=cA,cA=aA+Z|0,aA=oA,oA=gA,gA=eA,eA=Z+mA|0}eA=eA+this.A|0,gA=gA+this.B|0,oA=oA+this.C|0,aA=aA+this.D|0,cA=cA+this.E|0,uA=uA+this.F|0,yA=yA+this.G|0,EA=EA+this.H|0,this.set(eA,gA,oA,aA,cA,uA,yA,EA)}roundClean(){(0,$A.clean)(De)}destroy(){this.set(0,0,0,0,0,0,0,0),(0,$A.clean)(this.buffer)}};qA.SHA256=Gi;var e0=class extends Gi{constructor(){super(28),this.A=FA.SHA224_IV[0]|0,this.B=FA.SHA224_IV[1]|0,this.C=FA.SHA224_IV[2]|0,this.D=FA.SHA224_IV[3]|0,this.E=FA.SHA224_IV[4]|0,this.F=FA.SHA224_IV[5]|0,this.G=FA.SHA224_IV[6]|0,this.H=FA.SHA224_IV[7]|0}};qA.SHA224=e0;var _n=RA.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(X=>BigInt(X))),LI=_n[0],MI=_n[1],be=new Uint32Array(80),we=new Uint32Array(80),je=class extends FA.HashMD{constructor(_=64){super(128,_,16,!1),this.Ah=FA.SHA512_IV[0]|0,this.Al=FA.SHA512_IV[1]|0,this.Bh=FA.SHA512_IV[2]|0,this.Bl=FA.SHA512_IV[3]|0,this.Ch=FA.SHA512_IV[4]|0,this.Cl=FA.SHA512_IV[5]|0,this.Dh=FA.SHA512_IV[6]|0,this.Dl=FA.SHA512_IV[7]|0,this.Eh=FA.SHA512_IV[8]|0,this.El=FA.SHA512_IV[9]|0,this.Fh=FA.SHA512_IV[10]|0,this.Fl=FA.SHA512_IV[11]|0,this.Gh=FA.SHA512_IV[12]|0,this.Gl=FA.SHA512_IV[13]|0,this.Hh=FA.SHA512_IV[14]|0,this.Hl=FA.SHA512_IV[15]|0}get(){let{Ah:_,Al:$,Bh:eA,Bl:gA,Ch:oA,Cl:aA,Dh:cA,Dl:uA,Eh:yA,El:EA,Fh:CA,Fl:lA,Gh:Z,Gl:fA,Hh:mA,Hl:kA}=this;return[_,$,eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA]}set(_,$,eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA){this.Ah=_|0,this.Al=$|0,this.Bh=eA|0,this.Bl=gA|0,this.Ch=oA|0,this.Cl=aA|0,this.Dh=cA|0,this.Dl=uA|0,this.Eh=yA|0,this.El=EA|0,this.Fh=CA|0,this.Fl=lA|0,this.Gh=Z|0,this.Gl=fA|0,this.Hh=mA|0,this.Hl=kA|0}process(_,$){for(let bA=0;bA<16;bA++,$+=4)be[bA]=_.getUint32($),we[bA]=_.getUint32($+=4);for(let bA=16;bA<80;bA++){let zA=be[bA-15]|0,At=we[bA-15]|0,GA=RA.rotrSH(zA,At,1)^RA.rotrSH(zA,At,8)^RA.shrSH(zA,At,7),pA=RA.rotrSL(zA,At,1)^RA.rotrSL(zA,At,8)^RA.shrSL(zA,At,7),OA=be[bA-2]|0,JA=we[bA-2]|0,ct=RA.rotrSH(OA,JA,19)^RA.rotrBH(OA,JA,61)^RA.shrSH(OA,JA,6),Et=RA.rotrSL(OA,JA,19)^RA.rotrBL(OA,JA,61)^RA.shrSL(OA,JA,6),ht=RA.add4L(pA,Et,we[bA-7],we[bA-16]),Kt=RA.add4H(ht,GA,ct,be[bA-7],be[bA-16]);be[bA]=Kt|0,we[bA]=ht|0}let{Ah:eA,Al:gA,Bh:oA,Bl:aA,Ch:cA,Cl:uA,Dh:yA,Dl:EA,Eh:CA,El:lA,Fh:Z,Fl:fA,Gh:mA,Gl:kA,Hh:wA,Hl:LA}=this;for(let bA=0;bA<80;bA++){let zA=RA.rotrSH(CA,lA,14)^RA.rotrSH(CA,lA,18)^RA.rotrBH(CA,lA,41),At=RA.rotrSL(CA,lA,14)^RA.rotrSL(CA,lA,18)^RA.rotrBL(CA,lA,41),GA=CA&Z^~CA&mA,pA=lA&fA^~lA&kA,OA=RA.add5L(LA,At,pA,MI[bA],we[bA]),JA=RA.add5H(OA,wA,zA,GA,LI[bA],be[bA]),ct=OA|0,Et=RA.rotrSH(eA,gA,28)^RA.rotrBH(eA,gA,34)^RA.rotrBH(eA,gA,39),ht=RA.rotrSL(eA,gA,28)^RA.rotrBL(eA,gA,34)^RA.rotrBL(eA,gA,39),Kt=eA&oA^eA&cA^oA&cA,Pe=gA&aA^gA&uA^aA&uA;wA=mA|0,LA=kA|0,mA=Z|0,kA=fA|0,Z=CA|0,fA=lA|0,{h:CA,l:lA}=RA.add(yA|0,EA|0,JA|0,ct|0),yA=cA|0,EA=uA|0,cA=oA|0,uA=aA|0,oA=eA|0,aA=gA|0;let Zt=RA.add3L(ct,ht,Pe);eA=RA.add3H(Zt,JA,Et,Kt),gA=Zt|0}({h:eA,l:gA}=RA.add(this.Ah|0,this.Al|0,eA|0,gA|0)),{h:oA,l:aA}=RA.add(this.Bh|0,this.Bl|0,oA|0,aA|0),{h:cA,l:uA}=RA.add(this.Ch|0,this.Cl|0,cA|0,uA|0),{h:yA,l:EA}=RA.add(this.Dh|0,this.Dl|0,yA|0,EA|0),{h:CA,l:lA}=RA.add(this.Eh|0,this.El|0,CA|0,lA|0),{h:Z,l:fA}=RA.add(this.Fh|0,this.Fl|0,Z|0,fA|0),{h:mA,l:kA}=RA.add(this.Gh|0,this.Gl|0,mA|0,kA|0),{h:wA,l:LA}=RA.add(this.Hh|0,this.Hl|0,wA|0,LA|0),this.set(eA,gA,oA,aA,cA,uA,yA,EA,CA,lA,Z,fA,mA,kA,wA,LA)}roundClean(){(0,$A.clean)(be,we)}destroy(){(0,$A.clean)(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};qA.SHA512=je;var i0=class extends je{constructor(){super(48),this.Ah=FA.SHA384_IV[0]|0,this.Al=FA.SHA384_IV[1]|0,this.Bh=FA.SHA384_IV[2]|0,this.Bl=FA.SHA384_IV[3]|0,this.Ch=FA.SHA384_IV[4]|0,this.Cl=FA.SHA384_IV[5]|0,this.Dh=FA.SHA384_IV[6]|0,this.Dl=FA.SHA384_IV[7]|0,this.Eh=FA.SHA384_IV[8]|0,this.El=FA.SHA384_IV[9]|0,this.Fh=FA.SHA384_IV[10]|0,this.Fl=FA.SHA384_IV[11]|0,this.Gh=FA.SHA384_IV[12]|0,this.Gl=FA.SHA384_IV[13]|0,this.Hh=FA.SHA384_IV[14]|0,this.Hl=FA.SHA384_IV[15]|0}};qA.SHA384=i0;var at=Uint32Array.from([2352822216,424955298,1944164710,2312950998,502970286,855612546,1738396948,1479516111,258812777,2077511080,2011393907,79989058,1067287976,1780299464,286451373,2446758561]),Bt=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]),r0=class extends je{constructor(){super(28),this.Ah=at[0]|0,this.Al=at[1]|0,this.Bh=at[2]|0,this.Bl=at[3]|0,this.Ch=at[4]|0,this.Cl=at[5]|0,this.Dh=at[6]|0,this.Dl=at[7]|0,this.Eh=at[8]|0,this.El=at[9]|0,this.Fh=at[10]|0,this.Fl=at[11]|0,this.Gh=at[12]|0,this.Gl=at[13]|0,this.Hh=at[14]|0,this.Hl=at[15]|0}};qA.SHA512_224=r0;var g0=class extends je{constructor(){super(32),this.Ah=Bt[0]|0,this.Al=Bt[1]|0,this.Bh=Bt[2]|0,this.Bl=Bt[3]|0,this.Ch=Bt[4]|0,this.Cl=Bt[5]|0,this.Dh=Bt[6]|0,this.Dl=Bt[7]|0,this.Eh=Bt[8]|0,this.El=Bt[9]|0,this.Fh=Bt[10]|0,this.Fl=Bt[11]|0,this.Gh=Bt[12]|0,this.Gl=Bt[13]|0,this.Hh=Bt[14]|0,this.Hl=Bt[15]|0}};qA.SHA512_256=g0;qA.sha256=(0,$A.createHasher)(()=>new Gi);qA.sha224=(0,$A.createHasher)(()=>new e0);qA.sha512=(0,$A.createHasher)(()=>new je);qA.sha384=(0,$A.createHasher)(()=>new i0);qA.sha512_256=(0,$A.createHasher)(()=>new g0);qA.sha512_224=(0,$A.createHasher)(()=>new r0)});var Tn=it(Vt=>{"use strict";HA();Object.defineProperty(Vt,"__esModule",{value:!0});Vt.sha224=Vt.SHA224=Vt.sha256=Vt.SHA256=void 0;var n0=jn();Vt.SHA256=n0.SHA256;Vt.sha256=n0.sha256;Vt.SHA224=n0.SHA224;Vt.sha224=n0.sha224});var Pn=it(Wt=>{"use strict";HA();var KI=Wt&&Wt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var gA=Object.getOwnPropertyDescriptor(_,$);(!gA||("get"in gA?!_.__esModule:gA.writable||gA.configurable))&&(gA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,gA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),vI=Wt&&Wt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),qI=Wt&&Wt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var gA in $)Object.prototype.hasOwnProperty.call($,gA)&&(eA[eA.length]=gA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),gA=0;gA<eA.length;gA++)eA[gA]!=="default"&&KI($,_,eA[gA]);return vI($,_),$}})();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.BsvEcdsaSuite=void 0;var Bi=qI((an(),fi(sn))),JI=yn(),OI=Tn(),o0=pi();Bi.etc.hmacSha256Sync=(X,..._)=>(0,JI.hmac)(OI.sha256,X,Bi.etc.concatBytes(..._));var or=class{constructor(){dA(this,"suiteId","bsv-ecdsa-secp256k1");dA(this,"version","1.0.0")}async generateKeypair(){let _=Bi.utils.randomPrivateKey(),$=Bi.getPublicKey(_,!0);return{privateKey:_,publicKey:$}}async sign(_,$){try{return(await Bi.sign($,_)).toCompactRawBytes()}catch(eA){throw new Error(`BsvEcdsaSuite signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return Bi.verify(eA,$,_)}catch{return!1}}exportPublicKey(_){return(0,o0.bytesToHex)(_)}importPublicKey(_){return(0,o0.hexToBytes)(_)}exportPrivateKey(_){return(0,o0.bytesToHex)(_)}importPrivateKey(_){let $=(0,o0.hexToBytes)(_);if($.length!==32)throw new Error("Private key must be 32 bytes");return $}};Wt.BsvEcdsaSuite=or});var Vn=it((exports,module)=>{HA();var dilithium=(function(){var A,I,g,C={};function B(X,_){if(X===0)return _;throw new Error("Dilithium error: "+X)}function Q(X,_){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,X,_))}function i(X){try{C._free(X)}catch(_){setTimeout((function(){throw _}),0)}}C.ready=new Promise((function(A,I){function g(X){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},g(X)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(X){I(X)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(X,_){throw _},o=(typeof window>"u"?"undefined":g(window))=="object",n=typeof importScripts=="function",r=(typeof process>"u"?"undefined":g(process))=="object"&&g(process.versions)=="object"&&typeof process.versions.node=="string",t="";if(r){var a=eval("require")("fs"),e=eval("require")("path");t=n?e.dirname(t)+"/":__dirname+"/",C=function(X,_){var $=x(X);return $?_?$:$.toString():(X=q(X)?new URL(X):e.normalize(X),a.readFileSync(X,_?void 0:"utf8"))},B=function(X){var _=C(X,!0);return _.buffer||(_=new Uint8Array(_)),_},!Q.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=Q),process.on("uncaughtException",(function(X){if(!(X==="unwind"||X instanceof p||X.context instanceof p))throw X})),E=function(X,_){throw process.exitCode=X,_},Q.inspect=function(){return"[Emscripten Module object]"}}else(o||n)&&(n?t=self.location.href:typeof document<"u"&&document.currentScript&&(t=document.currentScript.src),t=t.indexOf("blob:")!==0?t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=x(X);if($)return(function(gA){for(var oA=[],aA=0;aA<gA.length;aA++){var cA=gA[aA];cA>255&&(cA&=255),oA.push(String.fromCharCode(cA))}return oA.join("")})($);throw eA}},n&&(B=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=x(X);if($)return $;throw eA}}));Q.print||console.log.bind(console);var f,D=Q.printErr||console.error.bind(console);Object.assign(Q,i),i=null,Q.arguments&&Q.arguments,Q.thisProgram&&Q.thisProgram,Q.quit&&(E=Q.quit),Q.wasmBinary&&(f=Q.wasmBinary);var c,G=Q.noExitRuntime||!0;(typeof WebAssembly>"u"?"undefined":g(WebAssembly))!="object"&&U("no native wasm support detected");var h,y,u,s,F=!1,Y=[],N=[],w=[],S=0,k=null,H=null;function U(X){throw Q.onAbort&&Q.onAbort(X),D(X="Aborted("+X+")"),F=!0,X+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(X)}var R,d,M="data:application/octet-stream;base64,";function J(X){return X.startsWith(M)}function q(X){return X.startsWith("file://")}function l(X){return Promise.resolve().then((function(){return(function(_){if(_==R&&f)return new Uint8Array(f);var $=x(_);if($)return $;if(B)return B(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function m(X,_,$,eA){return(function(gA,oA,aA){return l(gA).then((function(cA){return WebAssembly.instantiate(cA,oA)})).then((function(cA){return cA})).then(aA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(_,$,eA)}J(R="data:application/octet-stream;base64,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aiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQcwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQdwAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQeQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQegAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQShyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQewAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQSxyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfAAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTByaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfQAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfgAcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQThyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQfwAcmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQTxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEFA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgBUECdCIDQSByaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBJHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EEcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EocmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQhyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQSxyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBDHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBMHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EQcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0E0cmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQRRyaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQThyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBGHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBPHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EccmoiAygCACIBIAJrNgIAIAMgASACajYCACAFQfABSSEDIAVBEGohBSADDQALQQAhBQNAIAZBAWoiBkECdEGgCmo0AgAiByAAIAVBAnQiA0EQcmoiATQCAH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADaiIBKAIAIgQgAms2AgAgASACIARqNgIAIAcgACADQRRyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIANBBHJqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIANBGHJqIgE0AgB+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgA0EIcmoiASgCACIEIAJrNgIAIAEgAiAEajYCACAHIAAgA0EccmoiATQCAH4iByAHQoCAgICQgIjAA35CIIdC/7+AfH58QiCIpyECIAEgACADQQxyaiIDKAIAIgEgAms2AgAgAyABIAJqNgIAIAVB+AFJIQMgBUEIaiEFIAMNAAtBACEDA0AgBkEBaiIGQQJ0QaAKajQCACIHIAAgA0ECdCIFQQhyaiIBNAIAfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIinIQIgASAAIAVqIgEoAgAiBCACazYCACABIAIgBGo2AgAgByAAIAVBDHJqIgE0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchAiABIAAgBUEEcmoiBSgCACIBIAJrNgIAIAUgASACajYCACADQfwBSSEFIANBBGohAyAFDQALQQAhAwNAIAAgA0ECdCICQQRyaiIBNAIAIAZBAWoiBkECdEGgCmo0AgB+IgcgB0KAgICAkICIwAN+QiCHQv+/gHx+fEIgiKchBSABIAAgAmoiAigCACIBIAVrNgIAIAIgASAFajYCACADQf4BSSEFIANBAmohAyAFDQALC4oCAQp/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0A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IgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQQxyaiIBIAAgA0HMAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EQcmoiASAAIANB0AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBFHJqIgEgACADQdQAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQRhyaiIBIAAgA0HYAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EccmoiASAAIANB3AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBIHJqIgEgACADQeAAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQSRyaiIBIAAgA0HkAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EocmoiASAAIANB6AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBLHJqIgEgACADQewAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTByaiIBIAAgA0HwAHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0E0cmoiASAAIANB9AByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBOHJqIgEgACADQfgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACADQTxyaiICIAAgA0H8AHJqIgMoAgAiASACKAIAIgJqNgIAIAMgAiABayICNgIAIAMgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB4AFJIQMgBUEgaiEFIAMNAAtBACEDQQAgBEECdEGYCmooAgBrrCEJA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0EgRw0AC0EAIARBAnRBlApqKAIAa6whCUHAACEDA0AgACADQQJ0aiIGIAYoAoABIgUgBigCACICajYCACAGIAIgBWsiBTYCgAEgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoABIANBAWoiA0HgAEcNAAtBACAEQQJ0QZAKaigCAGusIQlBgAEhAwNAIAAgA0ECdGoiBiAGKAKAASIFIAYoAgAiAmo2AgAgBiACIAVrIgU2AoABIAYgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKAASADQQFqIgNBoAFHDQALQQAgBEECdEGMCmooAgBrrCEJQcABIQMDQCAAIANBAnRqIgYgBigCgAEiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAASAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAEgA0EBaiIDQeABRw0AC0EAIQNBACAEQQJ0QYgKaigCAGusIQkDQCAAIANBAnRqIgYgBigCgAIiBSAGKAIAIgJqNgIAIAYgAiAFayIFNgKAAiAGIAWsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CgAIgA0EBaiIDQcAARw0AC0EAIARBAnRBhApqKAIAa6whCUGAASEDA0AgACADQQJ0aiIGIAYoAoACIgUgBigCACICajYCACAGIAIgBWsiBTYCgAIgBiAFrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AoACIANBAWoiA0HAAUcNAAtBACEDQQAgBEECdEGACmooAgBrrCEJQQAhBgNAIAAgBkECdGoiBCAEKAKABCIFIAQoAgAiAmo2AgAgBCACIAVrIgU2AoAEIAQgBawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgKABCAGQQFqIgZBgAFHDQALA0AgACADQQJ0aiIGIAY0AgBC+scCfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgA0EBaiIDQYACRw0ACwsQACAAKAIAQYgBIAEgAhA6C8kCAgd/A34gAigCACEDAn9BACABRQ0AGiABrSEMA0AgCqciAiAKIAMpA8gBIgtaDQEaIAAgAmogAyAKIAt9IgunQYgBakF4cWopAwAgC0IDhog8AAAgCkIBfCIKIAxSDQALIAELIQIgAyADKQPIASACrX03A8gBIAEgAmsiBQRAIAAgAmohAANAIAMQJUGIASAFIAVBiAFPGyIEQQFxIQZBACECIARBAUcEQCAEQf4BcSEHQQAhAQNAIAAgAmogAyACQXhxaiIIKQMAIAJBA3RBMHGtiDwAACAAIAJBAXIiCWogCCkDACAJQQN0QThxrYg8AAAgAkECaiECIAFBAmoiASAHRw0ACwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBiAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwsJACAAKAIAECoLrgEBAX8jAEGACGsiAyQAIAAgASACEAUgAyABQYAIaiACQYAIahAFIAAgACADEAYgAyABQYAQaiACQYAQahAFIAAgACADEAYgAyABQYAYaiACQYAYahAFIAAgACADEAYgAyABQYAgaiACQYAgahAFIAAgACADEAYgAyABQYAoaiACQYAoahAFIAAgACADEAYgAyABQYAwaiACQYAwahAFIAAgACADEAYgA0GACGokAAtVAQJ/A0Ag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CwsgBgRAIAAgAmogAyACQXhxaikDACACQQN0QThxrYg8AAALIANBqAEgBGutNwPIASAAIARqIQAgBSAEayIFDQALCwtsAQF/QQEhAgJAIAAgARALDQAgAEGACGogARALDQAgAEGAEGogARALDQAgAEGAGGogARALDQAgAEGAIGogARALDQAgAEGAKGogARALDQAgAEGAMGogARALDQAgAEGAOGogARALQQBHIQILIAILlgEAIAAgASACEBwgAEGACGogAUGACGogAkGACGoQHCAAQYAQaiABQYAQaiACQYAQahAcIABBgBhqIAFBgBhqIAJBgBhqEBwgAEGAIGogAUGAIGogAkGAIGoQHCAAQYAoaiABQYAoaiACQYAoahAcIABBgDBqIAFBgDBqIAJBgDBqEBwgAEGAOGogAUGAOGogAkGAOGoQHAuWAQAgACABIAIQBiAAQYAIaiABQYAIaiACQYAIahAGIABBgBBqIAFBgBBqIAJBgBBqEAYgAEGAGGogAUGAGGogAkGAGGoQBiAAQYAgaiABQYAgaiACQYAgahAGIABBgChqIAFBgChqIAJBgChqEAYgAEGAMGogAUGAMGogAkGAMGoQBiAAQYA4aiABQYA4aiACQYA4ahAGC24BAX9BASEBAkAgAEGI/x8QCw0AIABBgAhqQYj/HxALDQAgAEGAEGpBiP8fEAsNACAAQYAYakGI/x8QCw0AIABBgCBqQYj/HxALDQAgAEGAKGpBiP8fEAsNACAAQYAwakGI/x8QC0EARyEBCyABC4EDAgd+AX8gAa0iBiAAKQPIASIEIAOtIgh8WARAA0BBACELQgAhBSABIASnRwRAA0AgACAEIAV8IgSnQXhxaiILIAspAwAgAiAFp2oxAAAgBEIDhoaFNwMAIAVCAXwiBSABIAApA8gBIgSnayILrVQNAAsLIABCADcDyAEgABAlIAIgC2ohAiAAKQPIASIEIAMgC2siA60iCHwgBloNAAsLIAAgAwR+IAOtIgRCAYMhBkIAIQUgA0EBRwRAIARC/v///w+DIQlCACEEA0AgACAAKQPIASAFfCIHp0F4cWoiASABKQMAIAIgBadqMQAAIAdCA4aGhTcDACAAIAVCAYQiByAAKQPIAXwiCqdBeHFqIgEgASkDACACIAenajEAACAKQgOGhoU3AwAgBUICfCEFIARCAnwiBCAJUg0ACwsgBqcEQCAAIAApA8gBIAV8IgSnQXhxaiIBIAEpAwAgAiAFp2oxAAAgBEIDhoaFNwMACyAAKQPIAQUgBAsgCHw3A8gBC9IBAgN/AX4jAEGgAWsiAyQAIANBDGoiAhAhIAIgAUEgEA4gAhAiIANBEGpBiAEgAhAPIAMpAxAhBSAAQYAIECQhBEHEASEAQQghAQNAIAFBiAFPBEAgA0EQakGIASADQQxqEA9BACEBCyADQRBqIAFqIQIgAUEBaiEBIAAgAi0AACICSQ0AIAQgAEECdGogBCACQQJ0aiICKAIANgIAIAJBASAFp0EBdEECcWs2AgAgBUIBiCEFIABBAWoiAEGAAkcNAAsgA0EMahAQIANBoAFqJAALEAAgACgCAEGoASABIAIQOgvqEAELfyACQQJqIQYgAi8BACECIAMhBSMAQbDJBWsiBCQAQX8hDAJAIAJB8yNHDQAgBEGQwQVqIgIgBS0AADoAACACIAUtAAE6AAEgAiAFLQACOgACIAIgBS0AAzoAAyACIAUtAAQ6AAQgAiAFLQAFOgAFIAIgBS0ABjoABiACIAUtAAc6AAcgAiAFLQAIOgAIIAIgBS0ACToACSACIAUtAAo6AAogAiAFLQALOgALIAIgBS0ADDoADCACIAUtAA06AA0gAiAFLQAOOgAOIAIgBS0ADzoADyACIAUtABA6ABAgAiAFLQAROgARIAIgBS0AEjoAEiACIAUtABM6ABMgAiAFLQAUOgAUIAIgBS0AFToAFSACIAUtABY6ABYgAiAFLQAXOgAXIAIgBS0AGDoAGCACIAUtABk6ABkgAiAFLQAaOgAaIAIgBS0AGzoAGyACIAUtABw6ABwgAiAFLQAdOgAdIAIgBS0AHjoAHiACIAUtAB86AB8gBEGQgAFqIgIgBUEgahAVIAJBgAhqIAVB4AJqEBUgAkGAEGogBUGgBWoQFSACQYAYaiAFQeAHahAVIAJBgCBqIAVBoApqEBUgAkGAKGogBUHgDGoQFSACQYAwaiAFQaAPahAVIAJBgDhqIAVB4BFqEBUgBEEQaiEHIARBsMAFaiICIAYtAAA6AAAgAiAGLQABOgABIAIgBi0AAjoAAiACIAYtAAM6AAMgAiAGLQAEOgAEIAIgBi0ABToABSACIAYtAAY6AAYgAiAGLQAHOgAHIAIgBi0ACDoACCACIAYtAAk6AAkgAiAGLQAKOgAKIAIgBi0ACzoACyACIAYtAAw6AAwgAiAGLQANOgANIAIgBi0ADjoADiACIAYtAA86AA8gAiAGLQAQOgAQIAIgBi0AEToAESACIAYtABI6ABIgAiAGLQATOgATIAIgBi0AFDoAFCACIAYtABU6ABUgAiAGLQAWOgAWIAIgBi0AFzoAFyACIAYtABg6ABggAiAGLQAZOgAZIAIgBi0AGjoAGiACIAYtABs6ABsgAiAGLQAcOgAcIAIgBi0AHToAHSACIAYtAB46AB4gAiAGLQAfOgAfIARBkMABaiICIAZBIGoQHyACQYAIaiAGQaAFahAfIAJBgBBqIAZBoApqEB8gAkGAGGogBkGgD2oQHyACQYAgaiAGQaAUahAfIAJBgChqIAZBoBlqEB8gAkGAMGogBkGgHmoQHyAGQaAjaiEJQQEhC0EAIQMCQANAIAMhAiAHIAhBCnRqQYAIECQhDSAIIAlqIg4tAEsiA0HLAEsNASACIANLDQECQCACIANPDQAgDSACIAlqLQAAQQJ0akEBNgIAIAJBAWoiCiAOLQBLIgNPDQADQCAJIApqIgMtAAAhBiACIApJBEAgBiADQQFrLQAATQ0ECyANIAZBAnRqQQE2AgAgCkEBaiIKIA4tAEsiA0kNAAsLIAhBAWoiCEEIRw0AC0EAIQsgA0HLAE8NAANAIAMgCWotAABFBEAgA0EBaiIDQcsARw0BDAILC0EBIQsLIAsNACAEQZDAAWoQOQ0AIARB0MAFaiIDQSAgBUGgFBApIARBDGoiBRAhIAUgA0EgEA4gBSAAIAEQDiAFECIgA0HAACAFEA8gBRAQIARBkLgFaiICIARBsMAFahA7IARBkPgBaiIBIARBkMEFahAxIARBkMABaiIAECggBEGQwABqIgcgASAAEDAgAhAHIARBkIABaiIAEBsgAEGACGoQGyAAQYAQahAbIABBgBhqEBsgAEGAIGoQGyAAQYAoahAbIABBgDBqEBsgAEGAOGoQGyAAEC4gACACIAAQLSAHIAcgABA3IAcQJyAHECYgBxAvIAcgByAEQRBqIgEQFyAHQYAIaiIAIAAgAUGACGoQFyAHQYAQaiIAIAAgAUGAEGoQFyAHQYAYaiIAIAAgAUGAGGoQFyAHQYAgaiIAIAAgAUGAIGoQFyAHQYAoaiIAIAAgAUGAKGoQFyAHQYAwaiIAIAAgAUGAMGoQFyAHQYA4aiIAIAAgAUGAOGoQFyAEQbDBBWoiACAHEDQgBRAhIAUgA0HAABAOIAUgAEGACBAOIAUQIiAEQZDABWpBICAFEA8gBRAQIAQtALDABSAELQCQwAVHDQAgBC0AscAFIAQtAJHABUcNACAELQCywAUgBC0AksAFRw0AIAQtALPABSAELQCTwAVHDQAgBC0AtMAFIAQtAJTABUcNACAELQC1wAUgBC0AlcAFRw0AIAQtALbABSAELQCWwAVHDQAgBC0At8AFIAQtAJfABUcNACAELQC4wAUgBC0AmMAFRw0AIAQtALnABSAELQCZwAVHDQAgBC0AusAFIAQtAJrABUcNACAELQC7wAUgBC0Am8AFRw0AIAQtALzABSAELQCcwAVHDQAgBC0AvcAFIAQtAJ3ABUcNACAELQC+wAUgBC0AnsAFRw0AIAQtAL/ABSAELQCfwAVHDQAgBC0AwMAFIAQtAKDABUcNACAELQDBwAUgBC0AocAFRw0AIAQtAMLABSAELQCiwAVHDQAgBC0Aw8AFIAQtAKPABUcNACAELQDEwAUgBC0ApMAFRw0AIAQtAMXABSAELQClwAVHDQAgBC0AxsAFIAQtAKbABUcNACAELQDHwAUgBC0Ap8AFRw0AIAQtAMjABSAELQCowAVHDQAgBC0AycAFIAQtAKnABUcNACAELQDKwAUgBC0AqsAFRw0AIAQtAMvABSAELQCrwAVHDQAgBC0AzMAFIAQtAKzABUcNACAELQDNwAUgBC0ArcAFRw0AIAQtAM7ABSAELQCuwAVHDQBBf0EAIAQtAM/ABSAELQCvwAVHGyEMCyAEQbDJBWokACAMC4sdARN/IwBBEGsiDiQAIABBAmohBSMAQfCxB2siByQAIAdBkLAHaiIGIgQgAy0AADoAACAEIAMtAAE6AAEgBCADLQACOgACIAQgAy0AAzoAAyAEIAMtAAQ6AAQgBCADLQAFOgAFIAQgAy0ABjoABiAEIAMtAAc6AAcgBCADLQAIOgAIIAQgAy0ACToACSAEIAMtAAo6AAogBCADLQALOgALIAQgAy0ADDoADCAEIAMtAA06AA0gBCADLQAOOgAOIAQgAy0ADzoADyAEIAMtABA6ABAgBCADLQAROgARIAQgAy0AEjoAEiAEIAMtABM6ABMgBCADLQAUOgAUIAQgAy0AFToAFSAEIAMtABY6ABYgBCADLQAXOgAXIAQgAy0AGDoAGCAEIAMtABk6ABkgBCADLQAaOgAaIAQgAy0AGzoAGyAEIAMtABw6ABwgBCADLQAdOgAdIAQgAy0AHjoAHiAEIAMtAB86AB8gB0HQsAdqIgkiBCADLQAgOgAAIAQgAy0AIToAASAEIAMtACI6AAIgBCADLQAjOgADIAQgAy0AJDoABCAEIAMtACU6AAUgBCADLQAmOgAGIAQgAy0AJzoAByAEIAMtACg6AAggBCADLQApOgAJIAQgAy0AKjoACiAEIAMtACs6AAsgBCADLQAsOgAMIAQgAy0ALToADSAEIAMtAC46AA4gBCADLQAvOgAPIAQgAy0AMDoAECAEIAMtADE6ABEgBCADLQAyOgASIAQgAy0AMzoAEyAEIAMtADQ6ABQgBCADLQA1OgAVIAQgAy0ANjoAFiAEIAMtADc6ABcgBCADLQA4OgAYIAQgAy0AOToAGSAEIAMtADo6ABogBCADLQA7OgAbIAQgAy0APDoAHCAEIAMtAD06AB0gBCADLQA+OgAeIAQgAy0APzoAHyAHQbCwB2oiCCIEIAMtAEA6AAAgBCADLQBBOgABIAQgAy0AQjoAAiAEIAMtAEM6AAMgBCADLQBEOgAEIAQgAy0ARToABSAEIAMtAEY6AAYgBCADLQBHOgAHIAQgAy0ASDoACCAEIAMtAEk6AAkgBCADLQBKOgAKIAQgAy0ASzoACyAEIAMtAEw6AAwgBCADLQBNOgANIAQgAy0ATjoADiAEIAMtAE86AA8gBCADLQBQOgAQIAQgAy0AUToAESAEIAMtAFI6ABIgBCADLQBTOgATIAQgAy0AVDoAFCAEIAMtAFU6ABUgBCADLQBWOgAWIAQgAy0AVzoAFyAEIAMtAFg6ABggBCADLQBZOgAZIAQgAy0AWjoAGiAEIAMtAFs6ABsgBCADLQBcOgAcIAQgAy0AXToAHSAEIAMtAF46AB4gBCADLQBfOgAfIAdBkLgDaiIKIgQgA0HgAGoQCCAEQYAIaiADQcABahAIIARBgBBqIANBoAJqEAggBEGAGGogA0GAA2oQCCAEQYAgaiADQeADahAIIARBgChqIANBwARqEAggBEGAMGogA0GgBWoQCCAHQZDIAWoiCyIEIANBgAZqEAggBEGACGogA0HgBmoQCCAEQYAQaiADQcAHahAIIARBgBhqIANBoAhqEAggBEGAIGogA0GACWoQCCAEQYAoaiADQeAJahAIIARBgDBqIANBwApqEAggBEGAOGogA0GgC2oQCCAHQZCIAmoiBCADQYAMahATIARBgAhqIANBoA9qEBMgBEGAEGogA0HAEmoQEyAEQYAYaiADQeAVahATIARBgCBqIANBgBlqEBMgBEGAKGogA0GgHGoQEyAEQYAwaiADQcAfahATIARBgDhqIANB4CJqEBMgB0EMaiIDECEgAyAIQSAQDiADIAEgAhAOIAMQIiAHQfCwB2oiEEHAACADEA8gAxAQIAdBsLEHaiIIQcAAIAlB4AAQKSAHQZDwA2ogBhAxIAoQKCALEC4gBBAuA0AgB0GQgANqIgMgCCAPQf//A3FBB2wiAUH//wNxECAgA0GACGoiESAIIAFBAWpB//8DcRAgIANBgBBqIhIgCCABQQJqQf//A3EQICADQYAYaiITIAggAUEDakH//wNxECAgA0GAIGoiFCAIIAFBBGpB//8DcRAgIANBgChqIhUgCCABQQVqQf//A3EQICADQYAwaiIWIAggAUEGakH//wNxECAgB0GQyAJqIgEgA0GAOBAsIAEQKCAHQZCIAWoiAiAHQZDwA2ogARAwIAIQJyACECYgAhAvIAIgB0GQyABqIgQgAhAZIAJBgAhqIgYgBEGACGogBhAZIAJBgBBqIgYgBEGAEGogBhAZIAJBgBhqIgYgBEGAGGogBhAZIAJBgCBqIgYgBEGAIGogBhAZIAJBgChqIgYgBEGAKGogBhAZIAJBgDBqIgYgBEGAMGogBhAZIAJBgDhqIgYgBEGAOGogBhAZIAUgAhA0IAdBDGoiAhAhIAIgEEHAABAOIAIgBUGACBAOIAIQIiAFQSAgAhAPIAIQECAHQRBqIgIgBRA7IA9BAWohDyACEAcgASACIAdBkLgDaiIEEAUgAUGACGoiBiACIARBgAhqEAUgAUGAEGoiCSACIARBgBBqEAUgAUGAGGoiCiACIARBgBhqEAUgAUGAIGoiCyACIARBgCBqEAUgAUGAKGoiDCACIARBgChqEAUgAUGAMGoiDSACIARBgDBqEAUgARANIAYQDSAJEA0gChANIAsQDSAMEA0gDRANIAEgASADEAYgBiAGIBEQBiAJIAkgEhAGIAogCiATEAYgCyALIBQQBiAMIAwgFRAGIA0gDSAWEAYgARAMIAYQDCAJEAwgChAMIAsQDCAMEAwgDRAMIAEQOQ0AIAdBkAhqIgIgB0EQaiAHQZDIAWoQLSACECYgB0GQyABqIgEgASACEDcgARAnIAFBiP0PEDYNACAHQZAIaiIBIAdBEGogB0GQiAJqEC0gARAmIAEQJyABQYD+DxA2DQAgB0GQyABqIgEgASAHQZAIaiICEDggAiABIAdBkIgBaiIDEBghBCACQYAIaiABQYAIaiADQYAIahAYIQYgAkGAEGogAUGAEGogA0GAEGoQGCEJIAJBgBhqIAFBgBhqIANBgBhqEBghCiACQYAgaiABQYAgaiADQYAgahAYIQsgAkGAKGogAUGAKGogA0GAKGoQGCEMIAJBgDBqIAFBgDBqIANBgDBqEBghDSACQYA4aiABQYA4aiADQYA4ahAYIA0gDCALIAogCSAEIAZqampqampqQcsASw0ACyAHQZAIaiEEIAUgBS0AADoAACAFIAUtAAE6AAEgBSAFLQACOgACIAUgBS0AAzoAAyAFIAUtAAQ6AAQgBSAFLQAFOgAFIAUgBS0ABjoABiAFIAUtAAc6AAcgBSAFLQAIOgAIIAUgBS0ACToACSAFIAUtAAo6AAogBSAFLQALOgALIAUgBS0ADDoADCAFIAUtAA06AA0gBSAFLQAOOgAOIAUgBS0ADzoADyAFIAUtABA6ABAgBSAFLQAROgARIAUgBS0AEjoAEiAFIAUtABM6ABMgBSAFLQAUOgAUIAUgBS0AFToAFSAFIAUtABY6ABYgBSAFLQAXOgAXIAUgBS0AGDoAGCAFIAUtABk6ABkgBSAFLQAaOgAaIAUgBS0AGzoAGyAFIAUtABw6ABwgBSAFLQAdOgAdIAUgBS0AHjoAHiAFIAUtAB86AB8gBUEgaiAHQZDIAmoiARAeIAVBoAVqIAFBgAhqEB4gBUGgCmogAUGAEGoQHiAFQaAPaiABQYAYahAeIAVBoBRqIAFBgCBqEB4gBUGgGWogAUGAKGoQHiAFQaAeaiABQYAwahAeQQAhASAFQaAjakHTABAkIQNBACECA0AgBCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAQgAkEBciIIQQJ0aigCAARAIAEgA2ogCDoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDrIyAEQYAIaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7CMgBEGAEGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6AO0jIARBgBhqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDuIyAEQYAgaiEIQQAhAgNAIAggAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAIIAJBAXIiBkECdGooAgAEQCABIANqIAY6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA7yMgBEGAKGohCEEAIQIDQCAIIAJBAnRqKAIABEAgASADaiACOgAAIAFBAWohAQsgCCACQQFyIgZBAnRqKAIABEAgASADaiAGOgAAIAFBAWohAQsgAkECaiICQYACRw0ACyAFIAE6APAjIARBgDBqIQhBACECA0AgCCACQQJ0aigCAARAIAEgA2ogAjoAACABQQFqIQELIAggAkEBciIGQQJ0aigCAARAIAEgA2ogBjoAACABQQFqIQELIAJBAmoiAkGAAkcNAAsgBSABOgDxIyAEQYA4aiEEQQAhAgNAIAQgAkECdGooAgAEQCABIANqIAI6AAAgAUEBaiEBCyAEIAJBAXIiCEECdGooAgAEQCABIANqIAg6AAAgAUEBaiEBCyACQQJqIgJBgAJHDQALIAUgAToA8iMgDkHzIzYCDCAHQfCxB2okACAAIA4oAgw7AQAgDkEQaiQAQQALghEBFH8jAEGg8QVrIgUkACAFQaDwBWohAiMAQRBrIgQkAANAIARBADoADyACIANqQaQSIARBD2pBABABOgAAIANBAWoiA0EgRw0ACyAEQRBqJAAgAkGAASACQSAQKSAFQYCwAmoiCCACEDEgBUGA+AFqIgYiBCAFQcDwBWoiA0EAEAogBEGACGogA0EBEAogBEGAEGogA0ECEAogBEGAGGogA0EDEAogBEGAIGogA0EEEAogBEGAKGogA0EFEAogBEGAMGogA0EGEAogBUGAgAFqIgQgA0EHEAogBEGACGogA0EIEAogBEGAEGogA0EJEAogBEGAGGogA0EKEAogBEGAIGogA0ELEAogBEGAKGogA0EMEAogBEGAMGogA0ENEAogBEGAOGoiDiADQQ4QCiAFQYDAAWoiByAGQYA4ECwgBxAoIAVBgEBrIgMgCCAHEDAgAxAnIAMQJiADIAMgBBA4IAMQLyADIAUgAxAaIANBgAhqIgcgBUGACGoiDyAHEBogA0GAEGoiCCAFQYAQaiIQIAgQGiADQYAYaiIJIAVBgBhqIhEgCRAaIANBgCBqIgogBUGAIGoiEiAKEBogA0GAKGoiCyAFQYAoaiITIAsQGiADQYAwaiIMIAVBgDBqIhQgDBAaIANBgDhqIg0gBUGAOGoiFSANEBogACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAIAItAAg6AAggACACLQAJOgAJIAAgAi0ACjoACiAAIAItAAs6AAsgACACLQAMOgAMIAAgAi0ADToADSAAIAItAA46AA4gACACLQAPOgAPIAAgAi0AEDoAECAAIAItABE6ABEgACACLQASOgASIAAgAi0AEzoAEyAAIAItABQ6ABQgACACLQAVOgAVIAAgAi0AFjoAFiAAIAItABc6ABcgACACLQAYOgAYIAAgAi0AGToAGSAAIAItABo6ABogACACLQAbOgAbIAAgAi0AHDoAHCAAIAItAB06AB0gACACLQAeOgAeIAAgAi0AHzoAHyAAQSBqIAMQFiAAQeACaiAHEBYgAEGgBWogCBAWIABB4AdqIAkQFiAAQaAKaiAKEBYgAEHgDGogCxAWIABBoA9qIAwQFiAAQeARaiANEBYgBUGA8AVqIgNBICAAQaAUECkgASACLQAAOgAAIAEgAi0AAToAASABIAItAAI6AAIgASACLQADOgADIAEgAi0ABDoABCABIAItAAU6AAUgASACLQAGOgAGIAEgAi0ABzoAByABIAItAAg6AAggASACLQAJOgAJIAEgAi0ACjoACiABIAItAAs6AAsgASACLQAMOgAMIAEgAi0ADToADSABIAItAA46AA4gASACLQAPOgAPIAEgAi0AEDoAECABIAItABE6ABEgASACLQASOgASIAEgAi0AEzoAEyABIAItABQ6ABQgASACLQAVOgAVIAEgAi0AFjoAFiABIAItABc6ABcgASACLQAYOgAYIAEgAi0AGToAGSABIAItABo6ABogASACLQAbOgAbIAEgAi0AHDoAHCABIAItAB06AB0gASACLQAeOgAeIAEgAi0AHzoAHyABIAVBgPEFaiIALQAAOgAgIAEgAC0AAToAISABIAAtAAI6ACIgASAALQADOgAjIAEgAC0ABDoAJCABIAAtAAU6ACUgASAALQAGOgAmIAEgAC0ABzoAJyABIAAtAAg6ACggASAALQAJOgApIAEgAC0ACjoAKiABIAAtAAs6ACsgASAALQAMOgAsIAEgAC0ADToALSABIAAtAA46AC4gASAALQAPOgAvIAEgAC0AEDoAMCABIAAtABE6ADEgASAALQASOgAyIAEgAC0AEzoAMyABIAAtABQ6ADQgASAALQAVOgA1IAEgAC0AFjoANiABIAAtABc6ADcgASAALQAYOgA4IAEgAC0AGToAOSABIAAtABo6ADogASAALQAbOgA7IAEgAC0AHDoAPCABIAAtAB06AD0gASAALQAeOgA+IAEgAC0AHzoAPyABIAMtAAA6AEAgASADLQABOgBBIAEgAy0AAjoAQiABIAMtAAM6AEMgASADLQAEOgBEIAEgAy0ABToARSABIAMtAAY6AEYgASADLQAHOgBHIAEgAy0ACDoASCABIAMtAAk6AEkgASADLQAKOgBKIAEgAy0ACzoASyABIAMtAAw6AEwgASADLQANOgBNIAEgAy0ADjoATiABIAMtAA86AE8gASADLQAQOgBQIAEgAy0AEToAUSABIAMtABI6AFIgASADLQATOgBTIAEgAy0AFDoAVCABIAMtABU6AFUgASADLQAWOgBWIAEgAy0AFzoAVyABIAMtABg6AFggASADLQAZOgBZIAEgAy0AGjoAWiABIAMtABs6AFsgASADLQAcOgBcIAEgAy0AHToAXSABIAMtAB46AF4gASADLQAfOgBfIAFB4ABqIAYQCSABQcABaiAGQYAI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")||(d=R,R=Q.locateFile?Q.locateFile(d,t):t+d);var L={2340:function(){return Q.getRandomValue()},2376:function(){if(Q.getRandomValue===void 0)try{var A=(typeof window>"u"?"undefined":g(window))==="object"?window:self,I=A.crypto!==void 0?A.crypto:A.msCrypto,C=function(){var X=new Uint32Array(1);return I.getRandomValues(X),X[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var X=B.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),Q.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function p(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var K=function(X){for(;X.length>0;)X.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(X,_,$){var eA=(function(gA,oA){var aA;for(v.length=0,oA>>=2;aA=y[gA++];)oA+=aA!=105&oA,v.push(aA==105?u[oA]:s[oA++>>1]),++oA;return v})(_,$);return L[X].apply(null,eA)},O=function(X){G||(Q.onExit&&Q.onExit(X),F=!0),E(X,new p(X))},T={b:function(X,_,$){return j(X,_,$)},d:function(X,_,$){return y.copyWithin(X,_,_+$)},c:function(X){y.length,U("OOM")},a:function(X,_){O(X)}};(function(){var X={a:T};function _($,eA){var gA,oA,aA=$.exports;return Q.asm=aA,c=Q.asm.e,gA=c.buffer,Q.HEAP8=h=new Int8Array(gA),Q.HEAP16=new Int16Array(gA),Q.HEAP32=u=new Int32Array(gA),Q.HEAPU8=y=new Uint8Array(gA),Q.HEAPU16=new Uint16Array(gA),Q.HEAPU32=new Uint32Array(gA),Q.HEAPF32=new Float32Array(gA),Q.HEAPF64=s=new Float64Array(gA),Q.asm.g,oA=Q.asm.f,N.unshift(oA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var uA=H;H=null,uA()}})(),aA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(X,_)}catch($){return D("Module.instantiateWasm callback failed with error: "+$),!1}m(0,R,X,(function($){_($.instance)}))})(),Q._malloc=function(){return(Q._malloc=Q.asm.h).apply(null,arguments)},Q._free=function(){return(Q._free=Q.asm.i).apply(null,arguments)},Q._dilithiumjs_init=function(){return(Q._dilithiumjs_init=Q.asm.j).apply(null,arguments)},Q._dilithiumjs_public_key_bytes=function(){return(Q._dilithiumjs_public_key_bytes=Q.asm.k).apply(null,arguments)},Q._dilithiumjs_secret_key_bytes=function(){return(Q._dilithiumjs_secret_key_bytes=Q.asm.l).apply(null,arguments)},Q._dilithiumjs_signature_bytes=function(){return(Q._dilithiumjs_signature_bytes=Q.asm.m).apply(null,arguments)},Q._dilithiumjs_keypair=function(){return(Q._dilithiumjs_keypair=Q.asm.n).apply(null,arguments)},Q._dilithiumjs_sign=function(){return(Q._dilithiumjs_sign=Q.asm.o).apply(null,arguments)},Q._dilithiumjs_verify=function(){return(Q._dilithiumjs_verify=Q.asm.p).apply(null,arguments)};function x(X){if(J(X))return(function(_){if(r!==void 0&&r){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),gA=new Uint8Array(eA.length),oA=0;oA<eA.length;++oA)gA[oA]=eA.charCodeAt(oA);return gA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(M.length))}function W(){function X(){b||(b=!0,Q.calledRun=!0,F||(K(N),Q.onRuntimeInitialized&&Q.onRuntimeInitialized(),(function(){if(Q.postRun)for(typeof Q.postRun=="function"&&(Q.postRun=[Q.postRun]);Q.postRun.length;)_=Q.postRun.shift(),w.unshift(_);var _;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)_=Q.preRun.shift(),Y.unshift(_);var _;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),X()}),1)):X()))}if(Q.writeArrayToMemory=function(X,_){h.set(X,_)},H=function X(){b||W(),b||(H=X)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(X){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},A(X)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(X,_){throw _},i=(typeof window>"u"?"undefined":A(window))=="object",E=typeof importScripts=="function",o=(typeof process>"u"?"undefined":A(process))=="object"&&A(process.versions)=="object"&&typeof process.versions.node=="string",n="";if(o){var r=eval("require")("fs"),t=eval("require")("path");n=E?t.dirname(n)+"/":__dirname+"/",I=function(X,_){var $=P(X);return $?_?$:$.toString():(X=m(X)?new URL(X):t.normalize(X),r.readFileSync(X,_?void 0:"utf8"))},g=function(X){var _=I(X,!0);return _.buffer||(_=new Uint8Array(_)),_},!C.thisProgram&&process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),typeof module<"u"&&(module.exports=C),process.on("uncaughtException",(function(X){if(!(X==="unwind"||X instanceof b||X.context instanceof b))throw X})),Q=function(X,_){throw process.exitCode=X,_},C.inspect=function(){return"[Emscripten Module object]"}}else(i||E)&&(E?n=self.location.href:typeof document<"u"&&document.currentScript&&(n=document.currentScript.src),n=n.indexOf("blob:")!==0?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"",I=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.send(null),_.responseText}catch(eA){var $=P(X);if($)return(function(gA){for(var oA=[],aA=0;aA<gA.length;aA++){var cA=gA[aA];cA>255&&(cA&=255),oA.push(String.fromCharCode(cA))}return oA.join("")})($);throw eA}},E&&(g=function(X){try{var _=new XMLHttpRequest;return _.open("GET",X,!1),_.responseType="arraybuffer",_.send(null),new Uint8Array(_.response)}catch(eA){var $=P(X);if($)return $;throw eA}}));C.print||console.log.bind(console);var a,e=C.printErr||console.error.bind(console);Object.assign(C,B),B=null,C.arguments&&C.arguments,C.thisProgram&&C.thisProgram,C.quit&&(Q=C.quit),C.wasmBinary&&(a=C.wasmBinary);var f,D=C.noExitRuntime||!0,c={Memory:function(X){this.buffer=new ArrayBuffer(65536*X.initial)},Module:function(X){},Instance:function(X,_){this.exports=(function($){for(var eA,gA=new Uint8Array(123),oA=25;oA>=0;--oA)gA[48+oA]=52+oA,gA[65+oA]=oA,gA[97+oA]=26+oA;function aA(uA,yA,EA){for(var CA,lA,Z=0,fA=yA,mA=EA.length,kA=yA+(3*mA>>2)-(EA[mA-2]=="=")-(EA[mA-1]=="=");Z<mA;Z+=4)CA=gA[EA.charCodeAt(Z+1)],lA=gA[EA.charCodeAt(Z+2)],uA[fA++]=gA[EA.charCodeAt(Z)]<<2|CA>>4,fA<kA&&(uA[fA++]=CA<<4|lA>>2),fA<kA&&(uA[fA++]=lA<<6|gA[EA.charCodeAt(Z+3)])}function cA(){throw new Error("abort")}return gA[43]=62,gA[47]=63,(function(uA){var yA=uA.a,EA=yA.a.buffer,CA=new Int8Array(EA),lA=new Int16Array(EA),Z=new Int32Array(EA),fA=new Uint8Array(EA),mA=new Uint16Array(EA),kA=new Uint32Array(EA),wA=(new Float32Array(EA),new Float64Array(EA),Math.imul),LA=Math.clz32,bA=yA.b,zA=yA.c,At=yA.d,GA=8392208,pA=0;function OA(z){var iA,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0;GA=iA=GA-16|0;A:{e:{t:{i:{I:{n:{s:{f:{B:{a:{o:{C:{c:{r:{if((z|=0)>>>0<=244){if(3&(tA=(sA=Z[776])>>>(AA=(BA=z>>>0<11?16:z+11&-8)>>>3|0)|0)){tA=(z=(AA=AA+(1&(-1^tA))|0)<<3)+3144|0,rA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[rA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):Z[776]=vt(AA)&sA,z=rA+8|0,tA=AA<<3,Z[rA+4>>2]=3|tA,Z[(tA=tA+rA|0)+4>>2]=1|Z[tA+4>>2];break A}if((DA=Z[778])>>>0>=BA>>>0)break r;if(tA){tA=(z=(rA=E0(0-(z=(0-(z=2<<AA)|z)&tA<<AA)&z))<<3)+3144|0,nA=Z[z+3152>>2],(0|tA)!=(0|(z=Z[nA+8>>2]))?(Z[z+12>>2]=tA,Z[tA+8>>2]=z):(sA=vt(rA)&sA,Z[776]=sA),Z[nA+4>>2]=3|BA,rA=(z=rA<<3)-BA|0,Z[(AA=nA+BA|0)+4>>2]=1|rA,Z[z+nA>>2]=rA,DA&&(tA=3144+(-8&DA)|0,IA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=IA,Z[z+12>>2]=IA,Z[IA+12>>2]=tA,Z[IA+8>>2]=z),z=nA+8|0,Z[781]=AA,Z[778]=rA;break A}if(!(hA=Z[777]))break r;for(AA=Z[3408+(E0(0-hA&hA)<<2)>>2],IA=(-8&Z[AA+4>>2])-BA|0,tA=AA;(z=Z[tA+16>>2])||(z=Z[tA+20>>2]);)IA=(rA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<IA>>>0)?tA:IA,AA=rA?z:AA,tA=z;if(QA=Z[AA+24>>2],(0|(rA=Z[AA+12>>2]))!=(0|AA)){z=Z[AA+8>>2],Z[z+12>>2]=rA,Z[rA+8>>2]=z;break e}if(!(z=Z[(tA=AA+20|0)>>2])){if(!(z=Z[AA+16>>2]))break c;tA=AA+16|0}for(;nA=tA,rA=z,(z=Z[(tA=z+20|0)>>2])||(tA=rA+16|0,z=Z[rA+16>>2]););Z[nA>>2]=0;break e}if(BA=-1,!(z>>>0>4294967231)&&(BA=-8&(z=z+11|0),hA=Z[777])){IA=0-BA|0,sA=0,BA>>>0<256||(sA=31,BA>>>0>16777215||(sA=62+((BA>>>38-(z=LA(z>>>8|0))&1)-(z<<1)|0)|0));g:{Q:{if(tA=Z[3408+(sA<<2)>>2])for(z=0,AA=BA<<((0|sA)!=31?25-(sA>>>1|0)|0:0);;){if(!((nA=(-8&Z[tA+4>>2])-BA|0)>>>0>=IA>>>0||(rA=tA,IA=nA,nA))){IA=0,z=tA;break Q}if(nA=Z[tA+20>>2],tA=Z[16+((AA>>>29&4)+tA|0)>>2],z=nA?(0|nA)==(0|tA)?z:nA:z,AA<<=1,!tA)break}else z=0;if(!(z|rA)){if(rA=0,!(z=(0-(z=2<<sA)|z)&hA))break r;z=Z[3408+(E0(z&0-z)<<2)>>2]}if(!z)break g}for(;IA=(AA=(tA=(-8&Z[z+4>>2])-BA|0)>>>0<IA>>>0)?tA:IA,rA=AA?z:rA,z=(tA=Z[z+16>>2])||Z[z+20>>2];);}if(!(!rA|Z[778]-BA>>>0<=IA>>>0)){if(sA=Z[rA+24>>2],(0|rA)!=(0|(AA=Z[rA+12>>2]))){z=Z[rA+8>>2],Z[z+12>>2]=AA,Z[AA+8>>2]=z;break t}if(!(z=Z[(tA=rA+20|0)>>2])){if(!(z=Z[rA+16>>2]))break C;tA=rA+16|0}for(;nA=tA,AA=z,(z=Z[(tA=z+20|0)>>2])||(tA=AA+16|0,z=Z[AA+16>>2]););Z[nA>>2]=0;break t}}}if((z=Z[778])>>>0>=BA>>>0){rA=Z[781],(tA=z-BA|0)>>>0>=16?(Z[(AA=rA+BA|0)+4>>2]=1|tA,Z[z+rA>>2]=tA,Z[rA+4>>2]=3|BA):(Z[rA+4>>2]=3|z,Z[(z=z+rA|0)+4>>2]=1|Z[z+4>>2],AA=0,tA=0),Z[778]=tA,Z[781]=AA,z=rA+8|0;break A}if((QA=Z[779])>>>0>BA>>>0){tA=QA-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}if(z=0,hA=BA+47|0,Z[894]?AA=Z[896]:(Z[897]=-1,Z[898]=-1,Z[895]=4096,Z[896]=4096,Z[894]=iA+12&-16^1431655768,Z[899]=0,Z[887]=0,AA=4096),(tA=(nA=hA+AA|0)&(IA=0-AA|0))>>>0<=BA>>>0||(rA=Z[886])&&rA>>>0<(sA=(AA=Z[884])+tA|0)>>>0|AA>>>0>=sA>>>0)break A;r:{if(!(4&fA[3548])){g:{Q:{u:{E:{if(rA=Z[782])for(z=3552;;){if((AA=Z[z>>2])>>>0<=rA>>>0&rA>>>0<AA+Z[z+4>>2]>>>0)break E;if(!(z=Z[z+8>>2]))break}if((0|(AA=We(0)))==-1||(sA=tA,(z=(rA=Z[895])-1|0)&AA&&(sA=(tA-AA|0)+(z+AA&0-rA)|0),sA>>>0<=BA>>>0)||(rA=Z[886])&&rA>>>0<(IA=(z=Z[884])+sA|0)>>>0|z>>>0>=IA>>>0)break g;if((0|AA)!=(0|(z=We(sA))))break u;break r}if((0|(AA=We(sA=IA&nA-QA)))==(Z[z>>2]+Z[z+4>>2]|0))break Q;z=AA}if((0|z)==-1)break g;if(BA+48>>>0<=sA>>>0){AA=z;break r}if((0|We(AA=(AA=Z[896])+(hA-sA|0)&0-AA))==-1)break g;sA=AA+sA|0,AA=z;break r}if((0|AA)!=-1)break r}Z[887]=4|Z[887]}if((0|(AA=We(tA)))==-1|(0|(z=We(0)))==-1|z>>>0<=AA>>>0||(sA=z-AA|0)>>>0<=BA+40>>>0)break B}z=Z[884]+sA|0,Z[884]=z,z>>>0>kA[885]&&(Z[885]=z);r:{if(nA=Z[782]){for(z=3552;;){if(((rA=Z[z>>2])+(tA=Z[z+4>>2])|0)==(0|AA))break r;if(!(z=Z[z+8>>2]))break}break o}for((z=Z[780])>>>0<=AA>>>0&&z||(Z[780]=AA),z=0,Z[889]=sA,Z[888]=AA,Z[784]=-1,Z[785]=Z[894],Z[891]=0;tA=(rA=z<<3)+3144|0,Z[rA+3152>>2]=tA,Z[rA+3156>>2]=tA,(0|(z=z+1|0))!=32;);tA=(rA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+rA|0)>>2]=40,Z[783]=Z[898];break a}if(8&Z[z+12>>2]|AA>>>0<=nA>>>0|rA>>>0>nA>>>0)break o;Z[z+4>>2]=tA+sA,AA=(z=nA+8&7?-8-nA&7:0)+nA|0,Z[782]=AA,z=(tA=Z[779]+sA|0)-z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[4+(tA+nA|0)>>2]=40,Z[783]=Z[898];break a}rA=0;break e}AA=0;break t}kA[780]>AA>>>0&&(Z[780]=AA),tA=AA+sA|0,z=3552;o:{C:{c:{for(;;){if((0|tA)!=Z[z>>2]){if(z=Z[z+8>>2])continue;break c}break}if(!(8&fA[z+12|0]))break C}for(z=3552;;){if((tA=Z[z>>2])>>>0<=nA>>>0&&(IA=tA+Z[z+4>>2]|0)>>>0>nA>>>0)break o;z=Z[z+8>>2]}}if(Z[z>>2]=AA,Z[z+4>>2]=Z[z+4>>2]+sA,Z[(hA=(AA+8&7?-8-AA&7:0)+AA|0)+4>>2]=3|BA,z=(sA=tA+(tA+8&7?-8-tA&7:0)|0)-(QA=BA+hA|0)|0,(0|nA)==(0|sA)){Z[782]=QA,z=Z[779]+z|0,Z[779]=z,Z[QA+4>>2]=1|z;break i}if(Z[781]==(0|sA)){Z[781]=QA,z=Z[778]+z|0,Z[778]=z,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z;break i}if((3&(IA=Z[sA+4>>2]))!=1)break I;if(nA=-8&IA,IA>>>0<=255){if((0|(AA=Z[sA+12>>2]))==(0|(tA=Z[sA+8>>2]))){Z[776]=Z[776]&vt(IA>>>3|0);break n}Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break n}if(BA=Z[sA+24>>2],(0|sA)!=(0|(AA=Z[sA+12>>2]))){tA=Z[sA+8>>2],Z[tA+12>>2]=AA,Z[AA+8>>2]=tA;break s}if(!(IA=Z[(tA=sA+20|0)>>2])){if(!(IA=Z[sA+16>>2]))break f;tA=sA+16|0}for(;rA=tA,(IA=Z[(tA=(AA=IA)+20|0)>>2])||(tA=AA+16|0,IA=Z[AA+16>>2]););Z[rA>>2]=0;break s}for(tA=(rA=sA-40|0)-(z=AA+8&7?-8-AA&7:0)|0,Z[779]=tA,z=z+AA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[4+(AA+rA|0)>>2]=40,Z[783]=Z[898],Z[(rA=(z=(IA+(IA-39&7?39-IA&7:0)|0)-47|0)>>>0<nA+16>>>0?nA:z)+4>>2]=27,z=Z[891],Z[rA+16>>2]=Z[890],Z[rA+20>>2]=z,z=Z[889],Z[rA+8>>2]=Z[888],Z[rA+12>>2]=z,Z[890]=rA+8,Z[889]=sA,Z[888]=AA,Z[891]=0,z=rA+24|0;Z[z+4>>2]=7,tA=z+8|0,z=z+4|0,tA>>>0<IA>>>0;);if((0|rA)!=(0|nA))if(Z[rA+4>>2]=-2&Z[rA+4>>2],IA=rA-nA|0,Z[nA+4>>2]=1|IA,Z[rA>>2]=IA,IA>>>0<=255)tA=3144+(-8&IA)|0,(AA=Z[776])&(z=1<<(IA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,IA>>>0<=16777215&&(z=62+((IA>>>38-(z=LA(IA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;o:{if((rA=Z[777])&(AA=1<<z)){for(z=IA<<((0|z)!=31?25-(z>>>1|0)|0:0),rA=Z[tA>>2];;){if((0|IA)==(-8&Z[(tA=rA)+4>>2]))break o;if(AA=z>>>29|0,z<<=1,!(rA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|rA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break a}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}}if(!((z=Z[779])>>>0<=BA>>>0)){tA=z-BA|0,Z[779]=tA,z=(AA=Z[782])+BA|0,Z[782]=z,Z[z+4>>2]=1|tA,Z[AA+4>>2]=3|BA,z=AA+8|0;break A}}Z[775]=48,z=0;break A}AA=0}if(BA){rA=Z[sA+28>>2];s:{if(Z[(tA=3408+(rA<<2)|0)>>2]==(0|sA)){if(Z[tA>>2]=AA,AA)break s;Z[777]=Z[777]&vt(rA);break n}if(Z[BA+(Z[BA+16>>2]==(0|sA)?16:20)>>2]=AA,!AA)break n}Z[AA+24>>2]=BA,(tA=Z[sA+16>>2])&&(Z[AA+16>>2]=tA,Z[tA+24>>2]=AA),(tA=Z[sA+20>>2])&&(Z[AA+20>>2]=tA,Z[tA+24>>2]=AA)}}z=z+nA|0,IA=Z[(sA=nA+sA|0)+4>>2]}if(Z[sA+4>>2]=-2&IA,Z[QA+4>>2]=1|z,Z[z+QA>>2]=z,z>>>0<=255)tA=3144+(-8&z)|0,(AA=Z[776])&(z=1<<(z>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=QA,Z[z+12>>2]=QA,Z[QA+12>>2]=tA,Z[QA+8>>2]=z;else{IA=31,z>>>0<=16777215&&(IA=62+((z>>>38-(tA=LA(z>>>8|0))&1)-(tA<<1)|0)|0),Z[QA+28>>2]=IA,Z[QA+16>>2]=0,Z[QA+20>>2]=0,tA=3408+(IA<<2)|0;I:{if((rA=Z[777])&(AA=1<<IA)){for(IA=z<<((0|IA)!=31?25-(IA>>>1|0)|0:0),AA=Z[tA>>2];;){if(tA=AA,(-8&Z[AA+4>>2])==(0|z))break I;if(AA=IA>>>29|0,IA<<=1,!(AA=Z[(rA=(4&AA)+tA|0)+16>>2]))break}Z[rA+16>>2]=QA}else Z[777]=AA|rA,Z[tA>>2]=QA;Z[QA+24>>2]=tA,Z[QA+12>>2]=QA,Z[QA+8>>2]=QA;break i}z=Z[tA+8>>2],Z[z+12>>2]=QA,Z[tA+8>>2]=QA,Z[QA+24>>2]=0,Z[QA+12>>2]=tA,Z[QA+8>>2]=z}}z=hA+8|0;break A}t:if(sA){tA=Z[rA+28>>2];i:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|rA)){if(Z[z>>2]=AA,AA)break i;hA=vt(tA)&hA,Z[777]=hA;break t}if(Z[sA+(Z[sA+16>>2]==(0|rA)?16:20)>>2]=AA,!AA)break t}Z[AA+24>>2]=sA,(z=Z[rA+16>>2])&&(Z[AA+16>>2]=z,Z[z+24>>2]=AA),(z=Z[rA+20>>2])&&(Z[AA+20>>2]=z,Z[z+24>>2]=AA)}t:if(IA>>>0<=15)z=IA+BA|0,Z[rA+4>>2]=3|z,Z[(z=z+rA|0)+4>>2]=1|Z[z+4>>2];else if(Z[rA+4>>2]=3|BA,Z[(nA=rA+BA|0)+4>>2]=1|IA,Z[nA+IA>>2]=IA,IA>>>0<=255)tA=3144+(-8&IA)|0,(AA=Z[776])&(z=1<<(IA>>>3))?z=Z[tA+8>>2]:(Z[776]=z|AA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z;else{z=31,IA>>>0<=16777215&&(z=62+((IA>>>38-(z=LA(IA>>>8|0))&1)-(z<<1)|0)|0),Z[nA+28>>2]=z,Z[nA+16>>2]=0,Z[nA+20>>2]=0,tA=3408+(z<<2)|0;i:{if((AA=1<<z)&hA){for(z=IA<<((0|z)!=31?25-(z>>>1|0)|0:0),BA=Z[tA>>2];;){if((-8&Z[(tA=BA)+4>>2])==(0|IA))break i;if(AA=z>>>29|0,z<<=1,!(BA=Z[(AA=(4&AA)+tA|0)+16>>2]))break}Z[AA+16>>2]=nA}else Z[777]=AA|hA,Z[tA>>2]=nA;Z[nA+24>>2]=tA,Z[nA+12>>2]=nA,Z[nA+8>>2]=nA;break t}z=Z[tA+8>>2],Z[z+12>>2]=nA,Z[tA+8>>2]=nA,Z[nA+24>>2]=0,Z[nA+12>>2]=tA,Z[nA+8>>2]=z}z=rA+8|0;break A}e:if(QA){tA=Z[AA+28>>2];t:{if(Z[(z=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[z>>2]=rA,rA)break t;Z[777]=vt(tA)&hA;break e}if(Z[QA+(Z[QA+16>>2]==(0|AA)?16:20)>>2]=rA,!rA)break e}Z[rA+24>>2]=QA,(z=Z[AA+16>>2])&&(Z[rA+16>>2]=z,Z[z+24>>2]=rA),(z=Z[AA+20>>2])&&(Z[rA+20>>2]=z,Z[z+24>>2]=rA)}IA>>>0<=15?(z=IA+BA|0,Z[AA+4>>2]=3|z,Z[(z=z+AA|0)+4>>2]=1|Z[z+4>>2]):(Z[AA+4>>2]=3|BA,Z[(rA=AA+BA|0)+4>>2]=1|IA,Z[rA+IA>>2]=IA,DA&&(tA=3144+(-8&DA)|0,nA=Z[781],(z=1<<(DA>>>3))&sA?z=Z[tA+8>>2]:(Z[776]=z|sA,z=tA),Z[tA+8>>2]=nA,Z[z+12>>2]=nA,Z[nA+12>>2]=tA,Z[nA+8>>2]=z),Z[781]=rA,Z[778]=IA),z=AA+8|0}return GA=iA+16|0,0|z}function JA(z){var iA=0,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0,MA=0,KA=0,vA=0,_A=0,jA=0,tt=0,et=0,VA=0,WA=0,XA=0,gt=0,nt=0,ot=0,It=0,Qt=0,wt=0,xt=0,St=0,Gt=0,Ht=0,yt=0,mt=0,lt=0,Ft=0,Nt=0,Ut=0,kt=0,Yt=0,qt=0,$t=0,Se=0,Ae=0,te=0,ee=0,ie=0,ce=0,re=0,ge=0,ne=0,oe=0,Ie=0,Qe=0,fe=0,ue=0,Ge=0,He=0,Ee=0,me=0,Fe=0,Ze=0,ze=0,Ne=0,Ue=0,$e=0,Ni=0,Ui=0,ki=0,Rr=0,Lr=0,Mr=0,Kr=0,vr=0,qr=0,Jr=0,Or=0,_r=0,jr=0,l0=0,Tr=0,Pr=0,Vr=0,Wr=0,Xr=0,Zr=0,zr=0,$r=0,Ag=0,tg=0,eg=0,ig=0,rg=0,gg=0,ng=0,og=0;for(Ae=Z[z+192>>2],te=Z[z+196>>2],xt=Z[z+184>>2],ee=Z[z+188>>2],ie=Z[z+176>>2],ce=Z[z+180>>2],St=Z[z+168>>2],re=Z[z+172>>2],tt=Z[z+160>>2],He=Z[z+164>>2],ge=Z[z+152>>2],Ee=Z[z+156>>2],ne=Z[z+144>>2],oe=Z[z+148>>2],Gt=Z[z+136>>2],Ht=Z[z+140>>2],yt=Z[z+128>>2],me=Z[z+132>>2],Ie=Z[z+120>>2],Fe=Z[z+124>>2],mt=Z[z+112>>2],lt=Z[z+116>>2],KA=Z[z+104>>2],ot=Z[z+108>>2],Ft=Z[z+96>>2],Nt=Z[z+100>>2],QA=Z[z+88>>2],It=Z[z+92>>2],sA=Z[z+80>>2],Ut=Z[z+84>>2],IA=Z[z+72>>2],kt=Z[z+76>>2],UA=Z[z+64>>2],jA=Z[z+68>>2],et=Z[z+56>>2],MA=Z[z+60>>2],tA=Z[z+48>>2],Qe=Z[z+52>>2],rA=Z[z+40>>2],vA=Z[z+44>>2],VA=Z[z+32>>2],Yt=Z[z+36>>2],DA=Z[z+24>>2],WA=Z[z+28>>2],hA=Z[z+16>>2],Qt=Z[z+20>>2],AA=Z[z+8>>2],XA=Z[z+12>>2],BA=Z[z>>2],gt=Z[z+4>>2];ki>>>0<=23;)iA=DA^UA^KA^xt^ne,qt=SA(_A=BA^rA^sA^tt^Ie,nt=gt^vA^Ut^He^Fe,1)^iA,nA=SA(VA^qt,Yt^($t=(Ze=WA^jA^ot^ee^oe)^pA),27),ze=pA,fe=wt=Qt^MA^Nt^Ht^ce,wt=SA(Se=hA^et^Ft^Gt^ie,wt,1)^_A,_A=SA(QA^wt,It^(ue=pA^nt),10),Ne=pA,Ge=nt=XA^Qe^It^re^me,Ue=VA^IA^mt^Ae^ge,VA=SA(Ni=AA^tA^QA^St^yt,nt,1)^Ue,nt=SA(nt=rA^VA,vA^(It=(rA=Yt^kt^lt^te^Ee)^pA),36),$e=pA,QA=SA(AA^wt,XA^ue,1),XA=pA,vA=SA(Ue,rA,1)^Se,KA=SA(vA^KA,(Se=ot)^(ot=pA^fe),25),fe=pA,Yt=SA(iA,Ze,1)^Ni,AA=SA(Yt^et,(Se=MA)^(MA=pA^Ge),6),Ze=pA,et=SA(DA^vA,WA^ot,28),WA=pA,sA=SA(sA^VA,It^Ut,3),Ut=pA,iA=SA(IA^qt,kt^$t,20),Se=DA=pA,IA=SA(hA^Yt,MA^Qt,62),kt=pA,mt=SA(mt^qt,lt^$t,39),lt=pA,rA=SA(UA^vA,jA^ot,55),Qt=hA=pA,jA=Z[(UA=(Ni=ki<<3)+1120|0)>>2],UA=Z[UA+4>>2],Ft=SA(Ft^Yt,MA^Nt,43),Nt=pA,tA=SA(tA^wt,Qe^ue,44),Ui=hA=(Rr=(gt^=It)^(-1^(Qe=pA))&Nt^UA)^(Lr=(-1^hA)&lt^kt)^(Mr=(-1^DA)&Ut^WA)^(Kr=(-1^$e)&Ne^ze)^(vr=(-1^Ze)&fe^XA),UA=SA(jA=(qr=(Ge=BA^VA)^(-1^tA)&Ft^jA)^(Jr=(-1^rA)&mt^IA)^(Or=(-1^iA)&sA^et)^(_r=(-1^nt)&_A^nA)^(jr=(-1^AA)&KA^QA),hA,1),DA=pA,Gt=SA(Gt^Yt,MA^Ht,15),Ht=pA,xt=SA(vA^xt,ot^ee,56),Ue=pA,ne=SA(vA^ne,ot^oe,21),ee=pA,Ae=SA(Ae^qt,te^$t,14),oe=pA,Ie=SA(VA^Ie,It^Fe,41),te=pA,hA=SA(St^wt,re^ue,2),BA=pA,ge=SA(ge^qt,$t^Ee,8),re=pA,St=SA(tt^VA,It^He,18),VA=pA,tt=SA(yt^wt,ue^me,45),yt=pA,l0=(-1^xt)&nA^Gt,vA=(-1^Ae)&Ge^ne,Ee=(-1^hA)&IA^Ie,It=(-1^St)&QA^ge,ie=SA(Yt^ie,MA^ce,61),IA=SA((UA^=me=l0^vA^Ee^It^(He=(-1^ie)&et^tt))^(Fe=(-1^IA)&rA^hA),(DA^=Wr=(Tr=(-1^Ue)&ze^Ht)^(Pr=(-1^oe)&gt^ee)^(ot=(-1^BA)&kt^te)^(MA=(-1^VA)&XA^re)^(Vr=(-1^(ce=pA))&WA^yt))^(kt=(-1^kt)&Qt^BA),14),qt=pA,og=BA=(Xr=fe^(-1^re)&VA)^(Zr=Nt^(-1^ee)&oe)^(zr=(-1^te)&BA^lt)^($r=Ut^(-1^yt)&ce)^(Ag=(-1^Ht)&Ue^Ne),BA=SA(ng=(tg=KA^(-1^ge)&St)^(eg=Ft^(-1^ne)&Ae)^(ig=(-1^Ie)&hA^mt)^(rg=sA^(-1^tt)&ie)^(gg=(-1^Gt)&xt^_A),BA,1)^jA,sA=SA(BA^(hA=(-1^sA)&tt^iA),(jA=pA^Ui)^(tt=(-1^Ut)&yt^Se),44),$t=pA,yt=Qt^(-1^lt)&te,lt=Ze^(-1^fe)&re,Ne=$e^(-1^Ne)&Ht,_A=(xt=(fe=xt^(-1^nA)&nt)^(Ui=ie^(-1^et)&iA)^(nA=St^(-1^QA)&AA)^Fe^(Ht=(-1^Ge)&tA^Ae))^SA(AA=(iA=rA^(-1^mt)&Ie)^(mt=AA^(-1^KA)&ge)^(Ge=nt^(-1^_A)&Gt)^(Ft=(-1^Ft)&ne^tA)^hA,tt^=yt^lt^Ne^(Nt=(-1^Nt)&ee^Qe),1),ue=tA=(et=(rA=(ze=Ue^(-1^ze)&$e)^($e=ce^(-1^WA)&Se)^(St=VA^(-1^XA)&Ze)^kt^(Gt=(-1^gt)&Qe^oe))^pA)^Rr,hA=IA,nt=sA,VA=IA^sA&(-1^(wt=_A^qr)),Yt=(-1^tA)&$t^qt,iA=SA(iA^BA,jA^yt,2),QA=pA,WA=SA(xt,rA,1)^ng,rA=SA(He^WA,Vr^(Qt=og^pA),55),KA=pA,XA=SA(me,Wr,1)^AA,AA=SA(XA^eg,(gt=tt^pA)^Zr,62),sA=tA=pA,Ae=(-1^AA)&rA^iA,te=(-1^tA)&KA^QA,xt=(tA=SA(_A^_r,et^Kr,41))^(-1^iA)&AA,ee=(IA=pA)^(-1^QA)&sA,ie=(nA=SA(nA^UA,DA^St,39))^(-1^tA)&iA,ce=(iA=pA)^(-1^IA)&QA,St=rA^(-1^nA)&tA,re=KA^(-1^iA)&IA,tt=AA^(-1^rA)&nA,He=sA^(-1^KA)&iA,iA=SA(WA^Ee,Qt^ot,56),QA=pA,rA=SA(_A^Or,et^Mr,36),KA=pA,AA=SA(UA^Ht,DA^Gt,27),sA=tA=pA,ge=(-1^AA)&rA^iA,Ee=(-1^tA)&KA^QA,ne=(tA=SA(XA^gg,gt^Ag,15))^(-1^iA)&AA,oe=(IA=pA)^(-1^QA)&sA,Gt=(nA=SA(BA^mt,jA^lt,10))^(-1^tA)&iA,Ht=(iA=pA)^(-1^IA)&QA,yt=rA^(-1^nA)&tA,me=KA^(-1^iA)&IA,Ie=(-1^rA)&nA^AA,Fe=(-1^KA)&iA^sA,iA=SA(_A^Jr,et^Lr,18),QA=pA,rA=SA(XA^rg,gt^$r,6),IA=pA,AA=SA(BA^Ft,jA^Nt,1),Ut=tA=pA,mt=(-1^AA)&rA^iA,lt=(-1^tA)&IA^QA,KA=(tA=SA(UA^fe,DA^ze,8))^(-1^iA)&AA,ot=(sA=pA)^(-1^QA)&Ut,Ft=(nA=SA(WA^It,MA^Qt,25))^(-1^tA)&iA,Nt=(iA=pA)^(-1^sA)&QA,QA=rA^(-1^nA)&tA,It=IA^(-1^iA)&sA,sA=(-1^rA)&nA^AA,Ut^=(-1^IA)&iA,iA=SA(XA^ig,gt^zr,61),MA=pA,rA=SA(UA^Ui,DA^$e,20),DA=pA,AA=SA(vA^WA,Qt^Pr,28),vA=tA=pA,IA=(-1^AA)&rA^iA,kt=(-1^tA)&DA^MA,UA=(tA=SA(BA^Ge,jA^Ne,45))^(-1^iA)&AA,jA=(BA=pA)^(-1^MA)&vA,et=(nA=SA(_A^jr,et^vr,3))^(-1^tA)&iA,MA=(iA=pA)^(-1^BA)&MA,tA=(-1^nA)&tA^rA,Qe=(-1^iA)&BA^DA,rA=AA^(-1^rA)&nA,vA^=(-1^DA)&iA,DA=(AA=SA(WA^l0,Qt^Tr,21))^(-1^hA)&wt,WA=(nA=pA)^(-1^qt)&ue,hA=(iA=SA(XA^tg,gt^Xr,43))^(-1^AA)&hA,Qt=(_A=pA)^(-1^nA)&qt,AA=(-1^iA)&AA^nt,XA=(-1^_A)&nA^$t,BA=wt^Z[(nA=1120+(8|Ni)|0)>>2]^(-1^nt)&iA,gt=ue^Z[nA+4>>2]^(-1^$t)&_A,ki=ki+2|0;Z[z+192>>2]=Ae,Z[z+196>>2]=te,Z[z+184>>2]=xt,Z[z+188>>2]=ee,Z[z+176>>2]=ie,Z[z+180>>2]=ce,Z[z+168>>2]=St,Z[z+172>>2]=re,Z[z+160>>2]=tt,Z[z+164>>2]=He,Z[z+152>>2]=ge,Z[z+156>>2]=Ee,Z[z+144>>2]=ne,Z[z+148>>2]=oe,Z[z+136>>2]=Gt,Z[z+140>>2]=Ht,Z[z+128>>2]=yt,Z[z+132>>2]=me,Z[z+120>>2]=Ie,Z[z+124>>2]=Fe,Z[z+112>>2]=mt,Z[z+116>>2]=lt,Z[z+104>>2]=KA,Z[z+108>>2]=ot,Z[z+96>>2]=Ft,Z[z+100>>2]=Nt,Z[z+88>>2]=QA,Z[z+92>>2]=It,Z[z+80>>2]=sA,Z[z+84>>2]=Ut,Z[z+72>>2]=IA,Z[z+76>>2]=kt,Z[z+64>>2]=UA,Z[z+68>>2]=jA,Z[z+56>>2]=et,Z[z+60>>2]=MA,Z[z+48>>2]=tA,Z[z+52>>2]=Qe,Z[z+40>>2]=rA,Z[z+44>>2]=vA,Z[z+32>>2]=VA,Z[z+36>>2]=Yt,Z[z+24>>2]=DA,Z[z+28>>2]=WA,Z[z+16>>2]=hA,Z[z+20>>2]=Qt,Z[z+8>>2]=AA,Z[z+12>>2]=XA,Z[z>>2]=BA,Z[z+4>>2]=gt}function ct(z){var iA=0,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0;A:if(z|=0){nA=(AA=z-8|0)+(z=-8&(iA=Z[z-4>>2]))|0;e:if(!(1&iA)){if(!(3&iA)||(AA=AA-(iA=Z[AA>>2])|0)>>>0<kA[780])break A;z=z+iA|0;t:{i:{if(Z[781]!=(0|AA)){if(iA>>>0<=255){if(rA=iA>>>3|0,(0|(iA=Z[AA+12>>2]))==(0|(tA=Z[AA+8>>2]))){Z[776]=Z[776]&vt(rA);break e}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break e}if(IA=Z[AA+24>>2],(0|AA)!=(0|(iA=Z[AA+12>>2]))){tA=Z[AA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(!(tA=Z[(rA=AA+20|0)>>2])){if(!(tA=Z[AA+16>>2]))break i;rA=AA+16|0}for(;sA=rA,(tA=Z[(rA=(iA=tA)+20|0)>>2])||(rA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break t}if((3&(iA=Z[nA+4>>2]))!=3)break e;return Z[778]=z,Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,void(Z[nA>>2]=z)}iA=0}if(IA){tA=Z[AA+28>>2];t:{if(Z[(rA=3408+(tA<<2)|0)>>2]==(0|AA)){if(Z[rA>>2]=iA,iA)break t;Z[777]=Z[777]&vt(tA);break e}if(Z[IA+(Z[IA+16>>2]==(0|AA)?16:20)>>2]=iA,!iA)break e}Z[iA+24>>2]=IA,(tA=Z[AA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[AA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(!(AA>>>0>=nA>>>0)&&1&(iA=Z[nA+4>>2])){e:{t:{i:{I:{if(!(2&iA)){if(Z[782]==(0|nA)){if(Z[782]=AA,z=Z[779]+z|0,Z[779]=z,Z[AA+4>>2]=1|z,Z[781]!=(0|AA))break A;return Z[778]=0,void(Z[781]=0)}if(Z[781]==(0|nA))return Z[781]=AA,z=Z[778]+z|0,Z[778]=z,Z[AA+4>>2]=1|z,void(Z[z+AA>>2]=z);if(z=(-8&iA)+z|0,iA>>>0<=255){if(rA=iA>>>3|0,(0|(iA=Z[nA+12>>2]))==(0|(tA=Z[nA+8>>2]))){Z[776]=Z[776]&vt(rA);break t}Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break t}if(IA=Z[nA+24>>2],(0|nA)!=(0|(iA=Z[nA+12>>2]))){tA=Z[nA+8>>2],Z[tA+12>>2]=iA,Z[iA+8>>2]=tA;break i}if(!(tA=Z[(rA=nA+20|0)>>2])){if(!(tA=Z[nA+16>>2]))break I;rA=nA+16|0}for(;sA=rA,(tA=Z[(rA=(iA=tA)+20|0)>>2])||(rA=iA+16|0,tA=Z[iA+16>>2]););Z[sA>>2]=0;break i}Z[nA+4>>2]=-2&iA,Z[AA+4>>2]=1|z,Z[z+AA>>2]=z;break e}iA=0}if(IA){tA=Z[nA+28>>2];i:{if(Z[(rA=3408+(tA<<2)|0)>>2]==(0|nA)){if(Z[rA>>2]=iA,iA)break i;Z[777]=Z[777]&vt(tA);break t}if(Z[IA+(Z[IA+16>>2]==(0|nA)?16:20)>>2]=iA,!iA)break t}Z[iA+24>>2]=IA,(tA=Z[nA+16>>2])&&(Z[iA+16>>2]=tA,Z[tA+24>>2]=iA),(tA=Z[nA+20>>2])&&(Z[iA+20>>2]=tA,Z[tA+24>>2]=iA)}}if(Z[AA+4>>2]=1|z,Z[z+AA>>2]=z,Z[781]==(0|AA))return void(Z[778]=z)}if(z>>>0<=255)return iA=3144+(-8&z)|0,(tA=Z[776])&(z=1<<(z>>>3))?z=Z[iA+8>>2]:(Z[776]=z|tA,z=iA),Z[iA+8>>2]=AA,Z[z+12>>2]=AA,Z[AA+12>>2]=iA,void(Z[AA+8>>2]=z);tA=31,z>>>0<=16777215&&(tA=62+((z>>>38-(iA=LA(z>>>8|0))&1)-(iA<<1)|0)|0),Z[AA+28>>2]=tA,Z[AA+16>>2]=0,Z[AA+20>>2]=0,iA=3408+(tA<<2)|0;e:{t:{if((rA=Z[777])&(sA=1<<tA)){for(tA=z<<((0|tA)!=31?25-(tA>>>1|0)|0:0),iA=Z[iA>>2];;){if(rA=iA,(-8&Z[iA+4>>2])==(0|z))break t;if(iA=tA>>>29|0,tA<<=1,!(iA=Z[(sA=rA+(4&iA)|0)+16>>2]))break}Z[sA+16>>2]=AA,Z[AA+24>>2]=rA}else Z[777]=rA|sA,Z[iA>>2]=AA,Z[AA+24>>2]=iA;Z[AA+12>>2]=AA,Z[AA+8>>2]=AA;break e}z=Z[rA+8>>2],Z[z+12>>2]=AA,Z[rA+8>>2]=AA,Z[AA+24>>2]=0,Z[AA+12>>2]=rA,Z[AA+8>>2]=z}z=Z[784]-1|0,Z[784]=z||-1}}}function Et(z,iA,tA,AA){var rA,nA,IA,sA,BA=0,QA=0,hA=0,DA=0,UA=0;for(GA=nA=GA-160|0,sA=nA+12|0,IA=OA(200),Z[sA>>2]=IA,IA||(bA(111),cA()),GA=rA=GA-208|0;;){if((0|BA)==25){for(;;){if(BA=0,AA>>>0<136){for(QA=0;;){if((0|BA)==136){for(;(0|AA)!=(0|QA);)CA[QA+rA|0]=fA[tA+QA|0],QA=QA+1|0;break}CA[BA+rA|0]=0,BA=BA+1|0}for(CA[AA+rA|0]=31,CA[rA+135|0]=128|fA[rA+135|0],BA=0;(0|BA)!=17;)QA=Z[(tA=(AA=BA<<3)+IA|0)>>2],hA=Z[tA+4>>2],Z[tA>>2]=dr(AA+rA|0)^QA,Z[tA+4>>2]=pA^hA,BA=BA+1|0;GA=rA+208|0;break}for(;(0|BA)!=17;)DA=Z[(QA=(hA=BA<<3)+IA|0)>>2],UA=Z[QA+4>>2],Z[QA>>2]=dr(tA+hA|0)^DA,Z[QA+4>>2]=pA^UA,BA=BA+1|0;JA(IA),tA=tA+136|0,AA=AA-136|0}break}Z[(QA=(BA<<3)+IA|0)>>2]=0,Z[QA+4>>2]=0,BA=BA+1|0}Er(z,tA=(iA>>>0)/136|0,sA);A:if((0|(tA=wA(tA,136)))!=(0|iA))for(AA=iA-tA|0,z=z+tA|0,Er(nA+16|0,1,nA+12|0),iA=0;;){if((0|iA)==(0|AA))break A;CA[z+iA|0]=fA[(nA+16|0)+iA|0],iA=iA+1|0}ct(Z[nA+12>>2]),GA=nA+160|0}function ht(z,iA,tA,AA){for(var rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0;;){A:{if(sA=0,IA=0,BA=hA=Z[z+204>>2],!(!((QA=AA+(rA=Z[z+200>>2])|0)>>>0<AA>>>0?BA+1|0:BA)&iA>>>0>QA>>>0)){for(;!(!IA&(nA=iA-rA|0)>>>0<=sA>>>0|(0|IA)!=0);)hA=Z[(BA=(-8&(rA=rA+sA|0))+z|0)+4>>2],QA=fA[tA+sA|0],nA=31&(rA<<=3),(63&rA)>>>0>=32?(rA=QA<<nA,nA=0):(rA=(1<<nA)-1&QA>>>32-nA,nA=QA<<nA),Z[BA>>2]=nA^Z[BA>>2],Z[BA+4>>2]=rA^hA,IA=(sA=sA+1|0)?IA:IA+1|0,rA=Z[z+200>>2],hA=Z[z+204>>2];Z[z+200>>2]=0,Z[z+204>>2]=0,JA(z),tA=tA+nA|0,AA=AA-nA|0;continue}for(;;){if(!UA&(0|AA)==(0|DA))break A;iA=DA+Z[z+200>>2]|0,nA=Z[(IA=(-8&iA)+z|0)+4>>2],sA=fA[tA+DA|0],iA=31&(rA=iA<<3),(63&rA)>>>0>=32?(rA=sA<<iA,iA=0):(rA=(1<<iA)-1&sA>>>32-iA,iA=sA<<iA),Z[IA>>2]=iA^Z[IA>>2],Z[IA+4>>2]=rA^nA,iA=UA,UA=(DA=DA+1|0)?iA:iA+1|0}}break}iA=Z[z+204>>2],iA=(tA=AA+Z[z+200>>2]|0)>>>0<AA>>>0?iA+1|0:iA,Z[z+200>>2]=tA,Z[z+204>>2]=iA}function Kt(z,iA,tA,AA){var rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0;for(QA=iA;;){IA=Z[tA+200>>2],sA=Z[tA+204>>2];A:{if(!BA&(0|rA)==(0|QA))nA=iA;else{if(nA=rA,(0|BA)==(0|sA)&IA>>>0>rA>>>0|BA>>>0<sA>>>0)break A;QA=rA}for(rA=IA-QA|0,BA=sA-((IA>>>0<QA>>>0)+0|0)|0,QA=iA-nA|0,iA=z+nA|0;Z[tA+200>>2]=rA,Z[tA+204>>2]=BA,QA;){for(JA(tA),z=AA>>>0>QA>>>0?QA:AA,nA=0;(0|z)!=(0|nA);)sA=Z[(rA=(-8&nA)+tA|0)>>2],IA=Z[rA+4>>2],rA=31&(BA=nA<<3&56),CA[iA+nA|0]=(63&BA)>>>0>=32?IA>>>rA|0:((1<<rA)-1&IA)<<32-rA|sA>>>rA,nA=nA+1|0;QA=QA-z|0,iA=z+iA|0,rA=AA-z|0,BA=0}return}DA=hA=z+nA|0,hA=Z[(sA=(-8&(IA=rA+(AA-IA|0)|0))+tA|0)>>2],sA=Z[sA+4>>2],nA=31&(IA<<=3),CA[0|DA]=(63&IA)>>>0>=32?sA>>>nA|0:((1<<nA)-1&sA)<<32-nA|hA>>>nA,BA=(rA=rA+1|0)?BA:BA+1|0}}function Pe(z,iA){var tA,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0;for(GA=tA=GA-160|0,xe(nA=tA+12|0),bt(nA,iA,32),Xe(nA),zt(tA+16|0,136,nA);;){if(!AA&(0|rA)==8){for(iA=0;;){if((0|iA)==256){for(iA=8,rA=196;(0|rA)!=256;){for(;iA>>>0>=136&&(zt(tA+16|0,136,tA+12|0),iA=0),AA=(tA+16|0)+iA|0,iA=iA+1|0,(AA=fA[0|AA])>>>0>rA>>>0;);AA=(AA<<2)+z|0,Z[(rA<<2)+z>>2]=Z[AA>>2],Z[AA>>2]=1-(sA<<1&2),rA=rA+1|0,sA=(1&BA)<<31|sA>>>1,BA=BA>>>1|0}Ce(tA+12|0),GA=tA+160|0;break}Z[(iA<<2)+z>>2]=0,iA=iA+1|0}break}nA=fA[(tA+16|0)+rA|0],iA=31&(IA=rA<<3),(63&IA)>>>0>=32?(IA=nA<<iA,iA=0):(IA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),sA|=iA,BA|=IA,AA=(rA=rA+1|0)?AA:AA+1|0}}function Zt(z,iA){for(var tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0;(0|sA)!=8;){for(DA=sA<<8,UA=wA(sA,7168)+z|0,IA=0;(0|IA)!=7;){for(GA=tA=(GA=rA=GA-864|0)-16|0,AA=IA+DA|0,CA[tA+14|0]=AA,CA[tA+15|0]=AA>>>8,xe(AA=rA+12|0),Yr(AA,iA,32),Yr(AA,tA+14|0,2),fr(Z[AA>>2],168),GA=tA+16|0,tA=840,kr(nA=rA+16|0,840,AA),AA=lr(QA=(IA<<10)+UA|0,256,nA,840);AA>>>0<=255;){for(BA=tA-(nA=(tA>>>0)%3|0)|0,tA=0;(0|tA)!=(0|nA);)CA[(hA=rA+16|0)+tA|0]=fA[(tA+BA|0)+hA|0],tA=tA+1|0;kr((tA=rA+16|0)|nA,168,rA+12|0),AA=lr((AA<<2)+QA|0,256-AA|0,BA=tA,tA=168|nA)+AA|0}Ce(rA+12|0),GA=rA+864|0,IA=IA+1|0}sA=sA+1|0}}function cr(z){var iA=0,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0;nA=256,AA=1;A:for(;;){e:{if(tA=0,AA>>>0>255)for(;;){if((0|IA)==256)break e;iA=Ve(iA=Z[(rA=(IA<<2)+z|0)>>2],iA>>31,41978,0),Z[rA>>2]=mi(iA,pA),IA=IA+1|0}for(;;){t:{if(tA>>>0<=255)for(BA=tA+AA|0,hA=(rA=0-Z[1312+((nA=nA-1|0)<<2)>>2]|0)>>31;;){if((0|tA)==(0|BA))break t;QA=Z[(iA=(tA<<2)+z|0)>>2],DA=iA,iA=Z[(sA=(tA+AA<<2)+z|0)>>2],Z[DA>>2]=QA+iA,iA=QA-iA|0,Z[sA>>2]=iA,Z[sA>>2]=mi(Ve(iA,iA>>31,rA,hA),pA),tA=tA+1|0}AA<<=1;continue A}tA=AA+BA|0}}break}}function Qr(z,iA){for(var tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0;(0|rA)!=32;)tA=(rA<<5)+z|0,AA=wA(rA,3)+iA|0,nA=7&fA[0|AA],Z[tA>>2]=nA,IA=fA[0|AA]>>>3&7,Z[tA+4>>2]=IA,sA=fA[AA+1|0]<<2&4|fA[0|AA]>>>6,Z[tA+8>>2]=sA,BA=fA[AA+1|0]>>>1&7,Z[tA+12>>2]=BA,QA=fA[AA+1|0]>>>4&7,Z[tA+16>>2]=QA,hA=fA[AA+2|0]<<1&6|fA[AA+1|0]>>>7,Z[tA+20>>2]=hA,DA=fA[AA+2|0]>>>2&7,Z[tA+24>>2]=DA,AA=fA[AA+2|0],Z[tA+4>>2]=2-IA,Z[tA>>2]=2-nA,Z[tA+8>>2]=2-sA,Z[tA+12>>2]=2-BA,Z[tA+16>>2]=2-QA,Z[tA+20>>2]=2-hA,Z[tA+24>>2]=2-DA,Z[tA+28>>2]=2-(AA>>>5|0),rA=rA+1|0}function SA(z,iA,tA){var AA=0,rA=0,nA=0,IA=0;return rA=31&(nA=IA=63&tA),nA=nA>>>0>=32?-1>>>rA|0:(AA=-1>>>rA|0)|(1<<rA)-1<<32-rA,nA&=z,AA&=iA,rA=31&IA,IA>>>0>=32?(AA=nA<<rA,IA=0):(AA=(1<<rA)-1&nA>>>32-rA|AA<<rA,IA=nA<<rA),nA=AA,AA=31&(rA=0-tA&63),rA>>>0>=32?(AA=-1<<AA,tA=0):AA=(tA=-1<<AA)|(1<<AA)-1&-1>>>32-AA,z&=tA,iA&=AA,AA=31&rA,rA>>>0>=32?(tA=0,z=iA>>>AA|0):(tA=iA>>>AA|0,z=((1<<AA)-1&iA)<<32-AA|z>>>AA),pA=tA|nA,z|=IA}function C0(z){var iA=0,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0;for(tA=128;iA=0,tA;){for(;iA>>>0<=255;){for(IA=iA>>>0>(AA=iA+tA|0)>>>0?iA:AA,QA=(AA=Z[1312+((sA=sA+1|0)<<2)>>2])>>31;(0|iA)!=(0|IA);)nA=mi(Ve(nA=Z[(rA=(iA+tA<<2)+z|0)>>2],nA>>31,AA,QA),pA),hA=rA,BA=Z[(rA=(iA<<2)+z|0)>>2],Z[hA>>2]=BA-nA,Z[rA>>2]=nA+BA,iA=iA+1|0;iA=tA+IA|0}tA=tA>>>1|0}}function fr(z,iA){var tA,AA=0,rA=0,nA=0;AA=Z[z+200>>2],tA=Z[(rA=z+(-8&AA)|0)+4>>2],AA=31&(nA=AA<<3),(63&nA)>>>0>=32?(nA=31<<AA,AA=0):(nA=(1<<AA)-1&31>>>32-AA,AA=31<<AA),Z[rA>>2]=AA^Z[rA>>2],Z[rA+4>>2]=nA^tA,nA=Z[(iA=(-8&(AA=iA-1|0))+z|0)+4>>2],AA=31&(rA=AA<<3&56),(63&rA)>>>0>=32?(rA=128<<AA,AA=0):(rA=(1<<AA)-1&128>>>32-AA,AA=128<<AA),Z[iA>>2]=AA^Z[iA>>2],Z[iA+4>>2]=rA^nA,Z[z+200>>2]=0,Z[z+204>>2]=0}function ur(z,iA){for(var tA=0,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0;(0|AA)!=32;)sA=Z[(tA=(AA<<5)+iA|0)+16>>2],BA=Z[tA+12>>2],rA=Z[tA+28>>2],QA=Z[tA+20>>2],hA=Z[tA+24>>2],nA=wA(AA,3)+z|0,IA=16-(Z[tA+4>>2]<<3)|2-Z[tA>>2],tA=2-Z[tA+8>>2]|0,CA[0|nA]=IA|tA<<6,IA=64-(rA<<5)|0,rA=2-QA|0,CA[nA+2|0]=IA|8-(hA<<2)|(254&rA)>>>1,CA[nA+1|0]=32-(sA<<4)|4-(BA<<1)|(252&tA)>>>2|rA<<7,AA=AA+1|0}function Er(z,iA,tA){var AA,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0;AA=Z[tA>>2];A:for(;;){if(iA)for(JA(AA),tA=0;;){if((0|tA)==17){iA=iA-1|0,z=z+136|0;continue A}for(QA=(rA=tA<<3)+z|0,hA=Z[(rA=rA+AA|0)>>2],sA=Z[rA+4>>2],nA=0,rA=0;(0|nA)!=8|rA;)IA=31&(BA=nA<<3),CA[nA+QA|0]=(63&BA)>>>0>=32?sA>>>IA|0:((1<<IA)-1&sA)<<32-IA|hA>>>IA,rA=(nA=nA+1|0)?rA:rA+1|0;tA=tA+1|0}break}}function hr(z,iA){for(var tA=0,AA=0,rA=0,nA=0,IA=0;(0|IA)!=128;)rA=(IA<<3)+z|0,tA=wA(IA,5)+iA|0,AA=fA[0|tA],Z[rA>>2]=AA,AA|=fA[tA+1|0]<<8,Z[rA>>2]=AA,AA|=fA[tA+2|0]<<16&983040,Z[rA>>2]=AA,nA=fA[tA+2|0]>>>4|0,Z[rA+4>>2]=nA,nA|=fA[tA+3|0]<<4,Z[rA+4>>2]=nA,tA=fA[tA+4|0],Z[rA>>2]=524288-AA,Z[rA+4>>2]=524288-(nA|tA<<12),IA=IA+1|0}function yr(z,iA,tA){for(var AA=0,rA=0,nA=0,IA=0;!(iA>>>0<=AA>>>0|nA>>>0>135);)IA=(rA=fA[tA+nA|0])>>>4|0,nA=nA+1|0,(0|(rA&=15))!=15&&(Z[(AA<<2)+z>>2]=2+(wA(wA(rA,205)>>>10|0,5)-rA|0),AA=AA+1|0),(0|IA)==15|iA>>>0<=AA>>>0||(Z[(AA<<2)+z>>2]=2+(wA(wA(IA,205)>>>10|0,5)-IA|0),AA=AA+1|0);return AA}function c0(z,iA,tA){for(var AA=0,rA=0,nA=0,IA=0,sA=0,BA=0;(0|AA)!=8;){for(GA=rA=GA-1024|0,Hi(IA=(AA<<10)+z|0,sA=wA(AA,7168)+iA|0,tA),nA=1;(0|nA)!=7;)Hi(rA,(BA=nA<<10)+sA|0,tA+BA|0),f0(IA,IA,rA),nA=nA+1|0;GA=rA+1024|0,AA=AA+1|0}}function lr(z,iA,tA,AA){for(var rA=0,nA=0,IA=0,sA=0;!(iA>>>0<=nA>>>0||(rA=sA+3|0)>>>0>AA>>>0);)IA=tA+sA|0,sA=rA,(rA=fA[IA+2|0]<<16&8323072|fA[0|IA]|fA[IA+1|0]<<8)>>>0>8380416||(Z[(nA<<2)+z>>2]=rA,nA=nA+1|0);return nA}function dr(z){for(var iA=0,tA=0,AA=0,rA=0,nA=0,IA=0,sA=0;!(!rA&(0|tA)==8);)nA=fA[z+tA|0],iA=31&(AA=tA<<3),(63&AA)>>>0>=32?(AA=nA<<iA,iA=0):(AA=(1<<iA)-1&nA>>>32-iA,iA=nA<<iA),IA|=iA,sA|=AA,rA=(tA=tA+1|0)?rA:rA+1|0;return pA=sA,IA}function Ve(z,iA,tA,AA){var rA,nA,IA,sA,BA=0,QA=0;return sA=wA(BA=tA>>>16|0,QA=z>>>16|0),BA=(65535&(QA=((IA=wA(rA=65535&tA,nA=65535&z))>>>16|0)+wA(QA,rA)|0))+wA(BA,nA)|0,pA=(wA(iA,tA)+sA|0)+wA(z,AA)+(QA>>>16)+(BA>>>16)|0,65535&IA|BA<<16}function pr(z,iA,tA){for(var AA=0,rA=0,nA=0,IA=0,sA=0,BA=0;(0|rA)!=8;){for(IA=(AA=rA<<10)+z|0,sA=iA+AA|0,BA=tA+AA|0,AA=0;(0|AA)!=256;)Z[IA+(nA=AA<<2)>>2]=Z[nA+sA>>2]-Z[nA+BA>>2],AA=AA+1|0;rA=rA+1|0}}function Dr(z,iA,tA){var AA,rA;for(GA=AA=GA-160|0,mr(rA=AA+12|0,iA,tA),zt(iA=AA+16|0,136,rA),tA=yr(z,256,iA);tA>>>0<=255;)zt(iA=AA+16|0,136,AA+12|0),tA=yr((tA<<2)+z|0,256-tA|0,iA)+tA|0;Ce(AA+12|0),GA=AA+160|0}function br(z,iA){for(var tA=0,AA=0,rA=0,nA=0,IA=0;(0|AA)!=8;){for(nA=(AA<<7)+z|0,IA=(AA<<10)+iA|0,tA=0;(0|tA)!=128;)rA=(tA<<3)+IA|0,CA[tA+nA|0]=Z[rA+4>>2]<<4|Z[rA>>2],tA=tA+1|0;AA=AA+1|0}}function Q0(z){for(var iA=0,tA=0,AA=0,rA=0,nA=0;(0|tA)!=8;){for(nA=(tA<<10)+z|0,iA=0;(0|iA)!=256;)rA=Z[(AA=(iA<<2)+nA|0)>>2],Z[AA>>2]=rA+(rA>>31&8380417),iA=iA+1|0;tA=tA+1|0}}function xe(z){var iA=0,tA=0;for(iA=z,z=OA(208),Z[iA>>2]=z,z||(bA(111),cA());(0|tA)!=25;)Z[(iA=z+(tA<<3)|0)>>2]=0,Z[iA+4>>2]=0,tA=tA+1|0;Z[z+200>>2]=0,Z[z+204>>2]=0}function Hi(z,iA,tA){for(var AA=0,rA=0,nA=0;(0|rA)!=256;)AA=Ve(AA=Z[(nA=rA<<2)+tA>>2],AA>>31,AA=Z[iA+nA>>2],AA>>31),Z[z+nA>>2]=mi(AA,pA),rA=rA+1|0}function We(z){var iA,tA;return(z=(iA=Z[584])+(tA=z+7&-8)|0)>>>0<=iA>>>0&&tA||z>>>0>(EA.byteLength/65536|0)<<16>>>0&&!(0|At(0|z))?(Z[775]=48,-1):(Z[584]=z,iA)}function wr(z,iA){var tA=0,AA=0;if((0|iA)<=1047552)for(;;){if((0|AA)==256)return 0;if(tA=AA<<2,AA=AA+1|0,!(((tA=Z[z+tA>>2])-(tA<<1&tA>>31)|0)<(0|iA)))break}return 1}function xr(z){for(var iA=0,tA=0,AA=0;(0|iA)!=256;)AA=Z[(tA=(iA<<2)+z|0)>>2],Z[tA>>2]=AA+wA(AA+4194304>>23,-8380417),iA=iA+1|0}function Sr(z,iA){var tA;return tA=z,z=wA(iA+127>>7,1025)+2097152>>>22&15,iA=wA(z,-523776)+iA|0,Z[tA>>2]=((0|iA)>4190208?-8380417:0)+iA,z}function Gr(z){for(var iA=0,tA=0;;){if((0|iA)==7)return 0;if(tA=iA<<10,iA=iA+1|0,wr(z+tA|0,524168))break}return 1}function Hr(z,iA){for(var tA=0,AA=0;;){if((0|tA)==8)return 0;if(AA=tA<<10,tA=tA+1|0,wr(z+AA|0,iA))break}return 1}function f0(z,iA,tA){for(var AA=0,rA=0;(0|AA)!=256;)Z[(rA=AA<<2)+z>>2]=Z[tA+rA>>2]+Z[iA+rA>>2],AA=AA+1|0}function mr(z,iA,tA){var AA;GA=AA=GA-16|0,CA[AA+14|0]=tA,CA[AA+15|0]=tA>>>8,xe(z),bt(z,iA,64),bt(z,AA+14|0,2),Xe(z),GA=AA+16|0}function mi(z,iA){var tA=0;return Ve(z,iA,0,58728449),tA=Ve(tA=pA,tA>>31,-8380417,-1),iA=iA+pA|0,z+tA>>>0<z>>>0?iA+1|0:iA}function Fr(z,iA,tA){for(var AA=0,rA=0;(0|AA)!=8;)f0((rA=AA<<10)+z|0,iA+rA|0,tA+rA|0),AA=AA+1|0}function u0(z,iA,tA){for(var AA=0,rA=0;(0|AA)!=8;)Hi((rA=AA<<10)+z|0,iA,tA+rA|0),AA=AA+1|0}function Nr(z,iA){var tA=0;for(tA=7168;CA[0|z]=fA[0|iA],z=z+1|0,iA=iA+1|0,tA=tA-1|0;);}function Ur(z,iA){for(var tA=0;(0|iA)!=(0|tA);)C0((tA<<10)+z|0),tA=tA+1|0}function Ci(z){for(var iA=0;(0|iA)!=8;)xr((iA<<10)+z|0),iA=iA+1|0}function ci(z){for(var iA=0;(0|iA)!=8;)cr((iA<<10)+z|0),iA=iA+1|0}function vt(z){var iA;return(-1>>>(iA=31&z)&-2)<<iA|(-1<<(z=0-z&31)&-2)>>>z}function E0(z){return z?31-LA(z-1^z)|0:32}function kr(z,iA,tA){Kt(z,iA,Z[tA>>2],168)}function Yr(z,iA,tA){ht(Z[z>>2],168,iA,tA)}function zt(z,iA,tA){Kt(z,iA,Z[tA>>2],136)}function bt(z,iA,tA){ht(Z[z>>2],136,iA,tA)}function Xe(z){fr(Z[z>>2],136)}function Ce(z){ct(Z[z>>2])}function h0(z){Ur(z,8)}function Fi(z){Ur(z,7)}aA(eA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),aA(eA,1120,"AQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACAAAAAAPdkAAACMdj/AxX4/0SeAwAYIfT/KKHy/yQeBwAr3hsAK+kjAK2E+v9/FOD/dZovAAn70/9Jei8AJ+UoAFiWKQBwoA8ApIXv/4i3NgCQnff/oOru/2j5JwB709//1q3f/+caxf/3pOr/mPzN/zXQGgAitP//ATI9AMVFBABnSikAIHYBAM30LgDF3jUAA6Xm/ywwyf/UR9n/r747AIUVxf98jtH/loo2AEE+1P8ABDYATWr7/5zWIwBdxff/PRLm/9bq5v8efjUAWa/F/z+ENQAXVt//XJTn/4xzOACoYwwAmhsIAHaPDgBTODsANIU7ADD82P9UnR8ALU/V/+UGxP+BrOj/z+HH/xmY0f9d1un/7gk1AMc1IQC7z+f/dc/s/3KXHQBysMH/9rzw/4BSz/+u0s//4JDI/8rvAQDyEDQAhf7w/zjGIACfbikAo7fS/0ukx/9tuvn/CTTa/4LC9f8TQe3/O6b///cJ7P/dK/r/1JUUAGNFHABiLOr/6fvM//AKBAAXxAcAiEUvAACtAAC+Nu//RM0NAFpnPADKK8f/ft7//0g5GQDAac7/bHUkAN/H/P+hmAsACOjr/2zkAgAIyMn/wjYwAPa/4/+TPNv/4Er9/wUTFACSdxQAJZ4TAODQ5/9EmfP/Agjq/6Lu0f+cx8T/V6DI/9mXOgCT6h8AWv8zANRYIwD4QToAcv/M//s9IgCfq9r/IqTJ//USBACHJSUA8CTt/12bNQCgSMr//KLG/1a77f/eRc//Xr4NABpeHADm4A0AWn8MAIOPBwCKYuf/BFf///wG+P8hAPb/9lrQ/4QAHwCG7zAAfbnJ/9b89/+SRfT/wiHJ/xk5BQAMYQQAQc3a/xuwPgDncjQAOwDN/8d8GgAkGQMA5V4rAJkRKQA6etj/cU0TABzhPQCECRMAUfAlAEZaGAAYhcb/vhQTAJE4KACQ28n/iVDS/z+FHABLCx0Apvbv/76o6/8b4RIAPl7N/y8t6v/kHfn/xwYUAINyMgBuDeL/U3ns/5lAHQB4Jdn/rQXr/wXkFgDn2wsA6B0iAM/4MwA0uff/DMrU//h/5v9X0eP/G5HY/xIsx//YEAkAH17G/1hG4f+LHSUAt3MlAI98/f+Y3R0AmGgzALvUAgCnk+3/vmzP/xx8AgAIqhgAcf0tAKVcDACaNxkAZ6HH/z2M5P88odH/OcU1ABUBOwDAHQQA98QhAPQb8f/nNRoADjQHAEV9+f/QTBoArnzk/2gmHQCYjub/Mybv/9oF/P/bf8X/ZCfT/6/h3f/dk/n/CR3d/5PMAgAFGPH/KpwYAKnlyf9Qivf/LM87AE5D///fNuv/yhU8AGheFQC2FvP/zike"),aA(eA,2336,"EA6A");var y0,zn=((y0=[]).set=function(z,iA){this[z]=iA},y0.get=function(z){return this[z]},y0);return{e:function(){},f:zn,g:OA,h:ct,i:function(){var z;GA=z=GA-16|0,CA[z+15|0]=0,zA(2376,z+15|0,0),GA=z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(z,iA){z|=0,iA|=0;var tA,AA=0,rA=0,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0,MA=0,KA=0,vA=0;for(GA=tA=GA-96416|0,sA=tA+96288|0;(0|rA)!=32;)GA=IA=GA-16|0,CA[IA+15|0]=0,BA=0|zA(2340,IA+15|0,0),GA=IA+16|0,CA[rA+sA|0]=BA,rA=rA+1|0;for(Et(sA,128,sA,32),Zt(IA=tA+38912|0,sA),DA=tA+31744|0,rA=tA+96320|0;(0|AA)!=7;)Dr(DA+(AA<<10)|0,rA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(UA=tA+16384|0,AA=0,nA=7;(0|AA)!=8;)Dr(UA+(AA<<10)|0,rA,65535&nA),AA=AA+1|0,nA=nA+1|0;for(Nr(AA=tA+24576|0,DA),Fi(AA),c0(nA=tA- -8192|0,IA,AA),Ci(nA),ci(nA),Fr(nA,nA,UA),Q0(nA),AA=0;(0|AA)!=8;){for(MA=(rA=AA<<10)+nA|0,QA=rA+tA|0,hA=rA+nA|0,rA=0;(0|rA)!=256;)BA=(KA=Z[(IA=rA<<2)+hA>>2])+4095|0,Z[IA+QA>>2]=KA-(-8192&BA),Z[IA+MA>>2]=BA>>13,rA=rA+1|0;AA=AA+1|0}for(AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(MA=z+32|0,AA=0;(0|AA)!=8;){for(QA=MA+wA(AA,320)|0,hA=nA+(AA<<10)|0,IA=0;(0|IA)!=64;)BA=QA+wA(IA,5)|0,rA=hA+(IA<<4)|0,CA[0|BA]=Z[rA>>2],CA[BA+1|0]=Z[rA+4>>2]<<2|Z[rA>>2]>>>8,CA[BA+2|0]=Z[rA+8>>2]<<4|Z[rA+4>>2]>>>6,CA[BA+3|0]=Z[rA+12>>2]<<6|Z[rA+8>>2]>>>4,CA[BA+4|0]=Z[rA+12>>2]>>>2,IA=IA+1|0;AA=AA+1|0}for(Et(nA=tA+96256|0,32,z,2592),z=tA+96384|0,AA=0;(0|AA)!=32;)CA[iA+AA|0]=fA[AA+sA|0],AA=AA+1|0;for(rA=iA+32|0,AA=0;(0|AA)!=32;)CA[AA+rA|0]=fA[z+AA|0],AA=AA+1|0;for(z=iA- -64|0,AA=0;(0|AA)!=32;)CA[z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(z=iA+96|0,AA=0;(0|AA)!=7;)ur(z+wA(AA,96)|0,DA+(AA<<10)|0),AA=AA+1|0;for(z=iA+768|0,AA=0;(0|AA)!=8;)ur(z+wA(AA,96)|0,UA+(AA<<10)|0),AA=AA+1|0;for(BA=iA+1536|0,AA=0;(0|AA)!=8;){for(DA=BA+wA(AA,416)|0,UA=(AA<<10)+tA|0,nA=0;(0|nA)!=32;)MA=Z[(iA=UA+(nA<<5)|0)+20>>2],QA=Z[iA+8>>2],hA=Z[iA+28>>2],IA=Z[iA+24>>2],sA=Z[iA+16>>2],rA=Z[iA+12>>2],KA=Z[iA+4>>2],z=DA+wA(nA,13)|0,vA=4096-Z[iA>>2]|0,CA[0|z]=vA,iA=4096-KA|0,CA[z+2|0]=iA>>>3,rA=4096-rA|0,CA[z+5|0]=rA>>>1,sA=4096-sA|0,CA[z+7|0]=sA>>>4,IA=4096-IA|0,CA[z+10|0]=IA>>>2,hA=4096-hA|0,CA[z+12|0]=hA>>>5,CA[z+1|0]=iA<<5|vA>>>8,QA=4096-QA|0,CA[z+3|0]=QA<<2|iA>>>11,CA[z+4|0]=rA<<7|QA>>>6,CA[z+6|0]=sA<<4|rA>>>9,iA=4096-MA|0,CA[z+8|0]=iA<<1|sA>>>12,CA[z+9|0]=IA<<6|iA>>>7,CA[z+11|0]=hA<<3|IA>>>10,nA=nA+1|0;AA=AA+1|0}return GA=tA+96416|0,0},n:function(z,iA,tA,AA){iA|=0,tA|=0,AA|=0;var rA,nA,IA,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0,MA=0,KA=0,vA=0,_A=0,jA=0,tt=0,et=0,VA=0,WA=0,XA=0,gt=0,nt=0,ot=0,It=0;for(nA=(z|=0)+2|0,GA=rA=(GA=IA=GA-16|0)-121072|0,BA=tt=rA+120848|0,QA=et=rA+120880|0,hA=rA+120912|0,DA=rA+33808|0,UA=rA+56336|0,MA=rA+25616|0;(0|sA)!=32;)CA[sA+BA|0]=fA[AA+sA|0],sA=sA+1|0;for(BA=AA+32|0,sA=0;(0|sA)!=32;)CA[sA+hA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA- -64|0,sA=0;(0|sA)!=32;)CA[sA+QA|0]=fA[sA+BA|0],sA=sA+1|0;for(BA=AA+96|0,sA=0;(0|sA)!=7;)Qr(UA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(BA=AA+768|0,sA=0;(0|sA)!=8;)Qr(MA+(sA<<10)|0,BA+wA(sA,96)|0),sA=sA+1|0;for(gt=AA+1536|0,sA=0;(0|sA)!=8;){for(nt=DA+(sA<<10)|0,ot=gt+wA(sA,416)|0,QA=0;(0|QA)!=32;)AA=nt+(QA<<5)|0,BA=ot+wA(QA,13)|0,VA=fA[0|BA],Z[AA>>2]=VA,VA|=fA[BA+1|0]<<8&7936,Z[AA>>2]=VA,KA=fA[BA+1|0]>>>5|0,Z[AA+4>>2]=KA,KA|=fA[BA+2|0]<<3,Z[AA+4>>2]=KA,KA|=fA[BA+3|0]<<11&6144,Z[AA+4>>2]=KA,WA=fA[BA+3|0]>>>2|0,Z[AA+8>>2]=WA,WA|=fA[BA+4|0]<<6&8128,Z[AA+8>>2]=WA,vA=fA[BA+4|0]>>>7|0,Z[AA+12>>2]=vA,vA|=fA[BA+5|0]<<1,Z[AA+12>>2]=vA,vA|=fA[BA+6|0]<<9&7680,Z[AA+12>>2]=vA,_A=fA[BA+6|0]>>>4|0,Z[AA+16>>2]=_A,_A|=fA[BA+7|0]<<4,Z[AA+16>>2]=_A,_A|=fA[BA+8|0]<<12&4096,Z[AA+16>>2]=_A,XA=fA[BA+8|0]>>>1|0,Z[AA+20>>2]=XA,XA|=fA[BA+9|0]<<7&8064,Z[AA+20>>2]=XA,jA=fA[BA+9|0]>>>6|0,Z[AA+24>>2]=jA,jA|=fA[BA+10|0]<<2,Z[AA+24>>2]=jA,jA|=fA[BA+11|0]<<10&7168,Z[AA+24>>2]=jA,It=fA[BA+11|0]>>>3|0,Z[AA+28>>2]=It,BA=fA[BA+12|0],Z[AA+4>>2]=4096-KA,Z[AA>>2]=4096-VA,Z[AA+8>>2]=4096-WA,Z[AA+12>>2]=4096-vA,Z[AA+16>>2]=4096-_A,Z[AA+20>>2]=4096-XA,Z[AA+24>>2]=4096-jA,Z[AA+28>>2]=4096-(BA<<5|It),QA=QA+1|0;sA=sA+1|0}for(xe(AA=rA+12|0),bt(AA,et,32),bt(AA,iA,tA),Xe(AA),zt(et=rA+120944|0,64,AA),Ce(AA),Et(gt=rA+121008|0,64,hA,96),Zt(rA+63504|0,tt),Fi(UA),h0(MA),h0(DA),sA=0;;){for(BA=rA+49168|0,QA=wA(65535&sA,7),iA=0;(0|iA)!=7;)GA=tA=GA-704|0,mr(AA=tA+12|0,gt,iA+QA&65535),zt(hA=tA+16|0,680,AA),Ce(AA),hr(BA+(iA<<10)|0,hA),GA=tA+704|0,iA=iA+1|0;for(Nr(AA=rA+42e3|0,BA),Fi(AA),c0(iA=rA+17424|0,rA+63504|0,AA),Ci(iA),ci(iA),Q0(iA),DA=rA+9232|0,tA=0;(0|tA)!=8;){for(UA=(QA=tA<<10)+iA|0,MA=QA+DA|0,tt=iA+QA|0,QA=0;(0|QA)!=256;)Z[(hA=QA<<2)+UA>>2]=Sr(hA+MA|0,Z[hA+tt>>2]),QA=QA+1|0;tA=tA+1|0}for(br(nA,iA),xe(iA=rA+12|0),bt(iA,et,64),bt(iA,nA,1024),Xe(iA),zt(nA,32,iA),Ce(iA),Pe(iA=rA+16|0,nA),sA=sA+1|0,C0(iA),QA=rA+56336|0,tA=0;(0|tA)!=7;)Hi((hA=tA<<10)+AA|0,iA,QA+hA|0),tA=tA+1|0;for(iA=0;(0|iA)!=7;)cr(AA+(iA<<10)|0),iA=iA+1|0;for(iA=0;(0|iA)!=7;)f0((tA=iA<<10)+AA|0,tA+AA|0,tA+BA|0),iA=iA+1|0;for(tA=0;(0|tA)!=7;)xr(AA+(tA<<10)|0),tA=tA+1|0;if(!Gr(AA)&&(u0(tA=rA+1040|0,rA+16|0,rA+25616|0),ci(tA),pr(iA=rA+9232|0,iA,tA),Ci(iA),!Hr(iA,261768)&&(u0(iA=rA+1040|0,rA+16|0,rA+33808|0),ci(iA),Ci(iA),!Hr(iA,261888)))){for(Fr(BA=rA+9232|0,BA,UA=rA+1040|0),MA=rA+17424|0,iA=0,tA=0;(0|iA)!=8;){for(tt=(AA=iA<<10)+UA|0,nt=AA+BA|0,ot=AA+MA|0,AA=0,QA=0;(0|AA)!=256;)DA=(0|(DA=Z[(hA=AA<<2)+nt>>2]))==-261888&Z[hA+ot>>2]!=0|DA-261889>>>0<4294443519,Z[hA+tt>>2]=DA,QA=QA+DA|0,AA=AA+1|0;tA=tA+QA|0,iA=iA+1|0}if(!(tA>>>0>75))break}}for(QA=rA+42e3|0,hA=rA+1040|0,iA=0;(0|iA)!=32;)CA[0|(tA=iA+nA|0)]=fA[0|tA],iA=iA+1|0;for(DA=nA+32|0,iA=0;(0|iA)!=7;){for(UA=DA+wA(iA,640)|0,MA=QA+(iA<<10)|0,tA=0;(0|tA)!=128;)BA=Z[(sA=MA+(tA<<3)|0)+4>>2],AA=UA+wA(tA,5)|0,sA=524288-Z[sA>>2]|0,CA[0|AA]=sA,CA[AA+1|0]=sA>>>8,BA=524288-BA|0,CA[AA+3|0]=BA>>>4,CA[AA+4|0]=BA>>>12,CA[AA+2|0]=BA<<4|sA>>>16,tA=tA+1|0;iA=iA+1|0}for(sA=nA+4512|0,tA=0,iA=0;;){if((0|iA)==83){for(AA=0;(0|tA)!=8;){for(BA=hA+(tA<<10)|0,iA=0;(0|iA)!=256;)Z[BA+(iA<<2)>>2]&&(CA[AA+sA|0]=iA,AA=AA+1|0),iA=iA+1|0;CA[75+(tA+sA|0)|0]=AA,tA=tA+1|0}break}CA[iA+sA|0]=0,iA=iA+1|0}return Z[IA+12>>2]=4595,GA=rA+121072|0,lA[z>>1]=Z[IA+12>>2],GA=IA+16|0,0},o:function(z,iA,tA,AA){z|=0,iA|=0,AA|=0;var rA,nA=0,IA=0,sA=0,BA=0,QA=0,hA=0,DA=0,UA=0,MA=0,KA=0,vA=0;sA=(tA|=0)+2|0,nA=mA[tA>>1],QA=z,IA=iA,tA=0,GA=rA=GA-91312|0,KA=-1;A:if((0|nA)==4595){for(z=rA+90256|0,UA=rA+16400|0,iA=0;(0|iA)!=32;)CA[z+iA|0]=fA[iA+AA|0],iA=iA+1|0;for(hA=AA+32|0,iA=0;(0|iA)!=8;){for(DA=UA+(iA<<10)|0,MA=hA+wA(iA,320)|0,nA=0;(0|nA)!=64;)BA=DA+(nA<<4)|0,z=wA(nA,5)+MA|0,Z[BA>>2]=fA[z+1|0]<<8&768|fA[0|z],Z[BA+4>>2]=fA[z+2|0]<<6&960|fA[z+1|0]>>>2,Z[BA+8>>2]=fA[z+3|0]<<4&1008|fA[z+2|0]>>>4,Z[BA+12>>2]=fA[z+4|0]<<2|fA[z+3|0]>>>6,nA=nA+1|0;iA=iA+1|0}for(z=rA+90160|0,iA=rA+24592|0,UA=rA+16|0;(0|tA)!=32;)CA[z+tA|0]=fA[tA+sA|0],tA=tA+1|0;for(z=sA+32|0,tA=0;(0|tA)!=7;)hr(iA+(tA<<10)|0,z+wA(tA,640)|0),tA=tA+1|0;sA=sA+4512|0,nA=0,z=0;e:{for(;;){t:if((0|nA)!=8){for(BA=UA+(nA<<10)|0,tA=0;(0|tA)!=256;)Z[BA+(tA<<2)>>2]=0,tA=tA+1|0;if(!((iA=fA[(hA=nA+sA|0)+75|0])>>>0>75||(tA=z,iA>>>0<z>>>0))){for(;iA>>>0>tA>>>0;){if(z>>>0<tA>>>0&(iA=fA[0|(DA=tA+sA|0)])>>>0<=fA[DA-1|0])break t;Z[BA+(iA<<2)>>2]=1,tA=tA+1|0,iA=fA[hA+75|0]}nA=nA+1|0,z=iA;continue}}else for(tA=z>>>0<=75?75:z;;){if(iA=0,(0|z)==(0|tA))break e;if(iA=z+sA|0,z=z+1|0,fA[0|iA])break}break}iA=1}if(!iA&&!Gr(rA+24592|0)){for(Et(nA=rA+90192|0,32,AA,2592),xe(z=rA+12|0),bt(z,nA,32),bt(z,QA,IA),Xe(z),zt(nA,64,z),Ce(z),Pe(IA=rA+89104|0,rA+90160|0),Zt(iA=rA+31760|0,rA+90256|0),Fi(AA=rA+24592|0),c0(tA=rA+8208|0,iA,AA),C0(IA),AA=rA+16400|0,iA=0;(0|iA)!=8;){for(sA=AA+(iA<<10)|0,QA=0;(0|QA)!=256;)Z[(BA=sA+(QA<<2)|0)>>2]=Z[BA>>2]<<13,QA=QA+1|0;iA=iA+1|0}for(h0(AA),u0(AA,IA,AA),pr(tA,tA,AA),Ci(tA),ci(tA),Q0(tA),BA=rA+16|0,AA=0;(0|AA)!=8;){for(UA=(iA=AA<<10)+tA|0,hA=iA+tA|0,DA=iA+BA|0,iA=0;(0|iA)!=256;)MA=(IA=iA<<2)+UA|0,vA=Z[IA+DA>>2],GA=QA=GA-16|0,IA=sA=Sr(QA+12|0,Z[IA+hA>>2]),vA&&(IA=sA+1&15,Z[QA+12>>2]>0||(IA=sA-1&15)),GA=QA+16|0,Z[MA>>2]=IA,iA=iA+1|0;AA=AA+1|0}for(br(iA=rA+90288|0,tA),xe(z),bt(z,nA,64),bt(z,iA,1024),Xe(z),zt(rA+90128|0,32,z),Ce(z),iA=0;;){if((0|iA)==32){KA=0;break A}if(z=(rA+90128|0)+iA|0,tA=(rA+90160|0)+iA|0,iA=iA+1|0,fA[0|tA]!=fA[0|z])break}}}return GA=rA+91312|0,0|KA}}})($)})(_)},instantiate:function(X,_){return{then:function($){var eA=new c.Module(X);$({instance:new c.Instance(eA,_)})}}},RuntimeError:Error};a=[],A(c)!="object"&&d("no native wasm support detected");var G,h,y,u,s=!1,F,Y,N=C.INITIAL_MEMORY||16777216;F="INITIAL_MEMORY should be larger than STACK_SIZE, was "+N+"! (STACK_SIZE=8388608)",N>=8388608||d(F),f=C.wasmMemory?C.wasmMemory:new c.Memory({initial:N/65536,maximum:N/65536}),Y=f.buffer,C.HEAP8=G=new Int8Array(Y),C.HEAP16=new Int16Array(Y),C.HEAP32=y=new Int32Array(Y),C.HEAPU8=h=new Uint8Array(Y),C.HEAPU16=new Uint16Array(Y),C.HEAPU32=new Uint32Array(Y),C.HEAPF32=new Float32Array(Y),C.HEAPF64=u=new Float64Array(Y),N=f.buffer.byteLength;var w=[],S=[],k=[],H=0,U=null,R=null;function d(X){throw C.onAbort&&C.onAbort(X),e(X="Aborted("+X+")"),s=!0,X+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(X)}var M,J,q="data:application/octet-stream;base64,";function l(X){return X.startsWith(q)}function m(X){return X.startsWith("file://")}function L(X){return Promise.resolve().then((function(){return(function(_){if(_==M&&a)return new Uint8Array(a);var $=P(_);if($)return $;if(g)return g(_);throw"both async and sync fetching of the wasm failed"})(X)}))}function p(X,_,$,eA){return(function(gA,oA,aA){return L(gA).then((function(cA){return c.instantiate(cA,oA)})).then((function(cA){return cA})).then(aA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(_,$,eA)}l(M="<<< WASM_BINARY_FILE >>>")||(J=M,M=C.locateFile?C.locateFile(J,n):n+J);var K={2340:function(){return C.getRandomValue()},2376:function(){if(C.getRandomValue===void 0)try{var I=(typeof window>"u"?"undefined":A(window))==="object"?window:self,g=I.crypto!==void 0?I.crypto:I.msCrypto,B=function(){var X=new Uint32Array(1);return g.getRandomValues(X),X[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var X=Q.randomBytes(4);return(X[0]<<24|X[1]<<16|X[2]<<8|X[3])>>>0};i(),C.getRandomValue=i}catch(X){throw"No secure random number generator found"}}}};function b(X){this.name="ExitStatus",this.message="Program terminated with exit(".concat(X,")"),this.status=X}var v=function(X){for(;X.length>0;)X.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(X,_,$){var eA=(function(gA,oA){var aA;for(O.length=0,oA>>=2;aA=h[gA++];)oA+=aA!=105&oA,O.push(aA==105?y[oA]:u[oA++>>1]),++oA;return O})(_,$);return K[X].apply(null,eA)},x=function(X){D||(C.onExit&&C.onExit(X),s=!0),Q(X,new b(X))},W={c:function(X,_,$){return T(X,_,$)},d:function(X){h.length,d("OOM")},b:function(X,_){x(X)},a:f};(function(){var X={a:W};function _($,eA){var gA,oA=$.exports;return C.asm=oA,C.asm.f,gA=C.asm.e,S.unshift(gA),(function(aA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),oA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(X,_)}catch($){return e("Module.instantiateWasm callback failed with error: "+$),!1}p(0,M,X,(function($){_($.instance)}))})(),C._malloc=function(){return(C._malloc=C.asm.g).apply(null,arguments)},C._free=function(){return(C._free=C.asm.h).apply(null,arguments)},C._dilithiumjs_init=function(){return(C._dilithiumjs_init=C.asm.i).apply(null,arguments)},C._dilithiumjs_public_key_bytes=function(){return(C._dilithiumjs_public_key_bytes=C.asm.j).apply(null,arguments)},C._dilithiumjs_secret_key_bytes=function(){return(C._dilithiumjs_secret_key_bytes=C.asm.k).apply(null,arguments)},C._dilithiumjs_signature_bytes=function(){return(C._dilithiumjs_signature_bytes=C.asm.l).apply(null,arguments)},C._dilithiumjs_keypair=function(){return(C._dilithiumjs_keypair=C.asm.m).apply(null,arguments)},C._dilithiumjs_sign=function(){return(C._dilithiumjs_sign=C.asm.n).apply(null,arguments)},C._dilithiumjs_verify=function(){return(C._dilithiumjs_verify=C.asm.o).apply(null,arguments)};function P(X){if(l(X))return(function(_){if(o!==void 0&&o){var $=Buffer.from(_,"base64");return new Uint8Array($.buffer,$.byteOffset,$.byteLength)}try{for(var eA=atob(_),gA=new Uint8Array(eA.length),oA=0;oA<eA.length;++oA)gA[oA]=eA.charCodeAt(oA);return gA}catch{throw new Error("Converting base64 string to bytes failed.")}})(X.slice(q.length))}function V(){function X(){j||(j=!0,C.calledRun=!0,s||(v(S),C.onRuntimeInitialized&&C.onRuntimeInitialized(),(function(){if(C.postRun)for(typeof C.postRun=="function"&&(C.postRun=[C.postRun]);C.postRun.length;)_=C.postRun.shift(),k.unshift(_);var _;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)_=C.preRun.shift(),w.unshift(_);var _;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),X()}),1)):X()))}if(C.writeArrayToMemory=function(X,_){G.set(X,_)},R=function X(){j||V(),j||(R=X)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(X,_){C.onAbort=_,C.onRuntimeInitialized=function(){X(C)}}))})).then((function(X){Object.keys(X).forEach((function(_){C[_]=X[_]}))}));var E=C.ready.then((function(){C._dilithiumjs_init(),A=C._dilithiumjs_public_key_bytes(),I=C._dilithiumjs_secret_key_bytes(),g=C._dilithiumjs_signature_bytes()})),o={publicKeyBytes:E.then((function(){return A})),privateKeyBytes:E.then((function(){return I})),bytes:E.then((function(){return g})),keyPair:function(){return E.then((function(){var X=C._malloc(A),_=C._malloc(I);try{return B(C._dilithiumjs_keypair(X,_),{publicKey:Q(X,A),privateKey:Q(_,I)})}finally{i(X),i(_)}}))},sign:function(X,_){return o.signDetached(X,_).then((function($){var eA=new Uint8Array(g+X.length);return eA.set($),eA.set(X,g),eA}))},signDetached:function(X,_){return E.then((function(){var $=C._malloc(g),eA=C._malloc(X.length),gA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),$),C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,gA);try{return B(C._dilithiumjs_sign($,eA,X.length,gA),Q($,g))}finally{i($),i(eA),i(gA)}}))},open:function(X,_){return E.then((function(){var $=new Uint8Array(X.buffer,X.byteOffset,g),eA=new Uint8Array(X.buffer,X.byteOffset+g,X.length-g);return o.verifyDetached($,eA,_).then((function(gA){if(gA)return eA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(X,_,$){return E.then((function(){var eA=C._malloc(g),gA=C._malloc(_.length),oA=C._malloc(A);C.writeArrayToMemory(X,eA),C.writeArrayToMemory(_,gA),C.writeArrayToMemory($,oA);try{return C._dilithiumjs_verify(gA,_.length,eA,oA)===0}finally{i(eA),i(gA),i(oA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var Wn=it(Dt=>{"use strict";HA();var _I=Dt&&Dt.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var gA=Object.getOwnPropertyDescriptor(_,$);(!gA||("get"in gA?!_.__esModule:gA.writable||gA.configurable))&&(gA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,gA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),jI=Dt&&Dt.__setModuleDefault||(Object.create?(function(X,_){Object.defineProperty(X,"default",{enumerable:!0,value:_})}):function(X,_){X.default=_}),TI=Dt&&Dt.__importStar||(function(){var X=function(_){return X=Object.getOwnPropertyNames||function($){var eA=[];for(var gA in $)Object.prototype.hasOwnProperty.call($,gA)&&(eA[eA.length]=gA);return eA},X(_)};return function(_){if(_&&_.__esModule)return _;var $={};if(_!=null)for(var eA=X(_),gA=0;gA<eA.length;gA++)eA[gA]!=="default"&&_I($,_,eA[gA]);return jI($,_),$}})();Object.defineProperty(Dt,"__esModule",{value:!0});Dt.MlDsaSuite=Dt.MlDsa87Suite=void 0;var I0=pi(),Ir=null;async function sr(){return Ir||(Ir=await Promise.resolve().then(()=>TI(Vn()))),Ir}var s0=class{constructor(){dA(this,"suiteId","ml-dsa-87");dA(this,"version","1.0.0")}async generateKeypair(){try{let $=await(await sr()).keyPair();return{publicKey:new Uint8Array($.publicKey),privateKey:new Uint8Array($.privateKey)}}catch(_){throw new Error(`ML-DSA-87 key generation failed: ${_ instanceof Error?_.message:String(_)}`)}}async sign(_,$){try{let gA=await(await sr()).signDetached(Buffer.from($),Buffer.from(_));return new Uint8Array(gA)}catch(eA){throw new Error(`ML-DSA-87 signing failed: ${eA instanceof Error?eA.message:String(eA)}`)}}async verify(_,$,eA){try{return await(await sr()).verifyDetached(Buffer.from(eA),Buffer.from($),Buffer.from(_))}catch{return!1}}exportPublicKey(_){return(0,I0.bytesToHex)(_)}importPublicKey(_){let $=(0,I0.hexToBytes)(_);if($.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${$.length}`);return $}exportPrivateKey(_){return(0,I0.bytesToHex)(_)}importPrivateKey(_){let $=(0,I0.hexToBytes)(_);if($.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${$.length}`);return $}};Dt.MlDsa87Suite=s0;var ar=class{constructor(){dA(this,"suiteId","ml-dsa-65");dA(this,"version","1.0.0");dA(this,"impl",new s0)}async generateKeypair(){return this.impl.generateKeypair()}async sign(_,$){return this.impl.sign(_,$)}async verify(_,$,eA){return this.impl.verify(_,$,eA)}exportPublicKey(_){return this.impl.exportPublicKey(_)}importPublicKey(_){return this.impl.importPublicKey(_)}exportPrivateKey(_){return this.impl.exportPrivateKey(_)}importPrivateKey(_){return this.impl.importPrivateKey(_)}};Dt.MlDsaSuite=ar});var a0=it(ZA=>{"use strict";HA();var PI=ZA&&ZA.__createBinding||(Object.create?(function(X,_,$,eA){eA===void 0&&(eA=$);var gA=Object.getOwnPropertyDescriptor(_,$);(!gA||("get"in gA?!_.__esModule:gA.writable||gA.configurable))&&(gA={enumerable:!0,get:function(){return _[$]}}),Object.defineProperty(X,eA,gA)}):(function(X,_,$,eA){eA===void 0&&(eA=$),X[eA]=_[$]})),Te=ZA&&ZA.__exportStar||function(X,_){for(var $ in X)$!=="default"&&!Object.prototype.hasOwnProperty.call(_,$)&&PI(_,X,$)};Object.defineProperty(ZA,"__esModule",{value:!0});ZA.globalRegistry=ZA.MlDsa87Suite=ZA.MlDsaSuite=ZA.BsvEcdsaSuite=void 0;Te(ag(),ZA);Te(Ri(),ZA);Te(pi(),ZA);Te(vg(),ZA);Te(qg(),ZA);Te(j0(),ZA);Te(Jg(),ZA);var VI=Pn();Object.defineProperty(ZA,"BsvEcdsaSuite",{enumerable:!0,get:function(){return VI.BsvEcdsaSuite}});var Xn=Wn();Object.defineProperty(ZA,"MlDsaSuite",{enumerable:!0,get:function(){return Xn.MlDsaSuite}});Object.defineProperty(ZA,"MlDsa87Suite",{enumerable:!0,get:function(){return Xn.MlDsa87Suite}});var WI=Ri();Object.defineProperty(ZA,"globalRegistry",{enumerable:!0,get:function(){return WI.globalRegistry}})});var ZI={};d0(ZI,{InMemoryKeyStorage:()=>Zn.InMemoryKeyStorage,createKeySDK:()=>Cr,default:()=>XI});HA();HA();var Br=p0(a0()),B0=class{constructor(_){this.keyCounter=new Map;this.keyRegistry=_.keyRegistry,this.suiteRegistry=_.suiteRegistry}async createKey(_,$,eA={}){let oA=await this.suiteRegistry.getSuite($.primarySignatureSuite).generateKeypair(),aA=this.getNextCounter(_),cA=$.primarySignatureSuite.split("-")[0],uA=`${_}:pk-${cA}-${aA}`;return{meta:await this.keyRegistry.registerKey(uA,oA,$.primarySignatureSuite,{expiresAt:eA.expiresAt,usage:eA.usage||["signing"],cryptoProfileVersion:eA.cryptoProfileVersion||"1.0.0"}),publicKey:oA.publicKey}}async getKey(_){let $=await this.keyRegistry.getPublicKey(_);return $?{meta:$.meta,publicKey:$.publicKey}:null}async signWithKey(_,$){let eA=await this.keyRegistry.getKey(_);if(!eA)throw new Error(`Key not found: ${_}`);if(eA.meta.status!=="active")throw new Error(`Key is not active: ${_} (status: ${eA.meta.status})`);let gA=this.suiteRegistry.getSuite(eA.meta.suiteId),oA=this.getHashAlgorithm(eA.meta.suiteId),aA=await(0,Br.hashBytes)($,oA);return await gA.sign(eA.keypair.privateKey,aA)}async verifySignature(_,$,eA){let gA=await this.keyRegistry.getPublicKey(_);if(!gA)return!1;let oA=this.suiteRegistry.getSuite(gA.meta.suiteId),aA=this.getHashAlgorithm(gA.meta.suiteId),cA=await(0,Br.hashBytes)($,aA);try{return await oA.verify(gA.publicKey,cA,eA)}catch{return!1}}async listKeysForAgent(_,$=!0){let gA=($?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(aA=>aA.keyId.startsWith(`${_}:`)),oA=[];for(let aA of gA){let cA=await this.keyRegistry.getPublicKey(aA.keyId);cA&&oA.push({meta:cA.meta,publicKey:cA.publicKey})}return oA}async getActiveCryptoProfile(_){let $=await this.listKeysForAgent(_,!0);if($.length===0)return null;let eA=new Set($.map(oA=>oA.meta.suiteId)),gA=Array.from(eA);return{primarySignatureSuite:gA[0],secondarySignatureSuite:gA[1]}}async rotateAgentKeys(_){let $=await this.listKeysForAgent(_,!0),eA=[];for(let gA of $){let aA=await this.suiteRegistry.getSuite(gA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(_),uA=gA.meta.suiteId.split("-")[0],yA=`${_}:pk-${uA}-${cA}`,EA=await this.keyRegistry.rotateKey(gA.meta.keyId,yA,aA);eA.push({meta:EA,publicKey:aA.publicKey})}return eA}async getOrCreateKey(_,$,eA={}){let oA=(await this.listKeysForAgent(_,!0)).find(aA=>aA.meta.suiteId===$.primarySignatureSuite);return oA||await this.createKey(_,$,eA)}getHashAlgorithm(_){return _.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(_){let eA=(this.keyCounter.get(_)||0)+1;return this.keyCounter.set(_,eA),eA}};var Xt=p0(a0());HA();var Zn=p0(a0());async function Cr(){let X=new Xt.InMemoryKeyStorage,_=new Xt.KeyRegistry(X),$=new Xt.SignatureSuiteRegistry;return $.register(new Xt.BsvEcdsaSuite),$.register(new Xt.MlDsaSuite),new B0({keyRegistry:_,suiteRegistry:$})}var XI={createKeySDK:Cr};typeof window<"u"&&(window.LumenKeys={createKeySDK:Cr});return fi(ZI);})();
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/utils.js: