@smartledger/keys 1.2.0 → 1.2.2

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 or=Object.create;var qe=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var sr=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Br=(z,X,eA)=>X in z?qe(z,X,{enumerable:!0,configurable:!0,writable:!0,value:eA}):z[X]=eA;var ae=(z,X)=>()=>(z&&(X=z(z=0)),X);var Qr=(z,X)=>()=>(X||z((X={exports:{}}).exports,X),X.exports),Ag=(z,X)=>{for(var eA in X)qe(z,eA,{get:X[eA],enumerable:!0})},tg=(z,X,eA,gA)=>{if(X&&typeof X=="object"||typeof X=="function")for(let IA of sr(X))!Cr.call(z,IA)&&IA!==eA&&qe(z,IA,{get:()=>X[IA],enumerable:!(gA=nr(X,IA))||gA.enumerable});return z};var cr=(z,X,eA)=>(eA=z!=null?or(ar(z)):{},tg(X||!z||!z.__esModule?qe(eA,"default",{value:z,enumerable:!0}):eA,z)),fr=z=>tg(qe({},"__esModule",{value:!0}),z);var pA=(z,X,eA)=>Br(z,typeof X!="symbol"?X+"":X,eA);var Buffer,process,mA=ae(()=>{"use strict";Buffer={from:function(z,X){if(typeof z=="string"){if(X==="base64"){let gA=atob(z),IA=new Uint8Array(gA.length);for(let sA=0;sA<gA.length;sA++)IA[sA]=gA.charCodeAt(sA);return IA}return new TextEncoder().encode(z)}return new Uint8Array(z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(X){if(X==="base64"){let eA="",gA=new Uint8Array(this);for(let IA=0;IA<gA.byteLength;IA++)eA+=String.fromCharCode(gA[IA]);return btoa(eA)}return z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function hr(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Mi(z,X=""){if(!Number.isSafeInteger(z)||z<0){let eA=X&&`"${X}" `;throw new Error(`${eA}expected integer >= 0, got ${z}`)}}function Fe(z,X,eA=""){let gA=hr(z),IA=z?.length,sA=X!==void 0;if(!gA||sA&&IA!==X){let CA=eA&&`"${eA}" `,cA=sA?` of length ${X}`:"",EA=gA?`length=${IA}`:`type=${typeof z}`;throw new Error(CA+"expected Uint8Array"+cA+", got "+EA)}return z}function He(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function Ci(z,X){Fe(z,void 0,"digestInto() output");let eA=X.outputLen;if(z.length<eA)throw new Error('"digestInto() output" expected to be of length >='+eA)}function eg(z){return new Uint32Array(z.buffer,z.byteOffset,Math.floor(z.byteLength/4))}function lt(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Bi(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Et(z,X){return z<<32-X|z>>>X}function yr(z){return z<<24&4278190080|z<<8&16711680|z>>>8&65280|z>>>24&255}function dr(z){for(let X=0;X<z.length;X++)z[X]=yr(z[X]);return z}function ve(z,X={}){let eA=(IA,sA)=>z(sA).update(IA).digest(),gA=z(void 0);return eA.outputLen=gA.outputLen,eA.blockLen=gA.blockLen,eA.create=IA=>z(IA),Object.assign(eA,X),Object.freeze(eA)}var ur,Ji,Oe,Qi=ae(()=>{mA();ur=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ji=ur?z=>z:dr;Oe=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])})});function ig(z,X,eA){return z&X^~z&eA}function gg(z,X,eA){return z&X^z&eA^X&eA}var Te,Kt,VA,rg=ae(()=>{mA();Qi();Te=class{constructor(X,eA,gA,IA){pA(this,"blockLen");pA(this,"outputLen");pA(this,"padOffset");pA(this,"isLE");pA(this,"buffer");pA(this,"view");pA(this,"finished",!1);pA(this,"length",0);pA(this,"pos",0);pA(this,"destroyed",!1);this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Bi(this.buffer)}update(X){He(this),Fe(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Bi(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){He(this),Ci(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,lt(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;gA.setBigUint64(IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Bi(X),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 BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},Kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),VA=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function lr(z,X=!1){return X?{h:Number(z&ci),l:Number(z>>Ig&ci)}:{h:Number(z>>Ig&ci)|0,l:Number(z&ci)|0}}function fi(z,X=!1){let eA=z.length,gA=new Uint32Array(eA),IA=new Uint32Array(eA);for(let sA=0;sA<eA;sA++){let{h:CA,l:cA}=lr(z[sA],X);[gA[sA],IA[sA]]=[CA,cA]}return[gA,IA]}function pt(z,X,eA,gA){let IA=(X>>>0)+(gA>>>0);return{h:z+eA+(IA/2**32|0)|0,l:IA|0}}var ci,Ig,qi,vi,Ce,Be,je,Pe,og,ng,sg,ag,Cg,Bg,Qg,cg,fg,Eg,Oi=ae(()=>{mA();ci=BigInt(4294967295),Ig=BigInt(32);qi=(z,X,eA)=>z>>>eA,vi=(z,X,eA)=>z<<32-eA|X>>>eA,Ce=(z,X,eA)=>z>>>eA|X<<32-eA,Be=(z,X,eA)=>z<<32-eA|X>>>eA,je=(z,X,eA)=>z<<64-eA|X>>>eA-32,Pe=(z,X,eA)=>z>>>eA-32|X<<64-eA,og=(z,X,eA)=>z<<eA|X>>>32-eA,ng=(z,X,eA)=>X<<eA|z>>>32-eA,sg=(z,X,eA)=>X<<eA-32|z>>>64-eA,ag=(z,X,eA)=>z<<eA-32|X>>>64-eA;Cg=(z,X,eA)=>(z>>>0)+(X>>>0)+(eA>>>0),Bg=(z,X,eA,gA)=>X+eA+gA+(z/2**32|0)|0,Qg=(z,X,eA,gA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0),cg=(z,X,eA,gA,IA)=>X+eA+gA+IA+(z/2**32|0)|0,fg=(z,X,eA,gA,IA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0)+(IA>>>0),Eg=(z,X,eA,gA,IA,sA)=>X+eA+gA+IA+sA+(z/2**32|0)|0});var xr,Xt,Ti,ji,hg,Dr,wr,Zt,zt,Pi,Wi,ug,yg,dg=ae(()=>{mA();rg();Oi();Qi();xr=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]),Xt=new Uint32Array(64),Ti=class extends Te{constructor(X){super(64,X,8,!1)}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Xt[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Xt[BA-15],_=Xt[BA-2],fA=Et(xA,7)^Et(xA,18)^xA>>>3,FA=Et(_,17)^Et(_,19)^_>>>10;Xt[BA]=FA+Xt[BA-7]+fA+Xt[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=Et(cA,6)^Et(cA,11)^Et(cA,25),_=uA+xA+ig(cA,EA,yA)+xr[BA]+Xt[BA]|0,FA=(Et(gA,2)^Et(gA,13)^Et(gA,22))+gg(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+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(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){lt(Xt)}destroy(){this.set(0,0,0,0,0,0,0,0),lt(this.buffer)}},ji=class extends Ti{constructor(){super(32);pA(this,"A",Kt[0]|0);pA(this,"B",Kt[1]|0);pA(this,"C",Kt[2]|0);pA(this,"D",Kt[3]|0);pA(this,"E",Kt[4]|0);pA(this,"F",Kt[5]|0);pA(this,"G",Kt[6]|0);pA(this,"H",Kt[7]|0)}},hg=fi(["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(z=>BigInt(z))),Dr=hg[0],wr=hg[1],Zt=new Uint32Array(80),zt=new Uint32Array(80),Pi=class extends Te{constructor(X){super(128,X,16,!1)}get(){let{Ah:X,Al:eA,Bh:gA,Bl:IA,Ch:sA,Cl:CA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:BA,Fl:xA,Gh:_,Gl:fA,Hh:FA,Hl:UA}=this;return[X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA]}set(X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA){this.Ah=X|0,this.Al=eA|0,this.Bh=gA|0,this.Bl=IA|0,this.Ch=sA|0,this.Cl=CA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=BA|0,this.Fl=xA|0,this.Gh=_|0,this.Gl=fA|0,this.Hh=FA|0,this.Hl=UA|0}process(X,eA){for(let HA=0;HA<16;HA++,eA+=4)Zt[HA]=X.getUint32(eA),zt[HA]=X.getUint32(eA+=4);for(let HA=16;HA<80;HA++){let it=Zt[HA-15]|0,ut=zt[HA-15]|0,GA=Ce(it,ut,1)^Ce(it,ut,8)^qi(it,ut,7),lA=Be(it,ut,1)^Be(it,ut,8)^vi(it,ut,7),ZA=Zt[HA-2]|0,XA=zt[HA-2]|0,vt=Ce(ZA,XA,19)^je(ZA,XA,61)^qi(ZA,XA,6),Ot=Be(ZA,XA,19)^Pe(ZA,XA,61)^vi(ZA,XA,6),te=Qg(lA,Ot,zt[HA-7],zt[HA-16]),le=cg(te,GA,vt,Zt[HA-7],Zt[HA-16]);Zt[HA]=le|0,zt[HA]=te|0}let{Ah:gA,Al:IA,Bh:sA,Bl:CA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:BA,El:xA,Fh:_,Fl:fA,Gh:FA,Gl:UA,Hh:bA,Hl:YA}=this;for(let HA=0;HA<80;HA++){let it=Ce(BA,xA,14)^Ce(BA,xA,18)^je(BA,xA,41),ut=Be(BA,xA,14)^Be(BA,xA,18)^Pe(BA,xA,41),GA=BA&_^~BA&FA,lA=xA&fA^~xA&UA,ZA=fg(YA,ut,lA,wr[HA],zt[HA]),XA=Eg(ZA,bA,it,GA,Dr[HA],Zt[HA]),vt=ZA|0,Ot=Ce(gA,IA,28)^je(gA,IA,34)^je(gA,IA,39),te=Be(gA,IA,28)^Pe(gA,IA,34)^Pe(gA,IA,39),le=gA&sA^gA&cA^sA&cA,gi=IA&CA^IA&EA^CA&EA;bA=FA|0,YA=UA|0,FA=_|0,UA=fA|0,_=BA|0,fA=xA|0,{h:BA,l:xA}=pt(yA|0,uA|0,XA|0,vt|0),yA=cA|0,uA=EA|0,cA=sA|0,EA=CA|0,sA=gA|0,CA=IA|0;let pe=Cg(vt,te,gi);gA=Bg(pe,XA,Ot,le),IA=pe|0}({h:gA,l:IA}=pt(this.Ah|0,this.Al|0,gA|0,IA|0)),{h:sA,l:CA}=pt(this.Bh|0,this.Bl|0,sA|0,CA|0),{h:cA,l:EA}=pt(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=pt(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:BA,l:xA}=pt(this.Eh|0,this.El|0,BA|0,xA|0),{h:_,l:fA}=pt(this.Fh|0,this.Fl|0,_|0,fA|0),{h:FA,l:UA}=pt(this.Gh|0,this.Gl|0,FA|0,UA|0),{h:bA,l:YA}=pt(this.Hh|0,this.Hl|0,bA|0,YA|0),this.set(gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA,bA,YA)}roundClean(){lt(Zt,zt)}destroy(){lt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wi=class extends Pi{constructor(){super(64);pA(this,"Ah",VA[0]|0);pA(this,"Al",VA[1]|0);pA(this,"Bh",VA[2]|0);pA(this,"Bl",VA[3]|0);pA(this,"Ch",VA[4]|0);pA(this,"Cl",VA[5]|0);pA(this,"Dh",VA[6]|0);pA(this,"Dl",VA[7]|0);pA(this,"Eh",VA[8]|0);pA(this,"El",VA[9]|0);pA(this,"Fh",VA[10]|0);pA(this,"Fl",VA[11]|0);pA(this,"Gh",VA[12]|0);pA(this,"Gl",VA[13]|0);pA(this,"Hh",VA[14]|0);pA(this,"Hl",VA[15]|0)}},ug=ve(()=>new ji,Oe(1)),yg=ve(()=>new Wi,Oe(3))});function Nr(z,X=24){let eA=new Uint32Array(10);for(let gA=24-X;gA<24;gA++){for(let CA=0;CA<10;CA++)eA[CA]=z[CA]^z[CA+10]^z[CA+20]^z[CA+30]^z[CA+40];for(let CA=0;CA<10;CA+=2){let cA=(CA+8)%10,EA=(CA+2)%10,yA=eA[EA],uA=eA[EA+1],BA=lg(yA,uA,1)^eA[cA],xA=pg(yA,uA,1)^eA[cA+1];for(let _=0;_<50;_+=10)z[CA+_]^=BA,z[CA+_+1]^=xA}let IA=z[2],sA=z[3];for(let CA=0;CA<24;CA++){let cA=Dg[CA],EA=lg(IA,sA,cA),yA=pg(IA,sA,cA),uA=xg[CA];IA=z[uA],sA=z[uA+1],z[uA]=EA,z[uA+1]=yA}for(let CA=0;CA<50;CA+=10){for(let cA=0;cA<10;cA++)eA[cA]=z[CA+cA];for(let cA=0;cA<10;cA++)z[CA+cA]^=~eA[(cA+2)%10]&eA[(cA+4)%10]}z[0]^=Hr[gA],z[1]^=kr[gA]}lt(eA)}var br,We,Gr,mr,Sr,Fr,xg,Dg,wg,bg,Hr,kr,lg,pg,_i,Ur,Gg,mg=ae(()=>{mA();Oi();Qi();br=BigInt(0),We=BigInt(1),Gr=BigInt(2),mr=BigInt(7),Sr=BigInt(256),Fr=BigInt(113),xg=[],Dg=[],wg=[];for(let z=0,X=We,eA=1,gA=0;z<24;z++){[eA,gA]=[gA,(2*eA+3*gA)%5],xg.push(2*(5*gA+eA)),Dg.push((z+1)*(z+2)/2%64);let IA=br;for(let sA=0;sA<7;sA++)X=(X<<We^(X>>mr)*Fr)%Sr,X&Gr&&(IA^=We<<(We<<BigInt(sA))-We);wg.push(IA)}bg=fi(wg,!0),Hr=bg[0],kr=bg[1],lg=(z,X,eA)=>eA>32?sg(z,X,eA):og(z,X,eA),pg=(z,X,eA)=>eA>32?ag(z,X,eA):ng(z,X,eA);_i=class z{constructor(X,eA,gA,IA=!1,sA=24){pA(this,"state");pA(this,"pos",0);pA(this,"posOut",0);pA(this,"finished",!1);pA(this,"state32");pA(this,"destroyed",!1);pA(this,"blockLen");pA(this,"suffix");pA(this,"outputLen");pA(this,"enableXOF",!1);pA(this,"rounds");if(this.blockLen=X,this.suffix=eA,this.outputLen=gA,this.enableXOF=IA,this.rounds=sA,Mi(gA,"outputLen"),!(0<X&&X<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=eg(this.state)}clone(){return this._cloneInto()}keccak(){Ji(this.state32),Nr(this.state32,this.rounds),Ji(this.state32),this.posOut=0,this.pos=0}update(X){He(this),Fe(X);let{blockLen:eA,state:gA}=this,IA=X.length;for(let sA=0;sA<IA;){let CA=Math.min(eA-this.pos,IA-sA);for(let cA=0;cA<CA;cA++)gA[this.pos++]^=X[sA++];this.pos===eA&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:X,suffix:eA,pos:gA,blockLen:IA}=this;X[gA]^=eA,(eA&128)!==0&&gA===IA-1&&this.keccak(),X[IA-1]^=128,this.keccak()}writeInto(X){He(this,!1),Fe(X),this.finish();let eA=this.state,{blockLen:gA}=this;for(let IA=0,sA=X.length;IA<sA;){this.posOut>=gA&&this.keccak();let CA=Math.min(gA-this.posOut,sA-IA);X.set(eA.subarray(this.posOut,this.posOut+CA),IA),this.posOut+=CA,IA+=CA}return X}xofInto(X){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(X)}xof(X){return Mi(X),this.xofInto(new Uint8Array(X))}digestInto(X){if(Ci(X,this),this.finished)throw new Error("digest() was already called");return this.writeInto(X),this.destroy(),X}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,lt(this.state)}_cloneInto(X){let{blockLen:eA,suffix:gA,outputLen:IA,rounds:sA,enableXOF:CA}=this;return X||(X=new z(eA,gA,IA,CA,sA)),X.state32.set(this.state32),X.pos=this.pos,X.posOut=this.posOut,X.finished=this.finished,X.rounds=sA,X.suffix=gA,X.outputLen=IA,X.enableXOF=CA,X.destroyed=this.destroyed,X}},Ur=(z,X,eA,gA={})=>ve(()=>new _i(X,z,eA),gA),Gg=Ur(6,136,32,Oe(8))});var Ei={};Ag(Ei,{createHash:()=>Sg,default:()=>Yr});function Sg(z){let X=new Uint8Array(0),eA;switch(z.toLowerCase()){case"sha256":case"sha-256":eA=ug;break;case"sha512":case"sha-512":eA=yg;break;case"sha3-256":eA=Gg;break;default:throw new Error(`Unsupported hash algorithm: ${z}`)}return{update(gA){let IA=gA instanceof Uint8Array?gA:new Uint8Array(gA),sA=new Uint8Array(X.length+IA.length);return sA.set(X),sA.set(IA,X.length),X=sA,this},digest(){return eA(X)}}}var Yr,hi=ae(()=>{"use strict";mA();dg();mg();Yr={createHash:Sg}});var rr=Qr((exports,module)=>{mA();var dilithium=(function(){var A,I,g,C={};function B(z,X){if(z===0)return X;throw new Error("Dilithium error: "+z)}function Q(z,X){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,z,X))}function i(z){try{C._free(z)}catch(X){setTimeout((function(){throw X}),0)}}C.ready=new Promise((function(A,I){function g(z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},g(z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(z){I(z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(z,X){throw X},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(z,X){var eA=x(z);return eA?X?eA:eA.toString():(z=q(z)?new URL(z):e.normalize(z),a.readFileSync(z,X?void 0:"utf8"))},B=function(z){var X=C(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!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(z){if(!(z==="unwind"||z instanceof p||z.context instanceof p))throw z})),E=function(z,X){throw process.exitCode=z,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(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=x(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},n&&(B=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=x(z);if(eA)return eA;throw gA}}));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(z){throw Q.onAbort&&Q.onAbort(z),D(z="Aborted("+z+")"),F=!0,z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(z)}var R,d,M="data:application/octet-stream;base64,";function J(z){return z.startsWith(M)}function q(z){return z.startsWith("file://")}function l(z){return Promise.resolve().then((function(){return(function(X){if(X==R&&f)return new Uint8Array(f);var eA=x(X);if(eA)return eA;if(B)return B(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function m(z,X,eA,gA){return(function(IA,sA,CA){return l(IA).then((function(cA){return WebAssembly.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(X,eA,gA)}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+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 z=new Uint32Array(1);return I.getRandomValues(z),z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var z=B.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),Q.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function p(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var K=function(z){for(;z.length>0;)z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(z,X,eA){var gA=(function(IA,sA){var CA;for(v.length=0,sA>>=2;CA=y[IA++];)sA+=CA!=105&sA,v.push(CA==105?u[sA]:s[sA++>>1]),++sA;return v})(X,eA);return L[z].apply(null,gA)},O=function(z){G||(Q.onExit&&Q.onExit(z),F=!0),E(z,new p(z))},T={b:function(z,X,eA){return j(z,X,eA)},d:function(z,X,eA){return y.copyWithin(z,X,X+eA)},c:function(z){y.length,U("OOM")},a:function(z,X){O(z)}};(function(){var z={a:T};function X(eA,gA){var IA,sA,CA=eA.exports;return Q.asm=CA,c=Q.asm.e,IA=c.buffer,Q.HEAP8=h=new Int8Array(IA),Q.HEAP16=new Int16Array(IA),Q.HEAP32=u=new Int32Array(IA),Q.HEAPU8=y=new Uint8Array(IA),Q.HEAPU16=new Uint16Array(IA),Q.HEAPU32=new Uint32Array(IA),Q.HEAPF32=new Float32Array(IA),Q.HEAPF64=s=new Float64Array(IA),Q.asm.g,sA=Q.asm.f,N.unshift(sA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var EA=H;H=null,EA()}})(),CA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(z,X)}catch(eA){return D("Module.instantiateWasm callback failed with error: "+eA),!1}m(0,R,z,(function(eA){X(eA.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(z){if(J(z))return(function(X){if(r!==void 0&&r){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(M.length))}function W(){function z(){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;)X=Q.postRun.shift(),w.unshift(X);var X;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)X=Q.preRun.shift(),Y.unshift(X);var X;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),z()}),1)):z()))}if(Q.writeArrayToMemory=function(z,X){h.set(z,X)},H=function z(){b||W(),b||(H=z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},A(z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(z,X){throw X},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(z,X){var eA=P(z);return eA?X?eA:eA.toString():(z=m(z)?new URL(z):t.normalize(z),r.readFileSync(z,X?void 0:"utf8"))},g=function(z){var X=I(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!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(z){if(!(z==="unwind"||z instanceof b||z.context instanceof b))throw z})),Q=function(z,X){throw process.exitCode=z,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(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=P(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},E&&(g=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=P(z);if(eA)return eA;throw gA}}));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(z){this.buffer=new ArrayBuffer(65536*z.initial)},Module:function(z){},Instance:function(z,X){this.exports=(function(eA){for(var gA,IA=new Uint8Array(123),sA=25;sA>=0;--sA)IA[48+sA]=52+sA,IA[65+sA]=sA,IA[97+sA]=26+sA;function CA(EA,yA,uA){for(var BA,xA,_=0,fA=yA,FA=uA.length,UA=yA+(3*FA>>2)-(uA[FA-2]=="=")-(uA[FA-1]=="=");_<FA;_+=4)BA=IA[uA.charCodeAt(_+1)],xA=IA[uA.charCodeAt(_+2)],EA[fA++]=IA[uA.charCodeAt(_)]<<2|BA>>4,fA<UA&&(EA[fA++]=BA<<4|xA>>2),fA<UA&&(EA[fA++]=xA<<6|IA[uA.charCodeAt(_+3)])}function cA(){throw new Error("abort")}return IA[43]=62,IA[47]=63,(function(EA){var yA=EA.a,uA=yA.a.buffer,BA=new Int8Array(uA),xA=new Int16Array(uA),_=new Int32Array(uA),fA=new Uint8Array(uA),FA=new Uint16Array(uA),UA=new Uint32Array(uA),bA=(new Float32Array(uA),new Float64Array(uA),Math.imul),YA=Math.clz32,HA=yA.b,it=yA.c,ut=yA.d,GA=8392208,lA=0;function ZA(Z){var tA,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;GA=tA=GA-16|0;A:{e:{t:{i:{n:{I:{s:{f:{C:{a:{o:{B:{Q:{g:{if((Z|=0)>>>0<=244){if(3&(AA=(nA=_[776])>>>($=(aA=Z>>>0<11?16:Z+11&-8)>>>3|0)|0)){AA=(Z=($=$+(1&(-1^AA))|0)<<3)+3144|0,iA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[iA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):_[776]=yt($)&nA,Z=iA+8|0,AA=$<<3,_[iA+4>>2]=3|AA,_[(AA=AA+iA|0)+4>>2]=1|_[AA+4>>2];break A}if((dA=_[778])>>>0>=aA>>>0)break g;if(AA){AA=(Z=(iA=Yi(0-(Z=(0-(Z=2<<$)|Z)&AA<<$)&Z))<<3)+3144|0,rA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[rA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):(nA=yt(iA)&nA,_[776]=nA),_[rA+4>>2]=3|aA,iA=(Z=iA<<3)-aA|0,_[($=rA+aA|0)+4>>2]=1|iA,_[Z+rA>>2]=iA,dA&&(AA=3144+(-8&dA)|0,oA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=oA,_[Z+12>>2]=oA,_[oA+12>>2]=AA,_[oA+8>>2]=Z),Z=rA+8|0,_[781]=$,_[778]=iA;break A}if(!(hA=_[777]))break g;for($=_[3408+(Yi(0-hA&hA)<<2)>>2],oA=(-8&_[$+4>>2])-aA|0,AA=$;(Z=_[AA+16>>2])||(Z=_[AA+20>>2]);)oA=(iA=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,$=iA?Z:$,AA=Z;if(QA=_[$+24>>2],(0|(iA=_[$+12>>2]))!=(0|$)){Z=_[$+8>>2],_[Z+12>>2]=iA,_[iA+8>>2]=Z;break e}if(!(Z=_[(AA=$+20|0)>>2])){if(!(Z=_[$+16>>2]))break Q;AA=$+16|0}for(;rA=AA,iA=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=iA+16|0,Z=_[iA+16>>2]););_[rA>>2]=0;break e}if(aA=-1,!(Z>>>0>4294967231)&&(aA=-8&(Z=Z+11|0),hA=_[777])){oA=0-aA|0,nA=0,aA>>>0<256||(nA=31,aA>>>0>16777215||(nA=62+((aA>>>38-(Z=YA(Z>>>8|0))&1)-(Z<<1)|0)|0));r:{c:{if(AA=_[3408+(nA<<2)>>2])for(Z=0,$=aA<<((0|nA)!=31?25-(nA>>>1|0)|0:0);;){if(!((rA=(-8&_[AA+4>>2])-aA|0)>>>0>=oA>>>0||(iA=AA,oA=rA,rA))){oA=0,Z=AA;break c}if(rA=_[AA+20>>2],AA=_[16+(($>>>29&4)+AA|0)>>2],Z=rA?(0|rA)==(0|AA)?Z:rA:Z,$<<=1,!AA)break}else Z=0;if(!(Z|iA)){if(iA=0,!(Z=(0-(Z=2<<nA)|Z)&hA))break g;Z=_[3408+(Yi(Z&0-Z)<<2)>>2]}if(!Z)break r}for(;oA=($=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,iA=$?Z:iA,Z=(AA=_[Z+16>>2])||_[Z+20>>2];);}if(!(!iA|_[778]-aA>>>0<=oA>>>0)){if(nA=_[iA+24>>2],(0|iA)!=(0|($=_[iA+12>>2]))){Z=_[iA+8>>2],_[Z+12>>2]=$,_[$+8>>2]=Z;break t}if(!(Z=_[(AA=iA+20|0)>>2])){if(!(Z=_[iA+16>>2]))break B;AA=iA+16|0}for(;rA=AA,$=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=$+16|0,Z=_[$+16>>2]););_[rA>>2]=0;break t}}}if((Z=_[778])>>>0>=aA>>>0){iA=_[781],(AA=Z-aA|0)>>>0>=16?(_[($=iA+aA|0)+4>>2]=1|AA,_[Z+iA>>2]=AA,_[iA+4>>2]=3|aA):(_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2],$=0,AA=0),_[778]=AA,_[781]=$,Z=iA+8|0;break A}if((QA=_[779])>>>0>aA>>>0){AA=QA-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}if(Z=0,hA=aA+47|0,_[894]?$=_[896]:(_[897]=-1,_[898]=-1,_[895]=4096,_[896]=4096,_[894]=tA+12&-16^1431655768,_[899]=0,_[887]=0,$=4096),(AA=(rA=hA+$|0)&(oA=0-$|0))>>>0<=aA>>>0||(iA=_[886])&&iA>>>0<(nA=($=_[884])+AA|0)>>>0|$>>>0>=nA>>>0)break A;g:{if(!(4&fA[3548])){r:{c:{E:{h:{if(iA=_[782])for(Z=3552;;){if(($=_[Z>>2])>>>0<=iA>>>0&iA>>>0<$+_[Z+4>>2]>>>0)break h;if(!(Z=_[Z+8>>2]))break}if((0|($=De(0)))==-1||(nA=AA,(Z=(iA=_[895])-1|0)&$&&(nA=(AA-$|0)+(Z+$&0-iA)|0),nA>>>0<=aA>>>0)||(iA=_[886])&&iA>>>0<(oA=(Z=_[884])+nA|0)>>>0|Z>>>0>=oA>>>0)break r;if((0|$)!=(0|(Z=De(nA))))break E;break g}if((0|($=De(nA=oA&rA-QA)))==(_[Z>>2]+_[Z+4>>2]|0))break c;Z=$}if((0|Z)==-1)break r;if(aA+48>>>0<=nA>>>0){$=Z;break g}if((0|De($=($=_[896])+(hA-nA|0)&0-$))==-1)break r;nA=$+nA|0,$=Z;break g}if((0|$)!=-1)break g}_[887]=4|_[887]}if((0|($=De(AA)))==-1|(0|(Z=De(0)))==-1|Z>>>0<=$>>>0||(nA=Z-$|0)>>>0<=aA+40>>>0)break C}Z=_[884]+nA|0,_[884]=Z,Z>>>0>UA[885]&&(_[885]=Z);g:{if(rA=_[782]){for(Z=3552;;){if(((iA=_[Z>>2])+(AA=_[Z+4>>2])|0)==(0|$))break g;if(!(Z=_[Z+8>>2]))break}break o}for((Z=_[780])>>>0<=$>>>0&&Z||(_[780]=$),Z=0,_[889]=nA,_[888]=$,_[784]=-1,_[785]=_[894],_[891]=0;AA=(iA=Z<<3)+3144|0,_[iA+3152>>2]=AA,_[iA+3156>>2]=AA,(0|(Z=Z+1|0))!=32;);AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898];break a}if(8&_[Z+12>>2]|$>>>0<=rA>>>0|iA>>>0>rA>>>0)break o;_[Z+4>>2]=AA+nA,$=(Z=rA+8&7?-8-rA&7:0)+rA|0,_[782]=$,Z=(AA=_[779]+nA|0)-Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[4+(AA+rA|0)>>2]=40,_[783]=_[898];break a}iA=0;break e}$=0;break t}UA[780]>$>>>0&&(_[780]=$),AA=$+nA|0,Z=3552;o:{B:{Q:{for(;;){if((0|AA)!=_[Z>>2]){if(Z=_[Z+8>>2])continue;break Q}break}if(!(8&fA[Z+12|0]))break B}for(Z=3552;;){if((AA=_[Z>>2])>>>0<=rA>>>0&&(oA=AA+_[Z+4>>2]|0)>>>0>rA>>>0)break o;Z=_[Z+8>>2]}}if(_[Z>>2]=$,_[Z+4>>2]=_[Z+4>>2]+nA,_[(hA=($+8&7?-8-$&7:0)+$|0)+4>>2]=3|aA,Z=(nA=AA+(AA+8&7?-8-AA&7:0)|0)-(QA=aA+hA|0)|0,(0|rA)==(0|nA)){_[782]=QA,Z=_[779]+Z|0,_[779]=Z,_[QA+4>>2]=1|Z;break i}if(_[781]==(0|nA)){_[781]=QA,Z=_[778]+Z|0,_[778]=Z,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z;break i}if((3&(oA=_[nA+4>>2]))!=1)break n;if(rA=-8&oA,oA>>>0<=255){if((0|($=_[nA+12>>2]))==(0|(AA=_[nA+8>>2]))){_[776]=_[776]&yt(oA>>>3|0);break I}_[AA+12>>2]=$,_[$+8>>2]=AA;break I}if(aA=_[nA+24>>2],(0|nA)!=(0|($=_[nA+12>>2]))){AA=_[nA+8>>2],_[AA+12>>2]=$,_[$+8>>2]=AA;break s}if(!(oA=_[(AA=nA+20|0)>>2])){if(!(oA=_[nA+16>>2]))break f;AA=nA+16|0}for(;iA=AA,(oA=_[(AA=($=oA)+20|0)>>2])||(AA=$+16|0,oA=_[$+16>>2]););_[iA>>2]=0;break s}for(AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898],_[(iA=(Z=(oA+(oA-39&7?39-oA&7:0)|0)-47|0)>>>0<rA+16>>>0?rA:Z)+4>>2]=27,Z=_[891],_[iA+16>>2]=_[890],_[iA+20>>2]=Z,Z=_[889],_[iA+8>>2]=_[888],_[iA+12>>2]=Z,_[890]=iA+8,_[889]=nA,_[888]=$,_[891]=0,Z=iA+24|0;_[Z+4>>2]=7,AA=Z+8|0,Z=Z+4|0,AA>>>0<oA>>>0;);if((0|iA)!=(0|rA))if(_[iA+4>>2]=-2&_[iA+4>>2],oA=iA-rA|0,_[rA+4>>2]=1|oA,_[iA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;o:{if((iA=_[777])&($=1<<Z)){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),iA=_[AA>>2];;){if((0|oA)==(-8&_[(AA=iA)+4>>2]))break o;if($=Z>>>29|0,Z<<=1,!(iA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|iA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break a}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}}if(!((Z=_[779])>>>0<=aA>>>0)){AA=Z-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}}_[775]=48,Z=0;break A}$=0}if(aA){iA=_[nA+28>>2];s:{if(_[(AA=3408+(iA<<2)|0)>>2]==(0|nA)){if(_[AA>>2]=$,$)break s;_[777]=_[777]&yt(iA);break I}if(_[aA+(_[aA+16>>2]==(0|nA)?16:20)>>2]=$,!$)break I}_[$+24>>2]=aA,(AA=_[nA+16>>2])&&(_[$+16>>2]=AA,_[AA+24>>2]=$),(AA=_[nA+20>>2])&&(_[$+20>>2]=AA,_[AA+24>>2]=$)}}Z=Z+rA|0,oA=_[(nA=rA+nA|0)+4>>2]}if(_[nA+4>>2]=-2&oA,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z,Z>>>0<=255)AA=3144+(-8&Z)|0,($=_[776])&(Z=1<<(Z>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=QA,_[Z+12>>2]=QA,_[QA+12>>2]=AA,_[QA+8>>2]=Z;else{oA=31,Z>>>0<=16777215&&(oA=62+((Z>>>38-(AA=YA(Z>>>8|0))&1)-(AA<<1)|0)|0),_[QA+28>>2]=oA,_[QA+16>>2]=0,_[QA+20>>2]=0,AA=3408+(oA<<2)|0;n:{if((iA=_[777])&($=1<<oA)){for(oA=Z<<((0|oA)!=31?25-(oA>>>1|0)|0:0),$=_[AA>>2];;){if(AA=$,(-8&_[$+4>>2])==(0|Z))break n;if($=oA>>>29|0,oA<<=1,!($=_[(iA=(4&$)+AA|0)+16>>2]))break}_[iA+16>>2]=QA}else _[777]=$|iA,_[AA>>2]=QA;_[QA+24>>2]=AA,_[QA+12>>2]=QA,_[QA+8>>2]=QA;break i}Z=_[AA+8>>2],_[Z+12>>2]=QA,_[AA+8>>2]=QA,_[QA+24>>2]=0,_[QA+12>>2]=AA,_[QA+8>>2]=Z}}Z=hA+8|0;break A}t:if(nA){AA=_[iA+28>>2];i:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|iA)){if(_[Z>>2]=$,$)break i;hA=yt(AA)&hA,_[777]=hA;break t}if(_[nA+(_[nA+16>>2]==(0|iA)?16:20)>>2]=$,!$)break t}_[$+24>>2]=nA,(Z=_[iA+16>>2])&&(_[$+16>>2]=Z,_[Z+24>>2]=$),(Z=_[iA+20>>2])&&(_[$+20>>2]=Z,_[Z+24>>2]=$)}t:if(oA>>>0<=15)Z=oA+aA|0,_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2];else if(_[iA+4>>2]=3|aA,_[(rA=iA+aA|0)+4>>2]=1|oA,_[rA+oA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;i:{if(($=1<<Z)&hA){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),aA=_[AA>>2];;){if((-8&_[(AA=aA)+4>>2])==(0|oA))break i;if($=Z>>>29|0,Z<<=1,!(aA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|hA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break t}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}Z=iA+8|0;break A}e:if(QA){AA=_[$+28>>2];t:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|$)){if(_[Z>>2]=iA,iA)break t;_[777]=yt(AA)&hA;break e}if(_[QA+(_[QA+16>>2]==(0|$)?16:20)>>2]=iA,!iA)break e}_[iA+24>>2]=QA,(Z=_[$+16>>2])&&(_[iA+16>>2]=Z,_[Z+24>>2]=iA),(Z=_[$+20>>2])&&(_[iA+20>>2]=Z,_[Z+24>>2]=iA)}oA>>>0<=15?(Z=oA+aA|0,_[$+4>>2]=3|Z,_[(Z=Z+$|0)+4>>2]=1|_[Z+4>>2]):(_[$+4>>2]=3|aA,_[(iA=$+aA|0)+4>>2]=1|oA,_[iA+oA>>2]=oA,dA&&(AA=3144+(-8&dA)|0,rA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z),_[781]=iA,_[778]=oA),Z=$+8|0}return GA=tA+16|0,0|Z}function XA(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0,zA=0,rt=0,It=0,ot=0,nt=0,st=0,At=0,at=0,tt=0,Ct=0,Bt=0,Qt=0,ct=0,ft=0,dt=0,mt=0,ie=0,St=0,Ft=0,Ht=0,kt=0,jt=0,Nt=0,Ut=0,Yt=0,Rt=0,Lt=0,Pt=0,Wt=0,_t=0,ge=0,re=0,Vt=0,Ie=0,oe=0,be=0,Ge=0,ne=0,se=0,me=0,ni=0,si=0,ai=0,m0=0,S0=0,F0=0,H0=0,k0=0,N0=0,U0=0,Y0=0,R0=0,L0=0,Ki=0,K0=0,M0=0,J0=0,q0=0,v0=0,O0=0,T0=0,j0=0,P0=0,W0=0,_0=0,V0=0,X0=0,Z0=0,z0=0,$0=0;for(St=_[Z+192>>2],Ft=_[Z+196>>2],It=_[Z+184>>2],Ht=_[Z+188>>2],kt=_[Z+176>>2],jt=_[Z+180>>2],ot=_[Z+168>>2],Nt=_[Z+172>>2],OA=_[Z+160>>2],re=_[Z+164>>2],Ut=_[Z+152>>2],Vt=_[Z+156>>2],Yt=_[Z+144>>2],Rt=_[Z+148>>2],nt=_[Z+136>>2],st=_[Z+140>>2],At=_[Z+128>>2],Ie=_[Z+132>>2],Lt=_[Z+120>>2],oe=_[Z+124>>2],at=_[Z+112>>2],tt=_[Z+116>>2],NA=_[Z+104>>2],WA=_[Z+108>>2],Ct=_[Z+96>>2],Bt=_[Z+100>>2],QA=_[Z+88>>2],_A=_[Z+92>>2],nA=_[Z+80>>2],Qt=_[Z+84>>2],oA=_[Z+72>>2],ct=_[Z+76>>2],SA=_[Z+64>>2],KA=_[Z+68>>2],TA=_[Z+56>>2],kA=_[Z+60>>2],AA=_[Z+48>>2],Pt=_[Z+52>>2],iA=_[Z+40>>2],RA=_[Z+44>>2],JA=_[Z+32>>2],ft=_[Z+36>>2],dA=_[Z+24>>2],qA=_[Z+28>>2],hA=_[Z+16>>2],zA=_[Z+20>>2],$=_[Z+8>>2],vA=_[Z+12>>2],aA=_[Z>>2],jA=_[Z+4>>2];ai>>>0<=23;)tA=dA^SA^NA^It^Yt,dt=wA(LA=aA^iA^nA^OA^Lt,PA=jA^RA^Qt^re^oe,1)^tA,rA=wA(JA^dt,ft^(mt=(be=qA^KA^WA^Ht^Rt)^lA),27),Ge=lA,Wt=rt=zA^kA^Bt^st^jt,rt=wA(ie=hA^TA^Ct^nt^kt,rt,1)^LA,LA=wA(QA^rt,_A^(_t=lA^PA),10),ne=lA,ge=PA=vA^Pt^_A^Nt^Ie,se=JA^oA^at^St^Ut,JA=wA(ni=$^AA^QA^ot^At,PA,1)^se,PA=wA(PA=iA^JA,RA^(_A=(iA=ft^ct^tt^Ft^Vt)^lA),36),me=lA,QA=wA($^rt,vA^_t,1),vA=lA,RA=wA(se,iA,1)^ie,NA=wA(RA^NA,(ie=WA)^(WA=lA^Wt),25),Wt=lA,ft=wA(tA,be,1)^ni,$=wA(ft^TA,(ie=kA)^(kA=lA^ge),6),be=lA,TA=wA(dA^RA,qA^WA,28),qA=lA,nA=wA(nA^JA,_A^Qt,3),Qt=lA,tA=wA(oA^dt,ct^mt,20),ie=dA=lA,oA=wA(hA^ft,kA^zA,62),ct=lA,at=wA(at^dt,tt^mt,39),tt=lA,iA=wA(SA^RA,KA^WA,55),zA=hA=lA,KA=_[(SA=(ni=ai<<3)+1120|0)>>2],SA=_[SA+4>>2],Ct=wA(Ct^ft,kA^Bt,43),Bt=lA,AA=wA(AA^rt,Pt^_t,44),si=hA=(m0=(jA^=_A)^(-1^(Pt=lA))&Bt^SA)^(S0=(-1^hA)&tt^ct)^(F0=(-1^dA)&Qt^qA)^(H0=(-1^me)&ne^Ge)^(k0=(-1^be)&Wt^vA),SA=wA(KA=(N0=(ge=aA^JA)^(-1^AA)&Ct^KA)^(U0=(-1^iA)&at^oA)^(Y0=(-1^tA)&nA^TA)^(R0=(-1^PA)&LA^rA)^(L0=(-1^$)&NA^QA),hA,1),dA=lA,nt=wA(nt^ft,kA^st,15),st=lA,It=wA(RA^It,WA^Ht,56),se=lA,Yt=wA(RA^Yt,WA^Rt,21),Ht=lA,St=wA(St^dt,Ft^mt,14),Rt=lA,Lt=wA(JA^Lt,_A^oe,41),Ft=lA,hA=wA(ot^rt,Nt^_t,2),aA=lA,Ut=wA(Ut^dt,mt^Vt,8),Nt=lA,ot=wA(OA^JA,_A^re,18),JA=lA,OA=wA(At^rt,_t^Ie,45),At=lA,Ki=(-1^It)&rA^nt,RA=(-1^St)&ge^Yt,Vt=(-1^hA)&oA^Lt,_A=(-1^ot)&QA^Ut,kt=wA(ft^kt,kA^jt,61),oA=wA((SA^=Ie=Ki^RA^Vt^_A^(re=(-1^kt)&TA^OA))^(oe=(-1^oA)&iA^hA),(dA^=q0=(K0=(-1^se)&Ge^st)^(M0=(-1^Rt)&jA^Ht)^(WA=(-1^aA)&ct^Ft)^(kA=(-1^JA)&vA^Nt)^(J0=(-1^(jt=lA))&qA^At))^(ct=(-1^ct)&zA^aA),14),dt=lA,$0=aA=(v0=Wt^(-1^Nt)&JA)^(O0=Bt^(-1^Ht)&Rt)^(T0=(-1^Ft)&aA^tt)^(j0=Qt^(-1^At)&jt)^(P0=(-1^st)&se^ne),aA=wA(z0=(W0=NA^(-1^Ut)&ot)^(_0=Ct^(-1^Yt)&St)^(V0=(-1^Lt)&hA^at)^(X0=nA^(-1^OA)&kt)^(Z0=(-1^nt)&It^LA),aA,1)^KA,nA=wA(aA^(hA=(-1^nA)&OA^tA),(KA=lA^si)^(OA=(-1^Qt)&At^ie),44),mt=lA,At=zA^(-1^tt)&Ft,tt=be^(-1^Wt)&Nt,ne=me^(-1^ne)&st,LA=(It=(Wt=It^(-1^rA)&PA)^(si=kt^(-1^TA)&tA)^(rA=ot^(-1^QA)&$)^oe^(st=(-1^ge)&AA^St))^wA($=(tA=iA^(-1^at)&Lt)^(at=$^(-1^NA)&Ut)^(ge=PA^(-1^LA)&nt)^(Ct=(-1^Ct)&Yt^AA)^hA,OA^=At^tt^ne^(Bt=(-1^Bt)&Ht^Pt),1),_t=AA=(TA=(iA=(Ge=se^(-1^Ge)&me)^(me=jt^(-1^qA)&ie)^(ot=JA^(-1^vA)&be)^ct^(nt=(-1^jA)&Pt^Rt))^lA)^m0,hA=oA,PA=nA,JA=oA^nA&(-1^(rt=LA^N0)),ft=(-1^AA)&mt^dt,tA=wA(tA^aA,KA^At,2),QA=lA,qA=wA(It,iA,1)^z0,iA=wA(re^qA,J0^(zA=$0^lA),55),NA=lA,vA=wA(Ie,q0,1)^$,$=wA(vA^_0,(jA=OA^lA)^O0,62),nA=AA=lA,St=(-1^$)&iA^tA,Ft=(-1^AA)&NA^QA,It=(AA=wA(LA^R0,TA^H0,41))^(-1^tA)&$,Ht=(oA=lA)^(-1^QA)&nA,kt=(rA=wA(rA^SA,dA^ot,39))^(-1^AA)&tA,jt=(tA=lA)^(-1^oA)&QA,ot=iA^(-1^rA)&AA,Nt=NA^(-1^tA)&oA,OA=$^(-1^iA)&rA,re=nA^(-1^NA)&tA,tA=wA(qA^Vt,zA^WA,56),QA=lA,iA=wA(LA^Y0,TA^F0,36),NA=lA,$=wA(SA^st,dA^nt,27),nA=AA=lA,Ut=(-1^$)&iA^tA,Vt=(-1^AA)&NA^QA,Yt=(AA=wA(vA^Z0,jA^P0,15))^(-1^tA)&$,Rt=(oA=lA)^(-1^QA)&nA,nt=(rA=wA(aA^at,KA^tt,10))^(-1^AA)&tA,st=(tA=lA)^(-1^oA)&QA,At=iA^(-1^rA)&AA,Ie=NA^(-1^tA)&oA,Lt=(-1^iA)&rA^$,oe=(-1^NA)&tA^nA,tA=wA(LA^U0,TA^S0,18),QA=lA,iA=wA(vA^X0,jA^j0,6),oA=lA,$=wA(aA^Ct,KA^Bt,1),Qt=AA=lA,at=(-1^$)&iA^tA,tt=(-1^AA)&oA^QA,NA=(AA=wA(SA^Wt,dA^Ge,8))^(-1^tA)&$,WA=(nA=lA)^(-1^QA)&Qt,Ct=(rA=wA(qA^_A,kA^zA,25))^(-1^AA)&tA,Bt=(tA=lA)^(-1^nA)&QA,QA=iA^(-1^rA)&AA,_A=oA^(-1^tA)&nA,nA=(-1^iA)&rA^$,Qt^=(-1^oA)&tA,tA=wA(vA^V0,jA^T0,61),kA=lA,iA=wA(SA^si,dA^me,20),dA=lA,$=wA(RA^qA,zA^M0,28),RA=AA=lA,oA=(-1^$)&iA^tA,ct=(-1^AA)&dA^kA,SA=(AA=wA(aA^ge,KA^ne,45))^(-1^tA)&$,KA=(aA=lA)^(-1^kA)&RA,TA=(rA=wA(LA^L0,TA^k0,3))^(-1^AA)&tA,kA=(tA=lA)^(-1^aA)&kA,AA=(-1^rA)&AA^iA,Pt=(-1^tA)&aA^dA,iA=$^(-1^iA)&rA,RA^=(-1^dA)&tA,dA=($=wA(qA^Ki,zA^K0,21))^(-1^hA)&rt,qA=(rA=lA)^(-1^dt)&_t,hA=(tA=wA(vA^W0,jA^v0,43))^(-1^$)&hA,zA=(LA=lA)^(-1^rA)&dt,$=(-1^tA)&$^PA,vA=(-1^LA)&rA^mt,aA=rt^_[(rA=1120+(8|ni)|0)>>2]^(-1^PA)&tA,jA=_t^_[rA+4>>2]^(-1^mt)&LA,ai=ai+2|0;_[Z+192>>2]=St,_[Z+196>>2]=Ft,_[Z+184>>2]=It,_[Z+188>>2]=Ht,_[Z+176>>2]=kt,_[Z+180>>2]=jt,_[Z+168>>2]=ot,_[Z+172>>2]=Nt,_[Z+160>>2]=OA,_[Z+164>>2]=re,_[Z+152>>2]=Ut,_[Z+156>>2]=Vt,_[Z+144>>2]=Yt,_[Z+148>>2]=Rt,_[Z+136>>2]=nt,_[Z+140>>2]=st,_[Z+128>>2]=At,_[Z+132>>2]=Ie,_[Z+120>>2]=Lt,_[Z+124>>2]=oe,_[Z+112>>2]=at,_[Z+116>>2]=tt,_[Z+104>>2]=NA,_[Z+108>>2]=WA,_[Z+96>>2]=Ct,_[Z+100>>2]=Bt,_[Z+88>>2]=QA,_[Z+92>>2]=_A,_[Z+80>>2]=nA,_[Z+84>>2]=Qt,_[Z+72>>2]=oA,_[Z+76>>2]=ct,_[Z+64>>2]=SA,_[Z+68>>2]=KA,_[Z+56>>2]=TA,_[Z+60>>2]=kA,_[Z+48>>2]=AA,_[Z+52>>2]=Pt,_[Z+40>>2]=iA,_[Z+44>>2]=RA,_[Z+32>>2]=JA,_[Z+36>>2]=ft,_[Z+24>>2]=dA,_[Z+28>>2]=qA,_[Z+16>>2]=hA,_[Z+20>>2]=zA,_[Z+8>>2]=$,_[Z+12>>2]=vA,_[Z>>2]=aA,_[Z+4>>2]=jA}function vt(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;A:if(Z|=0){rA=($=Z-8|0)+(Z=-8&(tA=_[Z-4>>2]))|0;e:if(!(1&tA)){if(!(3&tA)||($=$-(tA=_[$>>2])|0)>>>0<UA[780])break A;Z=Z+tA|0;t:{i:{if(_[781]!=(0|$)){if(tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[$+12>>2]))==(0|(AA=_[$+8>>2]))){_[776]=_[776]&yt(iA);break e}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break e}if(oA=_[$+24>>2],(0|$)!=(0|(tA=_[$+12>>2]))){AA=_[$+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(!(AA=_[(iA=$+20|0)>>2])){if(!(AA=_[$+16>>2]))break i;iA=$+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break t}if((3&(tA=_[rA+4>>2]))!=3)break e;return _[778]=Z,_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,void(_[rA>>2]=Z)}tA=0}if(oA){AA=_[$+28>>2];t:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|$)){if(_[iA>>2]=tA,tA)break t;_[777]=_[777]&yt(AA);break e}if(_[oA+(_[oA+16>>2]==(0|$)?16:20)>>2]=tA,!tA)break e}_[tA+24>>2]=oA,(AA=_[$+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[$+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(!($>>>0>=rA>>>0)&&1&(tA=_[rA+4>>2])){e:{t:{i:{n:{if(!(2&tA)){if(_[782]==(0|rA)){if(_[782]=$,Z=_[779]+Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[781]!=(0|$))break A;return _[778]=0,void(_[781]=0)}if(_[781]==(0|rA))return _[781]=$,Z=_[778]+Z|0,_[778]=Z,_[$+4>>2]=1|Z,void(_[Z+$>>2]=Z);if(Z=(-8&tA)+Z|0,tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[rA+12>>2]))==(0|(AA=_[rA+8>>2]))){_[776]=_[776]&yt(iA);break t}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(oA=_[rA+24>>2],(0|rA)!=(0|(tA=_[rA+12>>2]))){AA=_[rA+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break i}if(!(AA=_[(iA=rA+20|0)>>2])){if(!(AA=_[rA+16>>2]))break n;iA=rA+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break i}_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,_[Z+$>>2]=Z;break e}tA=0}if(oA){AA=_[rA+28>>2];i:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|rA)){if(_[iA>>2]=tA,tA)break i;_[777]=_[777]&yt(AA);break t}if(_[oA+(_[oA+16>>2]==(0|rA)?16:20)>>2]=tA,!tA)break t}_[tA+24>>2]=oA,(AA=_[rA+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[rA+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(_[$+4>>2]=1|Z,_[Z+$>>2]=Z,_[781]==(0|$))return void(_[778]=Z)}if(Z>>>0<=255)return tA=3144+(-8&Z)|0,(AA=_[776])&(Z=1<<(Z>>>3))?Z=_[tA+8>>2]:(_[776]=Z|AA,Z=tA),_[tA+8>>2]=$,_[Z+12>>2]=$,_[$+12>>2]=tA,void(_[$+8>>2]=Z);AA=31,Z>>>0<=16777215&&(AA=62+((Z>>>38-(tA=YA(Z>>>8|0))&1)-(tA<<1)|0)|0),_[$+28>>2]=AA,_[$+16>>2]=0,_[$+20>>2]=0,tA=3408+(AA<<2)|0;e:{t:{if((iA=_[777])&(nA=1<<AA)){for(AA=Z<<((0|AA)!=31?25-(AA>>>1|0)|0:0),tA=_[tA>>2];;){if(iA=tA,(-8&_[tA+4>>2])==(0|Z))break t;if(tA=AA>>>29|0,AA<<=1,!(tA=_[(nA=iA+(4&tA)|0)+16>>2]))break}_[nA+16>>2]=$,_[$+24>>2]=iA}else _[777]=iA|nA,_[tA>>2]=$,_[$+24>>2]=tA;_[$+12>>2]=$,_[$+8>>2]=$;break e}Z=_[iA+8>>2],_[Z+12>>2]=$,_[iA+8>>2]=$,_[$+24>>2]=0,_[$+12>>2]=iA,_[$+8>>2]=Z}Z=_[784]-1|0,_[784]=Z||-1}}}function Ot(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0,hA=0,dA=0,SA=0;for(GA=rA=GA-160|0,nA=rA+12|0,oA=ZA(200),_[nA>>2]=oA,oA||(HA(111),cA()),GA=iA=GA-208|0;;){if((0|aA)==25){for(;;){if(aA=0,$>>>0<136){for(QA=0;;){if((0|aA)==136){for(;(0|$)!=(0|QA);)BA[QA+iA|0]=fA[AA+QA|0],QA=QA+1|0;break}BA[aA+iA|0]=0,aA=aA+1|0}for(BA[$+iA|0]=31,BA[iA+135|0]=128|fA[iA+135|0],aA=0;(0|aA)!=17;)QA=_[(AA=($=aA<<3)+oA|0)>>2],hA=_[AA+4>>2],_[AA>>2]=Q0($+iA|0)^QA,_[AA+4>>2]=lA^hA,aA=aA+1|0;GA=iA+208|0;break}for(;(0|aA)!=17;)dA=_[(QA=(hA=aA<<3)+oA|0)>>2],SA=_[QA+4>>2],_[QA>>2]=Q0(AA+hA|0)^dA,_[QA+4>>2]=lA^SA,aA=aA+1|0;XA(oA),AA=AA+136|0,$=$-136|0}break}_[(QA=(aA<<3)+oA|0)>>2]=0,_[QA+4>>2]=0,aA=aA+1|0}s0(Z,AA=(tA>>>0)/136|0,nA);A:if((0|(AA=bA(AA,136)))!=(0|tA))for($=tA-AA|0,Z=Z+AA|0,s0(rA+16|0,1,rA+12|0),tA=0;;){if((0|tA)==(0|$))break A;BA[Z+tA|0]=fA[(rA+16|0)+tA|0],tA=tA+1|0}vt(_[rA+12>>2]),GA=rA+160|0}function te(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;;){A:{if(nA=0,oA=0,aA=hA=_[Z+204>>2],!(!((QA=$+(iA=_[Z+200>>2])|0)>>>0<$>>>0?aA+1|0:aA)&tA>>>0>QA>>>0)){for(;!(!oA&(rA=tA-iA|0)>>>0<=nA>>>0|(0|oA)!=0);)hA=_[(aA=(-8&(iA=iA+nA|0))+Z|0)+4>>2],QA=fA[AA+nA|0],rA=31&(iA<<=3),(63&iA)>>>0>=32?(iA=QA<<rA,rA=0):(iA=(1<<rA)-1&QA>>>32-rA,rA=QA<<rA),_[aA>>2]=rA^_[aA>>2],_[aA+4>>2]=iA^hA,oA=(nA=nA+1|0)?oA:oA+1|0,iA=_[Z+200>>2],hA=_[Z+204>>2];_[Z+200>>2]=0,_[Z+204>>2]=0,XA(Z),AA=AA+rA|0,$=$-rA|0;continue}for(;;){if(!SA&(0|$)==(0|dA))break A;tA=dA+_[Z+200>>2]|0,rA=_[(oA=(-8&tA)+Z|0)+4>>2],nA=fA[AA+dA|0],tA=31&(iA=tA<<3),(63&iA)>>>0>=32?(iA=nA<<tA,tA=0):(iA=(1<<tA)-1&nA>>>32-tA,tA=nA<<tA),_[oA>>2]=tA^_[oA>>2],_[oA+4>>2]=iA^rA,tA=SA,SA=(dA=dA+1|0)?tA:tA+1|0}}break}tA=_[Z+204>>2],tA=(AA=$+_[Z+200>>2]|0)>>>0<$>>>0?tA+1|0:tA,_[Z+200>>2]=AA,_[Z+204>>2]=tA}function le(Z,tA,AA,$){var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;for(QA=tA;;){oA=_[AA+200>>2],nA=_[AA+204>>2];A:{if(!aA&(0|iA)==(0|QA))rA=tA;else{if(rA=iA,(0|aA)==(0|nA)&oA>>>0>iA>>>0|aA>>>0<nA>>>0)break A;QA=iA}for(iA=oA-QA|0,aA=nA-((oA>>>0<QA>>>0)+0|0)|0,QA=tA-rA|0,tA=Z+rA|0;_[AA+200>>2]=iA,_[AA+204>>2]=aA,QA;){for(XA(AA),Z=$>>>0>QA>>>0?QA:$,rA=0;(0|Z)!=(0|rA);)nA=_[(iA=(-8&rA)+AA|0)>>2],oA=_[iA+4>>2],iA=31&(aA=rA<<3&56),BA[tA+rA|0]=(63&aA)>>>0>=32?oA>>>iA|0:((1<<iA)-1&oA)<<32-iA|nA>>>iA,rA=rA+1|0;QA=QA-Z|0,tA=Z+tA|0,iA=$-Z|0,aA=0}return}dA=hA=Z+rA|0,hA=_[(nA=(-8&(oA=iA+($-oA|0)|0))+AA|0)>>2],nA=_[nA+4>>2],rA=31&(oA<<=3),BA[0|dA]=(63&oA)>>>0>=32?nA>>>rA|0:((1<<rA)-1&nA)<<32-rA|hA>>>rA,aA=(iA=iA+1|0)?aA:aA+1|0}}function gi(Z,tA){var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0;for(GA=AA=GA-160|0,ee(rA=AA+12|0),gt(rA,tA,32),we(rA),Gt(AA+16|0,136,rA);;){if(!$&(0|iA)==8){for(tA=0;;){if((0|tA)==256){for(tA=8,iA=196;(0|iA)!=256;){for(;tA>>>0>=136&&(Gt(AA+16|0,136,AA+12|0),tA=0),$=(AA+16|0)+tA|0,tA=tA+1|0,($=fA[0|$])>>>0>iA>>>0;);$=($<<2)+Z|0,_[(iA<<2)+Z>>2]=_[$>>2],_[$>>2]=1-(nA<<1&2),iA=iA+1|0,nA=(1&aA)<<31|nA>>>1,aA=aA>>>1|0}Tt(AA+12|0),GA=AA+160|0;break}_[(tA<<2)+Z>>2]=0,tA=tA+1|0}break}rA=fA[(AA+16|0)+iA|0],tA=31&(oA=iA<<3),(63&oA)>>>0>=32?(oA=rA<<tA,tA=0):(oA=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),nA|=tA,aA|=oA,$=(iA=iA+1|0)?$:$+1|0}}function pe(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;(0|nA)!=8;){for(dA=nA<<8,SA=bA(nA,7168)+Z|0,oA=0;(0|oA)!=7;){for(GA=AA=(GA=iA=GA-864|0)-16|0,$=oA+dA|0,BA[AA+14|0]=$,BA[AA+15|0]=$>>>8,ee($=iA+12|0),G0($,tA,32),G0($,AA+14|0,2),o0(_[$>>2],168),GA=AA+16|0,AA=840,b0(rA=iA+16|0,840,$),$=B0(QA=(oA<<10)+SA|0,256,rA,840);$>>>0<=255;){for(aA=AA-(rA=(AA>>>0)%3|0)|0,AA=0;(0|AA)!=(0|rA);)BA[(hA=iA+16|0)+AA|0]=fA[(AA+aA|0)+hA|0],AA=AA+1|0;b0((AA=iA+16|0)|rA,168,iA+12|0),$=B0(($<<2)+QA|0,256-$|0,aA=AA,AA=168|rA)+$|0}Tt(iA+12|0),GA=iA+864|0,oA=oA+1|0}nA=nA+1|0}}function r0(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;rA=256,$=1;A:for(;;){e:{if(AA=0,$>>>0>255)for(;;){if((0|oA)==256)break e;tA=xe(tA=_[(iA=(oA<<2)+Z|0)>>2],tA>>31,41978,0),_[iA>>2]=Ii(tA,lA),oA=oA+1|0}for(;;){t:{if(AA>>>0<=255)for(aA=AA+$|0,hA=(iA=0-_[1312+((rA=rA-1|0)<<2)>>2]|0)>>31;;){if((0|AA)==(0|aA))break t;QA=_[(tA=(AA<<2)+Z|0)>>2],dA=tA,tA=_[(nA=(AA+$<<2)+Z|0)>>2],_[dA>>2]=QA+tA,tA=QA-tA|0,_[nA>>2]=tA,_[nA>>2]=Ii(xe(tA,tA>>31,iA,hA),lA),AA=AA+1|0}$<<=1;continue A}AA=$+aA|0}}break}}function I0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;(0|iA)!=32;)AA=(iA<<5)+Z|0,$=bA(iA,3)+tA|0,rA=7&fA[0|$],_[AA>>2]=rA,oA=fA[0|$]>>>3&7,_[AA+4>>2]=oA,nA=fA[$+1|0]<<2&4|fA[0|$]>>>6,_[AA+8>>2]=nA,aA=fA[$+1|0]>>>1&7,_[AA+12>>2]=aA,QA=fA[$+1|0]>>>4&7,_[AA+16>>2]=QA,hA=fA[$+2|0]<<1&6|fA[$+1|0]>>>7,_[AA+20>>2]=hA,dA=fA[$+2|0]>>>2&7,_[AA+24>>2]=dA,$=fA[$+2|0],_[AA+4>>2]=2-oA,_[AA>>2]=2-rA,_[AA+8>>2]=2-nA,_[AA+12>>2]=2-aA,_[AA+16>>2]=2-QA,_[AA+20>>2]=2-hA,_[AA+24>>2]=2-dA,_[AA+28>>2]=2-($>>>5|0),iA=iA+1|0}function wA(Z,tA,AA){var $=0,iA=0,rA=0,oA=0;return iA=31&(rA=oA=63&AA),rA=rA>>>0>=32?-1>>>iA|0:($=-1>>>iA|0)|(1<<iA)-1<<32-iA,rA&=Z,$&=tA,iA=31&oA,oA>>>0>=32?($=rA<<iA,oA=0):($=(1<<iA)-1&rA>>>32-iA|$<<iA,oA=rA<<iA),rA=$,$=31&(iA=0-AA&63),iA>>>0>=32?($=-1<<$,AA=0):$=(AA=-1<<$)|(1<<$)-1&-1>>>32-$,Z&=AA,tA&=$,$=31&iA,iA>>>0>=32?(AA=0,Z=tA>>>$|0):(AA=tA>>>$|0,Z=((1<<$)-1&tA)<<32-$|Z>>>$),lA=AA|rA,Z|=oA}function Fi(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;for(AA=128;tA=0,AA;){for(;tA>>>0<=255;){for(oA=tA>>>0>($=tA+AA|0)>>>0?tA:$,QA=($=_[1312+((nA=nA+1|0)<<2)>>2])>>31;(0|tA)!=(0|oA);)rA=Ii(xe(rA=_[(iA=(tA+AA<<2)+Z|0)>>2],rA>>31,$,QA),lA),hA=iA,aA=_[(iA=(tA<<2)+Z|0)>>2],_[hA>>2]=aA-rA,_[iA>>2]=rA+aA,tA=tA+1|0;tA=AA+oA|0}AA=AA>>>1|0}}function o0(Z,tA){var AA,$=0,iA=0,rA=0;$=_[Z+200>>2],AA=_[(iA=Z+(-8&$)|0)+4>>2],$=31&(rA=$<<3),(63&rA)>>>0>=32?(rA=31<<$,$=0):(rA=(1<<$)-1&31>>>32-$,$=31<<$),_[iA>>2]=$^_[iA>>2],_[iA+4>>2]=rA^AA,rA=_[(tA=(-8&($=tA-1|0))+Z|0)+4>>2],$=31&(iA=$<<3&56),(63&iA)>>>0>=32?(iA=128<<$,$=0):(iA=(1<<$)-1&128>>>32-$,$=128<<$),_[tA>>2]=$^_[tA>>2],_[tA+4>>2]=iA^rA,_[Z+200>>2]=0,_[Z+204>>2]=0}function n0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;(0|$)!=32;)nA=_[(AA=($<<5)+tA|0)+16>>2],aA=_[AA+12>>2],iA=_[AA+28>>2],QA=_[AA+20>>2],hA=_[AA+24>>2],rA=bA($,3)+Z|0,oA=16-(_[AA+4>>2]<<3)|2-_[AA>>2],AA=2-_[AA+8>>2]|0,BA[0|rA]=oA|AA<<6,oA=64-(iA<<5)|0,iA=2-QA|0,BA[rA+2|0]=oA|8-(hA<<2)|(254&iA)>>>1,BA[rA+1|0]=32-(nA<<4)|4-(aA<<1)|(252&AA)>>>2|iA<<7,$=$+1|0}function s0(Z,tA,AA){var $,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;$=_[AA>>2];A:for(;;){if(tA)for(XA($),AA=0;;){if((0|AA)==17){tA=tA-1|0,Z=Z+136|0;continue A}for(QA=(iA=AA<<3)+Z|0,hA=_[(iA=iA+$|0)>>2],nA=_[iA+4>>2],rA=0,iA=0;(0|rA)!=8|iA;)oA=31&(aA=rA<<3),BA[rA+QA|0]=(63&aA)>>>0>=32?nA>>>oA|0:((1<<oA)-1&nA)<<32-oA|hA>>>oA,iA=(rA=rA+1|0)?iA:iA+1|0;AA=AA+1|0}break}}function a0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|oA)!=128;)iA=(oA<<3)+Z|0,AA=bA(oA,5)+tA|0,$=fA[0|AA],_[iA>>2]=$,$|=fA[AA+1|0]<<8,_[iA>>2]=$,$|=fA[AA+2|0]<<16&983040,_[iA>>2]=$,rA=fA[AA+2|0]>>>4|0,_[iA+4>>2]=rA,rA|=fA[AA+3|0]<<4,_[iA+4>>2]=rA,AA=fA[AA+4|0],_[iA>>2]=524288-$,_[iA+4>>2]=524288-(rA|AA<<12),oA=oA+1|0}function C0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0;!(tA>>>0<=$>>>0|rA>>>0>135);)oA=(iA=fA[AA+rA|0])>>>4|0,rA=rA+1|0,(0|(iA&=15))!=15&&(_[($<<2)+Z>>2]=2+(bA(bA(iA,205)>>>10|0,5)-iA|0),$=$+1|0),(0|oA)==15|tA>>>0<=$>>>0||(_[($<<2)+Z>>2]=2+(bA(bA(oA,205)>>>10|0,5)-oA|0),$=$+1|0);return $}function Hi(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|$)!=8;){for(GA=iA=GA-1024|0,ri(oA=($<<10)+Z|0,nA=bA($,7168)+tA|0,AA),rA=1;(0|rA)!=7;)ri(iA,(aA=rA<<10)+nA|0,AA+aA|0),Ni(oA,oA,iA),rA=rA+1|0;GA=iA+1024|0,$=$+1|0}}function B0(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0;!(tA>>>0<=rA>>>0||(iA=nA+3|0)>>>0>$>>>0);)oA=AA+nA|0,nA=iA,(iA=fA[oA+2|0]<<16&8323072|fA[0|oA]|fA[oA+1|0]<<8)>>>0>8380416||(_[(rA<<2)+Z>>2]=iA,rA=rA+1|0);return rA}function Q0(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;!(!iA&(0|AA)==8);)rA=fA[Z+AA|0],tA=31&($=AA<<3),(63&$)>>>0>=32?($=rA<<tA,tA=0):($=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),oA|=tA,nA|=$,iA=(AA=AA+1|0)?iA:iA+1|0;return lA=nA,oA}function xe(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0;return nA=bA(aA=AA>>>16|0,QA=Z>>>16|0),aA=(65535&(QA=((oA=bA(iA=65535&AA,rA=65535&Z))>>>16|0)+bA(QA,iA)|0))+bA(aA,rA)|0,lA=(bA(tA,AA)+nA|0)+bA(Z,$)+(QA>>>16)+(aA>>>16)|0,65535&oA|aA<<16}function c0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|iA)!=8;){for(oA=($=iA<<10)+Z|0,nA=tA+$|0,aA=AA+$|0,$=0;(0|$)!=256;)_[oA+(rA=$<<2)>>2]=_[rA+nA>>2]-_[rA+aA>>2],$=$+1|0;iA=iA+1|0}}function f0(Z,tA,AA){var $,iA;for(GA=$=GA-160|0,p0(iA=$+12|0,tA,AA),Gt(tA=$+16|0,136,iA),AA=C0(Z,256,tA);AA>>>0<=255;)Gt(tA=$+16|0,136,$+12|0),AA=C0((AA<<2)+Z|0,256-AA|0,tA)+AA|0;Tt($+12|0),GA=$+160|0}function E0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|$)!=8;){for(rA=($<<7)+Z|0,oA=($<<10)+tA|0,AA=0;(0|AA)!=128;)iA=(AA<<3)+oA|0,BA[AA+rA|0]=_[iA+4>>2]<<4|_[iA>>2],AA=AA+1|0;$=$+1|0}}function ki(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0;(0|AA)!=8;){for(rA=(AA<<10)+Z|0,tA=0;(0|tA)!=256;)iA=_[($=(tA<<2)+rA|0)>>2],_[$>>2]=iA+(iA>>31&8380417),tA=tA+1|0;AA=AA+1|0}}function ee(Z){var tA=0,AA=0;for(tA=Z,Z=ZA(208),_[tA>>2]=Z,Z||(HA(111),cA());(0|AA)!=25;)_[(tA=Z+(AA<<3)|0)>>2]=0,_[tA+4>>2]=0,AA=AA+1|0;_[Z+200>>2]=0,_[Z+204>>2]=0}function ri(Z,tA,AA){for(var $=0,iA=0,rA=0;(0|iA)!=256;)$=xe($=_[(rA=iA<<2)+AA>>2],$>>31,$=_[tA+rA>>2],$>>31),_[Z+rA>>2]=Ii($,lA),iA=iA+1|0}function De(Z){var tA,AA;return(Z=(tA=_[584])+(AA=Z+7&-8)|0)>>>0<=tA>>>0&&AA||Z>>>0>(uA.byteLength/65536|0)<<16>>>0&&!(0|ut(0|Z))?(_[775]=48,-1):(_[584]=Z,tA)}function h0(Z,tA){var AA=0,$=0;if((0|tA)<=1047552)for(;;){if((0|$)==256)return 0;if(AA=$<<2,$=$+1|0,!(((AA=_[Z+AA>>2])-(AA<<1&AA>>31)|0)<(0|tA)))break}return 1}function u0(Z){for(var tA=0,AA=0,$=0;(0|tA)!=256;)$=_[(AA=(tA<<2)+Z|0)>>2],_[AA>>2]=$+bA($+4194304>>23,-8380417),tA=tA+1|0}function y0(Z,tA){var AA;return AA=Z,Z=bA(tA+127>>7,1025)+2097152>>>22&15,tA=bA(Z,-523776)+tA|0,_[AA>>2]=((0|tA)>4190208?-8380417:0)+tA,Z}function d0(Z){for(var tA=0,AA=0;;){if((0|tA)==7)return 0;if(AA=tA<<10,tA=tA+1|0,h0(Z+AA|0,524168))break}return 1}function l0(Z,tA){for(var AA=0,$=0;;){if((0|AA)==8)return 0;if($=AA<<10,AA=AA+1|0,h0(Z+$|0,tA))break}return 1}function Ni(Z,tA,AA){for(var $=0,iA=0;(0|$)!=256;)_[(iA=$<<2)+Z>>2]=_[AA+iA>>2]+_[tA+iA>>2],$=$+1|0}function p0(Z,tA,AA){var $;GA=$=GA-16|0,BA[$+14|0]=AA,BA[$+15|0]=AA>>>8,ee(Z),gt(Z,tA,64),gt(Z,$+14|0,2),we(Z),GA=$+16|0}function Ii(Z,tA){var AA=0;return xe(Z,tA,0,58728449),AA=xe(AA=lA,AA>>31,-8380417,-1),tA=tA+lA|0,Z+AA>>>0<Z>>>0?tA+1|0:tA}function x0(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)Ni((iA=$<<10)+Z|0,tA+iA|0,AA+iA|0),$=$+1|0}function Ui(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)ri((iA=$<<10)+Z|0,tA,AA+iA|0),$=$+1|0}function D0(Z,tA){var AA=0;for(AA=7168;BA[0|Z]=fA[0|tA],Z=Z+1|0,tA=tA+1|0,AA=AA-1|0;);}function w0(Z,tA){for(var AA=0;(0|tA)!=(0|AA);)Fi((AA<<10)+Z|0),AA=AA+1|0}function Me(Z){for(var tA=0;(0|tA)!=8;)u0((tA<<10)+Z|0),tA=tA+1|0}function Je(Z){for(var tA=0;(0|tA)!=8;)r0((tA<<10)+Z|0),tA=tA+1|0}function yt(Z){var tA;return(-1>>>(tA=31&Z)&-2)<<tA|(-1<<(Z=0-Z&31)&-2)>>>Z}function Yi(Z){return Z?31-YA(Z-1^Z)|0:32}function b0(Z,tA,AA){le(Z,tA,_[AA>>2],168)}function G0(Z,tA,AA){te(_[Z>>2],168,tA,AA)}function Gt(Z,tA,AA){le(Z,tA,_[AA>>2],136)}function gt(Z,tA,AA){te(_[Z>>2],136,tA,AA)}function we(Z){o0(_[Z>>2],136)}function Tt(Z){vt(_[Z>>2])}function Ri(Z){w0(Z,8)}function oi(Z){w0(Z,7)}CA(gA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),CA(gA,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"),CA(gA,2336,"EA6A");var Li,Ir=((Li=[]).set=function(Z,tA){this[Z]=tA},Li.get=function(Z){return this[Z]},Li);return{e:function(){},f:Ir,g:ZA,h:vt,i:function(){var Z;GA=Z=GA-16|0,BA[Z+15|0]=0,it(2376,Z+15|0,0),GA=Z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(Z,tA){Z|=0,tA|=0;var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;for(GA=AA=GA-96416|0,nA=AA+96288|0;(0|iA)!=32;)GA=oA=GA-16|0,BA[oA+15|0]=0,aA=0|it(2340,oA+15|0,0),GA=oA+16|0,BA[iA+nA|0]=aA,iA=iA+1|0;for(Ot(nA,128,nA,32),pe(oA=AA+38912|0,nA),dA=AA+31744|0,iA=AA+96320|0;(0|$)!=7;)f0(dA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(SA=AA+16384|0,$=0,rA=7;(0|$)!=8;)f0(SA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(D0($=AA+24576|0,dA),oi($),Hi(rA=AA- -8192|0,oA,$),Me(rA),Je(rA),x0(rA,rA,SA),ki(rA),$=0;(0|$)!=8;){for(kA=(iA=$<<10)+rA|0,QA=iA+AA|0,hA=iA+rA|0,iA=0;(0|iA)!=256;)aA=(NA=_[(oA=iA<<2)+hA>>2])+4095|0,_[oA+QA>>2]=NA-(-8192&aA),_[oA+kA>>2]=aA>>13,iA=iA+1|0;$=$+1|0}for($=0;(0|$)!=32;)BA[Z+$|0]=fA[$+nA|0],$=$+1|0;for(kA=Z+32|0,$=0;(0|$)!=8;){for(QA=kA+bA($,320)|0,hA=rA+($<<10)|0,oA=0;(0|oA)!=64;)aA=QA+bA(oA,5)|0,iA=hA+(oA<<4)|0,BA[0|aA]=_[iA>>2],BA[aA+1|0]=_[iA+4>>2]<<2|_[iA>>2]>>>8,BA[aA+2|0]=_[iA+8>>2]<<4|_[iA+4>>2]>>>6,BA[aA+3|0]=_[iA+12>>2]<<6|_[iA+8>>2]>>>4,BA[aA+4|0]=_[iA+12>>2]>>>2,oA=oA+1|0;$=$+1|0}for(Ot(rA=AA+96256|0,32,Z,2592),Z=AA+96384|0,$=0;(0|$)!=32;)BA[tA+$|0]=fA[$+nA|0],$=$+1|0;for(iA=tA+32|0,$=0;(0|$)!=32;)BA[$+iA|0]=fA[Z+$|0],$=$+1|0;for(Z=tA- -64|0,$=0;(0|$)!=32;)BA[Z+$|0]=fA[$+rA|0],$=$+1|0;for(Z=tA+96|0,$=0;(0|$)!=7;)n0(Z+bA($,96)|0,dA+($<<10)|0),$=$+1|0;for(Z=tA+768|0,$=0;(0|$)!=8;)n0(Z+bA($,96)|0,SA+($<<10)|0),$=$+1|0;for(aA=tA+1536|0,$=0;(0|$)!=8;){for(dA=aA+bA($,416)|0,SA=($<<10)+AA|0,rA=0;(0|rA)!=32;)kA=_[(tA=SA+(rA<<5)|0)+20>>2],QA=_[tA+8>>2],hA=_[tA+28>>2],oA=_[tA+24>>2],nA=_[tA+16>>2],iA=_[tA+12>>2],NA=_[tA+4>>2],Z=dA+bA(rA,13)|0,RA=4096-_[tA>>2]|0,BA[0|Z]=RA,tA=4096-NA|0,BA[Z+2|0]=tA>>>3,iA=4096-iA|0,BA[Z+5|0]=iA>>>1,nA=4096-nA|0,BA[Z+7|0]=nA>>>4,oA=4096-oA|0,BA[Z+10|0]=oA>>>2,hA=4096-hA|0,BA[Z+12|0]=hA>>>5,BA[Z+1|0]=tA<<5|RA>>>8,QA=4096-QA|0,BA[Z+3|0]=QA<<2|tA>>>11,BA[Z+4|0]=iA<<7|QA>>>6,BA[Z+6|0]=nA<<4|iA>>>9,tA=4096-kA|0,BA[Z+8|0]=tA<<1|nA>>>12,BA[Z+9|0]=oA<<6|tA>>>7,BA[Z+11|0]=hA<<3|oA>>>10,rA=rA+1|0;$=$+1|0}return GA=AA+96416|0,0},n:function(Z,tA,AA,$){tA|=0,AA|=0,$|=0;var iA,rA,oA,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0;for(rA=(Z|=0)+2|0,GA=iA=(GA=oA=GA-16|0)-121072|0,aA=OA=iA+120848|0,QA=TA=iA+120880|0,hA=iA+120912|0,dA=iA+33808|0,SA=iA+56336|0,kA=iA+25616|0;(0|nA)!=32;)BA[nA+aA|0]=fA[$+nA|0],nA=nA+1|0;for(aA=$+32|0,nA=0;(0|nA)!=32;)BA[nA+hA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$- -64|0,nA=0;(0|nA)!=32;)BA[nA+QA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$+96|0,nA=0;(0|nA)!=7;)I0(SA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(aA=$+768|0,nA=0;(0|nA)!=8;)I0(kA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(jA=$+1536|0,nA=0;(0|nA)!=8;){for(PA=dA+(nA<<10)|0,WA=jA+bA(nA,416)|0,QA=0;(0|QA)!=32;)$=PA+(QA<<5)|0,aA=WA+bA(QA,13)|0,JA=fA[0|aA],_[$>>2]=JA,JA|=fA[aA+1|0]<<8&7936,_[$>>2]=JA,NA=fA[aA+1|0]>>>5|0,_[$+4>>2]=NA,NA|=fA[aA+2|0]<<3,_[$+4>>2]=NA,NA|=fA[aA+3|0]<<11&6144,_[$+4>>2]=NA,qA=fA[aA+3|0]>>>2|0,_[$+8>>2]=qA,qA|=fA[aA+4|0]<<6&8128,_[$+8>>2]=qA,RA=fA[aA+4|0]>>>7|0,_[$+12>>2]=RA,RA|=fA[aA+5|0]<<1,_[$+12>>2]=RA,RA|=fA[aA+6|0]<<9&7680,_[$+12>>2]=RA,LA=fA[aA+6|0]>>>4|0,_[$+16>>2]=LA,LA|=fA[aA+7|0]<<4,_[$+16>>2]=LA,LA|=fA[aA+8|0]<<12&4096,_[$+16>>2]=LA,vA=fA[aA+8|0]>>>1|0,_[$+20>>2]=vA,vA|=fA[aA+9|0]<<7&8064,_[$+20>>2]=vA,KA=fA[aA+9|0]>>>6|0,_[$+24>>2]=KA,KA|=fA[aA+10|0]<<2,_[$+24>>2]=KA,KA|=fA[aA+11|0]<<10&7168,_[$+24>>2]=KA,_A=fA[aA+11|0]>>>3|0,_[$+28>>2]=_A,aA=fA[aA+12|0],_[$+4>>2]=4096-NA,_[$>>2]=4096-JA,_[$+8>>2]=4096-qA,_[$+12>>2]=4096-RA,_[$+16>>2]=4096-LA,_[$+20>>2]=4096-vA,_[$+24>>2]=4096-KA,_[$+28>>2]=4096-(aA<<5|_A),QA=QA+1|0;nA=nA+1|0}for(ee($=iA+12|0),gt($,TA,32),gt($,tA,AA),we($),Gt(TA=iA+120944|0,64,$),Tt($),Ot(jA=iA+121008|0,64,hA,96),pe(iA+63504|0,OA),oi(SA),Ri(kA),Ri(dA),nA=0;;){for(aA=iA+49168|0,QA=bA(65535&nA,7),tA=0;(0|tA)!=7;)GA=AA=GA-704|0,p0($=AA+12|0,jA,tA+QA&65535),Gt(hA=AA+16|0,680,$),Tt($),a0(aA+(tA<<10)|0,hA),GA=AA+704|0,tA=tA+1|0;for(D0($=iA+42e3|0,aA),oi($),Hi(tA=iA+17424|0,iA+63504|0,$),Me(tA),Je(tA),ki(tA),dA=iA+9232|0,AA=0;(0|AA)!=8;){for(SA=(QA=AA<<10)+tA|0,kA=QA+dA|0,OA=tA+QA|0,QA=0;(0|QA)!=256;)_[(hA=QA<<2)+SA>>2]=y0(hA+kA|0,_[hA+OA>>2]),QA=QA+1|0;AA=AA+1|0}for(E0(rA,tA),ee(tA=iA+12|0),gt(tA,TA,64),gt(tA,rA,1024),we(tA),Gt(rA,32,tA),Tt(tA),gi(tA=iA+16|0,rA),nA=nA+1|0,Fi(tA),QA=iA+56336|0,AA=0;(0|AA)!=7;)ri((hA=AA<<10)+$|0,tA,QA+hA|0),AA=AA+1|0;for(tA=0;(0|tA)!=7;)r0($+(tA<<10)|0),tA=tA+1|0;for(tA=0;(0|tA)!=7;)Ni((AA=tA<<10)+$|0,AA+$|0,AA+aA|0),tA=tA+1|0;for(AA=0;(0|AA)!=7;)u0($+(AA<<10)|0),AA=AA+1|0;if(!d0($)&&(Ui(AA=iA+1040|0,iA+16|0,iA+25616|0),Je(AA),c0(tA=iA+9232|0,tA,AA),Me(tA),!l0(tA,261768)&&(Ui(tA=iA+1040|0,iA+16|0,iA+33808|0),Je(tA),Me(tA),!l0(tA,261888)))){for(x0(aA=iA+9232|0,aA,SA=iA+1040|0),kA=iA+17424|0,tA=0,AA=0;(0|tA)!=8;){for(OA=($=tA<<10)+SA|0,PA=$+aA|0,WA=$+kA|0,$=0,QA=0;(0|$)!=256;)dA=(0|(dA=_[(hA=$<<2)+PA>>2]))==-261888&_[hA+WA>>2]!=0|dA-261889>>>0<4294443519,_[hA+OA>>2]=dA,QA=QA+dA|0,$=$+1|0;AA=AA+QA|0,tA=tA+1|0}if(!(AA>>>0>75))break}}for(QA=iA+42e3|0,hA=iA+1040|0,tA=0;(0|tA)!=32;)BA[0|(AA=tA+rA|0)]=fA[0|AA],tA=tA+1|0;for(dA=rA+32|0,tA=0;(0|tA)!=7;){for(SA=dA+bA(tA,640)|0,kA=QA+(tA<<10)|0,AA=0;(0|AA)!=128;)aA=_[(nA=kA+(AA<<3)|0)+4>>2],$=SA+bA(AA,5)|0,nA=524288-_[nA>>2]|0,BA[0|$]=nA,BA[$+1|0]=nA>>>8,aA=524288-aA|0,BA[$+3|0]=aA>>>4,BA[$+4|0]=aA>>>12,BA[$+2|0]=aA<<4|nA>>>16,AA=AA+1|0;tA=tA+1|0}for(nA=rA+4512|0,AA=0,tA=0;;){if((0|tA)==83){for($=0;(0|AA)!=8;){for(aA=hA+(AA<<10)|0,tA=0;(0|tA)!=256;)_[aA+(tA<<2)>>2]&&(BA[$+nA|0]=tA,$=$+1|0),tA=tA+1|0;BA[75+(AA+nA|0)|0]=$,AA=AA+1|0}break}BA[tA+nA|0]=0,tA=tA+1|0}return _[oA+12>>2]=4595,GA=iA+121072|0,xA[Z>>1]=_[oA+12>>2],GA=oA+16|0,0},o:function(Z,tA,AA,$){Z|=0,tA|=0,$|=0;var iA,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;nA=(AA|=0)+2|0,rA=FA[AA>>1],QA=Z,oA=tA,AA=0,GA=iA=GA-91312|0,NA=-1;A:if((0|rA)==4595){for(Z=iA+90256|0,SA=iA+16400|0,tA=0;(0|tA)!=32;)BA[Z+tA|0]=fA[tA+$|0],tA=tA+1|0;for(hA=$+32|0,tA=0;(0|tA)!=8;){for(dA=SA+(tA<<10)|0,kA=hA+bA(tA,320)|0,rA=0;(0|rA)!=64;)aA=dA+(rA<<4)|0,Z=bA(rA,5)+kA|0,_[aA>>2]=fA[Z+1|0]<<8&768|fA[0|Z],_[aA+4>>2]=fA[Z+2|0]<<6&960|fA[Z+1|0]>>>2,_[aA+8>>2]=fA[Z+3|0]<<4&1008|fA[Z+2|0]>>>4,_[aA+12>>2]=fA[Z+4|0]<<2|fA[Z+3|0]>>>6,rA=rA+1|0;tA=tA+1|0}for(Z=iA+90160|0,tA=iA+24592|0,SA=iA+16|0;(0|AA)!=32;)BA[Z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(Z=nA+32|0,AA=0;(0|AA)!=7;)a0(tA+(AA<<10)|0,Z+bA(AA,640)|0),AA=AA+1|0;nA=nA+4512|0,rA=0,Z=0;e:{for(;;){t:if((0|rA)!=8){for(aA=SA+(rA<<10)|0,AA=0;(0|AA)!=256;)_[aA+(AA<<2)>>2]=0,AA=AA+1|0;if(!((tA=fA[(hA=rA+nA|0)+75|0])>>>0>75||(AA=Z,tA>>>0<Z>>>0))){for(;tA>>>0>AA>>>0;){if(Z>>>0<AA>>>0&(tA=fA[0|(dA=AA+nA|0)])>>>0<=fA[dA-1|0])break t;_[aA+(tA<<2)>>2]=1,AA=AA+1|0,tA=fA[hA+75|0]}rA=rA+1|0,Z=tA;continue}}else for(AA=Z>>>0<=75?75:Z;;){if(tA=0,(0|Z)==(0|AA))break e;if(tA=Z+nA|0,Z=Z+1|0,fA[0|tA])break}break}tA=1}if(!tA&&!d0(iA+24592|0)){for(Ot(rA=iA+90192|0,32,$,2592),ee(Z=iA+12|0),gt(Z,rA,32),gt(Z,QA,oA),we(Z),Gt(rA,64,Z),Tt(Z),gi(oA=iA+89104|0,iA+90160|0),pe(tA=iA+31760|0,iA+90256|0),oi($=iA+24592|0),Hi(AA=iA+8208|0,tA,$),Fi(oA),$=iA+16400|0,tA=0;(0|tA)!=8;){for(nA=$+(tA<<10)|0,QA=0;(0|QA)!=256;)_[(aA=nA+(QA<<2)|0)>>2]=_[aA>>2]<<13,QA=QA+1|0;tA=tA+1|0}for(Ri($),Ui($,oA,$),c0(AA,AA,$),Me(AA),Je(AA),ki(AA),aA=iA+16|0,$=0;(0|$)!=8;){for(SA=(tA=$<<10)+AA|0,hA=tA+AA|0,dA=tA+aA|0,tA=0;(0|tA)!=256;)kA=(oA=tA<<2)+SA|0,RA=_[oA+dA>>2],GA=QA=GA-16|0,oA=nA=y0(QA+12|0,_[oA+hA>>2]),RA&&(oA=nA+1&15,_[QA+12>>2]>0||(oA=nA-1&15)),GA=QA+16|0,_[kA>>2]=oA,tA=tA+1|0;$=$+1|0}for(E0(tA=iA+90288|0,AA),ee(Z),gt(Z,rA,64),gt(Z,tA,1024),we(Z),Gt(iA+90128|0,32,Z),Tt(Z),tA=0;;){if((0|tA)==32){NA=0;break A}if(Z=(iA+90128|0)+tA|0,AA=(iA+90160|0)+tA|0,tA=tA+1|0,fA[0|AA]!=fA[0|Z])break}}}return GA=iA+91312|0,0|NA}}})(eA)})(X)},instantiate:function(z,X){return{then:function(eA){var gA=new c.Module(z);eA({instance:new c.Instance(gA,X)})}}},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(z){throw C.onAbort&&C.onAbort(z),e(z="Aborted("+z+")"),s=!0,z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(z)}var M,J,q="data:application/octet-stream;base64,";function l(z){return z.startsWith(q)}function m(z){return z.startsWith("file://")}function L(z){return Promise.resolve().then((function(){return(function(X){if(X==M&&a)return new Uint8Array(a);var eA=P(X);if(eA)return eA;if(g)return g(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function p(z,X,eA,gA){return(function(IA,sA,CA){return L(IA).then((function(cA){return c.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(X,eA,gA)}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 z=new Uint32Array(1);return g.getRandomValues(z),z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var z=Q.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),C.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function b(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var v=function(z){for(;z.length>0;)z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(z,X,eA){var gA=(function(IA,sA){var CA;for(O.length=0,sA>>=2;CA=h[IA++];)sA+=CA!=105&sA,O.push(CA==105?y[sA]:u[sA++>>1]),++sA;return O})(X,eA);return K[z].apply(null,gA)},x=function(z){D||(C.onExit&&C.onExit(z),s=!0),Q(z,new b(z))},W={c:function(z,X,eA){return T(z,X,eA)},d:function(z){h.length,d("OOM")},b:function(z,X){x(z)},a:f};(function(){var z={a:W};function X(eA,gA){var IA,sA=eA.exports;return C.asm=sA,C.asm.f,IA=C.asm.e,S.unshift(IA),(function(CA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),sA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(z,X)}catch(eA){return e("Module.instantiateWasm callback failed with error: "+eA),!1}p(0,M,z,(function(eA){X(eA.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(z){if(l(z))return(function(X){if(o!==void 0&&o){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(q.length))}function V(){function z(){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;)X=C.postRun.shift(),k.unshift(X);var X;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)X=C.preRun.shift(),w.unshift(X);var X;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),z()}),1)):z()))}if(C.writeArrayToMemory=function(z,X){G.set(z,X)},R=function z(){j||V(),j||(R=z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(z,X){C.onAbort=X,C.onRuntimeInitialized=function(){z(C)}}))})).then((function(z){Object.keys(z).forEach((function(X){C[X]=z[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 z=C._malloc(A),X=C._malloc(I);try{return B(C._dilithiumjs_keypair(z,X),{publicKey:Q(z,A),privateKey:Q(X,I)})}finally{i(z),i(X)}}))},sign:function(z,X){return o.signDetached(z,X).then((function(eA){var gA=new Uint8Array(g+z.length);return gA.set(eA),gA.set(z,g),gA}))},signDetached:function(z,X){return E.then((function(){var eA=C._malloc(g),gA=C._malloc(z.length),IA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),eA),C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA);try{return B(C._dilithiumjs_sign(eA,gA,z.length,IA),Q(eA,g))}finally{i(eA),i(gA),i(IA)}}))},open:function(z,X){return E.then((function(){var eA=new Uint8Array(z.buffer,z.byteOffset,g),gA=new Uint8Array(z.buffer,z.byteOffset+g,z.length-g);return o.verifyDetached(eA,gA,X).then((function(IA){if(IA)return gA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(z,X,eA){return E.then((function(){var gA=C._malloc(g),IA=C._malloc(X.length),sA=C._malloc(A);C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA),C.writeArrayToMemory(eA,sA);try{return C._dilithiumjs_verify(IA,X.length,gA,sA)===0}finally{i(gA),i(IA),i(sA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var II={};Ag(II,{InMemoryKeyStorage:()=>Qe,createKeySDK:()=>g0,default:()=>rI});mA();mA();mA();mA();mA();var Se=class{constructor(){pA(this,"suites",new Map)}register(X){if(this.suites.has(X.suiteId))throw new Error(`Signature suite already registered: ${X.suiteId}`);this.suites.set(X.suiteId,X)}getSuite(X){let eA=this.suites.get(X);if(!eA)throw new Error(`Unknown signature suite: ${X}. Available: ${this.listSuites().join(", ")}`);return eA}hasSuite(X){return this.suites.has(X)}listSuites(){return[...this.suites.keys()]}unregister(X){return this.suites.delete(X)}clear(){this.suites.clear()}},Er=new Se;mA();function ke(z){return Array.from(z).map(X=>X.toString(16).padStart(2,"0")).join("")}function Ne(z){if(z.length%2!==0)throw new Error("Hex string must have even length");let X=new Uint8Array(z.length/2);for(let eA=0;eA<z.length;eA+=2)X[eA/2]=parseInt(z.slice(eA,eA+2),16);return X}async function ui(z,X){if(X==="sha256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha256").update(z).digest())}else if(X==="sha512"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha512").update(z).digest())}else if(X==="sha3-256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha3-256").update(z).digest())}throw new Error(`Unsupported hash algorithm: ${X}`)}mA();mA();var Qe=class{constructor(){pA(this,"keys",new Map)}async store(X,eA,gA){this.keys.set(X,{keypair:eA,meta:gA})}async load(X){return this.keys.get(X)||null}async list(X){let eA=Array.from(this.keys.values()).map(gA=>gA.meta);return X?eA.filter(gA=>Object.entries(X).every(([IA,sA])=>IA==="usage"&&Array.isArray(sA)?sA.some(CA=>gA.usage.includes(CA)):gA[IA]===sA)):eA}async delete(X){this.keys.delete(X)}async updateMeta(X,eA){let gA=this.keys.get(X);if(!gA)throw new Error(`Key not found: ${X}`);this.keys.set(X,{keypair:gA.keypair,meta:{...gA.meta,...eA}})}clear(){this.keys.clear()}},yi=class{constructor(X=new Qe){pA(this,"storage");this.storage=X}async registerKey(X,eA,gA,IA={}){let sA={keyId:X,suiteId:gA,createdAt:new Date().toISOString(),expiresAt:IA.expiresAt,usage:IA.usage||["signing"],cryptoProfileVersion:IA.cryptoProfileVersion||"1.0.0",status:IA.status||"active"};return await this.storage.store(X,eA,sA),sA}async getKey(X){return await this.storage.load(X)}async getPublicKey(X){let eA=await this.storage.load(X);return eA?{publicKey:eA.keypair.publicKey,meta:eA.meta}:null}async listKeys(X){return await this.storage.list(X)}async listActiveKeys(X){let eA=await this.storage.list(X),gA=new Date;return eA.filter(IA=>!(IA.status&&IA.status!=="active"||IA.expiresAt&&new Date(IA.expiresAt)<gA))}async rotateKey(X,eA,gA){let IA=await this.storage.load(X);if(!IA)throw new Error(`Cannot rotate: key not found: ${X}`);return await this.storage.updateMeta(X,{status:"rotated"}),await this.registerKey(eA,gA,IA.meta.suiteId,{usage:IA.meta.usage,cryptoProfileVersion:IA.meta.cryptoProfileVersion,expiresAt:IA.meta.expiresAt,status:"active"}),await this.storage.updateMeta(eA,{rotatedFrom:X}),(await this.storage.load(eA)).meta}async revokeKey(X,eA){await this.storage.updateMeta(X,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(X){await this.storage.delete(X)}async markExpiredKeys(){let X=await this.storage.list(),eA=new Date,gA=0;for(let IA of X)IA.expiresAt&&new Date(IA.expiresAt)<eA&&IA.status==="active"&&(await this.storage.updateMeta(IA.keyId,{status:"expired"}),gA++);return gA}async pruneOldKeys(X=90){let eA=await this.storage.list(),gA=new Date;gA.setDate(gA.getDate()-X);let IA=0;for(let sA of eA)(sA.status==="revoked"&&sA.revokedAt&&new Date(sA.revokedAt)<gA||sA.status==="expired"&&sA.expiresAt&&new Date(sA.expiresAt)<gA)&&(await this.storage.delete(sA.keyId),IA++);return IA}};mA();mA();mA();mA();var Rr={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:fe,n:bt,Gx:Lr,Gy:Kr,b:Yg}=Rr,$A=32,Ee=64,MA=(z="")=>{throw new Error(z)},Rg=z=>typeof z=="bigint",Lg=z=>typeof z=="string",Mr=z=>z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array",ue=(z,X)=>!Mr(z)||typeof X=="number"&&X>0&&z.length!==X?MA("Uint8Array expected"):z,he=z=>new Uint8Array(z),Jr=z=>Uint8Array.from(z),Kg=(z,X)=>z.toString(16).padStart(X,"0"),xi=z=>Array.from(ue(z)).map(X=>Kg(X,2)).join(""),Mt={_0:48,_9:57,A:65,F:70,a:97,f:102},Fg=z=>{if(z>=Mt._0&&z<=Mt._9)return z-Mt._0;if(z>=Mt.A&&z<=Mt.F)return z-(Mt.A-10);if(z>=Mt.a&&z<=Mt.f)return z-(Mt.a-10)},zi=z=>{let X="hex invalid";if(!Lg(z))return MA(X);let eA=z.length,gA=eA/2;if(eA%2)return MA(X);let IA=he(gA);for(let sA=0,CA=0;sA<gA;sA++,CA+=2){let cA=Fg(z.charCodeAt(CA)),EA=Fg(z.charCodeAt(CA+1));if(cA===void 0||EA===void 0)return MA(X);IA[sA]=cA*16+EA}return IA},Dt=(z,X)=>ue(Lg(z)?zi(z):Jr(ue(z)),X),Mg=()=>globalThis?.crypto,qr=()=>Mg()?.subtle??MA("crypto.subtle must be defined"),ye=(...z)=>{let X=he(z.reduce((gA,IA)=>gA+ue(IA).length,0)),eA=0;return z.forEach(gA=>{X.set(gA,eA),eA+=gA.length}),X},$i=(z=$A)=>Mg().getRandomValues(he(z)),Ye=BigInt,Ze=(z,X,eA,gA="bad number: out of range")=>Rg(z)&&X<=z&&z<eA?z:MA(gA),DA=(z,X=fe)=>{let eA=z%X;return eA>=0n?eA:X+eA},et=z=>DA(z,bt),ze=(z,X)=>{(z===0n||X<=0n)&&MA("no inverse n="+z+" mod="+X);let eA=DA(z,X),gA=X,IA=0n,sA=1n,CA=1n,cA=0n;for(;eA!==0n;){let EA=gA/eA,yA=gA%eA,uA=IA-CA*EA,BA=sA-cA*EA;gA=eA,eA=yA,IA=CA,sA=cA,CA=uA,cA=BA}return gA===1n?DA(IA,X):MA("no inverse")},vr=z=>{let X=Ai[z];return typeof X!="function"&&MA("hashes."+z+" not set"),X},Hg=z=>z instanceof Jt?z:MA("Point expected"),Jg=z=>DA(DA(z*z)*z+Yg),kg=z=>Ze(z,0n,fe),_e=z=>Ze(z,1n,fe),Vi=z=>Ze(z,1n,bt),Xi=z=>(z&1n)===0n,Ue=z=>Uint8Array.of(z),qg=z=>Ue(Xi(z)?2:3),Or=z=>{let X=Jg(_e(z)),eA=1n;for(let gA=X,IA=(fe+1n)/4n;IA>0n;IA>>=1n)IA&1n&&(eA=eA*gA%fe),gA=gA*gA%fe;return DA(eA*eA)===X?eA:MA("sqrt invalid")},xt=class xt{constructor(X,eA,gA){pA(this,"px");pA(this,"py");pA(this,"pz");this.px=kg(X),this.py=_e(eA),this.pz=kg(gA),Object.freeze(this)}static fromBytes(X){ue(X);let eA,gA=X[0],IA=X.subarray(1),sA=di(IA,0,$A),CA=X.length;if(CA===$A+1&&[2,3].includes(gA)){let cA=Or(sA),EA=Xi(cA);Xi(Ye(gA))!==EA&&(cA=DA(-cA)),eA=new xt(sA,cA,1n)}return CA===Ee+1&&gA===4&&(eA=new xt(sA,di(IA,$A,Ee),1n)),eA?eA.assertValidity():MA("bad point: not on curve")}equals(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=DA(eA*cA),yA=DA(sA*IA),uA=DA(gA*cA),BA=DA(CA*IA);return EA===yA&&uA===BA}is0(){return this.equals(ce)}negate(){return new xt(this.px,DA(-this.py),this.pz)}double(){return this.add(this)}add(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=0n,yA=Yg,uA=0n,BA=0n,xA=0n,_=DA(yA*3n),fA=DA(eA*sA),FA=DA(gA*CA),UA=DA(IA*cA),bA=DA(eA+gA),YA=DA(sA+CA);bA=DA(bA*YA),YA=DA(fA+FA),bA=DA(bA-YA),YA=DA(eA+IA);let HA=DA(sA+cA);return YA=DA(YA*HA),HA=DA(fA+UA),YA=DA(YA-HA),HA=DA(gA+IA),uA=DA(CA+cA),HA=DA(HA*uA),uA=DA(FA+UA),HA=DA(HA-uA),xA=DA(EA*YA),uA=DA(_*UA),xA=DA(uA+xA),uA=DA(FA-xA),xA=DA(FA+xA),BA=DA(uA*xA),FA=DA(fA+fA),FA=DA(FA+fA),UA=DA(EA*UA),YA=DA(_*YA),FA=DA(FA+UA),UA=DA(fA-UA),UA=DA(EA*UA),YA=DA(YA+UA),fA=DA(FA*YA),BA=DA(BA+fA),fA=DA(HA*YA),uA=DA(bA*uA),uA=DA(uA-fA),fA=DA(bA*FA),xA=DA(HA*xA),xA=DA(xA+fA),new xt(uA,BA,xA)}multiply(X,eA=!0){if(!eA&&X===0n)return ce;if(Vi(X),X===1n)return this;if(this.equals(wt))return $r(X).p;let gA=ce,IA=wt;for(let sA=this;X>0n;sA=sA.double(),X>>=1n)X&1n?gA=gA.add(sA):eA&&(IA=IA.add(sA));return gA}toAffine(){let{px:X,py:eA,pz:gA}=this;if(this.equals(ce))return{x:0n,y:0n};if(gA===1n)return{x:X,y:eA};let IA=ze(gA,fe);return DA(gA*IA)!==1n&&MA("inverse invalid"),{x:DA(X*IA),y:DA(eA*IA)}}assertValidity(){let{x:X,y:eA}=this.toAffine();return _e(X),_e(eA),DA(eA*eA)===Jg(X)?this:MA("bad point: not on curve")}toBytes(X=!0){let{x:eA,y:gA}=this.assertValidity().toAffine(),IA=$t(eA);return X?ye(qg(gA),IA):ye(Ue(4),IA,$t(gA))}static fromAffine(X){let{x:eA,y:gA}=X;return eA===0n&&gA===0n?ce:new xt(eA,gA,1n)}toHex(X){return xi(this.toBytes(X))}static fromPrivateKey(X){return wt.multiply(Ve(X))}static fromHex(X){return xt.fromBytes(Dt(X))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(X){return this.toBytes(X)}};pA(xt,"BASE"),pA(xt,"ZERO");var Jt=xt,wt=new Jt(Lr,Kr,1n),ce=new Jt(0n,1n,0n);Jt.BASE=wt;Jt.ZERO=ce;var vg=(z,X,eA)=>wt.multiply(X,!1).add(z.multiply(eA,!1)).assertValidity(),$e=z=>Ye("0x"+(xi(z)||"0")),di=(z,X,eA)=>$e(z.subarray(X,eA)),Tr=2n**256n,$t=z=>zi(Kg(Ze(z,0n,Tr),Ee)),Ve=z=>{let X=Rg(z)?z:$e(Dt(z,$A));return Ze(X,1n,bt,"private key invalid 3")},li=z=>z>bt>>1n,Og=(z,X=!0)=>wt.multiply(Ve(z)).toBytes(X),Xe=class z{constructor(X,eA,gA){pA(this,"r");pA(this,"s");pA(this,"recovery");this.r=Vi(X),this.s=Vi(eA),gA!=null&&(this.recovery=gA),Object.freeze(this)}static fromBytes(X){ue(X,Ee);let eA=di(X,0,$A),gA=di(X,$A,Ee);return new z(eA,gA)}toBytes(){let{r:X,s:eA}=this;return ye($t(X),$t(eA))}addRecoveryBit(X){return new z(this.r,this.s,X)}hasHighS(){return li(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return xi(this.toBytes())}recoverPublicKey(X){return _r(this,X)}static fromCompact(X){return z.fromBytes(Dt(X,Ee))}assertValidity(){return this}normalizeS(){let{r:X,s:eA,recovery:gA}=this;return li(eA)?new z(X,et(-eA),gA):this}},Tg=z=>{let X=z.length*8-256;X>1024&&MA("msg invalid");let eA=$e(z);return X>0?eA>>Ye(X):eA},A0=z=>et(Tg(ue(z))),jg={lowS:!0},jr={lowS:!0},Pr=(z,X,eA=jg)=>{["der","recovered","canonical"].some(xA=>xA in eA)&&MA("option not supported");let{lowS:gA,extraEntropy:IA}=eA;gA==null&&(gA=!0);let sA=$t,CA=A0(Dt(z)),cA=sA(CA),EA=Ve(X),yA=[sA(EA),cA];IA&&yA.push(IA===!0?$i($A):Dt(IA));let uA=CA,BA=xA=>{let _=Tg(xA);if(!(1n<=_&&_<bt))return;let fA=wt.multiply(_).toAffine(),FA=et(fA.x);if(FA===0n)return;let UA=ze(_,bt),bA=et(UA*et(uA+et(EA*FA)));if(bA===0n)return;let YA=bA,HA=(fA.x===FA?0:2)|Number(fA.y&1n);return gA&&li(bA)&&(YA=et(-bA),HA^=1),new Xe(FA,YA,HA)};return{seed:ye(...yA),k2sig:BA}},Wr=z=>{let X=he($A),eA=he($A),gA=0,IA=he(0),sA=()=>{X.fill(1),eA.fill(0),gA=0},CA=1e3,cA="drbg: tried 1000 values";if(z){let EA=(...BA)=>Ai.hmacSha256Async(eA,X,...BA),yA=async(BA=IA)=>{eA=await EA(Ue(0),BA),X=await EA(),BA.length!==0&&(eA=await EA(Ue(1),BA),X=await EA())},uA=async()=>(gA++>=CA&&MA(cA),X=await EA(),X);return async(BA,xA)=>{sA(),await yA(BA);let _;for(;!(_=xA(await uA()));)await yA();return sA(),_}}else{let EA=(...BA)=>vr("hmacSha256Sync")(eA,X,...BA),yA=(BA=IA)=>{eA=EA(Ue(0),BA),X=EA(),BA.length!==0&&(eA=EA(Ue(1),BA),X=EA())},uA=()=>(gA++>=CA&&MA(cA),X=EA(),X);return(BA,xA)=>{sA(),yA(BA);let _;for(;!(_=xA(uA()));)yA();return sA(),_}}};var Pg=(z,X,eA=jg)=>{let{seed:gA,k2sig:IA}=Pr(z,X,eA);return Wr(!1)(gA,IA)},Wg=(z,X,eA,gA=jr)=>{let{lowS:IA}=gA;IA==null&&(IA=!0),"strict"in gA&&MA("option not supported");let sA,CA=z&&typeof z=="object"&&"r"in z;!CA&&Dt(z).length!==Ee&&MA("signature must be 64 bytes");try{sA=CA?new Xe(z.r,z.s):Xe.fromCompact(z);let cA=A0(Dt(X)),EA=Jt.fromBytes(Dt(eA)),{r:yA,s:uA}=sA;if(IA&&li(uA))return!1;let BA=ze(uA,bt),xA=et(cA*BA),_=et(yA*BA),fA=vg(EA,xA,_).toAffine();return et(fA.x)===yA}catch{return!1}},_r=(z,X)=>{let{r:eA,s:gA,recovery:IA}=z;[0,1,2,3].includes(IA)||MA("recovery id invalid");let sA=A0(Dt(X,$A)),CA=IA===2||IA===3?eA+bt:eA;_e(CA);let cA=qg(Ye(IA)),EA=ye(cA,$t(CA)),yA=Jt.fromBytes(EA),uA=ze(CA,bt),BA=et(-sA*uA),xA=et(gA*uA);return vg(yA,BA,xA)};var _g=z=>{z=Dt(z),(z.length<$A+8||z.length>1024)&&MA("expected 40-1024b");let X=DA($e(z),bt-1n);return $t(X+1n)},Vr=()=>_g($i($A+16)),Xr="SHA-256",Ai={hexToBytes:zi,bytesToHex:xi,concatBytes:ye,bytesToNumberBE:$e,numberToBytesBE:$t,mod:DA,invert:ze,hmacSha256Async:async(z,...X)=>{let eA=qr(),gA="HMAC",IA=await eA.importKey("raw",z,{name:gA,hash:{name:Xr}},!1,["sign"]);return he(await eA.sign(gA,IA,ye(...X)))},hmacSha256Sync:void 0,hashToPrivateKey:_g,randomBytes:$i},Vg={normPrivateKeyToScalar:Ve,isValidPrivateKey:z=>{try{return!!Ve(z)}catch{return!1}},randomPrivateKey:Vr,precompute:(z=8,X=wt)=>(X.multiply(3n),X)},pi=8,Zr=256,Xg=Math.ceil(Zr/pi)+1,Zi=2**(pi-1),zr=()=>{let z=[],X=wt,eA=X;for(let gA=0;gA<Xg;gA++){eA=X,z.push(eA);for(let IA=1;IA<Zi;IA++)eA=eA.add(X),z.push(eA);X=eA.double()}return z},Ng,Ug=(z,X)=>{let eA=X.negate();return z?eA:X},$r=z=>{let X=Ng||(Ng=zr()),eA=ce,gA=wt,IA=2**pi,sA=IA,CA=Ye(IA-1),cA=Ye(pi);for(let EA=0;EA<Xg;EA++){let yA=Number(z&CA);z>>=cA,yA>Zi&&(yA-=sA,z+=1n);let uA=EA*Zi,BA=uA,xA=uA+Math.abs(yA)-1,_=EA%2!==0,fA=yA<0;yA===0?gA=gA.add(Ug(_,X[BA])):eA=eA.add(Ug(fA,X[xA]))}return{p:eA,f:gA}};mA();mA();function tI(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Zg(z){if(!Number.isSafeInteger(z)||z<0)throw new Error("positive integer expected, got "+z)}function Le(z,...X){if(!tI(z))throw new Error("Uint8Array expected");if(X.length>0&&!X.includes(z.length))throw new Error("Uint8Array expected of length "+X+", got length="+z.length)}function zg(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Zg(z.outputLen),Zg(z.blockLen)}function Ke(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function $g(z,X){Le(z);let eA=X.outputLen;if(z.length<eA)throw new Error("digestInto() expects output buffer of length at least "+eA)}function de(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Di(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function ht(z,X){return z<<32-X|z>>>X}function eI(z){if(typeof z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(z))}function ti(z){return typeof z=="string"&&(z=eI(z)),Le(z),z}var Re=class{};function Ar(z){let X=gA=>z().update(ti(gA)).digest(),eA=z();return X.outputLen=eA.outputLen,X.blockLen=eA.blockLen,X.create=()=>z(),X}var wi=class extends Re{constructor(X,eA){super(),this.finished=!1,this.destroyed=!1,zg(X);let gA=ti(eA);if(this.iHash=X.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 IA=this.blockLen,sA=new Uint8Array(IA);sA.set(gA.length>IA?X.create().update(gA).digest():gA);for(let CA=0;CA<sA.length;CA++)sA[CA]^=54;this.iHash.update(sA),this.oHash=X.create();for(let CA=0;CA<sA.length;CA++)sA[CA]^=106;this.oHash.update(sA),de(sA)}update(X){return Ke(this),this.iHash.update(X),this}digestInto(X){Ke(this),Le(X,this.outputLen),this.finished=!0,this.iHash.digestInto(X),this.oHash.update(X),this.oHash.digestInto(X),this.destroy()}digest(){let X=new Uint8Array(this.oHash.outputLen);return this.digestInto(X),X}_cloneInto(X){X||(X=Object.create(Object.getPrototypeOf(this),{}));let{oHash:eA,iHash:gA,finished:IA,destroyed:sA,blockLen:CA,outputLen:cA}=this;return X=X,X.finished=IA,X.destroyed=sA,X.blockLen=CA,X.outputLen=cA,X.oHash=eA._cloneInto(X.oHash),X.iHash=gA._cloneInto(X.iHash),X}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},t0=(z,X,eA)=>new wi(z,X).update(eA).digest();t0.create=(z,X)=>new wi(z,X);mA();mA();mA();function iI(z,X,eA,gA){if(typeof z.setBigUint64=="function")return z.setBigUint64(X,eA,gA);let IA=BigInt(32),sA=BigInt(4294967295),CA=Number(eA>>IA&sA),cA=Number(eA&sA),EA=gA?4:0,yA=gA?0:4;z.setUint32(X+EA,CA,gA),z.setUint32(X+yA,cA,gA)}function tr(z,X,eA){return z&X^~z&eA}function er(z,X,eA){return z&X^z&eA^X&eA}var bi=class extends Re{constructor(X,eA,gA,IA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Di(this.buffer)}update(X){Ke(this),X=ti(X),Le(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Di(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){Ke(this),$g(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,de(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;iI(gA,IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Di(X),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 BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},qt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var gI=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]),Ae=new Uint32Array(64),Gi=class extends bi{constructor(X=32){super(64,X,8,!1),this.A=qt[0]|0,this.B=qt[1]|0,this.C=qt[2]|0,this.D=qt[3]|0,this.E=qt[4]|0,this.F=qt[5]|0,this.G=qt[6]|0,this.H=qt[7]|0}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Ae[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Ae[BA-15],_=Ae[BA-2],fA=ht(xA,7)^ht(xA,18)^xA>>>3,FA=ht(_,17)^ht(_,19)^_>>>10;Ae[BA]=FA+Ae[BA-7]+fA+Ae[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=ht(cA,6)^ht(cA,11)^ht(cA,25),_=uA+xA+tr(cA,EA,yA)+gI[BA]+Ae[BA]|0,FA=(ht(gA,2)^ht(gA,13)^ht(gA,22))+er(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+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(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){de(Ae)}destroy(){this.set(0,0,0,0,0,0,0,0),de(this.buffer)}};var ir=Ar(()=>new Gi);var gr=ir;Ai.hmacSha256Sync=(z,...X)=>t0(gr,z,Ai.concatBytes(...X));var ei=class{constructor(){pA(this,"suiteId","bsv-ecdsa-secp256k1");pA(this,"version","1.0.0")}async generateKeypair(){let X=Vg.randomPrivateKey(),eA=Og(X,!0);return{privateKey:X,publicKey:eA}}async sign(X,eA){try{return(await Pg(eA,X)).toCompactRawBytes()}catch(gA){throw new Error(`BsvEcdsaSuite signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return Wg(gA,eA,X)}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){return Ne(X)}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==32)throw new Error("Private key must be 32 bytes");return eA}};mA();var e0=null;async function i0(){return e0||(e0=await Promise.resolve().then(()=>cr(rr(),1))),e0}var mi=class{constructor(){pA(this,"suiteId","ml-dsa-87");pA(this,"version","1.0.0")}async generateKeypair(){try{let eA=await(await i0()).keyPair();return{publicKey:new Uint8Array(eA.publicKey),privateKey:new Uint8Array(eA.privateKey)}}catch(X){throw new Error(`ML-DSA-87 key generation failed: ${X instanceof Error?X.message:String(X)}`)}}async sign(X,eA){try{let IA=await(await i0()).signDetached(Buffer.from(eA),Buffer.from(X));return new Uint8Array(IA)}catch(gA){throw new Error(`ML-DSA-87 signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return await(await i0()).verifyDetached(Buffer.from(gA),Buffer.from(eA),Buffer.from(X))}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){let eA=Ne(X);if(eA.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${eA.length}`);return eA}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${eA.length}`);return eA}},ii=class{constructor(){pA(this,"suiteId","ml-dsa-65");pA(this,"version","1.0.0");pA(this,"impl",new mi)}async generateKeypair(){return this.impl.generateKeypair()}async sign(X,eA){return this.impl.sign(X,eA)}async verify(X,eA,gA){return this.impl.verify(X,eA,gA)}exportPublicKey(X){return this.impl.exportPublicKey(X)}importPublicKey(X){return this.impl.importPublicKey(X)}exportPrivateKey(X){return this.impl.exportPrivateKey(X)}importPrivateKey(X){return this.impl.importPrivateKey(X)}};var Si=class{constructor(X){this.keyCounter=new Map;this.keyRegistry=X.keyRegistry,this.suiteRegistry=X.suiteRegistry}async createKey(X,eA,gA={}){let sA=await this.suiteRegistry.getSuite(eA.primarySignatureSuite).generateKeypair(),CA=this.getNextCounter(X),cA=eA.primarySignatureSuite.split("-")[0],EA=`${X}:pk-${cA}-${CA}`;return{meta:await this.keyRegistry.registerKey(EA,sA,eA.primarySignatureSuite,{expiresAt:gA.expiresAt,usage:gA.usage||["signing"],cryptoProfileVersion:gA.cryptoProfileVersion||"1.0.0"}),publicKey:sA.publicKey}}async getKey(X){let eA=await this.keyRegistry.getPublicKey(X);return eA?{meta:eA.meta,publicKey:eA.publicKey}:null}async signWithKey(X,eA){let gA=await this.keyRegistry.getKey(X);if(!gA)throw new Error(`Key not found: ${X}`);if(gA.meta.status!=="active")throw new Error(`Key is not active: ${X} (status: ${gA.meta.status})`);let IA=this.suiteRegistry.getSuite(gA.meta.suiteId),sA=this.getHashAlgorithm(gA.meta.suiteId),CA=await ui(eA,sA);return await IA.sign(gA.keypair.privateKey,CA)}async verifySignature(X,eA,gA){let IA=await this.keyRegistry.getPublicKey(X);if(!IA)return!1;let sA=this.suiteRegistry.getSuite(IA.meta.suiteId),CA=this.getHashAlgorithm(IA.meta.suiteId),cA=await ui(eA,CA);try{return await sA.verify(IA.publicKey,cA,gA)}catch{return!1}}async listKeysForAgent(X,eA=!0){let IA=(eA?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(CA=>CA.keyId.startsWith(`${X}:`)),sA=[];for(let CA of IA){let cA=await this.keyRegistry.getPublicKey(CA.keyId);cA&&sA.push({meta:cA.meta,publicKey:cA.publicKey})}return sA}async getActiveCryptoProfile(X){let eA=await this.listKeysForAgent(X,!0);if(eA.length===0)return null;let gA=new Set(eA.map(sA=>sA.meta.suiteId)),IA=Array.from(gA);return{primarySignatureSuite:IA[0],secondarySignatureSuite:IA[1]}}async rotateAgentKeys(X){let eA=await this.listKeysForAgent(X,!0),gA=[];for(let IA of eA){let CA=await this.suiteRegistry.getSuite(IA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(X),EA=IA.meta.suiteId.split("-")[0],yA=`${X}:pk-${EA}-${cA}`,uA=await this.keyRegistry.rotateKey(IA.meta.keyId,yA,CA);gA.push({meta:uA,publicKey:CA.publicKey})}return gA}async getOrCreateKey(X,eA,gA={}){let sA=(await this.listKeysForAgent(X,!0)).find(CA=>CA.meta.suiteId===eA.primarySignatureSuite);return sA||await this.createKey(X,eA,gA)}getHashAlgorithm(X){return X.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(X){let gA=(this.keyCounter.get(X)||0)+1;return this.keyCounter.set(X,gA),gA}};mA();async function g0(){let z=new Qe,X=new yi(z),eA=new Se;return eA.register(new ei),eA.register(new ii),new Si({keyRegistry:X,suiteRegistry:eA})}var rI={createKeySDK:g0};typeof window<"u"&&(window.LumenKeys={createKeySDK:g0});return fr(II);})();
1
+ "use strict";var LumenKeys=(()=>{var or=Object.create;var qe=Object.defineProperty;var nr=Object.getOwnPropertyDescriptor;var sr=Object.getOwnPropertyNames;var ar=Object.getPrototypeOf,Cr=Object.prototype.hasOwnProperty;var Br=(z,X,eA)=>X in z?qe(z,X,{enumerable:!0,configurable:!0,writable:!0,value:eA}):z[X]=eA;var ae=(z,X)=>()=>(z&&(X=z(z=0)),X);var Qr=(z,X)=>()=>(X||z((X={exports:{}}).exports,X),X.exports),Ag=(z,X)=>{for(var eA in X)qe(z,eA,{get:X[eA],enumerable:!0})},tg=(z,X,eA,gA)=>{if(X&&typeof X=="object"||typeof X=="function")for(let IA of sr(X))!Cr.call(z,IA)&&IA!==eA&&qe(z,IA,{get:()=>X[IA],enumerable:!(gA=nr(X,IA))||gA.enumerable});return z};var cr=(z,X,eA)=>(eA=z!=null?or(ar(z)):{},tg(X||!z||!z.__esModule?qe(eA,"default",{value:z,enumerable:!0}):eA,z)),fr=z=>tg(qe({},"__esModule",{value:!0}),z);var pA=(z,X,eA)=>Br(z,typeof X!="symbol"?X+"":X,eA);var Buffer,process,mA=ae(()=>{"use strict";Buffer={from:function(z,X){if(typeof z=="string"){if(X==="base64"){let gA=atob(z),IA=new Uint8Array(gA.length);for(let sA=0;sA<gA.length;sA++)IA[sA]=gA.charCodeAt(sA);return IA}return new TextEncoder().encode(z)}return new Uint8Array(z)}};if(typeof Uint8Array.prototype.toString!="function"||!Uint8Array.prototype.toString.toString().includes("[native code]")){let z=Uint8Array.prototype.toString;Uint8Array.prototype.toString=function(X){if(X==="base64"){let eA="",gA=new Uint8Array(this);for(let IA=0;IA<gA.byteLength;IA++)eA+=String.fromCharCode(gA[IA]);return btoa(eA)}return z.call(this)}}process={env:{NODE_ENV:"production"}};typeof window>"u"&&(window.global=window)});function hr(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Mi(z,X=""){if(!Number.isSafeInteger(z)||z<0){let eA=X&&`"${X}" `;throw new Error(`${eA}expected integer >= 0, got ${z}`)}}function Fe(z,X,eA=""){let gA=hr(z),IA=z?.length,sA=X!==void 0;if(!gA||sA&&IA!==X){let CA=eA&&`"${eA}" `,cA=sA?` of length ${X}`:"",EA=gA?`length=${IA}`:`type=${typeof z}`;throw new Error(CA+"expected Uint8Array"+cA+", got "+EA)}return z}function He(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function Ci(z,X){Fe(z,void 0,"digestInto() output");let eA=X.outputLen;if(z.length<eA)throw new Error('"digestInto() output" expected to be of length >='+eA)}function eg(z){return new Uint32Array(z.buffer,z.byteOffset,Math.floor(z.byteLength/4))}function lt(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Bi(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function Et(z,X){return z<<32-X|z>>>X}function yr(z){return z<<24&4278190080|z<<8&16711680|z>>>8&65280|z>>>24&255}function dr(z){for(let X=0;X<z.length;X++)z[X]=yr(z[X]);return z}function ve(z,X={}){let eA=(IA,sA)=>z(sA).update(IA).digest(),gA=z(void 0);return eA.outputLen=gA.outputLen,eA.blockLen=gA.blockLen,eA.create=IA=>z(IA),Object.assign(eA,X),Object.freeze(eA)}var ur,Ji,Oe,Qi=ae(()=>{mA();ur=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;Ji=ur?z=>z:dr;Oe=z=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,z])})});function ig(z,X,eA){return z&X^~z&eA}function gg(z,X,eA){return z&X^z&eA^X&eA}var Te,Kt,VA,rg=ae(()=>{mA();Qi();Te=class{constructor(X,eA,gA,IA){pA(this,"blockLen");pA(this,"outputLen");pA(this,"padOffset");pA(this,"isLE");pA(this,"buffer");pA(this,"view");pA(this,"finished",!1);pA(this,"length",0);pA(this,"pos",0);pA(this,"destroyed",!1);this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Bi(this.buffer)}update(X){He(this),Fe(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Bi(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){He(this),Ci(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,lt(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;gA.setBigUint64(IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Bi(X),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 BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},Kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),VA=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209])});function lr(z,X=!1){return X?{h:Number(z&ci),l:Number(z>>Ig&ci)}:{h:Number(z>>Ig&ci)|0,l:Number(z&ci)|0}}function fi(z,X=!1){let eA=z.length,gA=new Uint32Array(eA),IA=new Uint32Array(eA);for(let sA=0;sA<eA;sA++){let{h:CA,l:cA}=lr(z[sA],X);[gA[sA],IA[sA]]=[CA,cA]}return[gA,IA]}function pt(z,X,eA,gA){let IA=(X>>>0)+(gA>>>0);return{h:z+eA+(IA/2**32|0)|0,l:IA|0}}var ci,Ig,qi,vi,Ce,Be,je,Pe,og,ng,sg,ag,Cg,Bg,Qg,cg,fg,Eg,Oi=ae(()=>{mA();ci=BigInt(4294967295),Ig=BigInt(32);qi=(z,X,eA)=>z>>>eA,vi=(z,X,eA)=>z<<32-eA|X>>>eA,Ce=(z,X,eA)=>z>>>eA|X<<32-eA,Be=(z,X,eA)=>z<<32-eA|X>>>eA,je=(z,X,eA)=>z<<64-eA|X>>>eA-32,Pe=(z,X,eA)=>z>>>eA-32|X<<64-eA,og=(z,X,eA)=>z<<eA|X>>>32-eA,ng=(z,X,eA)=>X<<eA|z>>>32-eA,sg=(z,X,eA)=>X<<eA-32|z>>>64-eA,ag=(z,X,eA)=>z<<eA-32|X>>>64-eA;Cg=(z,X,eA)=>(z>>>0)+(X>>>0)+(eA>>>0),Bg=(z,X,eA,gA)=>X+eA+gA+(z/2**32|0)|0,Qg=(z,X,eA,gA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0),cg=(z,X,eA,gA,IA)=>X+eA+gA+IA+(z/2**32|0)|0,fg=(z,X,eA,gA,IA)=>(z>>>0)+(X>>>0)+(eA>>>0)+(gA>>>0)+(IA>>>0),Eg=(z,X,eA,gA,IA,sA)=>X+eA+gA+IA+sA+(z/2**32|0)|0});var xr,Xt,Ti,ji,hg,Dr,wr,Zt,zt,Pi,Wi,ug,yg,dg=ae(()=>{mA();rg();Oi();Qi();xr=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]),Xt=new Uint32Array(64),Ti=class extends Te{constructor(X){super(64,X,8,!1)}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Xt[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Xt[BA-15],_=Xt[BA-2],fA=Et(xA,7)^Et(xA,18)^xA>>>3,FA=Et(_,17)^Et(_,19)^_>>>10;Xt[BA]=FA+Xt[BA-7]+fA+Xt[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=Et(cA,6)^Et(cA,11)^Et(cA,25),_=uA+xA+ig(cA,EA,yA)+xr[BA]+Xt[BA]|0,FA=(Et(gA,2)^Et(gA,13)^Et(gA,22))+gg(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+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(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){lt(Xt)}destroy(){this.set(0,0,0,0,0,0,0,0),lt(this.buffer)}},ji=class extends Ti{constructor(){super(32);pA(this,"A",Kt[0]|0);pA(this,"B",Kt[1]|0);pA(this,"C",Kt[2]|0);pA(this,"D",Kt[3]|0);pA(this,"E",Kt[4]|0);pA(this,"F",Kt[5]|0);pA(this,"G",Kt[6]|0);pA(this,"H",Kt[7]|0)}},hg=fi(["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(z=>BigInt(z))),Dr=hg[0],wr=hg[1],Zt=new Uint32Array(80),zt=new Uint32Array(80),Pi=class extends Te{constructor(X){super(128,X,16,!1)}get(){let{Ah:X,Al:eA,Bh:gA,Bl:IA,Ch:sA,Cl:CA,Dh:cA,Dl:EA,Eh:yA,El:uA,Fh:BA,Fl:xA,Gh:_,Gl:fA,Hh:FA,Hl:UA}=this;return[X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA]}set(X,eA,gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA){this.Ah=X|0,this.Al=eA|0,this.Bh=gA|0,this.Bl=IA|0,this.Ch=sA|0,this.Cl=CA|0,this.Dh=cA|0,this.Dl=EA|0,this.Eh=yA|0,this.El=uA|0,this.Fh=BA|0,this.Fl=xA|0,this.Gh=_|0,this.Gl=fA|0,this.Hh=FA|0,this.Hl=UA|0}process(X,eA){for(let HA=0;HA<16;HA++,eA+=4)Zt[HA]=X.getUint32(eA),zt[HA]=X.getUint32(eA+=4);for(let HA=16;HA<80;HA++){let it=Zt[HA-15]|0,ut=zt[HA-15]|0,GA=Ce(it,ut,1)^Ce(it,ut,8)^qi(it,ut,7),lA=Be(it,ut,1)^Be(it,ut,8)^vi(it,ut,7),ZA=Zt[HA-2]|0,XA=zt[HA-2]|0,vt=Ce(ZA,XA,19)^je(ZA,XA,61)^qi(ZA,XA,6),Ot=Be(ZA,XA,19)^Pe(ZA,XA,61)^vi(ZA,XA,6),te=Qg(lA,Ot,zt[HA-7],zt[HA-16]),le=cg(te,GA,vt,Zt[HA-7],Zt[HA-16]);Zt[HA]=le|0,zt[HA]=te|0}let{Ah:gA,Al:IA,Bh:sA,Bl:CA,Ch:cA,Cl:EA,Dh:yA,Dl:uA,Eh:BA,El:xA,Fh:_,Fl:fA,Gh:FA,Gl:UA,Hh:bA,Hl:YA}=this;for(let HA=0;HA<80;HA++){let it=Ce(BA,xA,14)^Ce(BA,xA,18)^je(BA,xA,41),ut=Be(BA,xA,14)^Be(BA,xA,18)^Pe(BA,xA,41),GA=BA&_^~BA&FA,lA=xA&fA^~xA&UA,ZA=fg(YA,ut,lA,wr[HA],zt[HA]),XA=Eg(ZA,bA,it,GA,Dr[HA],Zt[HA]),vt=ZA|0,Ot=Ce(gA,IA,28)^je(gA,IA,34)^je(gA,IA,39),te=Be(gA,IA,28)^Pe(gA,IA,34)^Pe(gA,IA,39),le=gA&sA^gA&cA^sA&cA,gi=IA&CA^IA&EA^CA&EA;bA=FA|0,YA=UA|0,FA=_|0,UA=fA|0,_=BA|0,fA=xA|0,{h:BA,l:xA}=pt(yA|0,uA|0,XA|0,vt|0),yA=cA|0,uA=EA|0,cA=sA|0,EA=CA|0,sA=gA|0,CA=IA|0;let pe=Cg(vt,te,gi);gA=Bg(pe,XA,Ot,le),IA=pe|0}({h:gA,l:IA}=pt(this.Ah|0,this.Al|0,gA|0,IA|0)),{h:sA,l:CA}=pt(this.Bh|0,this.Bl|0,sA|0,CA|0),{h:cA,l:EA}=pt(this.Ch|0,this.Cl|0,cA|0,EA|0),{h:yA,l:uA}=pt(this.Dh|0,this.Dl|0,yA|0,uA|0),{h:BA,l:xA}=pt(this.Eh|0,this.El|0,BA|0,xA|0),{h:_,l:fA}=pt(this.Fh|0,this.Fl|0,_|0,fA|0),{h:FA,l:UA}=pt(this.Gh|0,this.Gl|0,FA|0,UA|0),{h:bA,l:YA}=pt(this.Hh|0,this.Hl|0,bA|0,YA|0),this.set(gA,IA,sA,CA,cA,EA,yA,uA,BA,xA,_,fA,FA,UA,bA,YA)}roundClean(){lt(Zt,zt)}destroy(){lt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},Wi=class extends Pi{constructor(){super(64);pA(this,"Ah",VA[0]|0);pA(this,"Al",VA[1]|0);pA(this,"Bh",VA[2]|0);pA(this,"Bl",VA[3]|0);pA(this,"Ch",VA[4]|0);pA(this,"Cl",VA[5]|0);pA(this,"Dh",VA[6]|0);pA(this,"Dl",VA[7]|0);pA(this,"Eh",VA[8]|0);pA(this,"El",VA[9]|0);pA(this,"Fh",VA[10]|0);pA(this,"Fl",VA[11]|0);pA(this,"Gh",VA[12]|0);pA(this,"Gl",VA[13]|0);pA(this,"Hh",VA[14]|0);pA(this,"Hl",VA[15]|0)}},ug=ve(()=>new ji,Oe(1)),yg=ve(()=>new Wi,Oe(3))});function Nr(z,X=24){let eA=new Uint32Array(10);for(let gA=24-X;gA<24;gA++){for(let CA=0;CA<10;CA++)eA[CA]=z[CA]^z[CA+10]^z[CA+20]^z[CA+30]^z[CA+40];for(let CA=0;CA<10;CA+=2){let cA=(CA+8)%10,EA=(CA+2)%10,yA=eA[EA],uA=eA[EA+1],BA=lg(yA,uA,1)^eA[cA],xA=pg(yA,uA,1)^eA[cA+1];for(let _=0;_<50;_+=10)z[CA+_]^=BA,z[CA+_+1]^=xA}let IA=z[2],sA=z[3];for(let CA=0;CA<24;CA++){let cA=Dg[CA],EA=lg(IA,sA,cA),yA=pg(IA,sA,cA),uA=xg[CA];IA=z[uA],sA=z[uA+1],z[uA]=EA,z[uA+1]=yA}for(let CA=0;CA<50;CA+=10){for(let cA=0;cA<10;cA++)eA[cA]=z[CA+cA];for(let cA=0;cA<10;cA++)z[CA+cA]^=~eA[(cA+2)%10]&eA[(cA+4)%10]}z[0]^=Hr[gA],z[1]^=kr[gA]}lt(eA)}var br,We,Gr,mr,Sr,Fr,xg,Dg,wg,bg,Hr,kr,lg,pg,_i,Ur,Gg,mg=ae(()=>{mA();Oi();Qi();br=BigInt(0),We=BigInt(1),Gr=BigInt(2),mr=BigInt(7),Sr=BigInt(256),Fr=BigInt(113),xg=[],Dg=[],wg=[];for(let z=0,X=We,eA=1,gA=0;z<24;z++){[eA,gA]=[gA,(2*eA+3*gA)%5],xg.push(2*(5*gA+eA)),Dg.push((z+1)*(z+2)/2%64);let IA=br;for(let sA=0;sA<7;sA++)X=(X<<We^(X>>mr)*Fr)%Sr,X&Gr&&(IA^=We<<(We<<BigInt(sA))-We);wg.push(IA)}bg=fi(wg,!0),Hr=bg[0],kr=bg[1],lg=(z,X,eA)=>eA>32?sg(z,X,eA):og(z,X,eA),pg=(z,X,eA)=>eA>32?ag(z,X,eA):ng(z,X,eA);_i=class z{constructor(X,eA,gA,IA=!1,sA=24){pA(this,"state");pA(this,"pos",0);pA(this,"posOut",0);pA(this,"finished",!1);pA(this,"state32");pA(this,"destroyed",!1);pA(this,"blockLen");pA(this,"suffix");pA(this,"outputLen");pA(this,"enableXOF",!1);pA(this,"rounds");if(this.blockLen=X,this.suffix=eA,this.outputLen=gA,this.enableXOF=IA,this.rounds=sA,Mi(gA,"outputLen"),!(0<X&&X<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=eg(this.state)}clone(){return this._cloneInto()}keccak(){Ji(this.state32),Nr(this.state32,this.rounds),Ji(this.state32),this.posOut=0,this.pos=0}update(X){He(this),Fe(X);let{blockLen:eA,state:gA}=this,IA=X.length;for(let sA=0;sA<IA;){let CA=Math.min(eA-this.pos,IA-sA);for(let cA=0;cA<CA;cA++)gA[this.pos++]^=X[sA++];this.pos===eA&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:X,suffix:eA,pos:gA,blockLen:IA}=this;X[gA]^=eA,(eA&128)!==0&&gA===IA-1&&this.keccak(),X[IA-1]^=128,this.keccak()}writeInto(X){He(this,!1),Fe(X),this.finish();let eA=this.state,{blockLen:gA}=this;for(let IA=0,sA=X.length;IA<sA;){this.posOut>=gA&&this.keccak();let CA=Math.min(gA-this.posOut,sA-IA);X.set(eA.subarray(this.posOut,this.posOut+CA),IA),this.posOut+=CA,IA+=CA}return X}xofInto(X){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(X)}xof(X){return Mi(X),this.xofInto(new Uint8Array(X))}digestInto(X){if(Ci(X,this),this.finished)throw new Error("digest() was already called");return this.writeInto(X),this.destroy(),X}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,lt(this.state)}_cloneInto(X){let{blockLen:eA,suffix:gA,outputLen:IA,rounds:sA,enableXOF:CA}=this;return X||(X=new z(eA,gA,IA,CA,sA)),X.state32.set(this.state32),X.pos=this.pos,X.posOut=this.posOut,X.finished=this.finished,X.rounds=sA,X.suffix=gA,X.outputLen=IA,X.enableXOF=CA,X.destroyed=this.destroyed,X}},Ur=(z,X,eA,gA={})=>ve(()=>new _i(X,z,eA),gA),Gg=Ur(6,136,32,Oe(8))});var Ei={};Ag(Ei,{createHash:()=>Sg,default:()=>Yr});function Sg(z){let X=new Uint8Array(0),eA;switch(z.toLowerCase()){case"sha256":case"sha-256":eA=ug;break;case"sha512":case"sha-512":eA=yg;break;case"sha3-256":eA=Gg;break;default:throw new Error(`Unsupported hash algorithm: ${z}`)}return{update(gA){let IA=gA instanceof Uint8Array?gA:new Uint8Array(gA),sA=new Uint8Array(X.length+IA.length);return sA.set(X),sA.set(IA,X.length),X=sA,this},digest(){return eA(X)}}}var Yr,hi=ae(()=>{"use strict";mA();dg();mg();Yr={createHash:Sg}});var rr=Qr((exports,module)=>{mA();var dilithium=(function(){var A,I,g,C={};function B(z,X){if(z===0)return X;throw new Error("Dilithium error: "+z)}function Q(z,X){return new Uint8Array(new Uint8Array(C.HEAPU8.buffer,z,X))}function i(z){try{C._free(z)}catch(X){setTimeout((function(){throw X}),0)}}C.ready=new Promise((function(A,I){function g(z){return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},g(z)}(Q={}).onAbort=I,Q.onRuntimeInitialized=function(){try{Q._dilithiumjs_public_key_bytes(),A(Q)}catch(z){I(z)}};var C,B,Q=Q!==void 0?Q:{},i=Object.assign({},Q),E=function(z,X){throw X},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(z,X){var eA=x(z);return eA?X?eA:eA.toString():(z=q(z)?new URL(z):e.normalize(z),a.readFileSync(z,X?void 0:"utf8"))},B=function(z){var X=C(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!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(z){if(!(z==="unwind"||z instanceof p||z.context instanceof p))throw z})),E=function(z,X){throw process.exitCode=z,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(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=x(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},n&&(B=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=x(z);if(eA)return eA;throw gA}}));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(z){throw Q.onAbort&&Q.onAbort(z),D(z="Aborted("+z+")"),F=!0,z+=". Build with -sASSERTIONS for more info.",new WebAssembly.RuntimeError(z)}var R,d,M="data:application/octet-stream;base64,";function J(z){return z.startsWith(M)}function q(z){return z.startsWith("file://")}function l(z){return Promise.resolve().then((function(){return(function(X){if(X==R&&f)return new Uint8Array(f);var eA=x(X);if(eA)return eA;if(B)return B(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function m(z,X,eA,gA){return(function(IA,sA,CA){return l(IA).then((function(cA){return WebAssembly.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){D("failed to asynchronously prepare wasm: "+cA),U(cA)}))})(X,eA,gA)}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/A0AgACAEQQV0aiICIAEgBEEDbGoiAy0AAEEHcSIFNgIAIAIgAy0AAEEDdkEHcSIGNgIEIAIgAy0AAUECdEEEcSADLQAAQQZ2ciIHNgIIIAIgAy0AAUEBdkEHcSIINgIMIAIgAy0AAUEEdkEHcSIJNgIQIAIgAy0AAkEBdEEGcSADLQABQQd2ciIKNgIUIAIgAy0AAkECdkEHcSILNgIYIAMtAAIhAyACQQIgBms2AgQgAkECIAVrNgIAIAJBAiAHazYCCCACQQIgCGs2AgwgAkECIAlrNgIQIAJBAiAKazYCFCACQQIgC2s2AhggAkECIANBBXZrNgIcIARBAWoiBEEgRw0ACwu5AQEIfwNAIAEgA0EFdGoiAigCECEGIAIoAgwhByACKAIcIQQgAigCFCEIIAIoAhghCSAAIANBA2xqIgVBECACKAIEQQN0a0ECIAIoAgBrckECIAIoAghrIgJBBnRyOgAAIAVBwAAgBEEFdGtBCCAJQQJ0a0ECIAhrIgRB/gFxQQF2cnI6AAIgBUEgIAZBBHRrQQQgB0EBdGsgAkH8AXFBAnZyciAEQQd0cjoAASADQQFqIgNBIEcNAAsLpgMBBn8jAEGgAWsiBCQAIARBDGoiAyABIAIQMyAEQRBqQYgBIAMQD0EAIQJBACEDA0AgBEEQaiACai0AACIFQQR2IQEgBUEPcSIFQQ9HBEAgACADQQJ0aiAFQc0BbEEKdkEFbCAFa0ECajYCACADQQFqIQMLAkAgAUEPRg0AIANB/wFLDQAgACADQQJ0aiABQc0BbEEKdkEFbCABa0ECajYCACADQQFqIQMLIAJBhgFNBEAgAkEBaiECIANBgAJJDQELCyADQf8BTQRAA0AgBEEQakGIASAEQQxqEA9BgAIgA2shByAAIANBAnRqIQhBACEBQQAhAgNAIARBEGogAWotAAAiBkEEdiEFIAZBD3EiBkEPRwRAIAggAkECdGogBkHNAWxBCnZBBWwgBmtBAmo2AgAgAkEBaiECCwJAIAVBD0YNACACIAdPDQAgCCACQQJ0aiAFQc0BbEEKdkEFbCAFa0ECajYCACACQQFqIQILIAFBhgFNBEAgAUEBaiEBIAIgB0kNAQsLIAIgA2oiA0GAAkkNAAsLIARBDGoQECAEQaABaiQAC2kBA38Cf0EBIAFBgPg/Sg0AGgNAQQEgACADQQJ0IgRqKAIAIgIgAkEBdCACQR91cWsgAU4NARpBASAAIARBBHJqKAIAIgIgAkEBdCACQR91cWsgAU4NARogA0ECaiIDQYACRw0AC0EACws6AQJ/A0AgACACQQJ0aiIBIAEoAgAiASABQYCAgAJqQRd1Qf+/gHxsajYCACACQQFqIgJBgAJHDQALC6MeAgd/An5BgAIhBgNAIAAgBUECdCIEaiICIAAgBEEEcmoiBCgCACIBIAIoAgAiAmo2AgAgBCACIAFrIgI2AgAgBCACrEEAIAZBAWsiBkECdEGgCmooAgBrrH4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAVB/gFJIQQgBUECaiEFIAQNAAsDQCAAIANBAnQiBGoiBSAAIARBCHJqIgIoAgAiASAFKAIAIgVqNgIAIAIgBSABayIBNgIAQQAhBSACQQAgBkEBayIGQQJ0QaAKaigCAGusIgkgAax+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIARBBHJqIgIgACAEQQxyaiIEKAIAIgEgAigCACICajYCACAEIAIgAWsiAjYCACAEIAKsIAl+IgkgCUKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACADQfwBSSEEIANBBGohAyAEDQALA0AgACAFQQJ0IgRqIgMgACAEQRByaiICKAIAIgEgAygCACIDajYCACACIAMgAWsiATYCAEEAIQMgAkEAIAZBAWsiBkECdEGgCmooAgBrrCIJIAGsfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACAEQQRyaiIBIAAgBEEUcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACAEQQhyaiIBIAAgBEEYcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgACAEQQxyaiICIAAgBEEccmoiBCgCACIBIAIoAgAiAmo2AgAgBCACIAFrIgI2AgAgBCACrCAJfiIJIAlCgICAgJCAiMADfkIgh0L/v4B8fnxCIIg+AgAgBUH4AUkhBCAFQQhqIQUgBA0ACwNAIAAgA0ECdCIEaiIFIAAgBEEgcmoiAigCACIBIAUoAgAiBWo2AgAgAiAFIAFrIgE2AgBBACEFIAJBACAGQQFrIgZBAnRBoApqKAIAa6wiCSABrH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEEcmoiASAAIARBJHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEIcmoiASAAIARBKHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEMcmoiASAAIARBLHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEQcmoiASAAIARBMHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEUcmoiASAAIARBNHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEYcmoiASAAIARBOHJqIgIoAgAiByABKAIAIgFqNgIAIAIgASAHayIBNgIAIAIgAawgCX4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgBEEccmoiAiAAIARBPHJqIgQoAgAiASACKAIAIgJqNgIAIAQgAiABayICNgIAIAQgAqwgCX4iCSAJQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIANB8AFJIQQgA0EQaiEDIAQNAAsDQCAAIAVBAnQiA2oiAiAAIANBwAByaiIEKAIAIgEgAigCACICajYCACAEIAIgAWsiAjYCACAEQQAgBiIEQQFrIgZBAnRBoApqKAIAa6wiCSACrH4iCCAIQoCAgICQgIjAA35CIIdC/7+AfH58QiCIPgIAIAAgA0EEcmoiASAAIANBxAByaiICKAIAIgcgASgCACIBajYCACACIAEgB2siATYCACACIAGsIAl+IgggCEKAgICAkICIwAN+QiCHQv+/gHx+fEIgiD4CACAAIANBCHJqIgEgACADQcgAcmoiAigCACIHIAEoAgAiAWo2AgAgAiABIAdrIgE2AgAgAiABrCAJfiIIIAhCgICAgJCAiMADfkIgh0L/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+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 z=new Uint32Array(1);return I.getRandomValues(z),z[0]>>>0};C(),Q.getRandomValue=C}catch(A){try{var B=eval("require")("crypto"),i=function(){var z=B.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),Q.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function p(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var K=function(z){for(;z.length>0;)z.shift()(Q)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var b,v=[],j=function(z,X,eA){var gA=(function(IA,sA){var CA;for(v.length=0,sA>>=2;CA=y[IA++];)sA+=CA!=105&sA,v.push(CA==105?u[sA]:s[sA++>>1]),++sA;return v})(X,eA);return L[z].apply(null,gA)},O=function(z){G||(Q.onExit&&Q.onExit(z),F=!0),E(z,new p(z))},T={b:function(z,X,eA){return j(z,X,eA)},d:function(z,X,eA){return y.copyWithin(z,X,X+eA)},c:function(z){y.length,U("OOM")},a:function(z,X){O(z)}};(function(){var z={a:T};function X(eA,gA){var IA,sA,CA=eA.exports;return Q.asm=CA,c=Q.asm.e,IA=c.buffer,Q.HEAP8=h=new Int8Array(IA),Q.HEAP16=new Int16Array(IA),Q.HEAP32=u=new Int32Array(IA),Q.HEAPU8=y=new Uint8Array(IA),Q.HEAPU16=new Uint16Array(IA),Q.HEAPU32=new Uint32Array(IA),Q.HEAPF32=new Float32Array(IA),Q.HEAPF64=s=new Float64Array(IA),Q.asm.g,sA=Q.asm.f,N.unshift(sA),(function(cA){if(S--,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),S==0&&(k!==null&&(clearInterval(k),k=null),H)){var EA=H;H=null,EA()}})(),CA}if(S++,Q.monitorRunDependencies&&Q.monitorRunDependencies(S),Q.instantiateWasm)try{return Q.instantiateWasm(z,X)}catch(eA){return D("Module.instantiateWasm callback failed with error: "+eA),!1}m(0,R,z,(function(eA){X(eA.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(z){if(J(z))return(function(X){if(r!==void 0&&r){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(M.length))}function W(){function z(){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;)X=Q.postRun.shift(),w.unshift(X);var X;K(w)})()))}S>0||((function(){if(Q.preRun)for(typeof Q.preRun=="function"&&(Q.preRun=[Q.preRun]);Q.preRun.length;)X=Q.preRun.shift(),Y.unshift(X);var X;K(Y)})(),S>0||(Q.setStatus?(Q.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Q.setStatus("")}),1),z()}),1)):z()))}if(Q.writeArrayToMemory=function(z,X){h.set(z,X)},H=function z(){b||W(),b||(H=z)},Q.preInit)for(typeof Q.preInit=="function"&&(Q.preInit=[Q.preInit]);Q.preInit.length>0;)Q.preInit.pop()();W()})).catch((function(){function A(z){return A=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},A(z)}var I,g,C=(C={})!==void 0?C:{},B=Object.assign({},C),Q=function(z,X){throw X},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(z,X){var eA=P(z);return eA?X?eA:eA.toString():(z=m(z)?new URL(z):t.normalize(z),r.readFileSync(z,X?void 0:"utf8"))},g=function(z){var X=I(z,!0);return X.buffer||(X=new Uint8Array(X)),X},!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(z){if(!(z==="unwind"||z instanceof b||z.context instanceof b))throw z})),Q=function(z,X){throw process.exitCode=z,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(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.send(null),X.responseText}catch(gA){var eA=P(z);if(eA)return(function(IA){for(var sA=[],CA=0;CA<IA.length;CA++){var cA=IA[CA];cA>255&&(cA&=255),sA.push(String.fromCharCode(cA))}return sA.join("")})(eA);throw gA}},E&&(g=function(z){try{var X=new XMLHttpRequest;return X.open("GET",z,!1),X.responseType="arraybuffer",X.send(null),new Uint8Array(X.response)}catch(gA){var eA=P(z);if(eA)return eA;throw gA}}));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(z){this.buffer=new ArrayBuffer(65536*z.initial)},Module:function(z){},Instance:function(z,X){this.exports=(function(eA){for(var gA,IA=new Uint8Array(123),sA=25;sA>=0;--sA)IA[48+sA]=52+sA,IA[65+sA]=sA,IA[97+sA]=26+sA;function CA(EA,yA,uA){for(var BA,xA,_=0,fA=yA,FA=uA.length,UA=yA+(3*FA>>2)-(uA[FA-2]=="=")-(uA[FA-1]=="=");_<FA;_+=4)BA=IA[uA.charCodeAt(_+1)],xA=IA[uA.charCodeAt(_+2)],EA[fA++]=IA[uA.charCodeAt(_)]<<2|BA>>4,fA<UA&&(EA[fA++]=BA<<4|xA>>2),fA<UA&&(EA[fA++]=xA<<6|IA[uA.charCodeAt(_+3)])}function cA(){throw new Error("abort")}return IA[43]=62,IA[47]=63,(function(EA){var yA=EA.a,uA=yA.a.buffer,BA=new Int8Array(uA),xA=new Int16Array(uA),_=new Int32Array(uA),fA=new Uint8Array(uA),FA=new Uint16Array(uA),UA=new Uint32Array(uA),bA=(new Float32Array(uA),new Float64Array(uA),Math.imul),YA=Math.clz32,HA=yA.b,it=yA.c,ut=yA.d,GA=8392208,lA=0;function ZA(Z){var tA,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;GA=tA=GA-16|0;A:{e:{t:{i:{n:{I:{s:{f:{C:{a:{o:{B:{Q:{g:{if((Z|=0)>>>0<=244){if(3&(AA=(nA=_[776])>>>($=(aA=Z>>>0<11?16:Z+11&-8)>>>3|0)|0)){AA=(Z=($=$+(1&(-1^AA))|0)<<3)+3144|0,iA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[iA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):_[776]=yt($)&nA,Z=iA+8|0,AA=$<<3,_[iA+4>>2]=3|AA,_[(AA=AA+iA|0)+4>>2]=1|_[AA+4>>2];break A}if((dA=_[778])>>>0>=aA>>>0)break g;if(AA){AA=(Z=(iA=Yi(0-(Z=(0-(Z=2<<$)|Z)&AA<<$)&Z))<<3)+3144|0,rA=_[Z+3152>>2],(0|AA)!=(0|(Z=_[rA+8>>2]))?(_[Z+12>>2]=AA,_[AA+8>>2]=Z):(nA=yt(iA)&nA,_[776]=nA),_[rA+4>>2]=3|aA,iA=(Z=iA<<3)-aA|0,_[($=rA+aA|0)+4>>2]=1|iA,_[Z+rA>>2]=iA,dA&&(AA=3144+(-8&dA)|0,oA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=oA,_[Z+12>>2]=oA,_[oA+12>>2]=AA,_[oA+8>>2]=Z),Z=rA+8|0,_[781]=$,_[778]=iA;break A}if(!(hA=_[777]))break g;for($=_[3408+(Yi(0-hA&hA)<<2)>>2],oA=(-8&_[$+4>>2])-aA|0,AA=$;(Z=_[AA+16>>2])||(Z=_[AA+20>>2]);)oA=(iA=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,$=iA?Z:$,AA=Z;if(QA=_[$+24>>2],(0|(iA=_[$+12>>2]))!=(0|$)){Z=_[$+8>>2],_[Z+12>>2]=iA,_[iA+8>>2]=Z;break e}if(!(Z=_[(AA=$+20|0)>>2])){if(!(Z=_[$+16>>2]))break Q;AA=$+16|0}for(;rA=AA,iA=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=iA+16|0,Z=_[iA+16>>2]););_[rA>>2]=0;break e}if(aA=-1,!(Z>>>0>4294967231)&&(aA=-8&(Z=Z+11|0),hA=_[777])){oA=0-aA|0,nA=0,aA>>>0<256||(nA=31,aA>>>0>16777215||(nA=62+((aA>>>38-(Z=YA(Z>>>8|0))&1)-(Z<<1)|0)|0));r:{c:{if(AA=_[3408+(nA<<2)>>2])for(Z=0,$=aA<<((0|nA)!=31?25-(nA>>>1|0)|0:0);;){if(!((rA=(-8&_[AA+4>>2])-aA|0)>>>0>=oA>>>0||(iA=AA,oA=rA,rA))){oA=0,Z=AA;break c}if(rA=_[AA+20>>2],AA=_[16+(($>>>29&4)+AA|0)>>2],Z=rA?(0|rA)==(0|AA)?Z:rA:Z,$<<=1,!AA)break}else Z=0;if(!(Z|iA)){if(iA=0,!(Z=(0-(Z=2<<nA)|Z)&hA))break g;Z=_[3408+(Yi(Z&0-Z)<<2)>>2]}if(!Z)break r}for(;oA=($=(AA=(-8&_[Z+4>>2])-aA|0)>>>0<oA>>>0)?AA:oA,iA=$?Z:iA,Z=(AA=_[Z+16>>2])||_[Z+20>>2];);}if(!(!iA|_[778]-aA>>>0<=oA>>>0)){if(nA=_[iA+24>>2],(0|iA)!=(0|($=_[iA+12>>2]))){Z=_[iA+8>>2],_[Z+12>>2]=$,_[$+8>>2]=Z;break t}if(!(Z=_[(AA=iA+20|0)>>2])){if(!(Z=_[iA+16>>2]))break B;AA=iA+16|0}for(;rA=AA,$=Z,(Z=_[(AA=Z+20|0)>>2])||(AA=$+16|0,Z=_[$+16>>2]););_[rA>>2]=0;break t}}}if((Z=_[778])>>>0>=aA>>>0){iA=_[781],(AA=Z-aA|0)>>>0>=16?(_[($=iA+aA|0)+4>>2]=1|AA,_[Z+iA>>2]=AA,_[iA+4>>2]=3|aA):(_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2],$=0,AA=0),_[778]=AA,_[781]=$,Z=iA+8|0;break A}if((QA=_[779])>>>0>aA>>>0){AA=QA-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}if(Z=0,hA=aA+47|0,_[894]?$=_[896]:(_[897]=-1,_[898]=-1,_[895]=4096,_[896]=4096,_[894]=tA+12&-16^1431655768,_[899]=0,_[887]=0,$=4096),(AA=(rA=hA+$|0)&(oA=0-$|0))>>>0<=aA>>>0||(iA=_[886])&&iA>>>0<(nA=($=_[884])+AA|0)>>>0|$>>>0>=nA>>>0)break A;g:{if(!(4&fA[3548])){r:{c:{E:{h:{if(iA=_[782])for(Z=3552;;){if(($=_[Z>>2])>>>0<=iA>>>0&iA>>>0<$+_[Z+4>>2]>>>0)break h;if(!(Z=_[Z+8>>2]))break}if((0|($=De(0)))==-1||(nA=AA,(Z=(iA=_[895])-1|0)&$&&(nA=(AA-$|0)+(Z+$&0-iA)|0),nA>>>0<=aA>>>0)||(iA=_[886])&&iA>>>0<(oA=(Z=_[884])+nA|0)>>>0|Z>>>0>=oA>>>0)break r;if((0|$)!=(0|(Z=De(nA))))break E;break g}if((0|($=De(nA=oA&rA-QA)))==(_[Z>>2]+_[Z+4>>2]|0))break c;Z=$}if((0|Z)==-1)break r;if(aA+48>>>0<=nA>>>0){$=Z;break g}if((0|De($=($=_[896])+(hA-nA|0)&0-$))==-1)break r;nA=$+nA|0,$=Z;break g}if((0|$)!=-1)break g}_[887]=4|_[887]}if((0|($=De(AA)))==-1|(0|(Z=De(0)))==-1|Z>>>0<=$>>>0||(nA=Z-$|0)>>>0<=aA+40>>>0)break C}Z=_[884]+nA|0,_[884]=Z,Z>>>0>UA[885]&&(_[885]=Z);g:{if(rA=_[782]){for(Z=3552;;){if(((iA=_[Z>>2])+(AA=_[Z+4>>2])|0)==(0|$))break g;if(!(Z=_[Z+8>>2]))break}break o}for((Z=_[780])>>>0<=$>>>0&&Z||(_[780]=$),Z=0,_[889]=nA,_[888]=$,_[784]=-1,_[785]=_[894],_[891]=0;AA=(iA=Z<<3)+3144|0,_[iA+3152>>2]=AA,_[iA+3156>>2]=AA,(0|(Z=Z+1|0))!=32;);AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898];break a}if(8&_[Z+12>>2]|$>>>0<=rA>>>0|iA>>>0>rA>>>0)break o;_[Z+4>>2]=AA+nA,$=(Z=rA+8&7?-8-rA&7:0)+rA|0,_[782]=$,Z=(AA=_[779]+nA|0)-Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[4+(AA+rA|0)>>2]=40,_[783]=_[898];break a}iA=0;break e}$=0;break t}UA[780]>$>>>0&&(_[780]=$),AA=$+nA|0,Z=3552;o:{B:{Q:{for(;;){if((0|AA)!=_[Z>>2]){if(Z=_[Z+8>>2])continue;break Q}break}if(!(8&fA[Z+12|0]))break B}for(Z=3552;;){if((AA=_[Z>>2])>>>0<=rA>>>0&&(oA=AA+_[Z+4>>2]|0)>>>0>rA>>>0)break o;Z=_[Z+8>>2]}}if(_[Z>>2]=$,_[Z+4>>2]=_[Z+4>>2]+nA,_[(hA=($+8&7?-8-$&7:0)+$|0)+4>>2]=3|aA,Z=(nA=AA+(AA+8&7?-8-AA&7:0)|0)-(QA=aA+hA|0)|0,(0|rA)==(0|nA)){_[782]=QA,Z=_[779]+Z|0,_[779]=Z,_[QA+4>>2]=1|Z;break i}if(_[781]==(0|nA)){_[781]=QA,Z=_[778]+Z|0,_[778]=Z,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z;break i}if((3&(oA=_[nA+4>>2]))!=1)break n;if(rA=-8&oA,oA>>>0<=255){if((0|($=_[nA+12>>2]))==(0|(AA=_[nA+8>>2]))){_[776]=_[776]&yt(oA>>>3|0);break I}_[AA+12>>2]=$,_[$+8>>2]=AA;break I}if(aA=_[nA+24>>2],(0|nA)!=(0|($=_[nA+12>>2]))){AA=_[nA+8>>2],_[AA+12>>2]=$,_[$+8>>2]=AA;break s}if(!(oA=_[(AA=nA+20|0)>>2])){if(!(oA=_[nA+16>>2]))break f;AA=nA+16|0}for(;iA=AA,(oA=_[(AA=($=oA)+20|0)>>2])||(AA=$+16|0,oA=_[$+16>>2]););_[iA>>2]=0;break s}for(AA=(iA=nA-40|0)-(Z=$+8&7?-8-$&7:0)|0,_[779]=AA,Z=Z+$|0,_[782]=Z,_[Z+4>>2]=1|AA,_[4+($+iA|0)>>2]=40,_[783]=_[898],_[(iA=(Z=(oA+(oA-39&7?39-oA&7:0)|0)-47|0)>>>0<rA+16>>>0?rA:Z)+4>>2]=27,Z=_[891],_[iA+16>>2]=_[890],_[iA+20>>2]=Z,Z=_[889],_[iA+8>>2]=_[888],_[iA+12>>2]=Z,_[890]=iA+8,_[889]=nA,_[888]=$,_[891]=0,Z=iA+24|0;_[Z+4>>2]=7,AA=Z+8|0,Z=Z+4|0,AA>>>0<oA>>>0;);if((0|iA)!=(0|rA))if(_[iA+4>>2]=-2&_[iA+4>>2],oA=iA-rA|0,_[rA+4>>2]=1|oA,_[iA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;o:{if((iA=_[777])&($=1<<Z)){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),iA=_[AA>>2];;){if((0|oA)==(-8&_[(AA=iA)+4>>2]))break o;if($=Z>>>29|0,Z<<=1,!(iA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|iA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break a}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}}if(!((Z=_[779])>>>0<=aA>>>0)){AA=Z-aA|0,_[779]=AA,Z=($=_[782])+aA|0,_[782]=Z,_[Z+4>>2]=1|AA,_[$+4>>2]=3|aA,Z=$+8|0;break A}}_[775]=48,Z=0;break A}$=0}if(aA){iA=_[nA+28>>2];s:{if(_[(AA=3408+(iA<<2)|0)>>2]==(0|nA)){if(_[AA>>2]=$,$)break s;_[777]=_[777]&yt(iA);break I}if(_[aA+(_[aA+16>>2]==(0|nA)?16:20)>>2]=$,!$)break I}_[$+24>>2]=aA,(AA=_[nA+16>>2])&&(_[$+16>>2]=AA,_[AA+24>>2]=$),(AA=_[nA+20>>2])&&(_[$+20>>2]=AA,_[AA+24>>2]=$)}}Z=Z+rA|0,oA=_[(nA=rA+nA|0)+4>>2]}if(_[nA+4>>2]=-2&oA,_[QA+4>>2]=1|Z,_[Z+QA>>2]=Z,Z>>>0<=255)AA=3144+(-8&Z)|0,($=_[776])&(Z=1<<(Z>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=QA,_[Z+12>>2]=QA,_[QA+12>>2]=AA,_[QA+8>>2]=Z;else{oA=31,Z>>>0<=16777215&&(oA=62+((Z>>>38-(AA=YA(Z>>>8|0))&1)-(AA<<1)|0)|0),_[QA+28>>2]=oA,_[QA+16>>2]=0,_[QA+20>>2]=0,AA=3408+(oA<<2)|0;n:{if((iA=_[777])&($=1<<oA)){for(oA=Z<<((0|oA)!=31?25-(oA>>>1|0)|0:0),$=_[AA>>2];;){if(AA=$,(-8&_[$+4>>2])==(0|Z))break n;if($=oA>>>29|0,oA<<=1,!($=_[(iA=(4&$)+AA|0)+16>>2]))break}_[iA+16>>2]=QA}else _[777]=$|iA,_[AA>>2]=QA;_[QA+24>>2]=AA,_[QA+12>>2]=QA,_[QA+8>>2]=QA;break i}Z=_[AA+8>>2],_[Z+12>>2]=QA,_[AA+8>>2]=QA,_[QA+24>>2]=0,_[QA+12>>2]=AA,_[QA+8>>2]=Z}}Z=hA+8|0;break A}t:if(nA){AA=_[iA+28>>2];i:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|iA)){if(_[Z>>2]=$,$)break i;hA=yt(AA)&hA,_[777]=hA;break t}if(_[nA+(_[nA+16>>2]==(0|iA)?16:20)>>2]=$,!$)break t}_[$+24>>2]=nA,(Z=_[iA+16>>2])&&(_[$+16>>2]=Z,_[Z+24>>2]=$),(Z=_[iA+20>>2])&&(_[$+20>>2]=Z,_[Z+24>>2]=$)}t:if(oA>>>0<=15)Z=oA+aA|0,_[iA+4>>2]=3|Z,_[(Z=Z+iA|0)+4>>2]=1|_[Z+4>>2];else if(_[iA+4>>2]=3|aA,_[(rA=iA+aA|0)+4>>2]=1|oA,_[rA+oA>>2]=oA,oA>>>0<=255)AA=3144+(-8&oA)|0,($=_[776])&(Z=1<<(oA>>>3))?Z=_[AA+8>>2]:(_[776]=Z|$,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z;else{Z=31,oA>>>0<=16777215&&(Z=62+((oA>>>38-(Z=YA(oA>>>8|0))&1)-(Z<<1)|0)|0),_[rA+28>>2]=Z,_[rA+16>>2]=0,_[rA+20>>2]=0,AA=3408+(Z<<2)|0;i:{if(($=1<<Z)&hA){for(Z=oA<<((0|Z)!=31?25-(Z>>>1|0)|0:0),aA=_[AA>>2];;){if((-8&_[(AA=aA)+4>>2])==(0|oA))break i;if($=Z>>>29|0,Z<<=1,!(aA=_[($=(4&$)+AA|0)+16>>2]))break}_[$+16>>2]=rA}else _[777]=$|hA,_[AA>>2]=rA;_[rA+24>>2]=AA,_[rA+12>>2]=rA,_[rA+8>>2]=rA;break t}Z=_[AA+8>>2],_[Z+12>>2]=rA,_[AA+8>>2]=rA,_[rA+24>>2]=0,_[rA+12>>2]=AA,_[rA+8>>2]=Z}Z=iA+8|0;break A}e:if(QA){AA=_[$+28>>2];t:{if(_[(Z=3408+(AA<<2)|0)>>2]==(0|$)){if(_[Z>>2]=iA,iA)break t;_[777]=yt(AA)&hA;break e}if(_[QA+(_[QA+16>>2]==(0|$)?16:20)>>2]=iA,!iA)break e}_[iA+24>>2]=QA,(Z=_[$+16>>2])&&(_[iA+16>>2]=Z,_[Z+24>>2]=iA),(Z=_[$+20>>2])&&(_[iA+20>>2]=Z,_[Z+24>>2]=iA)}oA>>>0<=15?(Z=oA+aA|0,_[$+4>>2]=3|Z,_[(Z=Z+$|0)+4>>2]=1|_[Z+4>>2]):(_[$+4>>2]=3|aA,_[(iA=$+aA|0)+4>>2]=1|oA,_[iA+oA>>2]=oA,dA&&(AA=3144+(-8&dA)|0,rA=_[781],(Z=1<<(dA>>>3))&nA?Z=_[AA+8>>2]:(_[776]=Z|nA,Z=AA),_[AA+8>>2]=rA,_[Z+12>>2]=rA,_[rA+12>>2]=AA,_[rA+8>>2]=Z),_[781]=iA,_[778]=oA),Z=$+8|0}return GA=tA+16|0,0|Z}function XA(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0,zA=0,rt=0,It=0,ot=0,nt=0,st=0,At=0,at=0,tt=0,Ct=0,Bt=0,Qt=0,ct=0,ft=0,dt=0,mt=0,ie=0,St=0,Ft=0,Ht=0,kt=0,jt=0,Nt=0,Ut=0,Yt=0,Rt=0,Lt=0,Pt=0,Wt=0,_t=0,ge=0,re=0,Vt=0,Ie=0,oe=0,be=0,Ge=0,ne=0,se=0,me=0,ni=0,si=0,ai=0,m0=0,S0=0,F0=0,H0=0,k0=0,N0=0,U0=0,Y0=0,R0=0,L0=0,Ki=0,K0=0,M0=0,J0=0,q0=0,v0=0,O0=0,T0=0,j0=0,P0=0,W0=0,_0=0,V0=0,X0=0,Z0=0,z0=0,$0=0;for(St=_[Z+192>>2],Ft=_[Z+196>>2],It=_[Z+184>>2],Ht=_[Z+188>>2],kt=_[Z+176>>2],jt=_[Z+180>>2],ot=_[Z+168>>2],Nt=_[Z+172>>2],OA=_[Z+160>>2],re=_[Z+164>>2],Ut=_[Z+152>>2],Vt=_[Z+156>>2],Yt=_[Z+144>>2],Rt=_[Z+148>>2],nt=_[Z+136>>2],st=_[Z+140>>2],At=_[Z+128>>2],Ie=_[Z+132>>2],Lt=_[Z+120>>2],oe=_[Z+124>>2],at=_[Z+112>>2],tt=_[Z+116>>2],NA=_[Z+104>>2],WA=_[Z+108>>2],Ct=_[Z+96>>2],Bt=_[Z+100>>2],QA=_[Z+88>>2],_A=_[Z+92>>2],nA=_[Z+80>>2],Qt=_[Z+84>>2],oA=_[Z+72>>2],ct=_[Z+76>>2],SA=_[Z+64>>2],KA=_[Z+68>>2],TA=_[Z+56>>2],kA=_[Z+60>>2],AA=_[Z+48>>2],Pt=_[Z+52>>2],iA=_[Z+40>>2],RA=_[Z+44>>2],JA=_[Z+32>>2],ft=_[Z+36>>2],dA=_[Z+24>>2],qA=_[Z+28>>2],hA=_[Z+16>>2],zA=_[Z+20>>2],$=_[Z+8>>2],vA=_[Z+12>>2],aA=_[Z>>2],jA=_[Z+4>>2];ai>>>0<=23;)tA=dA^SA^NA^It^Yt,dt=wA(LA=aA^iA^nA^OA^Lt,PA=jA^RA^Qt^re^oe,1)^tA,rA=wA(JA^dt,ft^(mt=(be=qA^KA^WA^Ht^Rt)^lA),27),Ge=lA,Wt=rt=zA^kA^Bt^st^jt,rt=wA(ie=hA^TA^Ct^nt^kt,rt,1)^LA,LA=wA(QA^rt,_A^(_t=lA^PA),10),ne=lA,ge=PA=vA^Pt^_A^Nt^Ie,se=JA^oA^at^St^Ut,JA=wA(ni=$^AA^QA^ot^At,PA,1)^se,PA=wA(PA=iA^JA,RA^(_A=(iA=ft^ct^tt^Ft^Vt)^lA),36),me=lA,QA=wA($^rt,vA^_t,1),vA=lA,RA=wA(se,iA,1)^ie,NA=wA(RA^NA,(ie=WA)^(WA=lA^Wt),25),Wt=lA,ft=wA(tA,be,1)^ni,$=wA(ft^TA,(ie=kA)^(kA=lA^ge),6),be=lA,TA=wA(dA^RA,qA^WA,28),qA=lA,nA=wA(nA^JA,_A^Qt,3),Qt=lA,tA=wA(oA^dt,ct^mt,20),ie=dA=lA,oA=wA(hA^ft,kA^zA,62),ct=lA,at=wA(at^dt,tt^mt,39),tt=lA,iA=wA(SA^RA,KA^WA,55),zA=hA=lA,KA=_[(SA=(ni=ai<<3)+1120|0)>>2],SA=_[SA+4>>2],Ct=wA(Ct^ft,kA^Bt,43),Bt=lA,AA=wA(AA^rt,Pt^_t,44),si=hA=(m0=(jA^=_A)^(-1^(Pt=lA))&Bt^SA)^(S0=(-1^hA)&tt^ct)^(F0=(-1^dA)&Qt^qA)^(H0=(-1^me)&ne^Ge)^(k0=(-1^be)&Wt^vA),SA=wA(KA=(N0=(ge=aA^JA)^(-1^AA)&Ct^KA)^(U0=(-1^iA)&at^oA)^(Y0=(-1^tA)&nA^TA)^(R0=(-1^PA)&LA^rA)^(L0=(-1^$)&NA^QA),hA,1),dA=lA,nt=wA(nt^ft,kA^st,15),st=lA,It=wA(RA^It,WA^Ht,56),se=lA,Yt=wA(RA^Yt,WA^Rt,21),Ht=lA,St=wA(St^dt,Ft^mt,14),Rt=lA,Lt=wA(JA^Lt,_A^oe,41),Ft=lA,hA=wA(ot^rt,Nt^_t,2),aA=lA,Ut=wA(Ut^dt,mt^Vt,8),Nt=lA,ot=wA(OA^JA,_A^re,18),JA=lA,OA=wA(At^rt,_t^Ie,45),At=lA,Ki=(-1^It)&rA^nt,RA=(-1^St)&ge^Yt,Vt=(-1^hA)&oA^Lt,_A=(-1^ot)&QA^Ut,kt=wA(ft^kt,kA^jt,61),oA=wA((SA^=Ie=Ki^RA^Vt^_A^(re=(-1^kt)&TA^OA))^(oe=(-1^oA)&iA^hA),(dA^=q0=(K0=(-1^se)&Ge^st)^(M0=(-1^Rt)&jA^Ht)^(WA=(-1^aA)&ct^Ft)^(kA=(-1^JA)&vA^Nt)^(J0=(-1^(jt=lA))&qA^At))^(ct=(-1^ct)&zA^aA),14),dt=lA,$0=aA=(v0=Wt^(-1^Nt)&JA)^(O0=Bt^(-1^Ht)&Rt)^(T0=(-1^Ft)&aA^tt)^(j0=Qt^(-1^At)&jt)^(P0=(-1^st)&se^ne),aA=wA(z0=(W0=NA^(-1^Ut)&ot)^(_0=Ct^(-1^Yt)&St)^(V0=(-1^Lt)&hA^at)^(X0=nA^(-1^OA)&kt)^(Z0=(-1^nt)&It^LA),aA,1)^KA,nA=wA(aA^(hA=(-1^nA)&OA^tA),(KA=lA^si)^(OA=(-1^Qt)&At^ie),44),mt=lA,At=zA^(-1^tt)&Ft,tt=be^(-1^Wt)&Nt,ne=me^(-1^ne)&st,LA=(It=(Wt=It^(-1^rA)&PA)^(si=kt^(-1^TA)&tA)^(rA=ot^(-1^QA)&$)^oe^(st=(-1^ge)&AA^St))^wA($=(tA=iA^(-1^at)&Lt)^(at=$^(-1^NA)&Ut)^(ge=PA^(-1^LA)&nt)^(Ct=(-1^Ct)&Yt^AA)^hA,OA^=At^tt^ne^(Bt=(-1^Bt)&Ht^Pt),1),_t=AA=(TA=(iA=(Ge=se^(-1^Ge)&me)^(me=jt^(-1^qA)&ie)^(ot=JA^(-1^vA)&be)^ct^(nt=(-1^jA)&Pt^Rt))^lA)^m0,hA=oA,PA=nA,JA=oA^nA&(-1^(rt=LA^N0)),ft=(-1^AA)&mt^dt,tA=wA(tA^aA,KA^At,2),QA=lA,qA=wA(It,iA,1)^z0,iA=wA(re^qA,J0^(zA=$0^lA),55),NA=lA,vA=wA(Ie,q0,1)^$,$=wA(vA^_0,(jA=OA^lA)^O0,62),nA=AA=lA,St=(-1^$)&iA^tA,Ft=(-1^AA)&NA^QA,It=(AA=wA(LA^R0,TA^H0,41))^(-1^tA)&$,Ht=(oA=lA)^(-1^QA)&nA,kt=(rA=wA(rA^SA,dA^ot,39))^(-1^AA)&tA,jt=(tA=lA)^(-1^oA)&QA,ot=iA^(-1^rA)&AA,Nt=NA^(-1^tA)&oA,OA=$^(-1^iA)&rA,re=nA^(-1^NA)&tA,tA=wA(qA^Vt,zA^WA,56),QA=lA,iA=wA(LA^Y0,TA^F0,36),NA=lA,$=wA(SA^st,dA^nt,27),nA=AA=lA,Ut=(-1^$)&iA^tA,Vt=(-1^AA)&NA^QA,Yt=(AA=wA(vA^Z0,jA^P0,15))^(-1^tA)&$,Rt=(oA=lA)^(-1^QA)&nA,nt=(rA=wA(aA^at,KA^tt,10))^(-1^AA)&tA,st=(tA=lA)^(-1^oA)&QA,At=iA^(-1^rA)&AA,Ie=NA^(-1^tA)&oA,Lt=(-1^iA)&rA^$,oe=(-1^NA)&tA^nA,tA=wA(LA^U0,TA^S0,18),QA=lA,iA=wA(vA^X0,jA^j0,6),oA=lA,$=wA(aA^Ct,KA^Bt,1),Qt=AA=lA,at=(-1^$)&iA^tA,tt=(-1^AA)&oA^QA,NA=(AA=wA(SA^Wt,dA^Ge,8))^(-1^tA)&$,WA=(nA=lA)^(-1^QA)&Qt,Ct=(rA=wA(qA^_A,kA^zA,25))^(-1^AA)&tA,Bt=(tA=lA)^(-1^nA)&QA,QA=iA^(-1^rA)&AA,_A=oA^(-1^tA)&nA,nA=(-1^iA)&rA^$,Qt^=(-1^oA)&tA,tA=wA(vA^V0,jA^T0,61),kA=lA,iA=wA(SA^si,dA^me,20),dA=lA,$=wA(RA^qA,zA^M0,28),RA=AA=lA,oA=(-1^$)&iA^tA,ct=(-1^AA)&dA^kA,SA=(AA=wA(aA^ge,KA^ne,45))^(-1^tA)&$,KA=(aA=lA)^(-1^kA)&RA,TA=(rA=wA(LA^L0,TA^k0,3))^(-1^AA)&tA,kA=(tA=lA)^(-1^aA)&kA,AA=(-1^rA)&AA^iA,Pt=(-1^tA)&aA^dA,iA=$^(-1^iA)&rA,RA^=(-1^dA)&tA,dA=($=wA(qA^Ki,zA^K0,21))^(-1^hA)&rt,qA=(rA=lA)^(-1^dt)&_t,hA=(tA=wA(vA^W0,jA^v0,43))^(-1^$)&hA,zA=(LA=lA)^(-1^rA)&dt,$=(-1^tA)&$^PA,vA=(-1^LA)&rA^mt,aA=rt^_[(rA=1120+(8|ni)|0)>>2]^(-1^PA)&tA,jA=_t^_[rA+4>>2]^(-1^mt)&LA,ai=ai+2|0;_[Z+192>>2]=St,_[Z+196>>2]=Ft,_[Z+184>>2]=It,_[Z+188>>2]=Ht,_[Z+176>>2]=kt,_[Z+180>>2]=jt,_[Z+168>>2]=ot,_[Z+172>>2]=Nt,_[Z+160>>2]=OA,_[Z+164>>2]=re,_[Z+152>>2]=Ut,_[Z+156>>2]=Vt,_[Z+144>>2]=Yt,_[Z+148>>2]=Rt,_[Z+136>>2]=nt,_[Z+140>>2]=st,_[Z+128>>2]=At,_[Z+132>>2]=Ie,_[Z+120>>2]=Lt,_[Z+124>>2]=oe,_[Z+112>>2]=at,_[Z+116>>2]=tt,_[Z+104>>2]=NA,_[Z+108>>2]=WA,_[Z+96>>2]=Ct,_[Z+100>>2]=Bt,_[Z+88>>2]=QA,_[Z+92>>2]=_A,_[Z+80>>2]=nA,_[Z+84>>2]=Qt,_[Z+72>>2]=oA,_[Z+76>>2]=ct,_[Z+64>>2]=SA,_[Z+68>>2]=KA,_[Z+56>>2]=TA,_[Z+60>>2]=kA,_[Z+48>>2]=AA,_[Z+52>>2]=Pt,_[Z+40>>2]=iA,_[Z+44>>2]=RA,_[Z+32>>2]=JA,_[Z+36>>2]=ft,_[Z+24>>2]=dA,_[Z+28>>2]=qA,_[Z+16>>2]=hA,_[Z+20>>2]=zA,_[Z+8>>2]=$,_[Z+12>>2]=vA,_[Z>>2]=aA,_[Z+4>>2]=jA}function vt(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;A:if(Z|=0){rA=($=Z-8|0)+(Z=-8&(tA=_[Z-4>>2]))|0;e:if(!(1&tA)){if(!(3&tA)||($=$-(tA=_[$>>2])|0)>>>0<UA[780])break A;Z=Z+tA|0;t:{i:{if(_[781]!=(0|$)){if(tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[$+12>>2]))==(0|(AA=_[$+8>>2]))){_[776]=_[776]&yt(iA);break e}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break e}if(oA=_[$+24>>2],(0|$)!=(0|(tA=_[$+12>>2]))){AA=_[$+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(!(AA=_[(iA=$+20|0)>>2])){if(!(AA=_[$+16>>2]))break i;iA=$+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break t}if((3&(tA=_[rA+4>>2]))!=3)break e;return _[778]=Z,_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,void(_[rA>>2]=Z)}tA=0}if(oA){AA=_[$+28>>2];t:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|$)){if(_[iA>>2]=tA,tA)break t;_[777]=_[777]&yt(AA);break e}if(_[oA+(_[oA+16>>2]==(0|$)?16:20)>>2]=tA,!tA)break e}_[tA+24>>2]=oA,(AA=_[$+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[$+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(!($>>>0>=rA>>>0)&&1&(tA=_[rA+4>>2])){e:{t:{i:{n:{if(!(2&tA)){if(_[782]==(0|rA)){if(_[782]=$,Z=_[779]+Z|0,_[779]=Z,_[$+4>>2]=1|Z,_[781]!=(0|$))break A;return _[778]=0,void(_[781]=0)}if(_[781]==(0|rA))return _[781]=$,Z=_[778]+Z|0,_[778]=Z,_[$+4>>2]=1|Z,void(_[Z+$>>2]=Z);if(Z=(-8&tA)+Z|0,tA>>>0<=255){if(iA=tA>>>3|0,(0|(tA=_[rA+12>>2]))==(0|(AA=_[rA+8>>2]))){_[776]=_[776]&yt(iA);break t}_[AA+12>>2]=tA,_[tA+8>>2]=AA;break t}if(oA=_[rA+24>>2],(0|rA)!=(0|(tA=_[rA+12>>2]))){AA=_[rA+8>>2],_[AA+12>>2]=tA,_[tA+8>>2]=AA;break i}if(!(AA=_[(iA=rA+20|0)>>2])){if(!(AA=_[rA+16>>2]))break n;iA=rA+16|0}for(;nA=iA,(AA=_[(iA=(tA=AA)+20|0)>>2])||(iA=tA+16|0,AA=_[tA+16>>2]););_[nA>>2]=0;break i}_[rA+4>>2]=-2&tA,_[$+4>>2]=1|Z,_[Z+$>>2]=Z;break e}tA=0}if(oA){AA=_[rA+28>>2];i:{if(_[(iA=3408+(AA<<2)|0)>>2]==(0|rA)){if(_[iA>>2]=tA,tA)break i;_[777]=_[777]&yt(AA);break t}if(_[oA+(_[oA+16>>2]==(0|rA)?16:20)>>2]=tA,!tA)break t}_[tA+24>>2]=oA,(AA=_[rA+16>>2])&&(_[tA+16>>2]=AA,_[AA+24>>2]=tA),(AA=_[rA+20>>2])&&(_[tA+20>>2]=AA,_[AA+24>>2]=tA)}}if(_[$+4>>2]=1|Z,_[Z+$>>2]=Z,_[781]==(0|$))return void(_[778]=Z)}if(Z>>>0<=255)return tA=3144+(-8&Z)|0,(AA=_[776])&(Z=1<<(Z>>>3))?Z=_[tA+8>>2]:(_[776]=Z|AA,Z=tA),_[tA+8>>2]=$,_[Z+12>>2]=$,_[$+12>>2]=tA,void(_[$+8>>2]=Z);AA=31,Z>>>0<=16777215&&(AA=62+((Z>>>38-(tA=YA(Z>>>8|0))&1)-(tA<<1)|0)|0),_[$+28>>2]=AA,_[$+16>>2]=0,_[$+20>>2]=0,tA=3408+(AA<<2)|0;e:{t:{if((iA=_[777])&(nA=1<<AA)){for(AA=Z<<((0|AA)!=31?25-(AA>>>1|0)|0:0),tA=_[tA>>2];;){if(iA=tA,(-8&_[tA+4>>2])==(0|Z))break t;if(tA=AA>>>29|0,AA<<=1,!(tA=_[(nA=iA+(4&tA)|0)+16>>2]))break}_[nA+16>>2]=$,_[$+24>>2]=iA}else _[777]=iA|nA,_[tA>>2]=$,_[$+24>>2]=tA;_[$+12>>2]=$,_[$+8>>2]=$;break e}Z=_[iA+8>>2],_[Z+12>>2]=$,_[iA+8>>2]=$,_[$+24>>2]=0,_[$+12>>2]=iA,_[$+8>>2]=Z}Z=_[784]-1|0,_[784]=Z||-1}}}function Ot(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0,hA=0,dA=0,SA=0;for(GA=rA=GA-160|0,nA=rA+12|0,oA=ZA(200),_[nA>>2]=oA,oA||(HA(111),cA()),GA=iA=GA-208|0;;){if((0|aA)==25){for(;;){if(aA=0,$>>>0<136){for(QA=0;;){if((0|aA)==136){for(;(0|$)!=(0|QA);)BA[QA+iA|0]=fA[AA+QA|0],QA=QA+1|0;break}BA[aA+iA|0]=0,aA=aA+1|0}for(BA[$+iA|0]=31,BA[iA+135|0]=128|fA[iA+135|0],aA=0;(0|aA)!=17;)QA=_[(AA=($=aA<<3)+oA|0)>>2],hA=_[AA+4>>2],_[AA>>2]=Q0($+iA|0)^QA,_[AA+4>>2]=lA^hA,aA=aA+1|0;GA=iA+208|0;break}for(;(0|aA)!=17;)dA=_[(QA=(hA=aA<<3)+oA|0)>>2],SA=_[QA+4>>2],_[QA>>2]=Q0(AA+hA|0)^dA,_[QA+4>>2]=lA^SA,aA=aA+1|0;XA(oA),AA=AA+136|0,$=$-136|0}break}_[(QA=(aA<<3)+oA|0)>>2]=0,_[QA+4>>2]=0,aA=aA+1|0}s0(Z,AA=(tA>>>0)/136|0,nA);A:if((0|(AA=bA(AA,136)))!=(0|tA))for($=tA-AA|0,Z=Z+AA|0,s0(rA+16|0,1,rA+12|0),tA=0;;){if((0|tA)==(0|$))break A;BA[Z+tA|0]=fA[(rA+16|0)+tA|0],tA=tA+1|0}vt(_[rA+12>>2]),GA=rA+160|0}function te(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;;){A:{if(nA=0,oA=0,aA=hA=_[Z+204>>2],!(!((QA=$+(iA=_[Z+200>>2])|0)>>>0<$>>>0?aA+1|0:aA)&tA>>>0>QA>>>0)){for(;!(!oA&(rA=tA-iA|0)>>>0<=nA>>>0|(0|oA)!=0);)hA=_[(aA=(-8&(iA=iA+nA|0))+Z|0)+4>>2],QA=fA[AA+nA|0],rA=31&(iA<<=3),(63&iA)>>>0>=32?(iA=QA<<rA,rA=0):(iA=(1<<rA)-1&QA>>>32-rA,rA=QA<<rA),_[aA>>2]=rA^_[aA>>2],_[aA+4>>2]=iA^hA,oA=(nA=nA+1|0)?oA:oA+1|0,iA=_[Z+200>>2],hA=_[Z+204>>2];_[Z+200>>2]=0,_[Z+204>>2]=0,XA(Z),AA=AA+rA|0,$=$-rA|0;continue}for(;;){if(!SA&(0|$)==(0|dA))break A;tA=dA+_[Z+200>>2]|0,rA=_[(oA=(-8&tA)+Z|0)+4>>2],nA=fA[AA+dA|0],tA=31&(iA=tA<<3),(63&iA)>>>0>=32?(iA=nA<<tA,tA=0):(iA=(1<<tA)-1&nA>>>32-tA,tA=nA<<tA),_[oA>>2]=tA^_[oA>>2],_[oA+4>>2]=iA^rA,tA=SA,SA=(dA=dA+1|0)?tA:tA+1|0}}break}tA=_[Z+204>>2],tA=(AA=$+_[Z+200>>2]|0)>>>0<$>>>0?tA+1|0:tA,_[Z+200>>2]=AA,_[Z+204>>2]=tA}function le(Z,tA,AA,$){var iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;for(QA=tA;;){oA=_[AA+200>>2],nA=_[AA+204>>2];A:{if(!aA&(0|iA)==(0|QA))rA=tA;else{if(rA=iA,(0|aA)==(0|nA)&oA>>>0>iA>>>0|aA>>>0<nA>>>0)break A;QA=iA}for(iA=oA-QA|0,aA=nA-((oA>>>0<QA>>>0)+0|0)|0,QA=tA-rA|0,tA=Z+rA|0;_[AA+200>>2]=iA,_[AA+204>>2]=aA,QA;){for(XA(AA),Z=$>>>0>QA>>>0?QA:$,rA=0;(0|Z)!=(0|rA);)nA=_[(iA=(-8&rA)+AA|0)>>2],oA=_[iA+4>>2],iA=31&(aA=rA<<3&56),BA[tA+rA|0]=(63&aA)>>>0>=32?oA>>>iA|0:((1<<iA)-1&oA)<<32-iA|nA>>>iA,rA=rA+1|0;QA=QA-Z|0,tA=Z+tA|0,iA=$-Z|0,aA=0}return}dA=hA=Z+rA|0,hA=_[(nA=(-8&(oA=iA+($-oA|0)|0))+AA|0)>>2],nA=_[nA+4>>2],rA=31&(oA<<=3),BA[0|dA]=(63&oA)>>>0>=32?nA>>>rA|0:((1<<rA)-1&nA)<<32-rA|hA>>>rA,aA=(iA=iA+1|0)?aA:aA+1|0}}function gi(Z,tA){var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0;for(GA=AA=GA-160|0,ee(rA=AA+12|0),gt(rA,tA,32),we(rA),Gt(AA+16|0,136,rA);;){if(!$&(0|iA)==8){for(tA=0;;){if((0|tA)==256){for(tA=8,iA=196;(0|iA)!=256;){for(;tA>>>0>=136&&(Gt(AA+16|0,136,AA+12|0),tA=0),$=(AA+16|0)+tA|0,tA=tA+1|0,($=fA[0|$])>>>0>iA>>>0;);$=($<<2)+Z|0,_[(iA<<2)+Z>>2]=_[$>>2],_[$>>2]=1-(nA<<1&2),iA=iA+1|0,nA=(1&aA)<<31|nA>>>1,aA=aA>>>1|0}Tt(AA+12|0),GA=AA+160|0;break}_[(tA<<2)+Z>>2]=0,tA=tA+1|0}break}rA=fA[(AA+16|0)+iA|0],tA=31&(oA=iA<<3),(63&oA)>>>0>=32?(oA=rA<<tA,tA=0):(oA=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),nA|=tA,aA|=oA,$=(iA=iA+1|0)?$:$+1|0}}function pe(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0;(0|nA)!=8;){for(dA=nA<<8,SA=bA(nA,7168)+Z|0,oA=0;(0|oA)!=7;){for(GA=AA=(GA=iA=GA-864|0)-16|0,$=oA+dA|0,BA[AA+14|0]=$,BA[AA+15|0]=$>>>8,ee($=iA+12|0),G0($,tA,32),G0($,AA+14|0,2),o0(_[$>>2],168),GA=AA+16|0,AA=840,b0(rA=iA+16|0,840,$),$=B0(QA=(oA<<10)+SA|0,256,rA,840);$>>>0<=255;){for(aA=AA-(rA=(AA>>>0)%3|0)|0,AA=0;(0|AA)!=(0|rA);)BA[(hA=iA+16|0)+AA|0]=fA[(AA+aA|0)+hA|0],AA=AA+1|0;b0((AA=iA+16|0)|rA,168,iA+12|0),$=B0(($<<2)+QA|0,256-$|0,aA=AA,AA=168|rA)+$|0}Tt(iA+12|0),GA=iA+864|0,oA=oA+1|0}nA=nA+1|0}}function r0(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;rA=256,$=1;A:for(;;){e:{if(AA=0,$>>>0>255)for(;;){if((0|oA)==256)break e;tA=xe(tA=_[(iA=(oA<<2)+Z|0)>>2],tA>>31,41978,0),_[iA>>2]=Ii(tA,lA),oA=oA+1|0}for(;;){t:{if(AA>>>0<=255)for(aA=AA+$|0,hA=(iA=0-_[1312+((rA=rA-1|0)<<2)>>2]|0)>>31;;){if((0|AA)==(0|aA))break t;QA=_[(tA=(AA<<2)+Z|0)>>2],dA=tA,tA=_[(nA=(AA+$<<2)+Z|0)>>2],_[dA>>2]=QA+tA,tA=QA-tA|0,_[nA>>2]=tA,_[nA>>2]=Ii(xe(tA,tA>>31,iA,hA),lA),AA=AA+1|0}$<<=1;continue A}AA=$+aA|0}}break}}function I0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0;(0|iA)!=32;)AA=(iA<<5)+Z|0,$=bA(iA,3)+tA|0,rA=7&fA[0|$],_[AA>>2]=rA,oA=fA[0|$]>>>3&7,_[AA+4>>2]=oA,nA=fA[$+1|0]<<2&4|fA[0|$]>>>6,_[AA+8>>2]=nA,aA=fA[$+1|0]>>>1&7,_[AA+12>>2]=aA,QA=fA[$+1|0]>>>4&7,_[AA+16>>2]=QA,hA=fA[$+2|0]<<1&6|fA[$+1|0]>>>7,_[AA+20>>2]=hA,dA=fA[$+2|0]>>>2&7,_[AA+24>>2]=dA,$=fA[$+2|0],_[AA+4>>2]=2-oA,_[AA>>2]=2-rA,_[AA+8>>2]=2-nA,_[AA+12>>2]=2-aA,_[AA+16>>2]=2-QA,_[AA+20>>2]=2-hA,_[AA+24>>2]=2-dA,_[AA+28>>2]=2-($>>>5|0),iA=iA+1|0}function wA(Z,tA,AA){var $=0,iA=0,rA=0,oA=0;return iA=31&(rA=oA=63&AA),rA=rA>>>0>=32?-1>>>iA|0:($=-1>>>iA|0)|(1<<iA)-1<<32-iA,rA&=Z,$&=tA,iA=31&oA,oA>>>0>=32?($=rA<<iA,oA=0):($=(1<<iA)-1&rA>>>32-iA|$<<iA,oA=rA<<iA),rA=$,$=31&(iA=0-AA&63),iA>>>0>=32?($=-1<<$,AA=0):$=(AA=-1<<$)|(1<<$)-1&-1>>>32-$,Z&=AA,tA&=$,$=31&iA,iA>>>0>=32?(AA=0,Z=tA>>>$|0):(AA=tA>>>$|0,Z=((1<<$)-1&tA)<<32-$|Z>>>$),lA=AA|rA,Z|=oA}function Fi(Z){var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;for(AA=128;tA=0,AA;){for(;tA>>>0<=255;){for(oA=tA>>>0>($=tA+AA|0)>>>0?tA:$,QA=($=_[1312+((nA=nA+1|0)<<2)>>2])>>31;(0|tA)!=(0|oA);)rA=Ii(xe(rA=_[(iA=(tA+AA<<2)+Z|0)>>2],rA>>31,$,QA),lA),hA=iA,aA=_[(iA=(tA<<2)+Z|0)>>2],_[hA>>2]=aA-rA,_[iA>>2]=rA+aA,tA=tA+1|0;tA=AA+oA|0}AA=AA>>>1|0}}function o0(Z,tA){var AA,$=0,iA=0,rA=0;$=_[Z+200>>2],AA=_[(iA=Z+(-8&$)|0)+4>>2],$=31&(rA=$<<3),(63&rA)>>>0>=32?(rA=31<<$,$=0):(rA=(1<<$)-1&31>>>32-$,$=31<<$),_[iA>>2]=$^_[iA>>2],_[iA+4>>2]=rA^AA,rA=_[(tA=(-8&($=tA-1|0))+Z|0)+4>>2],$=31&(iA=$<<3&56),(63&iA)>>>0>=32?(iA=128<<$,$=0):(iA=(1<<$)-1&128>>>32-$,$=128<<$),_[tA>>2]=$^_[tA>>2],_[tA+4>>2]=iA^rA,_[Z+200>>2]=0,_[Z+204>>2]=0}function n0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;(0|$)!=32;)nA=_[(AA=($<<5)+tA|0)+16>>2],aA=_[AA+12>>2],iA=_[AA+28>>2],QA=_[AA+20>>2],hA=_[AA+24>>2],rA=bA($,3)+Z|0,oA=16-(_[AA+4>>2]<<3)|2-_[AA>>2],AA=2-_[AA+8>>2]|0,BA[0|rA]=oA|AA<<6,oA=64-(iA<<5)|0,iA=2-QA|0,BA[rA+2|0]=oA|8-(hA<<2)|(254&iA)>>>1,BA[rA+1|0]=32-(nA<<4)|4-(aA<<1)|(252&AA)>>>2|iA<<7,$=$+1|0}function s0(Z,tA,AA){var $,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0;$=_[AA>>2];A:for(;;){if(tA)for(XA($),AA=0;;){if((0|AA)==17){tA=tA-1|0,Z=Z+136|0;continue A}for(QA=(iA=AA<<3)+Z|0,hA=_[(iA=iA+$|0)>>2],nA=_[iA+4>>2],rA=0,iA=0;(0|rA)!=8|iA;)oA=31&(aA=rA<<3),BA[rA+QA|0]=(63&aA)>>>0>=32?nA>>>oA|0:((1<<oA)-1&nA)<<32-oA|hA>>>oA,iA=(rA=rA+1|0)?iA:iA+1|0;AA=AA+1|0}break}}function a0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|oA)!=128;)iA=(oA<<3)+Z|0,AA=bA(oA,5)+tA|0,$=fA[0|AA],_[iA>>2]=$,$|=fA[AA+1|0]<<8,_[iA>>2]=$,$|=fA[AA+2|0]<<16&983040,_[iA>>2]=$,rA=fA[AA+2|0]>>>4|0,_[iA+4>>2]=rA,rA|=fA[AA+3|0]<<4,_[iA+4>>2]=rA,AA=fA[AA+4|0],_[iA>>2]=524288-$,_[iA+4>>2]=524288-(rA|AA<<12),oA=oA+1|0}function C0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0;!(tA>>>0<=$>>>0|rA>>>0>135);)oA=(iA=fA[AA+rA|0])>>>4|0,rA=rA+1|0,(0|(iA&=15))!=15&&(_[($<<2)+Z>>2]=2+(bA(bA(iA,205)>>>10|0,5)-iA|0),$=$+1|0),(0|oA)==15|tA>>>0<=$>>>0||(_[($<<2)+Z>>2]=2+(bA(bA(oA,205)>>>10|0,5)-oA|0),$=$+1|0);return $}function Hi(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|$)!=8;){for(GA=iA=GA-1024|0,ri(oA=($<<10)+Z|0,nA=bA($,7168)+tA|0,AA),rA=1;(0|rA)!=7;)ri(iA,(aA=rA<<10)+nA|0,AA+aA|0),Ni(oA,oA,iA),rA=rA+1|0;GA=iA+1024|0,$=$+1|0}}function B0(Z,tA,AA,$){for(var iA=0,rA=0,oA=0,nA=0;!(tA>>>0<=rA>>>0||(iA=nA+3|0)>>>0>$>>>0);)oA=AA+nA|0,nA=iA,(iA=fA[oA+2|0]<<16&8323072|fA[0|oA]|fA[oA+1|0]<<8)>>>0>8380416||(_[(rA<<2)+Z>>2]=iA,rA=rA+1|0);return rA}function Q0(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0,oA=0,nA=0;!(!iA&(0|AA)==8);)rA=fA[Z+AA|0],tA=31&($=AA<<3),(63&$)>>>0>=32?($=rA<<tA,tA=0):($=(1<<tA)-1&rA>>>32-tA,tA=rA<<tA),oA|=tA,nA|=$,iA=(AA=AA+1|0)?iA:iA+1|0;return lA=nA,oA}function xe(Z,tA,AA,$){var iA,rA,oA,nA,aA=0,QA=0;return nA=bA(aA=AA>>>16|0,QA=Z>>>16|0),aA=(65535&(QA=((oA=bA(iA=65535&AA,rA=65535&Z))>>>16|0)+bA(QA,iA)|0))+bA(aA,rA)|0,lA=(bA(tA,AA)+nA|0)+bA(Z,$)+(QA>>>16)+(aA>>>16)|0,65535&oA|aA<<16}function c0(Z,tA,AA){for(var $=0,iA=0,rA=0,oA=0,nA=0,aA=0;(0|iA)!=8;){for(oA=($=iA<<10)+Z|0,nA=tA+$|0,aA=AA+$|0,$=0;(0|$)!=256;)_[oA+(rA=$<<2)>>2]=_[rA+nA>>2]-_[rA+aA>>2],$=$+1|0;iA=iA+1|0}}function f0(Z,tA,AA){var $,iA;for(GA=$=GA-160|0,p0(iA=$+12|0,tA,AA),Gt(tA=$+16|0,136,iA),AA=C0(Z,256,tA);AA>>>0<=255;)Gt(tA=$+16|0,136,$+12|0),AA=C0((AA<<2)+Z|0,256-AA|0,tA)+AA|0;Tt($+12|0),GA=$+160|0}function E0(Z,tA){for(var AA=0,$=0,iA=0,rA=0,oA=0;(0|$)!=8;){for(rA=($<<7)+Z|0,oA=($<<10)+tA|0,AA=0;(0|AA)!=128;)iA=(AA<<3)+oA|0,BA[AA+rA|0]=_[iA+4>>2]<<4|_[iA>>2],AA=AA+1|0;$=$+1|0}}function ki(Z){for(var tA=0,AA=0,$=0,iA=0,rA=0;(0|AA)!=8;){for(rA=(AA<<10)+Z|0,tA=0;(0|tA)!=256;)iA=_[($=(tA<<2)+rA|0)>>2],_[$>>2]=iA+(iA>>31&8380417),tA=tA+1|0;AA=AA+1|0}}function ee(Z){var tA=0,AA=0;for(tA=Z,Z=ZA(208),_[tA>>2]=Z,Z||(HA(111),cA());(0|AA)!=25;)_[(tA=Z+(AA<<3)|0)>>2]=0,_[tA+4>>2]=0,AA=AA+1|0;_[Z+200>>2]=0,_[Z+204>>2]=0}function ri(Z,tA,AA){for(var $=0,iA=0,rA=0;(0|iA)!=256;)$=xe($=_[(rA=iA<<2)+AA>>2],$>>31,$=_[tA+rA>>2],$>>31),_[Z+rA>>2]=Ii($,lA),iA=iA+1|0}function De(Z){var tA,AA;return(Z=(tA=_[584])+(AA=Z+7&-8)|0)>>>0<=tA>>>0&&AA||Z>>>0>(uA.byteLength/65536|0)<<16>>>0&&!(0|ut(0|Z))?(_[775]=48,-1):(_[584]=Z,tA)}function h0(Z,tA){var AA=0,$=0;if((0|tA)<=1047552)for(;;){if((0|$)==256)return 0;if(AA=$<<2,$=$+1|0,!(((AA=_[Z+AA>>2])-(AA<<1&AA>>31)|0)<(0|tA)))break}return 1}function u0(Z){for(var tA=0,AA=0,$=0;(0|tA)!=256;)$=_[(AA=(tA<<2)+Z|0)>>2],_[AA>>2]=$+bA($+4194304>>23,-8380417),tA=tA+1|0}function y0(Z,tA){var AA;return AA=Z,Z=bA(tA+127>>7,1025)+2097152>>>22&15,tA=bA(Z,-523776)+tA|0,_[AA>>2]=((0|tA)>4190208?-8380417:0)+tA,Z}function d0(Z){for(var tA=0,AA=0;;){if((0|tA)==7)return 0;if(AA=tA<<10,tA=tA+1|0,h0(Z+AA|0,524168))break}return 1}function l0(Z,tA){for(var AA=0,$=0;;){if((0|AA)==8)return 0;if($=AA<<10,AA=AA+1|0,h0(Z+$|0,tA))break}return 1}function Ni(Z,tA,AA){for(var $=0,iA=0;(0|$)!=256;)_[(iA=$<<2)+Z>>2]=_[AA+iA>>2]+_[tA+iA>>2],$=$+1|0}function p0(Z,tA,AA){var $;GA=$=GA-16|0,BA[$+14|0]=AA,BA[$+15|0]=AA>>>8,ee(Z),gt(Z,tA,64),gt(Z,$+14|0,2),we(Z),GA=$+16|0}function Ii(Z,tA){var AA=0;return xe(Z,tA,0,58728449),AA=xe(AA=lA,AA>>31,-8380417,-1),tA=tA+lA|0,Z+AA>>>0<Z>>>0?tA+1|0:tA}function x0(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)Ni((iA=$<<10)+Z|0,tA+iA|0,AA+iA|0),$=$+1|0}function Ui(Z,tA,AA){for(var $=0,iA=0;(0|$)!=8;)ri((iA=$<<10)+Z|0,tA,AA+iA|0),$=$+1|0}function D0(Z,tA){var AA=0;for(AA=7168;BA[0|Z]=fA[0|tA],Z=Z+1|0,tA=tA+1|0,AA=AA-1|0;);}function w0(Z,tA){for(var AA=0;(0|tA)!=(0|AA);)Fi((AA<<10)+Z|0),AA=AA+1|0}function Me(Z){for(var tA=0;(0|tA)!=8;)u0((tA<<10)+Z|0),tA=tA+1|0}function Je(Z){for(var tA=0;(0|tA)!=8;)r0((tA<<10)+Z|0),tA=tA+1|0}function yt(Z){var tA;return(-1>>>(tA=31&Z)&-2)<<tA|(-1<<(Z=0-Z&31)&-2)>>>Z}function Yi(Z){return Z?31-YA(Z-1^Z)|0:32}function b0(Z,tA,AA){le(Z,tA,_[AA>>2],168)}function G0(Z,tA,AA){te(_[Z>>2],168,tA,AA)}function Gt(Z,tA,AA){le(Z,tA,_[AA>>2],136)}function gt(Z,tA,AA){te(_[Z>>2],136,tA,AA)}function we(Z){o0(_[Z>>2],136)}function Tt(Z){vt(_[Z>>2])}function Ri(Z){w0(Z,8)}function oi(Z){w0(Z,7)}CA(gA=fA,1024,"cmFuZG9tYnl0ZXMAbGlic29kaXVtL3NyYy9saWJzb2RpdW0vcmFuZG9tYnl0ZXMvcmFuZG9tYnl0ZXMuYwBidWZfbGVuIDw9IFNJWkVfTUFY"),CA(gA,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"),CA(gA,2336,"EA6A");var Li,Ir=((Li=[]).set=function(Z,tA){this[Z]=tA},Li.get=function(Z){return this[Z]},Li);return{e:function(){},f:Ir,g:ZA,h:vt,i:function(){var Z;GA=Z=GA-16|0,BA[Z+15|0]=0,it(2376,Z+15|0,0),GA=Z+16|0},j:function(){return 2592},k:function(){return 4864},l:function(){return 4597},m:function(Z,tA){Z|=0,tA|=0;var AA,$=0,iA=0,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;for(GA=AA=GA-96416|0,nA=AA+96288|0;(0|iA)!=32;)GA=oA=GA-16|0,BA[oA+15|0]=0,aA=0|it(2340,oA+15|0,0),GA=oA+16|0,BA[iA+nA|0]=aA,iA=iA+1|0;for(Ot(nA,128,nA,32),pe(oA=AA+38912|0,nA),dA=AA+31744|0,iA=AA+96320|0;(0|$)!=7;)f0(dA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(SA=AA+16384|0,$=0,rA=7;(0|$)!=8;)f0(SA+($<<10)|0,iA,65535&rA),$=$+1|0,rA=rA+1|0;for(D0($=AA+24576|0,dA),oi($),Hi(rA=AA- -8192|0,oA,$),Me(rA),Je(rA),x0(rA,rA,SA),ki(rA),$=0;(0|$)!=8;){for(kA=(iA=$<<10)+rA|0,QA=iA+AA|0,hA=iA+rA|0,iA=0;(0|iA)!=256;)aA=(NA=_[(oA=iA<<2)+hA>>2])+4095|0,_[oA+QA>>2]=NA-(-8192&aA),_[oA+kA>>2]=aA>>13,iA=iA+1|0;$=$+1|0}for($=0;(0|$)!=32;)BA[Z+$|0]=fA[$+nA|0],$=$+1|0;for(kA=Z+32|0,$=0;(0|$)!=8;){for(QA=kA+bA($,320)|0,hA=rA+($<<10)|0,oA=0;(0|oA)!=64;)aA=QA+bA(oA,5)|0,iA=hA+(oA<<4)|0,BA[0|aA]=_[iA>>2],BA[aA+1|0]=_[iA+4>>2]<<2|_[iA>>2]>>>8,BA[aA+2|0]=_[iA+8>>2]<<4|_[iA+4>>2]>>>6,BA[aA+3|0]=_[iA+12>>2]<<6|_[iA+8>>2]>>>4,BA[aA+4|0]=_[iA+12>>2]>>>2,oA=oA+1|0;$=$+1|0}for(Ot(rA=AA+96256|0,32,Z,2592),Z=AA+96384|0,$=0;(0|$)!=32;)BA[tA+$|0]=fA[$+nA|0],$=$+1|0;for(iA=tA+32|0,$=0;(0|$)!=32;)BA[$+iA|0]=fA[Z+$|0],$=$+1|0;for(Z=tA- -64|0,$=0;(0|$)!=32;)BA[Z+$|0]=fA[$+rA|0],$=$+1|0;for(Z=tA+96|0,$=0;(0|$)!=7;)n0(Z+bA($,96)|0,dA+($<<10)|0),$=$+1|0;for(Z=tA+768|0,$=0;(0|$)!=8;)n0(Z+bA($,96)|0,SA+($<<10)|0),$=$+1|0;for(aA=tA+1536|0,$=0;(0|$)!=8;){for(dA=aA+bA($,416)|0,SA=($<<10)+AA|0,rA=0;(0|rA)!=32;)kA=_[(tA=SA+(rA<<5)|0)+20>>2],QA=_[tA+8>>2],hA=_[tA+28>>2],oA=_[tA+24>>2],nA=_[tA+16>>2],iA=_[tA+12>>2],NA=_[tA+4>>2],Z=dA+bA(rA,13)|0,RA=4096-_[tA>>2]|0,BA[0|Z]=RA,tA=4096-NA|0,BA[Z+2|0]=tA>>>3,iA=4096-iA|0,BA[Z+5|0]=iA>>>1,nA=4096-nA|0,BA[Z+7|0]=nA>>>4,oA=4096-oA|0,BA[Z+10|0]=oA>>>2,hA=4096-hA|0,BA[Z+12|0]=hA>>>5,BA[Z+1|0]=tA<<5|RA>>>8,QA=4096-QA|0,BA[Z+3|0]=QA<<2|tA>>>11,BA[Z+4|0]=iA<<7|QA>>>6,BA[Z+6|0]=nA<<4|iA>>>9,tA=4096-kA|0,BA[Z+8|0]=tA<<1|nA>>>12,BA[Z+9|0]=oA<<6|tA>>>7,BA[Z+11|0]=hA<<3|oA>>>10,rA=rA+1|0;$=$+1|0}return GA=AA+96416|0,0},n:function(Z,tA,AA,$){tA|=0,AA|=0,$|=0;var iA,rA,oA,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0,LA=0,KA=0,OA=0,TA=0,JA=0,qA=0,vA=0,jA=0,PA=0,WA=0,_A=0;for(rA=(Z|=0)+2|0,GA=iA=(GA=oA=GA-16|0)-121072|0,aA=OA=iA+120848|0,QA=TA=iA+120880|0,hA=iA+120912|0,dA=iA+33808|0,SA=iA+56336|0,kA=iA+25616|0;(0|nA)!=32;)BA[nA+aA|0]=fA[$+nA|0],nA=nA+1|0;for(aA=$+32|0,nA=0;(0|nA)!=32;)BA[nA+hA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$- -64|0,nA=0;(0|nA)!=32;)BA[nA+QA|0]=fA[nA+aA|0],nA=nA+1|0;for(aA=$+96|0,nA=0;(0|nA)!=7;)I0(SA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(aA=$+768|0,nA=0;(0|nA)!=8;)I0(kA+(nA<<10)|0,aA+bA(nA,96)|0),nA=nA+1|0;for(jA=$+1536|0,nA=0;(0|nA)!=8;){for(PA=dA+(nA<<10)|0,WA=jA+bA(nA,416)|0,QA=0;(0|QA)!=32;)$=PA+(QA<<5)|0,aA=WA+bA(QA,13)|0,JA=fA[0|aA],_[$>>2]=JA,JA|=fA[aA+1|0]<<8&7936,_[$>>2]=JA,NA=fA[aA+1|0]>>>5|0,_[$+4>>2]=NA,NA|=fA[aA+2|0]<<3,_[$+4>>2]=NA,NA|=fA[aA+3|0]<<11&6144,_[$+4>>2]=NA,qA=fA[aA+3|0]>>>2|0,_[$+8>>2]=qA,qA|=fA[aA+4|0]<<6&8128,_[$+8>>2]=qA,RA=fA[aA+4|0]>>>7|0,_[$+12>>2]=RA,RA|=fA[aA+5|0]<<1,_[$+12>>2]=RA,RA|=fA[aA+6|0]<<9&7680,_[$+12>>2]=RA,LA=fA[aA+6|0]>>>4|0,_[$+16>>2]=LA,LA|=fA[aA+7|0]<<4,_[$+16>>2]=LA,LA|=fA[aA+8|0]<<12&4096,_[$+16>>2]=LA,vA=fA[aA+8|0]>>>1|0,_[$+20>>2]=vA,vA|=fA[aA+9|0]<<7&8064,_[$+20>>2]=vA,KA=fA[aA+9|0]>>>6|0,_[$+24>>2]=KA,KA|=fA[aA+10|0]<<2,_[$+24>>2]=KA,KA|=fA[aA+11|0]<<10&7168,_[$+24>>2]=KA,_A=fA[aA+11|0]>>>3|0,_[$+28>>2]=_A,aA=fA[aA+12|0],_[$+4>>2]=4096-NA,_[$>>2]=4096-JA,_[$+8>>2]=4096-qA,_[$+12>>2]=4096-RA,_[$+16>>2]=4096-LA,_[$+20>>2]=4096-vA,_[$+24>>2]=4096-KA,_[$+28>>2]=4096-(aA<<5|_A),QA=QA+1|0;nA=nA+1|0}for(ee($=iA+12|0),gt($,TA,32),gt($,tA,AA),we($),Gt(TA=iA+120944|0,64,$),Tt($),Ot(jA=iA+121008|0,64,hA,96),pe(iA+63504|0,OA),oi(SA),Ri(kA),Ri(dA),nA=0;;){for(aA=iA+49168|0,QA=bA(65535&nA,7),tA=0;(0|tA)!=7;)GA=AA=GA-704|0,p0($=AA+12|0,jA,tA+QA&65535),Gt(hA=AA+16|0,680,$),Tt($),a0(aA+(tA<<10)|0,hA),GA=AA+704|0,tA=tA+1|0;for(D0($=iA+42e3|0,aA),oi($),Hi(tA=iA+17424|0,iA+63504|0,$),Me(tA),Je(tA),ki(tA),dA=iA+9232|0,AA=0;(0|AA)!=8;){for(SA=(QA=AA<<10)+tA|0,kA=QA+dA|0,OA=tA+QA|0,QA=0;(0|QA)!=256;)_[(hA=QA<<2)+SA>>2]=y0(hA+kA|0,_[hA+OA>>2]),QA=QA+1|0;AA=AA+1|0}for(E0(rA,tA),ee(tA=iA+12|0),gt(tA,TA,64),gt(tA,rA,1024),we(tA),Gt(rA,32,tA),Tt(tA),gi(tA=iA+16|0,rA),nA=nA+1|0,Fi(tA),QA=iA+56336|0,AA=0;(0|AA)!=7;)ri((hA=AA<<10)+$|0,tA,QA+hA|0),AA=AA+1|0;for(tA=0;(0|tA)!=7;)r0($+(tA<<10)|0),tA=tA+1|0;for(tA=0;(0|tA)!=7;)Ni((AA=tA<<10)+$|0,AA+$|0,AA+aA|0),tA=tA+1|0;for(AA=0;(0|AA)!=7;)u0($+(AA<<10)|0),AA=AA+1|0;if(!d0($)&&(Ui(AA=iA+1040|0,iA+16|0,iA+25616|0),Je(AA),c0(tA=iA+9232|0,tA,AA),Me(tA),!l0(tA,261768)&&(Ui(tA=iA+1040|0,iA+16|0,iA+33808|0),Je(tA),Me(tA),!l0(tA,261888)))){for(x0(aA=iA+9232|0,aA,SA=iA+1040|0),kA=iA+17424|0,tA=0,AA=0;(0|tA)!=8;){for(OA=($=tA<<10)+SA|0,PA=$+aA|0,WA=$+kA|0,$=0,QA=0;(0|$)!=256;)dA=(0|(dA=_[(hA=$<<2)+PA>>2]))==-261888&_[hA+WA>>2]!=0|dA-261889>>>0<4294443519,_[hA+OA>>2]=dA,QA=QA+dA|0,$=$+1|0;AA=AA+QA|0,tA=tA+1|0}if(!(AA>>>0>75))break}}for(QA=iA+42e3|0,hA=iA+1040|0,tA=0;(0|tA)!=32;)BA[0|(AA=tA+rA|0)]=fA[0|AA],tA=tA+1|0;for(dA=rA+32|0,tA=0;(0|tA)!=7;){for(SA=dA+bA(tA,640)|0,kA=QA+(tA<<10)|0,AA=0;(0|AA)!=128;)aA=_[(nA=kA+(AA<<3)|0)+4>>2],$=SA+bA(AA,5)|0,nA=524288-_[nA>>2]|0,BA[0|$]=nA,BA[$+1|0]=nA>>>8,aA=524288-aA|0,BA[$+3|0]=aA>>>4,BA[$+4|0]=aA>>>12,BA[$+2|0]=aA<<4|nA>>>16,AA=AA+1|0;tA=tA+1|0}for(nA=rA+4512|0,AA=0,tA=0;;){if((0|tA)==83){for($=0;(0|AA)!=8;){for(aA=hA+(AA<<10)|0,tA=0;(0|tA)!=256;)_[aA+(tA<<2)>>2]&&(BA[$+nA|0]=tA,$=$+1|0),tA=tA+1|0;BA[75+(AA+nA|0)|0]=$,AA=AA+1|0}break}BA[tA+nA|0]=0,tA=tA+1|0}return _[oA+12>>2]=4595,GA=iA+121072|0,xA[Z>>1]=_[oA+12>>2],GA=oA+16|0,0},o:function(Z,tA,AA,$){Z|=0,tA|=0,$|=0;var iA,rA=0,oA=0,nA=0,aA=0,QA=0,hA=0,dA=0,SA=0,kA=0,NA=0,RA=0;nA=(AA|=0)+2|0,rA=FA[AA>>1],QA=Z,oA=tA,AA=0,GA=iA=GA-91312|0,NA=-1;A:if((0|rA)==4595){for(Z=iA+90256|0,SA=iA+16400|0,tA=0;(0|tA)!=32;)BA[Z+tA|0]=fA[tA+$|0],tA=tA+1|0;for(hA=$+32|0,tA=0;(0|tA)!=8;){for(dA=SA+(tA<<10)|0,kA=hA+bA(tA,320)|0,rA=0;(0|rA)!=64;)aA=dA+(rA<<4)|0,Z=bA(rA,5)+kA|0,_[aA>>2]=fA[Z+1|0]<<8&768|fA[0|Z],_[aA+4>>2]=fA[Z+2|0]<<6&960|fA[Z+1|0]>>>2,_[aA+8>>2]=fA[Z+3|0]<<4&1008|fA[Z+2|0]>>>4,_[aA+12>>2]=fA[Z+4|0]<<2|fA[Z+3|0]>>>6,rA=rA+1|0;tA=tA+1|0}for(Z=iA+90160|0,tA=iA+24592|0,SA=iA+16|0;(0|AA)!=32;)BA[Z+AA|0]=fA[AA+nA|0],AA=AA+1|0;for(Z=nA+32|0,AA=0;(0|AA)!=7;)a0(tA+(AA<<10)|0,Z+bA(AA,640)|0),AA=AA+1|0;nA=nA+4512|0,rA=0,Z=0;e:{for(;;){t:if((0|rA)!=8){for(aA=SA+(rA<<10)|0,AA=0;(0|AA)!=256;)_[aA+(AA<<2)>>2]=0,AA=AA+1|0;if(!((tA=fA[(hA=rA+nA|0)+75|0])>>>0>75||(AA=Z,tA>>>0<Z>>>0))){for(;tA>>>0>AA>>>0;){if(Z>>>0<AA>>>0&(tA=fA[0|(dA=AA+nA|0)])>>>0<=fA[dA-1|0])break t;_[aA+(tA<<2)>>2]=1,AA=AA+1|0,tA=fA[hA+75|0]}rA=rA+1|0,Z=tA;continue}}else for(AA=Z>>>0<=75?75:Z;;){if(tA=0,(0|Z)==(0|AA))break e;if(tA=Z+nA|0,Z=Z+1|0,fA[0|tA])break}break}tA=1}if(!tA&&!d0(iA+24592|0)){for(Ot(rA=iA+90192|0,32,$,2592),ee(Z=iA+12|0),gt(Z,rA,32),gt(Z,QA,oA),we(Z),Gt(rA,64,Z),Tt(Z),gi(oA=iA+89104|0,iA+90160|0),pe(tA=iA+31760|0,iA+90256|0),oi($=iA+24592|0),Hi(AA=iA+8208|0,tA,$),Fi(oA),$=iA+16400|0,tA=0;(0|tA)!=8;){for(nA=$+(tA<<10)|0,QA=0;(0|QA)!=256;)_[(aA=nA+(QA<<2)|0)>>2]=_[aA>>2]<<13,QA=QA+1|0;tA=tA+1|0}for(Ri($),Ui($,oA,$),c0(AA,AA,$),Me(AA),Je(AA),ki(AA),aA=iA+16|0,$=0;(0|$)!=8;){for(SA=(tA=$<<10)+AA|0,hA=tA+AA|0,dA=tA+aA|0,tA=0;(0|tA)!=256;)kA=(oA=tA<<2)+SA|0,RA=_[oA+dA>>2],GA=QA=GA-16|0,oA=nA=y0(QA+12|0,_[oA+hA>>2]),RA&&(oA=nA+1&15,_[QA+12>>2]>0||(oA=nA-1&15)),GA=QA+16|0,_[kA>>2]=oA,tA=tA+1|0;$=$+1|0}for(E0(tA=iA+90288|0,AA),ee(Z),gt(Z,rA,64),gt(Z,tA,1024),we(Z),Gt(iA+90128|0,32,Z),Tt(Z),tA=0;;){if((0|tA)==32){NA=0;break A}if(Z=(iA+90128|0)+tA|0,AA=(iA+90160|0)+tA|0,tA=tA+1|0,fA[0|AA]!=fA[0|Z])break}}}return GA=iA+91312|0,0|NA}}})(eA)})(X)},instantiate:function(z,X){return{then:function(eA){var gA=new c.Module(z);eA({instance:new c.Instance(gA,X)})}}},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(z){throw C.onAbort&&C.onAbort(z),e(z="Aborted("+z+")"),s=!0,z+=". Build with -sASSERTIONS for more info.",new c.RuntimeError(z)}var M,J,q="data:application/octet-stream;base64,";function l(z){return z.startsWith(q)}function m(z){return z.startsWith("file://")}function L(z){return Promise.resolve().then((function(){return(function(X){if(X==M&&a)return new Uint8Array(a);var eA=P(X);if(eA)return eA;if(g)return g(X);throw"both async and sync fetching of the wasm failed"})(z)}))}function p(z,X,eA,gA){return(function(IA,sA,CA){return L(IA).then((function(cA){return c.instantiate(cA,sA)})).then((function(cA){return cA})).then(CA,(function(cA){e("failed to asynchronously prepare wasm: "+cA),d(cA)}))})(X,eA,gA)}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 z=new Uint32Array(1);return g.getRandomValues(z),z[0]>>>0};B(),C.getRandomValue=B}catch(A){try{var Q=eval("require")("crypto"),i=function(){var z=Q.randomBytes(4);return(z[0]<<24|z[1]<<16|z[2]<<8|z[3])>>>0};i(),C.getRandomValue=i}catch(z){throw"No secure random number generator found"}}}};function b(z){this.name="ExitStatus",this.message="Program terminated with exit(".concat(z,")"),this.status=z}var v=function(z){for(;z.length>0;)z.shift()(C)};typeof TextDecoder<"u"&&new TextDecoder("utf8");var j,O=[],T=function(z,X,eA){var gA=(function(IA,sA){var CA;for(O.length=0,sA>>=2;CA=h[IA++];)sA+=CA!=105&sA,O.push(CA==105?y[sA]:u[sA++>>1]),++sA;return O})(X,eA);return K[z].apply(null,gA)},x=function(z){D||(C.onExit&&C.onExit(z),s=!0),Q(z,new b(z))},W={c:function(z,X,eA){return T(z,X,eA)},d:function(z){h.length,d("OOM")},b:function(z,X){x(z)},a:f};(function(){var z={a:W};function X(eA,gA){var IA,sA=eA.exports;return C.asm=sA,C.asm.f,IA=C.asm.e,S.unshift(IA),(function(CA){if(H--,C.monitorRunDependencies&&C.monitorRunDependencies(H),H==0&&(U!==null&&(clearInterval(U),U=null),R)){var cA=R;R=null,cA()}})(),sA}if(H++,C.monitorRunDependencies&&C.monitorRunDependencies(H),C.instantiateWasm)try{return C.instantiateWasm(z,X)}catch(eA){return e("Module.instantiateWasm callback failed with error: "+eA),!1}p(0,M,z,(function(eA){X(eA.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(z){if(l(z))return(function(X){if(o!==void 0&&o){var eA=Buffer.from(X,"base64");return new Uint8Array(eA.buffer,eA.byteOffset,eA.byteLength)}try{for(var gA=atob(X),IA=new Uint8Array(gA.length),sA=0;sA<gA.length;++sA)IA[sA]=gA.charCodeAt(sA);return IA}catch{throw new Error("Converting base64 string to bytes failed.")}})(z.slice(q.length))}function V(){function z(){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;)X=C.postRun.shift(),k.unshift(X);var X;v(k)})()))}H>0||((function(){if(C.preRun)for(typeof C.preRun=="function"&&(C.preRun=[C.preRun]);C.preRun.length;)X=C.preRun.shift(),w.unshift(X);var X;v(w)})(),H>0||(C.setStatus?(C.setStatus("Running..."),setTimeout((function(){setTimeout((function(){C.setStatus("")}),1),z()}),1)):z()))}if(C.writeArrayToMemory=function(z,X){G.set(z,X)},R=function z(){j||V(),j||(R=z)},C.preInit)for(typeof C.preInit=="function"&&(C.preInit=[C.preInit]);C.preInit.length>0;)C.preInit.pop()();return V(),new Promise((function(z,X){C.onAbort=X,C.onRuntimeInitialized=function(){z(C)}}))})).then((function(z){Object.keys(z).forEach((function(X){C[X]=z[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 z=C._malloc(A),X=C._malloc(I);try{return B(C._dilithiumjs_keypair(z,X),{publicKey:Q(z,A),privateKey:Q(X,I)})}finally{i(z),i(X)}}))},sign:function(z,X){return o.signDetached(z,X).then((function(eA){var gA=new Uint8Array(g+z.length);return gA.set(eA),gA.set(z,g),gA}))},signDetached:function(z,X){return E.then((function(){var eA=C._malloc(g),gA=C._malloc(z.length),IA=C._malloc(I);C.writeArrayToMemory(new Uint8Array(g),eA),C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA);try{return B(C._dilithiumjs_sign(eA,gA,z.length,IA),Q(eA,g))}finally{i(eA),i(gA),i(IA)}}))},open:function(z,X){return E.then((function(){var eA=new Uint8Array(z.buffer,z.byteOffset,g),gA=new Uint8Array(z.buffer,z.byteOffset+g,z.length-g);return o.verifyDetached(eA,gA,X).then((function(IA){if(IA)return gA;throw new Error("Failed to open Dilithium signed message.")}))}))},verifyDetached:function(z,X,eA){return E.then((function(){var gA=C._malloc(g),IA=C._malloc(X.length),sA=C._malloc(A);C.writeArrayToMemory(z,gA),C.writeArrayToMemory(X,IA),C.writeArrayToMemory(eA,sA);try{return C._dilithiumjs_verify(IA,X.length,gA,sA)===0}finally{i(gA),i(IA),i(sA)}}))}};return o})();typeof module<"u"&&module.exports?(dilithium.dilithium=dilithium,module.exports=dilithium):self.dilithium=dilithium});var II={};Ag(II,{InMemoryKeyStorage:()=>Qe,createKeySDK:()=>g0,default:()=>rI});mA();mA();mA();mA();mA();var Se=class{constructor(){pA(this,"suites",new Map)}register(X){if(this.suites.has(X.suiteId))throw new Error(`Signature suite already registered: ${X.suiteId}`);this.suites.set(X.suiteId,X)}getSuite(X){let eA=this.suites.get(X);if(!eA)throw new Error(`Unknown signature suite: ${X}. Available: ${this.listSuites().join(", ")}`);return eA}hasSuite(X){return this.suites.has(X)}listSuites(){return[...this.suites.keys()]}unregister(X){return this.suites.delete(X)}clear(){this.suites.clear()}},Er=new Se;mA();function ke(z){return Array.from(z).map(X=>X.toString(16).padStart(2,"0")).join("")}function Ne(z){if(z.length%2!==0)throw new Error("Hex string must have even length");let X=new Uint8Array(z.length/2);for(let eA=0;eA<z.length;eA+=2)X[eA/2]=parseInt(z.slice(eA,eA+2),16);return X}async function ui(z,X){if(X==="sha256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha256").update(z).digest())}else if(X==="sha512"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha512").update(z).digest())}else if(X==="sha3-256"){let eA=await Promise.resolve().then(()=>(hi(),Ei));return new Uint8Array(eA.createHash("sha3-256").update(z).digest())}throw new Error(`Unsupported hash algorithm: ${X}`)}mA();mA();var Qe=class{constructor(){pA(this,"keys",new Map)}async store(X,eA,gA){this.keys.set(X,{keypair:eA,meta:gA})}async load(X){return this.keys.get(X)||null}async list(X){let eA=Array.from(this.keys.values()).map(gA=>gA.meta);return X?eA.filter(gA=>Object.entries(X).every(([IA,sA])=>IA==="usage"&&Array.isArray(sA)?sA.some(CA=>gA.usage.includes(CA)):gA[IA]===sA)):eA}async delete(X){this.keys.delete(X)}async updateMeta(X,eA){let gA=this.keys.get(X);if(!gA)throw new Error(`Key not found: ${X}`);this.keys.set(X,{keypair:gA.keypair,meta:{...gA.meta,...eA}})}clear(){this.keys.clear()}},yi=class{constructor(X=new Qe){pA(this,"storage");this.storage=X}async registerKey(X,eA,gA,IA={}){let sA={keyId:X,suiteId:gA,createdAt:new Date().toISOString(),expiresAt:IA.expiresAt,usage:IA.usage||["signing"],cryptoProfileVersion:IA.cryptoProfileVersion||"1.0.0",status:IA.status||"active"};return await this.storage.store(X,eA,sA),sA}async getKey(X){return await this.storage.load(X)}async getPublicKey(X){let eA=await this.storage.load(X);return eA?{publicKey:eA.keypair.publicKey,meta:eA.meta}:null}async listKeys(X){return await this.storage.list(X)}async listActiveKeys(X){let eA=await this.storage.list(X),gA=new Date;return eA.filter(IA=>!(IA.status&&IA.status!=="active"||IA.expiresAt&&new Date(IA.expiresAt)<gA))}async rotateKey(X,eA,gA){let IA=await this.storage.load(X);if(!IA)throw new Error(`Cannot rotate: key not found: ${X}`);return await this.storage.updateMeta(X,{status:"rotated"}),await this.registerKey(eA,gA,IA.meta.suiteId,{usage:IA.meta.usage,cryptoProfileVersion:IA.meta.cryptoProfileVersion,expiresAt:IA.meta.expiresAt,status:"active"}),await this.storage.updateMeta(eA,{rotatedFrom:X}),(await this.storage.load(eA)).meta}async revokeKey(X,eA){await this.storage.updateMeta(X,{status:"revoked",revokedAt:new Date().toISOString()})}async deleteKey(X){await this.storage.delete(X)}async markExpiredKeys(){let X=await this.storage.list(),eA=new Date,gA=0;for(let IA of X)IA.expiresAt&&new Date(IA.expiresAt)<eA&&IA.status==="active"&&(await this.storage.updateMeta(IA.keyId,{status:"expired"}),gA++);return gA}async pruneOldKeys(X=90){let eA=await this.storage.list(),gA=new Date;gA.setDate(gA.getDate()-X);let IA=0;for(let sA of eA)(sA.status==="revoked"&&sA.revokedAt&&new Date(sA.revokedAt)<gA||sA.status==="expired"&&sA.expiresAt&&new Date(sA.expiresAt)<gA)&&(await this.storage.delete(sA.keyId),IA++);return IA}};mA();mA();mA();mA();var Rr={p:0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2fn,n:0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141n,h:1n,a:0n,b:7n,Gx:0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798n,Gy:0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8n},{p:fe,n:bt,Gx:Lr,Gy:Kr,b:Yg}=Rr,$A=32,Ee=64,MA=(z="")=>{throw new Error(z)},Rg=z=>typeof z=="bigint",Lg=z=>typeof z=="string",Mr=z=>z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array",ue=(z,X)=>!Mr(z)||typeof X=="number"&&X>0&&z.length!==X?MA("Uint8Array expected"):z,he=z=>new Uint8Array(z),Jr=z=>Uint8Array.from(z),Kg=(z,X)=>z.toString(16).padStart(X,"0"),xi=z=>Array.from(ue(z)).map(X=>Kg(X,2)).join(""),Mt={_0:48,_9:57,A:65,F:70,a:97,f:102},Fg=z=>{if(z>=Mt._0&&z<=Mt._9)return z-Mt._0;if(z>=Mt.A&&z<=Mt.F)return z-(Mt.A-10);if(z>=Mt.a&&z<=Mt.f)return z-(Mt.a-10)},zi=z=>{let X="hex invalid";if(!Lg(z))return MA(X);let eA=z.length,gA=eA/2;if(eA%2)return MA(X);let IA=he(gA);for(let sA=0,CA=0;sA<gA;sA++,CA+=2){let cA=Fg(z.charCodeAt(CA)),EA=Fg(z.charCodeAt(CA+1));if(cA===void 0||EA===void 0)return MA(X);IA[sA]=cA*16+EA}return IA},Dt=(z,X)=>ue(Lg(z)?zi(z):Jr(ue(z)),X),Mg=()=>globalThis?.crypto,qr=()=>Mg()?.subtle??MA("crypto.subtle must be defined"),ye=(...z)=>{let X=he(z.reduce((gA,IA)=>gA+ue(IA).length,0)),eA=0;return z.forEach(gA=>{X.set(gA,eA),eA+=gA.length}),X},$i=(z=$A)=>Mg().getRandomValues(he(z)),Ye=BigInt,Ze=(z,X,eA,gA="bad number: out of range")=>Rg(z)&&X<=z&&z<eA?z:MA(gA),DA=(z,X=fe)=>{let eA=z%X;return eA>=0n?eA:X+eA},et=z=>DA(z,bt),ze=(z,X)=>{(z===0n||X<=0n)&&MA("no inverse n="+z+" mod="+X);let eA=DA(z,X),gA=X,IA=0n,sA=1n,CA=1n,cA=0n;for(;eA!==0n;){let EA=gA/eA,yA=gA%eA,uA=IA-CA*EA,BA=sA-cA*EA;gA=eA,eA=yA,IA=CA,sA=cA,CA=uA,cA=BA}return gA===1n?DA(IA,X):MA("no inverse")},vr=z=>{let X=Ai[z];return typeof X!="function"&&MA("hashes."+z+" not set"),X},Hg=z=>z instanceof Jt?z:MA("Point expected"),Jg=z=>DA(DA(z*z)*z+Yg),kg=z=>Ze(z,0n,fe),_e=z=>Ze(z,1n,fe),Vi=z=>Ze(z,1n,bt),Xi=z=>(z&1n)===0n,Ue=z=>Uint8Array.of(z),qg=z=>Ue(Xi(z)?2:3),Or=z=>{let X=Jg(_e(z)),eA=1n;for(let gA=X,IA=(fe+1n)/4n;IA>0n;IA>>=1n)IA&1n&&(eA=eA*gA%fe),gA=gA*gA%fe;return DA(eA*eA)===X?eA:MA("sqrt invalid")},xt=class xt{constructor(X,eA,gA){pA(this,"px");pA(this,"py");pA(this,"pz");this.px=kg(X),this.py=_e(eA),this.pz=kg(gA),Object.freeze(this)}static fromBytes(X){ue(X);let eA,gA=X[0],IA=X.subarray(1),sA=di(IA,0,$A),CA=X.length;if(CA===$A+1&&[2,3].includes(gA)){let cA=Or(sA),EA=Xi(cA);Xi(Ye(gA))!==EA&&(cA=DA(-cA)),eA=new xt(sA,cA,1n)}return CA===Ee+1&&gA===4&&(eA=new xt(sA,di(IA,$A,Ee),1n)),eA?eA.assertValidity():MA("bad point: not on curve")}equals(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=DA(eA*cA),yA=DA(sA*IA),uA=DA(gA*cA),BA=DA(CA*IA);return EA===yA&&uA===BA}is0(){return this.equals(ce)}negate(){return new xt(this.px,DA(-this.py),this.pz)}double(){return this.add(this)}add(X){let{px:eA,py:gA,pz:IA}=this,{px:sA,py:CA,pz:cA}=Hg(X),EA=0n,yA=Yg,uA=0n,BA=0n,xA=0n,_=DA(yA*3n),fA=DA(eA*sA),FA=DA(gA*CA),UA=DA(IA*cA),bA=DA(eA+gA),YA=DA(sA+CA);bA=DA(bA*YA),YA=DA(fA+FA),bA=DA(bA-YA),YA=DA(eA+IA);let HA=DA(sA+cA);return YA=DA(YA*HA),HA=DA(fA+UA),YA=DA(YA-HA),HA=DA(gA+IA),uA=DA(CA+cA),HA=DA(HA*uA),uA=DA(FA+UA),HA=DA(HA-uA),xA=DA(EA*YA),uA=DA(_*UA),xA=DA(uA+xA),uA=DA(FA-xA),xA=DA(FA+xA),BA=DA(uA*xA),FA=DA(fA+fA),FA=DA(FA+fA),UA=DA(EA*UA),YA=DA(_*YA),FA=DA(FA+UA),UA=DA(fA-UA),UA=DA(EA*UA),YA=DA(YA+UA),fA=DA(FA*YA),BA=DA(BA+fA),fA=DA(HA*YA),uA=DA(bA*uA),uA=DA(uA-fA),fA=DA(bA*FA),xA=DA(HA*xA),xA=DA(xA+fA),new xt(uA,BA,xA)}multiply(X,eA=!0){if(!eA&&X===0n)return ce;if(Vi(X),X===1n)return this;if(this.equals(wt))return $r(X).p;let gA=ce,IA=wt;for(let sA=this;X>0n;sA=sA.double(),X>>=1n)X&1n?gA=gA.add(sA):eA&&(IA=IA.add(sA));return gA}toAffine(){let{px:X,py:eA,pz:gA}=this;if(this.equals(ce))return{x:0n,y:0n};if(gA===1n)return{x:X,y:eA};let IA=ze(gA,fe);return DA(gA*IA)!==1n&&MA("inverse invalid"),{x:DA(X*IA),y:DA(eA*IA)}}assertValidity(){let{x:X,y:eA}=this.toAffine();return _e(X),_e(eA),DA(eA*eA)===Jg(X)?this:MA("bad point: not on curve")}toBytes(X=!0){let{x:eA,y:gA}=this.assertValidity().toAffine(),IA=$t(eA);return X?ye(qg(gA),IA):ye(Ue(4),IA,$t(gA))}static fromAffine(X){let{x:eA,y:gA}=X;return eA===0n&&gA===0n?ce:new xt(eA,gA,1n)}toHex(X){return xi(this.toBytes(X))}static fromPrivateKey(X){return wt.multiply(Ve(X))}static fromHex(X){return xt.fromBytes(Dt(X))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}toRawBytes(X){return this.toBytes(X)}};pA(xt,"BASE"),pA(xt,"ZERO");var Jt=xt,wt=new Jt(Lr,Kr,1n),ce=new Jt(0n,1n,0n);Jt.BASE=wt;Jt.ZERO=ce;var vg=(z,X,eA)=>wt.multiply(X,!1).add(z.multiply(eA,!1)).assertValidity(),$e=z=>Ye("0x"+(xi(z)||"0")),di=(z,X,eA)=>$e(z.subarray(X,eA)),Tr=2n**256n,$t=z=>zi(Kg(Ze(z,0n,Tr),Ee)),Ve=z=>{let X=Rg(z)?z:$e(Dt(z,$A));return Ze(X,1n,bt,"private key invalid 3")},li=z=>z>bt>>1n,Og=(z,X=!0)=>wt.multiply(Ve(z)).toBytes(X),Xe=class z{constructor(X,eA,gA){pA(this,"r");pA(this,"s");pA(this,"recovery");this.r=Vi(X),this.s=Vi(eA),gA!=null&&(this.recovery=gA),Object.freeze(this)}static fromBytes(X){ue(X,Ee);let eA=di(X,0,$A),gA=di(X,$A,Ee);return new z(eA,gA)}toBytes(){let{r:X,s:eA}=this;return ye($t(X),$t(eA))}addRecoveryBit(X){return new z(this.r,this.s,X)}hasHighS(){return li(this.s)}toCompactRawBytes(){return this.toBytes()}toCompactHex(){return xi(this.toBytes())}recoverPublicKey(X){return _r(this,X)}static fromCompact(X){return z.fromBytes(Dt(X,Ee))}assertValidity(){return this}normalizeS(){let{r:X,s:eA,recovery:gA}=this;return li(eA)?new z(X,et(-eA),gA):this}},Tg=z=>{let X=z.length*8-256;X>1024&&MA("msg invalid");let eA=$e(z);return X>0?eA>>Ye(X):eA},A0=z=>et(Tg(ue(z))),jg={lowS:!0},jr={lowS:!0},Pr=(z,X,eA=jg)=>{["der","recovered","canonical"].some(xA=>xA in eA)&&MA("option not supported");let{lowS:gA,extraEntropy:IA}=eA;gA==null&&(gA=!0);let sA=$t,CA=A0(Dt(z)),cA=sA(CA),EA=Ve(X),yA=[sA(EA),cA];IA&&yA.push(IA===!0?$i($A):Dt(IA));let uA=CA,BA=xA=>{let _=Tg(xA);if(!(1n<=_&&_<bt))return;let fA=wt.multiply(_).toAffine(),FA=et(fA.x);if(FA===0n)return;let UA=ze(_,bt),bA=et(UA*et(uA+et(EA*FA)));if(bA===0n)return;let YA=bA,HA=(fA.x===FA?0:2)|Number(fA.y&1n);return gA&&li(bA)&&(YA=et(-bA),HA^=1),new Xe(FA,YA,HA)};return{seed:ye(...yA),k2sig:BA}},Wr=z=>{let X=he($A),eA=he($A),gA=0,IA=he(0),sA=()=>{X.fill(1),eA.fill(0),gA=0},CA=1e3,cA="drbg: tried 1000 values";if(z){let EA=(...BA)=>Ai.hmacSha256Async(eA,X,...BA),yA=async(BA=IA)=>{eA=await EA(Ue(0),BA),X=await EA(),BA.length!==0&&(eA=await EA(Ue(1),BA),X=await EA())},uA=async()=>(gA++>=CA&&MA(cA),X=await EA(),X);return async(BA,xA)=>{sA(),await yA(BA);let _;for(;!(_=xA(await uA()));)await yA();return sA(),_}}else{let EA=(...BA)=>vr("hmacSha256Sync")(eA,X,...BA),yA=(BA=IA)=>{eA=EA(Ue(0),BA),X=EA(),BA.length!==0&&(eA=EA(Ue(1),BA),X=EA())},uA=()=>(gA++>=CA&&MA(cA),X=EA(),X);return(BA,xA)=>{sA(),yA(BA);let _;for(;!(_=xA(uA()));)yA();return sA(),_}}};var Pg=(z,X,eA=jg)=>{let{seed:gA,k2sig:IA}=Pr(z,X,eA);return Wr(!1)(gA,IA)},Wg=(z,X,eA,gA=jr)=>{let{lowS:IA}=gA;IA==null&&(IA=!0),"strict"in gA&&MA("option not supported");let sA,CA=z&&typeof z=="object"&&"r"in z;!CA&&Dt(z).length!==Ee&&MA("signature must be 64 bytes");try{sA=CA?new Xe(z.r,z.s):Xe.fromCompact(z);let cA=A0(Dt(X)),EA=Jt.fromBytes(Dt(eA)),{r:yA,s:uA}=sA;if(IA&&li(uA))return!1;let BA=ze(uA,bt),xA=et(cA*BA),_=et(yA*BA),fA=vg(EA,xA,_).toAffine();return et(fA.x)===yA}catch{return!1}},_r=(z,X)=>{let{r:eA,s:gA,recovery:IA}=z;[0,1,2,3].includes(IA)||MA("recovery id invalid");let sA=A0(Dt(X,$A)),CA=IA===2||IA===3?eA+bt:eA;_e(CA);let cA=qg(Ye(IA)),EA=ye(cA,$t(CA)),yA=Jt.fromBytes(EA),uA=ze(CA,bt),BA=et(-sA*uA),xA=et(gA*uA);return vg(yA,BA,xA)};var _g=z=>{z=Dt(z),(z.length<$A+8||z.length>1024)&&MA("expected 40-1024b");let X=DA($e(z),bt-1n);return $t(X+1n)},Vr=()=>_g($i($A+16)),Xr="SHA-256",Ai={hexToBytes:zi,bytesToHex:xi,concatBytes:ye,bytesToNumberBE:$e,numberToBytesBE:$t,mod:DA,invert:ze,hmacSha256Async:async(z,...X)=>{let eA=qr(),gA="HMAC",IA=await eA.importKey("raw",z,{name:gA,hash:{name:Xr}},!1,["sign"]);return he(await eA.sign(gA,IA,ye(...X)))},hmacSha256Sync:void 0,hashToPrivateKey:_g,randomBytes:$i},Vg={normPrivateKeyToScalar:Ve,isValidPrivateKey:z=>{try{return!!Ve(z)}catch{return!1}},randomPrivateKey:Vr,precompute:(z=8,X=wt)=>(X.multiply(3n),X)},pi=8,Zr=256,Xg=Math.ceil(Zr/pi)+1,Zi=2**(pi-1),zr=()=>{let z=[],X=wt,eA=X;for(let gA=0;gA<Xg;gA++){eA=X,z.push(eA);for(let IA=1;IA<Zi;IA++)eA=eA.add(X),z.push(eA);X=eA.double()}return z},Ng,Ug=(z,X)=>{let eA=X.negate();return z?eA:X},$r=z=>{let X=Ng||(Ng=zr()),eA=ce,gA=wt,IA=2**pi,sA=IA,CA=Ye(IA-1),cA=Ye(pi);for(let EA=0;EA<Xg;EA++){let yA=Number(z&CA);z>>=cA,yA>Zi&&(yA-=sA,z+=1n);let uA=EA*Zi,BA=uA,xA=uA+Math.abs(yA)-1,_=EA%2!==0,fA=yA<0;yA===0?gA=gA.add(Ug(_,X[BA])):eA=eA.add(Ug(fA,X[xA]))}return{p:eA,f:gA}};mA();mA();function tI(z){return z instanceof Uint8Array||ArrayBuffer.isView(z)&&z.constructor.name==="Uint8Array"}function Zg(z){if(!Number.isSafeInteger(z)||z<0)throw new Error("positive integer expected, got "+z)}function Le(z,...X){if(!tI(z))throw new Error("Uint8Array expected");if(X.length>0&&!X.includes(z.length))throw new Error("Uint8Array expected of length "+X+", got length="+z.length)}function zg(z){if(typeof z!="function"||typeof z.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Zg(z.outputLen),Zg(z.blockLen)}function Ke(z,X=!0){if(z.destroyed)throw new Error("Hash instance has been destroyed");if(X&&z.finished)throw new Error("Hash#digest() has already been called")}function $g(z,X){Le(z);let eA=X.outputLen;if(z.length<eA)throw new Error("digestInto() expects output buffer of length at least "+eA)}function de(...z){for(let X=0;X<z.length;X++)z[X].fill(0)}function Di(z){return new DataView(z.buffer,z.byteOffset,z.byteLength)}function ht(z,X){return z<<32-X|z>>>X}function eI(z){if(typeof z!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(z))}function ti(z){return typeof z=="string"&&(z=eI(z)),Le(z),z}var Re=class{};function Ar(z){let X=gA=>z().update(ti(gA)).digest(),eA=z();return X.outputLen=eA.outputLen,X.blockLen=eA.blockLen,X.create=()=>z(),X}var wi=class extends Re{constructor(X,eA){super(),this.finished=!1,this.destroyed=!1,zg(X);let gA=ti(eA);if(this.iHash=X.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 IA=this.blockLen,sA=new Uint8Array(IA);sA.set(gA.length>IA?X.create().update(gA).digest():gA);for(let CA=0;CA<sA.length;CA++)sA[CA]^=54;this.iHash.update(sA),this.oHash=X.create();for(let CA=0;CA<sA.length;CA++)sA[CA]^=106;this.oHash.update(sA),de(sA)}update(X){return Ke(this),this.iHash.update(X),this}digestInto(X){Ke(this),Le(X,this.outputLen),this.finished=!0,this.iHash.digestInto(X),this.oHash.update(X),this.oHash.digestInto(X),this.destroy()}digest(){let X=new Uint8Array(this.oHash.outputLen);return this.digestInto(X),X}_cloneInto(X){X||(X=Object.create(Object.getPrototypeOf(this),{}));let{oHash:eA,iHash:gA,finished:IA,destroyed:sA,blockLen:CA,outputLen:cA}=this;return X=X,X.finished=IA,X.destroyed=sA,X.blockLen=CA,X.outputLen=cA,X.oHash=eA._cloneInto(X.oHash),X.iHash=gA._cloneInto(X.iHash),X}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},t0=(z,X,eA)=>new wi(z,X).update(eA).digest();t0.create=(z,X)=>new wi(z,X);mA();mA();mA();function iI(z,X,eA,gA){if(typeof z.setBigUint64=="function")return z.setBigUint64(X,eA,gA);let IA=BigInt(32),sA=BigInt(4294967295),CA=Number(eA>>IA&sA),cA=Number(eA&sA),EA=gA?4:0,yA=gA?0:4;z.setUint32(X+EA,CA,gA),z.setUint32(X+yA,cA,gA)}function tr(z,X,eA){return z&X^~z&eA}function er(z,X,eA){return z&X^z&eA^X&eA}var bi=class extends Re{constructor(X,eA,gA,IA){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=X,this.outputLen=eA,this.padOffset=gA,this.isLE=IA,this.buffer=new Uint8Array(X),this.view=Di(this.buffer)}update(X){Ke(this),X=ti(X),Le(X);let{view:eA,buffer:gA,blockLen:IA}=this,sA=X.length;for(let CA=0;CA<sA;){let cA=Math.min(IA-this.pos,sA-CA);if(cA===IA){let EA=Di(X);for(;IA<=sA-CA;CA+=IA)this.process(EA,CA);continue}gA.set(X.subarray(CA,CA+cA),this.pos),this.pos+=cA,CA+=cA,this.pos===IA&&(this.process(eA,0),this.pos=0)}return this.length+=X.length,this.roundClean(),this}digestInto(X){Ke(this),$g(X,this),this.finished=!0;let{buffer:eA,view:gA,blockLen:IA,isLE:sA}=this,{pos:CA}=this;eA[CA++]=128,de(this.buffer.subarray(CA)),this.padOffset>IA-CA&&(this.process(gA,0),CA=0);for(let BA=CA;BA<IA;BA++)eA[BA]=0;iI(gA,IA-8,BigInt(this.length*8),sA),this.process(gA,0);let cA=Di(X),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 BA=0;BA<yA;BA++)cA.setUint32(4*BA,uA[BA],sA)}digest(){let{buffer:X,outputLen:eA}=this;this.digestInto(X);let gA=X.slice(0,eA);return this.destroy(),gA}_cloneInto(X){X||(X=new this.constructor),X.set(...this.get());let{blockLen:eA,buffer:gA,length:IA,finished:sA,destroyed:CA,pos:cA}=this;return X.destroyed=CA,X.finished=sA,X.length=IA,X.pos=cA,IA%eA&&X.buffer.set(gA),X}clone(){return this._cloneInto()}},qt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var gI=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]),Ae=new Uint32Array(64),Gi=class extends bi{constructor(X=32){super(64,X,8,!1),this.A=qt[0]|0,this.B=qt[1]|0,this.C=qt[2]|0,this.D=qt[3]|0,this.E=qt[4]|0,this.F=qt[5]|0,this.G=qt[6]|0,this.H=qt[7]|0}get(){let{A:X,B:eA,C:gA,D:IA,E:sA,F:CA,G:cA,H:EA}=this;return[X,eA,gA,IA,sA,CA,cA,EA]}set(X,eA,gA,IA,sA,CA,cA,EA){this.A=X|0,this.B=eA|0,this.C=gA|0,this.D=IA|0,this.E=sA|0,this.F=CA|0,this.G=cA|0,this.H=EA|0}process(X,eA){for(let BA=0;BA<16;BA++,eA+=4)Ae[BA]=X.getUint32(eA,!1);for(let BA=16;BA<64;BA++){let xA=Ae[BA-15],_=Ae[BA-2],fA=ht(xA,7)^ht(xA,18)^xA>>>3,FA=ht(_,17)^ht(_,19)^_>>>10;Ae[BA]=FA+Ae[BA-7]+fA+Ae[BA-16]|0}let{A:gA,B:IA,C:sA,D:CA,E:cA,F:EA,G:yA,H:uA}=this;for(let BA=0;BA<64;BA++){let xA=ht(cA,6)^ht(cA,11)^ht(cA,25),_=uA+xA+tr(cA,EA,yA)+gI[BA]+Ae[BA]|0,FA=(ht(gA,2)^ht(gA,13)^ht(gA,22))+er(gA,IA,sA)|0;uA=yA,yA=EA,EA=cA,cA=CA+_|0,CA=sA,sA=IA,IA=gA,gA=_+FA|0}gA=gA+this.A|0,IA=IA+this.B|0,sA=sA+this.C|0,CA=CA+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(gA,IA,sA,CA,cA,EA,yA,uA)}roundClean(){de(Ae)}destroy(){this.set(0,0,0,0,0,0,0,0),de(this.buffer)}};var ir=Ar(()=>new Gi);var gr=ir;Ai.hmacSha256Sync=(z,...X)=>t0(gr,z,Ai.concatBytes(...X));var ei=class{constructor(){pA(this,"suiteId","bsv-ecdsa-secp256k1");pA(this,"version","1.0.0")}async generateKeypair(){let X=Vg.randomPrivateKey(),eA=Og(X,!0);return{privateKey:X,publicKey:eA}}async sign(X,eA){try{return(await Pg(eA,X)).toCompactRawBytes()}catch(gA){throw new Error(`BsvEcdsaSuite signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return Wg(gA,eA,X)}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){return Ne(X)}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==32)throw new Error("Private key must be 32 bytes");return eA}};mA();var e0=null;async function i0(){if(!e0){let z=await Promise.resolve().then(()=>cr(rr(),1));e0=z.default||z}return e0}var mi=class{constructor(){pA(this,"suiteId","ml-dsa-87");pA(this,"version","1.0.0")}async generateKeypair(){try{let eA=await(await i0()).keyPair();return{publicKey:new Uint8Array(eA.publicKey),privateKey:new Uint8Array(eA.privateKey)}}catch(X){throw new Error(`ML-DSA-87 key generation failed: ${X instanceof Error?X.message:String(X)}`)}}async sign(X,eA){try{let IA=await(await i0()).signDetached(Buffer.from(eA),Buffer.from(X));return new Uint8Array(IA)}catch(gA){throw new Error(`ML-DSA-87 signing failed: ${gA instanceof Error?gA.message:String(gA)}`)}}async verify(X,eA,gA){try{return await(await i0()).verifyDetached(Buffer.from(gA),Buffer.from(eA),Buffer.from(X))}catch{return!1}}exportPublicKey(X){return ke(X)}importPublicKey(X){let eA=Ne(X);if(eA.length!==2592)throw new Error(`ML-DSA-87 public key must be 2592 bytes, got ${eA.length}`);return eA}exportPrivateKey(X){return ke(X)}importPrivateKey(X){let eA=Ne(X);if(eA.length!==4864)throw new Error(`ML-DSA-87 private key must be 4864 bytes, got ${eA.length}`);return eA}},ii=class{constructor(){pA(this,"suiteId","ml-dsa-65");pA(this,"version","1.0.0");pA(this,"impl",new mi)}async generateKeypair(){return this.impl.generateKeypair()}async sign(X,eA){return this.impl.sign(X,eA)}async verify(X,eA,gA){return this.impl.verify(X,eA,gA)}exportPublicKey(X){return this.impl.exportPublicKey(X)}importPublicKey(X){return this.impl.importPublicKey(X)}exportPrivateKey(X){return this.impl.exportPrivateKey(X)}importPrivateKey(X){return this.impl.importPrivateKey(X)}};var Si=class{constructor(X){this.keyCounter=new Map;this.keyRegistry=X.keyRegistry,this.suiteRegistry=X.suiteRegistry}async createKey(X,eA,gA={}){let sA=await this.suiteRegistry.getSuite(eA.primarySignatureSuite).generateKeypair(),CA=this.getNextCounter(X),cA=eA.primarySignatureSuite.split("-")[0],EA=`${X}:pk-${cA}-${CA}`;return{meta:await this.keyRegistry.registerKey(EA,sA,eA.primarySignatureSuite,{expiresAt:gA.expiresAt,usage:gA.usage||["signing"],cryptoProfileVersion:gA.cryptoProfileVersion||"1.0.0"}),publicKey:sA.publicKey}}async getKey(X){let eA=await this.keyRegistry.getPublicKey(X);return eA?{meta:eA.meta,publicKey:eA.publicKey}:null}async signWithKey(X,eA){let gA=await this.keyRegistry.getKey(X);if(!gA)throw new Error(`Key not found: ${X}`);if(gA.meta.status!=="active")throw new Error(`Key is not active: ${X} (status: ${gA.meta.status})`);let IA=this.suiteRegistry.getSuite(gA.meta.suiteId),sA=this.getHashAlgorithm(gA.meta.suiteId),CA=await ui(eA,sA);return await IA.sign(gA.keypair.privateKey,CA)}async verifySignature(X,eA,gA){let IA=await this.keyRegistry.getPublicKey(X);if(!IA)return!1;let sA=this.suiteRegistry.getSuite(IA.meta.suiteId),CA=this.getHashAlgorithm(IA.meta.suiteId),cA=await ui(eA,CA);try{return await sA.verify(IA.publicKey,cA,gA)}catch{return!1}}async listKeysForAgent(X,eA=!0){let IA=(eA?await this.keyRegistry.listActiveKeys():await this.keyRegistry.listKeys()).filter(CA=>CA.keyId.startsWith(`${X}:`)),sA=[];for(let CA of IA){let cA=await this.keyRegistry.getPublicKey(CA.keyId);cA&&sA.push({meta:cA.meta,publicKey:cA.publicKey})}return sA}async getActiveCryptoProfile(X){let eA=await this.listKeysForAgent(X,!0);if(eA.length===0)return null;let gA=new Set(eA.map(sA=>sA.meta.suiteId)),IA=Array.from(gA);return{primarySignatureSuite:IA[0],secondarySignatureSuite:IA[1]}}async rotateAgentKeys(X){let eA=await this.listKeysForAgent(X,!0),gA=[];for(let IA of eA){let CA=await this.suiteRegistry.getSuite(IA.meta.suiteId).generateKeypair(),cA=this.getNextCounter(X),EA=IA.meta.suiteId.split("-")[0],yA=`${X}:pk-${EA}-${cA}`,uA=await this.keyRegistry.rotateKey(IA.meta.keyId,yA,CA);gA.push({meta:uA,publicKey:CA.publicKey})}return gA}async getOrCreateKey(X,eA,gA={}){let sA=(await this.listKeysForAgent(X,!0)).find(CA=>CA.meta.suiteId===eA.primarySignatureSuite);return sA||await this.createKey(X,eA,gA)}getHashAlgorithm(X){return X.startsWith("ml-dsa")?"sha3-256":"sha256"}getNextCounter(X){let gA=(this.keyCounter.get(X)||0)+1;return this.keyCounter.set(X,gA),gA}};mA();async function g0(){let z=new Qe,X=new yi(z),eA=new Se;return eA.register(new ei),eA.register(new ii),new Si({keyRegistry:X,suiteRegistry:eA})}var rI={createKeySDK:g0};typeof window<"u"&&(window.LumenKeys={createKeySDK:g0});return fr(II);})();
2
2
  /*! Bundled license information:
3
3
 
4
4
  @noble/hashes/utils.js: