@imtbl/wallet 2.12.6 → 2.12.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,19 @@
1
- import { TypedEventEmitter, AuthEvents, isUserZkEvm, Auth, decodeJwtPayload } from '@imtbl/auth';
2
- export { AuthEvents, TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
1
+ import { isUserZkEvm, TypedEventEmitter, Auth, decodeJwtPayload } from '@imtbl/auth';
2
+ export { TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
3
3
  import * as F5 from '@imtbl/generated-clients';
4
4
  import { createConfig, MultiRollupApiClients, mr as mr$1, MagicTeeApiClients } from '@imtbl/generated-clients';
5
5
  import { utils, trackError, trackFlow, identify, trackDuration } from '@imtbl/metrics';
6
6
  import { parseAbiParameters, zeroAddress, encodeAbiParameters, keccak256, getContract, encodePacked, toBytes, encodeFunctionData, hashTypedData, hashMessage, createPublicClient, http, toHex, getAddress, concat, parseAbi } from 'viem';
7
- import * as FV from 'viem/chains';
7
+ import * as KV from 'viem/chains';
8
8
  import { privateKeyToAccount } from 'viem/accounts';
9
9
 
10
- var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDescriptor;var jk=Object.getOwnPropertyNames;var Mk=Object.getPrototypeOf,$k=Object.prototype.hasOwnProperty;var Xm=(t,e)=>()=>(t&&(e=t(t=0)),e);var qk=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ne=(t,e)=>{for(var s in e)Ib(t,s,{get:e[s],enumerable:!0});},Fk=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jk(e))!$k.call(t,n)&&n!==s&&Ib(t,n,{get:()=>e[n],enumerable:!(r=Hk(e,n))||r.enumerable});return t};var Cb=(t,e,s)=>(s=t!=null?_k(Mk(t)):{},Fk(!t||!t.__esModule?Ib(s,"default",{value:t,enumerable:!0}):s,t));function Bb(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Kk(){!Vc||!Ea||(Vc=!1,Ea.length?qr=Ea.concat(qr):Qm=-1,qr.length&&h5());}function h5(){if(!Vc){var t=setTimeout(Kk,0);Vc=!0;for(var e=qr.length;e;){for(Ea=qr,qr=[];++Qm<e;)Ea&&Ea[Qm].run();Qm=-1,e=qr.length;}Ea=null,Vc=!1,clearTimeout(t);}}function Gk(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var s=1;s<arguments.length;s++)e[s-1]=arguments[s];qr.push(new d5(t,e)),qr.length===1&&!Vc&&setTimeout(h5,0);}function d5(t,e){this.fun=t,this.array=e;}function os(){}function uB(t){Bb("_linkedBinding");}function dB(t){Bb("dlopen");}function mB(){return []}function pB(){return []}function AB(t,e){if(!t)throw new Error(e||"assertion error")}function TB(){return !1}function KB(){return Wn.now()/1e3}function kb(t){var e=Math.floor((Date.now()-Wn.now())*.001),s=Wn.now()*.001,r=Math.floor(s)+e,n=Math.floor(s%1*1e9);return t&&(r=r-t[0],n=n-t[1],n<0&&(r--,n+=Tb)),[r,n]}function Jn(){return x}function rP(t){return []}var qr,Vc,Ea,Qm,Wk,Jk,zk,Yk,Zk,Xk,Qk,eB,tB,sB,rB,nB,iB,aB,oB,cB,lB,fB,hB,gB,yB,Pb,wB,bB,SB,vB,EB,xB,IB,CB,NB,kB,BB,PB,OB,RB,LB,DB,VB,UB,_B,HB,jB,MB,$B,qB,FB,Wn,Nb,Tb,GB,WB,JB,zB,YB,ZB,XB,QB,eP,tP,sP,x,m5=Xm(()=>{d();h();qr=[],Vc=!1,Qm=-1;d5.prototype.run=function(){this.fun.apply(null,this.array);};Wk="browser",Jk="x64",zk="browser",Yk={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Zk=["/usr/bin/node"],Xk=[],Qk="v16.8.0",eB={},tB=function(t,e){console.warn((e?e+": ":"")+t);},sB=function(t){Bb("binding");},rB=function(t){return 0},nB=function(){return "/"},iB=function(t){},aB={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};oB=os,cB=[];lB={},fB=!1,hB={};gB=os,yB=os,Pb=function(){return {}},wB=Pb,bB=Pb,SB=os,vB=os,EB=os,xB={};IB={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},CB=os,NB=os;kB=os,BB=os,PB=os,OB=os,RB=os,LB=void 0,DB=void 0,VB=void 0,UB=os,_B=2,HB=1,jB="/bin/usr/node",MB=9229,$B="node",qB=[],FB=os,Wn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Wn.now===void 0&&(Nb=Date.now(),Wn.timing&&Wn.timing.navigationStart&&(Nb=Wn.timing.navigationStart),Wn.now=()=>Date.now()-Nb);Tb=1e9;kb.bigint=function(t){var e=kb(t);return typeof BigInt>"u"?e[0]*Tb+e[1]:BigInt(e[0]*Tb)+BigInt(e[1])};GB=10,WB={},JB=0;zB=Jn,YB=Jn,ZB=Jn,XB=Jn,QB=Jn,eP=os,tP=Jn,sP=Jn;x={version:Qk,versions:eB,arch:Jk,platform:zk,release:aB,_rawDebug:oB,moduleLoadList:cB,binding:sB,_linkedBinding:uB,_events:WB,_eventsCount:JB,_maxListeners:GB,on:Jn,addListener:zB,once:YB,off:ZB,removeListener:XB,removeAllListeners:QB,emit:eP,prependListener:tP,prependOnceListener:sP,listeners:rP,domain:lB,_exiting:fB,config:hB,dlopen:dB,uptime:KB,_getActiveRequests:mB,_getActiveHandles:pB,reallyExit:gB,_kill:yB,cpuUsage:Pb,resourceUsage:wB,memoryUsage:bB,kill:SB,exit:vB,openStdin:EB,allowedNodeEnvironmentFlags:xB,assert:AB,features:IB,_fatalExceptions:CB,setUncaughtExceptionCaptureCallback:NB,hasUncaughtExceptionCaptureCallback:TB,emitWarning:tB,nextTick:Gk,_tickCallback:kB,_debugProcess:BB,_debugEnd:PB,_startProfilerIdleNotifier:OB,_stopProfilerIdleNotifier:RB,stdout:LB,stdin:VB,stderr:DB,abort:UB,umask:rB,chdir:iB,cwd:nB,env:Yk,title:Wk,argv:Zk,execArgv:Xk,pid:_B,ppid:HB,execPath:jB,debugPort:MB,hrtime:kb,argv0:$B,_preload_modules:qB,setSourceMapsEnabled:FB};});var h=Xm(()=>{m5();});function nP(){if(p5)return Af;p5=!0,Af.byteLength=o,Af.toByteArray=u,Af.fromByteArray=w;for(var t=[],e=[],s=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)t[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var S=E.length;if(S%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=E.indexOf("=");I===-1&&(I=S);var C=I===S?0:4-I%4;return [I,C]}function o(E){var S=a(E),I=S[0],C=S[1];return (I+C)*3/4-C}function c(E,S,I){return (S+I)*3/4-I}function u(E){var S,I=a(E),C=I[0],D=I[1],V=new s(c(E,C,D)),B=0,k=D>0?C-4:C,O;for(O=0;O<k;O+=4)S=e[E.charCodeAt(O)]<<18|e[E.charCodeAt(O+1)]<<12|e[E.charCodeAt(O+2)]<<6|e[E.charCodeAt(O+3)],V[B++]=S>>16&255,V[B++]=S>>8&255,V[B++]=S&255;return D===2&&(S=e[E.charCodeAt(O)]<<2|e[E.charCodeAt(O+1)]>>4,V[B++]=S&255),D===1&&(S=e[E.charCodeAt(O)]<<10|e[E.charCodeAt(O+1)]<<4|e[E.charCodeAt(O+2)]>>2,V[B++]=S>>8&255,V[B++]=S&255),V}function l(E){return t[E>>18&63]+t[E>>12&63]+t[E>>6&63]+t[E&63]}function p(E,S,I){for(var C,D=[],V=S;V<I;V+=3)C=(E[V]<<16&16711680)+(E[V+1]<<8&65280)+(E[V+2]&255),D.push(l(C));return D.join("")}function w(E){for(var S,I=E.length,C=I%3,D=[],V=16383,B=0,k=I-C;B<k;B+=V)D.push(p(E,B,B+V>k?k:B+V));return C===1?(S=E[I-1],D.push(t[S>>2]+t[S<<4&63]+"==")):C===2&&(S=(E[I-2]<<8)+E[I-1],D.push(t[S>>10]+t[S>>4&63]+t[S<<2&63]+"=")),D.join("")}return Af}function iP(){if(g5)return ep;g5=!0;return ep.read=function(t,e,s,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,p=s?n-1:0,w=s?-1:1,E=t[e+p];for(p+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+t[e+p],p+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+t[e+p],p+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},ep.write=function(t,e,s,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,p=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,S=r?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?e+=w/c:e+=w*Math.pow(2,1-p),e*c>=2&&(a++,c/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(e*c-1)*Math.pow(2,n),a=a+p):(o=e*Math.pow(2,p-1)*Math.pow(2,n),a=0));n>=8;t[s+E]=o&255,E+=S,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;t[s+E]=a&255,E+=S,a/=256,u-=8);t[s+E-S]|=I*128;},ep}function aP(){if(y5)return xa;y5=!0;let t=nP(),e=iP(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;xa.Buffer=a,xa.SlowBuffer=D,xa.INSPECT_MAX_BYTES=50;let r=2147483647;xa.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let v=new Uint8Array(1),m={foo:function(){return 42}};return Object.setPrototypeOf(m,Uint8Array.prototype),Object.setPrototypeOf(v,m),v.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(v){if(v>r)throw new RangeError('The value "'+v+'" is invalid for option "size"');let m=new Uint8Array(v);return Object.setPrototypeOf(m,a.prototype),m}function a(v,m,g){if(typeof v=="number"){if(typeof m=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(v)}return o(v,m,g)}a.poolSize=8192;function o(v,m,g){if(typeof v=="string")return p(v,m);if(ArrayBuffer.isView(v))return E(v);if(v==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v);if(Ar(v,ArrayBuffer)||v&&Ar(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ar(v,SharedArrayBuffer)||v&&Ar(v.buffer,SharedArrayBuffer)))return S(v,m,g);if(typeof v=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=v.valueOf&&v.valueOf();if(N!=null&&N!==v)return a.from(N,m,g);let R=I(v);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof v[Symbol.toPrimitive]=="function")return a.from(v[Symbol.toPrimitive]("string"),m,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v)}a.from=function(v,m,g){return o(v,m,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(v){if(typeof v!="number")throw new TypeError('"size" argument must be of type number');if(v<0)throw new RangeError('The value "'+v+'" is invalid for option "size"')}function u(v,m,g){return c(v),v<=0?i(v):m!==void 0?typeof g=="string"?i(v).fill(m,g):i(v).fill(m):i(v)}a.alloc=function(v,m,g){return u(v,m,g)};function l(v){return c(v),i(v<0?0:C(v)|0)}a.allocUnsafe=function(v){return l(v)},a.allocUnsafeSlow=function(v){return l(v)};function p(v,m){if((typeof m!="string"||m==="")&&(m="utf8"),!a.isEncoding(m))throw new TypeError("Unknown encoding: "+m);let g=V(v,m)|0,N=i(g),R=N.write(v,m);return R!==g&&(N=N.slice(0,R)),N}function w(v){let m=v.length<0?0:C(v.length)|0,g=i(m);for(let N=0;N<m;N+=1)g[N]=v[N]&255;return g}function E(v){if(Ar(v,Uint8Array)){let m=new Uint8Array(v);return S(m.buffer,m.byteOffset,m.byteLength)}return w(v)}function S(v,m,g){if(m<0||v.byteLength<m)throw new RangeError('"offset" is outside of buffer bounds');if(v.byteLength<m+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return m===void 0&&g===void 0?N=new Uint8Array(v):g===void 0?N=new Uint8Array(v,m):N=new Uint8Array(v,m,g),Object.setPrototypeOf(N,a.prototype),N}function I(v){if(a.isBuffer(v)){let m=C(v.length)|0,g=i(m);return g.length===0||v.copy(g,0,0,m),g}if(v.length!==void 0)return typeof v.length!="number"||Ab(v.length)?i(0):w(v);if(v.type==="Buffer"&&Array.isArray(v.data))return w(v.data)}function C(v){if(v>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return v|0}function D(v){return +v!=v&&(v=0),a.alloc(+v)}a.isBuffer=function(m){return m!=null&&m._isBuffer===!0&&m!==a.prototype},a.compare=function(m,g){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),Ar(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(m)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(m===g)return 0;let N=m.length,R=g.length;for(let H=0,F=Math.min(N,R);H<F;++H)if(m[H]!==g[H]){N=m[H],R=g[H];break}return N<R?-1:R<N?1:0},a.isEncoding=function(m){switch(String(m).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(m,g){if(!Array.isArray(m))throw new TypeError('"list" argument must be an Array of Buffers');if(m.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<m.length;++N)g+=m[N].length;let R=a.allocUnsafe(g),H=0;for(N=0;N<m.length;++N){let F=m[N];if(Ar(F,Uint8Array))H+F.length>R.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(R,H)):Uint8Array.prototype.set.call(R,F,H);else if(a.isBuffer(F))F.copy(R,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=F.length;}return R};function V(v,m){if(a.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||Ar(v,ArrayBuffer))return v.byteLength;if(typeof v!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof v);let g=v.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let R=!1;for(;;)switch(m){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Dc(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return f5(v).length;default:if(R)return N?-1:Dc(v).length;m=(""+m).toLowerCase(),R=!0;}}a.byteLength=V;function B(v,m,g){let N=!1;if((m===void 0||m<0)&&(m=0),m>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,m>>>=0,g<=m))return "";for(v||(v="utf8");;)switch(v){case"hex":return Ee(this,m,g);case"utf8":case"utf-8":return ge(this,m,g);case"ascii":return X(this,m,g);case"latin1":case"binary":return ue(this,m,g);case"base64":return ce(this,m,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,m,g);default:if(N)throw new TypeError("Unknown encoding: "+v);v=(v+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function k(v,m,g){let N=v[m];v[m]=v[g],v[g]=N;}a.prototype.swap16=function(){let m=this.length;if(m%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<m;g+=2)k(this,g,g+1);return this},a.prototype.swap32=function(){let m=this.length;if(m%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<m;g+=4)k(this,g,g+3),k(this,g+1,g+2);return this},a.prototype.swap64=function(){let m=this.length;if(m%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<m;g+=8)k(this,g,g+7),k(this,g+1,g+6),k(this,g+2,g+5),k(this,g+3,g+4);return this},a.prototype.toString=function(){let m=this.length;return m===0?"":arguments.length===0?ge(this,0,m):B.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(m){if(!a.isBuffer(m))throw new TypeError("Argument must be a Buffer");return this===m?!0:a.compare(this,m)===0},a.prototype.inspect=function(){let m="",g=xa.INSPECT_MAX_BYTES;return m=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(m+=" ... "),"<Buffer "+m+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(m,g,N,R,H){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),!a.isBuffer(m))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof m);if(g===void 0&&(g=0),N===void 0&&(N=m?m.length:0),R===void 0&&(R=0),H===void 0&&(H=this.length),g<0||N>m.length||R<0||H>this.length)throw new RangeError("out of range index");if(R>=H&&g>=N)return 0;if(R>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,R>>>=0,H>>>=0,this===m)return 0;let F=H-R,We=N-g,Ct=Math.min(F,We),vt=this.slice(R,H),Nt=m.slice(g,N);for(let ft=0;ft<Ct;++ft)if(vt[ft]!==Nt[ft]){F=vt[ft],We=Nt[ft];break}return F<We?-1:We<F?1:0};function O(v,m,g,N,R){if(v.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,Ab(g)&&(g=R?0:v.length-1),g<0&&(g=v.length+g),g>=v.length){if(R)return -1;g=v.length-1;}else if(g<0)if(R)g=0;else return -1;if(typeof m=="string"&&(m=a.from(m,N)),a.isBuffer(m))return m.length===0?-1:G(v,m,g,N,R);if(typeof m=="number")return m=m&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(v,m,g):Uint8Array.prototype.lastIndexOf.call(v,m,g):G(v,[m],g,N,R);throw new TypeError("val must be string, number or Buffer")}function G(v,m,g,N,R){let H=1,F=v.length,We=m.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(v.length<2||m.length<2)return -1;H=2,F/=2,We/=2,g/=2;}function Ct(Nt,ft){return H===1?Nt[ft]:Nt.readUInt16BE(ft*H)}let vt;if(R){let Nt=-1;for(vt=g;vt<F;vt++)if(Ct(v,vt)===Ct(m,Nt===-1?0:vt-Nt)){if(Nt===-1&&(Nt=vt),vt-Nt+1===We)return Nt*H}else Nt!==-1&&(vt-=vt-Nt),Nt=-1;}else for(g+We>F&&(g=F-We),vt=g;vt>=0;vt--){let Nt=!0;for(let ft=0;ft<We;ft++)if(Ct(v,vt+ft)!==Ct(m,ft)){Nt=!1;break}if(Nt)return vt}return -1}a.prototype.includes=function(m,g,N){return this.indexOf(m,g,N)!==-1},a.prototype.indexOf=function(m,g,N){return O(this,m,g,N,!0)},a.prototype.lastIndexOf=function(m,g,N){return O(this,m,g,N,!1)};function re(v,m,g,N){g=Number(g)||0;let R=v.length-g;N?(N=Number(N),N>R&&(N=R)):N=R;let H=m.length;N>H/2&&(N=H/2);let F;for(F=0;F<N;++F){let We=parseInt(m.substr(F*2,2),16);if(Ab(We))return F;v[g+F]=We;}return F}function Q(v,m,g,N){return Zm(Dc(m,v.length-g),v,g,N)}function oe(v,m,g,N){return Zm(Lk(m),v,g,N)}function pe(v,m,g,N){return Zm(f5(m),v,g,N)}function se(v,m,g,N){return Zm(Dk(m,v.length-g),v,g,N)}a.prototype.write=function(m,g,N,R){if(g===void 0)R="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")R=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,R===void 0&&(R="utf8")):(R=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),m.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let F=!1;for(;;)switch(R){case"hex":return re(this,m,g,N);case"utf8":case"utf-8":return Q(this,m,g,N);case"ascii":case"latin1":case"binary":return oe(this,m,g,N);case"base64":return pe(this,m,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return se(this,m,g,N);default:if(F)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),F=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ce(v,m,g){return m===0&&g===v.length?t.fromByteArray(v):t.fromByteArray(v.slice(m,g))}function ge(v,m,g){g=Math.min(v.length,g);let N=[],R=m;for(;R<g;){let H=v[R],F=null,We=H>239?4:H>223?3:H>191?2:1;if(R+We<=g){let Ct,vt,Nt,ft;switch(We){case 1:H<128&&(F=H);break;case 2:Ct=v[R+1],(Ct&192)===128&&(ft=(H&31)<<6|Ct&63,ft>127&&(F=ft));break;case 3:Ct=v[R+1],vt=v[R+2],(Ct&192)===128&&(vt&192)===128&&(ft=(H&15)<<12|(Ct&63)<<6|vt&63,ft>2047&&(ft<55296||ft>57343)&&(F=ft));break;case 4:Ct=v[R+1],vt=v[R+2],Nt=v[R+3],(Ct&192)===128&&(vt&192)===128&&(Nt&192)===128&&(ft=(H&15)<<18|(Ct&63)<<12|(vt&63)<<6|Nt&63,ft>65535&&ft<1114112&&(F=ft));}}F===null?(F=65533,We=1):F>65535&&(F-=65536,N.push(F>>>10&1023|55296),F=56320|F&1023),N.push(F),R+=We;}return J(N)}let Ke=4096;function J(v){let m=v.length;if(m<=Ke)return String.fromCharCode.apply(String,v);let g="",N=0;for(;N<m;)g+=String.fromCharCode.apply(String,v.slice(N,N+=Ke));return g}function X(v,m,g){let N="";g=Math.min(v.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(v[R]&127);return N}function ue(v,m,g){let N="";g=Math.min(v.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(v[R]);return N}function Ee(v,m,g){let N=v.length;(!m||m<0)&&(m=0),(!g||g<0||g>N)&&(g=N);let R="";for(let H=m;H<g;++H)R+=Vk[v[H]];return R}function fe(v,m,g){let N=v.slice(m,g),R="";for(let H=0;H<N.length-1;H+=2)R+=String.fromCharCode(N[H]+N[H+1]*256);return R}a.prototype.slice=function(m,g){let N=this.length;m=~~m,g=g===void 0?N:~~g,m<0?(m+=N,m<0&&(m=0)):m>N&&(m=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<m&&(g=m);let R=this.subarray(m,g);return Object.setPrototypeOf(R,a.prototype),R};function $(v,m,g){if(v%1!==0||v<0)throw new RangeError("offset is not uint");if(v+m>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,F=0;for(;++F<g&&(H*=256);)R+=this[m+F]*H;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m+--g],H=1;for(;g>0&&(H*=256);)R+=this[m+--g]*H;return R},a.prototype.readUint8=a.prototype.readUInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]|this[m+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]<<8|this[m+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),(this[m]|this[m+1]<<8|this[m+2]<<16)+this[m+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]*16777216+(this[m+1]<<16|this[m+2]<<8|this[m+3])},a.prototype.readBigUInt64LE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24,H=this[++m]+this[++m]*2**8+this[++m]*2**16+N*2**24;return BigInt(R)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=g*2**24+this[++m]*2**16+this[++m]*2**8+this[++m],H=this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N;return (BigInt(R)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,F=0;for(;++F<g&&(H*=256);)R+=this[m+F]*H;return H*=128,R>=H&&(R-=Math.pow(2,8*g)),R},a.prototype.readIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=g,H=1,F=this[m+--R];for(;R>0&&(H*=256);)F+=this[m+--R]*H;return H*=128,F>=H&&(F-=Math.pow(2,8*g)),F},a.prototype.readInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]&128?(255-this[m]+1)*-1:this[m]},a.prototype.readInt16LE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m]|this[m+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m+1]|this[m]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]|this[m+1]<<8|this[m+2]<<16|this[m+3]<<24},a.prototype.readInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]<<24|this[m+1]<<16|this[m+2]<<8|this[m+3]},a.prototype.readBigInt64LE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=this[m+4]+this[m+5]*2**8+this[m+6]*2**16+(N<<24);return (BigInt(R)<<BigInt(32))+BigInt(g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24)}),a.prototype.readBigInt64BE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=(g<<24)+this[++m]*2**16+this[++m]*2**8+this[++m];return (BigInt(R)<<BigInt(32))+BigInt(this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N)}),a.prototype.readFloatLE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!0,23,4)},a.prototype.readFloatBE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!1,23,4)},a.prototype.readDoubleLE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!0,52,8)},a.prototype.readDoubleBE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!1,52,8)};function te(v,m,g,N,R,H){if(!a.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(m>R||m<H)throw new RangeError('"value" argument is out of bounds');if(g+N>v.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=1,F=0;for(this[g]=m&255;++F<N&&(H*=256);)this[g+F]=m/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=N-1,F=1;for(this[g+H]=m&255;--H>=0&&(F*=256);)this[g+H]=m/F&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,255,0),this[g]=m&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g+3]=m>>>24,this[g+2]=m>>>16,this[g+1]=m>>>8,this[g]=m&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4};function ie(v,m,g,N,R){ys(m,N,R,v,g,7);let H=Number(m&BigInt(4294967295));v[g++]=H,H=H>>8,v[g++]=H,H=H>>8,v[g++]=H,H=H>>8,v[g++]=H;let F=Number(m>>BigInt(32)&BigInt(4294967295));return v[g++]=F,F=F>>8,v[g++]=F,F=F>>8,v[g++]=F,F=F>>8,v[g++]=F,g}function xe(v,m,g,N,R){ys(m,N,R,v,g,7);let H=Number(m&BigInt(4294967295));v[g+7]=H,H=H>>8,v[g+6]=H,H=H>>8,v[g+5]=H,H=H>>8,v[g+4]=H;let F=Number(m>>BigInt(32)&BigInt(4294967295));return v[g+3]=F,F=F>>8,v[g+2]=F,F=F>>8,v[g+1]=F,F=F>>8,v[g]=F,g+8}a.prototype.writeBigUInt64LE=Gn(function(m,g=0){return ie(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Gn(function(m,g=0){return xe(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=0,F=1,We=0;for(this[g]=m&255;++H<N&&(F*=256);)m<0&&We===0&&this[g+H-1]!==0&&(We=1),this[g+H]=(m/F>>0)-We&255;return g+N},a.prototype.writeIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=N-1,F=1,We=0;for(this[g+H]=m&255;--H>=0&&(F*=256);)m<0&&We===0&&this[g+H+1]!==0&&(We=1),this[g+H]=(m/F>>0)-We&255;return g+N},a.prototype.writeInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,127,-128),m<0&&(m=255+m+1),this[g]=m&255,g+1},a.prototype.writeInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),this[g]=m&255,this[g+1]=m>>>8,this[g+2]=m>>>16,this[g+3]=m>>>24,g+4},a.prototype.writeInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),m<0&&(m=4294967295+m+1),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4},a.prototype.writeBigInt64LE=Gn(function(m,g=0){return ie(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Gn(function(m,g=0){return xe(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Re(v,m,g,N,R,H){if(g+N>v.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function ze(v,m,g,N,R){return m=+m,g=g>>>0,R||Re(v,m,g,4),e.write(v,m,g,N,23,4),g+4}a.prototype.writeFloatLE=function(m,g,N){return ze(this,m,g,!0,N)},a.prototype.writeFloatBE=function(m,g,N){return ze(this,m,g,!1,N)};function Ut(v,m,g,N,R){return m=+m,g=g>>>0,R||Re(v,m,g,8),e.write(v,m,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(m,g,N){return Ut(this,m,g,!0,N)},a.prototype.writeDoubleBE=function(m,g,N){return Ut(this,m,g,!1,N)},a.prototype.copy=function(m,g,N,R){if(!a.isBuffer(m))throw new TypeError("argument should be a Buffer");if(N||(N=0),!R&&R!==0&&(R=this.length),g>=m.length&&(g=m.length),g||(g=0),R>0&&R<N&&(R=N),R===N||m.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),m.length-g<R-N&&(R=m.length-g+N);let H=R-N;return this===m&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,R):Uint8Array.prototype.set.call(m,this.subarray(N,R),g),H},a.prototype.fill=function(m,g,N,R){if(typeof m=="string"){if(typeof g=="string"?(R=g,g=0,N=this.length):typeof N=="string"&&(R=N,N=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(m.length===1){let F=m.charCodeAt(0);(R==="utf8"&&F<128||R==="latin1")&&(m=F);}}else typeof m=="number"?m=m&255:typeof m=="boolean"&&(m=Number(m));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,m||(m=0);let H;if(typeof m=="number")for(H=g;H<N;++H)this[H]=m;else {let F=a.isBuffer(m)?m:a.from(m,R),We=F.length;if(We===0)throw new TypeError('The value "'+m+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=F[H%We];}return this};let Ge={};function je(v,m,g){Ge[v]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:m.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${v}]`,this.stack,delete this.name;}get code(){return v}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0});}toString(){return `${this.name} [${v}]: ${this.message}`}};}je("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),je("ERR_INVALID_ARG_TYPE",function(v,m){return `The "${v}" argument must be of type number. Received type ${typeof m}`},TypeError),je("ERR_OUT_OF_RANGE",function(v,m,g){let N=`The value of "${v}" is out of range.`,R=g;return Number.isInteger(g)&&Math.abs(g)>2**32?R=de(String(g)):typeof g=="bigint"&&(R=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(R=de(R)),R+="n"),N+=` It must be ${m}. Received ${R}`,N},RangeError);function de(v){let m="",g=v.length,N=v[0]==="-"?1:0;for(;g>=N+4;g-=3)m=`_${v.slice(g-3,g)}${m}`;return `${v.slice(0,g)}${m}`}function as(v,m,g){Bt(m,"offset"),(v[m]===void 0||v[m+g]===void 0)&&Fe(m,v.length-(g+1));}function ys(v,m,g,N,R,H){if(v>g||v<m){let F=typeof m=="bigint"?"n":"",We;throw m===0||m===BigInt(0)?We=`>= 0${F} and < 2${F} ** ${(H+1)*8}${F}`:We=`>= -(2${F} ** ${(H+1)*8-1}${F}) and < 2 ** ${(H+1)*8-1}${F}`,new Ge.ERR_OUT_OF_RANGE("value",We,v)}as(N,R,H);}function Bt(v,m){if(typeof v!="number")throw new Ge.ERR_INVALID_ARG_TYPE(m,"number",v)}function Fe(v,m,g){throw Math.floor(v)!==v?(Bt(v,g),new Ge.ERR_OUT_OF_RANGE("offset","an integer",v)):m<0?new Ge.ERR_BUFFER_OUT_OF_BOUNDS:new Ge.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${m}`,v)}let va=/[^+/0-9A-Za-z-_]/g;function Kn(v){if(v=v.split("=")[0],v=v.trim().replace(va,""),v.length<2)return "";for(;v.length%4!==0;)v=v+"=";return v}function Dc(v,m){m=m||1/0;let g,N=v.length,R=null,H=[];for(let F=0;F<N;++F){if(g=v.charCodeAt(F),g>55295&&g<57344){if(!R){if(g>56319){(m-=3)>-1&&H.push(239,191,189);continue}else if(F+1===N){(m-=3)>-1&&H.push(239,191,189);continue}R=g;continue}if(g<56320){(m-=3)>-1&&H.push(239,191,189),R=g;continue}g=(R-55296<<10|g-56320)+65536;}else R&&(m-=3)>-1&&H.push(239,191,189);if(R=null,g<128){if((m-=1)<0)break;H.push(g);}else if(g<2048){if((m-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((m-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((m-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function Lk(v){let m=[];for(let g=0;g<v.length;++g)m.push(v.charCodeAt(g)&255);return m}function Dk(v,m){let g,N,R,H=[];for(let F=0;F<v.length&&!((m-=2)<0);++F)g=v.charCodeAt(F),N=g>>8,R=g%256,H.push(R),H.push(N);return H}function f5(v){return t.toByteArray(Kn(v))}function Zm(v,m,g,N){let R;for(R=0;R<N&&!(R+g>=m.length||R>=v.length);++R)m[R+g]=v[R];return R}function Ar(v,m){return v instanceof m||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===m.name}function Ab(v){return v!==v}let Vk=function(){let v="0123456789abcdef",m=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let R=0;R<16;++R)m[N+R]=v[g]+v[R];}return m}();function Gn(v){return typeof BigInt>"u"?Uk:v}function Uk(){throw new Error("BigInt not supported")}return xa}var Af,p5,ep,g5,xa,y5,Aa,A,w5=Xm(()=>{d();h();Af={},p5=!1;ep={},g5=!1;xa={},y5=!1;Aa=aP();Aa.Buffer;Aa.SlowBuffer;Aa.INSPECT_MAX_BYTES;Aa.kMaxLength;A=Aa.Buffer,Aa.INSPECT_MAX_BYTES,Aa.kMaxLength;});var d=Xm(()=>{w5();});var fy=qk(Eu=>{d();h();var gU="[object ArrayBuffer]",mn=class t{static isArrayBuffer(e){return Object.prototype.toString.call(e)===gU}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,s){if(e.constructor===s)return e;if(this.isArrayBuffer(e))return new s(e);if(this.isArrayBufferView(e))return new s(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,s){let r=t.toUint8Array(e),n=t.toUint8Array(s);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let s;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?s=e[0]:e[e.length-1]instanceof Function?s=e.slice(0,e.length-1):s=e;let r=0;for(let a of s)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of s){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},cA="string",yU=/^[0-9a-f\s]+$/i,wU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bU=/^[a-zA-Z0-9-_]+$/,uy=class{static fromString(e){let s=unescape(encodeURIComponent(e)),r=new Uint8Array(s.length);for(let n=0;n<s.length;n++)r[n]=s.charCodeAt(n);return r.buffer}static toString(e){let s=mn.toUint8Array(e),r="";for(let i=0;i<s.length;i++)r+=String.fromCharCode(s[i]);return decodeURIComponent(escape(r))}},zs=class{static toString(e,s=!1){let r=mn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,s);i+=String.fromCharCode(o);}return i}static fromString(e,s=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),s);return r}},ly=class t{static isHex(e){return typeof e===cA&&yU.test(e)}static isBase64(e){return typeof e===cA&&wU.test(e)}static isBase64Url(e){return typeof e===cA&&bU.test(e)}static ToString(e,s="utf8"){let r=mn.toUint8Array(e);switch(s.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return zs.toString(r,!0);case"utf16":case"utf16be":return zs.toString(r);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromString(e,s="utf8"){if(!e)return new ArrayBuffer(0);switch(s.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return zs.fromString(e,!0);case"utf16":case"utf16be":return zs.fromString(e);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToBase64(e){let s=mn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(s,"binary");return btoa(r)}else return A.from(s).toString("base64")}static FromBase64(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64(s))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(s)):new Uint8Array(A.from(s,"base64")).buffer}static FromBase64Url(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64Url(s))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(s.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.FromBinary(e);case"utf8":return uy.fromString(e);case"utf16":case"utf16be":return zs.fromString(e);case"utf16le":case"usc2":return zs.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.ToBinary(e);case"utf8":return uy.toString(e);case"utf16":case"utf16be":return zs.toString(e);case"utf16le":case"usc2":return zs.toString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromBinary(e){let s=e.length,r=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let s=mn.toUint8Array(e),r="";for(let n=0;n<s.length;n++)r+=String.fromCharCode(s[n]);return r}static ToHex(e){let s=mn.toUint8Array(e),r="",n=s.length;for(let i=0;i<n;i++){let a=s[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isHex(s))throw new TypeError("Argument 'hexString' is not HEX encoded");s.length%2&&(s=`0${s}`);let r=new Uint8Array(s.length/2);for(let n=0;n<s.length;n=n+2){let i=s.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,s=!1){return zs.toString(e,s)}static FromUtf16String(e,s=!1){return zs.fromString(e,s)}static Base64Padding(e){let s=4-e.length%4;if(s<4)for(let r=0;r<s;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};ly.DEFAULT_UTF8_ENCODING="utf8";function SU(t,...e){let s=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)s[i]=n[i];}return s}function vU(...t){let e=t.map(n=>n.byteLength).reduce((n,i)=>n+i),s=new Uint8Array(e),r=0;return t.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)s[r++]=i;}),s.buffer}function EU(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<t.byteLength;n++)if(s[n]!==r[n])return !1;return !0}Eu.BufferSourceConverter=mn;Eu.Convert=ly;Eu.assign=SU;Eu.combine=vU;Eu.isEqual=EU;});d();h();d();h();d();h();d();h();d();h();var tp=(s=>(s.ZKEVM="zkevm",s.ARBITRUM_ONE="arbitrum_one",s))(tp||{}),b5=(e=>(e.ACCOUNTS_REQUESTED="accountsRequested",e))(b5||{}),S5=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(S5||{}),oP=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(oP||{});d();h();var P5={};Ne(P5,{coerceNonceSpace:()=>k5,digestOfTransactionsAndNonce:()=>T5,encodeMessageSubDigest:()=>ip,encodeNonce:()=>B5,encodedTransactions:()=>Ub,getEip155ChainId:()=>ws,getNonce:()=>Cf,getNormalisedTransactions:()=>np,packSignatures:()=>op,signAndPackTypedData:()=>_b,signERC191Message:()=>Hb,signMetaTransactions:()=>ap});d();h();d();h();var Lb={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var x5=t=>{let e=toBytes(t),s=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:s,signers:r}},Db=t=>{let{signers:e,threshold:s}=t,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[s,...r])};var I5=1,pP=1,gP=2,C5="02",yP="",N5=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),np=t=>t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),T5=(t,e)=>{let s=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...N5],[t,s]);return keccak256(r)},Ub=t=>{let e=t.map(s=>({delegateCall:s.delegateCall,revertOnError:s.revertOnError,gasLimit:s.gasLimit,target:s.target,value:s.value,data:s.data}));return encodeAbiParameters(N5,[e])},k5=t=>t||0n,B5=(t,e)=>{let s=BigInt(t)*2n**96n;return BigInt(e)+s},Cf=async(t,e,s)=>{try{let r=getContract({address:e,abi:Lb.mainModule.abi,client:t}),n=k5(s),i=await r.read.readNonce([n]);if(typeof i=="bigint")return B5(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},ip=(t,e,s)=>encodePacked(["string","uint256","address","bytes32"],[yP,t,e,s]),ap=async(t,e,s,r,n)=>{let i=np(t),a=T5(e,i),o=ip(s,r,a),c=keccak256(o),u=toBytes(c),p=`${await n.signMessage(u)}${C5}`,w=Db({version:1,threshold:pP,signers:[{isDynamic:!1,unrecovered:!0,weight:I5,signature:p}]}),E=i.map(S=>({delegateCall:S.delegateCall,revertOnError:S.revertOnError,gasLimit:S.gasLimit,target:S.target,value:S.value,data:S.data}));return encodeFunctionData({abi:Lb.mainModule.abi,functionName:"execute",args:[E,e,w]})},wP=t=>{let e=`0x0000${t}`;return x5(e)},op=(t,e,s)=>{let r=`${t}${C5}`,{signers:n}=wP(s),a=[...n,{isDynamic:!1,unrecovered:!0,weight:I5,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return Db({version:1,threshold:gP,signers:a})},_b=async(t,e,s,r,n)=>{let i={...t.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:t.domain,types:o,primaryType:t.primaryType,message:t.message}),u=ip(s,r,c),l=keccak256(u),p=toBytes(l),w=await n.signMessage(p),E=await n.getAddress();return op(w,E,e)},Hb=async(t,e,s,r)=>{let n=hashMessage(e),i=ip(t,r,n),a=keccak256(i),o=toBytes(a);return s.signMessage(o)},ws=t=>`eip155:${t}`;var Nf=class t{config;rpcProvider;auth;constructor({config:e,rpcProvider:s,auth:r}){this.config=e,this.rpcProvider=s,this.auth=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async postToRelayer(e){let s={id:1,jsonrpc:"2.0",...e},r=await this.auth.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(s)}),i=await n.text();if(!n.ok){let o=t.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=t.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,s){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let s={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(s);return r}async imGetFeeOptions(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();h();var Tf=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(Tf||{}),Qs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(Qs||{}),ye=class extends Error{message;code;constructor(e,s){super(s),this.message=s,this.code=e;}};d();h();d();h();d();h();function bP(t){return t.startsWith("0x")?t:`0x${t}`}function SP(t){return t.startsWith("0x")?t.slice(2):t}function jb(t,e){return t.padStart(e,"0")}function vP(t){let e=jb(t.r.toString(16),64),s=jb(t.s.toString(16),64),r=jb(t.recoveryParam?.toString(16)||"",2);return bP(e+s+r)}function EP(t){if(!t.trim())return;let e=parseInt(t,16);return e>=27?e-27:e}function xP(t,e=64){let s=SP(t);return {r:BigInt(`0x${s.substring(0,e)}`),s:BigInt(`0x${s.substring(e,e*2)}`),recoveryParam:EP(s.substring(e*2,e*2+2))}}async function O5(t,e){let s=await e.signMessage(t),r=xP(s);return vP(r)}var AP="Only sign this message from Immutable Passport";async function R5({auth:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=O5(AP,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),S=ws(Number(w)),I=E.data?.result?.find(C=>C.id===S)?.name;if(!I)throw new ye(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw new ye(-32603,`Failed to create counterfactual address: ${C}`)}}d();h();d();h();d();h();d();h();d();h();var kf="imx_passport_confirmation";d();h();var cp=({url:t,title:e,width:s,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-s)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(t,e,`
10
+ var _k=Object.create;var Ab=Object.defineProperty;var Hk=Object.getOwnPropertyDescriptor;var jk=Object.getOwnPropertyNames;var Mk=Object.getPrototypeOf,$k=Object.prototype.hasOwnProperty;var Xm=(t,e)=>()=>(t&&(e=t(t=0)),e);var Fk=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ne=(t,e)=>{for(var s in e)Ab(t,s,{get:e[s],enumerable:!0});},qk=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jk(e))!$k.call(t,n)&&n!==s&&Ab(t,n,{get:()=>e[n],enumerable:!(r=Hk(e,n))||r.enumerable});return t};var Ib=(t,e,s)=>(s=t!=null?_k(Mk(t)):{},qk(!t||!t.__esModule?Ab(s,"default",{value:t,enumerable:!0}):s,t));function kb(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Gk(){!Vc||!Ea||(Vc=!1,Ea.length?Fr=Ea.concat(Fr):Qm=-1,Fr.length&&f5());}function f5(){if(!Vc){var t=setTimeout(Gk,0);Vc=!0;for(var e=Fr.length;e;){for(Ea=Fr,Fr=[];++Qm<e;)Ea&&Ea[Qm].run();Qm=-1,e=Fr.length;}Ea=null,Vc=!1,clearTimeout(t);}}function Kk(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var s=1;s<arguments.length;s++)e[s-1]=arguments[s];Fr.push(new h5(t,e)),Fr.length===1&&!Vc&&setTimeout(f5,0);}function h5(t,e){this.fun=t,this.array=e;}function os(){}function uB(t){kb("_linkedBinding");}function dB(t){kb("dlopen");}function mB(){return []}function pB(){return []}function AB(t,e){if(!t)throw new Error(e||"assertion error")}function TB(){return !1}function GB(){return Wn.now()/1e3}function Tb(t){var e=Math.floor((Date.now()-Wn.now())*.001),s=Wn.now()*.001,r=Math.floor(s)+e,n=Math.floor(s%1*1e9);return t&&(r=r-t[0],n=n-t[1],n<0&&(r--,n+=Nb)),[r,n]}function Jn(){return x}function rP(t){return []}var Fr,Vc,Ea,Qm,Wk,Jk,zk,Yk,Zk,Xk,Qk,eB,tB,sB,rB,nB,iB,aB,oB,cB,lB,fB,hB,gB,yB,Bb,wB,bB,SB,vB,EB,xB,IB,CB,NB,kB,BB,PB,OB,RB,LB,DB,VB,UB,_B,HB,jB,MB,$B,FB,qB,Wn,Cb,Nb,KB,WB,JB,zB,YB,ZB,XB,QB,eP,tP,sP,x,d5=Xm(()=>{d();h();Fr=[],Vc=!1,Qm=-1;h5.prototype.run=function(){this.fun.apply(null,this.array);};Wk="browser",Jk="x64",zk="browser",Yk={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Zk=["/usr/bin/node"],Xk=[],Qk="v16.8.0",eB={},tB=function(t,e){console.warn((e?e+": ":"")+t);},sB=function(t){kb("binding");},rB=function(t){return 0},nB=function(){return "/"},iB=function(t){},aB={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};oB=os,cB=[];lB={},fB=!1,hB={};gB=os,yB=os,Bb=function(){return {}},wB=Bb,bB=Bb,SB=os,vB=os,EB=os,xB={};IB={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},CB=os,NB=os;kB=os,BB=os,PB=os,OB=os,RB=os,LB=void 0,DB=void 0,VB=void 0,UB=os,_B=2,HB=1,jB="/bin/usr/node",MB=9229,$B="node",FB=[],qB=os,Wn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Wn.now===void 0&&(Cb=Date.now(),Wn.timing&&Wn.timing.navigationStart&&(Cb=Wn.timing.navigationStart),Wn.now=()=>Date.now()-Cb);Nb=1e9;Tb.bigint=function(t){var e=Tb(t);return typeof BigInt>"u"?e[0]*Nb+e[1]:BigInt(e[0]*Nb)+BigInt(e[1])};KB=10,WB={},JB=0;zB=Jn,YB=Jn,ZB=Jn,XB=Jn,QB=Jn,eP=os,tP=Jn,sP=Jn;x={version:Qk,versions:eB,arch:Jk,platform:zk,release:aB,_rawDebug:oB,moduleLoadList:cB,binding:sB,_linkedBinding:uB,_events:WB,_eventsCount:JB,_maxListeners:KB,on:Jn,addListener:zB,once:YB,off:ZB,removeListener:XB,removeAllListeners:QB,emit:eP,prependListener:tP,prependOnceListener:sP,listeners:rP,domain:lB,_exiting:fB,config:hB,dlopen:dB,uptime:GB,_getActiveRequests:mB,_getActiveHandles:pB,reallyExit:gB,_kill:yB,cpuUsage:Bb,resourceUsage:wB,memoryUsage:bB,kill:SB,exit:vB,openStdin:EB,allowedNodeEnvironmentFlags:xB,assert:AB,features:IB,_fatalExceptions:CB,setUncaughtExceptionCaptureCallback:NB,hasUncaughtExceptionCaptureCallback:TB,emitWarning:tB,nextTick:Kk,_tickCallback:kB,_debugProcess:BB,_debugEnd:PB,_startProfilerIdleNotifier:OB,_stopProfilerIdleNotifier:RB,stdout:LB,stdin:VB,stderr:DB,abort:UB,umask:rB,chdir:iB,cwd:nB,env:Yk,title:Wk,argv:Zk,execArgv:Xk,pid:_B,ppid:HB,execPath:jB,debugPort:MB,hrtime:Tb,argv0:$B,_preload_modules:FB,setSourceMapsEnabled:qB};});var h=Xm(()=>{d5();});function nP(){if(m5)return Af;m5=!0,Af.byteLength=o,Af.toByteArray=u,Af.fromByteArray=w;for(var t=[],e=[],s=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)t[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var v=E.length;if(v%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=E.indexOf("=");I===-1&&(I=v);var C=I===v?0:4-I%4;return [I,C]}function o(E){var v=a(E),I=v[0],C=v[1];return (I+C)*3/4-C}function c(E,v,I){return (v+I)*3/4-I}function u(E){var v,I=a(E),C=I[0],D=I[1],V=new s(c(E,C,D)),B=0,k=D>0?C-4:C,O;for(O=0;O<k;O+=4)v=e[E.charCodeAt(O)]<<18|e[E.charCodeAt(O+1)]<<12|e[E.charCodeAt(O+2)]<<6|e[E.charCodeAt(O+3)],V[B++]=v>>16&255,V[B++]=v>>8&255,V[B++]=v&255;return D===2&&(v=e[E.charCodeAt(O)]<<2|e[E.charCodeAt(O+1)]>>4,V[B++]=v&255),D===1&&(v=e[E.charCodeAt(O)]<<10|e[E.charCodeAt(O+1)]<<4|e[E.charCodeAt(O+2)]>>2,V[B++]=v>>8&255,V[B++]=v&255),V}function l(E){return t[E>>18&63]+t[E>>12&63]+t[E>>6&63]+t[E&63]}function p(E,v,I){for(var C,D=[],V=v;V<I;V+=3)C=(E[V]<<16&16711680)+(E[V+1]<<8&65280)+(E[V+2]&255),D.push(l(C));return D.join("")}function w(E){for(var v,I=E.length,C=I%3,D=[],V=16383,B=0,k=I-C;B<k;B+=V)D.push(p(E,B,B+V>k?k:B+V));return C===1?(v=E[I-1],D.push(t[v>>2]+t[v<<4&63]+"==")):C===2&&(v=(E[I-2]<<8)+E[I-1],D.push(t[v>>10]+t[v>>4&63]+t[v<<2&63]+"=")),D.join("")}return Af}function iP(){if(p5)return ep;p5=!0;return ep.read=function(t,e,s,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,p=s?n-1:0,w=s?-1:1,E=t[e+p];for(p+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+t[e+p],p+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+t[e+p],p+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},ep.write=function(t,e,s,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,p=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,v=r?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?e+=w/c:e+=w*Math.pow(2,1-p),e*c>=2&&(a++,c/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(e*c-1)*Math.pow(2,n),a=a+p):(o=e*Math.pow(2,p-1)*Math.pow(2,n),a=0));n>=8;t[s+E]=o&255,E+=v,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;t[s+E]=a&255,E+=v,a/=256,u-=8);t[s+E-v]|=I*128;},ep}function aP(){if(g5)return xa;g5=!0;let t=nP(),e=iP(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;xa.Buffer=a,xa.SlowBuffer=D,xa.INSPECT_MAX_BYTES=50;let r=2147483647;xa.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let S=new Uint8Array(1),m={foo:function(){return 42}};return Object.setPrototypeOf(m,Uint8Array.prototype),Object.setPrototypeOf(S,m),S.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(S){if(S>r)throw new RangeError('The value "'+S+'" is invalid for option "size"');let m=new Uint8Array(S);return Object.setPrototypeOf(m,a.prototype),m}function a(S,m,g){if(typeof S=="number"){if(typeof m=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(S)}return o(S,m,g)}a.poolSize=8192;function o(S,m,g){if(typeof S=="string")return p(S,m);if(ArrayBuffer.isView(S))return E(S);if(S==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S);if(Ar(S,ArrayBuffer)||S&&Ar(S.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ar(S,SharedArrayBuffer)||S&&Ar(S.buffer,SharedArrayBuffer)))return v(S,m,g);if(typeof S=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=S.valueOf&&S.valueOf();if(N!=null&&N!==S)return a.from(N,m,g);let R=I(S);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof S[Symbol.toPrimitive]=="function")return a.from(S[Symbol.toPrimitive]("string"),m,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S)}a.from=function(S,m,g){return o(S,m,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(S){if(typeof S!="number")throw new TypeError('"size" argument must be of type number');if(S<0)throw new RangeError('The value "'+S+'" is invalid for option "size"')}function u(S,m,g){return c(S),S<=0?i(S):m!==void 0?typeof g=="string"?i(S).fill(m,g):i(S).fill(m):i(S)}a.alloc=function(S,m,g){return u(S,m,g)};function l(S){return c(S),i(S<0?0:C(S)|0)}a.allocUnsafe=function(S){return l(S)},a.allocUnsafeSlow=function(S){return l(S)};function p(S,m){if((typeof m!="string"||m==="")&&(m="utf8"),!a.isEncoding(m))throw new TypeError("Unknown encoding: "+m);let g=V(S,m)|0,N=i(g),R=N.write(S,m);return R!==g&&(N=N.slice(0,R)),N}function w(S){let m=S.length<0?0:C(S.length)|0,g=i(m);for(let N=0;N<m;N+=1)g[N]=S[N]&255;return g}function E(S){if(Ar(S,Uint8Array)){let m=new Uint8Array(S);return v(m.buffer,m.byteOffset,m.byteLength)}return w(S)}function v(S,m,g){if(m<0||S.byteLength<m)throw new RangeError('"offset" is outside of buffer bounds');if(S.byteLength<m+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return m===void 0&&g===void 0?N=new Uint8Array(S):g===void 0?N=new Uint8Array(S,m):N=new Uint8Array(S,m,g),Object.setPrototypeOf(N,a.prototype),N}function I(S){if(a.isBuffer(S)){let m=C(S.length)|0,g=i(m);return g.length===0||S.copy(g,0,0,m),g}if(S.length!==void 0)return typeof S.length!="number"||xb(S.length)?i(0):w(S);if(S.type==="Buffer"&&Array.isArray(S.data))return w(S.data)}function C(S){if(S>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return S|0}function D(S){return +S!=S&&(S=0),a.alloc(+S)}a.isBuffer=function(m){return m!=null&&m._isBuffer===!0&&m!==a.prototype},a.compare=function(m,g){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),Ar(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(m)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(m===g)return 0;let N=m.length,R=g.length;for(let H=0,q=Math.min(N,R);H<q;++H)if(m[H]!==g[H]){N=m[H],R=g[H];break}return N<R?-1:R<N?1:0},a.isEncoding=function(m){switch(String(m).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(m,g){if(!Array.isArray(m))throw new TypeError('"list" argument must be an Array of Buffers');if(m.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<m.length;++N)g+=m[N].length;let R=a.allocUnsafe(g),H=0;for(N=0;N<m.length;++N){let q=m[N];if(Ar(q,Uint8Array))H+q.length>R.length?(a.isBuffer(q)||(q=a.from(q)),q.copy(R,H)):Uint8Array.prototype.set.call(R,q,H);else if(a.isBuffer(q))q.copy(R,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=q.length;}return R};function V(S,m){if(a.isBuffer(S))return S.length;if(ArrayBuffer.isView(S)||Ar(S,ArrayBuffer))return S.byteLength;if(typeof S!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof S);let g=S.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let R=!1;for(;;)switch(m){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Dc(S).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return l5(S).length;default:if(R)return N?-1:Dc(S).length;m=(""+m).toLowerCase(),R=!0;}}a.byteLength=V;function B(S,m,g){let N=!1;if((m===void 0||m<0)&&(m=0),m>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,m>>>=0,g<=m))return "";for(S||(S="utf8");;)switch(S){case"hex":return Ee(this,m,g);case"utf8":case"utf-8":return ye(this,m,g);case"ascii":return X(this,m,g);case"latin1":case"binary":return ue(this,m,g);case"base64":return ce(this,m,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,m,g);default:if(N)throw new TypeError("Unknown encoding: "+S);S=(S+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function k(S,m,g){let N=S[m];S[m]=S[g],S[g]=N;}a.prototype.swap16=function(){let m=this.length;if(m%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<m;g+=2)k(this,g,g+1);return this},a.prototype.swap32=function(){let m=this.length;if(m%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<m;g+=4)k(this,g,g+3),k(this,g+1,g+2);return this},a.prototype.swap64=function(){let m=this.length;if(m%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<m;g+=8)k(this,g,g+7),k(this,g+1,g+6),k(this,g+2,g+5),k(this,g+3,g+4);return this},a.prototype.toString=function(){let m=this.length;return m===0?"":arguments.length===0?ye(this,0,m):B.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(m){if(!a.isBuffer(m))throw new TypeError("Argument must be a Buffer");return this===m?!0:a.compare(this,m)===0},a.prototype.inspect=function(){let m="",g=xa.INSPECT_MAX_BYTES;return m=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(m+=" ... "),"<Buffer "+m+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(m,g,N,R,H){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),!a.isBuffer(m))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof m);if(g===void 0&&(g=0),N===void 0&&(N=m?m.length:0),R===void 0&&(R=0),H===void 0&&(H=this.length),g<0||N>m.length||R<0||H>this.length)throw new RangeError("out of range index");if(R>=H&&g>=N)return 0;if(R>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,R>>>=0,H>>>=0,this===m)return 0;let q=H-R,We=N-g,Ct=Math.min(q,We),vt=this.slice(R,H),Nt=m.slice(g,N);for(let ft=0;ft<Ct;++ft)if(vt[ft]!==Nt[ft]){q=vt[ft],We=Nt[ft];break}return q<We?-1:We<q?1:0};function O(S,m,g,N,R){if(S.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,xb(g)&&(g=R?0:S.length-1),g<0&&(g=S.length+g),g>=S.length){if(R)return -1;g=S.length-1;}else if(g<0)if(R)g=0;else return -1;if(typeof m=="string"&&(m=a.from(m,N)),a.isBuffer(m))return m.length===0?-1:K(S,m,g,N,R);if(typeof m=="number")return m=m&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(S,m,g):Uint8Array.prototype.lastIndexOf.call(S,m,g):K(S,[m],g,N,R);throw new TypeError("val must be string, number or Buffer")}function K(S,m,g,N,R){let H=1,q=S.length,We=m.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(S.length<2||m.length<2)return -1;H=2,q/=2,We/=2,g/=2;}function Ct(Nt,ft){return H===1?Nt[ft]:Nt.readUInt16BE(ft*H)}let vt;if(R){let Nt=-1;for(vt=g;vt<q;vt++)if(Ct(S,vt)===Ct(m,Nt===-1?0:vt-Nt)){if(Nt===-1&&(Nt=vt),vt-Nt+1===We)return Nt*H}else Nt!==-1&&(vt-=vt-Nt),Nt=-1;}else for(g+We>q&&(g=q-We),vt=g;vt>=0;vt--){let Nt=!0;for(let ft=0;ft<We;ft++)if(Ct(S,vt+ft)!==Ct(m,ft)){Nt=!1;break}if(Nt)return vt}return -1}a.prototype.includes=function(m,g,N){return this.indexOf(m,g,N)!==-1},a.prototype.indexOf=function(m,g,N){return O(this,m,g,N,!0)},a.prototype.lastIndexOf=function(m,g,N){return O(this,m,g,N,!1)};function re(S,m,g,N){g=Number(g)||0;let R=S.length-g;N?(N=Number(N),N>R&&(N=R)):N=R;let H=m.length;N>H/2&&(N=H/2);let q;for(q=0;q<N;++q){let We=parseInt(m.substr(q*2,2),16);if(xb(We))return q;S[g+q]=We;}return q}function Q(S,m,g,N){return Zm(Dc(m,S.length-g),S,g,N)}function oe(S,m,g,N){return Zm(Lk(m),S,g,N)}function pe(S,m,g,N){return Zm(l5(m),S,g,N)}function se(S,m,g,N){return Zm(Dk(m,S.length-g),S,g,N)}a.prototype.write=function(m,g,N,R){if(g===void 0)R="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")R=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,R===void 0&&(R="utf8")):(R=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),m.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let q=!1;for(;;)switch(R){case"hex":return re(this,m,g,N);case"utf8":case"utf-8":return Q(this,m,g,N);case"ascii":case"latin1":case"binary":return oe(this,m,g,N);case"base64":return pe(this,m,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return se(this,m,g,N);default:if(q)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),q=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ce(S,m,g){return m===0&&g===S.length?t.fromByteArray(S):t.fromByteArray(S.slice(m,g))}function ye(S,m,g){g=Math.min(S.length,g);let N=[],R=m;for(;R<g;){let H=S[R],q=null,We=H>239?4:H>223?3:H>191?2:1;if(R+We<=g){let Ct,vt,Nt,ft;switch(We){case 1:H<128&&(q=H);break;case 2:Ct=S[R+1],(Ct&192)===128&&(ft=(H&31)<<6|Ct&63,ft>127&&(q=ft));break;case 3:Ct=S[R+1],vt=S[R+2],(Ct&192)===128&&(vt&192)===128&&(ft=(H&15)<<12|(Ct&63)<<6|vt&63,ft>2047&&(ft<55296||ft>57343)&&(q=ft));break;case 4:Ct=S[R+1],vt=S[R+2],Nt=S[R+3],(Ct&192)===128&&(vt&192)===128&&(Nt&192)===128&&(ft=(H&15)<<18|(Ct&63)<<12|(vt&63)<<6|Nt&63,ft>65535&&ft<1114112&&(q=ft));}}q===null?(q=65533,We=1):q>65535&&(q-=65536,N.push(q>>>10&1023|55296),q=56320|q&1023),N.push(q),R+=We;}return J(N)}let Ge=4096;function J(S){let m=S.length;if(m<=Ge)return String.fromCharCode.apply(String,S);let g="",N=0;for(;N<m;)g+=String.fromCharCode.apply(String,S.slice(N,N+=Ge));return g}function X(S,m,g){let N="";g=Math.min(S.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(S[R]&127);return N}function ue(S,m,g){let N="";g=Math.min(S.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(S[R]);return N}function Ee(S,m,g){let N=S.length;(!m||m<0)&&(m=0),(!g||g<0||g>N)&&(g=N);let R="";for(let H=m;H<g;++H)R+=Vk[S[H]];return R}function fe(S,m,g){let N=S.slice(m,g),R="";for(let H=0;H<N.length-1;H+=2)R+=String.fromCharCode(N[H]+N[H+1]*256);return R}a.prototype.slice=function(m,g){let N=this.length;m=~~m,g=g===void 0?N:~~g,m<0?(m+=N,m<0&&(m=0)):m>N&&(m=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<m&&(g=m);let R=this.subarray(m,g);return Object.setPrototypeOf(R,a.prototype),R};function $(S,m,g){if(S%1!==0||S<0)throw new RangeError("offset is not uint");if(S+m>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,q=0;for(;++q<g&&(H*=256);)R+=this[m+q]*H;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m+--g],H=1;for(;g>0&&(H*=256);)R+=this[m+--g]*H;return R},a.prototype.readUint8=a.prototype.readUInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]|this[m+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]<<8|this[m+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),(this[m]|this[m+1]<<8|this[m+2]<<16)+this[m+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]*16777216+(this[m+1]<<16|this[m+2]<<8|this[m+3])},a.prototype.readBigUInt64LE=Kn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&qe(m,this.length-8);let R=g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24,H=this[++m]+this[++m]*2**8+this[++m]*2**16+N*2**24;return BigInt(R)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=Kn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&qe(m,this.length-8);let R=g*2**24+this[++m]*2**16+this[++m]*2**8+this[++m],H=this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N;return (BigInt(R)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,q=0;for(;++q<g&&(H*=256);)R+=this[m+q]*H;return H*=128,R>=H&&(R-=Math.pow(2,8*g)),R},a.prototype.readIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=g,H=1,q=this[m+--R];for(;R>0&&(H*=256);)q+=this[m+--R]*H;return H*=128,q>=H&&(q-=Math.pow(2,8*g)),q},a.prototype.readInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]&128?(255-this[m]+1)*-1:this[m]},a.prototype.readInt16LE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m]|this[m+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m+1]|this[m]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]|this[m+1]<<8|this[m+2]<<16|this[m+3]<<24},a.prototype.readInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]<<24|this[m+1]<<16|this[m+2]<<8|this[m+3]},a.prototype.readBigInt64LE=Kn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&qe(m,this.length-8);let R=this[m+4]+this[m+5]*2**8+this[m+6]*2**16+(N<<24);return (BigInt(R)<<BigInt(32))+BigInt(g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24)}),a.prototype.readBigInt64BE=Kn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&qe(m,this.length-8);let R=(g<<24)+this[++m]*2**16+this[++m]*2**8+this[++m];return (BigInt(R)<<BigInt(32))+BigInt(this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N)}),a.prototype.readFloatLE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!0,23,4)},a.prototype.readFloatBE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!1,23,4)},a.prototype.readDoubleLE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!0,52,8)},a.prototype.readDoubleBE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!1,52,8)};function te(S,m,g,N,R,H){if(!a.isBuffer(S))throw new TypeError('"buffer" argument must be a Buffer instance');if(m>R||m<H)throw new RangeError('"value" argument is out of bounds');if(g+N>S.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=1,q=0;for(this[g]=m&255;++q<N&&(H*=256);)this[g+q]=m/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=N-1,q=1;for(this[g+H]=m&255;--H>=0&&(q*=256);)this[g+H]=m/q&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,255,0),this[g]=m&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g+3]=m>>>24,this[g+2]=m>>>16,this[g+1]=m>>>8,this[g]=m&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4};function ie(S,m,g,N,R){ys(m,N,R,S,g,7);let H=Number(m&BigInt(4294967295));S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H;let q=Number(m>>BigInt(32)&BigInt(4294967295));return S[g++]=q,q=q>>8,S[g++]=q,q=q>>8,S[g++]=q,q=q>>8,S[g++]=q,g}function xe(S,m,g,N,R){ys(m,N,R,S,g,7);let H=Number(m&BigInt(4294967295));S[g+7]=H,H=H>>8,S[g+6]=H,H=H>>8,S[g+5]=H,H=H>>8,S[g+4]=H;let q=Number(m>>BigInt(32)&BigInt(4294967295));return S[g+3]=q,q=q>>8,S[g+2]=q,q=q>>8,S[g+1]=q,q=q>>8,S[g]=q,g+8}a.prototype.writeBigUInt64LE=Kn(function(m,g=0){return ie(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Kn(function(m,g=0){return xe(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=0,q=1,We=0;for(this[g]=m&255;++H<N&&(q*=256);)m<0&&We===0&&this[g+H-1]!==0&&(We=1),this[g+H]=(m/q>>0)-We&255;return g+N},a.prototype.writeIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=N-1,q=1,We=0;for(this[g+H]=m&255;--H>=0&&(q*=256);)m<0&&We===0&&this[g+H+1]!==0&&(We=1),this[g+H]=(m/q>>0)-We&255;return g+N},a.prototype.writeInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,127,-128),m<0&&(m=255+m+1),this[g]=m&255,g+1},a.prototype.writeInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),this[g]=m&255,this[g+1]=m>>>8,this[g+2]=m>>>16,this[g+3]=m>>>24,g+4},a.prototype.writeInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),m<0&&(m=4294967295+m+1),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4},a.prototype.writeBigInt64LE=Kn(function(m,g=0){return ie(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Kn(function(m,g=0){return xe(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Re(S,m,g,N,R,H){if(g+N>S.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function ze(S,m,g,N,R){return m=+m,g=g>>>0,R||Re(S,m,g,4),e.write(S,m,g,N,23,4),g+4}a.prototype.writeFloatLE=function(m,g,N){return ze(this,m,g,!0,N)},a.prototype.writeFloatBE=function(m,g,N){return ze(this,m,g,!1,N)};function Ut(S,m,g,N,R){return m=+m,g=g>>>0,R||Re(S,m,g,8),e.write(S,m,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(m,g,N){return Ut(this,m,g,!0,N)},a.prototype.writeDoubleBE=function(m,g,N){return Ut(this,m,g,!1,N)},a.prototype.copy=function(m,g,N,R){if(!a.isBuffer(m))throw new TypeError("argument should be a Buffer");if(N||(N=0),!R&&R!==0&&(R=this.length),g>=m.length&&(g=m.length),g||(g=0),R>0&&R<N&&(R=N),R===N||m.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),m.length-g<R-N&&(R=m.length-g+N);let H=R-N;return this===m&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,R):Uint8Array.prototype.set.call(m,this.subarray(N,R),g),H},a.prototype.fill=function(m,g,N,R){if(typeof m=="string"){if(typeof g=="string"?(R=g,g=0,N=this.length):typeof N=="string"&&(R=N,N=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(m.length===1){let q=m.charCodeAt(0);(R==="utf8"&&q<128||R==="latin1")&&(m=q);}}else typeof m=="number"?m=m&255:typeof m=="boolean"&&(m=Number(m));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,m||(m=0);let H;if(typeof m=="number")for(H=g;H<N;++H)this[H]=m;else {let q=a.isBuffer(m)?m:a.from(m,R),We=q.length;if(We===0)throw new TypeError('The value "'+m+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=q[H%We];}return this};let Ke={};function je(S,m,g){Ke[S]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:m.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${S}]`,this.stack,delete this.name;}get code(){return S}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0});}toString(){return `${this.name} [${S}]: ${this.message}`}};}je("ERR_BUFFER_OUT_OF_BOUNDS",function(S){return S?`${S} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),je("ERR_INVALID_ARG_TYPE",function(S,m){return `The "${S}" argument must be of type number. Received type ${typeof m}`},TypeError),je("ERR_OUT_OF_RANGE",function(S,m,g){let N=`The value of "${S}" is out of range.`,R=g;return Number.isInteger(g)&&Math.abs(g)>2**32?R=de(String(g)):typeof g=="bigint"&&(R=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(R=de(R)),R+="n"),N+=` It must be ${m}. Received ${R}`,N},RangeError);function de(S){let m="",g=S.length,N=S[0]==="-"?1:0;for(;g>=N+4;g-=3)m=`_${S.slice(g-3,g)}${m}`;return `${S.slice(0,g)}${m}`}function as(S,m,g){Bt(m,"offset"),(S[m]===void 0||S[m+g]===void 0)&&qe(m,S.length-(g+1));}function ys(S,m,g,N,R,H){if(S>g||S<m){let q=typeof m=="bigint"?"n":"",We;throw m===0||m===BigInt(0)?We=`>= 0${q} and < 2${q} ** ${(H+1)*8}${q}`:We=`>= -(2${q} ** ${(H+1)*8-1}${q}) and < 2 ** ${(H+1)*8-1}${q}`,new Ke.ERR_OUT_OF_RANGE("value",We,S)}as(N,R,H);}function Bt(S,m){if(typeof S!="number")throw new Ke.ERR_INVALID_ARG_TYPE(m,"number",S)}function qe(S,m,g){throw Math.floor(S)!==S?(Bt(S,g),new Ke.ERR_OUT_OF_RANGE("offset","an integer",S)):m<0?new Ke.ERR_BUFFER_OUT_OF_BOUNDS:new Ke.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${m}`,S)}let va=/[^+/0-9A-Za-z-_]/g;function Gn(S){if(S=S.split("=")[0],S=S.trim().replace(va,""),S.length<2)return "";for(;S.length%4!==0;)S=S+"=";return S}function Dc(S,m){m=m||1/0;let g,N=S.length,R=null,H=[];for(let q=0;q<N;++q){if(g=S.charCodeAt(q),g>55295&&g<57344){if(!R){if(g>56319){(m-=3)>-1&&H.push(239,191,189);continue}else if(q+1===N){(m-=3)>-1&&H.push(239,191,189);continue}R=g;continue}if(g<56320){(m-=3)>-1&&H.push(239,191,189),R=g;continue}g=(R-55296<<10|g-56320)+65536;}else R&&(m-=3)>-1&&H.push(239,191,189);if(R=null,g<128){if((m-=1)<0)break;H.push(g);}else if(g<2048){if((m-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((m-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((m-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function Lk(S){let m=[];for(let g=0;g<S.length;++g)m.push(S.charCodeAt(g)&255);return m}function Dk(S,m){let g,N,R,H=[];for(let q=0;q<S.length&&!((m-=2)<0);++q)g=S.charCodeAt(q),N=g>>8,R=g%256,H.push(R),H.push(N);return H}function l5(S){return t.toByteArray(Gn(S))}function Zm(S,m,g,N){let R;for(R=0;R<N&&!(R+g>=m.length||R>=S.length);++R)m[R+g]=S[R];return R}function Ar(S,m){return S instanceof m||S!=null&&S.constructor!=null&&S.constructor.name!=null&&S.constructor.name===m.name}function xb(S){return S!==S}let Vk=function(){let S="0123456789abcdef",m=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let R=0;R<16;++R)m[N+R]=S[g]+S[R];}return m}();function Kn(S){return typeof BigInt>"u"?Uk:S}function Uk(){throw new Error("BigInt not supported")}return xa}var Af,m5,ep,p5,xa,g5,Aa,A,y5=Xm(()=>{d();h();Af={},m5=!1;ep={},p5=!1;xa={},g5=!1;Aa=aP();Aa.Buffer;Aa.SlowBuffer;Aa.INSPECT_MAX_BYTES;Aa.kMaxLength;A=Aa.Buffer,Aa.INSPECT_MAX_BYTES,Aa.kMaxLength;});var d=Xm(()=>{y5();});var ly=Fk(Eu=>{d();h();var wU="[object ArrayBuffer]",mn=class t{static isArrayBuffer(e){return Object.prototype.toString.call(e)===wU}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,s){if(e.constructor===s)return e;if(this.isArrayBuffer(e))return new s(e);if(this.isArrayBufferView(e))return new s(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,s){let r=t.toUint8Array(e),n=t.toUint8Array(s);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let s;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?s=e[0]:e[e.length-1]instanceof Function?s=e.slice(0,e.length-1):s=e;let r=0;for(let a of s)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of s){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},oA="string",bU=/^[0-9a-f\s]+$/i,SU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,vU=/^[a-zA-Z0-9-_]+$/,cy=class{static fromString(e){let s=unescape(encodeURIComponent(e)),r=new Uint8Array(s.length);for(let n=0;n<s.length;n++)r[n]=s.charCodeAt(n);return r.buffer}static toString(e){let s=mn.toUint8Array(e),r="";for(let i=0;i<s.length;i++)r+=String.fromCharCode(s[i]);return decodeURIComponent(escape(r))}},zs=class{static toString(e,s=!1){let r=mn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,s);i+=String.fromCharCode(o);}return i}static fromString(e,s=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),s);return r}},uy=class t{static isHex(e){return typeof e===oA&&bU.test(e)}static isBase64(e){return typeof e===oA&&SU.test(e)}static isBase64Url(e){return typeof e===oA&&vU.test(e)}static ToString(e,s="utf8"){let r=mn.toUint8Array(e);switch(s.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return zs.toString(r,!0);case"utf16":case"utf16be":return zs.toString(r);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromString(e,s="utf8"){if(!e)return new ArrayBuffer(0);switch(s.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return zs.fromString(e,!0);case"utf16":case"utf16be":return zs.fromString(e);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToBase64(e){let s=mn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(s,"binary");return btoa(r)}else return A.from(s).toString("base64")}static FromBase64(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64(s))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(s)):new Uint8Array(A.from(s,"base64")).buffer}static FromBase64Url(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64Url(s))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(s.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.FromBinary(e);case"utf8":return cy.fromString(e);case"utf16":case"utf16be":return zs.fromString(e);case"utf16le":case"usc2":return zs.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.ToBinary(e);case"utf8":return cy.toString(e);case"utf16":case"utf16be":return zs.toString(e);case"utf16le":case"usc2":return zs.toString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromBinary(e){let s=e.length,r=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let s=mn.toUint8Array(e),r="";for(let n=0;n<s.length;n++)r+=String.fromCharCode(s[n]);return r}static ToHex(e){let s=mn.toUint8Array(e),r="",n=s.length;for(let i=0;i<n;i++){let a=s[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isHex(s))throw new TypeError("Argument 'hexString' is not HEX encoded");s.length%2&&(s=`0${s}`);let r=new Uint8Array(s.length/2);for(let n=0;n<s.length;n=n+2){let i=s.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,s=!1){return zs.toString(e,s)}static FromUtf16String(e,s=!1){return zs.fromString(e,s)}static Base64Padding(e){let s=4-e.length%4;if(s<4)for(let r=0;r<s;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};uy.DEFAULT_UTF8_ENCODING="utf8";function EU(t,...e){let s=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)s[i]=n[i];}return s}function xU(...t){let e=t.map(n=>n.byteLength).reduce((n,i)=>n+i),s=new Uint8Array(e),r=0;return t.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)s[r++]=i;}),s.buffer}function AU(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<t.byteLength;n++)if(s[n]!==r[n])return !1;return !0}Eu.BufferSourceConverter=mn;Eu.Convert=uy;Eu.assign=EU;Eu.combine=xU;Eu.isEqual=AU;});d();h();d();h();d();h();d();h();d();h();var tp=(s=>(s.ZKEVM="zkevm",s.ARBITRUM_ONE="arbitrum_one",s))(tp||{}),w5=(s=>(s.ACCOUNTS_REQUESTED="accountsRequested",s.LOGGED_OUT="loggedOut",s))(w5||{}),b5=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(b5||{}),oP=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(oP||{});d();h();var B5={};Ne(B5,{coerceNonceSpace:()=>T5,digestOfTransactionsAndNonce:()=>N5,encodeMessageSubDigest:()=>ip,encodeNonce:()=>k5,encodedTransactions:()=>Db,getEip155ChainId:()=>ws,getNonce:()=>Cf,getNormalisedTransactions:()=>np,packSignatures:()=>op,signAndPackTypedData:()=>Vb,signERC191Message:()=>Ub,signMetaTransactions:()=>ap});d();h();d();h();var Ob={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var E5=t=>{let e=toBytes(t),s=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:s,signers:r}},Rb=t=>{let{signers:e,threshold:s}=t,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[s,...r])};var A5=1,pP=1,gP=2,I5="02",yP="",C5=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),np=t=>t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),N5=(t,e)=>{let s=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...C5],[t,s]);return keccak256(r)},Db=t=>{let e=t.map(s=>({delegateCall:s.delegateCall,revertOnError:s.revertOnError,gasLimit:s.gasLimit,target:s.target,value:s.value,data:s.data}));return encodeAbiParameters(C5,[e])},T5=t=>t||0n,k5=(t,e)=>{let s=BigInt(t)*2n**96n;return BigInt(e)+s},Cf=async(t,e,s)=>{try{let r=getContract({address:e,abi:Ob.mainModule.abi,client:t}),n=T5(s),i=await r.read.readNonce([n]);if(typeof i=="bigint")return k5(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},ip=(t,e,s)=>encodePacked(["string","uint256","address","bytes32"],[yP,t,e,s]),ap=async(t,e,s,r,n)=>{let i=np(t),a=N5(e,i),o=ip(s,r,a),c=keccak256(o),u=toBytes(c),p=`${await n.signMessage(u)}${I5}`,w=Rb({version:1,threshold:pP,signers:[{isDynamic:!1,unrecovered:!0,weight:A5,signature:p}]}),E=i.map(v=>({delegateCall:v.delegateCall,revertOnError:v.revertOnError,gasLimit:v.gasLimit,target:v.target,value:v.value,data:v.data}));return encodeFunctionData({abi:Ob.mainModule.abi,functionName:"execute",args:[E,e,w]})},wP=t=>{let e=`0x0000${t}`;return E5(e)},op=(t,e,s)=>{let r=`${t}${I5}`,{signers:n}=wP(s),a=[...n,{isDynamic:!1,unrecovered:!0,weight:A5,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return Rb({version:1,threshold:gP,signers:a})},Vb=async(t,e,s,r,n)=>{let i={...t.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:t.domain,types:o,primaryType:t.primaryType,message:t.message}),u=ip(s,r,c),l=keccak256(u),p=toBytes(l),w=await n.signMessage(p),E=await n.getAddress();return op(w,E,e)},Ub=async(t,e,s,r)=>{let n=hashMessage(e),i=ip(t,r,n),a=keccak256(i),o=toBytes(a);return s.signMessage(o)},ws=t=>`eip155:${t}`;var Nf=class t{config;rpcProvider;getUser;constructor({config:e,rpcProvider:s,getUser:r}){this.config=e,this.rpcProvider=s,this.getUser=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async getUserZkEvm(){let e=await this.getUser();if(!e||!isUserZkEvm(e))throw new Error("User not authenticated or missing zkEvm data");return e}async postToRelayer(e){let s={id:1,jsonrpc:"2.0",...e},r=await this.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(s)}),i=await n.text();if(!n.ok){let o=t.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=t.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,s){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let s={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(s);return r}async imGetFeeOptions(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();h();var Tf=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(Tf||{}),Qs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(Qs||{}),ge=class extends Error{message;code;constructor(e,s){super(s),this.message=s,this.code=e;}};d();h();d();h();d();h();function SP(t){return t.startsWith("0x")?t:`0x${t}`}function vP(t){return t.startsWith("0x")?t.slice(2):t}function _b(t,e){return t.padStart(e,"0")}function EP(t){let e=_b(t.r.toString(16),64),s=_b(t.s.toString(16),64),r=_b(t.recoveryParam?.toString(16)||"",2);return SP(e+s+r)}function xP(t){if(!t.trim())return;let e=parseInt(t,16);return e>=27?e-27:e}function AP(t,e=64){let s=vP(t);return {r:BigInt(`0x${s.substring(0,e)}`),s:BigInt(`0x${s.substring(e,e*2)}`),recoveryParam:xP(s.substring(e*2,e*2+2))}}async function P5(t,e){let s=await e.signMessage(t),r=AP(s);return EP(r)}var IP="Only sign this message from Immutable Passport";async function O5({getUser:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=P5(IP,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),v=ws(Number(w)),I=E.data?.result?.find(C=>C.id===v)?.name;if(!I)throw new ge(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t&&t().catch(()=>{}),C.data.counterfactual_address}catch(C){throw new ge(-32603,`Failed to create counterfactual address: ${C}`)}}d();h();d();h();d();h();d();h();d();h();var kf="imx_passport_confirmation";d();h();var cp=({url:t,title:e,width:s,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-s)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(t,e,`
11
11
  scrollbars=yes,
12
12
  width=${s},
13
13
  height=${r},
14
14
  top=${i},
15
15
  left=${n}
16
- `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();h();d();h();var Bf="passport-overlay",L5="passport-overlay-contents",up=`${Bf}-close`,lp=`${Bf}-try-again`,D5=`
16
+ `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();h();d();h();var Bf="passport-overlay",R5="passport-overlay-contents",up=`${Bf}-close`,lp=`${Bf}-try-again`,L5=`
17
17
  <svg
18
18
  viewBox="0 0 20 20"
19
19
  fill="none"
@@ -25,7 +25,7 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
25
25
  fill="#F3F3F3"
26
26
  />
27
27
  </svg>
28
- `,V5=`
28
+ `,D5=`
29
29
  <svg
30
30
  viewBox="0 0 17 16"
31
31
  fill="none"
@@ -39,7 +39,7 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
39
39
  fill="#E01A3D"
40
40
  />
41
41
  </svg>
42
- `,Mb=`
42
+ `,Hb=`
43
43
  <svg
44
44
  style="
45
45
  max-width: 123px !important;
@@ -222,7 +222,7 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
222
222
  </clipPath>
223
223
  </defs>
224
224
  </svg>
225
- `;d();h();var IP=()=>`
225
+ `;d();h();var CP=()=>`
226
226
  <button
227
227
  id="${up}"
228
228
  style="
@@ -240,9 +240,9 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
240
240
  justify-content: center !important;
241
241
  "
242
242
  >
243
- ${D5}
243
+ ${L5}
244
244
  </button>
245
- `,U5=()=>`
245
+ `,V5=()=>`
246
246
  <button
247
247
  id="${lp}"
248
248
  style="
@@ -259,8 +259,8 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
259
259
  >
260
260
  Try again
261
261
  </button>
262
- `,CP=()=>`
263
- ${Mb}
262
+ `,NP=()=>`
263
+ ${Hb}
264
264
  <div
265
265
  style="
266
266
  color: #e01a3d !important;
@@ -270,7 +270,7 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
270
270
  margin-bottom: 10px !important;
271
271
  "
272
272
  >
273
- ${V5}
273
+ ${D5}
274
274
  Pop-up blocked
275
275
  </div>
276
276
  <p style="
@@ -283,9 +283,9 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
283
283
  If the problem continues, adjust your<br />
284
284
  browser settings.
285
285
  </p>
286
- ${U5()}
287
- `,NP=()=>`
288
- ${Mb}
286
+ ${V5()}
287
+ `,TP=()=>`
288
+ ${Hb}
289
289
  <p style="
290
290
  color: #b6b6b6 !important;
291
291
  text-align: center !important;
@@ -294,8 +294,8 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
294
294
  >
295
295
  Secure pop-up not showing?<br />We'll help you re-launch
296
296
  </p>
297
- ${U5()}
298
- `,_5=t=>`
297
+ ${V5()}
298
+ `,U5=t=>`
299
299
  <div
300
300
  id="${Bf}"
301
301
  style="
@@ -320,9 +320,9 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
320
320
  z-index: 2147483647 !important;
321
321
  "
322
322
  >
323
- ${IP()}
323
+ ${CP()}
324
324
  <div
325
- id="${L5}"
325
+ id="${R5}"
326
326
  style="
327
327
  display: flex !important;
328
328
  flex-direction: column !important;
@@ -333,46 +333,46 @@ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDe
333
333
  ${t??""}
334
334
  </div>
335
335
  </div>
336
- `;function fp({id:t,href:e,rel:s,crossOrigin:r}){let n=`${Bf}-${t}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,s&&(i.rel=s),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var H5=()=>_5(CP()),j5=()=>_5(NP());var Uc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,s=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=s;}append(e,s){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(s));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){fp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),fp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),fp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let s=document.createElement("div");s.innerHTML=this.isBlockedOverlay?H5():j5(),document.body.insertAdjacentElement("beforeend",s),this.overlay=s;}}updateTryAgainButton(e){let s=document.getElementById(lp);s&&(this.tryAgainListener&&s.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,s.addEventListener("click",e));}updateCloseButton(e){let s=document.getElementById(up);s&&(this.onCloseListener&&s.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,s.addEventListener("click",e));}};d();h();d();h();var _c=(t=>(t.PRODUCTION="production",t.SANDBOX="sandbox",t))(_c||{}),TP=(t=>(t.API_KEY="x-immutable-api-key",t.PUBLISHABLE_KEY="x-immutable-publishable-key",t.RATE_LIMITING_KEY="x-api-key",t))(TP||{});d();h();d();h();var Pf=13371,Ia=13473,$b=42161,qb=421614,Fb=11155111,zn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Of={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:zn[13371].magicPublishableApiKey,magicProviderId:zn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Rf={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:zn[13473].magicPublishableApiKey,magicProviderId:zn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},hp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},M5={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},dp={chainId:11155111,name:"Ethereum Sepolia",rpcUrl:"https://rpc.sepolia.org",relayerUrl:"https://next-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},mp=[Rf,Of],kP={chains:[Of]},BP={chains:[Rf]},PP={chains:mp},OP={chains:[hp]},RP={chains:[M5]},LP={chains:[dp]};d();h();var $5={zkevm:{[_c.PRODUCTION]:Of,[_c.SANDBOX]:Rf},arbitrum_one:{[_c.PRODUCTION]:hp,[_c.SANDBOX]:dp}};function VP(){let t={};for(let[e,s]of Object.entries($5))for(let r of Object.values(s))t[r.chainId]=e;return t[15003]="zkevm",t}var UP=VP();function _P(t,e){let s=$5[t];if(!s)throw new Error(`Chain ${t} is not supported`);let r=s[e];if(!r)throw new Error(`Chain ${t} is not configured for environment ${e}`);return r}function Hc(t){let e=typeof t=="string"?parseInt(t.includes(":")?t.split(":")[1]:t,10):t;return UP[e]??"zkevm"}var Kb="Confirm this transaction",Gb=720,Wb=480,q5=1e3;var jc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,s){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(s){let n=s?Object.keys(s).map(i=>`${i}=${s[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==kf))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===F5.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:s,chainType:r});else {let l=(n?Hc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:s,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:p,origin:w})=>{if(!(w!==this.config.passportDomain||p.eventType!==kf))switch(p.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Hc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:s,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,s)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),s(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=cp({url:this.getHref("loading"),title:Kb,width:e?.width||Wb,height:e?.height||Gb}),this.overlay=new Uc(this.config.popupOverlayOptions||{});}catch(s){let r=s instanceof Error?s.message:String(s);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Uc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=cp({url:this.getHref("loading"),title:Kb,width:this.popupOptions?.width||Wb,height:this.popupOptions?.height||Gb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,s,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",s),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,q5),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,s){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=cp({url:e,title:Kb,width:this.popupOptions?.width||Wb,height:this.popupOptions?.height||Gb}),this.timer=setInterval(s,q5);}catch{}}};d();h();var Ca=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Ca||{}),ht=class extends Error{type;constructor(e,s){super(e),this.name="WalletError",this.type=s;}};d();h();var Na=t=>typeof t=="object"&&t!==null&&"isAxiosError"in t;var Jb="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",pp=t=>BigInt(t).toString(),MP=t=>{try{return t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?pp(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?pp(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let s=e instanceof Error?e.message:String(e);throw new ye(-32602,`Transaction failed to parsing: ${s}`)}},Mc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;auth;constructor({config:e,auth:s,guardianApi:r,authConfig:n}){this.confirmationScreen=new jc(n),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.auth=s;}withConfirmationScreen(e){return s=>this.withConfirmationScreenTask(e)(s)()}withConfirmationScreenTask(e){return s=>async()=>{this.confirmationScreen.loading(e);try{return await s()}catch(r){throw r instanceof ht&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}){let n=await this.auth.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=MP(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:s,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(Na(o)&&o.response?.status===403)throw new ht("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new ye(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:s,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(a&&o){let c=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,F5.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new ye(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:s}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new ye(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ye(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new ye(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:s}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new ye(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ws(Number(e)),payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ye(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new ye(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();h();var $P=t=>new Promise(e=>{setTimeout(()=>e(),t);}),gp=async(t,e)=>{let{retries:s=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await t()}catch{return s<=0?Promise.reject(n):(await $P(r),gp(t,{retries:s-1,finalErr:n,finallyFn:i}))}finally{s<=0&&i();}};var qP=30,FP=1e3,KP=async(t,e,s)=>{let r=np([t]),n=Ub(r),i=await s.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=s.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},GP=async(t,e,s,r,n)=>{if(!t.to)throw new ye(-32602,'eth_sendTransaction requires a "to" field');let i={to:t.to.toString(),data:t.data,nonce:BigInt(0),value:t.value,revertOnError:!0},[a,o]=await Promise.all([Cf(e,r,n),KP(i,r,s)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},yp=async(t,e,s)=>{let n=await gp(async()=>{let i=await t.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:qP,interval:FP,finalErr:new ye(-32e3,"transaction hash not generated in time")});if(s.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new ye(-32e3,i)}return n},wp=async({transactionRequest:t,ethSigner:e,rpcProvider:s,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await s.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let p=await GP(t,s,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=p[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ws(Number(u)),nonce:pp(w),metaTransactions:p,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},S=async()=>{let D=await ap(p,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,I]=await Promise.all([E(),S()]),C=await n.ethSendTransaction(i,I);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:I,relayerId:C,nonce:w}},WP=async t=>{if(!t.to)throw new ye(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof t.nonce>"u")throw new ye(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!t.chainId)throw new ye(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:t.to.toString(),data:t.data,nonce:t.nonce??void 0,value:t.value,revertOnError:!0}]},G5=async({transactionRequest:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{let n=await WP(t);r.addEvent("endBuildMetaTransactions");let i=await ap(n,t.nonce,BigInt(t.chainId??0),s,e);return r.addEvent("endGetSignedMetaTransactions"),{to:s,data:i,chainId:ws(Number(t.chainId??0))}};var zb=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=t[0],{relayerId:l}=await wp({transactionRequest:u,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:p}=await yp(r,l,a);return p};d();h();var W5=["types","domain","primaryType","message"],JP=t=>W5.every(e=>e in t),zP=(t,e)=>{let s;if(typeof t=="string")try{s=JSON.parse(t);}catch(n){throw new ye(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof t=="object")s=t;else throw new ye(-32602,`Invalid typed data argument: ${t}`);if(!JP(s))throw new ye(-32602,`Invalid typed data argument. The following properties are required: ${W5.join(", ")}`);let r=s.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),s.domain.chainId=n,BigInt(n)!==e)throw new ye(-32602,`Invalid chainId, expected ${e}`)}return s},J5=async({params:t,method:e,ethSigner:s,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=t[0],c=t[1];if(!o||!c)throw new ye(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=zP(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let p=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await _b(l,p,BigInt(u),o,s);return a.addEvent("getSignedTypedData"),w};d();h();d();h();var ZP=t=>{let e=0;for(;e<t.length&&t[e]===0;)e++;return t.slice(e)},XP=t=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(t);let e="";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return decodeURIComponent(escape(e))},z5=t=>{if(!t)return t;try{let e=toBytes(t),s=ZP(e);return XP(s)}catch{return t}};var bp=async({params:t,ethSigner:e,zkEvmAddress:s,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=t[0],c=t[1];if(!c||!o)throw new ye(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==s.toLowerCase())throw new ye(-32602,"personal_sign requires the signer to be the from address");let u=z5(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let p=BigInt(l),w=Hb(p,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:p,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,S]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let I=await e.getAddress();return a.addEvent("endGetEOAAddress"),op(E,I,S)};d();h();d();h();var QP="/v1/sdk/session-activity/check",Sp,Y5=t=>{Sp||(Sp=t);},eO=t=>{let e=new URL(QP,Sp);return Object.entries(t).forEach(([s,r])=>{r!=null&&e.searchParams.append(s,String(r));}),e.toString()};async function Z5(t){if(!Sp)throw new Error("Client not initialised");let e=await fetch(eO(t));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();h();function Q5(t,e){return (...s)=>{try{let r=t(...s);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:e3,setItem:Yb}=utils.localStorage,Zb="sessionActivitySendCount",t3="sessionActivityDate",Xb={},Yn={},vp={},s3=()=>{Yn=e3(Zb)||{};let t=e3(t3),e=new Date,s=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${s}-${r}-${n}`;(!t||t!==i)&&(Yn={}),Yb(t3,i),Yb(Zb,Yn);};s3();var aO=t=>{s3(),Yn[t]||(Yn[t]=0),Yn[t]++,Yb(Zb,Yn),Xb[t]=0;},oO=async t=>new Promise(e=>{setTimeout(e,t*1e3);}),cO=async t=>{let e=t.flow||trackFlow("passport","sendSessionActivity"),s=t.passportClient;if(!s)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(vp[s])return;vp[s]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=t;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");Y5(n);let i=t.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await Z5({clientId:s,wallet:i,checkCount:Xb[s]||0,sendCount:Yn[s]||0}),Xb[s]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await t.sendTransaction([{to:u,from:i,data:c}],e);aO(s),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let p=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",p,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await oO(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),vp[s]=!1,r3({...t,flow:e});},0));},r3=t=>Q5(cO)(t).then(()=>{vp[t.passportClient]=!1;}),n3=r3;d();h();var i3=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await wp({transactionRequest:o,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await bp({params:t,ethSigner:e,zkEvmAddress:i,rpcProvider:s,guardianClient:n,relayerClient:r,flow:a});return await yp(r,c,a),u})};d();h();var a3=async({params:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{if(!t||t.length!==1)throw new ye(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=t[0];return await G5({transactionRequest:n,ethSigner:e,zkEvmAddress:s,flow:r})};var Ep=t=>"zkEvm"in t,Vf=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;isPassport=!0;constructor({auth:e,config:s,multiRollupApiClients:r,passportEventEmitter:n,guardianClient:i,ethSigner:a,user:o,sessionActivityApiUrl:c}){this.#e=e,this.#s=s,this.#i=i,this.#a=n,this.#r=c,this.#o=a,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Nf({config:this.#s,rpcProvider:this.#n,auth:this.#e}),this.#u=r,this.#t=new TypedEventEmitter,o&&Ep(o)&&this.#f(o.zkEvm.ethAddress),n.on(AuthEvents.LOGGED_IN,u=>{Ep(u)&&this.#f(u.zkEvm.ethAddress);}),n.on(AuthEvents.LOGGED_OUT,this.#h),n.on("accountsRequested",n3);}#h=()=>{this.#t.emit("accountsChanged",[]);};async#f(e,s){if(!this.#r)return;let r=BigInt(1),n=async(i,a)=>await zb({params:i,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:a,nonceSpace:r,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:n,walletAddress:e,passportClient:s||await this.#e.getClientId()});}async#l(){try{let e=await this.#e.getUser();return e&&Ep(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#d(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#l();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;return Ep(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await R5({ethSigner:this.#o,auth:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#f(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await zb({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:s,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#l();return s?[s]:[]}case"personal_sign":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await Cf(this.#n,s)>BigInt(0))?await i3({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await bp({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await J5({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let s=await this.#n.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await a3({params:e.params||[],ethSigner:this.#o,zkEvmAddress:s,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let[s]=e.params||[],r=await this.#l();return r&&this.#f(r,s),null}default:throw new ye(4200,"Method not supported")}}async request(e){try{return this.#d(e)}catch(s){throw s instanceof ye?s:s instanceof Error?new ye(-32603,s.message):new ye(-32603,"Internal error")}}on(e,s){this.#t.on(e,s);}removeListener(e,s){this.#t.removeListener(e,s);}};d();h();d();h();d();h();var mO="Only sign this message from Immutable Passport";function pO(t){let e=t.startsWith("0x")?t.slice(2):t,s=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${s}${r}${o}`}async function Qb({auth:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(mO).then(pO);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),S=ws(Number(w)),I=E.data?.result?.find(C=>C.id===S)?.name;if(!I)throw new ye(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new ye(-32603,`Failed to create counterfactual address: ${C}`)}}function o3(t,e){return e in t&&!!t[e]?.ethAddress}function c3(t,e){return t[e]?.ethAddress}var Uf=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({auth:e,chainConfig:s,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Hc(s.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=s,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e.getUser();if(e&&o3(e,this.#u))return c3(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#c();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;if(o3(n,this.#u)?i=c3(n,this.#u):(r.addEvent("startUserRegistration"),i=await Qb({auth:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new ye(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#c();return s?[s]:[]}case"eth_sendTransaction":throw new ye(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new ye(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new ye(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let s=await this.#t.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new ye(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(s){throw s instanceof ye?s:s instanceof Error?new ye(-32603,s.message):new ye(-32603,"Internal error")}}on(e,s){this.#a.on(e,s);}removeListener(e,s){this.#a.removeListener(e,s);}};d();h();var _f=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();h();d();h();var eS=async(t,e,s=!0,r=!0)=>{let n=trackFlow("passport",e,s);try{return await t(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var l3="ETH",AO=t=>t.reduce((e,s)=>`${e}${s.toString(16).padStart(2,"0")}`,""),IO=t=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(t);let e=unescape(encodeURIComponent(t)),s=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)s[r]=e.charCodeAt(r);return s},CO=t=>{let e=IO(t),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,p=c>>6&63,w=c&63;r+=s[u]+s[l],r+=Number.isFinite(a)?s[p]:"=",r+=Number.isFinite(o)?s[w]:"=";}return r},$c=class t{auth;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,s){this.auth=e,this.magicTeeApiClient=s;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let s=await this.getUserOrThrow();if(s.profile.sub!==e.userIdentifier&&(e=await this.createWallet(s)),isUserZkEvm(s)&&s.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ht(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${s.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(s,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=t.getHeaders(n);await eS(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:l3},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},s(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return Na(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.auth.getUser();if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let s=e instanceof Uint8Array?`0x${AO(e)}`:e,r=await this.getUserOrThrow(),n=t.getHeaders(r);return eS(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:CO(s)},xMagicChain:l3},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw Na(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();h();var tS={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function sS(t){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(t)});window.dispatchEvent(e);let s=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",s);}d();h();d();h();d();h();var eo={};Ne(eo,{IdentitySigner:()=>S1,toIdentityAuthKey:()=>f2});d();h();d();h();var He={};Ne(He,{format:()=>MO,from:()=>$O});d();h();d();h();d();h();d();h();var f3="1.1.0";var Pt=class t extends Error{constructor(e,s={}){let r=s.cause instanceof t?s.cause.details:s.cause?.message?s.cause.message:s.details,n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=[e||"An error occurred.","",...s.metaMessages?[...s.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${f3}`].join(`
337
- `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),s.cause&&(this.cause=s.cause),this.details=r,this.docsPath=n,this.metaMessages=s.metaMessages,this.shortMessage=e;}};d();h();d();h();d();h();d();h();d();h();function Vs(t,e){return t.exec(e)?.groups}var rS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,nS=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,xp=/^\(.+?\).*?$/;var h3=/^tuple(?<array>(\[(\d*)\])*)$/;function Ap(t){let e=t.type;if(h3.test(t.type)&&"components"in t){e="(";let s=t.components.length;for(let n=0;n<s;n++){let i=t.components[n];e+=Ap(i),n<s-1&&(e+=", ");}let r=Vs(h3,t.type);return e+=`)${r?.array??""}`,Ap({...t,type:e})}return "indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function Ir(t){let e="",s=t.length;for(let r=0;r<s;r++){let n=t[r];e+=Ap(n),r!==s-1&&(e+=", ");}return e}function Fr(t){return t.type==="function"?`function ${t.name}(${Ir(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${Ir(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${Ir(t.inputs)})`:t.type==="error"?`error ${t.name}(${Ir(t.inputs)})`:t.type==="constructor"?`constructor(${Ir(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function iS(t){let e=[],s=t.length;for(let r=0;r<s;r++){let n=t[r],i=Fr(n);e.push(i);}return e}d();h();d();h();var d3=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function m3(t){return d3.test(t)}function p3(t){return Vs(d3,t)}var g3=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function y3(t){return g3.test(t)}function w3(t){return Vs(g3,t)}var b3=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function S3(t){return b3.test(t)}function v3(t){return Vs(b3,t)}var E3=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Zn(t){return E3.test(t)}function x3(t){return Vs(E3,t)}var A3=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function I3(t){return A3.test(t)}function C3(t){return Vs(A3,t)}var N3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function T3(t){return N3.test(t)}function k3(t){return Vs(N3,t)}var NO=/^receive\(\) external payable$/;function B3(t){return NO.test(t)}var aS=new Set(["memory","indexed","storage","calldata"]),P3=new Set(["indexed"]),Ip=new Set(["calldata","memory","storage"]);d();h();d();h();var Cp=class extends Pt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},Np=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},Tp=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();h();var kp=class extends Pt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},Bp=class extends Pt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},Pp=class extends Pt{constructor({param:e,name:s}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${s}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},Op=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},Rp=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},Lp=class extends Pt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();h();var Cr=class extends Pt{constructor({signature:e,type:s}){super(`Invalid ${s} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Dp=class extends Pt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Vp=class extends Pt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();h();var Up=class extends Pt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();h();d();h();var _p=class extends Pt{constructor({current:e,depth:s}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${s>0?"opening":"closing"} parentheses.`],details:`Depth "${s}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();h();function O3(t,e,s){let r="";if(s)for(let n of Object.entries(s)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${t}${r}`:t}var Hp=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Hf(t,e={}){if(S3(t))return TO(t,e);if(y3(t))return kO(t,e);if(m3(t))return BO(t,e);if(I3(t))return PO(t,e);if(T3(t))return OO(t);if(B3(t))return {type:"receive",stateMutability:"payable"};throw new Dp({signature:t})}function TO(t,e={}){let s=v3(t);if(!s)throw new Cr({signature:t,type:"function"});let r=Ts(s.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(er(r[o],{modifiers:Ip,structs:e,type:"function"}));let a=[];if(s.returns){let o=Ts(s.returns),c=o.length;for(let u=0;u<c;u++)a.push(er(o[u],{modifiers:Ip,structs:e,type:"function"}));}return {name:s.name,type:"function",stateMutability:s.stateMutability??"nonpayable",inputs:n,outputs:a}}function kO(t,e={}){let s=w3(t);if(!s)throw new Cr({signature:t,type:"event"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{modifiers:P3,structs:e,type:"event"}));return {name:s.name,type:"event",inputs:n}}function BO(t,e={}){let s=p3(t);if(!s)throw new Cr({signature:t,type:"error"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"error"}));return {name:s.name,type:"error",inputs:n}}function PO(t,e={}){let s=C3(t);if(!s)throw new Cr({signature:t,type:"constructor"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:s.stateMutability??"nonpayable",inputs:n}}function OO(t){let e=k3(t);if(!e)throw new Cr({signature:t,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var RO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,LO=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,DO=/^u?int$/;function er(t,e){let s=O3(t,e?.type,e?.structs);if(Hp.has(s))return Hp.get(s);let r=xp.test(t),n=Vs(r?LO:RO,t);if(!n)throw new Bp({param:t});if(n.name&&UO(n.name))throw new Pp({param:t,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let p=Ts(n.type),w=[],E=p.length;for(let S=0;S<E;S++)w.push(er(p[S],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(DO.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!oS(c))throw new Tp({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new Op({param:t,type:e?.type,modifier:n.modifier});if(Ip.has(n.modifier)&&!_O(c,!!n.array))throw new Rp({param:t,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return Hp.set(s,l),l}function Ts(t,e=[],s="",r=0){let n=t.trim().length;for(let i=0;i<n;i++){let a=t[i],o=t.slice(i+1);switch(a){case",":return r===0?Ts(o,[...e,s.trim()]):Ts(o,e,`${s}${a}`,r);case"(":return Ts(o,e,`${s}${a}`,r+1);case")":return Ts(o,e,`${s}${a}`,r-1);default:return Ts(o,e,`${s}${a}`,r)}}if(s==="")return e;if(r!==0)throw new _p({current:s,depth:r});return e.push(s.trim()),e}function oS(t){return t==="address"||t==="bool"||t==="function"||t==="string"||rS.test(t)||nS.test(t)}var VO=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function UO(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||rS.test(t)||nS.test(t)||VO.test(t)}function _O(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function qc(t){let e={},s=t.length;for(let a=0;a<s;a++){let o=t[a];if(!Zn(o))continue;let c=x3(o);if(!c)throw new Cr({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],p=u.length;for(let w=0;w<p;w++){let S=u[w].trim();if(!S)continue;let I=er(S,{type:"struct"});l.push(I);}if(!l.length)throw new Vp({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=R3(c,e);}return r}var HO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function R3(t,e,s=new Set){let r=[],n=t.length;for(let i=0;i<n;i++){let a=t[i];if(xp.test(a.type))r.push(a);else {let c=Vs(HO,a.type);if(!c?.type)throw new Lp({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(s.has(l))throw new Up({type:l});r.push({...a,type:`tuple${u??""}`,components:R3(e[l]??[],e,new Set([...s,l]))});}else if(oS(l))r.push(a);else throw new Np({type:l})}}return r}function cS(t){let e=qc(t),s=[],r=t.length;for(let n=0;n<r;n++){let i=t[n];Zn(i)||s.push(Hf(i,e));}return s}d();h();function jp(t){let e;if(typeof t=="string")e=Hf(t);else {let s=qc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(!Zn(i)){e=Hf(i,s);break}}}if(!e)throw new Cp({signature:t});return e}d();h();function Mp(t){let e=[];if(typeof t=="string"){let s=Ts(t),r=s.length;for(let n=0;n<r;n++)e.push(er(s[n],{modifiers:aS}));}else {let s=qc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(Zn(i))continue;let a=Ts(i),o=a.length;for(let c=0;c<o;c++)e.push(er(a[c],{modifiers:aS,structs:s}));}}if(e.length===0)throw new kp({params:t});return e}d();h();function L3(t){for(let e of t)if(typeof e!="string")return !1;return !0}function MO(t){return iS(t)}function $O(t){return L3(t)?cS(t):t}d();h();d();h();d();h();d();h();var D3="0.1.1";function V3(){return D3}var ne=class t extends Error{static setStaticOptions(e){t.prototype.docsOrigin=e.docsOrigin,t.prototype.showVersion=e.showVersion,t.prototype.version=e.version;}constructor(e,s={}){let r=(()=>{if(s.cause instanceof t){if(s.cause.details)return s.cause.details;if(s.cause.shortMessage)return s.cause.shortMessage}return s.cause&&"details"in s.cause&&typeof s.cause.details=="string"?s.cause.details:s.cause?.message?s.cause.message:s.details})(),n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=s.docsOrigin??t.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(s.version??t.prototype.showVersion),c=s.version??t.prototype.version,u=[e||"An error occurred.",...s.metaMessages?["",...s.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
- `);super(u,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=s.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return U3(this,e)}};Object.defineProperty(ne,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${V3()}`}});ne.setStaticOptions(ne.defaultStaticOptions);function U3(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?U3(t.cause,e):e?null:t}var he={};Ne(he,{keccak256:()=>Lt,ripemd160:()=>OR,sha256:()=>th,validate:()=>VS});d();h();d();h();d();h();d();h();d();h();d();h();var Ta=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function qO(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ka(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Nr(t,...e){if(!qO(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function _3(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ka(t.outputLen),ka(t.blockLen);}function Kr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function qp(t,e){Nr(t);let s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function H3(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function bs(...t){for(let e=0;e<t.length;e++)t[e].fill(0);}function Fp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function tr(t,e){return t<<32-e|t>>>e}function jf(t,e){return t<<e|t>>>32-e>>>0}var FO=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function KO(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function GO(t){for(let e=0;e<t.length;e++)t[e]=KO(t[e]);return t}var uS=FO?t=>t:GO;function WO(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ba(t){return typeof t=="string"&&(t=WO(t)),Nr(t),t}function j3(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];Nr(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}var Xn=class{};function Qn(t){let e=r=>t().update(Ba(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function M3(t=32){if(Ta&&typeof Ta.getRandomValues=="function")return Ta.getRandomValues(new Uint8Array(t));if(Ta&&typeof Ta.randomBytes=="function")return Uint8Array.from(Ta.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function JO(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}function lS(t,e,s){return t&e^~t&s}function fS(t,e,s){return t&e^t&s^e&s}var Pa=class extends Xn{constructor(e,s,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Fp(this.buffer);}update(e){Kr(this),e=Ba(e),Nr(e);let{view:s,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Fp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){Kr(this),qp(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,bs(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;JO(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Fp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%s&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Xt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var zO=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),q3=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),YO=q3.map(t=>(9*t+5)%16),F3=(()=>{let s=[[q3],[YO]];for(let r=0;r<4;r++)for(let n of s)n.push(n[r].map(i=>zO[i]));return s})(),K3=F3[0],G3=F3[1],W3=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>Uint8Array.from(t)),ZO=K3.map((t,e)=>t.map(s=>W3[e][s])),XO=G3.map((t,e)=>t.map(s=>W3[e][s])),QO=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),eR=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function $3(t,e,s,r){return t===0?e^s^r:t===1?e&s|~e&r:t===2?(e|~s)^r:t===3?e&r|s&~r:e^(s|~r)}var Kp=new Uint32Array(16),Gp=class extends Pa{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776;}get(){let{h0:e,h1:s,h2:r,h3:n,h4:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.h0=e|0,this.h1=s|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,s){for(let E=0;E<16;E++,s+=4)Kp[E]=e.getUint32(s,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,p=this.h4|0,w=p;for(let E=0;E<5;E++){let S=4-E,I=QO[E],C=eR[E],D=K3[E],V=G3[E],B=ZO[E],k=XO[E];for(let O=0;O<16;O++){let G=jf(r+$3(E,i,o,u)+Kp[D[O]]+I,B[O])+p|0;r=p,p=u,u=jf(o,10)|0,o=i,i=G;}for(let O=0;O<16;O++){let G=jf(n+$3(S,a,c,l)+Kp[V[O]]+C,k[O])+w|0;n=w,w=l,l=jf(c,10)|0,c=a,a=G;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+p+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){bs(Kp);}destroy(){this.destroyed=!0,bs(this.buffer),this.set(0,0,0,0,0);}},J3=Qn(()=>new Gp);var z3=J3;d();h();d();h();var Wp=BigInt(4294967295),Y3=BigInt(32);function tR(t,e=!1){return e?{h:Number(t&Wp),l:Number(t>>Y3&Wp)}:{h:Number(t>>Y3&Wp)|0,l:Number(t&Wp)|0}}function Jp(t,e=!1){let s=t.length,r=new Uint32Array(s),n=new Uint32Array(s);for(let i=0;i<s;i++){let{h:a,l:o}=tR(t[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var hS=(t,e,s)=>t>>>s,dS=(t,e,s)=>t<<32-s|e>>>s,Oa=(t,e,s)=>t>>>s|e<<32-s,Ra=(t,e,s)=>t<<32-s|e>>>s,Mf=(t,e,s)=>t<<64-s|e>>>s-32,$f=(t,e,s)=>t>>>s-32|e<<64-s;var Z3=(t,e,s)=>t<<s|e>>>32-s,X3=(t,e,s)=>e<<s|t>>>32-s,Q3=(t,e,s)=>e<<s-32|t>>>64-s,eI=(t,e,s)=>t<<s-32|e>>>64-s;function Tr(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var tI=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),sI=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,rI=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),nI=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,iI=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),aI=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var rR=BigInt(0),qf=BigInt(1),nR=BigInt(2),iR=BigInt(7),aR=BigInt(256),oR=BigInt(113),uI=[],lI=[],fI=[];for(let t=0,e=qf,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],uI.push(2*(5*r+s)),lI.push((t+1)*(t+2)/2%64);let n=rR;for(let i=0;i<7;i++)e=(e<<qf^(e>>iR)*oR)%aR,e&nR&&(n^=qf<<(qf<<BigInt(i))-qf);fI.push(n);}var hI=Jp(fI,!0),cR=hI[0],uR=hI[1],oI=(t,e,s)=>s>32?Q3(t,e,s):Z3(t,e,s),cI=(t,e,s)=>s>32?eI(t,e,s):X3(t,e,s);function lR(t,e=24){let s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)s[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=s[c],l=s[c+1],p=oI(u,l,1)^s[o],w=cI(u,l,1)^s[o+1];for(let E=0;E<50;E+=10)t[a+E]^=p,t[a+E+1]^=w;}let n=t[2],i=t[3];for(let a=0;a<24;a++){let o=lI[a],c=oI(n,i,o),u=cI(n,i,o),l=uI[a];n=t[l],i=t[l+1],t[l]=c,t[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)s[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~s[(o+2)%10]&s[(o+4)%10];}t[0]^=cR[r],t[1]^=uR[r];}bs(s);}var mS=class t extends Xn{constructor(e,s,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=n,this.rounds=i,ka(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=H3(this.state);}clone(){return this._cloneInto()}keccak(){uS(this.state32),lR(this.state32,this.rounds),uS(this.state32),this.posOut=0,this.pos=0;}update(e){Kr(this),e=Ba(e),Nr(e);let{blockLen:s,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(s-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===s&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:s,pos:r,blockLen:n}=this;e[r]^=s,s&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){Kr(this,!1),Nr(e),this.finish();let s=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(s.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return ka(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(qp(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,bs(this.state);}_cloneInto(e){let{blockLen:s,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new t(s,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},fR=(t,e,s)=>Qn(()=>new mS(e,t,s));var dI=fR(1,136,256/8);d();h();d();h();var hR=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]),ei=new Uint32Array(64),zp=class extends Pa{constructor(e=32){super(64,e,8,!1),this.A=Gr[0]|0,this.B=Gr[1]|0,this.C=Gr[2]|0,this.D=Gr[3]|0,this.E=Gr[4]|0,this.F=Gr[5]|0,this.G=Gr[6]|0,this.H=Gr[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)ei[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=ei[p-15],E=ei[p-2],S=tr(w,7)^tr(w,18)^w>>>3,I=tr(E,17)^tr(E,19)^E>>>10;ei[p]=I+ei[p-7]+S+ei[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=tr(o,6)^tr(o,11)^tr(o,25),E=l+w+lS(o,c,u)+hR[p]+ei[p]|0,I=(tr(r,2)^tr(r,13)^tr(r,22))+fS(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bs(ei);}destroy(){this.set(0,0,0,0,0,0,0,0),bs(this.buffer);}};var mI=Jp(["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(t=>BigInt(t))),dR=mI[0],mR=mI[1],ti=new Uint32Array(80),si=new Uint32Array(80),Yp=class extends Pa{constructor(e=64){super(128,e,16,!1),this.Ah=Qt[0]|0,this.Al=Qt[1]|0,this.Bh=Qt[2]|0,this.Bl=Qt[3]|0,this.Ch=Qt[4]|0,this.Cl=Qt[5]|0,this.Dh=Qt[6]|0,this.Dl=Qt[7]|0,this.Eh=Qt[8]|0,this.El=Qt[9]|0,this.Fh=Qt[10]|0,this.Fl=Qt[11]|0,this.Gh=Qt[12]|0,this.Gl=Qt[13]|0,this.Hh=Qt[14]|0,this.Hl=Qt[15]|0;}get(){let{Ah:e,Al:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:S,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=S|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)ti[B]=e.getUint32(s),si[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=ti[B-15]|0,O=si[B-15]|0,G=Oa(k,O,1)^Oa(k,O,8)^hS(k,O,7),re=Ra(k,O,1)^Ra(k,O,8)^dS(k,O,7),Q=ti[B-2]|0,oe=si[B-2]|0,pe=Oa(Q,oe,19)^Mf(Q,oe,61)^hS(Q,oe,6),se=Ra(Q,oe,19)^$f(Q,oe,61)^dS(Q,oe,6),ce=rI(re,se,si[B-7],si[B-16]),ge=nI(ce,G,pe,ti[B-7],ti[B-16]);ti[B]=ge|0,si[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:S,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=Oa(p,w,14)^Oa(p,w,18)^Mf(p,w,41),O=Ra(p,w,14)^Ra(p,w,18)^$f(p,w,41),G=p&E^~p&I,re=w&S^~w&C,Q=iI(V,O,re,mR[B],si[B]),oe=aI(Q,D,k,G,dR[B],ti[B]),pe=Q|0,se=Oa(r,n,28)^Mf(r,n,34)^Mf(r,n,39),ce=Ra(r,n,28)^$f(r,n,34)^$f(r,n,39),ge=r&i^r&o^i&o,Ke=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=S|0,E=p|0,S=w|0,{h:p,l:w}=Tr(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=tI(pe,ce,Ke);r=sI(J,oe,se,ge),n=J|0;}(({h:r,l:n}=Tr(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Tr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Tr(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Tr(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=Tr(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:S}=Tr(this.Fh|0,this.Fl|0,E|0,S|0),{h:I,l:C}=Tr(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=Tr(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,S,I,C,D,V);}roundClean(){bs(ti,si);}destroy(){bs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},pS=class extends Yp{constructor(){super(48),this.Ah=Xt[0]|0,this.Al=Xt[1]|0,this.Bh=Xt[2]|0,this.Bl=Xt[3]|0,this.Ch=Xt[4]|0,this.Cl=Xt[5]|0,this.Dh=Xt[6]|0,this.Dl=Xt[7]|0,this.Eh=Xt[8]|0,this.El=Xt[9]|0,this.Fh=Xt[10]|0,this.Fl=Xt[11]|0,this.Gh=Xt[12]|0,this.Gl=Xt[13]|0,this.Hh=Xt[14]|0,this.Hl=Xt[15]|0;}};var Fc=Qn(()=>new zp);var pI=Qn(()=>new Yp),gI=Qn(()=>new pS);var yI=Fc;var f={};Ne(f,{InvalidBytesBooleanError:()=>sg,InvalidBytesTypeError:()=>ja,SizeExceedsPaddingSizeError:()=>Jf,SizeOverflowError:()=>Wf,SliceOffsetOutOfBoundsError:()=>Jc,assert:()=>PI,concat:()=>PS,from:()=>Zr,fromArray:()=>OI,fromBoolean:()=>TR,fromHex:()=>dt,fromNumber:()=>kR,fromString:()=>Xr,isEqual:()=>BR,padLeft:()=>RI,padRight:()=>LI,random:()=>BS,size:()=>Us,slice:()=>OS,toBigInt:()=>RS,toBoolean:()=>LS,toHex:()=>PR,toNumber:()=>nr,toString:()=>rg,trimLeft:()=>ng,trimRight:()=>tg,validate:()=>DS});d();h();d();h();var bS=BigInt(0),wS=BigInt(1);function Kc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function SS(t){if(!Kc(t))throw new Error("Uint8Array expected")}function Gc(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function Ff(t){let e=t.toString(16);return e.length&1?"0"+e:e}function SI(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?bS:BigInt("0x"+t)}var vI=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",pR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Wc(t){if(SS(t),vI)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=pR[t[s]];return e}var Wr={_0:48,_9:57,A:65,F:70,a:97,f:102};function wI(t){if(t>=Wr._0&&t<=Wr._9)return t-Wr._0;if(t>=Wr.A&&t<=Wr.F)return t-(Wr.A-10);if(t>=Wr.a&&t<=Wr.f)return t-(Wr.a-10)}function Kf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(vI)return Uint8Array.fromHex(t);let e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(s);for(let n=0,i=0;n<s;n++,i+=2){let a=wI(t.charCodeAt(i)),o=wI(t.charCodeAt(i+1));if(a===void 0||o===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function Jr(t){return SI(Wc(t))}function vS(t){return SS(t),SI(Wc(Uint8Array.from(t).reverse()))}function La(t,e){return Kf(t.toString(16).padStart(e*2,"0"))}function ES(t,e){return La(t,e).reverse()}function ks(t,e,s){let r;if(typeof e=="string")try{r=Kf(e);}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Kc(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let n=r.length;if(typeof s=="number"&&n!==s)throw new Error(t+" of length "+s+" expected, got "+n);return r}function Gf(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];SS(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Zp(t,e){if(t.length!==e.length)return !1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}var gS=t=>typeof t=="bigint"&&bS<=t;function Xp(t,e,s){return gS(t)&&gS(e)&&gS(s)&&e<=t&&t<s}function Da(t,e,s,r){if(!Xp(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function EI(t){let e;for(e=0;t>bS;t>>=wS,e+=1);return e}var Va=t=>(wS<<BigInt(t))-wS,yS=t=>new Uint8Array(t),bI=t=>Uint8Array.from(t);function xI(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let r=yS(t),n=yS(t),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...p)=>s(n,r,...p),c=(p=yS(0))=>{n=o(bI([0]),p),r=o(),p.length!==0&&(n=o(bI([1]),p),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let p=0,w=[];for(;p<e;){r=o();let E=r.slice();w.push(E),p+=r.length;}return Gf(...w)};return (p,w)=>{a(),c(p);let E;for(;!(E=w(u()));)c();return a(),E}}var gR={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Kc(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ua(t,e,s={}){let r=(n,i,a)=>{let o=gR[i];if(typeof o!="function")throw new Error("invalid validator function");let c=t[n];if(!(a&&c===void 0)&&!o(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(s))r(n,i,!0);return t}function xS(t){let e=new WeakMap;return (s,...r)=>{let n=e.get(s);if(n!==void 0)return n;let i=t(s,...r);return e.set(s,i),i}}var P={};Ne(P,{IntegerOutOfRangeError:()=>Zc,InvalidHexBooleanError:()=>Qp,InvalidHexTypeError:()=>Zf,InvalidHexValueError:()=>Xf,InvalidLengthError:()=>Qf,SizeExceedsPaddingSizeError:()=>Yf,SizeOverflowError:()=>zf,SliceOffsetOutOfBoundsError:()=>zc,assert:()=>BI,concat:()=>at,from:()=>Ss,fromBoolean:()=>eh,fromBytes:()=>Ue,fromNumber:()=>ve,fromString:()=>Bs,isEqual:()=>SR,padLeft:()=>kr,padRight:()=>rr,random:()=>vR,size:()=>Xe,slice:()=>At,toBigInt:()=>eg,toBoolean:()=>xR,toBytes:()=>AR,toNumber:()=>kS,toString:()=>IR,trimLeft:()=>Ha,trimRight:()=>ER,validate:()=>vs});d();h();d();h();function Yr(t,e){if(Us(t)>e)throw new Wf({givenSize:Us(t),maxSize:e})}function AI(t,e){if(typeof e=="number"&&e>0&&e>Us(t)-1)throw new Jc({offset:e,position:"start",size:Us(t)})}function II(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Us(t)!==s-e)throw new Jc({offset:s,position:"end",size:Us(t)})}var zr={zero:48,nine:57,A:65,F:70,a:97,f:102};function AS(t){if(t>=zr.zero&&t<=zr.nine)return t-zr.zero;if(t>=zr.A&&t<=zr.F)return t-(zr.A-10);if(t>=zr.a&&t<=zr.f)return t-(zr.a-10)}function IS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;if(t.length>r)throw new Jf({size:t.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=s==="right";n[a?i:r-i-1]=t[a?i:t.length-i-1];}return n}function CS(t,e={}){let{dir:s="left"}=e,r=t,n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r}d();h();function _a(t,e){if(Xe(t)>e)throw new zf({givenSize:Xe(t),maxSize:e})}function NI(t,e){if(typeof e=="number"&&e>0&&e>Xe(t)-1)throw new zc({offset:e,position:"start",size:Xe(t)})}function TI(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Xe(t)!==s-e)throw new zc({offset:s,position:"end",size:Xe(t)})}function NS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;let n=t.replace("0x","");if(n.length>r*2)throw new Yf({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[s==="right"?"padEnd":"padStart"](r*2,"0")}`}function TS(t,e={}){let{dir:s="left"}=e,r=t.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":s==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();h();var yR="#__bigint";function sr(t,e,s){return JSON.stringify(t,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+yR:n,s)}var wR=new TextEncoder,bR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function BI(t,e={}){let{strict:s=!1}=e;if(!t)throw new Zf(t);if(typeof t!="string")throw new Zf(t);if(s&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xf(t);if(!t.startsWith("0x"))throw new Xf(t)}function at(...t){return `0x${t.reduce((e,s)=>e+s.replace("0x",""),"")}`}function Ss(t){return t instanceof Uint8Array?Ue(t):Array.isArray(t)?Ue(new Uint8Array(t)):t}function eh(t,e={}){let s=`0x${Number(t)}`;return typeof e.size=="number"?(_a(s,e.size),kr(s,e.size)):s}function Ue(t,e={}){let s="";for(let n=0;n<t.length;n++)s+=bR[t[n]];let r=`0x${s}`;return typeof e.size=="number"?(_a(r,e.size),rr(r,e.size)):r}function ve(t,e={}){let{signed:s,size:r}=e,n=BigInt(t),i;r?s?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&s?-i-1n:0;if(i&&n>i||n<a){let u=typeof t=="bigint"?"n":"";throw new Zc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:s,size:r,value:`${t}${u}`})}let c=`0x${(s&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?kr(c,r):c}function Bs(t,e={}){return Ue(wR.encode(t),e)}function SR(t,e){return Zp(dt(t),dt(e))}function kr(t,e){return NS(t,{dir:"left",size:e})}function rr(t,e){return NS(t,{dir:"right",size:e})}function vR(t){return Ue(BS(t))}function At(t,e,s,r={}){let{strict:n}=r;NI(t,e);let i=`0x${t.replace("0x","").slice((e??0)*2,(s??t.length)*2)}`;return n&&TI(i,e,s),i}function Xe(t){return Math.ceil((t.length-2)/2)}function Ha(t){return TS(t,{dir:"left"})}function ER(t){return TS(t,{dir:"right"})}function eg(t,e={}){let{signed:s}=e;e.size&&_a(t,e.size);let r=BigInt(t);if(!s)return r;let n=(t.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function xR(t,e={}){e.size&&_a(t,e.size);let s=Ha(t);if(s==="0x")return !1;if(s==="0x1")return !0;throw new Qp(t)}function AR(t,e={}){return dt(t,e)}function kS(t,e={}){let{signed:s,size:r}=e;return Number(!s&&!r?t:eg(t,e))}function IR(t,e={}){let{size:s}=e,r=dt(t);return s&&(Yr(r,s),r=tg(r)),new TextDecoder().decode(r)}function vs(t,e={}){let{strict:s=!1}=e;try{return BI(t,{strict:s}),!0}catch{return !1}}var Zc=class extends ne{constructor({max:e,min:s,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${s}\` to \`${e}\`)`:`(above \`${s}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},Qp=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Zf=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Xf=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Qf=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},zf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},zc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},Yf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var CR=new TextDecoder,NR=new TextEncoder;function PI(t){if(!(t instanceof Uint8Array)){if(!t)throw new ja(t);if(typeof t!="object")throw new ja(t);if(!("BYTES_PER_ELEMENT"in t))throw new ja(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new ja(t)}}function PS(...t){let e=0;for(let r of t)e+=r.length;let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Zr(t){return t instanceof Uint8Array?t:typeof t=="string"?dt(t):OI(t)}function OI(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function TR(t,e={}){let{size:s}=e,r=new Uint8Array(1);return r[0]=Number(t),typeof s=="number"?(Yr(r,s),RI(r,s)):r}function dt(t,e={}){let{size:s}=e,r=t;s&&(_a(t,s),r=rr(t,s));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=AS(n.charCodeAt(c++)),l=AS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new ne(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function kR(t,e){let s=ve(t,e);return dt(s)}function Xr(t,e={}){let{size:s}=e,r=NR.encode(t);return typeof s=="number"?(Yr(r,s),LI(r,s)):r}function BR(t,e){return Zp(t,e)}function RI(t,e){return IS(t,{dir:"left",size:e})}function LI(t,e){return IS(t,{dir:"right",size:e})}function BS(t){return crypto.getRandomValues(new Uint8Array(t))}function Us(t){return t.length}function OS(t,e,s,r={}){let{strict:n}=r;AI(t,e);let i=t.slice(e,s);return n&&II(i,e,s),i}function RS(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return eg(r,e)}function LS(t,e={}){let{size:s}=e,r=t;if(typeof s<"u"&&(Yr(r,s),r=ng(r)),r.length>1||r[0]>1)throw new sg(r);return !!r[0]}function PR(t,e={}){return Ue(t,e)}function nr(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return kS(r,e)}function rg(t,e={}){let{size:s}=e,r=t;return typeof s<"u"&&(Yr(r,s),r=tg(r)),CR.decode(r)}function ng(t){return CS(t,{dir:"left"})}function tg(t){return CS(t,{dir:"right"})}function DS(t){try{return PI(t),!0}catch{return !1}}var sg=class extends ne{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},ja=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},Wf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},Jc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Jf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Lt(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=dI(Zr(t));return s==="Bytes"?r:Ue(r)}function OR(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=z3(Zr(t));return s==="Bytes"?r:Ue(r)}function th(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=yI(Zr(t));return s==="Bytes"?r:Ue(r)}function VS(t){return vs(t)&&Xe(t)===32}d();h();var j={};Ne(j,{InvalidAddressError:()=>Ma,InvalidChecksumError:()=>cg,InvalidInputError:()=>Xc,assert:()=>Es,checksum:()=>rh,from:()=>HI,fromPublicKey:()=>MS,isEqual:()=>$S,validate:()=>$a});d();h();d();h();d();h();var ig=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var RR={checksum:new ig(8192)},ag=RR.checksum;d();h();function VI(t,e={}){let{compressed:s}=e,{prefix:r,x:n,y:i}=t;if(s===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new og({prefix:r,cause:new HS});return}if(s===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new og({prefix:r,cause:new _S});return}throw new US({publicKey:t})}function Qr(t){let e=(()=>{if(vs(t))return UI(t);if(DS(t))return LR(t);let{prefix:s,x:r,y:n}=t;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:s??4,x:r,y:n}:{prefix:s,x:r}})();return VI(e),e}function LR(t){return UI(Ue(t))}function UI(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new jS({publicKey:t});if(t.length===130){let r=BigInt(At(t,0,32)),n=BigInt(At(t,32,64));return {prefix:4,x:r,y:n}}if(t.length===132){let r=Number(At(t,0,1)),n=BigInt(At(t,1,33)),i=BigInt(At(t,33,65));return {prefix:r,x:n,y:i}}let e=Number(At(t,0,1)),s=BigInt(At(t,1,33));return {prefix:e,x:s}}function _I(t,e={}){return dt(ri(t,e))}function ri(t,e={}){VI(t);let{prefix:s,x:r,y:n}=t,{includePrefix:i=!0}=e;return at(i?ve(s,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var US=class extends ne{constructor({publicKey:e}){super(`Value \`${sr(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},og=class extends ne{constructor({prefix:e,cause:s}){super(`Prefix "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},_S=class extends ne{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},HS=class extends ne{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},jS=class extends ne{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var DR=/^0x[a-fA-F0-9]{40}$/;function Es(t,e={}){let{strict:s=!0}=e;if(!DR.test(t))throw new Ma({address:t,cause:new Xc});if(s){if(t.toLowerCase()===t)return;if(rh(t)!==t)throw new Ma({address:t,cause:new cg})}}function rh(t){if(ag.has(t))return ag.get(t);Es(t,{strict:!1});let e=t.substring(2).toLowerCase(),s=Lt(Xr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)s[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(s[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return ag.set(t,n),n}function HI(t,e={}){let{checksum:s=!1}=e;return Es(t),s?rh(t):t}function MS(t,e={}){let s=Lt(`0x${ri(t).slice(4)}`).substring(26);return HI(`0x${s}`,e)}function $S(t,e){return Es(t,{strict:!1}),Es(e,{strict:!1}),t.toLowerCase()===e.toLowerCase()}function $a(t,e={}){let{strict:s=!0}=e??{};try{return Es(t,{strict:s}),!0}catch{return !1}}var Ma=class extends ne{constructor({address:e,cause:s}){super(`Address "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Xc=class extends ne{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},cg=class extends ne{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function lg(t){let e=!0,s="",r=0,n="",i=!1;for(let a=0;a<t.length;a++){let o=t[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){t[a-1]!==","&&s!==","&&s!==",("&&(s="",e=!1);continue}n+=o,s+=o;}}if(!i)throw new ne("Unable to normalize signature.");return n}function ug(t,e){let s=typeof t,r=e.type;switch(r){case"address":return $a(t,{strict:!1});case"bool":return s==="boolean";case"function":return s==="string";case"string":return s==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>ug(Object.values(t)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?s==="number"||s==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?s==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(t)&&t.every(n=>ug(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function qS(t,e,s){for(let r in t){let n=t[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return qS(n.components,i.components,s[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?$a(s[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?$a(s[r],{strict:!1}):!1)return a}}function jI(t,e={}){let{prepare:s=!0}=e,r=Array.isArray(t)?jp(t):typeof t=="string"?jp(t):t;return {...r,...s?{hash:Qc(r)}:{}}}function nh(t,e,s){let{args:r=[],prepare:n=!0}=s??{},i=vs(e,{strict:!1}),a=t.filter(u=>i?u.type==="function"||u.type==="error"?KS(u)===At(e,0,4):u.type==="event"?Qc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new eu({name:e});if(a.length===1)return {...a[0],...n?{hash:Qc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Qc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((p,w)=>{let E="inputs"in u&&u.inputs[w];return E?ug(p,E):!1})){if(o&&"inputs"in o&&o.inputs){let p=qS(u.inputs,o.inputs,r);if(p)throw new FS({abiItem:u,type:p[0]},{abiItem:o,type:p[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new eu({name:e});return {...c,...n?{hash:Qc(c)}:{}}}function KS(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return At(Qc(e),0,4)}function UR(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return nh(r,n)}return t[0]})(),s=typeof e=="string"?e:Fr(e);return lg(s)}function Qc(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Lt(Bs(UR(e)))}var FS=class extends ne{constructor(e,s){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${lg(Fr(e.abiItem))}\`, and`,`\`${s.type}\` in \`${lg(Fr(s.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},eu=class extends ne{constructor({name:e,data:s,type:r="item"}){let n=e?` with name "${e}"`:s?` with data "${s}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},fg=class extends ne{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${Xe(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var mt={};Ne(mt,{ArrayLengthMismatchError:()=>ah,BytesSizeMismatchError:()=>su,DataSizeTooSmallError:()=>yg,InvalidArrayError:()=>oh,InvalidTypeError:()=>Fa,LengthMismatchError:()=>uh,ZeroDataError:()=>wg,decode:()=>ru,encode:()=>en,encodePacked:()=>gg,format:()=>e7,from:()=>bg});d();h();d();h();d();h();var $I=/^(.*)\[([0-9]*)\]$/,hg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,tu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,GS=2n**256n-1n;function qa(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=zS(e.type);if(i){let[a,o]=i;return HR(t,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return qR(t,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return _R(t,{checksum:r});if(e.type==="bool")return jR(t);if(e.type.startsWith("bytes"))return MR(t,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return $R(t,e);if(e.type==="string")return FR(t,{staticPosition:n});throw new Fa(e.type)}var qI=32,WS=32;function _R(t,e={}){let{checksum:s=!1}=e,r=t.readBytes(32);return [(i=>s?rh(i):i)(Ue(OS(r,-20))),32]}function HR(t,e,s){let{checksumAddress:r,length:n,staticPosition:i}=s;if(!n){let c=nr(t.readBytes(WS)),u=i+c,l=u+qI;t.setPosition(u);let p=nr(t.readBytes(qI)),w=ih(e),E=0,S=[];for(let I=0;I<p;++I){t.setPosition(l+(w?I*32:E));let[C,D]=qa(t,e,{checksumAddress:r,staticPosition:l});E+=D,S.push(C);}return t.setPosition(i+32),[S,32]}if(ih(e)){let c=nr(t.readBytes(WS)),u=i+c,l=[];for(let p=0;p<n;++p){t.setPosition(u+p*32);let[w]=qa(t,e,{checksumAddress:r,staticPosition:u});l.push(w);}return t.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=qa(t,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function jR(t){return [LS(t.readBytes(32),{size:32}),32]}function MR(t,e,{staticPosition:s}){let[r,n]=e.type.split("bytes");if(!n){let a=nr(t.readBytes(32));t.setPosition(s+a);let o=nr(t.readBytes(32));if(o===0)return t.setPosition(s+32),["0x",32];let c=t.readBytes(o);return t.setPosition(s+32),[Ue(c),32]}return [Ue(t.readBytes(Number.parseInt(n,10),32)),32]}function $R(t,e){let s=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=t.readBytes(32);return [r>48?RS(n,{signed:s}):nr(n,{signed:s}),32]}function qR(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(ih(e)){let c=nr(t.readBytes(WS)),u=n+c;for(let l=0;l<e.components.length;++l){let p=e.components[l];t.setPosition(u+o);let[w,E]=qa(t,p,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:p?.name]=w;}return t.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,p]=qa(t,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=p;}return [a,o]}function FR(t,{staticPosition:e}){let s=nr(t.readBytes(32)),r=e+s;t.setPosition(r);let n=nr(t.readBytes(32));if(n===0)return t.setPosition(e+32),["",32];let i=t.readBytes(n,32),a=rg(ng(i));return t.setPosition(e+32),[a,32]}function FI({checksumAddress:t,parameters:e,values:s}){let r=[];for(let n=0;n<e.length;n++)r.push(JS({checksumAddress:t,parameter:e[n],value:s[n]}));return r}function JS({checksumAddress:t=!1,parameter:e,value:s}){let r=e,n=zS(r.type);if(n){let[i,a]=n;return GR(s,{checksumAddress:t,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return ZR(s,{checksumAddress:t,parameter:r});if(r.type==="address")return KR(s,{checksum:t});if(r.type==="bool")return JR(s);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=tu.exec(r.type)??[];return zR(s,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return WR(s,{type:r.type});if(r.type==="string")return YR(s);throw new Fa(r.type)}function mg(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?e+=32:e+=Xe(o);}let s=[],r=[],n=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?(s.push(ve(e+n,{size:32})),r.push(o),n+=Xe(o)):s.push(o);}return at(...s,...r)}function KR(t,e){let{checksum:s=!1}=e;return Es(t,{strict:s}),{dynamic:!1,encoded:kr(t.toLowerCase())}}function GR(t,e){let{checksumAddress:s,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(t))throw new oh(t);if(!i&&t.length!==r)throw new ah({expectedLength:r,givenLength:t.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<t.length;c++){let u=JS({checksumAddress:s,parameter:n,value:t[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=mg(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?at(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:at(...o.map(({encoded:c})=>c))}}function WR(t,{type:e}){let[,s]=e.split("bytes"),r=Xe(t);if(!s){let n=t;return r%32!==0&&(n=rr(n,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:at(kr(ve(r,{size:32})),n)}}if(r!==Number.parseInt(s,10))throw new su({expectedSize:Number.parseInt(s,10),value:t});return {dynamic:!1,encoded:rr(t)}}function JR(t){if(typeof t!="boolean")throw new ne(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:kr(eh(t))}}function zR(t,{signed:e,size:s}){if(typeof s=="number"){let r=2n**(BigInt(s)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(t>r||t<n)throw new Zc({max:r.toString(),min:n.toString(),signed:e,size:s/8,value:t.toString()})}return {dynamic:!1,encoded:ve(t,{size:32,signed:e})}}function YR(t){let e=Bs(t),s=Math.ceil(Xe(e)/32),r=[];for(let n=0;n<s;n++)r.push(rr(At(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:at(rr(ve(Xe(e),{size:32})),...r)}}function ZR(t,e){let{checksumAddress:s,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(t)?a:o.name,u=JS({checksumAddress:s,parameter:o,value:t[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?mg(i):at(...i.map(({encoded:a})=>a))}}function zS(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function ih(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return t.components?.some(ih);let s=zS(t.type);return !!(s&&ih({...t,type:s[1]}))}d();h();var QR={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ZS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new YS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new pg({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e;},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new pg({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e;},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let s=e??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length;},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2;},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3;},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let s=this.inspectBytes(t);return this.position+=e??t,s},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++;}};function ch(t,{recursiveReadLimit:e=8192}={}){let s=Object.create(QR);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=e,s}var pg=class extends ne{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},YS=class extends ne{constructor({length:e,position:s}){super(`Position \`${s}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},ZS=class extends ne{constructor({count:e,limit:s}){super(`Recursive read limit of \`${s}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function ru(t,e,s={}){let{as:r="Array",checksumAddress:n=!1}=s,i=typeof e=="string"?dt(e):e,a=ch(i);if(Us(i)===0&&t.length>0)throw new wg;if(Us(i)&&Us(i)<32)throw new yg({data:typeof e=="string"?e:Ue(e),parameters:t,size:Us(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<t.length;++u){let l=t[u];a.setPosition(o);let[p,w]=qa(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(p):c[l.name??u]=p;}return c}function en(t,e,s){let{checksumAddress:r=!1}=s??{};if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let n=FI({checksumAddress:r,parameters:t,values:e}),i=mg(n);return i.length===0?"0x":i}function gg(t,e){if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let s=[];for(let r=0;r<t.length;r++){let n=t[r],i=e[r];s.push(gg.encode(n,i));}return at(...s)}(function(t){function e(s,r,n=!1){if(s==="address"){let c=r;return Es(c),kr(c.toLowerCase(),n?32:0)}if(s==="string")return Bs(r);if(s==="bytes")return r;if(s==="bool")return kr(eh(r),n?32:1);let i=s.match(tu);if(i){let[c,u,l="256"]=i,p=Number.parseInt(l,10)/8;return ve(r,{size:n?32:p,signed:u==="int"})}let a=s.match(hg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new su({expectedSize:Number.parseInt(u,10),value:r});return rr(r,n?32:0)}let o=s.match($I);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let p=0;p<r.length;p++)l.push(e(u,r[p],!0));return l.length===0?"0x":at(...l)}throw new Fa(s)}t.encode=e;})(gg||(gg={}));function e7(t){return Ir(t)}function bg(t){return Array.isArray(t)&&typeof t[0]=="string"?Mp(t):typeof t=="string"?Mp(t):t}var yg=class extends ne{constructor({data:e,parameters:s,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ir(s)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},wg=class extends ne{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},ah=class extends ne{constructor({expectedLength:e,givenLength:s,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${s}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},su=class extends ne{constructor({expectedSize:e,value:s}){super(`Size of bytes "${s}" (bytes${Xe(s)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},uh=class extends ne{constructor({expectedLength:e,givenLength:s}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${s}`].join(`
339
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},oh=class extends ne{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},Fa=class extends ne{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var me={};Ne(me,{decodeData:()=>t7,decodeResult:()=>s7,encodeData:()=>r7,encodeResult:()=>n7,format:()=>i7,from:()=>a7,fromAbi:()=>Ka,getSelector:()=>GI});d();h();function t7(...t){let[e,s]=(()=>{if(Array.isArray(t[0])){let[i,a,o]=t;return [Ka(i,a),o]}return t})(),{overloads:r}=e;if(Xe(s)<4)throw new fg({data:s});if(e.inputs?.length===0)return;let n=r?Ka([e,...r],s):e;if(!(Xe(s)<=4))return ru(n.inputs,At(s,4))}function s7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[i,a,o,c]=t;return [Ka(i,a),o,c]}return t})(),n=ru(e.outputs,s,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function r7(...t){let[e,s=[]]=(()=>{if(Array.isArray(t[0])){let[u,l,p]=t;return [Ka(u,l,{args:p}),p]}let[o,c]=t;return [o,c]})(),{overloads:r}=e,n=r?Ka([e,...r],e.name,{args:s}):e,i=GI(n),a=s.length>0?en(n.inputs,s):void 0;return a?at(i,a):i}function n7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[a,o,c,u]=t;return [Ka(a,o),c,u]}return t})(),{as:n="Array"}=r,i=e.outputs.length===1?[s]:Array.isArray(s)?s:n==="Object"?Object.values(s):[s];return en(e.outputs,i)}function i7(t){return Fr(t)}function a7(t,e={}){return jI(t,e)}function Ka(t,e,s){let r=nh(t,e,s);if(r.type!=="function")throw new eu({name:e,type:"function"});return r}function GI(t){return KS(t)}d();h();function WI(t){let e=[];for(let s=0;s<t.length;s++){let[r,n]=t[s];r&&Es(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>VS(i)?i:Ha(i))});}return e}function JI(t){if(!t||t.length===0)return [];let e=[];for(let{address:s,storageKeys:r}of t){for(let n=0;n<r.length;n++)if(Xe(r[n])!==32)throw new XS({storageKey:r[n]});s&&Es(s,{strict:!1}),e.push([s,r]);}return e}var XS=class extends ne{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Xe(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();h();function ZI(t){return o7(t,"Hex")}function o7(t,e){let s=e,r=(()=>{if(typeof t=="string"){if(t.length>3&&t.length%2!==0)throw new Qf(t);return dt(t)}return t})(),n=ch(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return XI(n,s)}function XI(t,e="Hex"){if(t.bytes.length===0)return e==="Hex"?Ue(t.bytes):t.bytes;let s=t.readByte();if(s<128&&t.decrementPosition(1),s<192){let n=YI(t,s,128),i=t.readBytes(n);return e==="Hex"?Ue(i):i}let r=YI(t,s,192);return c7(t,r,e)}function YI(t,e,s){if(s===128&&e<128)return 1;if(e<=s+55)return e-s;if(e===s+55+1)return t.readUint8();if(e===s+55+2)return t.readUint16();if(e===s+55+3)return t.readUint24();if(e===s+55+4)return t.readUint32();throw new ne("Invalid RLP prefix")}function c7(t,e,s){let r=t.position,n=[];for(;t.position-r<e;)n.push(XI(t,s));return n}function u7(t,e){let{as:s}=e,r=e8(t),n=ch(new Uint8Array(r.length));return r.encode(n),s==="Hex"?Ue(n.bytes):n.bytes}function QI(t,e={}){let{as:s="Hex"}=e;return u7(t,{as:s})}function e8(t){return Array.isArray(t)?l7(t.map(e=>e8(e))):f7(t)}function l7(t){let e=t.reduce((n,i)=>n+i.length,0),s=t8(e);return {length:e<=55?1+e:1+s+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+s),s===1?n.pushUint8(e):s===2?n.pushUint16(e):s===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of t)i(n);}}}function f7(t){let e=typeof t=="string"?dt(t):t,s=t8(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+s+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+s),s===1?n.pushUint8(e.length):s===2?n.pushUint16(e.length):s===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function t8(t){if(t<=255)return 1;if(t<=65535)return 2;if(t<=16777215)return 3;if(t<=4294967295)return 4;throw new ne("Length is too large.")}var Gt={};Ne(Gt,{InvalidRError:()=>xg,InvalidSError:()=>Ag,InvalidSerializedSizeError:()=>Eg,InvalidVError:()=>Ig,InvalidYParityError:()=>Wa,MissingPropertiesError:()=>iu,assert:()=>Cg,extract:()=>Ng,from:()=>lh,fromBytes:()=>v8,fromDerBytes:()=>T7,fromDerHex:()=>E8,fromHex:()=>pv,fromLegacy:()=>x8,fromRpc:()=>A8,fromTuple:()=>gv,toBytes:()=>k7,toDerBytes:()=>B7,toDerHex:()=>P7,toHex:()=>I8,toLegacy:()=>O7,toRpc:()=>yv,toTuple:()=>wv,vToYParity:()=>Tg,validate:()=>R7,yParityToV:()=>bv});d();h();d();h();d();h();d();h();var Sg=class extends Xn{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,_3(e);let r=Ba(s);if(this.iHash=e.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 n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),bs(i);}update(e){return Kr(this),this.iHash.update(e),this}digestInto(e){Kr(this),Nr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy();}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:s,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=s._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},QS=(t,e,s)=>new Sg(t,e).update(s).digest();QS.create=(t,e)=>new Sg(t,e);d();h();d();h();d();h();var xs=BigInt(0),us=BigInt(1),Ga=BigInt(2),h7=BigInt(3),n8=BigInt(4),i8=BigInt(5),a8=BigInt(8);function cs(t,e){let s=t%e;return s>=xs?s:e+s}function _s(t,e,s){let r=t;for(;e-- >xs;)r*=r,r%=s;return r}function vg(t,e){if(t===xs)throw new Error("invert: expected non-zero number");if(e<=xs)throw new Error("invert: expected positive modulus, got "+e);let s=cs(t,e),r=e,n=xs,a=us;for(;s!==xs;){let u=r/s,l=r%s,p=n-a*u;r=s,s=l,n=a,a=p;}if(r!==us)throw new Error("invert: does not exist");return cs(n,e)}function o8(t,e){let s=(t.ORDER+us)/n8,r=t.pow(e,s);if(!t.eql(t.sqr(r),e))throw new Error("Cannot find square root");return r}function d7(t,e){let s=(t.ORDER-i8)/a8,r=t.mul(e,Ga),n=t.pow(r,s),i=t.mul(e,n),a=t.mul(t.mul(i,Ga),n),o=t.mul(i,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),e))throw new Error("Cannot find square root");return o}function m7(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-us,s=0;for(;e%Ga===xs;)e/=Ga,s++;let r=Ga,n=tn(t);for(;r8(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return o8;let i=n.pow(r,e),a=(e+us)/Ga;return function(c,u){if(c.is0(u))return u;if(r8(c,u)!==1)throw new Error("Cannot find square root");let l=s,p=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let S=1,I=c.sqr(w);for(;!c.eql(I,c.ONE);)if(S++,I=c.sqr(I),S===l)throw new Error("Cannot find square root");let C=us<<BigInt(l-S-1),D=c.pow(p,C);l=S,p=c.sqr(D),w=c.mul(w,p),E=c.mul(E,D);}return E}}function p7(t){return t%n8===h7?o8:t%a8===i8?d7:m7(t)}var g7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ev(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=g7.reduce((r,n)=>(r[n]="function",r),e);return Ua(t,s)}function y7(t,e,s){if(s<xs)throw new Error("invalid exponent, negatives unsupported");if(s===xs)return t.ONE;if(s===us)return e;let r=t.ONE,n=e;for(;s>xs;)s&us&&(r=t.mul(r,n)),n=t.sqr(n),s>>=us;return r}function tv(t,e,s=!1){let r=new Array(e.length).fill(s?t.ZERO:void 0),n=e.reduce((a,o,c)=>t.is0(o)?a:(r[c]=a,t.mul(a,o)),t.ONE),i=t.inv(n);return e.reduceRight((a,o,c)=>t.is0(o)?a:(r[c]=t.mul(a,r[c]),t.mul(a,o)),i),r}function r8(t,e){let s=(t.ORDER-us)/Ga,r=t.pow(e,s),n=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),a=t.eql(r,t.neg(t.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function sv(t,e){e!==void 0&&ka(e);let s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return {nBitLength:s,nByteLength:r}}function tn(t,e,s=!1,r={}){if(t<=xs)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:n,nByteLength:i}=sv(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:t,isLE:s,BITS:n,BYTES:i,MASK:Va(n),ZERO:xs,ONE:us,create:c=>cs(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return xs<=c&&c<t},is0:c=>c===xs,isOdd:c=>(c&us)===us,neg:c=>cs(-c,t),eql:(c,u)=>c===u,sqr:c=>cs(c*c,t),add:(c,u)=>cs(c+u,t),sub:(c,u)=>cs(c-u,t),mul:(c,u)=>cs(c*u,t),pow:(c,u)=>y7(o,c,u),div:(c,u)=>cs(c*vg(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>vg(c,t),sqrt:r.sqrt||(c=>(a||(a=p7(t)),a(o,c))),toBytes:c=>s?ES(c,i):La(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return s?vS(c):Jr(c)},invertBatch:c=>tv(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function c8(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function rv(t){let e=c8(t);return e+Math.ceil(e/2)}function u8(t,e,s=!1){let r=t.length,n=c8(e),i=rv(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=s?vS(t):Jr(t),o=cs(a,e-us)+us;return s?ES(o,n):La(o,n)}var l8=BigInt(0),cv=BigInt(1);function nv(t,e){let s=e.negate();return t?s:e}function h8(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function iv(t,e){h8(t,e);let s=Math.ceil(e/t)+1,r=2**(t-1),n=2**t,i=Va(t),a=BigInt(t);return {windows:s,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function f8(t,e,s){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=s,o=Number(t&n),c=t>>a;o>r&&(o-=i,c+=cv);let u=e*r,l=u+Math.abs(o)-1,p=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:u}}function w7(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,r)=>{if(!(s instanceof e))throw new Error("invalid point at index "+r)});}function b7(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,r)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+r)});}var av=new WeakMap,d8=new WeakMap;function ov(t){return d8.get(t)||1}function m8(t,e){return {constTimeNegate:nv,hasPrecomputes(s){return ov(s)!==1},unsafeLadder(s,r,n=t.ZERO){let i=s;for(;r>l8;)r&cv&&(n=n.add(i)),i=i.double(),r>>=cv;return n},precomputeWindow(s,r){let{windows:n,windowSize:i}=iv(r,e),a=[],o=s,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(s,r,n){let i=t.ZERO,a=t.BASE,o=iv(s,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:S}=f8(n,c,o);n=u,p?a=a.add(nv(E,r[S])):i=i.add(nv(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(s,r,n,i=t.ZERO){let a=iv(s,e);for(let o=0;o<a.windows&&n!==l8;o++){let{nextN:c,offset:u,isZero:l,isNeg:p}=f8(n,o,a);if(n=c,!l){let w=r[u];i=i.add(p?w.negate():w);}}return i},getPrecomputes(s,r,n){let i=av.get(r);return i||(i=this.precomputeWindow(r,s),s!==1&&av.set(r,n(i))),i},wNAFCached(s,r,n){let i=ov(s);return this.wNAF(i,this.getPrecomputes(i,s,n),r)},wNAFCachedUnsafe(s,r,n,i){let a=ov(s);return a===1?this.unsafeLadder(s,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,s,n),r,i)},setWindowSize(s,r){h8(r,e),d8.set(s,r),av.delete(s);}}}function p8(t,e,s,r){w7(s,t),b7(r,e);let n=s.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=t.ZERO,o=EI(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Va(c),l=new Array(Number(u)+1).fill(a),p=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=p;E>=0;E-=c){l.fill(a);for(let I=0;I<i;I++){let C=r[I],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(s[I]);}let S=a;for(let I=l.length-1,C=a;I>0;I--)C=C.add(l[I]),S=S.add(C);if(w=w.add(S),E!==0)for(let I=0;I<c;I++)w=w.double();}return w}function uv(t){return ev(t.Fp),Ua(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...sv(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function g8(t){t.lowS!==void 0&&Gc("lowS",t.lowS),t.prehash!==void 0&&Gc("prehash",t.prehash);}function S7(t){let e=uv(t);Ua(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:s,Fp:r,a:n}=e;if(s){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var hv=class extends Error{constructor(e=""){super(e);}},sn={Err:hv,_tlv:{encode:(t,e)=>{let{Err:s}=sn;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let r=e.length/2,n=Ff(r);if(n.length/2&128)throw new s("tlv.encode: long form length too big");let i=r>127?Ff(n.length/2|128):"";return Ff(t)+i+n+e},decode(t,e){let{Err:s}=sn,r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new s("tlv.decode: length bytes not complete");if(u[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new s("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new s("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(t){let{Err:e}=sn;if(t<rn)throw new e("integer: negative integers are not allowed");let s=Ff(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){let{Err:e}=sn;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Jr(t)}},toSig(t){let{Err:e,_int:s,_tlv:r}=sn,n=ks("signature",t),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:s.decode(o),s:s.decode(u)}},hexFromSig(t){let{_tlv:e,_int:s}=sn,r=e.encode(2,s.encode(t.r)),n=e.encode(2,s.encode(t.s)),i=r+n;return e.encode(48,i)}};function lv(t,e){return Wc(La(t,e))}var rn=BigInt(0),Kt=BigInt(1);BigInt(2);var fv=BigInt(3),v7=BigInt(4);function E7(t){let e=S7(t),{Fp:s}=e,r=tn(e.n,e.nBitLength),n=e.toBytes||((B,k,O)=>{let G=k.toAffine();return Gf(Uint8Array.from([4]),s.toBytes(G.x),s.toBytes(G.y))}),i=e.fromBytes||(B=>{let k=B.subarray(1),O=s.fromBytes(k.subarray(0,s.BYTES)),G=s.fromBytes(k.subarray(s.BYTES,2*s.BYTES));return {x:O,y:G}});function a(B){let{a:k,b:O}=e,G=s.sqr(B),re=s.mul(G,B);return s.add(s.add(re,s.mul(B,k)),O)}function o(B,k){let O=s.sqr(k),G=a(B);return s.eql(O,G)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=s.mul(s.pow(e.a,fv),v7),u=s.mul(s.sqr(e.b),BigInt(27));if(s.is0(s.add(c,u)))throw new Error("bad curve params: a or b");function l(B){return Xp(B,Kt,e.n)}function p(B){let{allowedPrivateKeyLengths:k,nByteLength:O,wrapPrivateKey:G,n:re}=e;if(k&&typeof B!="bigint"){if(Kc(B)&&(B=Wc(B)),typeof B!="string"||!k.includes(B.length))throw new Error("invalid private key");B=B.padStart(O*2,"0");}let Q;try{Q=typeof B=="bigint"?B:Jr(ks("private key",B,O));}catch{throw new Error("invalid private key, expected hex or "+O+" bytes, got "+typeof B)}return G&&(Q=cs(Q,re)),Da("private key",Q,Kt,re),Q}function w(B){if(!(B instanceof I))throw new Error("ProjectivePoint expected")}let E=xS((B,k)=>{let{px:O,py:G,pz:re}=B;if(s.eql(re,s.ONE))return {x:O,y:G};let Q=B.is0();k==null&&(k=Q?s.ONE:s.inv(re));let oe=s.mul(O,k),pe=s.mul(G,k),se=s.mul(re,k);if(Q)return {x:s.ZERO,y:s.ZERO};if(!s.eql(se,s.ONE))throw new Error("invZ was invalid");return {x:oe,y:pe}}),S=xS(B=>{if(B.is0()){if(e.allowInfinityPoint&&!s.is0(B.py))return;throw new Error("bad point: ZERO")}let{x:k,y:O}=B.toAffine();if(!s.isValid(k)||!s.isValid(O))throw new Error("bad point: x or y not FE");if(!o(k,O))throw new Error("bad point: equation left != right");if(!B.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class I{constructor(k,O,G){if(k==null||!s.isValid(k))throw new Error("x required");if(O==null||!s.isValid(O)||s.is0(O))throw new Error("y required");if(G==null||!s.isValid(G))throw new Error("z required");this.px=k,this.py=O,this.pz=G,Object.freeze(this);}static fromAffine(k){let{x:O,y:G}=k||{};if(!k||!s.isValid(O)||!s.isValid(G))throw new Error("invalid affine point");if(k instanceof I)throw new Error("projective point not allowed");let re=Q=>s.eql(Q,s.ZERO);return re(O)&&re(G)?I.ZERO:new I(O,G,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(k){let O=tv(s,k.map(G=>G.pz));return k.map((G,re)=>G.toAffine(O[re])).map(I.fromAffine)}static fromHex(k){let O=I.fromAffine(i(ks("pointHex",k)));return O.assertValidity(),O}static fromPrivateKey(k){return I.BASE.multiply(p(k))}static msm(k,O){return p8(I,r,k,O)}_setWindowSize(k){V.setWindowSize(this,k);}assertValidity(){S(this);}hasEvenY(){let{y:k}=this.toAffine();if(s.isOdd)return !s.isOdd(k);throw new Error("Field doesn't support isOdd")}equals(k){w(k);let{px:O,py:G,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.eql(s.mul(O,pe),s.mul(Q,re)),ce=s.eql(s.mul(G,pe),s.mul(oe,re));return se&&ce}negate(){return new I(this.px,s.neg(this.py),this.pz)}double(){let{a:k,b:O}=e,G=s.mul(O,fv),{px:re,py:Q,pz:oe}=this,pe=s.ZERO,se=s.ZERO,ce=s.ZERO,ge=s.mul(re,re),Ke=s.mul(Q,Q),J=s.mul(oe,oe),X=s.mul(re,Q);return X=s.add(X,X),ce=s.mul(re,oe),ce=s.add(ce,ce),pe=s.mul(k,ce),se=s.mul(G,J),se=s.add(pe,se),pe=s.sub(Ke,se),se=s.add(Ke,se),se=s.mul(pe,se),pe=s.mul(X,pe),ce=s.mul(G,ce),J=s.mul(k,J),X=s.sub(ge,J),X=s.mul(k,X),X=s.add(X,ce),ce=s.add(ge,ge),ge=s.add(ce,ge),ge=s.add(ge,J),ge=s.mul(ge,X),se=s.add(se,ge),J=s.mul(Q,oe),J=s.add(J,J),ge=s.mul(J,X),pe=s.sub(pe,ge),ce=s.mul(J,Ke),ce=s.add(ce,ce),ce=s.add(ce,ce),new I(pe,se,ce)}add(k){w(k);let{px:O,py:G,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.ZERO,ce=s.ZERO,ge=s.ZERO,Ke=e.a,J=s.mul(e.b,fv),X=s.mul(O,Q),ue=s.mul(G,oe),Ee=s.mul(re,pe),fe=s.add(O,G),$=s.add(Q,oe);fe=s.mul(fe,$),$=s.add(X,ue),fe=s.sub(fe,$),$=s.add(O,re);let te=s.add(Q,pe);return $=s.mul($,te),te=s.add(X,Ee),$=s.sub($,te),te=s.add(G,re),se=s.add(oe,pe),te=s.mul(te,se),se=s.add(ue,Ee),te=s.sub(te,se),ge=s.mul(Ke,$),se=s.mul(J,Ee),ge=s.add(se,ge),se=s.sub(ue,ge),ge=s.add(ue,ge),ce=s.mul(se,ge),ue=s.add(X,X),ue=s.add(ue,X),Ee=s.mul(Ke,Ee),$=s.mul(J,$),ue=s.add(ue,Ee),Ee=s.sub(X,Ee),Ee=s.mul(Ke,Ee),$=s.add($,Ee),X=s.mul(ue,$),ce=s.add(ce,X),X=s.mul(te,$),se=s.mul(fe,se),se=s.sub(se,X),X=s.mul(fe,ue),ge=s.mul(te,ge),ge=s.add(ge,X),new I(se,ce,ge)}subtract(k){return this.add(k.negate())}is0(){return this.equals(I.ZERO)}wNAF(k){return V.wNAFCached(this,k,I.normalizeZ)}multiplyUnsafe(k){let{endo:O,n:G}=e;Da("scalar",k,rn,G);let re=I.ZERO;if(k===rn)return re;if(this.is0()||k===Kt)return this;if(!O||V.hasPrecomputes(this))return V.wNAFCachedUnsafe(this,k,I.normalizeZ);let{k1neg:Q,k1:oe,k2neg:pe,k2:se}=O.splitScalar(k),ce=re,ge=re,Ke=this;for(;oe>rn||se>rn;)oe&Kt&&(ce=ce.add(Ke)),se&Kt&&(ge=ge.add(Ke)),Ke=Ke.double(),oe>>=Kt,se>>=Kt;return Q&&(ce=ce.negate()),pe&&(ge=ge.negate()),ge=new I(s.mul(ge.px,O.beta),ge.py,ge.pz),ce.add(ge)}multiply(k){let{endo:O,n:G}=e;Da("scalar",k,Kt,G);let re,Q;if(O){let{k1neg:oe,k1:pe,k2neg:se,k2:ce}=O.splitScalar(k),{p:ge,f:Ke}=this.wNAF(pe),{p:J,f:X}=this.wNAF(ce);ge=V.constTimeNegate(oe,ge),J=V.constTimeNegate(se,J),J=new I(s.mul(J.px,O.beta),J.py,J.pz),re=ge.add(J),Q=Ke.add(X);}else {let{p:oe,f:pe}=this.wNAF(k);re=oe,Q=pe;}return I.normalizeZ([re,Q])[0]}multiplyAndAddUnsafe(k,O,G){let re=I.BASE,Q=(pe,se)=>se===rn||se===Kt||!pe.equals(re)?pe.multiplyUnsafe(se):pe.multiply(se),oe=Q(this,O).add(Q(k,G));return oe.is0()?void 0:oe}toAffine(k){return E(this,k)}isTorsionFree(){let{h:k,isTorsionFree:O}=e;if(k===Kt)return !0;if(O)return O(I,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:k,clearCofactor:O}=e;return k===Kt?this:O?O(I,this):this.multiplyUnsafe(e.h)}toRawBytes(k=!0){return Gc("isCompressed",k),this.assertValidity(),n(I,this,k)}toHex(k=!0){return Gc("isCompressed",k),Wc(this.toRawBytes(k))}}I.BASE=new I(e.Gx,e.Gy,s.ONE),I.ZERO=new I(s.ZERO,s.ONE,s.ZERO);let{endo:C,nBitLength:D}=e,V=m8(I,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:I,normPrivateKeyToScalar:p,weierstrassEquation:a,isWithinCurveOrder:l}}function x7(t){let e=uv(t);return Ua(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function y8(t){let e=x7(t),{Fp:s,n:r,nByteLength:n,nBitLength:i}=e,a=s.BYTES+1,o=2*s.BYTES+1;function c(J){return cs(J,r)}function u(J){return vg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:p,weierstrassEquation:w,isWithinCurveOrder:E}=E7({...e,toBytes(J,X,ue){let Ee=X.toAffine(),fe=s.toBytes(Ee.x),$=Gf;return Gc("isCompressed",ue),ue?$(Uint8Array.from([X.hasEvenY()?2:3]),fe):$(Uint8Array.from([4]),fe,s.toBytes(Ee.y))},fromBytes(J){let X=J.length,ue=J[0],Ee=J.subarray(1);if(X===a&&(ue===2||ue===3)){let fe=Jr(Ee);if(!Xp(fe,Kt,s.ORDER))throw new Error("Point is not on curve");let $=w(fe),te;try{te=s.sqrt($);}catch(Re){let ze=Re instanceof Error?": "+Re.message:"";throw new Error("Point is not on curve"+ze)}let ie=(te&Kt)===Kt;return (ue&1)===1!==ie&&(te=s.neg(te)),{x:fe,y:te}}else if(X===o&&ue===4){let fe=s.fromBytes(Ee.subarray(0,s.BYTES)),$=s.fromBytes(Ee.subarray(s.BYTES,2*s.BYTES));return {x:fe,y:$}}else {let fe=a,$=o;throw new Error("invalid Point, expected length of "+fe+", or uncompressed "+$+", got "+X)}}});function S(J){let X=r>>Kt;return J>X}function I(J){return S(J)?c(-J):J}let C=(J,X,ue)=>Jr(J.slice(X,ue));class D{constructor(X,ue,Ee){Da("r",X,Kt,r),Da("s",ue,Kt,r),this.r=X,this.s=ue,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(X){let ue=n;return X=ks("compactSignature",X,ue*2),new D(C(X,0,ue),C(X,ue,2*ue))}static fromDER(X){let{r:ue,s:Ee}=sn.toSig(ks("DER",X));return new D(ue,Ee)}assertValidity(){}addRecoveryBit(X){return new D(this.r,this.s,X)}recoverPublicKey(X){let{r:ue,s:Ee,recovery:fe}=this,$=re(ks("msgHash",X));if(fe==null||![0,1,2,3].includes(fe))throw new Error("recovery id invalid");let te=fe===2||fe===3?ue+e.n:ue;if(te>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");let ie=fe&1?"03":"02",xe=l.fromHex(ie+lv(te,s.BYTES)),Re=u(te),ze=c(-$*Re),Ut=c(Ee*Re),Ge=l.BASE.multiplyAndAddUnsafe(xe,ze,Ut);if(!Ge)throw new Error("point at infinify");return Ge.assertValidity(),Ge}hasHighS(){return S(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Kf(this.toDERHex())}toDERHex(){return sn.hexFromSig(this)}toCompactRawBytes(){return Kf(this.toCompactHex())}toCompactHex(){let X=n;return lv(this.r,X)+lv(this.s,X)}}let V={isValidPrivateKey(J){try{return p(J),!0}catch{return !1}},normPrivateKeyToScalar:p,randomPrivateKey:()=>{let J=rv(e.n);return u8(e.randomBytes(J),e.n)},precompute(J=8,X=l.BASE){return X._setWindowSize(J),X.multiply(BigInt(3)),X}};function B(J,X=!0){return l.fromPrivateKey(J).toRawBytes(X)}function k(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ue=ks("key",J).length,Ee=s.BYTES,fe=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===fe))return ue===fe||ue===$}function O(J,X,ue=!0){if(k(J)===!0)throw new Error("first arg must be private key");if(k(X)===!1)throw new Error("second arg must be public key");return l.fromHex(X).multiply(p(J)).toRawBytes(ue)}let G=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let X=Jr(J),ue=J.length*8-i;return ue>0?X>>BigInt(ue):X},re=e.bits2int_modN||function(J){return c(G(J))},Q=Va(i);function oe(J){return Da("num < 2^"+i,J,rn,Q),La(J,n)}function pe(J,X,ue=se){if(["recovered","canonical"].some(de=>de in ue))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:fe}=e,{lowS:$,prehash:te,extraEntropy:ie}=ue;$==null&&($=!0),J=ks("msgHash",J),g8(ue),te&&(J=ks("prehashed msgHash",Ee(J)));let xe=re(J),Re=p(X),ze=[oe(Re),oe(xe)];if(ie!=null&&ie!==!1){let de=ie===!0?fe(s.BYTES):ie;ze.push(ks("extraEntropy",de));}let Ut=Gf(...ze),Ge=xe;function je(de){let as=G(de);if(!E(as))return;let ys=u(as),Bt=l.BASE.multiply(as).toAffine(),Fe=c(Bt.x);if(Fe===rn)return;let va=c(ys*c(Ge+Fe*Re));if(va===rn)return;let Kn=(Bt.x===Fe?0:2)|Number(Bt.y&Kt),Dc=va;return $&&S(va)&&(Dc=I(va),Kn^=1),new D(Fe,Dc,Kn)}return {seed:Ut,k2sig:je}}let se={lowS:e.lowS,prehash:!1},ce={lowS:e.lowS,prehash:!1};function ge(J,X,ue=se){let{seed:Ee,k2sig:fe}=pe(J,X,ue),$=e;return xI($.hash.outputLen,$.nByteLength,$.hmac)(Ee,fe)}l.BASE._setWindowSize(8);function Ke(J,X,ue,Ee=ce){let fe=J;X=ks("msgHash",X),ue=ks("publicKey",ue);let{lowS:$,prehash:te,format:ie}=Ee;if(g8(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ie!==void 0&&ie!=="compact"&&ie!=="der")throw new Error("format must be compact or der");let xe=typeof fe=="string"||Kc(fe),Re=!xe&&!ie&&typeof fe=="object"&&fe!==null&&typeof fe.r=="bigint"&&typeof fe.s=="bigint";if(!xe&&!Re)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ze,Ut;try{if(Re&&(ze=new D(fe.r,fe.s)),xe){try{ie!=="compact"&&(ze=D.fromDER(fe));}catch(Kn){if(!(Kn instanceof sn.Err))throw Kn}!ze&&ie!=="der"&&(ze=D.fromCompact(fe));}Ut=l.fromHex(ue);}catch{return !1}if(!ze||$&&ze.hasHighS())return !1;te&&(X=e.hash(X));let{r:Ge,s:je}=ze,de=re(X),as=u(je),ys=c(de*as),Bt=c(Ge*as),Fe=l.BASE.multiplyAndAddUnsafe(Ut,ys,Bt)?.toAffine();return Fe?c(Fe.x)===Ge:!1}return {CURVE:e,getPublicKey:B,getSharedSecret:O,sign:ge,verify:Ke,ProjectivePoint:l,Signature:D,utils:V}}function A7(t){return {hash:t,hmac:(e,...s)=>QS(t,e,j3(...s)),randomBytes:M3}}function nu(t,e){let s=r=>y8({...t,...A7(r)});return {...s(e),create:s}}var S8=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),w8=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),I7=BigInt(0),C7=BigInt(1),dv=BigInt(2),b8=(t,e)=>(t+e/dv)/e;function N7(t){let e=S8,s=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,p=_s(l,s,e)*l%e,w=_s(p,s,e)*l%e,E=_s(w,dv,e)*u%e,S=_s(E,n,e)*E%e,I=_s(S,i,e)*S%e,C=_s(I,o,e)*I%e,D=_s(C,c,e)*C%e,V=_s(D,o,e)*I%e,B=_s(V,s,e)*l%e,k=_s(B,a,e)*S%e,O=_s(k,r,e)*u%e,G=_s(O,dv,e);if(!mv.eql(mv.sqr(G),t))throw new Error("Cannot find square root");return G}var mv=tn(S8,void 0,void 0,{sqrt:N7}),Hs=nu({a:I7,b:BigInt(7),Fp:mv,n:w8,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=w8,s=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-C7*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=s,a=BigInt("0x100000000000000000000000000000000"),o=b8(i*t,e),c=b8(-r*t,e),u=cs(t-o*s-c*n,e),l=cs(-o*r-c*i,e),p=u>a,w=l>a;if(p&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return {k1neg:p,k1:u,k2neg:w,k2:l}}}},Fc);function Cg(t,e={}){let{recovered:s}=e;if(typeof t.r>"u")throw new iu({signature:t});if(typeof t.s>"u")throw new iu({signature:t});if(s&&typeof t.yParity>"u")throw new iu({signature:t});if(t.r<0n||t.r>GS)throw new xg({value:t.r});if(t.s<0n||t.s>GS)throw new Ag({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Wa({value:t.yParity})}function v8(t){return pv(Ue(t))}function pv(t){if(t.length!==130&&t.length!==132)throw new Eg({signature:t});let e=BigInt(At(t,0,32)),s=BigInt(At(t,32,64)),r=(()=>{let n=+`0x${t.slice(130)}`;if(!Number.isNaN(n))try{return Tg(n)}catch{throw new Wa({value:n})}})();return typeof r>"u"?{r:e,s}:{r:e,s,yParity:r}}function Ng(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return lh(t)}function lh(t){let e=typeof t=="string"?pv(t):t instanceof Uint8Array?v8(t):typeof t.r=="string"?A8(t):t.v?x8(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return Cg(e),e}function T7(t){return E8(Ue(t))}function E8(t){let{r:e,s}=Hs.Signature.fromDER(Ss(t).slice(2));return {r:e,s}}function x8(t){return {r:t.r,s:t.s,yParity:Tg(t.v)}}function A8(t){let e=(()=>{let s=t.v?Number(t.v):void 0,r=t.yParity?Number(t.yParity):void 0;if(typeof s=="number"&&typeof r!="number"&&(r=Tg(s)),typeof r!="number")throw new Wa({value:t.yParity});return r})();return {r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function gv(t){let[e,s,r]=t;return lh({r:s==="0x"?0n:BigInt(s),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function k7(t){return dt(I8(t))}function I8(t){Cg(t);let e=t.r,s=t.s;return at(ve(e,{size:32}),ve(s,{size:32}),typeof t.yParity=="number"?ve(bv(t.yParity),{size:1}):"0x")}function B7(t){return new Hs.Signature(t.r,t.s).toDERRawBytes()}function P7(t){return `0x${new Hs.Signature(t.r,t.s).toDERHex()}`}function O7(t){return {r:t.r,s:t.s,v:bv(t.yParity)}}function yv(t){let{r:e,s,yParity:r}=t;return {r:ve(e,{size:32}),s:ve(s,{size:32}),yParity:r===0?"0x0":"0x1"}}function wv(t){let{r:e,s,yParity:r}=t;return [r?"0x01":"0x",e===0n?"0x":Ha(ve(e)),s===0n?"0x":Ha(ve(s))]}function R7(t,e={}){try{return Cg(t,e),!0}catch{return !1}}function Tg(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new Ig({value:t})}function bv(t){if(t===0)return 27;if(t===1)return 28;throw new Wa({value:t})}var Eg=class extends ne{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},iu=class extends ne{constructor({signature:e}){super(`Signature \`${sr(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},xg=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},Ag=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Wa=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},Ig=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();h();var L7=new TextEncoder,D7=new TextDecoder,kg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[e,t.charCodeAt(0)])),Bg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[t.charCodeAt(0),e])),61:0,45:62,95:63};function V7(t,e={}){let{pad:s=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(t.length/3)*4);for(let c=0,u=0;u<t.length;c+=4,u+=3){let l=(t[u]<<16)+(t[u+1]<<8)+(t[u+2]|0);n[c]=kg[l>>18],n[c+1]=kg[l>>12&63],n[c+2]=kg[l>>6&63],n[c+3]=kg[l&63];}let i=t.length%3,a=Math.floor(t.length/3)*4+(i&&i+1),o=D7.decode(new Uint8Array(n.buffer,0,a));return s&&i===1&&(o+="=="),s&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function C8(t,e={}){return V7(dt(t),e)}function fh(t){let e=t.replace(/=+$/,""),s=e.length,r=new Uint8Array(s+3);L7.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(Bg[r[i]]<<18)+(Bg[r[i+1]]<<12)+(Bg[r[i+2]]<<6)+Bg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(s>>2)*3+(s%4&&s%4-1);return new Uint8Array(r.buffer,0,n)}var es={};Ne(es,{createKeyPair:()=>_7,getPublicKey:()=>k8,getSharedSecret:()=>H7,noble:()=>U7,randomPrivateKey:()=>B8,recoverAddress:()=>P8,recoverPublicKey:()=>O8,sign:()=>j7,verify:()=>M7});d();h();d();h();var Pg=!1;var U7=Hs;function _7(t={}){let{as:e="Hex"}=t,s=B8({as:e}),r=k8({privateKey:s});return {privateKey:s,publicKey:r}}function k8(t){let{privateKey:e}=t,s=Hs.ProjectivePoint.fromPrivateKey(Ss(e).slice(2));return Qr(s)}function H7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,a=Hs.ProjectivePoint.fromHex(ri(r).slice(2)).multiply(Hs.utils.normPrivateKeyToScalar(Ss(s).slice(2))).toRawBytes(!0);return e==="Hex"?Ue(a):a}function B8(t={}){let{as:e="Hex"}=t,s=Hs.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function P8(t){return MS(O8(t))}function O8(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,o=new Hs.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(Ss(e).substring(2));return Qr(o)}function j7(t){let{extraEntropy:e=Pg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=Hs.sign(Zr(r),Zr(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function M7(t){let{address:e,hash:s,payload:r,publicKey:n,signature:i}=t;return e?$S(e,P8({payload:r,signature:i})):Hs.verify(i,Zr(r),_I(n),...s?[{prehash:!0,lowS:!0}]:[])}d();h();function R8(t,e={}){return {...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,logIndex:t.logIndex?Number(t.logIndex):null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null}}function L8(t,e={}){return {address:t.address,blockHash:t.blockHash,blockNumber:typeof t.blockNumber=="bigint"?ve(t.blockNumber):null,data:t.data,logIndex:typeof t.logIndex=="number"?ve(t.logIndex):null,topics:t.topics,transactionHash:t.transactionHash,transactionIndex:typeof t.transactionIndex=="number"?ve(t.transactionIndex):null,removed:t.removed}}var au={};Ne(au,{createKeyPair:()=>z7,getPublicKey:()=>H8,getSharedSecret:()=>Y7,noble:()=>J7,randomPrivateKey:()=>j8,recoverPublicKey:()=>Z7,sign:()=>X7,verify:()=>Ev});d();h();d();h();d();h();var V8=tn(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),$7=V8.create(BigInt("-3")),q7=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Sv=nu({a:$7,b:q7,Fp:V8,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Fc);var U8=tn(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),F7=U8.create(BigInt("-3")),K7=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");nu({a:F7,b:K7,Fp:U8,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},gI);var _8=tn(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),G7=_8.create(BigInt("-3")),W7=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");nu({a:G7,b:W7,Fp:_8,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},pI);var vv=Sv,nn=Sv;var J7=nn;function z7(t={}){let{as:e="Hex"}=t,s=j8({as:e}),r=H8({privateKey:s});return {privateKey:s,publicKey:r}}function H8(t){let{privateKey:e}=t,s=nn.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Ue(e).slice(2));return Qr(s)}function Y7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,n=nn.ProjectivePoint.fromHex(ri(r).slice(2)),i=typeof s=="string"?s.slice(2):Ue(s).slice(2),o=n.multiply(nn.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Ue(o):o}function j8(t={}){let{as:e="Hex"}=t,s=nn.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function Z7(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,a=new nn.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Ue(e):e,c=a.recoverPublicKey(o.substring(2));return Qr(c)}function X7(t){let{extraEntropy:e=Pg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=nn.sign(r instanceof Uint8Array?r:dt(r),n instanceof Uint8Array?n:dt(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function Ev(t){let{hash:e,payload:s,publicKey:r,signature:n}=t;return nn.verify(n,s instanceof Uint8Array?s:dt(s),ri(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var Og={};Ne(Og,{encode:()=>M8,getSignPayload:()=>Q7});d();h();function M8(t){let e=Ss(t);return at("0x19",Bs(`Ethereum Signed Message:
340
- `+Xe(e)),e)}function Q7(t){return Lt(M8(t))}d();h();d();h();var $8={wei:0,gwei:9,szabo:12,finney:15,ether:18};function e9(t,e=0){let s=t.toString(),r=s.startsWith("-");r&&(s=s.slice(1)),s=s.padStart(e,"0");let[n,i]=[s.slice(0,s.length-e),s.slice(s.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function Rg(t,e="wei"){return e9(t,$8.gwei-$8[e])}var Lg=class extends ne{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${Rg(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Dg=class extends ne{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Vg=class extends ne{constructor({attributes:e,serialized:s,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${s}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Ug=class extends ne{constructor({maxPriorityFeePerGas:e,maxFeePerGas:s}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${Rg(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${s?` = ${Rg(s)} gwei`:""}).`].join(`
341
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var Ja={};Ne(Ja,{assert:()=>hh,deserialize:()=>G8,from:()=>t9,getSignPayload:()=>s9,hash:()=>W8,serialize:()=>J8,serializedType:()=>K8,toRpc:()=>r9,type:()=>xv,validate:()=>n9});d();h();var K8="0x02",xv="eip1559";function hh(t){let{chainId:e,maxPriorityFeePerGas:s,maxFeePerGas:r,to:n}=t;if(e<=0)throw new Dg({chainId:e});if(n&&Es(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new Lg({feeCap:r});if(s&&r&&s>r)throw new Ug({maxFeePerGas:r,maxPriorityFeePerGas:s})}function G8(t){let e=ZI(At(t,1)),[s,r,n,i,a,o,c,u,l,p,w,E]=e;if(!(e.length===9||e.length===12))throw new Vg({attributes:{chainId:s,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:p,r:w,s:E}:{}},serialized:t,type:xv});let S={chainId:Number(s),type:xv};vs(o)&&o!=="0x"&&(S.to=o),vs(a)&&a!=="0x"&&(S.gas=BigInt(a)),vs(u)&&u!=="0x"&&(S.data=u),vs(r)&&(S.nonce=r==="0x"?0n:BigInt(r)),vs(c)&&c!=="0x"&&(S.value=BigInt(c)),vs(i)&&i!=="0x"&&(S.maxFeePerGas=BigInt(i)),vs(n)&&n!=="0x"&&(S.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(S.accessList=WI(l));let I=w&&E&&p?gv([p,w,E]):void 0;return I&&(S={...S,...I}),hh(S),S}function t9(t,e={}){let{signature:s}=e,r=typeof t=="string"?G8(t):t;return hh(r),{...r,...s?lh(s):{},type:"eip1559"}}function s9(t){return W8(t,{presign:!0})}function W8(t,e={}){let{presign:s}=e;return Lt(J8({...t,...s?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function J8(t,e={}){let{chainId:s,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:p}=t;hh(t);let w=JI(u),E=Ng(e.signature||t),S=[ve(s),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??p??"0x",w,...E?wv(E):[]];return at(K8,QI(S))}function r9(t){let e=Ng(t);return {...t,chainId:ve(t.chainId),data:t.data??t.input,type:"0x2",...typeof t.gas=="bigint"?{gas:ve(t.gas)}:{},...typeof t.nonce=="bigint"?{nonce:ve(t.nonce)}:{},...typeof t.value=="bigint"?{value:ve(t.value)}:{},...typeof t.maxFeePerGas=="bigint"?{maxFeePerGas:ve(t.maxFeePerGas)}:{},...typeof t.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(t.maxPriorityFeePerGas)}:{},...e?yv(e):{}}}function n9(t){try{return hh(t),!0}catch{return !1}}var ou={};Ne(ou,{fromRpc:()=>i9,fromRpcStatus:()=>z8,fromRpcType:()=>Z8,toRpc:()=>a9,toRpcStatus:()=>Y8,toRpcType:()=>X8});d();h();var z8={"0x0":"reverted","0x1":"success"},Y8={reverted:"0x0",success:"0x1"},Z8={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},X8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function i9(t){return t?{...t,blobGasPrice:t.blobGasPrice?BigInt(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,blockNumber:BigInt(t.blockNumber??0n),cumulativeGasUsed:BigInt(t.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(t.effectiveGasPrice??0n),gasUsed:BigInt(t.gasUsed??0n),logs:t.logs.map(e=>R8(e,{pending:!1})),status:z8[t.status],transactionIndex:Number(t.transactionIndex??0),type:Z8[t.type]||t.type}:null}function a9(t){return {blobGasPrice:t.blobGasPrice?ve(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?ve(t.blobGasUsed):void 0,blockHash:t.blockHash,blockNumber:ve(t.blockNumber),contractAddress:t.contractAddress,cumulativeGasUsed:ve(t.cumulativeGasUsed),effectiveGasPrice:ve(t.effectiveGasPrice),from:t.from,gasUsed:ve(t.gasUsed),logs:t.logs.map(L8),logsBloom:t.logsBloom,root:t.root,status:Y8[t.status],to:t.to,transactionHash:t.transactionHash,transactionIndex:ve(t.transactionIndex),type:X8[t.type]??t.type}}var mh={};Ne(mh,{BytesSizeMismatchError:()=>_g,InvalidDomainError:()=>Hg,InvalidPrimaryTypeError:()=>jg,InvalidStructTypeError:()=>Mg,assert:()=>Av,domainSeparator:()=>o9,encode:()=>Q8,encodeData:()=>Nv,encodeField:()=>Tv,encodeType:()=>eC,extractEip712DomainTypes:()=>$g,findTypeDependencies:()=>kv,getSignPayload:()=>dh,hashDomain:()=>Iv,hashStruct:()=>Cv,hashType:()=>tC,serialize:()=>c9,validate:()=>u9});d();h();function Av(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,p=o[u],w=l.match(tu);if(w&&(typeof p=="number"||typeof p=="bigint")){let[,I,C]=w;ve(p,{signed:I==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof p=="string"&&!$a(p))throw new Ma({address:p,cause:new Xc});let E=l.match(hg);if(E){let[,I]=E;if(I&&Xe(p)!==Number.parseInt(I,10))throw new _g({expectedSize:Number.parseInt(I,10),givenSize:Xe(p)})}let S=n[l];S&&(l9(l),i(S,p));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new Hg({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],s);else throw new jg({primaryType:r,types:n})}function o9(t){return Iv({domain:t})}function Q8(t){let{domain:e={},message:s,primaryType:r}=t,n={EIP712Domain:$g(e),...t.types};Av({domain:e,message:s,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(Iv({domain:e,types:n})),r!=="EIP712Domain"&&i.push(Cv({data:s,primaryType:r,types:n})),at(...i)}function eC(t){let{primaryType:e,types:s}=t,r="",n=kv({primaryType:e,types:s});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(s[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function $g(t){return [typeof t?.name=="string"&&{name:"name",type:"string"},t?.version&&{name:"version",type:"string"},(typeof t?.chainId=="number"||typeof t?.chainId=="bigint")&&{name:"chainId",type:"uint256"},t?.verifyingContract&&{name:"verifyingContract",type:"address"},t?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function dh(t){return Lt(Q8(t))}function Iv(t){let{domain:e,types:s}=t;return Cv({data:e,primaryType:"EIP712Domain",types:{...s,EIP712Domain:s?.EIP712Domain||$g(e)}})}function Cv(t){let{data:e,primaryType:s,types:r}=t,n=Nv({data:e,primaryType:s,types:r});return Lt(n)}function c9(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(c,u)=>{let l={...u};for(let p of c){let{name:w,type:E}=p;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??$g(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],s):{}})();return sr({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function u9(t){try{return Av(t),!0}catch{return !1}}var _g=class extends ne{constructor({expectedSize:e,givenSize:s}){super(`Expected bytes${e}, got bytes${s}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},Hg=class extends ne{constructor({domain:e}){super(`Invalid domain "${sr(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},jg=class extends ne{constructor({primaryType:e,types:s}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(s))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},Mg=class extends ne{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function Nv(t){let{data:e,primaryType:s,types:r}=t,n=[{type:"bytes32"}],i=[tC({primaryType:s,types:r})];for(let a of r[s]??[]){let[o,c]=Tv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return en(n,i)}function tC(t){let{primaryType:e,types:s}=t,r=Bs(eC({primaryType:e,types:s}));return Lt(r)}function Tv(t){let{types:e,name:s,type:r,value:n}=t;if(e[r]!==void 0)return [{type:"bytes32"},Lt(Nv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Lt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Lt(Xr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>Tv({name:s,type:i,types:e,value:o}));return [{type:"bytes32"},Lt(en(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function kv(t,e=new Set){let{primaryType:s,types:r}=t,i=s.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])kv({primaryType:a.type,types:r},e);return e}function l9(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new Mg({type:t})}var ii={};Ne(ii,{CredentialCreationFailedError:()=>ni,CredentialRequestFailedError:()=>ph,createChallenge:()=>nC,createCredential:()=>h9,getAuthenticatorData:()=>iC,getClientDataJSON:()=>aC,getCredentialCreationOptions:()=>oC,getCredentialRequestOptions:()=>cC,getSignPayload:()=>d9,sign:()=>m9,verify:()=>p9});d();h();d();h();function sC(t){let e=t[4]===0?5:4,s=e+32,r=t[s+2]===0?s+3:s+2,n=BigInt(Ue(t.slice(e,s))),i=BigInt(Ue(t.slice(r)));return {r:n,s:i>vv.CURVE.n/2n?vv.CURVE.n-i:i}}async function rC(t){try{let e=t.getPublicKey();if(!e)throw new ni;let s=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(s),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Qr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let s=new Uint8Array(t.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<s.length-u.length;l++)if(u.every((p,w)=>s[l+w]===p))return l+u.length;throw new ni},a=i(33),o=i(34);return Qr(new Uint8Array([4,...s.slice(a,a+r),...s.slice(o,o+r)]))}}var nC=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function h9(t){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...s}=t,r=oC(s);try{let n=await e(r);if(!n)throw new ni;let i=n.response,a=await rC(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new ni({cause:n})}}function iC(t={}){let{flag:e=5,rpId:s=window.location.hostname,signCount:r=0}=t,n=th(Bs(s)),i=ve(e,{size:1}),a=ve(r,{size:4});return at(n,i,a)}function aC(t){let{challenge:e,crossOrigin:s=!1,extraClientData:r,origin:n=window.location.origin}=t;return JSON.stringify({type:"webauthn.get",challenge:C8(e,{url:!0,pad:!1}),origin:n,crossOrigin:s,...r})}function oC(t){let{attestation:e="none",authenticatorSelection:s={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=nC,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=t,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:s,challenge:typeof r=="string"?dt(r):r,...n?{excludeCredentials:n?.map(l=>({id:fh(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Lt(Xr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function cC(t){let{credentialId:e,challenge:s,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=t;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:fh(a),type:"public-key"})):[{id:fh(e),type:"public-key"}]}:{},challenge:dt(s),...r&&{extensions:r},rpId:n,userVerification:i}}}function d9(t){let{challenge:e,crossOrigin:s,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=t,u=iC({flag:n,rpId:a,signCount:o}),l=aC({challenge:e,crossOrigin:s,extraClientData:r,origin:i}),p=th(Bs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),S={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},I=at(u,p);return {metadata:S,payload:I}}async function m9(t){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...s}=t,r=cC(s);try{let n=await e(r);if(!n)throw new ph;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=sC(new Uint8Array(i.signature));return {metadata:{authenticatorData:Ue(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new ph({cause:n})}}function p9(t){let{challenge:e,hash:s=!0,metadata:r,publicKey:n,signature:i}=t,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,p=dt(a);if(p.length<37)return !1;let w=p[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let V='"type":"webauthn.get"';if(V!==c.slice(Number(u),V.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[S,I]=E;if(Ue(fh(I))!==e)return !1;let C=th(Xr(c),{as:"Bytes"}),D=PS(p,C);return Ev({hash:s,payload:D,publicKey:n,signature:i})}var ni=class extends ne{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},ph=class extends ne{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();h();var du={};Ne(du,{from:()=>oL});d();h();var Ye={};Ne(Ye,{configFromJson:()=>rL,configToJson:()=>sL,evaluateConfigurationSafety:()=>iL,findSignerLeaf:()=>Sh,flatLeavesToTopology:()=>lE,getSigners:()=>tL,getWeight:()=>vh,hasInvalidValues:()=>fu,hashConfiguration:()=>hs,isAnyAddressSubdigestLeaf:()=>ar,isConfig:()=>hu,isLeaf:()=>CC,isNestedLeaf:()=>As,isNode:()=>Dt,isNodeLeaf:()=>Jt,isSapientSignerLeaf:()=>fs,isSignerLeaf:()=>ls,isSubdigestLeaf:()=>ir,isTopology:()=>lu,maximumDepth:()=>Eh,mergeTopology:()=>n1,normalizeSignerSignature:()=>nL,replaceAddress:()=>r1,topologyToFlatLeaves:()=>e1});d();h();var ts={};Ne(ts,{FLAG_ADDRESS:()=>tE,FLAG_BRANCH:()=>rE,FLAG_NESTED:()=>iE,FLAG_NODE:()=>Wg,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>oE,FLAG_SIGNATURE_ERC1271:()=>sE,FLAG_SIGNATURE_ETH_SIGN:()=>aE,FLAG_SIGNATURE_HASH:()=>eE,FLAG_SIGNATURE_SAPIENT:()=>Jg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>cE,FLAG_SUBDIGEST:()=>nE,decodeSignature:()=>vC,encodeChainedSignature:()=>EC,encodeSignature:()=>xC,encodeTopology:()=>yh,fillLeaves:()=>Fg,isRawConfig:()=>Xg,isRawLeaf:()=>SC,isRawNestedLeaf:()=>bh,isRawNode:()=>zg,isRawSignature:()=>bC,isRawSignerLeaf:()=>wh,isRawTopology:()=>Yg,isSignatureOfSapientSignerLeaf:()=>z9,isSignedSapientSignerLeaf:()=>uE,isSignedSignerLeaf:()=>Qg,parseBranch:()=>Zg,rawSignatureFromJson:()=>X9,rawSignatureToJson:()=>Y9,recover:()=>Xv});d();h();var yt={};Ne(yt,{DEPLOY:()=>uC,DefaultGuestAddress:()=>w9,EXECUTE:()=>E9,EXECUTE_USER_OP:()=>Ov,GET_IMPLEMENTATION:()=>b9,GET_LIMIT_USAGE:()=>N9,IMAGE_HASH:()=>S9,INCREMENT_USAGE_LIMIT:()=>C9,IS_VALID_SIGNATURE:()=>gh,PlaceholderAddress:()=>y9,READ_ENTRYPOINT:()=>I9,READ_NONCE:()=>v9,READ_NONCE_4337:()=>A9,RECOVER_SAPIENT_SIGNATURE:()=>Bv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>Pv,UPDATE_IMAGE_HASH:()=>x9,ZeroAddress:()=>g9});d();h();var g9="0x0000000000000000000000000000000000000000",y9="0xffff0000ffff0000ffff0000ffff0000ffff0000",w9="0x0000000000006Ac72ed1d192fa28f0058D3F8806",gh=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],uC=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],b9=He.from(["function getImplementation() external view returns (address)"])[0],S9=He.from(["function imageHash() external view returns (bytes32)"])[0],v9=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],E9=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],x9=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],Bv=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],Pv=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Ov=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],A9=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],I9=He.from(["function entrypoint() public view returns (address)"])[0],C9=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],N9=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();d();h();var an={};Ne(an,{InvalidWrappedSignatureError:()=>qg,assert:()=>Lv,from:()=>B9,magicBytes:()=>Rv,universalSignatureValidatorAbi:()=>k9,universalSignatureValidatorBytecode:()=>T9,unwrap:()=>lC,validate:()=>O9,wrap:()=>P9});d();h();var Rv="0x6492649264926492649264926492649264926492649264926492649264926492",T9="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",k9=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Lv(t){if(At(t,-32)!==Rv)throw new qg(t)}function B9(t){return typeof t=="string"?lC(t):t}function lC(t){Lv(t);let[e,s,r]=ru(bg("address, bytes, bytes"),t);return {data:s,signature:r,to:e}}function P9(t){let{data:e,signature:s,to:r}=t;return at(en(bg("address, bytes, bytes"),[r,e,s]),Rv)}function O9(t){try{return Lv(t),!0}catch{return !1}}var qg=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function Dv(t,{to:e,data:s}){let r=P.concat(mt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,P.from(s),P.from(t)]),an.magicBytes);switch(typeof t){case"object":return P.toBytes(r);case"string":return r}}function fC(t){switch(typeof t){case"object":if(f.toHex(t.subarray(-an.magicBytes.slice(2).length/2))===an.magicBytes){let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.subarray(0,-an.magicBytes.slice(2).length/2));return {signature:P.toBytes(r),erc6492:{to:e,data:P.toBytes(s)}}}else return {signature:t};case"string":if(t.endsWith(an.magicBytes.slice(2)))try{let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.slice(0,-an.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:s}}}catch{return {signature:t}}else return {signature:t}}}var Te={};Ne(Te,{BEHAVIOR_ABORT_ON_ERROR:()=>Fv,BEHAVIOR_IGNORE_ERROR:()=>$v,BEHAVIOR_REVERT_ON_ERROR:()=>qv,KIND_CONFIG_UPDATE:()=>jv,KIND_DIGEST:()=>Mv,KIND_MESSAGE:()=>Hv,KIND_TRANSACTIONS:()=>_v,decode:()=>G9,decodeBehaviorOnError:()=>wC,encode:()=>mC,encode4337Nonce:()=>pC,encodeBehaviorOnError:()=>uu,encodeSapient:()=>q9,fromAbiFormat:()=>J9,fromCall:()=>U9,fromConfigUpdate:()=>Kv,fromDigest:()=>V9,fromMessage:()=>D9,hash:()=>cu,hashCall:()=>K9,isCalls:()=>_9,isCalls4337_07:()=>M9,isConfigUpdate:()=>j9,isDigest:()=>dC,isMessage:()=>H9,isParented:()=>$9,isRecovery:()=>Gv,isSessionImplicitAuthorize:()=>Jv,to4337Message:()=>yC,to4337UserOperation:()=>gC,toAbiFormat:()=>Yv,toRecovery:()=>Wv,toTyped:()=>zv});d();h();var Ya={};Ne(Ya,{createJSONReplacer:()=>Vv,createJSONReviver:()=>Uv,fromJSON:()=>L9,minBytesFor:()=>js,packRSY:()=>on,toJSON:()=>R9,unpackRSY:()=>za});d();h();function js(t){return Math.ceil(t.toString(16).length/2)}function on({r:t,s:e,yParity:s}){let r=f.padLeft(f.fromNumber(t),32),n=f.padLeft(f.fromNumber(e),32);return s%2===1&&(n[0]|=128),f.concat(r,n)}function za(t){let e=f.toBigInt(t.slice(0,32)),s=t.slice(32,64),r=s[0]&128?1:0,n=new Uint8Array(s);n[0]=n[0]&127;let i=f.toBigInt(n);return {r:e,s:i,yParity:r}}function Vv(t){return (e,s)=>typeof s=="bigint"?{__bigint:"0x"+s.toString(16)}:s instanceof Uint8Array?{__uint8array:Array.from(s)}:t?t(e,s):s}function Uv(t){return (e,s)=>{if(s&&typeof s=="object"&&"__bigint"in s&&Object.keys(s).length===1){let r=s.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(s&&typeof s=="object"&&"__uint8array"in s&&Object.keys(s).length===1){let r=s.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return t?t(e,s):s}}function R9(t,e,s){let r=e instanceof Function?Vv(e):Vv();return JSON.stringify(t,r,s)}function L9(t,e){let s=e?Uv(e):Uv();return JSON.parse(t,s)}var _v=0,Hv=1,jv=2,Mv=3,$v=0,qv=1,Fv=2;function D9(t){return {type:"message",message:t}}function Kv(t){return {type:"config-update",imageHash:t}}function V9(t){return {type:"digest",digest:t}}function U9(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function _9(t){return t.type==="call"}function H9(t){return t.type==="message"}function j9(t){return t.type==="config-update"}function dC(t){return t.type==="digest"}function Gv(t){return Jv(t)?!1:t.recovery===!0}function M9(t){return t.type==="call_4337_07"}function $9(t){return "parentWallets"in t}function Wv(t){return Gv(t)?t:{...t,recovery:!0}}function Jv(t){return t.type==="session-implicit-authorize"}function mC(t,e){let s=t.calls.length,r=js(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=uu(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function q9(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(uu(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function cu(t,e,s){if(dC(s))return f.fromHex(s.digest);if(Jv(s))return Wt.hash(s.attestation);let r=zv(t,e,s);return f.fromHex(dh(r))}function F9(t,e,s){return Gv(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function pC(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function zv(t,e,s){let r=F9(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(uu(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:yC(s,t,e)};return zv(t,e,n)}}}function gC(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(mC(r));return {sender:e,nonce:pC(t.space,t.nonce),callData:me.encodeData(Ov,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function yC(t,e,s){let r=gC(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function uu(t){switch(t){case"ignore":return $v;case"revert":return qv;case"abort":return Fv}}function K9(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(uu(t.behaviorOnError))]))}function G9(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let S=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");S=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=wC(B);l.push({to:E,value:S,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function wC(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function W9(t){switch(t){case $v:return "ignore";case qv:return "revert";case Fv:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function J9(t){if(t.kind===_v)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:W9(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Hv)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===jv)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Mv)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function Yv(t){if(t.type==="call")return {kind:_v,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(uu(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:Hv,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:jv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:Mv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var eE=0,tE=1,sE=2,Wg=3,rE=4,nE=5,iE=6,aE=7,oE=8,Jg=9,cE=10;function z9(t){return "type"in t&&(t.type==="sapient_compact"||t.type==="sapient")&&typeof t=="object"&&"address"in t&&"data"in t}function bC(t){return typeof t=="object"&&t&&typeof t.noChainId=="boolean"&&(t.checkpointerData===void 0||f.validate(t.checkpointerData))&&Xg(t.configuration)&&(t.suffix===void 0||Array.isArray(t.suffix)&&t.suffix.every(e=>bC(e)&&e.checkpointerData===void 0))}function Xg(t){return t&&typeof t=="object"&&typeof t.threshold=="bigint"&&typeof t.checkpoint=="bigint"&&Yg(t.topology)&&(t.checkpointer===void 0||j.validate(t.checkpointer))}function wh(t){return typeof t=="object"&&"weight"in t&&"signature"in t}function Qg(t){return ls(t)&&"signature"in t}function uE(t){return fs(t)&&"signature"in t}function zg(t){return Array.isArray(t)&&t.length===2&&(Yg(t[0])||lu(t[0]))&&(Yg(t[1])||lu(t[1]))}function Yg(t){return zg(t)||SC(t)}function SC(t){return typeof t=="object"&&"weight"in t&&!("tree"in t)}function bh(t){return typeof t=="object"&&"tree"in t&&"weight"in t&&"threshold"in t}function vC(t){let{signature:e,erc6492:s}=fC(t);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=f.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let I=f.toNumber(e.slice(n,n+3));if(n+=3,n+I>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+I),n+=I;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=f.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let p=f.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let I=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=f.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=vC(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");I.push({...D,checkpointerData:void 0});}if(I.length===0)throw new Error("Chained signature has no subsignatures");return {...I[0],suffix:I.slice(1),erc6492:s}}let{nodes:w,leftover:E}=Zg(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let S=Zv(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:p,checkpoint:u,topology:S,checkpointer:a},erc6492:s}}function Zg(t){let e=[],s=0;for(;s<t.length;){let r=t[s];s++;let n=(r&240)>>4;if(n===eE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===tE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for address weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for address leaf");let a=f.toHex(t.slice(s,s+20));s+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===sE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for ERC1271 weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for ERC1271 data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:f.toHex(u)}});continue}if(n===Wg){if(s+32>t.length)throw new Error("Not enough bytes for node leaf");let i=t.slice(s,s+32);s+=32,e.push(f.toHex(i));continue}if(n===rE){let i=r&15;if(s+i>t.length)throw new Error("Not enough bytes for branch sizeSize");let a=f.toNumber(t.slice(s,s+i));if(s+=i,s+a>t.length)throw new Error("Not enough bytes in sub-branch");let o=t.slice(s,s+a);s+=a;let{nodes:c,leftover:u}=Zg(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=Zv(c);e.push(l);continue}if(n===nE){if(s+32>t.length)throw new Error("Not enough bytes for subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"subdigest",digest:f.toHex(i)});continue}if(n===iE){let i=(r&12)>>2;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for nested weight");i=t[s],s++;}let a=r&3;if(a===0){if(s+2>t.length)throw new Error("Not enough bytes for nested threshold");a=f.toNumber(t.slice(s,s+2)),s+=2;}if(s+3>t.length)throw new Error("Not enough bytes for nested sub-tree size");let o=f.toNumber(t.slice(s,s+3));if(s+=3,s+o>t.length)throw new Error("Not enough bytes for nested sub-tree");let c=t.slice(s,s+o);s+=o;let{nodes:u,leftover:l}=Zg(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let p=Zv(u);e.push({type:"nested",tree:p,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===aE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for eth_sign signature");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===oE){if(s+32>t.length)throw new Error("Not enough bytes for any address subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"any-address-subdigest",digest:f.toHex(i)});continue}if(n===Jg||n===cE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for sapient weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for sapient signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for sapient signature size");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for sapient signature data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:f.toHex(u),type:n===Jg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:t.slice(s)}}function Fg(t,e){if(Dt(t))return [Fg(t[0],e),Fg(t[1],e)];if(ls(t)){let s=e(t);return s?{...t,signature:s}:t}if(fs(t)){let s=e(t);return s?{...t,signature:s}:t}if(ir(t)||ar(t))return t;if(As(t))return {...t,tree:Fg(t.tree,e)};if(Jt(t))return t;throw new Error("Invalid topology")}function EC(t){let e=1,s=t[t.length-1];s?.configuration.checkpointer&&(e|=64);let r=f.fromNumber(e);if(s?.configuration.checkpointer){r=f.concat(r,f.padLeft(f.fromHex(s.configuration.checkpointer),20));let n=s.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=f.padLeft(f.fromNumber(n),3);r=f.concat(r,i,s.checkpointerData??f.fromArray([]));}for(let n=0;n<t.length;n++){let i=t[n],a=xC(i,!0,n===t.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=f.padLeft(f.fromNumber(a.length),3);r=f.concat(r,o,a);}return r}function xC(t,e,s){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=t;if(a?.length){let I=EC([{...t,suffix:void 0,erc6492:void 0},...a]);return o?Dv(I,o):I}let c=0;r&&(c|=2);let u=js(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=js(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!s&&(c|=64);let p=f.fromNumber(c);if(i.checkpointer&&!s&&(p=f.concat(p,f.padLeft(f.fromHex(i.checkpointer),20)),!e)){let I=n?.length??0;if(I>16777215)throw new Error("Checkpointer data too large");let C=f.padLeft(f.fromNumber(I),3);p=f.concat(p,C,n??f.fromArray([]));}let w=f.padLeft(f.fromNumber(i.checkpoint),u);p=f.concat(p,w);let E=f.padLeft(f.fromNumber(i.threshold),l);p=f.concat(p,E);let S=yh(i.topology,t);return p=f.concat(p,S),o?Dv(p,o):p}function yh(t,e={}){if(Dt(t)||zg(t)){let s=yh(t[0],e),r=yh(t[1],e);if(Dt(t[1])||zg(t[1])){let i=js(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=rE<<4|i;return f.concat(s,f.fromNumber(a),f.padLeft(f.fromNumber(r.length),i),r)}else return f.concat(s,r)}if(As(t)||bh(t)){let s=yh(t.tree,e),r=iE<<4,n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)r|=Number(t.weight)<<2;else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let i=f.fromArray([]);if(t.threshold<=3n&&t.threshold>0n)r|=Number(t.threshold);else if(t.threshold<=65535n)i=f.padLeft(f.fromNumber(Number(t.threshold)),2);else throw new Error("Threshold too large");if(s.length>16777215)throw new Error("Nested tree too large");return f.concat(f.fromNumber(r),n,i,f.padLeft(f.fromNumber(s.length),3),s)}if(Jt(t))return f.concat(f.fromNumber(Wg<<4),f.fromHex(t));if(Qg(t)||wh(t))if(t.signature.type==="hash"||t.signature.type==="eth_sign"){let s=(t.signature.type==="hash"?eE:aE)<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let n=on(t.signature);return f.concat(f.fromNumber(s),r,n)}else if(t.signature.type==="erc1271"){let s=sE<<4,r=js(BigInt(t.signature.data.length));if(r>3)throw new Error("Signature too large");s|=r<<2;let n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),n,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(f.fromHex(t.signature.data).length),r),f.fromHex(t.signature.data))}else if(t.signature.type==="sapient"||t.signature.type==="sapient_compact"){let s=(t.signature.type==="sapient"?Jg:cE)<<4,r=f.fromHex(t.signature.data),n=js(BigInt(r.length));if(n>3)throw new Error("Signature too large");s|=n<<2;let i=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)i=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),i,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${t.signature.type}`);if(ls(t)){let s=tE<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),r,f.padLeft(f.fromHex(t.address),20))}if(fs(t)){let s=hs(t);return f.concat(f.fromNumber(Wg<<4),s)}if(ir(t))return f.concat(f.fromNumber(nE<<4),f.fromHex(t.digest));if(ar(t))return f.concat(f.fromNumber(oE<<4),f.fromHex(t.digest));throw new Error("Invalid topology")}function Zv(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function Y9(t){return JSON.stringify(AC(t))}function AC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.toHex(t.checkpointerData):void 0,configuration:{threshold:t.configuration.threshold.toString(),checkpoint:t.configuration.checkpoint.toString(),topology:Kg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>AC(e)):void 0}}function Kg(t){if(Array.isArray(t))return [Kg(t[0]),Kg(t[1])];if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:t.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:Kg(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:t.weight.toString(),signature:Z9(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function Z9(t){if(t.type==="eth_sign"||t.type==="hash")return {type:t.type,r:P.fromNumber(t.r,{size:32}),s:P.fromNumber(t.s,{size:32}),yParity:t.yParity};if(t.type==="erc1271")return {type:t.type,address:t.address,data:t.data};if(t.type==="sapient"||t.type==="sapient_compact")return {type:t.type,address:t.address,data:t.data};throw new Error("Unknown signature type in raw signature")}function X9(t){let e=JSON.parse(t);return IC(e)}function IC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.fromHex(t.checkpointerData):void 0,configuration:{threshold:BigInt(t.configuration.threshold),checkpoint:BigInt(t.configuration.checkpoint),topology:Gg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>IC(e)):void 0}}function Gg(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid raw topology node");return [Gg(t[0]),Gg(t[1])]}if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:Gg(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(t.weight),signature:Q9(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function Q9(t){switch(t.type){case"eth_sign":case"hash":return {type:t.type,r:P.toBigInt(t.r),s:P.toBigInt(t.s),yParity:t.yParity};case"erc1271":return {type:"erc1271",address:t.address,data:t.data};case"sapient":case"sapient_compact":return {type:t.type,address:t.address,data:t.data};default:throw new Error("Invalid signature type in raw signature")}}async function Xv(t,e,s,r,n){if(t.suffix?.length){let o=!1,{configuration:c,weight:u}=await Xv({...t,suffix:void 0},e,s,r,n);o||=u<c.threshold;for(let l of t.suffix){let p=await Xv(l,e,l.noChainId?0:s,Kv(f.toHex(hs(c))),n);o||=p.weight<p.configuration.threshold,o||=p.configuration.checkpoint>=c.checkpoint,c=p.configuration,u=p.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await Qv(t.configuration.topology,e,s,r,n);return {configuration:{...t.configuration,topology:i},weight:a}}async function Qv(t,e,s,r,n){let i=cu(e,s,r);if(wh(t))switch(t.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:es.recoverAddress({payload:t.signature.type==="eth_sign"?he.keccak256(mt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
- 32`,f.toHex(i)])):i,signature:t.signature}),weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:me.encodeData(gh,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]}),l=me.decodeResult(gh,u);if(P.isEqual(l,me.getSelector(gh)))return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${t.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:t.signature.type==="sapient"?me.encodeData(Bv,[eL(s,r),t.signature.data]):me.encodeData(Pv,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]});return {topology:{type:"sapient-signer",address:t.signature.address,weight:t.weight,imageHash:u,signed:!0,signature:t.signature},weight:t.weight}}}else if(bh(t)){let{topology:a,weight:o}=await Qv(t.tree,e,s,r,n);return {topology:{...t,tree:a},weight:o>=t.threshold?t.weight:0n}}else {if(ls(t))return {topology:t,weight:0n};if(fs(t))return {topology:t,weight:0n};if(ir(t))return {topology:t,weight:f.isEqual(f.fromHex(t.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(ar(t)){let a=cu(yt.ZeroAddress,s,r);return {topology:t,weight:f.isEqual(f.fromHex(t.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Jt(t))return {topology:t,weight:0n};{let[a,o]=await Promise.all(t.map(c=>Qv(c,e,s,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function eL(t,e){switch(e.type){case"call":return {kind:0,noChainId:!t,calls:e.calls.map(s=>({...s,data:s.data,behaviorOnError:s.behaviorOnError==="ignore"?0n:s.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!t,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function ls(t){return typeof t=="object"&&t!==null&&t.type==="signer"}function fs(t){return typeof t=="object"&&t!==null&&t.type==="sapient-signer"}function ir(t){return typeof t=="object"&&t!==null&&t.type==="subdigest"}function ar(t){return typeof t=="object"&&t!==null&&t.type==="any-address-subdigest"}function Jt(t){return P.validate(t)&&t.length===66}function As(t){return typeof t=="object"&&t!==null&&t.type==="nested"}function Dt(t){return Array.isArray(t)&&t.length===2&&lu(t[0])&&lu(t[1])}function hu(t){return typeof t=="object"&&"threshold"in t&&"checkpoint"in t&&"topology"in t}function CC(t){return ls(t)||fs(t)||ir(t)||ar(t)||Jt(t)||As(t)}function lu(t){return Dt(t)||CC(t)}function tL(t){let e=new Set,s=new Set,r=!0,n=i=>{Dt(i)?(n(i[0]),n(i[1])):ls(i)?i.weight&&e.add(i.address):fs(i)?s.add({address:i.address,imageHash:i.imageHash}):Jt(i)?r=!1:As(i)&&i.weight&&n(i.tree);};return n(hu(t)?t.topology:t),{signers:Array.from(e),sapientSigners:Array.from(s),isComplete:r}}function Sh(t,e){if(hu(t))return Sh(t.topology,e);if(Dt(t))return Sh(t[0],e)||Sh(t[1],e);if(ls(t)){if(j.isEqual(t.address,e))return t}else if(fs(t)){if(j.isEqual(t.address,e))return t}else if(As(t))return Sh(t.tree,e)}function vh(t,e){if(t=Xg(t)||hu(t)?t.topology:t,Qg(t))return {weight:t.weight,maxWeight:t.weight};if(ls(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(wh(t))return {weight:t.weight,maxWeight:t.weight};if(uE(t))return {weight:t.weight,maxWeight:t.weight};if(fs(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(ir(t))return {weight:0n,maxWeight:0n};if(ar(t))return {weight:0n,maxWeight:0n};if(bh(t)){let{weight:s,maxWeight:r}=vh(t.tree,e);return {weight:s>=t.threshold?t.weight:0n,maxWeight:r>=t.threshold?t.weight:0n}}else {if(Jt(t))return {weight:0n,maxWeight:0n};{let[s,r]=[vh(t[0],e),vh(t[1],e)];return {weight:s.weight+r.weight,maxWeight:s.maxWeight+r.maxWeight}}}}function hs(t){if(hu(t)){let e=hs(t.topology);return e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.threshold),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.checkpoint),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromHex(t.checkpointer??yt.ZeroAddress),32))),e}if(ls(t))return he.keccak256(f.concat(f.fromString(`Sequence signer:
336
+ `;function fp({id:t,href:e,rel:s,crossOrigin:r}){let n=`${Bf}-${t}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,s&&(i.rel=s),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var _5=()=>U5(NP()),H5=()=>U5(TP());var Uc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,s=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=s;}append(e,s){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(s));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){fp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),fp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),fp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let s=document.createElement("div");s.innerHTML=this.isBlockedOverlay?_5():H5(),document.body.insertAdjacentElement("beforeend",s),this.overlay=s;}}updateTryAgainButton(e){let s=document.getElementById(lp);s&&(this.tryAgainListener&&s.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,s.addEventListener("click",e));}updateCloseButton(e){let s=document.getElementById(up);s&&(this.onCloseListener&&s.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,s.addEventListener("click",e));}};d();h();d();h();var _c=(t=>(t.PRODUCTION="production",t.SANDBOX="sandbox",t))(_c||{}),kP=(t=>(t.API_KEY="x-immutable-api-key",t.PUBLISHABLE_KEY="x-immutable-publishable-key",t.RATE_LIMITING_KEY="x-api-key",t))(kP||{});d();h();d();h();var Pf=13371,Ia=13473,jb=42161,Mb=421614,$b=11155111,zn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Of={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:zn[13371].magicPublishableApiKey,magicProviderId:zn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Rf={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:zn[13473].magicPublishableApiKey,magicProviderId:zn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},hp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},j5={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},dp={chainId:11155111,name:"Ethereum Sepolia",rpcUrl:"https://rpc.sepolia.org",relayerUrl:"https://next-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},mp=[Rf,Of],BP={chains:[Of]},PP={chains:[Rf]},OP={chains:mp},RP={chains:[hp]},LP={chains:[j5]},DP={chains:[dp]};d();h();var M5={zkevm:{[_c.PRODUCTION]:Of,[_c.SANDBOX]:Rf},arbitrum_one:{[_c.PRODUCTION]:hp,[_c.SANDBOX]:dp}};function UP(){let t={};for(let[e,s]of Object.entries(M5))for(let r of Object.values(s))t[r.chainId]=e;return t[15003]="zkevm",t}var _P=UP();function HP(t,e){let s=M5[t];if(!s)throw new Error(`Chain ${t} is not supported`);let r=s[e];if(!r)throw new Error(`Chain ${t} is not configured for environment ${e}`);return r}function Hc(t){let e=typeof t=="string"?parseInt(t.includes(":")?t.split(":")[1]:t,10):t;return _P[e]??"zkevm"}var Fb="Confirm this transaction",qb=720,Gb=480,$5=1e3;var jc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,s){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(s){let n=s?Object.keys(s).map(i=>`${i}=${s[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==kf))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===F5.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:s,chainType:r});else {let l=(n?Hc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:s,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:p,origin:w})=>{if(!(w!==this.config.passportDomain||p.eventType!==kf))switch(p.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Hc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:s,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,s)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),s(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=cp({url:this.getHref("loading"),title:Fb,width:e?.width||Gb,height:e?.height||qb}),this.overlay=new Uc(this.config.popupOverlayOptions||{});}catch(s){let r=s instanceof Error?s.message:String(s);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Uc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=cp({url:this.getHref("loading"),title:Fb,width:this.popupOptions?.width||Gb,height:this.popupOptions?.height||qb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,s,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",s),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,$5),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,s){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=cp({url:e,title:Fb,width:this.popupOptions?.width||Gb,height:this.popupOptions?.height||qb}),this.timer=setInterval(s,$5);}catch{}}};d();h();var Ca=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Ca||{}),ht=class extends Error{type;constructor(e,s){super(e),this.name="WalletError",this.type=s;}};d();h();var Na=t=>typeof t=="object"&&t!==null&&"isAxiosError"in t;var Kb="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",pp=t=>BigInt(t).toString(),FP=t=>{try{return t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?pp(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?pp(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let s=e instanceof Error?e.message:String(e);throw new ge(-32602,`Transaction failed to parsing: ${s}`)}},Mc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;getUser;constructor({config:e,getUser:s,guardianApi:r,passportDomain:n,clientId:i}){this.confirmationScreen=new jc({authenticationDomain:"https://auth.immutable.com",passportDomain:n,oidcConfiguration:{clientId:i,redirectUri:"https://auth.immutable.com/im-logged-in"},crossSdkBridgeEnabled:e.crossSdkBridgeEnabled}),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.getUser=s;}async getUserZkEvm(){let e=await this.getUser();if(!e||!isUserZkEvm(e))throw new ge(4100,"User not authenticated or missing zkEvm data");return e}withConfirmationScreen(e){return s=>this.withConfirmationScreenTask(e)(s)()}withConfirmationScreenTask(e){return s=>async()=>{this.confirmationScreen.loading(e);try{return await s()}catch(r){throw r instanceof ht&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}){let n=await this.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=FP(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:s,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(Na(o)&&o.response?.status===403)throw new ht("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new ge(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:s,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new ge(-32003,Kb);if(a&&o){let c=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,F5.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new ge(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:s}){try{let r=await this.getUserZkEvm();return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ge(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ge(-32003,Kb);if(n&&r){let i=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new ge(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:s}){try{let r=await this.getUserZkEvm();return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ws(Number(e)),payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ge(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ge(-32003,Kb);if(n&&r){let i=await this.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new ge(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();h();var qP=t=>new Promise(e=>{setTimeout(()=>e(),t);}),gp=async(t,e)=>{let{retries:s=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await t()}catch{return s<=0?Promise.reject(n):(await qP(r),gp(t,{retries:s-1,finalErr:n,finallyFn:i}))}finally{s<=0&&i();}};var GP=30,KP=1e3,WP=async(t,e,s)=>{let r=np([t]),n=Db(r),i=await s.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=s.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},JP=async(t,e,s,r,n)=>{if(!t.to)throw new ge(-32602,'eth_sendTransaction requires a "to" field');let i={to:t.to.toString(),data:t.data,nonce:BigInt(0),value:t.value,revertOnError:!0},[a,o]=await Promise.all([Cf(e,r,n),WP(i,r,s)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},yp=async(t,e,s)=>{let n=await gp(async()=>{let i=await t.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:GP,interval:KP,finalErr:new ge(-32e3,"transaction hash not generated in time")});if(s.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new ge(-32e3,i)}return n},wp=async({transactionRequest:t,ethSigner:e,rpcProvider:s,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await s.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let p=await JP(t,s,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=p[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ws(Number(u)),nonce:pp(w),metaTransactions:p,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},v=async()=>{let D=await ap(p,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,I]=await Promise.all([E(),v()]),C=await n.ethSendTransaction(i,I);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:I,relayerId:C,nonce:w}},zP=async t=>{if(!t.to)throw new ge(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof t.nonce>"u")throw new ge(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!t.chainId)throw new ge(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:t.to.toString(),data:t.data,nonce:t.nonce??void 0,value:t.value,revertOnError:!0}]},G5=async({transactionRequest:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{let n=await zP(t);r.addEvent("endBuildMetaTransactions");let i=await ap(n,t.nonce,BigInt(t.chainId??0),s,e);return r.addEvent("endGetSignedMetaTransactions"),{to:s,data:i,chainId:ws(Number(t.chainId??0))}};var Wb=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=t[0],{relayerId:l}=await wp({transactionRequest:u,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:p}=await yp(r,l,a);return p};d();h();var K5=["types","domain","primaryType","message"],YP=t=>K5.every(e=>e in t),ZP=(t,e)=>{let s;if(typeof t=="string")try{s=JSON.parse(t);}catch(n){throw new ge(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof t=="object")s=t;else throw new ge(-32602,`Invalid typed data argument: ${t}`);if(!YP(s))throw new ge(-32602,`Invalid typed data argument. The following properties are required: ${K5.join(", ")}`);let r=s.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),s.domain.chainId=n,BigInt(n)!==e)throw new ge(-32602,`Invalid chainId, expected ${e}`)}return s},W5=async({params:t,method:e,ethSigner:s,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=t[0],c=t[1];if(!o||!c)throw new ge(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=ZP(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let p=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await Vb(l,p,BigInt(u),o,s);return a.addEvent("getSignedTypedData"),w};d();h();d();h();var QP=t=>{let e=0;for(;e<t.length&&t[e]===0;)e++;return t.slice(e)},eO=t=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(t);let e="";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return decodeURIComponent(escape(e))},J5=t=>{if(!t)return t;try{let e=toBytes(t),s=QP(e);return eO(s)}catch{return t}};var bp=async({params:t,ethSigner:e,zkEvmAddress:s,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=t[0],c=t[1];if(!c||!o)throw new ge(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==s.toLowerCase())throw new ge(-32602,"personal_sign requires the signer to be the from address");let u=J5(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let p=BigInt(l),w=Ub(p,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:p,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,v]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let I=await e.getAddress();return a.addEvent("endGetEOAAddress"),op(E,I,v)};d();h();d();h();var tO="/v1/sdk/session-activity/check",Sp,z5=t=>{Sp||(Sp=t);},sO=t=>{let e=new URL(tO,Sp);return Object.entries(t).forEach(([s,r])=>{r!=null&&e.searchParams.append(s,String(r));}),e.toString()};async function Y5(t){if(!Sp)throw new Error("Client not initialised");let e=await fetch(sO(t));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();h();function X5(t,e){return (...s)=>{try{let r=t(...s);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:Q5,setItem:Jb}=utils.localStorage,zb="sessionActivitySendCount",e3="sessionActivityDate",Yb={},Yn={},vp={},t3=()=>{Yn=Q5(zb)||{};let t=Q5(e3),e=new Date,s=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${s}-${r}-${n}`;(!t||t!==i)&&(Yn={}),Jb(e3,i),Jb(zb,Yn);};t3();var cO=t=>{t3(),Yn[t]||(Yn[t]=0),Yn[t]++,Jb(zb,Yn),Yb[t]=0;},uO=async t=>new Promise(e=>{setTimeout(e,t*1e3);}),lO=async t=>{let e=t.flow||trackFlow("passport","sendSessionActivity"),s=t.passportClient;if(!s)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(vp[s])return;vp[s]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=t;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");z5(n);let i=t.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await Y5({clientId:s,wallet:i,checkCount:Yb[s]||0,sendCount:Yn[s]||0}),Yb[s]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await t.sendTransaction([{to:u,from:i,data:c}],e);cO(s),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let p=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",p,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await uO(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),vp[s]=!1,s3({...t,flow:e});},0));},s3=t=>X5(lO)(t).then(()=>{vp[t.passportClient]=!1;}),r3=s3;d();h();var n3=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await wp({transactionRequest:o,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await bp({params:t,ethSigner:e,zkEvmAddress:i,rpcProvider:s,guardianClient:n,relayerClient:r,flow:a});return await yp(r,c,a),u})};d();h();var i3=async({params:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{if(!t||t.length!==1)throw new ge(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=t[0];return await G5({transactionRequest:n,ethSigner:e,zkEvmAddress:s,flow:r})};var Zb=t=>!!t.zkEvm,Vf=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;#h;isPassport=!0;constructor({getUser:e,clientId:s,config:r,multiRollupApiClients:n,walletEventEmitter:i,guardianClient:a,ethSigner:o,user:c,sessionActivityApiUrl:u}){this.#e=e,this.#h=s,this.#s=r,this.#i=a,this.#a=i,this.#r=u,this.#o=o,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Nf({config:this.#s,rpcProvider:this.#n,getUser:this.#e}),this.#u=n,this.#t=new TypedEventEmitter,c&&Zb(c)&&this.#f(c.zkEvm.ethAddress),i.on("loggedOut",this.#d),i.on("accountsRequested",r3);}#d=()=>{this.#t.emit("accountsChanged",[]);};async#m(){return this.#e()}async#f(e){if(!this.#r)return;let s=BigInt(1),r=async(n,i)=>await Wb({params:n,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:i,nonceSpace:s,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:r,walletAddress:e,passportClient:this.#h});}async#l(){try{let e=await this.#m();return e&&Zb(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#p(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#l();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e();if(!n)throw new ge(4100,"User not authenticated. Please log in first.");r.addEvent("endGetUser");let i;return Zb(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await O5({ethSigner:this.#o,getUser:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration"),await this.#e(!0),r.addEvent("endForceRefresh")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#f(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let s=await this.#l();if(!s)throw new ge(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await Wb({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:s,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#l();return s?[s]:[]}case"personal_sign":{let s=await this.#l();if(!s)throw new ge(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await Cf(this.#n,s)>BigInt(0))?await n3({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await bp({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new ge(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await W5({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let s=await this.#n.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let s=await this.#l();if(!s)throw new ge(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await i3({params:e.params||[],ethSigner:this.#o,zkEvmAddress:s,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let s=await this.#l();return s&&this.#f(s),null}default:throw new ge(4200,"Method not supported")}}async request(e){try{return this.#p(e)}catch(s){throw s instanceof ge?s:s instanceof Error?new ge(-32603,s.message):new ge(-32603,"Internal error")}}on(e,s){this.#t.on(e,s);}removeListener(e,s){this.#t.removeListener(e,s);}};d();h();d();h();d();h();var gO="Only sign this message from Immutable Passport";function yO(t){let e=t.startsWith("0x")?t.slice(2):t,s=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${s}${r}${o}`}async function Xb({getUser:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(gO).then(yO);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),v=ws(Number(w)),I=E.data?.result?.find(C=>C.id===v)?.name;if(!I)throw new ge(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t(!0).catch(()=>{}),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new ge(-32603,`Failed to create counterfactual address: ${C}`)}}function a3(t,e){return e in t&&!!t[e]?.ethAddress}function o3(t,e){return t[e]?.ethAddress}var Uf=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({getUser:e,chainConfig:s,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Hc(s.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=s,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e();if(e&&a3(e,this.#u))return o3(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#c();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e();if(r.addEvent("endGetUser"),!n)throw new ge(-32603,"User not authenticated");let i;if(a3(n,this.#u)?i=o3(n,this.#u):(r.addEvent("startUserRegistration"),i=await Xb({getUser:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new ge(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#c();return s?[s]:[]}case"eth_sendTransaction":throw new ge(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new ge(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new ge(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let s=await this.#t.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new ge(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(s){throw s instanceof ge?s:s instanceof Error?new ge(-32603,s.message):new ge(-32603,"Internal error")}}on(e,s){this.#a.on(e,s);}removeListener(e,s){this.#a.removeListener(e,s);}};d();h();var _f=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();h();d();h();var Qb=async(t,e,s=!0,r=!0)=>{let n=trackFlow("passport",e,s);try{return await t(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var u3="ETH",CO=t=>t.reduce((e,s)=>`${e}${s.toString(16).padStart(2,"0")}`,""),NO=t=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(t);let e=unescape(encodeURIComponent(t)),s=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)s[r]=e.charCodeAt(r);return s},TO=t=>{let e=NO(t),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,p=c>>6&63,w=c&63;r+=s[u]+s[l],r+=Number.isFinite(a)?s[p]:"=",r+=Number.isFinite(o)?s[w]:"=";}return r},$c=class t{getUser;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,s){this.getUser=e,this.magicTeeApiClient=s;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let s=await this.getUserOrThrow();if(s.profile.sub!==e.userIdentifier&&(e=await this.createWallet(s)),isUserZkEvm(s)&&s.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ht(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${s.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(s,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=t.getHeaders(n);await Qb(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:u3},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},s(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return Na(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.getUser();if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let s=e instanceof Uint8Array?`0x${CO(e)}`:e,r=await this.getUserOrThrow(),n=t.getHeaders(r);return Qb(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:TO(s)},xMagicChain:u3},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw Na(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();h();var eS={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function tS(t){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(t)});window.dispatchEvent(e);let s=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",s);}d();h();d();h();d();h();var eo={};Ne(eo,{IdentitySigner:()=>b1,toIdentityAuthKey:()=>l2});d();h();d();h();var He={};Ne(He,{format:()=>FO,from:()=>qO});d();h();d();h();d();h();d();h();var l3="1.1.0";var Pt=class t extends Error{constructor(e,s={}){let r=s.cause instanceof t?s.cause.details:s.cause?.message?s.cause.message:s.details,n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=[e||"An error occurred.","",...s.metaMessages?[...s.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${l3}`].join(`
337
+ `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),s.cause&&(this.cause=s.cause),this.details=r,this.docsPath=n,this.metaMessages=s.metaMessages,this.shortMessage=e;}};d();h();d();h();d();h();d();h();d();h();function Vs(t,e){return t.exec(e)?.groups}var sS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,rS=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,Ep=/^\(.+?\).*?$/;var f3=/^tuple(?<array>(\[(\d*)\])*)$/;function xp(t){let e=t.type;if(f3.test(t.type)&&"components"in t){e="(";let s=t.components.length;for(let n=0;n<s;n++){let i=t.components[n];e+=xp(i),n<s-1&&(e+=", ");}let r=Vs(f3,t.type);return e+=`)${r?.array??""}`,xp({...t,type:e})}return "indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function Ir(t){let e="",s=t.length;for(let r=0;r<s;r++){let n=t[r];e+=xp(n),r!==s-1&&(e+=", ");}return e}function qr(t){return t.type==="function"?`function ${t.name}(${Ir(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${Ir(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${Ir(t.inputs)})`:t.type==="error"?`error ${t.name}(${Ir(t.inputs)})`:t.type==="constructor"?`constructor(${Ir(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function nS(t){let e=[],s=t.length;for(let r=0;r<s;r++){let n=t[r],i=qr(n);e.push(i);}return e}d();h();d();h();var h3=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function d3(t){return h3.test(t)}function m3(t){return Vs(h3,t)}var p3=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function g3(t){return p3.test(t)}function y3(t){return Vs(p3,t)}var w3=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function b3(t){return w3.test(t)}function S3(t){return Vs(w3,t)}var v3=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Zn(t){return v3.test(t)}function E3(t){return Vs(v3,t)}var x3=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function A3(t){return x3.test(t)}function I3(t){return Vs(x3,t)}var C3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function N3(t){return C3.test(t)}function T3(t){return Vs(C3,t)}var kO=/^receive\(\) external payable$/;function k3(t){return kO.test(t)}var iS=new Set(["memory","indexed","storage","calldata"]),B3=new Set(["indexed"]),Ap=new Set(["calldata","memory","storage"]);d();h();d();h();var Ip=class extends Pt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},Cp=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},Np=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();h();var Tp=class extends Pt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},kp=class extends Pt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},Bp=class extends Pt{constructor({param:e,name:s}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${s}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},Pp=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},Op=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},Rp=class extends Pt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();h();var Cr=class extends Pt{constructor({signature:e,type:s}){super(`Invalid ${s} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Lp=class extends Pt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Dp=class extends Pt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();h();var Vp=class extends Pt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();h();d();h();var Up=class extends Pt{constructor({current:e,depth:s}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${s>0?"opening":"closing"} parentheses.`],details:`Depth "${s}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();h();function P3(t,e,s){let r="";if(s)for(let n of Object.entries(s)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${t}${r}`:t}var _p=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Hf(t,e={}){if(b3(t))return BO(t,e);if(g3(t))return PO(t,e);if(d3(t))return OO(t,e);if(A3(t))return RO(t,e);if(N3(t))return LO(t);if(k3(t))return {type:"receive",stateMutability:"payable"};throw new Lp({signature:t})}function BO(t,e={}){let s=S3(t);if(!s)throw new Cr({signature:t,type:"function"});let r=Ts(s.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(er(r[o],{modifiers:Ap,structs:e,type:"function"}));let a=[];if(s.returns){let o=Ts(s.returns),c=o.length;for(let u=0;u<c;u++)a.push(er(o[u],{modifiers:Ap,structs:e,type:"function"}));}return {name:s.name,type:"function",stateMutability:s.stateMutability??"nonpayable",inputs:n,outputs:a}}function PO(t,e={}){let s=y3(t);if(!s)throw new Cr({signature:t,type:"event"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{modifiers:B3,structs:e,type:"event"}));return {name:s.name,type:"event",inputs:n}}function OO(t,e={}){let s=m3(t);if(!s)throw new Cr({signature:t,type:"error"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"error"}));return {name:s.name,type:"error",inputs:n}}function RO(t,e={}){let s=I3(t);if(!s)throw new Cr({signature:t,type:"constructor"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:s.stateMutability??"nonpayable",inputs:n}}function LO(t){let e=T3(t);if(!e)throw new Cr({signature:t,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var DO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,VO=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,UO=/^u?int$/;function er(t,e){let s=P3(t,e?.type,e?.structs);if(_p.has(s))return _p.get(s);let r=Ep.test(t),n=Vs(r?VO:DO,t);if(!n)throw new kp({param:t});if(n.name&&HO(n.name))throw new Bp({param:t,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let p=Ts(n.type),w=[],E=p.length;for(let v=0;v<E;v++)w.push(er(p[v],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(UO.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!aS(c))throw new Np({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new Pp({param:t,type:e?.type,modifier:n.modifier});if(Ap.has(n.modifier)&&!jO(c,!!n.array))throw new Op({param:t,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return _p.set(s,l),l}function Ts(t,e=[],s="",r=0){let n=t.trim().length;for(let i=0;i<n;i++){let a=t[i],o=t.slice(i+1);switch(a){case",":return r===0?Ts(o,[...e,s.trim()]):Ts(o,e,`${s}${a}`,r);case"(":return Ts(o,e,`${s}${a}`,r+1);case")":return Ts(o,e,`${s}${a}`,r-1);default:return Ts(o,e,`${s}${a}`,r)}}if(s==="")return e;if(r!==0)throw new Up({current:s,depth:r});return e.push(s.trim()),e}function aS(t){return t==="address"||t==="bool"||t==="function"||t==="string"||sS.test(t)||rS.test(t)}var _O=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function HO(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||sS.test(t)||rS.test(t)||_O.test(t)}function jO(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function Fc(t){let e={},s=t.length;for(let a=0;a<s;a++){let o=t[a];if(!Zn(o))continue;let c=E3(o);if(!c)throw new Cr({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],p=u.length;for(let w=0;w<p;w++){let v=u[w].trim();if(!v)continue;let I=er(v,{type:"struct"});l.push(I);}if(!l.length)throw new Dp({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=O3(c,e);}return r}var MO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function O3(t,e,s=new Set){let r=[],n=t.length;for(let i=0;i<n;i++){let a=t[i];if(Ep.test(a.type))r.push(a);else {let c=Vs(MO,a.type);if(!c?.type)throw new Rp({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(s.has(l))throw new Vp({type:l});r.push({...a,type:`tuple${u??""}`,components:O3(e[l]??[],e,new Set([...s,l]))});}else if(aS(l))r.push(a);else throw new Cp({type:l})}}return r}function oS(t){let e=Fc(t),s=[],r=t.length;for(let n=0;n<r;n++){let i=t[n];Zn(i)||s.push(Hf(i,e));}return s}d();h();function Hp(t){let e;if(typeof t=="string")e=Hf(t);else {let s=Fc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(!Zn(i)){e=Hf(i,s);break}}}if(!e)throw new Ip({signature:t});return e}d();h();function jp(t){let e=[];if(typeof t=="string"){let s=Ts(t),r=s.length;for(let n=0;n<r;n++)e.push(er(s[n],{modifiers:iS}));}else {let s=Fc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(Zn(i))continue;let a=Ts(i),o=a.length;for(let c=0;c<o;c++)e.push(er(a[c],{modifiers:iS,structs:s}));}}if(e.length===0)throw new Tp({params:t});return e}d();h();function R3(t){for(let e of t)if(typeof e!="string")return !1;return !0}function FO(t){return nS(t)}function qO(t){return R3(t)?oS(t):t}d();h();d();h();d();h();d();h();var L3="0.1.1";function D3(){return L3}var ne=class t extends Error{static setStaticOptions(e){t.prototype.docsOrigin=e.docsOrigin,t.prototype.showVersion=e.showVersion,t.prototype.version=e.version;}constructor(e,s={}){let r=(()=>{if(s.cause instanceof t){if(s.cause.details)return s.cause.details;if(s.cause.shortMessage)return s.cause.shortMessage}return s.cause&&"details"in s.cause&&typeof s.cause.details=="string"?s.cause.details:s.cause?.message?s.cause.message:s.details})(),n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=s.docsOrigin??t.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(s.version??t.prototype.showVersion),c=s.version??t.prototype.version,u=[e||"An error occurred.",...s.metaMessages?["",...s.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
+ `);super(u,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=s.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return V3(this,e)}};Object.defineProperty(ne,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${D3()}`}});ne.setStaticOptions(ne.defaultStaticOptions);function V3(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?V3(t.cause,e):e?null:t}var he={};Ne(he,{keccak256:()=>Lt,ripemd160:()=>LR,sha256:()=>th,validate:()=>DS});d();h();d();h();d();h();d();h();d();h();d();h();var Ta=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function GO(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ka(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Nr(t,...e){if(!GO(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function U3(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ka(t.outputLen),ka(t.blockLen);}function Gr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function $p(t,e){Nr(t);let s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function _3(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function bs(...t){for(let e=0;e<t.length;e++)t[e].fill(0);}function Fp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function tr(t,e){return t<<32-e|t>>>e}function jf(t,e){return t<<e|t>>>32-e>>>0}var KO=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function WO(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function JO(t){for(let e=0;e<t.length;e++)t[e]=WO(t[e]);return t}var cS=KO?t=>t:JO;function zO(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ba(t){return typeof t=="string"&&(t=zO(t)),Nr(t),t}function H3(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];Nr(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}var Xn=class{};function Qn(t){let e=r=>t().update(Ba(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function j3(t=32){if(Ta&&typeof Ta.getRandomValues=="function")return Ta.getRandomValues(new Uint8Array(t));if(Ta&&typeof Ta.randomBytes=="function")return Uint8Array.from(Ta.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function YO(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}function uS(t,e,s){return t&e^~t&s}function lS(t,e,s){return t&e^t&s^e&s}var Pa=class extends Xn{constructor(e,s,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Fp(this.buffer);}update(e){Gr(this),e=Ba(e),Nr(e);let{view:s,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Fp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){Gr(this),$p(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,bs(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;YO(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Fp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%s&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Kr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Xt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var ZO=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),$3=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),XO=$3.map(t=>(9*t+5)%16),F3=(()=>{let s=[[$3],[XO]];for(let r=0;r<4;r++)for(let n of s)n.push(n[r].map(i=>ZO[i]));return s})(),q3=F3[0],G3=F3[1],K3=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>Uint8Array.from(t)),QO=q3.map((t,e)=>t.map(s=>K3[e][s])),eR=G3.map((t,e)=>t.map(s=>K3[e][s])),tR=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),sR=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function M3(t,e,s,r){return t===0?e^s^r:t===1?e&s|~e&r:t===2?(e|~s)^r:t===3?e&r|s&~r:e^(s|~r)}var qp=new Uint32Array(16),Gp=class extends Pa{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776;}get(){let{h0:e,h1:s,h2:r,h3:n,h4:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.h0=e|0,this.h1=s|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,s){for(let E=0;E<16;E++,s+=4)qp[E]=e.getUint32(s,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,p=this.h4|0,w=p;for(let E=0;E<5;E++){let v=4-E,I=tR[E],C=sR[E],D=q3[E],V=G3[E],B=QO[E],k=eR[E];for(let O=0;O<16;O++){let K=jf(r+M3(E,i,o,u)+qp[D[O]]+I,B[O])+p|0;r=p,p=u,u=jf(o,10)|0,o=i,i=K;}for(let O=0;O<16;O++){let K=jf(n+M3(v,a,c,l)+qp[V[O]]+C,k[O])+w|0;n=w,w=l,l=jf(c,10)|0,c=a,a=K;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+p+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){bs(qp);}destroy(){this.destroyed=!0,bs(this.buffer),this.set(0,0,0,0,0);}},W3=Qn(()=>new Gp);var J3=W3;d();h();d();h();var Kp=BigInt(4294967295),z3=BigInt(32);function rR(t,e=!1){return e?{h:Number(t&Kp),l:Number(t>>z3&Kp)}:{h:Number(t>>z3&Kp)|0,l:Number(t&Kp)|0}}function Wp(t,e=!1){let s=t.length,r=new Uint32Array(s),n=new Uint32Array(s);for(let i=0;i<s;i++){let{h:a,l:o}=rR(t[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var fS=(t,e,s)=>t>>>s,hS=(t,e,s)=>t<<32-s|e>>>s,Oa=(t,e,s)=>t>>>s|e<<32-s,Ra=(t,e,s)=>t<<32-s|e>>>s,Mf=(t,e,s)=>t<<64-s|e>>>s-32,$f=(t,e,s)=>t>>>s-32|e<<64-s;var Y3=(t,e,s)=>t<<s|e>>>32-s,Z3=(t,e,s)=>e<<s|t>>>32-s,X3=(t,e,s)=>e<<s-32|t>>>64-s,Q3=(t,e,s)=>t<<s-32|e>>>64-s;function Tr(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var eI=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),tI=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,sI=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),rI=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,nI=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),iI=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var iR=BigInt(0),Ff=BigInt(1),aR=BigInt(2),oR=BigInt(7),cR=BigInt(256),uR=BigInt(113),cI=[],uI=[],lI=[];for(let t=0,e=Ff,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],cI.push(2*(5*r+s)),uI.push((t+1)*(t+2)/2%64);let n=iR;for(let i=0;i<7;i++)e=(e<<Ff^(e>>oR)*uR)%cR,e&aR&&(n^=Ff<<(Ff<<BigInt(i))-Ff);lI.push(n);}var fI=Wp(lI,!0),lR=fI[0],fR=fI[1],aI=(t,e,s)=>s>32?X3(t,e,s):Y3(t,e,s),oI=(t,e,s)=>s>32?Q3(t,e,s):Z3(t,e,s);function hR(t,e=24){let s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)s[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=s[c],l=s[c+1],p=aI(u,l,1)^s[o],w=oI(u,l,1)^s[o+1];for(let E=0;E<50;E+=10)t[a+E]^=p,t[a+E+1]^=w;}let n=t[2],i=t[3];for(let a=0;a<24;a++){let o=uI[a],c=aI(n,i,o),u=oI(n,i,o),l=cI[a];n=t[l],i=t[l+1],t[l]=c,t[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)s[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~s[(o+2)%10]&s[(o+4)%10];}t[0]^=lR[r],t[1]^=fR[r];}bs(s);}var dS=class t extends Xn{constructor(e,s,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=n,this.rounds=i,ka(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=_3(this.state);}clone(){return this._cloneInto()}keccak(){cS(this.state32),hR(this.state32,this.rounds),cS(this.state32),this.posOut=0,this.pos=0;}update(e){Gr(this),e=Ba(e),Nr(e);let{blockLen:s,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(s-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===s&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:s,pos:r,blockLen:n}=this;e[r]^=s,s&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){Gr(this,!1),Nr(e),this.finish();let s=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(s.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return ka(e),this.xofInto(new Uint8Array(e))}digestInto(e){if($p(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,bs(this.state);}_cloneInto(e){let{blockLen:s,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new t(s,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},dR=(t,e,s)=>Qn(()=>new dS(e,t,s));var hI=dR(1,136,256/8);d();h();d();h();var mR=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]),ei=new Uint32Array(64),Jp=class extends Pa{constructor(e=32){super(64,e,8,!1),this.A=Kr[0]|0,this.B=Kr[1]|0,this.C=Kr[2]|0,this.D=Kr[3]|0,this.E=Kr[4]|0,this.F=Kr[5]|0,this.G=Kr[6]|0,this.H=Kr[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)ei[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=ei[p-15],E=ei[p-2],v=tr(w,7)^tr(w,18)^w>>>3,I=tr(E,17)^tr(E,19)^E>>>10;ei[p]=I+ei[p-7]+v+ei[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=tr(o,6)^tr(o,11)^tr(o,25),E=l+w+uS(o,c,u)+mR[p]+ei[p]|0,I=(tr(r,2)^tr(r,13)^tr(r,22))+lS(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bs(ei);}destroy(){this.set(0,0,0,0,0,0,0,0),bs(this.buffer);}};var dI=Wp(["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(t=>BigInt(t))),pR=dI[0],gR=dI[1],ti=new Uint32Array(80),si=new Uint32Array(80),zp=class extends Pa{constructor(e=64){super(128,e,16,!1),this.Ah=Qt[0]|0,this.Al=Qt[1]|0,this.Bh=Qt[2]|0,this.Bl=Qt[3]|0,this.Ch=Qt[4]|0,this.Cl=Qt[5]|0,this.Dh=Qt[6]|0,this.Dl=Qt[7]|0,this.Eh=Qt[8]|0,this.El=Qt[9]|0,this.Fh=Qt[10]|0,this.Fl=Qt[11]|0,this.Gh=Qt[12]|0,this.Gl=Qt[13]|0,this.Hh=Qt[14]|0,this.Hl=Qt[15]|0;}get(){let{Ah:e,Al:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:v,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,v,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,v,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)ti[B]=e.getUint32(s),si[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=ti[B-15]|0,O=si[B-15]|0,K=Oa(k,O,1)^Oa(k,O,8)^fS(k,O,7),re=Ra(k,O,1)^Ra(k,O,8)^hS(k,O,7),Q=ti[B-2]|0,oe=si[B-2]|0,pe=Oa(Q,oe,19)^Mf(Q,oe,61)^fS(Q,oe,6),se=Ra(Q,oe,19)^$f(Q,oe,61)^hS(Q,oe,6),ce=sI(re,se,si[B-7],si[B-16]),ye=rI(ce,K,pe,ti[B-7],ti[B-16]);ti[B]=ye|0,si[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:v,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=Oa(p,w,14)^Oa(p,w,18)^Mf(p,w,41),O=Ra(p,w,14)^Ra(p,w,18)^$f(p,w,41),K=p&E^~p&I,re=w&v^~w&C,Q=nI(V,O,re,gR[B],si[B]),oe=iI(Q,D,k,K,pR[B],ti[B]),pe=Q|0,se=Oa(r,n,28)^Mf(r,n,34)^Mf(r,n,39),ce=Ra(r,n,28)^$f(r,n,34)^$f(r,n,39),ye=r&i^r&o^i&o,Ge=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=v|0,E=p|0,v=w|0,{h:p,l:w}=Tr(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=eI(pe,ce,Ge);r=tI(J,oe,se,ye),n=J|0;}(({h:r,l:n}=Tr(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Tr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Tr(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Tr(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=Tr(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:v}=Tr(this.Fh|0,this.Fl|0,E|0,v|0),{h:I,l:C}=Tr(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=Tr(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,v,I,C,D,V);}roundClean(){bs(ti,si);}destroy(){bs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},mS=class extends zp{constructor(){super(48),this.Ah=Xt[0]|0,this.Al=Xt[1]|0,this.Bh=Xt[2]|0,this.Bl=Xt[3]|0,this.Ch=Xt[4]|0,this.Cl=Xt[5]|0,this.Dh=Xt[6]|0,this.Dl=Xt[7]|0,this.Eh=Xt[8]|0,this.El=Xt[9]|0,this.Fh=Xt[10]|0,this.Fl=Xt[11]|0,this.Gh=Xt[12]|0,this.Gl=Xt[13]|0,this.Hh=Xt[14]|0,this.Hl=Xt[15]|0;}};var qc=Qn(()=>new Jp);var mI=Qn(()=>new zp),pI=Qn(()=>new mS);var gI=qc;var f={};Ne(f,{InvalidBytesBooleanError:()=>tg,InvalidBytesTypeError:()=>ja,SizeExceedsPaddingSizeError:()=>Jf,SizeOverflowError:()=>Wf,SliceOffsetOutOfBoundsError:()=>Jc,assert:()=>BI,concat:()=>BS,from:()=>Zr,fromArray:()=>PI,fromBoolean:()=>BR,fromHex:()=>dt,fromNumber:()=>PR,fromString:()=>Xr,isEqual:()=>OR,padLeft:()=>OI,padRight:()=>RI,random:()=>kS,size:()=>Us,slice:()=>PS,toBigInt:()=>OS,toBoolean:()=>RS,toHex:()=>RR,toNumber:()=>nr,toString:()=>sg,trimLeft:()=>rg,trimRight:()=>eg,validate:()=>LS});d();h();d();h();var wS=BigInt(0),yS=BigInt(1);function Gc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function bS(t){if(!Gc(t))throw new Error("Uint8Array expected")}function Kc(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function qf(t){let e=t.toString(16);return e.length&1?"0"+e:e}function bI(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?wS:BigInt("0x"+t)}var SI=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",yR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Wc(t){if(bS(t),SI)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=yR[t[s]];return e}var Wr={_0:48,_9:57,A:65,F:70,a:97,f:102};function yI(t){if(t>=Wr._0&&t<=Wr._9)return t-Wr._0;if(t>=Wr.A&&t<=Wr.F)return t-(Wr.A-10);if(t>=Wr.a&&t<=Wr.f)return t-(Wr.a-10)}function Gf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(SI)return Uint8Array.fromHex(t);let e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(s);for(let n=0,i=0;n<s;n++,i+=2){let a=yI(t.charCodeAt(i)),o=yI(t.charCodeAt(i+1));if(a===void 0||o===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function Jr(t){return bI(Wc(t))}function SS(t){return bS(t),bI(Wc(Uint8Array.from(t).reverse()))}function La(t,e){return Gf(t.toString(16).padStart(e*2,"0"))}function vS(t,e){return La(t,e).reverse()}function ks(t,e,s){let r;if(typeof e=="string")try{r=Gf(e);}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Gc(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let n=r.length;if(typeof s=="number"&&n!==s)throw new Error(t+" of length "+s+" expected, got "+n);return r}function Kf(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];bS(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Yp(t,e){if(t.length!==e.length)return !1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}var pS=t=>typeof t=="bigint"&&wS<=t;function Zp(t,e,s){return pS(t)&&pS(e)&&pS(s)&&e<=t&&t<s}function Da(t,e,s,r){if(!Zp(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function vI(t){let e;for(e=0;t>wS;t>>=yS,e+=1);return e}var Va=t=>(yS<<BigInt(t))-yS,gS=t=>new Uint8Array(t),wI=t=>Uint8Array.from(t);function EI(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let r=gS(t),n=gS(t),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...p)=>s(n,r,...p),c=(p=gS(0))=>{n=o(wI([0]),p),r=o(),p.length!==0&&(n=o(wI([1]),p),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let p=0,w=[];for(;p<e;){r=o();let E=r.slice();w.push(E),p+=r.length;}return Kf(...w)};return (p,w)=>{a(),c(p);let E;for(;!(E=w(u()));)c();return a(),E}}var wR={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Gc(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ua(t,e,s={}){let r=(n,i,a)=>{let o=wR[i];if(typeof o!="function")throw new Error("invalid validator function");let c=t[n];if(!(a&&c===void 0)&&!o(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(s))r(n,i,!0);return t}function ES(t){let e=new WeakMap;return (s,...r)=>{let n=e.get(s);if(n!==void 0)return n;let i=t(s,...r);return e.set(s,i),i}}var P={};Ne(P,{IntegerOutOfRangeError:()=>Zc,InvalidHexBooleanError:()=>Xp,InvalidHexTypeError:()=>Zf,InvalidHexValueError:()=>Xf,InvalidLengthError:()=>Qf,SizeExceedsPaddingSizeError:()=>Yf,SizeOverflowError:()=>zf,SliceOffsetOutOfBoundsError:()=>zc,assert:()=>kI,concat:()=>at,from:()=>Ss,fromBoolean:()=>eh,fromBytes:()=>Ue,fromNumber:()=>ve,fromString:()=>Bs,isEqual:()=>ER,padLeft:()=>kr,padRight:()=>rr,random:()=>xR,size:()=>Xe,slice:()=>At,toBigInt:()=>Qp,toBoolean:()=>IR,toBytes:()=>CR,toNumber:()=>TS,toString:()=>NR,trimLeft:()=>Ha,trimRight:()=>AR,validate:()=>vs});d();h();d();h();function Yr(t,e){if(Us(t)>e)throw new Wf({givenSize:Us(t),maxSize:e})}function xI(t,e){if(typeof e=="number"&&e>0&&e>Us(t)-1)throw new Jc({offset:e,position:"start",size:Us(t)})}function AI(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Us(t)!==s-e)throw new Jc({offset:s,position:"end",size:Us(t)})}var zr={zero:48,nine:57,A:65,F:70,a:97,f:102};function xS(t){if(t>=zr.zero&&t<=zr.nine)return t-zr.zero;if(t>=zr.A&&t<=zr.F)return t-(zr.A-10);if(t>=zr.a&&t<=zr.f)return t-(zr.a-10)}function AS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;if(t.length>r)throw new Jf({size:t.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=s==="right";n[a?i:r-i-1]=t[a?i:t.length-i-1];}return n}function IS(t,e={}){let{dir:s="left"}=e,r=t,n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r}d();h();function _a(t,e){if(Xe(t)>e)throw new zf({givenSize:Xe(t),maxSize:e})}function CI(t,e){if(typeof e=="number"&&e>0&&e>Xe(t)-1)throw new zc({offset:e,position:"start",size:Xe(t)})}function NI(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Xe(t)!==s-e)throw new zc({offset:s,position:"end",size:Xe(t)})}function CS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;let n=t.replace("0x","");if(n.length>r*2)throw new Yf({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[s==="right"?"padEnd":"padStart"](r*2,"0")}`}function NS(t,e={}){let{dir:s="left"}=e,r=t.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":s==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();h();var bR="#__bigint";function sr(t,e,s){return JSON.stringify(t,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+bR:n,s)}var SR=new TextEncoder,vR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function kI(t,e={}){let{strict:s=!1}=e;if(!t)throw new Zf(t);if(typeof t!="string")throw new Zf(t);if(s&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xf(t);if(!t.startsWith("0x"))throw new Xf(t)}function at(...t){return `0x${t.reduce((e,s)=>e+s.replace("0x",""),"")}`}function Ss(t){return t instanceof Uint8Array?Ue(t):Array.isArray(t)?Ue(new Uint8Array(t)):t}function eh(t,e={}){let s=`0x${Number(t)}`;return typeof e.size=="number"?(_a(s,e.size),kr(s,e.size)):s}function Ue(t,e={}){let s="";for(let n=0;n<t.length;n++)s+=vR[t[n]];let r=`0x${s}`;return typeof e.size=="number"?(_a(r,e.size),rr(r,e.size)):r}function ve(t,e={}){let{signed:s,size:r}=e,n=BigInt(t),i;r?s?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&s?-i-1n:0;if(i&&n>i||n<a){let u=typeof t=="bigint"?"n":"";throw new Zc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:s,size:r,value:`${t}${u}`})}let c=`0x${(s&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?kr(c,r):c}function Bs(t,e={}){return Ue(SR.encode(t),e)}function ER(t,e){return Yp(dt(t),dt(e))}function kr(t,e){return CS(t,{dir:"left",size:e})}function rr(t,e){return CS(t,{dir:"right",size:e})}function xR(t){return Ue(kS(t))}function At(t,e,s,r={}){let{strict:n}=r;CI(t,e);let i=`0x${t.replace("0x","").slice((e??0)*2,(s??t.length)*2)}`;return n&&NI(i,e,s),i}function Xe(t){return Math.ceil((t.length-2)/2)}function Ha(t){return NS(t,{dir:"left"})}function AR(t){return NS(t,{dir:"right"})}function Qp(t,e={}){let{signed:s}=e;e.size&&_a(t,e.size);let r=BigInt(t);if(!s)return r;let n=(t.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function IR(t,e={}){e.size&&_a(t,e.size);let s=Ha(t);if(s==="0x")return !1;if(s==="0x1")return !0;throw new Xp(t)}function CR(t,e={}){return dt(t,e)}function TS(t,e={}){let{signed:s,size:r}=e;return Number(!s&&!r?t:Qp(t,e))}function NR(t,e={}){let{size:s}=e,r=dt(t);return s&&(Yr(r,s),r=eg(r)),new TextDecoder().decode(r)}function vs(t,e={}){let{strict:s=!1}=e;try{return kI(t,{strict:s}),!0}catch{return !1}}var Zc=class extends ne{constructor({max:e,min:s,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${s}\` to \`${e}\`)`:`(above \`${s}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},Xp=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Zf=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Xf=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Qf=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},zf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},zc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},Yf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var TR=new TextDecoder,kR=new TextEncoder;function BI(t){if(!(t instanceof Uint8Array)){if(!t)throw new ja(t);if(typeof t!="object")throw new ja(t);if(!("BYTES_PER_ELEMENT"in t))throw new ja(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new ja(t)}}function BS(...t){let e=0;for(let r of t)e+=r.length;let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Zr(t){return t instanceof Uint8Array?t:typeof t=="string"?dt(t):PI(t)}function PI(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function BR(t,e={}){let{size:s}=e,r=new Uint8Array(1);return r[0]=Number(t),typeof s=="number"?(Yr(r,s),OI(r,s)):r}function dt(t,e={}){let{size:s}=e,r=t;s&&(_a(t,s),r=rr(t,s));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=xS(n.charCodeAt(c++)),l=xS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new ne(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function PR(t,e){let s=ve(t,e);return dt(s)}function Xr(t,e={}){let{size:s}=e,r=kR.encode(t);return typeof s=="number"?(Yr(r,s),RI(r,s)):r}function OR(t,e){return Yp(t,e)}function OI(t,e){return AS(t,{dir:"left",size:e})}function RI(t,e){return AS(t,{dir:"right",size:e})}function kS(t){return crypto.getRandomValues(new Uint8Array(t))}function Us(t){return t.length}function PS(t,e,s,r={}){let{strict:n}=r;xI(t,e);let i=t.slice(e,s);return n&&AI(i,e,s),i}function OS(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return Qp(r,e)}function RS(t,e={}){let{size:s}=e,r=t;if(typeof s<"u"&&(Yr(r,s),r=rg(r)),r.length>1||r[0]>1)throw new tg(r);return !!r[0]}function RR(t,e={}){return Ue(t,e)}function nr(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return TS(r,e)}function sg(t,e={}){let{size:s}=e,r=t;return typeof s<"u"&&(Yr(r,s),r=eg(r)),TR.decode(r)}function rg(t){return IS(t,{dir:"left"})}function eg(t){return IS(t,{dir:"right"})}function LS(t){try{return BI(t),!0}catch{return !1}}var tg=class extends ne{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},ja=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},Wf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},Jc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Jf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Lt(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=hI(Zr(t));return s==="Bytes"?r:Ue(r)}function LR(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=J3(Zr(t));return s==="Bytes"?r:Ue(r)}function th(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=gI(Zr(t));return s==="Bytes"?r:Ue(r)}function DS(t){return vs(t)&&Xe(t)===32}d();h();var j={};Ne(j,{InvalidAddressError:()=>Ma,InvalidChecksumError:()=>og,InvalidInputError:()=>Xc,assert:()=>Es,checksum:()=>rh,from:()=>_I,fromPublicKey:()=>jS,isEqual:()=>MS,validate:()=>$a});d();h();d();h();d();h();var ng=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var DR={checksum:new ng(8192)},ig=DR.checksum;d();h();function DI(t,e={}){let{compressed:s}=e,{prefix:r,x:n,y:i}=t;if(s===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new ag({prefix:r,cause:new _S});return}if(s===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new ag({prefix:r,cause:new US});return}throw new VS({publicKey:t})}function Qr(t){let e=(()=>{if(vs(t))return VI(t);if(LS(t))return VR(t);let{prefix:s,x:r,y:n}=t;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:s??4,x:r,y:n}:{prefix:s,x:r}})();return DI(e),e}function VR(t){return VI(Ue(t))}function VI(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new HS({publicKey:t});if(t.length===130){let r=BigInt(At(t,0,32)),n=BigInt(At(t,32,64));return {prefix:4,x:r,y:n}}if(t.length===132){let r=Number(At(t,0,1)),n=BigInt(At(t,1,33)),i=BigInt(At(t,33,65));return {prefix:r,x:n,y:i}}let e=Number(At(t,0,1)),s=BigInt(At(t,1,33));return {prefix:e,x:s}}function UI(t,e={}){return dt(ri(t,e))}function ri(t,e={}){DI(t);let{prefix:s,x:r,y:n}=t,{includePrefix:i=!0}=e;return at(i?ve(s,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var VS=class extends ne{constructor({publicKey:e}){super(`Value \`${sr(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},ag=class extends ne{constructor({prefix:e,cause:s}){super(`Prefix "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},US=class extends ne{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},_S=class extends ne{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},HS=class extends ne{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var UR=/^0x[a-fA-F0-9]{40}$/;function Es(t,e={}){let{strict:s=!0}=e;if(!UR.test(t))throw new Ma({address:t,cause:new Xc});if(s){if(t.toLowerCase()===t)return;if(rh(t)!==t)throw new Ma({address:t,cause:new og})}}function rh(t){if(ig.has(t))return ig.get(t);Es(t,{strict:!1});let e=t.substring(2).toLowerCase(),s=Lt(Xr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)s[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(s[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return ig.set(t,n),n}function _I(t,e={}){let{checksum:s=!1}=e;return Es(t),s?rh(t):t}function jS(t,e={}){let s=Lt(`0x${ri(t).slice(4)}`).substring(26);return _I(`0x${s}`,e)}function MS(t,e){return Es(t,{strict:!1}),Es(e,{strict:!1}),t.toLowerCase()===e.toLowerCase()}function $a(t,e={}){let{strict:s=!0}=e??{};try{return Es(t,{strict:s}),!0}catch{return !1}}var Ma=class extends ne{constructor({address:e,cause:s}){super(`Address "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Xc=class extends ne{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},og=class extends ne{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function ug(t){let e=!0,s="",r=0,n="",i=!1;for(let a=0;a<t.length;a++){let o=t[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){t[a-1]!==","&&s!==","&&s!==",("&&(s="",e=!1);continue}n+=o,s+=o;}}if(!i)throw new ne("Unable to normalize signature.");return n}function cg(t,e){let s=typeof t,r=e.type;switch(r){case"address":return $a(t,{strict:!1});case"bool":return s==="boolean";case"function":return s==="string";case"string":return s==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>cg(Object.values(t)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?s==="number"||s==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?s==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(t)&&t.every(n=>cg(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function $S(t,e,s){for(let r in t){let n=t[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return $S(n.components,i.components,s[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?$a(s[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?$a(s[r],{strict:!1}):!1)return a}}function HI(t,e={}){let{prepare:s=!0}=e,r=Array.isArray(t)?Hp(t):typeof t=="string"?Hp(t):t;return {...r,...s?{hash:Qc(r)}:{}}}function nh(t,e,s){let{args:r=[],prepare:n=!0}=s??{},i=vs(e,{strict:!1}),a=t.filter(u=>i?u.type==="function"||u.type==="error"?qS(u)===At(e,0,4):u.type==="event"?Qc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new eu({name:e});if(a.length===1)return {...a[0],...n?{hash:Qc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Qc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((p,w)=>{let E="inputs"in u&&u.inputs[w];return E?cg(p,E):!1})){if(o&&"inputs"in o&&o.inputs){let p=$S(u.inputs,o.inputs,r);if(p)throw new FS({abiItem:u,type:p[0]},{abiItem:o,type:p[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new eu({name:e});return {...c,...n?{hash:Qc(c)}:{}}}function qS(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return At(Qc(e),0,4)}function HR(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return nh(r,n)}return t[0]})(),s=typeof e=="string"?e:qr(e);return ug(s)}function Qc(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Lt(Bs(HR(e)))}var FS=class extends ne{constructor(e,s){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${ug(qr(e.abiItem))}\`, and`,`\`${s.type}\` in \`${ug(qr(s.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},eu=class extends ne{constructor({name:e,data:s,type:r="item"}){let n=e?` with name "${e}"`:s?` with data "${s}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},lg=class extends ne{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${Xe(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var mt={};Ne(mt,{ArrayLengthMismatchError:()=>ah,BytesSizeMismatchError:()=>su,DataSizeTooSmallError:()=>gg,InvalidArrayError:()=>oh,InvalidTypeError:()=>qa,LengthMismatchError:()=>uh,ZeroDataError:()=>yg,decode:()=>ru,encode:()=>en,encodePacked:()=>pg,format:()=>s7,from:()=>wg});d();h();d();h();d();h();var MI=/^(.*)\[([0-9]*)\]$/,fg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,tu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,GS=2n**256n-1n;function Fa(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=JS(e.type);if(i){let[a,o]=i;return MR(t,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return GR(t,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return jR(t,{checksum:r});if(e.type==="bool")return $R(t);if(e.type.startsWith("bytes"))return FR(t,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return qR(t,e);if(e.type==="string")return KR(t,{staticPosition:n});throw new qa(e.type)}var $I=32,KS=32;function jR(t,e={}){let{checksum:s=!1}=e,r=t.readBytes(32);return [(i=>s?rh(i):i)(Ue(PS(r,-20))),32]}function MR(t,e,s){let{checksumAddress:r,length:n,staticPosition:i}=s;if(!n){let c=nr(t.readBytes(KS)),u=i+c,l=u+$I;t.setPosition(u);let p=nr(t.readBytes($I)),w=ih(e),E=0,v=[];for(let I=0;I<p;++I){t.setPosition(l+(w?I*32:E));let[C,D]=Fa(t,e,{checksumAddress:r,staticPosition:l});E+=D,v.push(C);}return t.setPosition(i+32),[v,32]}if(ih(e)){let c=nr(t.readBytes(KS)),u=i+c,l=[];for(let p=0;p<n;++p){t.setPosition(u+p*32);let[w]=Fa(t,e,{checksumAddress:r,staticPosition:u});l.push(w);}return t.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=Fa(t,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function $R(t){return [RS(t.readBytes(32),{size:32}),32]}function FR(t,e,{staticPosition:s}){let[r,n]=e.type.split("bytes");if(!n){let a=nr(t.readBytes(32));t.setPosition(s+a);let o=nr(t.readBytes(32));if(o===0)return t.setPosition(s+32),["0x",32];let c=t.readBytes(o);return t.setPosition(s+32),[Ue(c),32]}return [Ue(t.readBytes(Number.parseInt(n,10),32)),32]}function qR(t,e){let s=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=t.readBytes(32);return [r>48?OS(n,{signed:s}):nr(n,{signed:s}),32]}function GR(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(ih(e)){let c=nr(t.readBytes(KS)),u=n+c;for(let l=0;l<e.components.length;++l){let p=e.components[l];t.setPosition(u+o);let[w,E]=Fa(t,p,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:p?.name]=w;}return t.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,p]=Fa(t,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=p;}return [a,o]}function KR(t,{staticPosition:e}){let s=nr(t.readBytes(32)),r=e+s;t.setPosition(r);let n=nr(t.readBytes(32));if(n===0)return t.setPosition(e+32),["",32];let i=t.readBytes(n,32),a=sg(rg(i));return t.setPosition(e+32),[a,32]}function FI({checksumAddress:t,parameters:e,values:s}){let r=[];for(let n=0;n<e.length;n++)r.push(WS({checksumAddress:t,parameter:e[n],value:s[n]}));return r}function WS({checksumAddress:t=!1,parameter:e,value:s}){let r=e,n=JS(r.type);if(n){let[i,a]=n;return JR(s,{checksumAddress:t,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return QR(s,{checksumAddress:t,parameter:r});if(r.type==="address")return WR(s,{checksum:t});if(r.type==="bool")return YR(s);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=tu.exec(r.type)??[];return ZR(s,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return zR(s,{type:r.type});if(r.type==="string")return XR(s);throw new qa(r.type)}function dg(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?e+=32:e+=Xe(o);}let s=[],r=[],n=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?(s.push(ve(e+n,{size:32})),r.push(o),n+=Xe(o)):s.push(o);}return at(...s,...r)}function WR(t,e){let{checksum:s=!1}=e;return Es(t,{strict:s}),{dynamic:!1,encoded:kr(t.toLowerCase())}}function JR(t,e){let{checksumAddress:s,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(t))throw new oh(t);if(!i&&t.length!==r)throw new ah({expectedLength:r,givenLength:t.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<t.length;c++){let u=WS({checksumAddress:s,parameter:n,value:t[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=dg(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?at(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:at(...o.map(({encoded:c})=>c))}}function zR(t,{type:e}){let[,s]=e.split("bytes"),r=Xe(t);if(!s){let n=t;return r%32!==0&&(n=rr(n,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:at(kr(ve(r,{size:32})),n)}}if(r!==Number.parseInt(s,10))throw new su({expectedSize:Number.parseInt(s,10),value:t});return {dynamic:!1,encoded:rr(t)}}function YR(t){if(typeof t!="boolean")throw new ne(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:kr(eh(t))}}function ZR(t,{signed:e,size:s}){if(typeof s=="number"){let r=2n**(BigInt(s)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(t>r||t<n)throw new Zc({max:r.toString(),min:n.toString(),signed:e,size:s/8,value:t.toString()})}return {dynamic:!1,encoded:ve(t,{size:32,signed:e})}}function XR(t){let e=Bs(t),s=Math.ceil(Xe(e)/32),r=[];for(let n=0;n<s;n++)r.push(rr(At(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:at(rr(ve(Xe(e),{size:32})),...r)}}function QR(t,e){let{checksumAddress:s,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(t)?a:o.name,u=WS({checksumAddress:s,parameter:o,value:t[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?dg(i):at(...i.map(({encoded:a})=>a))}}function JS(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function ih(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return t.components?.some(ih);let s=JS(t.type);return !!(s&&ih({...t,type:s[1]}))}d();h();var t7={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new YS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new zS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new mg({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e;},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new mg({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e;},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let s=e??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length;},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2;},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3;},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let s=this.inspectBytes(t);return this.position+=e??t,s},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++;}};function ch(t,{recursiveReadLimit:e=8192}={}){let s=Object.create(t7);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=e,s}var mg=class extends ne{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},zS=class extends ne{constructor({length:e,position:s}){super(`Position \`${s}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},YS=class extends ne{constructor({count:e,limit:s}){super(`Recursive read limit of \`${s}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function ru(t,e,s={}){let{as:r="Array",checksumAddress:n=!1}=s,i=typeof e=="string"?dt(e):e,a=ch(i);if(Us(i)===0&&t.length>0)throw new yg;if(Us(i)&&Us(i)<32)throw new gg({data:typeof e=="string"?e:Ue(e),parameters:t,size:Us(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<t.length;++u){let l=t[u];a.setPosition(o);let[p,w]=Fa(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(p):c[l.name??u]=p;}return c}function en(t,e,s){let{checksumAddress:r=!1}=s??{};if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let n=FI({checksumAddress:r,parameters:t,values:e}),i=dg(n);return i.length===0?"0x":i}function pg(t,e){if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let s=[];for(let r=0;r<t.length;r++){let n=t[r],i=e[r];s.push(pg.encode(n,i));}return at(...s)}(function(t){function e(s,r,n=!1){if(s==="address"){let c=r;return Es(c),kr(c.toLowerCase(),n?32:0)}if(s==="string")return Bs(r);if(s==="bytes")return r;if(s==="bool")return kr(eh(r),n?32:1);let i=s.match(tu);if(i){let[c,u,l="256"]=i,p=Number.parseInt(l,10)/8;return ve(r,{size:n?32:p,signed:u==="int"})}let a=s.match(fg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new su({expectedSize:Number.parseInt(u,10),value:r});return rr(r,n?32:0)}let o=s.match(MI);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let p=0;p<r.length;p++)l.push(e(u,r[p],!0));return l.length===0?"0x":at(...l)}throw new qa(s)}t.encode=e;})(pg||(pg={}));function s7(t){return Ir(t)}function wg(t){return Array.isArray(t)&&typeof t[0]=="string"?jp(t):typeof t=="string"?jp(t):t}var gg=class extends ne{constructor({data:e,parameters:s,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ir(s)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},yg=class extends ne{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},ah=class extends ne{constructor({expectedLength:e,givenLength:s,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${s}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},su=class extends ne{constructor({expectedSize:e,value:s}){super(`Size of bytes "${s}" (bytes${Xe(s)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},uh=class extends ne{constructor({expectedLength:e,givenLength:s}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${s}`].join(`
339
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},oh=class extends ne{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},qa=class extends ne{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var me={};Ne(me,{decodeData:()=>r7,decodeResult:()=>n7,encodeData:()=>i7,encodeResult:()=>a7,format:()=>o7,from:()=>c7,fromAbi:()=>Ga,getSelector:()=>GI});d();h();function r7(...t){let[e,s]=(()=>{if(Array.isArray(t[0])){let[i,a,o]=t;return [Ga(i,a),o]}return t})(),{overloads:r}=e;if(Xe(s)<4)throw new lg({data:s});if(e.inputs?.length===0)return;let n=r?Ga([e,...r],s):e;if(!(Xe(s)<=4))return ru(n.inputs,At(s,4))}function n7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[i,a,o,c]=t;return [Ga(i,a),o,c]}return t})(),n=ru(e.outputs,s,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function i7(...t){let[e,s=[]]=(()=>{if(Array.isArray(t[0])){let[u,l,p]=t;return [Ga(u,l,{args:p}),p]}let[o,c]=t;return [o,c]})(),{overloads:r}=e,n=r?Ga([e,...r],e.name,{args:s}):e,i=GI(n),a=s.length>0?en(n.inputs,s):void 0;return a?at(i,a):i}function a7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[a,o,c,u]=t;return [Ga(a,o),c,u]}return t})(),{as:n="Array"}=r,i=e.outputs.length===1?[s]:Array.isArray(s)?s:n==="Object"?Object.values(s):[s];return en(e.outputs,i)}function o7(t){return qr(t)}function c7(t,e={}){return HI(t,e)}function Ga(t,e,s){let r=nh(t,e,s);if(r.type!=="function")throw new eu({name:e,type:"function"});return r}function GI(t){return qS(t)}d();h();function KI(t){let e=[];for(let s=0;s<t.length;s++){let[r,n]=t[s];r&&Es(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>DS(i)?i:Ha(i))});}return e}function WI(t){if(!t||t.length===0)return [];let e=[];for(let{address:s,storageKeys:r}of t){for(let n=0;n<r.length;n++)if(Xe(r[n])!==32)throw new ZS({storageKey:r[n]});s&&Es(s,{strict:!1}),e.push([s,r]);}return e}var ZS=class extends ne{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Xe(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();h();function YI(t){return u7(t,"Hex")}function u7(t,e){let s=e,r=(()=>{if(typeof t=="string"){if(t.length>3&&t.length%2!==0)throw new Qf(t);return dt(t)}return t})(),n=ch(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return ZI(n,s)}function ZI(t,e="Hex"){if(t.bytes.length===0)return e==="Hex"?Ue(t.bytes):t.bytes;let s=t.readByte();if(s<128&&t.decrementPosition(1),s<192){let n=zI(t,s,128),i=t.readBytes(n);return e==="Hex"?Ue(i):i}let r=zI(t,s,192);return l7(t,r,e)}function zI(t,e,s){if(s===128&&e<128)return 1;if(e<=s+55)return e-s;if(e===s+55+1)return t.readUint8();if(e===s+55+2)return t.readUint16();if(e===s+55+3)return t.readUint24();if(e===s+55+4)return t.readUint32();throw new ne("Invalid RLP prefix")}function l7(t,e,s){let r=t.position,n=[];for(;t.position-r<e;)n.push(ZI(t,s));return n}function f7(t,e){let{as:s}=e,r=QI(t),n=ch(new Uint8Array(r.length));return r.encode(n),s==="Hex"?Ue(n.bytes):n.bytes}function XI(t,e={}){let{as:s="Hex"}=e;return f7(t,{as:s})}function QI(t){return Array.isArray(t)?h7(t.map(e=>QI(e))):d7(t)}function h7(t){let e=t.reduce((n,i)=>n+i.length,0),s=e8(e);return {length:e<=55?1+e:1+s+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+s),s===1?n.pushUint8(e):s===2?n.pushUint16(e):s===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of t)i(n);}}}function d7(t){let e=typeof t=="string"?dt(t):t,s=e8(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+s+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+s),s===1?n.pushUint8(e.length):s===2?n.pushUint16(e.length):s===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function e8(t){if(t<=255)return 1;if(t<=65535)return 2;if(t<=16777215)return 3;if(t<=4294967295)return 4;throw new ne("Length is too large.")}var Kt={};Ne(Kt,{InvalidRError:()=>Eg,InvalidSError:()=>xg,InvalidSerializedSizeError:()=>vg,InvalidVError:()=>Ag,InvalidYParityError:()=>Wa,MissingPropertiesError:()=>iu,assert:()=>Ig,extract:()=>Cg,from:()=>lh,fromBytes:()=>S8,fromDerBytes:()=>B7,fromDerHex:()=>v8,fromHex:()=>mv,fromLegacy:()=>E8,fromRpc:()=>x8,fromTuple:()=>pv,toBytes:()=>P7,toDerBytes:()=>O7,toDerHex:()=>R7,toHex:()=>A8,toLegacy:()=>L7,toRpc:()=>gv,toTuple:()=>yv,vToYParity:()=>Ng,validate:()=>D7,yParityToV:()=>wv});d();h();d();h();d();h();d();h();var bg=class extends Xn{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,U3(e);let r=Ba(s);if(this.iHash=e.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 n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),bs(i);}update(e){return Gr(this),this.iHash.update(e),this}digestInto(e){Gr(this),Nr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy();}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:s,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=s._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},XS=(t,e,s)=>new bg(t,e).update(s).digest();XS.create=(t,e)=>new bg(t,e);d();h();d();h();d();h();var xs=BigInt(0),us=BigInt(1),Ka=BigInt(2),m7=BigInt(3),r8=BigInt(4),n8=BigInt(5),i8=BigInt(8);function cs(t,e){let s=t%e;return s>=xs?s:e+s}function _s(t,e,s){let r=t;for(;e-- >xs;)r*=r,r%=s;return r}function Sg(t,e){if(t===xs)throw new Error("invert: expected non-zero number");if(e<=xs)throw new Error("invert: expected positive modulus, got "+e);let s=cs(t,e),r=e,n=xs,a=us;for(;s!==xs;){let u=r/s,l=r%s,p=n-a*u;r=s,s=l,n=a,a=p;}if(r!==us)throw new Error("invert: does not exist");return cs(n,e)}function a8(t,e){let s=(t.ORDER+us)/r8,r=t.pow(e,s);if(!t.eql(t.sqr(r),e))throw new Error("Cannot find square root");return r}function p7(t,e){let s=(t.ORDER-n8)/i8,r=t.mul(e,Ka),n=t.pow(r,s),i=t.mul(e,n),a=t.mul(t.mul(i,Ka),n),o=t.mul(i,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),e))throw new Error("Cannot find square root");return o}function g7(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-us,s=0;for(;e%Ka===xs;)e/=Ka,s++;let r=Ka,n=tn(t);for(;s8(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return a8;let i=n.pow(r,e),a=(e+us)/Ka;return function(c,u){if(c.is0(u))return u;if(s8(c,u)!==1)throw new Error("Cannot find square root");let l=s,p=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let v=1,I=c.sqr(w);for(;!c.eql(I,c.ONE);)if(v++,I=c.sqr(I),v===l)throw new Error("Cannot find square root");let C=us<<BigInt(l-v-1),D=c.pow(p,C);l=v,p=c.sqr(D),w=c.mul(w,p),E=c.mul(E,D);}return E}}function y7(t){return t%r8===m7?a8:t%i8===n8?p7:g7(t)}var w7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function QS(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=w7.reduce((r,n)=>(r[n]="function",r),e);return Ua(t,s)}function b7(t,e,s){if(s<xs)throw new Error("invalid exponent, negatives unsupported");if(s===xs)return t.ONE;if(s===us)return e;let r=t.ONE,n=e;for(;s>xs;)s&us&&(r=t.mul(r,n)),n=t.sqr(n),s>>=us;return r}function ev(t,e,s=!1){let r=new Array(e.length).fill(s?t.ZERO:void 0),n=e.reduce((a,o,c)=>t.is0(o)?a:(r[c]=a,t.mul(a,o)),t.ONE),i=t.inv(n);return e.reduceRight((a,o,c)=>t.is0(o)?a:(r[c]=t.mul(a,r[c]),t.mul(a,o)),i),r}function s8(t,e){let s=(t.ORDER-us)/Ka,r=t.pow(e,s),n=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),a=t.eql(r,t.neg(t.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function tv(t,e){e!==void 0&&ka(e);let s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return {nBitLength:s,nByteLength:r}}function tn(t,e,s=!1,r={}){if(t<=xs)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:n,nByteLength:i}=tv(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:t,isLE:s,BITS:n,BYTES:i,MASK:Va(n),ZERO:xs,ONE:us,create:c=>cs(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return xs<=c&&c<t},is0:c=>c===xs,isOdd:c=>(c&us)===us,neg:c=>cs(-c,t),eql:(c,u)=>c===u,sqr:c=>cs(c*c,t),add:(c,u)=>cs(c+u,t),sub:(c,u)=>cs(c-u,t),mul:(c,u)=>cs(c*u,t),pow:(c,u)=>b7(o,c,u),div:(c,u)=>cs(c*Sg(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Sg(c,t),sqrt:r.sqrt||(c=>(a||(a=y7(t)),a(o,c))),toBytes:c=>s?vS(c,i):La(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return s?SS(c):Jr(c)},invertBatch:c=>ev(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function o8(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function sv(t){let e=o8(t);return e+Math.ceil(e/2)}function c8(t,e,s=!1){let r=t.length,n=o8(e),i=sv(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=s?SS(t):Jr(t),o=cs(a,e-us)+us;return s?vS(o,n):La(o,n)}var u8=BigInt(0),ov=BigInt(1);function rv(t,e){let s=e.negate();return t?s:e}function f8(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function nv(t,e){f8(t,e);let s=Math.ceil(e/t)+1,r=2**(t-1),n=2**t,i=Va(t),a=BigInt(t);return {windows:s,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function l8(t,e,s){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=s,o=Number(t&n),c=t>>a;o>r&&(o-=i,c+=ov);let u=e*r,l=u+Math.abs(o)-1,p=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:u}}function S7(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,r)=>{if(!(s instanceof e))throw new Error("invalid point at index "+r)});}function v7(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,r)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+r)});}var iv=new WeakMap,h8=new WeakMap;function av(t){return h8.get(t)||1}function d8(t,e){return {constTimeNegate:rv,hasPrecomputes(s){return av(s)!==1},unsafeLadder(s,r,n=t.ZERO){let i=s;for(;r>u8;)r&ov&&(n=n.add(i)),i=i.double(),r>>=ov;return n},precomputeWindow(s,r){let{windows:n,windowSize:i}=nv(r,e),a=[],o=s,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(s,r,n){let i=t.ZERO,a=t.BASE,o=nv(s,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:v}=l8(n,c,o);n=u,p?a=a.add(rv(E,r[v])):i=i.add(rv(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(s,r,n,i=t.ZERO){let a=nv(s,e);for(let o=0;o<a.windows&&n!==u8;o++){let{nextN:c,offset:u,isZero:l,isNeg:p}=l8(n,o,a);if(n=c,!l){let w=r[u];i=i.add(p?w.negate():w);}}return i},getPrecomputes(s,r,n){let i=iv.get(r);return i||(i=this.precomputeWindow(r,s),s!==1&&iv.set(r,n(i))),i},wNAFCached(s,r,n){let i=av(s);return this.wNAF(i,this.getPrecomputes(i,s,n),r)},wNAFCachedUnsafe(s,r,n,i){let a=av(s);return a===1?this.unsafeLadder(s,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,s,n),r,i)},setWindowSize(s,r){f8(r,e),h8.set(s,r),iv.delete(s);}}}function m8(t,e,s,r){S7(s,t),v7(r,e);let n=s.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=t.ZERO,o=vI(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Va(c),l=new Array(Number(u)+1).fill(a),p=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=p;E>=0;E-=c){l.fill(a);for(let I=0;I<i;I++){let C=r[I],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(s[I]);}let v=a;for(let I=l.length-1,C=a;I>0;I--)C=C.add(l[I]),v=v.add(C);if(w=w.add(v),E!==0)for(let I=0;I<c;I++)w=w.double();}return w}function cv(t){return QS(t.Fp),Ua(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...tv(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function p8(t){t.lowS!==void 0&&Kc("lowS",t.lowS),t.prehash!==void 0&&Kc("prehash",t.prehash);}function E7(t){let e=cv(t);Ua(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:s,Fp:r,a:n}=e;if(s){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var fv=class extends Error{constructor(e=""){super(e);}},sn={Err:fv,_tlv:{encode:(t,e)=>{let{Err:s}=sn;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let r=e.length/2,n=qf(r);if(n.length/2&128)throw new s("tlv.encode: long form length too big");let i=r>127?qf(n.length/2|128):"";return qf(t)+i+n+e},decode(t,e){let{Err:s}=sn,r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new s("tlv.decode: length bytes not complete");if(u[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new s("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new s("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(t){let{Err:e}=sn;if(t<rn)throw new e("integer: negative integers are not allowed");let s=qf(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){let{Err:e}=sn;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Jr(t)}},toSig(t){let{Err:e,_int:s,_tlv:r}=sn,n=ks("signature",t),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:s.decode(o),s:s.decode(u)}},hexFromSig(t){let{_tlv:e,_int:s}=sn,r=e.encode(2,s.encode(t.r)),n=e.encode(2,s.encode(t.s)),i=r+n;return e.encode(48,i)}};function uv(t,e){return Wc(La(t,e))}var rn=BigInt(0),Gt=BigInt(1);BigInt(2);var lv=BigInt(3),x7=BigInt(4);function A7(t){let e=E7(t),{Fp:s}=e,r=tn(e.n,e.nBitLength),n=e.toBytes||((B,k,O)=>{let K=k.toAffine();return Kf(Uint8Array.from([4]),s.toBytes(K.x),s.toBytes(K.y))}),i=e.fromBytes||(B=>{let k=B.subarray(1),O=s.fromBytes(k.subarray(0,s.BYTES)),K=s.fromBytes(k.subarray(s.BYTES,2*s.BYTES));return {x:O,y:K}});function a(B){let{a:k,b:O}=e,K=s.sqr(B),re=s.mul(K,B);return s.add(s.add(re,s.mul(B,k)),O)}function o(B,k){let O=s.sqr(k),K=a(B);return s.eql(O,K)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=s.mul(s.pow(e.a,lv),x7),u=s.mul(s.sqr(e.b),BigInt(27));if(s.is0(s.add(c,u)))throw new Error("bad curve params: a or b");function l(B){return Zp(B,Gt,e.n)}function p(B){let{allowedPrivateKeyLengths:k,nByteLength:O,wrapPrivateKey:K,n:re}=e;if(k&&typeof B!="bigint"){if(Gc(B)&&(B=Wc(B)),typeof B!="string"||!k.includes(B.length))throw new Error("invalid private key");B=B.padStart(O*2,"0");}let Q;try{Q=typeof B=="bigint"?B:Jr(ks("private key",B,O));}catch{throw new Error("invalid private key, expected hex or "+O+" bytes, got "+typeof B)}return K&&(Q=cs(Q,re)),Da("private key",Q,Gt,re),Q}function w(B){if(!(B instanceof I))throw new Error("ProjectivePoint expected")}let E=ES((B,k)=>{let{px:O,py:K,pz:re}=B;if(s.eql(re,s.ONE))return {x:O,y:K};let Q=B.is0();k==null&&(k=Q?s.ONE:s.inv(re));let oe=s.mul(O,k),pe=s.mul(K,k),se=s.mul(re,k);if(Q)return {x:s.ZERO,y:s.ZERO};if(!s.eql(se,s.ONE))throw new Error("invZ was invalid");return {x:oe,y:pe}}),v=ES(B=>{if(B.is0()){if(e.allowInfinityPoint&&!s.is0(B.py))return;throw new Error("bad point: ZERO")}let{x:k,y:O}=B.toAffine();if(!s.isValid(k)||!s.isValid(O))throw new Error("bad point: x or y not FE");if(!o(k,O))throw new Error("bad point: equation left != right");if(!B.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class I{constructor(k,O,K){if(k==null||!s.isValid(k))throw new Error("x required");if(O==null||!s.isValid(O)||s.is0(O))throw new Error("y required");if(K==null||!s.isValid(K))throw new Error("z required");this.px=k,this.py=O,this.pz=K,Object.freeze(this);}static fromAffine(k){let{x:O,y:K}=k||{};if(!k||!s.isValid(O)||!s.isValid(K))throw new Error("invalid affine point");if(k instanceof I)throw new Error("projective point not allowed");let re=Q=>s.eql(Q,s.ZERO);return re(O)&&re(K)?I.ZERO:new I(O,K,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(k){let O=ev(s,k.map(K=>K.pz));return k.map((K,re)=>K.toAffine(O[re])).map(I.fromAffine)}static fromHex(k){let O=I.fromAffine(i(ks("pointHex",k)));return O.assertValidity(),O}static fromPrivateKey(k){return I.BASE.multiply(p(k))}static msm(k,O){return m8(I,r,k,O)}_setWindowSize(k){V.setWindowSize(this,k);}assertValidity(){v(this);}hasEvenY(){let{y:k}=this.toAffine();if(s.isOdd)return !s.isOdd(k);throw new Error("Field doesn't support isOdd")}equals(k){w(k);let{px:O,py:K,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.eql(s.mul(O,pe),s.mul(Q,re)),ce=s.eql(s.mul(K,pe),s.mul(oe,re));return se&&ce}negate(){return new I(this.px,s.neg(this.py),this.pz)}double(){let{a:k,b:O}=e,K=s.mul(O,lv),{px:re,py:Q,pz:oe}=this,pe=s.ZERO,se=s.ZERO,ce=s.ZERO,ye=s.mul(re,re),Ge=s.mul(Q,Q),J=s.mul(oe,oe),X=s.mul(re,Q);return X=s.add(X,X),ce=s.mul(re,oe),ce=s.add(ce,ce),pe=s.mul(k,ce),se=s.mul(K,J),se=s.add(pe,se),pe=s.sub(Ge,se),se=s.add(Ge,se),se=s.mul(pe,se),pe=s.mul(X,pe),ce=s.mul(K,ce),J=s.mul(k,J),X=s.sub(ye,J),X=s.mul(k,X),X=s.add(X,ce),ce=s.add(ye,ye),ye=s.add(ce,ye),ye=s.add(ye,J),ye=s.mul(ye,X),se=s.add(se,ye),J=s.mul(Q,oe),J=s.add(J,J),ye=s.mul(J,X),pe=s.sub(pe,ye),ce=s.mul(J,Ge),ce=s.add(ce,ce),ce=s.add(ce,ce),new I(pe,se,ce)}add(k){w(k);let{px:O,py:K,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.ZERO,ce=s.ZERO,ye=s.ZERO,Ge=e.a,J=s.mul(e.b,lv),X=s.mul(O,Q),ue=s.mul(K,oe),Ee=s.mul(re,pe),fe=s.add(O,K),$=s.add(Q,oe);fe=s.mul(fe,$),$=s.add(X,ue),fe=s.sub(fe,$),$=s.add(O,re);let te=s.add(Q,pe);return $=s.mul($,te),te=s.add(X,Ee),$=s.sub($,te),te=s.add(K,re),se=s.add(oe,pe),te=s.mul(te,se),se=s.add(ue,Ee),te=s.sub(te,se),ye=s.mul(Ge,$),se=s.mul(J,Ee),ye=s.add(se,ye),se=s.sub(ue,ye),ye=s.add(ue,ye),ce=s.mul(se,ye),ue=s.add(X,X),ue=s.add(ue,X),Ee=s.mul(Ge,Ee),$=s.mul(J,$),ue=s.add(ue,Ee),Ee=s.sub(X,Ee),Ee=s.mul(Ge,Ee),$=s.add($,Ee),X=s.mul(ue,$),ce=s.add(ce,X),X=s.mul(te,$),se=s.mul(fe,se),se=s.sub(se,X),X=s.mul(fe,ue),ye=s.mul(te,ye),ye=s.add(ye,X),new I(se,ce,ye)}subtract(k){return this.add(k.negate())}is0(){return this.equals(I.ZERO)}wNAF(k){return V.wNAFCached(this,k,I.normalizeZ)}multiplyUnsafe(k){let{endo:O,n:K}=e;Da("scalar",k,rn,K);let re=I.ZERO;if(k===rn)return re;if(this.is0()||k===Gt)return this;if(!O||V.hasPrecomputes(this))return V.wNAFCachedUnsafe(this,k,I.normalizeZ);let{k1neg:Q,k1:oe,k2neg:pe,k2:se}=O.splitScalar(k),ce=re,ye=re,Ge=this;for(;oe>rn||se>rn;)oe&Gt&&(ce=ce.add(Ge)),se&Gt&&(ye=ye.add(Ge)),Ge=Ge.double(),oe>>=Gt,se>>=Gt;return Q&&(ce=ce.negate()),pe&&(ye=ye.negate()),ye=new I(s.mul(ye.px,O.beta),ye.py,ye.pz),ce.add(ye)}multiply(k){let{endo:O,n:K}=e;Da("scalar",k,Gt,K);let re,Q;if(O){let{k1neg:oe,k1:pe,k2neg:se,k2:ce}=O.splitScalar(k),{p:ye,f:Ge}=this.wNAF(pe),{p:J,f:X}=this.wNAF(ce);ye=V.constTimeNegate(oe,ye),J=V.constTimeNegate(se,J),J=new I(s.mul(J.px,O.beta),J.py,J.pz),re=ye.add(J),Q=Ge.add(X);}else {let{p:oe,f:pe}=this.wNAF(k);re=oe,Q=pe;}return I.normalizeZ([re,Q])[0]}multiplyAndAddUnsafe(k,O,K){let re=I.BASE,Q=(pe,se)=>se===rn||se===Gt||!pe.equals(re)?pe.multiplyUnsafe(se):pe.multiply(se),oe=Q(this,O).add(Q(k,K));return oe.is0()?void 0:oe}toAffine(k){return E(this,k)}isTorsionFree(){let{h:k,isTorsionFree:O}=e;if(k===Gt)return !0;if(O)return O(I,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:k,clearCofactor:O}=e;return k===Gt?this:O?O(I,this):this.multiplyUnsafe(e.h)}toRawBytes(k=!0){return Kc("isCompressed",k),this.assertValidity(),n(I,this,k)}toHex(k=!0){return Kc("isCompressed",k),Wc(this.toRawBytes(k))}}I.BASE=new I(e.Gx,e.Gy,s.ONE),I.ZERO=new I(s.ZERO,s.ONE,s.ZERO);let{endo:C,nBitLength:D}=e,V=d8(I,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:I,normPrivateKeyToScalar:p,weierstrassEquation:a,isWithinCurveOrder:l}}function I7(t){let e=cv(t);return Ua(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function g8(t){let e=I7(t),{Fp:s,n:r,nByteLength:n,nBitLength:i}=e,a=s.BYTES+1,o=2*s.BYTES+1;function c(J){return cs(J,r)}function u(J){return Sg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:p,weierstrassEquation:w,isWithinCurveOrder:E}=A7({...e,toBytes(J,X,ue){let Ee=X.toAffine(),fe=s.toBytes(Ee.x),$=Kf;return Kc("isCompressed",ue),ue?$(Uint8Array.from([X.hasEvenY()?2:3]),fe):$(Uint8Array.from([4]),fe,s.toBytes(Ee.y))},fromBytes(J){let X=J.length,ue=J[0],Ee=J.subarray(1);if(X===a&&(ue===2||ue===3)){let fe=Jr(Ee);if(!Zp(fe,Gt,s.ORDER))throw new Error("Point is not on curve");let $=w(fe),te;try{te=s.sqrt($);}catch(Re){let ze=Re instanceof Error?": "+Re.message:"";throw new Error("Point is not on curve"+ze)}let ie=(te&Gt)===Gt;return (ue&1)===1!==ie&&(te=s.neg(te)),{x:fe,y:te}}else if(X===o&&ue===4){let fe=s.fromBytes(Ee.subarray(0,s.BYTES)),$=s.fromBytes(Ee.subarray(s.BYTES,2*s.BYTES));return {x:fe,y:$}}else {let fe=a,$=o;throw new Error("invalid Point, expected length of "+fe+", or uncompressed "+$+", got "+X)}}});function v(J){let X=r>>Gt;return J>X}function I(J){return v(J)?c(-J):J}let C=(J,X,ue)=>Jr(J.slice(X,ue));class D{constructor(X,ue,Ee){Da("r",X,Gt,r),Da("s",ue,Gt,r),this.r=X,this.s=ue,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(X){let ue=n;return X=ks("compactSignature",X,ue*2),new D(C(X,0,ue),C(X,ue,2*ue))}static fromDER(X){let{r:ue,s:Ee}=sn.toSig(ks("DER",X));return new D(ue,Ee)}assertValidity(){}addRecoveryBit(X){return new D(this.r,this.s,X)}recoverPublicKey(X){let{r:ue,s:Ee,recovery:fe}=this,$=re(ks("msgHash",X));if(fe==null||![0,1,2,3].includes(fe))throw new Error("recovery id invalid");let te=fe===2||fe===3?ue+e.n:ue;if(te>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");let ie=fe&1?"03":"02",xe=l.fromHex(ie+uv(te,s.BYTES)),Re=u(te),ze=c(-$*Re),Ut=c(Ee*Re),Ke=l.BASE.multiplyAndAddUnsafe(xe,ze,Ut);if(!Ke)throw new Error("point at infinify");return Ke.assertValidity(),Ke}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Gf(this.toDERHex())}toDERHex(){return sn.hexFromSig(this)}toCompactRawBytes(){return Gf(this.toCompactHex())}toCompactHex(){let X=n;return uv(this.r,X)+uv(this.s,X)}}let V={isValidPrivateKey(J){try{return p(J),!0}catch{return !1}},normPrivateKeyToScalar:p,randomPrivateKey:()=>{let J=sv(e.n);return c8(e.randomBytes(J),e.n)},precompute(J=8,X=l.BASE){return X._setWindowSize(J),X.multiply(BigInt(3)),X}};function B(J,X=!0){return l.fromPrivateKey(J).toRawBytes(X)}function k(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ue=ks("key",J).length,Ee=s.BYTES,fe=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===fe))return ue===fe||ue===$}function O(J,X,ue=!0){if(k(J)===!0)throw new Error("first arg must be private key");if(k(X)===!1)throw new Error("second arg must be public key");return l.fromHex(X).multiply(p(J)).toRawBytes(ue)}let K=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let X=Jr(J),ue=J.length*8-i;return ue>0?X>>BigInt(ue):X},re=e.bits2int_modN||function(J){return c(K(J))},Q=Va(i);function oe(J){return Da("num < 2^"+i,J,rn,Q),La(J,n)}function pe(J,X,ue=se){if(["recovered","canonical"].some(de=>de in ue))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:fe}=e,{lowS:$,prehash:te,extraEntropy:ie}=ue;$==null&&($=!0),J=ks("msgHash",J),p8(ue),te&&(J=ks("prehashed msgHash",Ee(J)));let xe=re(J),Re=p(X),ze=[oe(Re),oe(xe)];if(ie!=null&&ie!==!1){let de=ie===!0?fe(s.BYTES):ie;ze.push(ks("extraEntropy",de));}let Ut=Kf(...ze),Ke=xe;function je(de){let as=K(de);if(!E(as))return;let ys=u(as),Bt=l.BASE.multiply(as).toAffine(),qe=c(Bt.x);if(qe===rn)return;let va=c(ys*c(Ke+qe*Re));if(va===rn)return;let Gn=(Bt.x===qe?0:2)|Number(Bt.y&Gt),Dc=va;return $&&v(va)&&(Dc=I(va),Gn^=1),new D(qe,Dc,Gn)}return {seed:Ut,k2sig:je}}let se={lowS:e.lowS,prehash:!1},ce={lowS:e.lowS,prehash:!1};function ye(J,X,ue=se){let{seed:Ee,k2sig:fe}=pe(J,X,ue),$=e;return EI($.hash.outputLen,$.nByteLength,$.hmac)(Ee,fe)}l.BASE._setWindowSize(8);function Ge(J,X,ue,Ee=ce){let fe=J;X=ks("msgHash",X),ue=ks("publicKey",ue);let{lowS:$,prehash:te,format:ie}=Ee;if(p8(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ie!==void 0&&ie!=="compact"&&ie!=="der")throw new Error("format must be compact or der");let xe=typeof fe=="string"||Gc(fe),Re=!xe&&!ie&&typeof fe=="object"&&fe!==null&&typeof fe.r=="bigint"&&typeof fe.s=="bigint";if(!xe&&!Re)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ze,Ut;try{if(Re&&(ze=new D(fe.r,fe.s)),xe){try{ie!=="compact"&&(ze=D.fromDER(fe));}catch(Gn){if(!(Gn instanceof sn.Err))throw Gn}!ze&&ie!=="der"&&(ze=D.fromCompact(fe));}Ut=l.fromHex(ue);}catch{return !1}if(!ze||$&&ze.hasHighS())return !1;te&&(X=e.hash(X));let{r:Ke,s:je}=ze,de=re(X),as=u(je),ys=c(de*as),Bt=c(Ke*as),qe=l.BASE.multiplyAndAddUnsafe(Ut,ys,Bt)?.toAffine();return qe?c(qe.x)===Ke:!1}return {CURVE:e,getPublicKey:B,getSharedSecret:O,sign:ye,verify:Ge,ProjectivePoint:l,Signature:D,utils:V}}function C7(t){return {hash:t,hmac:(e,...s)=>XS(t,e,H3(...s)),randomBytes:j3}}function nu(t,e){let s=r=>g8({...t,...C7(r)});return {...s(e),create:s}}var b8=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),y8=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),N7=BigInt(0),T7=BigInt(1),hv=BigInt(2),w8=(t,e)=>(t+e/hv)/e;function k7(t){let e=b8,s=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,p=_s(l,s,e)*l%e,w=_s(p,s,e)*l%e,E=_s(w,hv,e)*u%e,v=_s(E,n,e)*E%e,I=_s(v,i,e)*v%e,C=_s(I,o,e)*I%e,D=_s(C,c,e)*C%e,V=_s(D,o,e)*I%e,B=_s(V,s,e)*l%e,k=_s(B,a,e)*v%e,O=_s(k,r,e)*u%e,K=_s(O,hv,e);if(!dv.eql(dv.sqr(K),t))throw new Error("Cannot find square root");return K}var dv=tn(b8,void 0,void 0,{sqrt:k7}),Hs=nu({a:N7,b:BigInt(7),Fp:dv,n:y8,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=y8,s=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-T7*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=s,a=BigInt("0x100000000000000000000000000000000"),o=w8(i*t,e),c=w8(-r*t,e),u=cs(t-o*s-c*n,e),l=cs(-o*r-c*i,e),p=u>a,w=l>a;if(p&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return {k1neg:p,k1:u,k2neg:w,k2:l}}}},qc);function Ig(t,e={}){let{recovered:s}=e;if(typeof t.r>"u")throw new iu({signature:t});if(typeof t.s>"u")throw new iu({signature:t});if(s&&typeof t.yParity>"u")throw new iu({signature:t});if(t.r<0n||t.r>GS)throw new Eg({value:t.r});if(t.s<0n||t.s>GS)throw new xg({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Wa({value:t.yParity})}function S8(t){return mv(Ue(t))}function mv(t){if(t.length!==130&&t.length!==132)throw new vg({signature:t});let e=BigInt(At(t,0,32)),s=BigInt(At(t,32,64)),r=(()=>{let n=+`0x${t.slice(130)}`;if(!Number.isNaN(n))try{return Ng(n)}catch{throw new Wa({value:n})}})();return typeof r>"u"?{r:e,s}:{r:e,s,yParity:r}}function Cg(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return lh(t)}function lh(t){let e=typeof t=="string"?mv(t):t instanceof Uint8Array?S8(t):typeof t.r=="string"?x8(t):t.v?E8(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return Ig(e),e}function B7(t){return v8(Ue(t))}function v8(t){let{r:e,s}=Hs.Signature.fromDER(Ss(t).slice(2));return {r:e,s}}function E8(t){return {r:t.r,s:t.s,yParity:Ng(t.v)}}function x8(t){let e=(()=>{let s=t.v?Number(t.v):void 0,r=t.yParity?Number(t.yParity):void 0;if(typeof s=="number"&&typeof r!="number"&&(r=Ng(s)),typeof r!="number")throw new Wa({value:t.yParity});return r})();return {r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function pv(t){let[e,s,r]=t;return lh({r:s==="0x"?0n:BigInt(s),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function P7(t){return dt(A8(t))}function A8(t){Ig(t);let e=t.r,s=t.s;return at(ve(e,{size:32}),ve(s,{size:32}),typeof t.yParity=="number"?ve(wv(t.yParity),{size:1}):"0x")}function O7(t){return new Hs.Signature(t.r,t.s).toDERRawBytes()}function R7(t){return `0x${new Hs.Signature(t.r,t.s).toDERHex()}`}function L7(t){return {r:t.r,s:t.s,v:wv(t.yParity)}}function gv(t){let{r:e,s,yParity:r}=t;return {r:ve(e,{size:32}),s:ve(s,{size:32}),yParity:r===0?"0x0":"0x1"}}function yv(t){let{r:e,s,yParity:r}=t;return [r?"0x01":"0x",e===0n?"0x":Ha(ve(e)),s===0n?"0x":Ha(ve(s))]}function D7(t,e={}){try{return Ig(t,e),!0}catch{return !1}}function Ng(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new Ag({value:t})}function wv(t){if(t===0)return 27;if(t===1)return 28;throw new Wa({value:t})}var vg=class extends ne{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},iu=class extends ne{constructor({signature:e}){super(`Signature \`${sr(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},Eg=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},xg=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Wa=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},Ag=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();h();var V7=new TextEncoder,U7=new TextDecoder,Tg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[e,t.charCodeAt(0)])),kg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[t.charCodeAt(0),e])),61:0,45:62,95:63};function _7(t,e={}){let{pad:s=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(t.length/3)*4);for(let c=0,u=0;u<t.length;c+=4,u+=3){let l=(t[u]<<16)+(t[u+1]<<8)+(t[u+2]|0);n[c]=Tg[l>>18],n[c+1]=Tg[l>>12&63],n[c+2]=Tg[l>>6&63],n[c+3]=Tg[l&63];}let i=t.length%3,a=Math.floor(t.length/3)*4+(i&&i+1),o=U7.decode(new Uint8Array(n.buffer,0,a));return s&&i===1&&(o+="=="),s&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function I8(t,e={}){return _7(dt(t),e)}function fh(t){let e=t.replace(/=+$/,""),s=e.length,r=new Uint8Array(s+3);V7.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(kg[r[i]]<<18)+(kg[r[i+1]]<<12)+(kg[r[i+2]]<<6)+kg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(s>>2)*3+(s%4&&s%4-1);return new Uint8Array(r.buffer,0,n)}var es={};Ne(es,{createKeyPair:()=>j7,getPublicKey:()=>T8,getSharedSecret:()=>M7,noble:()=>H7,randomPrivateKey:()=>k8,recoverAddress:()=>B8,recoverPublicKey:()=>P8,sign:()=>$7,verify:()=>F7});d();h();d();h();var Bg=!1;var H7=Hs;function j7(t={}){let{as:e="Hex"}=t,s=k8({as:e}),r=T8({privateKey:s});return {privateKey:s,publicKey:r}}function T8(t){let{privateKey:e}=t,s=Hs.ProjectivePoint.fromPrivateKey(Ss(e).slice(2));return Qr(s)}function M7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,a=Hs.ProjectivePoint.fromHex(ri(r).slice(2)).multiply(Hs.utils.normPrivateKeyToScalar(Ss(s).slice(2))).toRawBytes(!0);return e==="Hex"?Ue(a):a}function k8(t={}){let{as:e="Hex"}=t,s=Hs.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function B8(t){return jS(P8(t))}function P8(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,o=new Hs.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(Ss(e).substring(2));return Qr(o)}function $7(t){let{extraEntropy:e=Bg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=Hs.sign(Zr(r),Zr(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function F7(t){let{address:e,hash:s,payload:r,publicKey:n,signature:i}=t;return e?MS(e,B8({payload:r,signature:i})):Hs.verify(i,Zr(r),UI(n),...s?[{prehash:!0,lowS:!0}]:[])}d();h();function O8(t,e={}){return {...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,logIndex:t.logIndex?Number(t.logIndex):null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null}}function R8(t,e={}){return {address:t.address,blockHash:t.blockHash,blockNumber:typeof t.blockNumber=="bigint"?ve(t.blockNumber):null,data:t.data,logIndex:typeof t.logIndex=="number"?ve(t.logIndex):null,topics:t.topics,transactionHash:t.transactionHash,transactionIndex:typeof t.transactionIndex=="number"?ve(t.transactionIndex):null,removed:t.removed}}var au={};Ne(au,{createKeyPair:()=>Z7,getPublicKey:()=>_8,getSharedSecret:()=>X7,noble:()=>Y7,randomPrivateKey:()=>H8,recoverPublicKey:()=>Q7,sign:()=>e9,verify:()=>vv});d();h();d();h();d();h();var D8=tn(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),q7=D8.create(BigInt("-3")),G7=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),bv=nu({a:q7,b:G7,Fp:D8,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},qc);var V8=tn(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),K7=V8.create(BigInt("-3")),W7=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");nu({a:K7,b:W7,Fp:V8,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},pI);var U8=tn(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),J7=U8.create(BigInt("-3")),z7=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");nu({a:J7,b:z7,Fp:U8,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},mI);var Sv=bv,nn=bv;var Y7=nn;function Z7(t={}){let{as:e="Hex"}=t,s=H8({as:e}),r=_8({privateKey:s});return {privateKey:s,publicKey:r}}function _8(t){let{privateKey:e}=t,s=nn.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Ue(e).slice(2));return Qr(s)}function X7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,n=nn.ProjectivePoint.fromHex(ri(r).slice(2)),i=typeof s=="string"?s.slice(2):Ue(s).slice(2),o=n.multiply(nn.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Ue(o):o}function H8(t={}){let{as:e="Hex"}=t,s=nn.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function Q7(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,a=new nn.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Ue(e):e,c=a.recoverPublicKey(o.substring(2));return Qr(c)}function e9(t){let{extraEntropy:e=Bg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=nn.sign(r instanceof Uint8Array?r:dt(r),n instanceof Uint8Array?n:dt(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function vv(t){let{hash:e,payload:s,publicKey:r,signature:n}=t;return nn.verify(n,s instanceof Uint8Array?s:dt(s),ri(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var Pg={};Ne(Pg,{encode:()=>j8,getSignPayload:()=>t9});d();h();function j8(t){let e=Ss(t);return at("0x19",Bs(`Ethereum Signed Message:
340
+ `+Xe(e)),e)}function t9(t){return Lt(j8(t))}d();h();d();h();var M8={wei:0,gwei:9,szabo:12,finney:15,ether:18};function s9(t,e=0){let s=t.toString(),r=s.startsWith("-");r&&(s=s.slice(1)),s=s.padStart(e,"0");let[n,i]=[s.slice(0,s.length-e),s.slice(s.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function Og(t,e="wei"){return s9(t,M8.gwei-M8[e])}var Rg=class extends ne{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${Og(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Lg=class extends ne{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Dg=class extends ne{constructor({attributes:e,serialized:s,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${s}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Vg=class extends ne{constructor({maxPriorityFeePerGas:e,maxFeePerGas:s}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${Og(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${s?` = ${Og(s)} gwei`:""}).`].join(`
341
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var Ja={};Ne(Ja,{assert:()=>hh,deserialize:()=>G8,from:()=>r9,getSignPayload:()=>n9,hash:()=>K8,serialize:()=>W8,serializedType:()=>q8,toRpc:()=>i9,type:()=>Ev,validate:()=>a9});d();h();var q8="0x02",Ev="eip1559";function hh(t){let{chainId:e,maxPriorityFeePerGas:s,maxFeePerGas:r,to:n}=t;if(e<=0)throw new Lg({chainId:e});if(n&&Es(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new Rg({feeCap:r});if(s&&r&&s>r)throw new Vg({maxFeePerGas:r,maxPriorityFeePerGas:s})}function G8(t){let e=YI(At(t,1)),[s,r,n,i,a,o,c,u,l,p,w,E]=e;if(!(e.length===9||e.length===12))throw new Dg({attributes:{chainId:s,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:p,r:w,s:E}:{}},serialized:t,type:Ev});let v={chainId:Number(s),type:Ev};vs(o)&&o!=="0x"&&(v.to=o),vs(a)&&a!=="0x"&&(v.gas=BigInt(a)),vs(u)&&u!=="0x"&&(v.data=u),vs(r)&&(v.nonce=r==="0x"?0n:BigInt(r)),vs(c)&&c!=="0x"&&(v.value=BigInt(c)),vs(i)&&i!=="0x"&&(v.maxFeePerGas=BigInt(i)),vs(n)&&n!=="0x"&&(v.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(v.accessList=KI(l));let I=w&&E&&p?pv([p,w,E]):void 0;return I&&(v={...v,...I}),hh(v),v}function r9(t,e={}){let{signature:s}=e,r=typeof t=="string"?G8(t):t;return hh(r),{...r,...s?lh(s):{},type:"eip1559"}}function n9(t){return K8(t,{presign:!0})}function K8(t,e={}){let{presign:s}=e;return Lt(W8({...t,...s?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function W8(t,e={}){let{chainId:s,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:p}=t;hh(t);let w=WI(u),E=Cg(e.signature||t),v=[ve(s),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??p??"0x",w,...E?yv(E):[]];return at(q8,XI(v))}function i9(t){let e=Cg(t);return {...t,chainId:ve(t.chainId),data:t.data??t.input,type:"0x2",...typeof t.gas=="bigint"?{gas:ve(t.gas)}:{},...typeof t.nonce=="bigint"?{nonce:ve(t.nonce)}:{},...typeof t.value=="bigint"?{value:ve(t.value)}:{},...typeof t.maxFeePerGas=="bigint"?{maxFeePerGas:ve(t.maxFeePerGas)}:{},...typeof t.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(t.maxPriorityFeePerGas)}:{},...e?gv(e):{}}}function a9(t){try{return hh(t),!0}catch{return !1}}var ou={};Ne(ou,{fromRpc:()=>o9,fromRpcStatus:()=>J8,fromRpcType:()=>Y8,toRpc:()=>c9,toRpcStatus:()=>z8,toRpcType:()=>Z8});d();h();var J8={"0x0":"reverted","0x1":"success"},z8={reverted:"0x0",success:"0x1"},Y8={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},Z8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function o9(t){return t?{...t,blobGasPrice:t.blobGasPrice?BigInt(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,blockNumber:BigInt(t.blockNumber??0n),cumulativeGasUsed:BigInt(t.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(t.effectiveGasPrice??0n),gasUsed:BigInt(t.gasUsed??0n),logs:t.logs.map(e=>O8(e,{pending:!1})),status:J8[t.status],transactionIndex:Number(t.transactionIndex??0),type:Y8[t.type]||t.type}:null}function c9(t){return {blobGasPrice:t.blobGasPrice?ve(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?ve(t.blobGasUsed):void 0,blockHash:t.blockHash,blockNumber:ve(t.blockNumber),contractAddress:t.contractAddress,cumulativeGasUsed:ve(t.cumulativeGasUsed),effectiveGasPrice:ve(t.effectiveGasPrice),from:t.from,gasUsed:ve(t.gasUsed),logs:t.logs.map(R8),logsBloom:t.logsBloom,root:t.root,status:z8[t.status],to:t.to,transactionHash:t.transactionHash,transactionIndex:ve(t.transactionIndex),type:Z8[t.type]??t.type}}var mh={};Ne(mh,{BytesSizeMismatchError:()=>Ug,InvalidDomainError:()=>_g,InvalidPrimaryTypeError:()=>Hg,InvalidStructTypeError:()=>jg,assert:()=>xv,domainSeparator:()=>u9,encode:()=>X8,encodeData:()=>Cv,encodeField:()=>Nv,encodeType:()=>Q8,extractEip712DomainTypes:()=>Mg,findTypeDependencies:()=>Tv,getSignPayload:()=>dh,hashDomain:()=>Av,hashStruct:()=>Iv,hashType:()=>eC,serialize:()=>l9,validate:()=>f9});d();h();function xv(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,p=o[u],w=l.match(tu);if(w&&(typeof p=="number"||typeof p=="bigint")){let[,I,C]=w;ve(p,{signed:I==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof p=="string"&&!$a(p))throw new Ma({address:p,cause:new Xc});let E=l.match(fg);if(E){let[,I]=E;if(I&&Xe(p)!==Number.parseInt(I,10))throw new Ug({expectedSize:Number.parseInt(I,10),givenSize:Xe(p)})}let v=n[l];v&&(h9(l),i(v,p));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new _g({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],s);else throw new Hg({primaryType:r,types:n})}function u9(t){return Av({domain:t})}function X8(t){let{domain:e={},message:s,primaryType:r}=t,n={EIP712Domain:Mg(e),...t.types};xv({domain:e,message:s,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(Av({domain:e,types:n})),r!=="EIP712Domain"&&i.push(Iv({data:s,primaryType:r,types:n})),at(...i)}function Q8(t){let{primaryType:e,types:s}=t,r="",n=Tv({primaryType:e,types:s});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(s[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function Mg(t){return [typeof t?.name=="string"&&{name:"name",type:"string"},t?.version&&{name:"version",type:"string"},(typeof t?.chainId=="number"||typeof t?.chainId=="bigint")&&{name:"chainId",type:"uint256"},t?.verifyingContract&&{name:"verifyingContract",type:"address"},t?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function dh(t){return Lt(X8(t))}function Av(t){let{domain:e,types:s}=t;return Iv({data:e,primaryType:"EIP712Domain",types:{...s,EIP712Domain:s?.EIP712Domain||Mg(e)}})}function Iv(t){let{data:e,primaryType:s,types:r}=t,n=Cv({data:e,primaryType:s,types:r});return Lt(n)}function l9(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(c,u)=>{let l={...u};for(let p of c){let{name:w,type:E}=p;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??Mg(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],s):{}})();return sr({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function f9(t){try{return xv(t),!0}catch{return !1}}var Ug=class extends ne{constructor({expectedSize:e,givenSize:s}){super(`Expected bytes${e}, got bytes${s}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},_g=class extends ne{constructor({domain:e}){super(`Invalid domain "${sr(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},Hg=class extends ne{constructor({primaryType:e,types:s}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(s))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},jg=class extends ne{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function Cv(t){let{data:e,primaryType:s,types:r}=t,n=[{type:"bytes32"}],i=[eC({primaryType:s,types:r})];for(let a of r[s]??[]){let[o,c]=Nv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return en(n,i)}function eC(t){let{primaryType:e,types:s}=t,r=Bs(Q8({primaryType:e,types:s}));return Lt(r)}function Nv(t){let{types:e,name:s,type:r,value:n}=t;if(e[r]!==void 0)return [{type:"bytes32"},Lt(Cv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Lt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Lt(Xr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>Nv({name:s,type:i,types:e,value:o}));return [{type:"bytes32"},Lt(en(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function Tv(t,e=new Set){let{primaryType:s,types:r}=t,i=s.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])Tv({primaryType:a.type,types:r},e);return e}function h9(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new jg({type:t})}var ii={};Ne(ii,{CredentialCreationFailedError:()=>ni,CredentialRequestFailedError:()=>ph,createChallenge:()=>rC,createCredential:()=>m9,getAuthenticatorData:()=>nC,getClientDataJSON:()=>iC,getCredentialCreationOptions:()=>aC,getCredentialRequestOptions:()=>oC,getSignPayload:()=>p9,sign:()=>g9,verify:()=>y9});d();h();d();h();function tC(t){let e=t[4]===0?5:4,s=e+32,r=t[s+2]===0?s+3:s+2,n=BigInt(Ue(t.slice(e,s))),i=BigInt(Ue(t.slice(r)));return {r:n,s:i>Sv.CURVE.n/2n?Sv.CURVE.n-i:i}}async function sC(t){try{let e=t.getPublicKey();if(!e)throw new ni;let s=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(s),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Qr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let s=new Uint8Array(t.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<s.length-u.length;l++)if(u.every((p,w)=>s[l+w]===p))return l+u.length;throw new ni},a=i(33),o=i(34);return Qr(new Uint8Array([4,...s.slice(a,a+r),...s.slice(o,o+r)]))}}var rC=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function m9(t){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...s}=t,r=aC(s);try{let n=await e(r);if(!n)throw new ni;let i=n.response,a=await sC(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new ni({cause:n})}}function nC(t={}){let{flag:e=5,rpId:s=window.location.hostname,signCount:r=0}=t,n=th(Bs(s)),i=ve(e,{size:1}),a=ve(r,{size:4});return at(n,i,a)}function iC(t){let{challenge:e,crossOrigin:s=!1,extraClientData:r,origin:n=window.location.origin}=t;return JSON.stringify({type:"webauthn.get",challenge:I8(e,{url:!0,pad:!1}),origin:n,crossOrigin:s,...r})}function aC(t){let{attestation:e="none",authenticatorSelection:s={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=rC,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=t,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:s,challenge:typeof r=="string"?dt(r):r,...n?{excludeCredentials:n?.map(l=>({id:fh(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Lt(Xr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function oC(t){let{credentialId:e,challenge:s,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=t;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:fh(a),type:"public-key"})):[{id:fh(e),type:"public-key"}]}:{},challenge:dt(s),...r&&{extensions:r},rpId:n,userVerification:i}}}function p9(t){let{challenge:e,crossOrigin:s,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=t,u=nC({flag:n,rpId:a,signCount:o}),l=iC({challenge:e,crossOrigin:s,extraClientData:r,origin:i}),p=th(Bs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),v={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},I=at(u,p);return {metadata:v,payload:I}}async function g9(t){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...s}=t,r=oC(s);try{let n=await e(r);if(!n)throw new ph;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=tC(new Uint8Array(i.signature));return {metadata:{authenticatorData:Ue(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new ph({cause:n})}}function y9(t){let{challenge:e,hash:s=!0,metadata:r,publicKey:n,signature:i}=t,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,p=dt(a);if(p.length<37)return !1;let w=p[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let V='"type":"webauthn.get"';if(V!==c.slice(Number(u),V.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[v,I]=E;if(Ue(fh(I))!==e)return !1;let C=th(Xr(c),{as:"Bytes"}),D=BS(p,C);return vv({hash:s,payload:D,publicKey:n,signature:i})}var ni=class extends ne{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},ph=class extends ne{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();h();var du={};Ne(du,{from:()=>uL});d();h();var Ye={};Ne(Ye,{configFromJson:()=>iL,configToJson:()=>nL,evaluateConfigurationSafety:()=>oL,findSignerLeaf:()=>Sh,flatLeavesToTopology:()=>uE,getSigners:()=>rL,getWeight:()=>vh,hasInvalidValues:()=>fu,hashConfiguration:()=>hs,isAnyAddressSubdigestLeaf:()=>ar,isConfig:()=>hu,isLeaf:()=>IC,isNestedLeaf:()=>As,isNode:()=>Dt,isNodeLeaf:()=>Jt,isSapientSignerLeaf:()=>fs,isSignerLeaf:()=>ls,isSubdigestLeaf:()=>ir,isTopology:()=>lu,maximumDepth:()=>Eh,mergeTopology:()=>r1,normalizeSignerSignature:()=>aL,replaceAddress:()=>s1,topologyToFlatLeaves:()=>Qg});d();h();var ts={};Ne(ts,{FLAG_ADDRESS:()=>eE,FLAG_BRANCH:()=>sE,FLAG_NESTED:()=>nE,FLAG_NODE:()=>Kg,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>aE,FLAG_SIGNATURE_ERC1271:()=>tE,FLAG_SIGNATURE_ETH_SIGN:()=>iE,FLAG_SIGNATURE_HASH:()=>Qv,FLAG_SIGNATURE_SAPIENT:()=>Wg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>oE,FLAG_SUBDIGEST:()=>rE,decodeSignature:()=>SC,encodeChainedSignature:()=>vC,encodeSignature:()=>EC,encodeTopology:()=>yh,fillLeaves:()=>Fg,isRawConfig:()=>Zg,isRawLeaf:()=>bC,isRawNestedLeaf:()=>bh,isRawNode:()=>Jg,isRawSignature:()=>wC,isRawSignerLeaf:()=>wh,isRawTopology:()=>zg,isSignatureOfSapientSignerLeaf:()=>Z9,isSignedSapientSignerLeaf:()=>cE,isSignedSignerLeaf:()=>Xg,parseBranch:()=>Yg,rawSignatureFromJson:()=>eL,rawSignatureToJson:()=>X9,recover:()=>Zv});d();h();var yt={};Ne(yt,{DEPLOY:()=>cC,DefaultGuestAddress:()=>S9,EXECUTE:()=>A9,EXECUTE_USER_OP:()=>Pv,GET_IMPLEMENTATION:()=>v9,GET_LIMIT_USAGE:()=>k9,IMAGE_HASH:()=>E9,INCREMENT_USAGE_LIMIT:()=>T9,IS_VALID_SIGNATURE:()=>gh,PlaceholderAddress:()=>b9,READ_ENTRYPOINT:()=>N9,READ_NONCE:()=>x9,READ_NONCE_4337:()=>C9,RECOVER_SAPIENT_SIGNATURE:()=>kv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>Bv,UPDATE_IMAGE_HASH:()=>I9,ZeroAddress:()=>w9});d();h();var w9="0x0000000000000000000000000000000000000000",b9="0xffff0000ffff0000ffff0000ffff0000ffff0000",S9="0x0000000000006Ac72ed1d192fa28f0058D3F8806",gh=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],cC=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],v9=He.from(["function getImplementation() external view returns (address)"])[0],E9=He.from(["function imageHash() external view returns (bytes32)"])[0],x9=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],A9=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],I9=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],kv=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],Bv=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Pv=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],C9=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],N9=He.from(["function entrypoint() public view returns (address)"])[0],T9=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],k9=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();d();h();var an={};Ne(an,{InvalidWrappedSignatureError:()=>$g,assert:()=>Rv,from:()=>O9,magicBytes:()=>Ov,universalSignatureValidatorAbi:()=>P9,universalSignatureValidatorBytecode:()=>B9,unwrap:()=>uC,validate:()=>L9,wrap:()=>R9});d();h();var Ov="0x6492649264926492649264926492649264926492649264926492649264926492",B9="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",P9=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Rv(t){if(At(t,-32)!==Ov)throw new $g(t)}function O9(t){return typeof t=="string"?uC(t):t}function uC(t){Rv(t);let[e,s,r]=ru(wg("address, bytes, bytes"),t);return {data:s,signature:r,to:e}}function R9(t){let{data:e,signature:s,to:r}=t;return at(en(wg("address, bytes, bytes"),[r,e,s]),Ov)}function L9(t){try{return Rv(t),!0}catch{return !1}}var $g=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function Lv(t,{to:e,data:s}){let r=P.concat(mt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,P.from(s),P.from(t)]),an.magicBytes);switch(typeof t){case"object":return P.toBytes(r);case"string":return r}}function lC(t){switch(typeof t){case"object":if(f.toHex(t.subarray(-an.magicBytes.slice(2).length/2))===an.magicBytes){let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.subarray(0,-an.magicBytes.slice(2).length/2));return {signature:P.toBytes(r),erc6492:{to:e,data:P.toBytes(s)}}}else return {signature:t};case"string":if(t.endsWith(an.magicBytes.slice(2)))try{let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.slice(0,-an.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:s}}}catch{return {signature:t}}else return {signature:t}}}var Te={};Ne(Te,{BEHAVIOR_ABORT_ON_ERROR:()=>Fv,BEHAVIOR_IGNORE_ERROR:()=>Mv,BEHAVIOR_REVERT_ON_ERROR:()=>$v,KIND_CONFIG_UPDATE:()=>Hv,KIND_DIGEST:()=>jv,KIND_MESSAGE:()=>_v,KIND_TRANSACTIONS:()=>Uv,decode:()=>J9,decodeBehaviorOnError:()=>yC,encode:()=>dC,encode4337Nonce:()=>mC,encodeBehaviorOnError:()=>uu,encodeSapient:()=>G9,fromAbiFormat:()=>Y9,fromCall:()=>H9,fromConfigUpdate:()=>qv,fromDigest:()=>_9,fromMessage:()=>U9,hash:()=>cu,hashCall:()=>W9,isCalls:()=>j9,isCalls4337_07:()=>F9,isConfigUpdate:()=>$9,isDigest:()=>hC,isMessage:()=>M9,isParented:()=>q9,isRecovery:()=>Gv,isSessionImplicitAuthorize:()=>Wv,to4337Message:()=>gC,to4337UserOperation:()=>pC,toAbiFormat:()=>zv,toRecovery:()=>Kv,toTyped:()=>Jv});d();h();var Ya={};Ne(Ya,{createJSONReplacer:()=>Dv,createJSONReviver:()=>Vv,fromJSON:()=>V9,minBytesFor:()=>js,packRSY:()=>on,toJSON:()=>D9,unpackRSY:()=>za});d();h();function js(t){return Math.ceil(t.toString(16).length/2)}function on({r:t,s:e,yParity:s}){let r=f.padLeft(f.fromNumber(t),32),n=f.padLeft(f.fromNumber(e),32);return s%2===1&&(n[0]|=128),f.concat(r,n)}function za(t){let e=f.toBigInt(t.slice(0,32)),s=t.slice(32,64),r=s[0]&128?1:0,n=new Uint8Array(s);n[0]=n[0]&127;let i=f.toBigInt(n);return {r:e,s:i,yParity:r}}function Dv(t){return (e,s)=>typeof s=="bigint"?{__bigint:"0x"+s.toString(16)}:s instanceof Uint8Array?{__uint8array:Array.from(s)}:t?t(e,s):s}function Vv(t){return (e,s)=>{if(s&&typeof s=="object"&&"__bigint"in s&&Object.keys(s).length===1){let r=s.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(s&&typeof s=="object"&&"__uint8array"in s&&Object.keys(s).length===1){let r=s.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return t?t(e,s):s}}function D9(t,e,s){let r=e instanceof Function?Dv(e):Dv();return JSON.stringify(t,r,s)}function V9(t,e){let s=e?Vv(e):Vv();return JSON.parse(t,s)}var Uv=0,_v=1,Hv=2,jv=3,Mv=0,$v=1,Fv=2;function U9(t){return {type:"message",message:t}}function qv(t){return {type:"config-update",imageHash:t}}function _9(t){return {type:"digest",digest:t}}function H9(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function j9(t){return t.type==="call"}function M9(t){return t.type==="message"}function $9(t){return t.type==="config-update"}function hC(t){return t.type==="digest"}function Gv(t){return Wv(t)?!1:t.recovery===!0}function F9(t){return t.type==="call_4337_07"}function q9(t){return "parentWallets"in t}function Kv(t){return Gv(t)?t:{...t,recovery:!0}}function Wv(t){return t.type==="session-implicit-authorize"}function dC(t,e){let s=t.calls.length,r=js(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=uu(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function G9(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(uu(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function cu(t,e,s){if(hC(s))return f.fromHex(s.digest);if(Wv(s))return Wt.hash(s.attestation);let r=Jv(t,e,s);return f.fromHex(dh(r))}function K9(t,e,s){return Gv(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function mC(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function Jv(t,e,s){let r=K9(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(uu(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:gC(s,t,e)};return Jv(t,e,n)}}}function pC(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(dC(r));return {sender:e,nonce:mC(t.space,t.nonce),callData:me.encodeData(Pv,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function gC(t,e,s){let r=pC(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function uu(t){switch(t){case"ignore":return Mv;case"revert":return $v;case"abort":return Fv}}function W9(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(uu(t.behaviorOnError))]))}function J9(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let v=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");v=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=yC(B);l.push({to:E,value:v,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function yC(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function z9(t){switch(t){case Mv:return "ignore";case $v:return "revert";case Fv:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function Y9(t){if(t.kind===Uv)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:z9(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===_v)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Hv)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===jv)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function zv(t){if(t.type==="call")return {kind:Uv,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(uu(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:_v,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:Hv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:jv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var Qv=0,eE=1,tE=2,Kg=3,sE=4,rE=5,nE=6,iE=7,aE=8,Wg=9,oE=10;function Z9(t){return "type"in t&&(t.type==="sapient_compact"||t.type==="sapient")&&typeof t=="object"&&"address"in t&&"data"in t}function wC(t){return typeof t=="object"&&t&&typeof t.noChainId=="boolean"&&(t.checkpointerData===void 0||f.validate(t.checkpointerData))&&Zg(t.configuration)&&(t.suffix===void 0||Array.isArray(t.suffix)&&t.suffix.every(e=>wC(e)&&e.checkpointerData===void 0))}function Zg(t){return t&&typeof t=="object"&&typeof t.threshold=="bigint"&&typeof t.checkpoint=="bigint"&&zg(t.topology)&&(t.checkpointer===void 0||j.validate(t.checkpointer))}function wh(t){return typeof t=="object"&&"weight"in t&&"signature"in t}function Xg(t){return ls(t)&&"signature"in t}function cE(t){return fs(t)&&"signature"in t}function Jg(t){return Array.isArray(t)&&t.length===2&&(zg(t[0])||lu(t[0]))&&(zg(t[1])||lu(t[1]))}function zg(t){return Jg(t)||bC(t)}function bC(t){return typeof t=="object"&&"weight"in t&&!("tree"in t)}function bh(t){return typeof t=="object"&&"tree"in t&&"weight"in t&&"threshold"in t}function SC(t){let{signature:e,erc6492:s}=lC(t);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=f.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let I=f.toNumber(e.slice(n,n+3));if(n+=3,n+I>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+I),n+=I;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=f.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let p=f.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let I=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=f.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=SC(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");I.push({...D,checkpointerData:void 0});}if(I.length===0)throw new Error("Chained signature has no subsignatures");return {...I[0],suffix:I.slice(1),erc6492:s}}let{nodes:w,leftover:E}=Yg(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let v=Yv(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:p,checkpoint:u,topology:v,checkpointer:a},erc6492:s}}function Yg(t){let e=[],s=0;for(;s<t.length;){let r=t[s];s++;let n=(r&240)>>4;if(n===Qv){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===eE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for address weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for address leaf");let a=f.toHex(t.slice(s,s+20));s+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===tE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for ERC1271 weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for ERC1271 data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:f.toHex(u)}});continue}if(n===Kg){if(s+32>t.length)throw new Error("Not enough bytes for node leaf");let i=t.slice(s,s+32);s+=32,e.push(f.toHex(i));continue}if(n===sE){let i=r&15;if(s+i>t.length)throw new Error("Not enough bytes for branch sizeSize");let a=f.toNumber(t.slice(s,s+i));if(s+=i,s+a>t.length)throw new Error("Not enough bytes in sub-branch");let o=t.slice(s,s+a);s+=a;let{nodes:c,leftover:u}=Yg(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=Yv(c);e.push(l);continue}if(n===rE){if(s+32>t.length)throw new Error("Not enough bytes for subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"subdigest",digest:f.toHex(i)});continue}if(n===nE){let i=(r&12)>>2;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for nested weight");i=t[s],s++;}let a=r&3;if(a===0){if(s+2>t.length)throw new Error("Not enough bytes for nested threshold");a=f.toNumber(t.slice(s,s+2)),s+=2;}if(s+3>t.length)throw new Error("Not enough bytes for nested sub-tree size");let o=f.toNumber(t.slice(s,s+3));if(s+=3,s+o>t.length)throw new Error("Not enough bytes for nested sub-tree");let c=t.slice(s,s+o);s+=o;let{nodes:u,leftover:l}=Yg(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let p=Yv(u);e.push({type:"nested",tree:p,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===iE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for eth_sign signature");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===aE){if(s+32>t.length)throw new Error("Not enough bytes for any address subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"any-address-subdigest",digest:f.toHex(i)});continue}if(n===Wg||n===oE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for sapient weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for sapient signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for sapient signature size");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for sapient signature data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:f.toHex(u),type:n===Wg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:t.slice(s)}}function Fg(t,e){if(Dt(t))return [Fg(t[0],e),Fg(t[1],e)];if(ls(t)){let s=e(t);return s?{...t,signature:s}:t}if(fs(t)){let s=e(t);return s?{...t,signature:s}:t}if(ir(t)||ar(t))return t;if(As(t))return {...t,tree:Fg(t.tree,e)};if(Jt(t))return t;throw new Error("Invalid topology")}function vC(t){let e=1,s=t[t.length-1];s?.configuration.checkpointer&&(e|=64);let r=f.fromNumber(e);if(s?.configuration.checkpointer){r=f.concat(r,f.padLeft(f.fromHex(s.configuration.checkpointer),20));let n=s.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=f.padLeft(f.fromNumber(n),3);r=f.concat(r,i,s.checkpointerData??f.fromArray([]));}for(let n=0;n<t.length;n++){let i=t[n],a=EC(i,!0,n===t.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=f.padLeft(f.fromNumber(a.length),3);r=f.concat(r,o,a);}return r}function EC(t,e,s){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=t;if(a?.length){let I=vC([{...t,suffix:void 0,erc6492:void 0},...a]);return o?Lv(I,o):I}let c=0;r&&(c|=2);let u=js(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=js(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!s&&(c|=64);let p=f.fromNumber(c);if(i.checkpointer&&!s&&(p=f.concat(p,f.padLeft(f.fromHex(i.checkpointer),20)),!e)){let I=n?.length??0;if(I>16777215)throw new Error("Checkpointer data too large");let C=f.padLeft(f.fromNumber(I),3);p=f.concat(p,C,n??f.fromArray([]));}let w=f.padLeft(f.fromNumber(i.checkpoint),u);p=f.concat(p,w);let E=f.padLeft(f.fromNumber(i.threshold),l);p=f.concat(p,E);let v=yh(i.topology,t);return p=f.concat(p,v),o?Lv(p,o):p}function yh(t,e={}){if(Dt(t)||Jg(t)){let s=yh(t[0],e),r=yh(t[1],e);if(Dt(t[1])||Jg(t[1])){let i=js(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=sE<<4|i;return f.concat(s,f.fromNumber(a),f.padLeft(f.fromNumber(r.length),i),r)}else return f.concat(s,r)}if(As(t)||bh(t)){let s=yh(t.tree,e),r=nE<<4,n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)r|=Number(t.weight)<<2;else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let i=f.fromArray([]);if(t.threshold<=3n&&t.threshold>0n)r|=Number(t.threshold);else if(t.threshold<=65535n)i=f.padLeft(f.fromNumber(Number(t.threshold)),2);else throw new Error("Threshold too large");if(s.length>16777215)throw new Error("Nested tree too large");return f.concat(f.fromNumber(r),n,i,f.padLeft(f.fromNumber(s.length),3),s)}if(Jt(t))return f.concat(f.fromNumber(Kg<<4),f.fromHex(t));if(Xg(t)||wh(t))if(t.signature.type==="hash"||t.signature.type==="eth_sign"){let s=(t.signature.type==="hash"?Qv:iE)<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let n=on(t.signature);return f.concat(f.fromNumber(s),r,n)}else if(t.signature.type==="erc1271"){let s=tE<<4,r=js(BigInt(t.signature.data.length));if(r>3)throw new Error("Signature too large");s|=r<<2;let n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),n,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(f.fromHex(t.signature.data).length),r),f.fromHex(t.signature.data))}else if(t.signature.type==="sapient"||t.signature.type==="sapient_compact"){let s=(t.signature.type==="sapient"?Wg:oE)<<4,r=f.fromHex(t.signature.data),n=js(BigInt(r.length));if(n>3)throw new Error("Signature too large");s|=n<<2;let i=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)i=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),i,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${t.signature.type}`);if(ls(t)){let s=eE<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),r,f.padLeft(f.fromHex(t.address),20))}if(fs(t)){let s=hs(t);return f.concat(f.fromNumber(Kg<<4),s)}if(ir(t))return f.concat(f.fromNumber(rE<<4),f.fromHex(t.digest));if(ar(t))return f.concat(f.fromNumber(aE<<4),f.fromHex(t.digest));throw new Error("Invalid topology")}function Yv(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function X9(t){return JSON.stringify(xC(t))}function xC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.toHex(t.checkpointerData):void 0,configuration:{threshold:t.configuration.threshold.toString(),checkpoint:t.configuration.checkpoint.toString(),topology:qg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>xC(e)):void 0}}function qg(t){if(Array.isArray(t))return [qg(t[0]),qg(t[1])];if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:t.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:qg(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:t.weight.toString(),signature:Q9(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function Q9(t){if(t.type==="eth_sign"||t.type==="hash")return {type:t.type,r:P.fromNumber(t.r,{size:32}),s:P.fromNumber(t.s,{size:32}),yParity:t.yParity};if(t.type==="erc1271")return {type:t.type,address:t.address,data:t.data};if(t.type==="sapient"||t.type==="sapient_compact")return {type:t.type,address:t.address,data:t.data};throw new Error("Unknown signature type in raw signature")}function eL(t){let e=JSON.parse(t);return AC(e)}function AC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.fromHex(t.checkpointerData):void 0,configuration:{threshold:BigInt(t.configuration.threshold),checkpoint:BigInt(t.configuration.checkpoint),topology:Gg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>AC(e)):void 0}}function Gg(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid raw topology node");return [Gg(t[0]),Gg(t[1])]}if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:Gg(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(t.weight),signature:tL(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function tL(t){switch(t.type){case"eth_sign":case"hash":return {type:t.type,r:P.toBigInt(t.r),s:P.toBigInt(t.s),yParity:t.yParity};case"erc1271":return {type:"erc1271",address:t.address,data:t.data};case"sapient":case"sapient_compact":return {type:t.type,address:t.address,data:t.data};default:throw new Error("Invalid signature type in raw signature")}}async function Zv(t,e,s,r,n){if(t.suffix?.length){let o=!1,{configuration:c,weight:u}=await Zv({...t,suffix:void 0},e,s,r,n);o||=u<c.threshold;for(let l of t.suffix){let p=await Zv(l,e,l.noChainId?0:s,qv(f.toHex(hs(c))),n);o||=p.weight<p.configuration.threshold,o||=p.configuration.checkpoint>=c.checkpoint,c=p.configuration,u=p.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await Xv(t.configuration.topology,e,s,r,n);return {configuration:{...t.configuration,topology:i},weight:a}}async function Xv(t,e,s,r,n){let i=cu(e,s,r);if(wh(t))switch(t.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:es.recoverAddress({payload:t.signature.type==="eth_sign"?he.keccak256(mt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
+ 32`,f.toHex(i)])):i,signature:t.signature}),weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:me.encodeData(gh,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]}),l=me.decodeResult(gh,u);if(P.isEqual(l,me.getSelector(gh)))return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${t.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:t.signature.type==="sapient"?me.encodeData(kv,[sL(s,r),t.signature.data]):me.encodeData(Bv,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]});return {topology:{type:"sapient-signer",address:t.signature.address,weight:t.weight,imageHash:u,signed:!0,signature:t.signature},weight:t.weight}}}else if(bh(t)){let{topology:a,weight:o}=await Xv(t.tree,e,s,r,n);return {topology:{...t,tree:a},weight:o>=t.threshold?t.weight:0n}}else {if(ls(t))return {topology:t,weight:0n};if(fs(t))return {topology:t,weight:0n};if(ir(t))return {topology:t,weight:f.isEqual(f.fromHex(t.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(ar(t)){let a=cu(yt.ZeroAddress,s,r);return {topology:t,weight:f.isEqual(f.fromHex(t.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Jt(t))return {topology:t,weight:0n};{let[a,o]=await Promise.all(t.map(c=>Xv(c,e,s,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function sL(t,e){switch(e.type){case"call":return {kind:0,noChainId:!t,calls:e.calls.map(s=>({...s,data:s.data,behaviorOnError:s.behaviorOnError==="ignore"?0n:s.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!t,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function ls(t){return typeof t=="object"&&t!==null&&t.type==="signer"}function fs(t){return typeof t=="object"&&t!==null&&t.type==="sapient-signer"}function ir(t){return typeof t=="object"&&t!==null&&t.type==="subdigest"}function ar(t){return typeof t=="object"&&t!==null&&t.type==="any-address-subdigest"}function Jt(t){return P.validate(t)&&t.length===66}function As(t){return typeof t=="object"&&t!==null&&t.type==="nested"}function Dt(t){return Array.isArray(t)&&t.length===2&&lu(t[0])&&lu(t[1])}function hu(t){return typeof t=="object"&&"threshold"in t&&"checkpoint"in t&&"topology"in t}function IC(t){return ls(t)||fs(t)||ir(t)||ar(t)||Jt(t)||As(t)}function lu(t){return Dt(t)||IC(t)}function rL(t){let e=new Set,s=new Set,r=!0,n=i=>{Dt(i)?(n(i[0]),n(i[1])):ls(i)?i.weight&&e.add(i.address):fs(i)?s.add({address:i.address,imageHash:i.imageHash}):Jt(i)?r=!1:As(i)&&i.weight&&n(i.tree);};return n(hu(t)?t.topology:t),{signers:Array.from(e),sapientSigners:Array.from(s),isComplete:r}}function Sh(t,e){if(hu(t))return Sh(t.topology,e);if(Dt(t))return Sh(t[0],e)||Sh(t[1],e);if(ls(t)){if(j.isEqual(t.address,e))return t}else if(fs(t)){if(j.isEqual(t.address,e))return t}else if(As(t))return Sh(t.tree,e)}function vh(t,e){if(t=Zg(t)||hu(t)?t.topology:t,Xg(t))return {weight:t.weight,maxWeight:t.weight};if(ls(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(wh(t))return {weight:t.weight,maxWeight:t.weight};if(cE(t))return {weight:t.weight,maxWeight:t.weight};if(fs(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(ir(t))return {weight:0n,maxWeight:0n};if(ar(t))return {weight:0n,maxWeight:0n};if(bh(t)){let{weight:s,maxWeight:r}=vh(t.tree,e);return {weight:s>=t.threshold?t.weight:0n,maxWeight:r>=t.threshold?t.weight:0n}}else {if(Jt(t))return {weight:0n,maxWeight:0n};{let[s,r]=[vh(t[0],e),vh(t[1],e)];return {weight:s.weight+r.weight,maxWeight:s.maxWeight+r.maxWeight}}}}function hs(t){if(hu(t)){let e=hs(t.topology);return e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.threshold),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.checkpoint),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromHex(t.checkpointer??yt.ZeroAddress),32))),e}if(ls(t))return he.keccak256(f.concat(f.fromString(`Sequence signer:
343
343
  `),f.fromHex(t.address),f.padLeft(f.fromNumber(t.weight),32)));if(fs(t))return he.keccak256(f.concat(f.fromString(`Sequence sapient config:
344
344
  `),f.fromHex(t.address),f.padLeft(f.fromNumber(t.weight),32),f.padLeft(f.fromHex(t.imageHash),32)));if(ir(t))return he.keccak256(f.concat(f.fromString(`Sequence static digest:
345
345
  `),f.fromHex(t.digest)));if(ar(t))return he.keccak256(f.concat(f.fromString(`Sequence any address subdigest:
346
346
  `),f.fromHex(t.digest)));if(Jt(t))return f.fromHex(t);if(As(t))return he.keccak256(f.concat(f.fromString(`Sequence nested config:
347
- `),hs(t.tree),f.padLeft(f.fromNumber(t.threshold),32),f.padLeft(f.fromNumber(t.weight),32)));if(Dt(t))return he.keccak256(f.concat(hs(t[0]),hs(t[1])));throw new Error("Invalid topology")}function lE(t){if(t.length===0)throw new Error("Cannot create topology from empty leaves");return t.length===1?t[0]:t.length===2?[t[0],t[1]]:[lE(t.slice(0,t.length/2)),lE(t.slice(t.length/2))]}function e1(t){return Dt(t)?[...e1(t[0]),...e1(t[1])]:As(t)?[...e1(t.tree)]:[t]}function sL(t){return JSON.stringify({threshold:t.threshold.toString(),checkpoint:t.checkpoint.toString(),topology:t1(t.topology),checkpointer:t.checkpointer})}function rL(t){let e=JSON.parse(t);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:s1(e.topology)}}function t1(t){if(Dt(t))return [t1(t[0]),t1(t[1])];if(ls(t))return {type:"signer",address:t.address,weight:t.weight.toString()};if(fs(t))return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};if(ir(t))return {type:"subdigest",digest:t.digest};if(ar(t))return {type:"any-address-subdigest",digest:t.digest};if(Jt(t))return t;if(As(t))return {type:"nested",tree:t1(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};throw new Error("Invalid topology")}function s1(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid node structure in JSON");return [s1(t[0]),s1(t[1])]}if(typeof t=="string")return t;switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:s1(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};default:throw new Error("Invalid type in topology JSON")}}function nL(t){return t instanceof Promise?{signature:t}:typeof t=="object"&&t&&"signature"in t&&t.signature instanceof Promise?t:{signature:Promise.resolve(t)}}function n1(t,e){if(Dt(t)&&Dt(e))return [n1(t[0],e[0]),n1(t[1],e[1])];if(Dt(t)&&!Dt(e)){if(!Jt(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(e);if(!f.isEqual(s,hs(t)))throw new Error("Topology mismatch: node hash does not match");return t}if(!Dt(t)&&Dt(e)){if(!Jt(t))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(t);if(!f.isEqual(s,hs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return aL(t,e)}function fu(t){return hu(t)?t.threshold>65535n||t.checkpoint>72057594037927935n||fu(t.topology):Dt(t)?fu(t[0])||fu(t[1]):As(t)?fu(t.tree)||t.weight>255n||t.threshold>65535n:ls(t)||fs(t)?t.weight>255n:!1}function Eh(t){return Dt(t)?Math.max(Eh(t[0]),Eh(t[1]))+1:As(t)?Eh(t.tree)+1:0}function iL(t){if(t.threshold===0n)throw new Error("unsafe-threshold-0");if(fu(t))throw new Error("unsafe-invalid-values");if(Eh(t.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=vh(t.topology,()=>!0);if(e<t.threshold)throw new Error("unsafe-threshold")}function aL(t,e){if(Jt(t)&&Jt(e)){if(!P.isEqual(t,e))throw new Error("Topology mismatch: different node leaves");return t}if(Jt(t)&&!Jt(e)){let s=hs(e);if(!f.isEqual(s,f.fromHex(t)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Jt(t)&&Jt(e)){let s=hs(t);if(!f.isEqual(s,f.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return t}if(ls(t)&&ls(e)){if(t.address!==e.address||t.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return t}if(fs(t)&&fs(e)){if(t.address!==e.address||t.weight!==e.weight||t.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return t}if(ir(t)&&ir(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return t}if(ar(t)&&ar(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return t}if(As(t)&&As(e)){if(t.weight!==e.weight||t.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let s=n1(t.tree,e.tree);return {type:"nested",weight:t.weight,threshold:t.threshold,tree:s}}throw new Error("Topology mismatch: incompatible leaf types")}function r1(t,e,s){return Dt(t)?[r1(t[0],e,s),r1(t[1],e,s)]:As(t)?{...t,tree:r1(t.tree,e,s)}:(ls(t)||fs(t))&&j.isEqual(t.address,e)?{...t,address:s}:t}function oL(t,e){let s=t instanceof Uint8Array?t:hs(t);return f.toHex(he.keccak256(f.concat(f.from("0xff"),f.from(e.factory),s,he.keccak256(f.concat(f.from(e.creationCode),f.padLeft(f.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var Wt={};Ne(Wt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>OC,decode:()=>cL,decodeAuthData:()=>kC,encode:()=>NC,encodeAuthData:()=>TC,encodeForJson:()=>BC,fromJson:()=>fL,fromParsed:()=>PC,generateImplicitRequestMagic:()=>hL,hash:()=>uL,toJson:()=>lL});d();h();function NC(t){let e=TC(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function TC(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function cL(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=kC(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function kC(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function uL(t){return he.keccak256(NC(t))}function lL(t,e){return JSON.stringify(BC(t),null,e)}function BC(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function fL(t){return PC(JSON.parse(t))}function PC(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var OC=he.keccak256(f.fromString("acceptImplicitRequest"));function hL(t,e){return he.keccak256(f.concat(OC,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}var cn={};Ne(cn,{MASK:()=>dL,MAX_PERMISSIONS_COUNT:()=>i1,MAX_RULES_COUNT:()=>RC,ParameterOperation:()=>fE,abiEncodePermission:()=>yL,decodeSessionPermissions:()=>a1,encodePermission:()=>LC,encodeSessionPermissions:()=>xh,encodeSessionPermissionsForJson:()=>o1,parameterRuleToJson:()=>SL,permissionFromJson:()=>EL,permissionStructAbi:()=>DC,permissionToJson:()=>bL,sessionPermissionsFromJson:()=>vL,sessionPermissionsFromParsed:()=>c1,sessionPermissionsToJson:()=>wL});d();h();var fE;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(fE||(fE={}));var i1=2**7-1,RC=2**8-1,dL={SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)};function xh(t){if(t.permissions.length>i1)throw new Error("Too many permissions");let e=t.permissions.map(LC);return f.concat(f.padLeft(f.fromHex(t.signer),20),f.padLeft(f.fromNumber(t.chainId),32),f.padLeft(f.fromNumber(t.valueLimit),32),f.padLeft(f.fromNumber(t.deadline,{size:8}),8),f.fromNumber(t.permissions.length,{size:1}),f.concat(...e))}function LC(t){if(t.rules.length>RC)throw new Error("Too many rules");let e=t.rules.map(mL);return f.concat(f.padLeft(f.fromHex(t.target),20),f.fromNumber(t.rules.length,{size:1}),f.concat(...e))}function mL(t){let e=Number(t.operation)<<1|(t.cumulative?1:0);return f.concat(f.fromNumber(e),f.padLeft(t.value,32),f.padLeft(f.fromNumber(t.offset),32),f.padLeft(t.mask,32))}function a1(t){let e=f.toHex(t.slice(0,20)),s=f.toNumber(t.slice(20,52)),r=f.toBigInt(t.slice(52,84)),n=f.toBigInt(t.slice(84,92)),i=Number(t[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=pL(t.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:s,valueLimit:r,deadline:n,permissions:a}}function pL(t){let e=f.toHex(t.slice(0,20)),s=Number(t[20]),r=[],n=21;for(let i=0;i<s;i++){let a=t.slice(n,n+97);r.push(gL(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function gL(t){let e=Number(t[0]),s=(e&1)===1,r=e>>1,n=t.slice(1,33),i=f.toBigInt(t.slice(33,65)),a=t.slice(65,97);return {cumulative:s,operation:r,value:n,offset:i,mask:a}}var DC={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function yL(t){return mt.encode([DC],[{target:t.target,rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.toHex(e.value),offset:e.offset,mask:f.toHex(e.mask)}))}])}function wL(t){return JSON.stringify(o1(t))}function o1(t){return {signer:t.signer.toString(),chainId:t.chainId.toString(),valueLimit:t.valueLimit.toString(),deadline:t.deadline.toString(),permissions:t.permissions.map(VC)}}function bL(t){return JSON.stringify(VC(t))}function VC(t){return {target:t.target.toString(),rules:t.rules.map(UC)}}function SL(t){return JSON.stringify(UC(t))}function UC(t){return {cumulative:t.cumulative,operation:t.operation,value:f.toHex(t.value),offset:t.offset.toString(),mask:f.toHex(t.mask)}}function vL(t){return c1(JSON.parse(t))}function c1(t){return {signer:j.from(t.signer),chainId:Number(t.chainId),valueLimit:BigInt(t.valueLimit),deadline:BigInt(t.deadline),permissions:t.permissions.map(_C)}}function EL(t){return _C(JSON.parse(t))}function _C(t){return {target:j.from(t.target),rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.fromHex(e.value),offset:BigInt(e.offset),mask:f.fromHex(e.mask)}))}}d();h();var Js={};Ne(Js,{SESSIONS_FLAG_BLACKLIST:()=>mu,SESSIONS_FLAG_BRANCH:()=>dE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>Ch,SESSIONS_FLAG_NODE:()=>hE,SESSIONS_FLAG_PERMISSIONS:()=>Ih,addExplicitSession:()=>kL,addIdentitySigner:()=>PL,addToImplicitBlacklist:()=>OL,balanceSessionsTopology:()=>kh,cleanSessionsTopology:()=>YC,configurationTreeToSessionsTopology:()=>KC,decodeLeafFromBytes:()=>qC,decodeSessionsTopology:()=>gE,emptySessionsTopology:()=>ZC,encodeLeafToGeneric:()=>Ah,encodeSessionsTopology:()=>h1,getExplicitSigners:()=>IL,getIdentitySigners:()=>Nh,getImplicitBlacklist:()=>AL,getImplicitBlacklistLeaf:()=>Th,getSessionPermissions:()=>f1,isCompleteSessionsTopology:()=>pE,isSessionsTopology:()=>mE,mergeSessionsTopologies:()=>wE,minimiseSessionsTopology:()=>d1,removeExplicitSession:()=>TL,removeFromImplicitBlacklist:()=>RL,removeIdentitySigner:()=>BL,sessionsTopologyFromJson:()=>NL,sessionsTopologyToConfigurationTree:()=>FC,sessionsTopologyToJson:()=>CL});d();h();var $s={};Ne($s,{hash:()=>or,isBranch:()=>Ms,isLeaf:()=>ai,isNode:()=>Vt,isTree:()=>HC});d();h();function Ms(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>HC(e))}function ai(t){return t.type==="leaf"&&f.validate(t.value)}function HC(t){return Ms(t)||ai(t)||Vt(t)}function Vt(t){return P.validate(t)&&P.size(t)===32}function or(t){if(Ms(t)){let e=t.map(or);if(e.length===0)throw new Error("Empty branch");let s=P.toBytes(e[0]);for(let r=1;r<e.length;r++)s=he.keccak256(f.concat(s,P.toBytes(e[r])));return P.fromBytes(s)}return Vt(t)?t:he.keccak256(t.value,{as:"Hex"})}var Ih=0,hE=1,dE=2,mu=3,Ch=4,jC=32;function Br(t){return P.validate(t)&&P.size(t)===jC}function cr(t){return typeof t=="object"&&t!==null&&"blacklist"in t}function ur(t){return typeof t=="object"&&t!==null&&"identitySigner"in t}function lr(t){return typeof t=="object"&&t!==null&&"signer"in t}function u1(t){return cr(t)||ur(t)||lr(t)}function fr(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>mE(e))}function mE(t){return fr(t)||u1(t)||Br(t)}function pE(t){if(!mE(t))return !1;let{identitySignerCount:e,blacklistCount:s}=MC(t);return e>=1&&s===1}function MC(t){let e=0,s=0;if(fr(t))for(let r of t){let{identitySignerCount:n,blacklistCount:i}=MC(r);e+=n,s+=i;}return ur(t)&&e++,cr(t)&&s++,{identitySignerCount:e,blacklistCount:s}}function Nh(t){return ur(t)?[t.identitySigner]:fr(t)?t.map(Nh).flat():[]}function AL(t){let e=Th(t);return e?e.blacklist:null}function Th(t){if(cr(t))return t;if(fr(t)){let e=t.map(Th).filter(s=>s!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function f1(t,e){if(lr(t)&&j.isEqual(t.signer,e))return t;if(fr(t))for(let s of t){let r=f1(s,e);if(r)return r}return null}function IL(t){return $C(t,[])}function $C(t,e){if(lr(t))return [...e,t.signer];if(fr(t)){let s=[...e];for(let r of t)s.push(...$C(r,e));return s}return e}function Ah(t){if(lr(t))return {type:"leaf",value:f.concat(f.fromNumber(Ih),xh(t))};if(cr(t))return {type:"leaf",value:f.concat(f.fromNumber(mu),f.concat(...t.blacklist.map(e=>f.padLeft(f.fromHex(e),20))))};if(ur(t))return {type:"leaf",value:f.concat(f.fromNumber(Ch),f.padLeft(f.fromHex(t.identitySigner),20))};throw new Error("Invalid leaf")}function qC(t){let e=t[0];if(e===mu){let s=[];for(let r=1;r<t.length;r+=20)s.push(f.toHex(t.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:s}}if(e===Ch)return {type:"identity-signer",identitySigner:f.toHex(t.slice(1,21))};if(e===Ih)return {type:"session-permissions",...a1(t.slice(1))};throw new Error("Invalid leaf")}function FC(t){if(fr(t))return t.map(FC);if(cr(t)||ur(t)||lr(t))return Ah(t);if(Br(t))return t;throw new Error("Invalid topology")}function KC(t){if(Ms(t))return t.map(KC);if(Vt(t))throw new Error("Unknown in configuration tree");return qC(t.value)}function h1(t){if(fr(t)){let e=[];for(let i of t)e.push(h1(i));let s=f.concat(...e),r=js(BigInt(s.length));if(r>15)throw new Error("Branch too large");let n=dE<<4|r;return f.concat(f.fromNumber(n),f.padLeft(f.fromNumber(s.length),r),s)}if(lr(t)){let e=Ih<<4,s=xh(t);return f.concat(f.fromNumber(e),s)}if(Br(t)){let e=hE<<4;return f.concat(f.fromNumber(e),P.toBytes(t))}if(cr(t)){let e=f.concat(...t.blacklist.map(r=>f.fromHex(r)));if(t.blacklist.length>=15){if(t.blacklist.length>65535)throw new Error("Blacklist too large");return f.concat(f.fromNumber(mu<<4|15),f.fromNumber(t.blacklist.length,{size:2}),e)}let s=mu<<4|t.blacklist.length;return f.concat(f.fromNumber(s),e)}if(ur(t)){let e=Ch<<4;return f.concat(f.fromNumber(e),f.padLeft(f.fromHex(t.identitySigner),20))}throw new Error("Invalid topology")}function gE(t){let{topology:e}=GC(t);return e}function GC(t){if(t.length===0)throw new Error("Empty topology bytes");let e=t[0],s=(e&240)>>4,r=e&15;if(s===dE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=f.toNumber(t.slice(n,n+r));n+=r;let a=t.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=GC(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(s===Ih){let n=a1(t.slice(1)),i=1+xh(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(s===hE){let n=jC+1;if(t.length<n)throw new Error("Invalid node length");return {topology:P.fromBytes(t.slice(1,n)),pointer:n}}else if(s===mu){let n=1,i=r;r===15&&(i=f.toNumber(t.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=t.slice(n+o*20,n+(o+1)*20);a.push(j.from(P.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(s===Ch){if(t.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:j.from(P.fromBytes(t.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${s}`)}function CL(t){return JSON.stringify(WC(t))}function WC(t){if(Br(t))return t;if(lr(t))return o1(t);if(cr(t)||ur(t))return t;if(fr(t))return t.map(e=>WC(e));throw new Error("Invalid topology")}function NL(t){let e=JSON.parse(t);return JC(e)}function JC(t){if(Array.isArray(t))return t.map(s=>JC(s));if(typeof t=="string"&&P.validate(t)&&P.size(t)===32)return t;if(typeof t=="object"&&t!==null&&"signer"in t&&"valueLimit"in t&&"deadline"in t&&"permissions"in t)return {type:"session-permissions",...c1(t)};if(typeof t=="object"&&t!==null&&"identitySigner"in t)return {type:"identity-signer",identitySigner:t.identitySigner};if(typeof t=="object"&&t!==null&&"blacklist"in t)return {type:"implicit-blacklist",blacklist:t.blacklist.map(s=>j.from(s))};throw new Error("Invalid topology")}function yE(t,e){if(u1(t)&&u1(e)){if(t.type===e.type){if(lr(t)&&lr(e)){if(j.isEqual(t.signer,e.signer))return null}else if(cr(t)&&cr(e)){let s=t.blacklist.filter(r=>!e.blacklist.includes(r));return s.length===0?null:{type:"implicit-blacklist",blacklist:s}}else if(ur(t)&&ur(e)&&j.isEqual(t.identitySigner,e.identitySigner))return null}}else if(Br(t)&&Br(e)&&P.isEqual(t,e))return null;if(fr(t)){let s=[];for(let r of t){let n=yE(r,e);n!=null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}return t}function TL(t,e){let s=f1(t,e);if(!s)return t;let r=yE(t,s);return r?kh(r):null}function kL(t,e){if(f1(t,e.signer))throw new Error("Session already exists");let s=wE(t,{type:"session-permissions",...e});return kh(s)}function BL(t,e){let r=yE(t,{type:"identity-signer",identitySigner:e});return r?kh(r):null}function PL(t,e){if(Nh(t).some(r=>j.isEqual(r,e)))throw new Error("Identity signer already exists");let s=wE(t,{type:"identity-signer",identitySigner:e});return kh(s)}function wE(t,e){return [t,e]}function zC(t){if(u1(t)||Br(t))return [t];let e=[];for(let s of t)e.push(...zC(s));return e}function l1(t){if(t.length===1)return t[0];if(t.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(t.length/2),s=t.slice(0,e),r=t.slice(e),n=l1(s),i=l1(r);return [n,i]}function kh(t){return l1(zC(t))}function YC(t,e=BigInt(Math.floor(Date.now()/1e3))){if(Br(t))return t;if(lr(t))return t.deadline<e?null:t;if(ur(t)||cr(t))return t;let s=[];for(let r of t){let n=YC(r,e);n!==null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}function d1(t,e=[],s=[],r){if(fr(t)){let n=t.map(i=>d1(i,e,s,r));return n.every(i=>Br(i))?he.keccak256(f.concat(...n.map(i=>P.toBytes(i))),{as:"Hex"}):n}if(lr(t))return e.includes(t.signer)?t:or(Ah(t));if(cr(t))return s.length===0?or(Ah(t)):t;if(ur(t))return r&&!j.isEqual(t.identitySigner,r)?or(Ah(t)):t;if(Br(t))return t;throw new Error("Invalid topology")}function OL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s;return r.some(n=>j.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),t}function RL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s,n=r.filter(i=>i!==e);return s.blacklist=n,t}function ZC(t){if(!Array.isArray(t))return ZC([t]);let e=[{type:"implicit-blacklist",blacklist:[]},...t.map(s=>({type:"identity-signer",identitySigner:s}))];return l1(e)}var oi={};Ne(oi,{decodeSessionSignature:()=>UL,encodeSessionCallSignatureForJson:()=>XC,encodeSessionSignature:()=>VL,hashPayloadWithCallIdx:()=>_L,isExplicitSessionCallSignature:()=>vE,isImplicitSessionCallSignature:()=>m1,sessionCallSignatureFromJson:()=>DL,sessionCallSignatureFromParsed:()=>QC,sessionCallSignatureToJson:()=>LL});d();h();function m1(t){return "attestation"in t&&"identitySignature"in t&&"sessionSignature"in t}function vE(t){return "permissionIndex"in t&&"sessionSignature"in t}function LL(t){return JSON.stringify(XC(t))}function XC(t){if(m1(t))return {attestation:Wt.encodeForJson(t.attestation),identitySignature:bE(t.identitySignature),sessionSignature:bE(t.sessionSignature)};if(vE(t))return {permissionIndex:t.permissionIndex,sessionSignature:bE(t.sessionSignature)};throw new Error("Invalid call signature")}function DL(t){let e=JSON.parse(t);return QC(e)}function QC(t){if(t.attestation)return {attestation:Wt.fromParsed(t.attestation),identitySignature:SE(t.identitySignature),sessionSignature:SE(t.sessionSignature)};if(t.permissionIndex)return {permissionIndex:t.permissionIndex,sessionSignature:SE(t.sessionSignature)};throw new Error("Invalid call signature")}function bE(t){return `${t.r.toString()}:${t.s.toString()}:${t.yParity+27}`}function SE(t){let e=t.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[s,r,n]=e;if(!s||!r||!n)throw new Error("Invalid signature format");return {r:f.toBigInt(f.fromHex(s,{size:32})),s:f.toBigInt(f.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function VL(t,e,s,r=[],n=[]){let i=[];if(!pE(e))throw new Error("Incomplete topology");if(!Nh(e).some(l=>j.isEqual(l,s)))throw new Error("Identity signer not found");e=d1(e,r,n,s);let o=h1(e);if(js(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(f.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(t.filter(m1).forEach(l=>{if(l.attestation){let p=Wt.toJson(l.attestation);c.has(p)||(c.set(p,u.length),u.push(f.concat(Wt.encode(l.attestation),on(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(f.fromNumber(u.length,{size:1}),f.concat(...u));for(let l of t)if(m1(l)){let p=Wt.toJson(l.attestation),w=c.get(p);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(f.fromNumber(E,{size:1}),on(l.sessionSignature));}else if(vE(l)){if(l.permissionIndex>i1)throw new Error("Permission index is too large");let p=l.permissionIndex;i.push(f.fromNumber(p,{size:1}),on(l.sessionSignature));}else throw new Error("Invalid call signature");return f.concat(...i)}function UL(t){let e=0,s=f.toNumber(t.slice(e,e+3));e+=3;let r=t.slice(e,e+s);e+=s;let n=gE(r),i=f.toNumber(t.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=Wt.decode(t.slice(e));e+=Wt.encode(l).length,a.push(l);let p=za(t.slice(e,e+64));e+=64,o.push(p);}let c=[];for(;e<t.length;){let u=t[e];e+=1;let l=za(t.slice(e,e+64));if(e+=64,u&128){let p=u&127;if(p>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[p],identitySignature:o[p],sessionSignature:l});}else {let p=u;c.push({permissionIndex:BigInt(p),sessionSignature:l});}}return {topology:n,callSignatures:c}}function _L(t,e,s,r,n){if(n&&(j.isEqual(n,qe.Dev1.sessions)||j.isEqual(n,qe.Dev2.sessions)||j.isEqual(n,qe.Rc3.sessions))){let c=e.calls[s],u=!j.isEqual(n,qe.Rc3.sessions);return P.fromBytes(he.keccak256(f.concat(f.fromNumber(r,{size:32}),f.fromNumber(e.space,{size:32}),f.fromNumber(e.nonce,{size:32}),u?f.from([]):f.fromNumber(s,{size:32}),f.fromHex(Te.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=Te.hash(t,r,e);return e.parentWallets=a,P.fromBytes(he.keccak256(f.concat(o,f.fromNumber(s,{size:32}))))}var Za={};Ne(Za,{Dev1:()=>eN,Dev2:()=>tN,Dev2_4337:()=>sN,KnownContexts:()=>HL,Rc3:()=>rN,Rc3_4337:()=>nN,Rc4:()=>iN,Rc4_4337:()=>aN,Rc5:()=>oN,Rc5_4337:()=>cN,isKnownContext:()=>jL});d();h();var eN={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},tN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},sN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},rN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},nN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},iN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},aN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},oN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},cN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},HL=[{name:"Dev1",development:!0,...eN},{name:"Dev2",development:!0,...tN},{name:"Dev2_4337",development:!0,...sN},{name:"Rc3",development:!0,...rN},{name:"Rc3_4337",development:!0,...nN},{name:"Rc4",development:!1,...iN},{name:"Rc4_4337",development:!1,...aN},{name:"Rc5",development:!1,...oN},{name:"Rc5_4337",development:!1,...cN}];function jL(t){return t.name!==void 0&&t.development!==void 0}var qe={};Ne(qe,{Dev1:()=>eD,Dev2:()=>tD,Passkeys:()=>xE,Rc3:()=>sD,Rc4:()=>rD,Rc5:()=>nD,Recovery:()=>DE});d();h();var xE={};Ne(xE,{decode:()=>KL,encode:()=>qL,fromTree:()=>ML,isValidSignature:()=>FL,metadataNode:()=>uN,metadataTree:()=>EE,rootFor:()=>$L,toTree:()=>lN});d();h();function EE(t){return typeof t=="object"?{type:"leaf",value:f.fromString(t.credentialId)}:t}function uN(t){return or(EE(t))}function lN(t){let e=P.padLeft(t.x,32),s=P.padLeft(t.y,32),r=P.padLeft(t.requireUserVerification?"0x01":"0x00",32);return t.metadata?[[e,s],[r,EE(t.metadata)]]:[[e,s],[r,P.padLeft("0x00",32)]]}function ML(t){if(!Ms(t)||t.length!==2)throw new Error("Invalid tree");let[e,s]=t;if(!Ms(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Vt(r))throw new Error("Invalid x bytes");if(!Vt(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ms(s)){if(s.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=s;if(!Vt(o))throw new Error("Invalid c bytes");if(i=P.toBytes(o)[31]===1,Ms(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,p]=c;if(!ai(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ms(p)||p.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,S]=p;if(!ai(E)||!ai(S))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Vt(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Vt(s))throw new Error("Invalid c bytes");i=P.toBytes(s)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function $L(t){return or(lN(t))}function qL(t){let e=t.clientDataJSON.indexOf('"challenge"'),s=t.clientDataJSON.indexOf('"type"'),r=t.authenticatorData.length,n=t.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=s<=255?1:2,u=0;u|=t.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,t.embedMetadata&&(u|=64);let l=f.from([u]);if(t.embedMetadata){if(!t.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=f.concat(l,P.toBytes(uN(t.publicKey.metadata)));}return l=f.concat(l,f.padLeft(f.fromNumber(r),i)),l=f.concat(l,t.authenticatorData),l=f.concat(l,f.padLeft(f.fromNumber(t.clientDataJSON.length),a)),l=f.concat(l,f.from(new TextEncoder().encode(t.clientDataJSON))),l=f.concat(l,f.padLeft(f.fromNumber(e),o)),l=f.concat(l,f.padLeft(f.fromNumber(s),c)),l=f.concat(l,f.padLeft(t.r,32)),l=f.concat(l,f.padLeft(t.s,32)),l=f.concat(l,f.fromHex(t.publicKey.x)),l=f.concat(l,f.fromHex(t.publicKey.y)),l}function FL(t,e){return ii.verify({challenge:t,publicKey:{x:P.toBigInt(e.publicKey.x),y:P.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:P.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:f.toBigInt(e.r),s:f.toBigInt(e.s)}})}function KL(t){let e=0,s=t[0];if(e+=1,s===void 0)throw new Error("Invalid flags");let r=(s&1)!==0,n=(s>>1&1)+1,i=(s>>2&1)+1,a=(s>>3&1)+1,o=(s>>4&1)+1,c=(s>>6&1)===1;if(s&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let O=f.slice(t,e,e+32);u=P.fromBytes(O),e+=32;}let l=f.toNumber(f.slice(t,e,e+n));e+=n;let p=f.slice(t,e,e+l);e+=l;let w=f.toNumber(f.slice(t,e,e+i));e+=i;let E=f.slice(t,e,e+w);e+=w;let S=new TextDecoder().decode(E),I=f.toNumber(f.slice(t,e,e+a));e+=a;let C=f.toNumber(f.slice(t,e,e+o));e+=o;let D=f.slice(t,e,e+32);e+=32;let V=f.slice(t,e,e+32);e+=32;let B=f.slice(t,e,e+32);e+=32;let k=f.slice(t,e,e+32);return {publicKey:{requireUserVerification:r,x:P.fromBytes(B),y:P.fromBytes(k),metadata:u},r:D,s:V,authenticatorData:p,clientDataJSON:S,challengeIndex:I,typeIndex:C,embedMetadata:c}}var DE={};Ne(DE,{DOMAIN_NAME:()=>GL,DOMAIN_VERSION:()=>WL,FLAG_BRANCH:()=>RE,FLAG_NODE:()=>OE,FLAG_RECOVERY_LEAF:()=>PE,QUEUED_PAYLOAD_HASHES:()=>dN,QUEUE_PAYLOAD:()=>fN,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>hN,TOTAL_QUEUED_PAYLOADS:()=>mN,decodeTopology:()=>JL,encodeCalldata:()=>YL,encodeTopology:()=>TE,fromGenericTree:()=>BE,fromRecoveryLeaves:()=>kE,getRecoveryLeaves:()=>CE,hashConfiguration:()=>IE,hashRecoveryPayload:()=>zL,isBranch:()=>Xa,isRecoveryLeaf:()=>pu,isTree:()=>AE,parseBranch:()=>LE,queuedPayloadHashOf:()=>XL,timestampForQueuedPayload:()=>QL,toGenericTree:()=>p1,totalQueuedPayloads:()=>ZL,trimTopology:()=>NE});d();h();var PE=1,OE=3,RE=4,Bh=f.fromString(`Sequence recovery leaf:
348
- `),fN=He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],hN=He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],dN=He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],mN=He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function pu(t){return typeof t=="object"&&t!==null&&t.type==="leaf"}function Xa(t){return Array.isArray(t)&&t.length===2&&AE(t[0])&&AE(t[1])}function AE(t){return pu(t)||Vt(t)||Xa(t)}var GL="Sequence Wallet - Recovery Mode",WL="1";function IE(t){return or(p1(t))}function CE(t){if(pu(t))return {leaves:[t],isComplete:!0};if(Vt(t))return {leaves:[],isComplete:!1};if(Xa(t)){let s=CE(t[0]),r=CE(t[1]);return {leaves:[...s.leaves,...r.leaves],isComplete:s.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function JL(t){let{nodes:e,leftover:s}=LE(t);if(s.length>0)throw new Error("Leftover bytes in branch");return pN(e)}function LE(t){if(t.length===0)throw new Error("Empty branch");let e=[],s=0;for(;s<t.length;){let r=t[s];if(r===PE){if(t.length<s+32)throw new Error("Invalid recovery leaf");let n=j.from(P.fromBytes(t.slice(s+1,s+21))),i=f.toBigInt(t.slice(s+21,s+24)),a=f.toBigInt(t.slice(s+24,s+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),s+=32;continue}else if(r===OE){if(t.length<s+33)throw new Error("Invalid node");let n=P.fromBytes(t.slice(s+1,s+33));e.push(n),s+=33;continue}else if(r===RE){if(t.length<s+4)throw new Error("Invalid branch");let n=f.toNumber(t.slice(s+1,s+4));if(t.length<s+4+n)throw new Error("Invalid branch");let i=t.slice(s+4,s+4+n),{nodes:a,leftover:o}=LE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=pN(a);e.push(c),s+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:t.slice(s)}}function NE(t,e){if(pu(t))return t.signer===e?t:IE(t);if(Vt(t))return t;if(Xa(t)){let s=NE(t[0],e),r=NE(t[1],e);return Vt(s)&&Vt(r)?IE(t):[s,r]}throw new Error("Invalid topology")}function TE(t){if(Xa(t)){let e=TE(t[0]),s=TE(t[1]);if(Xa(t[1])){if(s.length>16777215)throw new Error("Branch too large");let n=f.fromNumber(RE),i=f.padLeft(f.fromNumber(s.length),3);return f.concat(e,n,i,s)}else return f.concat(e,s)}if(Vt(t)){let e=f.fromNumber(OE),s=f.fromHex(t,{size:32});return f.concat(e,s)}if(pu(t)){let e=f.fromNumber(PE),s=f.fromHex(t.signer,{size:20});if(t.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=f.padLeft(f.fromNumber(t.requiredDeltaTime),3);if(t.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=f.padLeft(f.fromNumber(t.minTimestamp),8);return f.concat(e,s,r,n)}throw new Error("Invalid topology")}function pN(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function kE(t){if(t.length===0)throw new Error("Cannot build a tree with zero leaves");if(t.length===1)return t[0];let e=Math.floor(t.length/2),s=kE(t.slice(0,e)),r=kE(t.slice(e));return [s,r]}function zL(t,e,s,r){let n=Wv(t);return P.fromBytes(cu(e,r?0:s,n))}function p1(t){if(pu(t))return {type:"leaf",value:f.concat(Bh,f.fromHex(t.signer,{size:20}),f.padLeft(f.fromNumber(t.requiredDeltaTime),32),f.padLeft(f.fromNumber(t.minTimestamp),32))};if(Vt(t))return t;if(Xa(t))return [p1(t[0]),p1(t[1])];throw new Error("Invalid topology")}function BE(t){if(ai(t)){let e=t.value;if(e.length!==Bh.length+84||!f.isEqual(e.slice(0,Bh.length),Bh))throw new Error("Invalid recovery leaf format");let s=Bh.length,r=j.from(P.fromBytes(e.slice(s,s+20))),n=f.toBigInt(e.slice(s+20,s+52)),i=f.toBigInt(e.slice(s+52,s+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Vt(t))return t;if(Ms(t)){if(t.length!==2)throw new Error("Recovery tree only supports binary branches");return [BE(t[0]),BE(t[1])]}else throw new Error("Invalid tree format")}}function YL(t,e,s,r){let n;r.type==="erc1271"?n=r.data:n=f.toHex(on(r));let i=Yv(e);return me.encodeData(fN,[t,s,i,n])}async function ZL(t,e,s,r){let n=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(mN,[s,r])},"latest"]});return n==="0x"?0n:P.toBigInt(n)}async function XL(t,e,s,r,n){return await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(dN,[s,r,n])},"latest"]})}async function QL(t,e,s,r,n){let i=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(hN,[s,r,n])},"latest"]});return P.toBigInt(i)}var eD={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},tD={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},sD={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},rD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},nD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Ph={};Ne(Ph,{ALL:()=>VE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>aD,getNetworkFromName:()=>iD});d();h();var Ie;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},VE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:ke("mainnet"),logoUrl:Be(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:ke("sepolia"),logoUrl:Be(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:ke("polygon"),logoUrl:Be(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:ke("amoy"),logoUrl:Be(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:ke("polygon-zkevm"),logoUrl:Be(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:ke("bsc"),logoUrl:Be(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:ke("bsc-testnet"),logoUrl:Be(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:ke("optimism"),logoUrl:Be(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:ke("optimism-sepolia"),logoUrl:Be(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:ke("arbitrum"),logoUrl:Be(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:ke("arbitrum-sepolia"),logoUrl:Be(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:ke("arbitrum-nova"),logoUrl:Be(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:ke("avalanche"),logoUrl:Be(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:ke("avalanche-testnet"),logoUrl:Be(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:ke("gnosis"),logoUrl:Be(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:ke("base"),logoUrl:Be(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:ke("base-sepolia"),logoUrl:Be(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:ke("homeverse"),logoUrl:Be(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:ke("homeverse-testnet"),logoUrl:Be(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:ke("xai"),logoUrl:Be(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:ke("xai-sepolia"),logoUrl:Be(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:ke("b3"),logoUrl:Be(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:ke("b3-sepolia"),logoUrl:Be(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:ke("apechain"),logoUrl:Be(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:ke("apechain-testnet"),logoUrl:Be(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:ke("blast"),logoUrl:Be(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:ke("blast-sepolia"),logoUrl:Be(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:ke("telos"),logoUrl:Be(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:ke("telos-testnet"),logoUrl:Be(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:ke("skale-nebula"),logoUrl:Be(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:ke("skale-nebula-testnet"),logoUrl:Be(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:ke("soneium"),logoUrl:Be(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:ke("soneium-minato"),logoUrl:Be(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:ke("toy-testnet"),logoUrl:Be(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:ke("immutable-zkevm"),logoUrl:Be(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:ke("immutable-zkevm-testnet"),logoUrl:Be(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:ke("moonbeam"),logoUrl:Be(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:ke("moonbase-alpha"),logoUrl:Be(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:ke("etherlink"),logoUrl:Be(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:ke("etherlink-testnet"),logoUrl:Be(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:ke("monad"),logoUrl:Be(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:ke("monad-testnet"),logoUrl:Be(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:ke("somnia"),logoUrl:Be(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:ke("somnia-testnet"),logoUrl:Be(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:ke("incentiv-testnet-v2"),logoUrl:Be(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:ke("katana"),logoUrl:Be(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:ke("sandbox-testnet"),logoUrl:Be(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:ke("arc-testnet"),logoUrl:Be(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function ke(t){return `https://nodes.sequence.app/${t}`}function Be(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function iD(t){return VE.find(e=>e.name===t)}function aD(t){return VE.find(e=>e.chainId===Number(t))}d();h();d();h();d();h();var gN="$";function yN(t,e){var s="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(t,gN),s;function u(l,p){if(l===null||typeof l!="object"||l.toJSON!=null)s+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="[";var E=!1;l.forEach(function(D,V){E&&(s+=","),E=!0,c&&D===void 0&&(D=null),u(D,p+"["+V+"]");}),s+="]";}else {var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="{";var S=!1,I=function(V){n&&n.includes(V)||(S&&(s+=","),S=!0,s+=JSON.stringify(V),s+=":",u(l[V],p+"."+V));};if(p===gN&&r)r.forEach(function(V){l.hasOwnProperty(V)&&I(V);});else {var C=Object.keys(l);o&&(C=C.filter(function(V){return l[V]!==void 0})),C.sort(),C.forEach(function(V){I(V);});}s+="}";}}}function g1(t,e){return yN(t,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();h();var oD="Webrpc",cD="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Pr;(function(t){t.WebCrypto_Secp256r1="WebCrypto_Secp256r1",t.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Pr||(Pr={}));var un;(function(t){t.Email="Email",t.OIDC="OIDC";})(un||(un={}));var yu;(function(t){t.OTP="OTP",t.IDToken="IDToken",t.AccessToken="AccessToken",t.AuthCode="AuthCode",t.AuthCodePKCE="AuthCodePKCE";})(yu||(yu={}));var y1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,s,r)=>this.fetch(this.url("CommitVerifier"),UE(e,s,r)).then(n=>_E(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,s,r)=>this.fetch(this.url("CompleteAuth"),UE(e,s,r)).then(n=>_E(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,s,r)=>this.fetch(this.url("Sign"),UE(e,s,r)).then(n=>_E(n).then(i=>({signature:i.signature})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})})},UE=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[oD]=cD,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},_E=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),w1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (uD[r]||rt).new(s)}return s}),rt=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},HE=class t extends rt{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},gu=class t extends rt{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},jE=class t extends rt{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ME=class t extends rt{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},$E=class t extends rt{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},w1=class t extends rt{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},qE=class t extends rt{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},FE=class t extends rt{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},KE=class t extends rt{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},GE=class t extends rt{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},WE=class t extends rt{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},JE=class t extends rt{constructor(e="InternalError",s=7100,r="Internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},zE=class t extends rt{constructor(e="EncryptionError",s=7101,r="Encryption error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},YE=class t extends rt{constructor(e="DatabaseError",s=7102,r="Database error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ZE=class t extends rt{constructor(e="DataIntegrityError",s=7103,r="Data integrity error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},XE=class t extends rt{constructor(e="IdentityProviderError",s=7104,r="Identity provider error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},QE=class t extends rt{constructor(e="InvalidRequest",s=7200,r="The request was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},e2=class t extends rt{constructor(e="InvalidSignature",s=7201,r="The signature was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},t2=class t extends rt{constructor(e="KeyNotFound",s=7202,r="The authentication key was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},s2=class t extends rt{constructor(e="KeyExpired",s=7203,r="The authentication key expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},r2=class t extends rt{constructor(e="SignerNotFound",s=7204,r="The signer was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},n2=class t extends rt{constructor(e="ProofVerificationFailed",s=7002,r="The authentication proof could not be verified",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},i2=class t extends rt{constructor(e="AnswerIncorrect",s=7003,r="The provided answer is incorrect",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},a2=class t extends rt{constructor(e="ChallengeExpired",s=7004,r="The challenge has expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},o2=class t extends rt{constructor(e="TooManyAttempts",s=7005,r="Too many attempts",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},c2=class t extends rt{constructor(e="OAuthError",s=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},u2=class t extends rt{constructor(e="AccessError",s=7007,r="Access error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},wN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InternalError="InternalError",t.EncryptionError="EncryptionError",t.DatabaseError="DatabaseError",t.DataIntegrityError="DataIntegrityError",t.IdentityProviderError="IdentityProviderError",t.InvalidRequest="InvalidRequest",t.InvalidSignature="InvalidSignature",t.KeyNotFound="KeyNotFound",t.KeyExpired="KeyExpired",t.SignerNotFound="SignerNotFound",t.ProofVerificationFailed="ProofVerificationFailed",t.AnswerIncorrect="AnswerIncorrect",t.ChallengeExpired="ChallengeExpired",t.TooManyAttempts="TooManyAttempts",t.OAuthError="OAuthError",t.AccessError="AccessError";})(wN||(wN={}));var bN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InternalError=7100]="InternalError",t[t.EncryptionError=7101]="EncryptionError",t[t.DatabaseError=7102]="DatabaseError",t[t.DataIntegrityError=7103]="DataIntegrityError",t[t.IdentityProviderError=7104]="IdentityProviderError",t[t.InvalidRequest=7200]="InvalidRequest",t[t.InvalidSignature=7201]="InvalidSignature",t[t.KeyNotFound=7202]="KeyNotFound",t[t.KeyExpired=7203]="KeyExpired",t[t.SignerNotFound=7204]="SignerNotFound",t[t.ProofVerificationFailed=7002]="ProofVerificationFailed",t[t.AnswerIncorrect=7003]="AnswerIncorrect",t[t.ChallengeExpired=7004]="ChallengeExpired",t[t.TooManyAttempts=7005]="TooManyAttempts",t[t.OAuthError=7006]="OAuthError",t[t.AccessError=7007]="AccessError";})(bN||(bN={}));var uD={0:HE,[-1]:gu,[-2]:jE,[-3]:ME,[-4]:$E,[-5]:w1,[-6]:qE,[-7]:FE,[-8]:KE,[-9]:GE,[-10]:WE,7100:JE,7101:zE,7102:YE,7103:ZE,7104:XE,7200:QE,7201:e2,7202:t2,7203:s2,7204:r2,7002:n2,7003:i2,7004:a2,7005:o2,7006:c2,7007:u2};d();h();d();h();var Qa=class extends Error{};Qa.prototype.name="InvalidTokenError";function lD(t){return decodeURIComponent(atob(t).replace(/(.)/g,(e,s)=>{let r=s.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function fD(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return lD(e)}catch{return atob(e)}}function vN(t,e){if(typeof t!="string")throw new Qa("Invalid token specified: must be a string");e||(e={});let s=e.header===!0?0:1,r=t.split(".")[s];if(typeof r!="string")throw new Qa(`Invalid token specified: missing part #${s+1}`);let n;try{n=fD(r);}catch(i){throw new Qa(`Invalid token specified: invalid base64 for part #${s+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Qa(`Invalid token specified: invalid json for part #${s+1} (${i.message})`)}}var l2=class{},b1=class extends l2{issuer;audience;idToken;handle="";exp="";constructor(e,s,r){super(),this.issuer=e,this.audience=s,this.idToken=r;let n=vN(this.idToken),i=he.keccak256(new TextEncoder().encode(this.idToken));this.handle=P.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:yu.IDToken,identityType:un.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:yu.IDToken,identityType:un.OIDC,verifier:this.handle,answer:this.idToken}}};var Oh=class{scope;rpc;constructor(e,s,r=window.fetch){this.rpc=new y1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=s;}async commitVerifier(e,s){let r={...s.getCommitParams(),scope:this.scope},n=await e.sign(f.fromString(g1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,s){let r={...s.getCompleteParams(),signerType:Pr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(f.fromString(g1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,s){let r={scope:this.scope,signer:{address:e.signer,keyType:Pr.Ethereum_Secp256k1},digest:P.fromBytes(s),nonce:P.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(f.fromString(g1(r)))});return P.assert(n.signature),n.signature}};function f2(t){return {address:t.address,keyType:Pr.WebCrypto_Secp256r1,signer:t.identitySigner,async sign(e){let s=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},t.privateKey,new Uint8Array(e));return P.fromBytes(new Uint8Array(s))}}}var S1=class{identityInstrument;authKey;constructor(e,s){this.identityInstrument=e,this.authKey=s;}get address(){if(!j.validate(this.authKey.identitySigner))throw new Error("No signer address found");return j.checksum(this.authKey.identitySigner)}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){let s=await this.identityInstrument.sign(f2(this.authKey),e);return {type:"hash",...Gt.fromHex(s)}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();h();d();h();d();h();d();h();d();h();function EN(t){return typeof t=="object"&&"signature"in t&&"imageHash"in t}var wu={};Ne(wu,{Cached:()=>P2,Local:()=>T2,Remote:()=>B2,Sequence:()=>_h,getWalletsFor:()=>SD,multiplex:()=>OD,normalizeAddressKeys:()=>Or});d();h();var T2={};Ne(T2,{IndexedDbStore:()=>C2,MemoryStore:()=>Lh,Provider:()=>N2});d();h();d();h();var Lh=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let s={};for(let[r,n]of Object.entries(e))s[r]=this.deepCopy(n);return s}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){let s=this.configs.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveConfig(e,s){this.configs.set(e.toLowerCase(),this.deepCopy(s));}async loadCounterfactualWallet(e){let s=this.counterfactualWallets.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveCounterfactualWallet(e,s,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:s,context:r}));}async loadPayloadOfSubdigest(e){let s=this.payloads.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async savePayloadOfSubdigest(e,s){this.payloads.set(e.toLowerCase(),this.deepCopy(s));}async loadSubdigestsOfSigner(e){let s=this.signerSubdigests.get(e.toLowerCase());return s?Array.from(s).map(r=>r):[]}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=s.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let s=this.trees.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveTree(e,s){this.trees.set(e.toLowerCase(),this.deepCopy(s));}};d();h();var hr={};Ne(hr,{Guard:()=>A2,Passkey:()=>y2,Pk:()=>p2,Session:()=>v2,SessionManager:()=>E2,isSapientSigner:()=>I2,isSigner:()=>bD});d();h();var p2={};Ne(p2,{Encrypted:()=>d2,MemoryPkStore:()=>ci,Pk:()=>m2});d();h();var d2={};Ne(d2,{EncryptedPkStore:()=>v1,EncryptedPksDb:()=>h2});d();h();var h2=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",s="e_pk"){this.localStorageKeyPrefix=e,this.tableName=s;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,s)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>s(r.error);})}async putData(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(s,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let s=await this.openDB();return new Promise((r,n)=>{let o=s.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((s,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>s(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),s=P.random(32),r=es.getPublicKey({privateKey:s}),n=j.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(s),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),p={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,p),p}async getEncryptedEntry(e){let s=this.computeDbKey(e);return this.getData(s)}async getEncryptedPkStore(e){let s=await this.getEncryptedEntry(e);if(s)return new v1(s)}async listAddresses(){return (await this.getAllData()).map(s=>s.address)}async remove(e){let s=this.computeDbKey(e);await this.putData(s,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},v1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let s=window.localStorage.getItem(this.encrypted.keyPointer);if(!s)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(s),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return es.sign({payload:e,privateKey:o})}};var ci=class{privateKey;constructor(e){this.privateKey=e;}address(){return j.fromPublicKey(this.publicKey())}publicKey(){return es.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(es.sign({payload:e,privateKey:this.privateKey}))}},m2=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new ci(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var y2={};Ne(y2,{Passkey:()=>g2,isWitnessMessage:()=>xN});d();h();function xN(t){return typeof t=="object"&&t!==null&&"action"in t&&t.action==="consent-to-be-part-of-wallet"}var g2=class t{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=qe.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,s,r,n){let i=await e.getWitnessForSapient(r,s.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!Te.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(P.toString(a.message));if(!xN(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=qe.Passkeys.decode(f.fromHex(i.signature.data));return new t({credentialId:c.credentialId,extensions:s,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,s){let r=s?.credentialName??`Sequence (${Date.now()})`,n=await ii.createCredential({user:{name:r}}),i=P.fromNumber(n.publicKey.x),a=P.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new t({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:s?.requireUserVerification??!0,x:i,y:a,metadata:s?.embedMetadata?o:void 0},embedMetadata:s?.embedMetadata,metadata:o});return s?.stateProvider&&await s.stateProvider.saveTree(qe.Passkeys.toTree(c.publicKey)),c}static async find(e,s){let r=await ii.sign({challenge:P.random(32)});if(!r.raw)throw new Error("No credential returned");let n=f.fromHex(r.metadata.authenticatorData),i=he.sha256(f.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=f.concat(n,i),o=he.sha256(a,{as:"Bytes"}),c=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:P.fromNumber(c.x),y:P.fromNumber(c.y)},p={x:P.fromNumber(u.x),y:P.fromNumber(u.y)},w={credentialId:r.raw.id},E=[qe.Passkeys.rootFor({...l,requireUserVerification:!0}),qe.Passkeys.rootFor({...l,requireUserVerification:!1}),qe.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),qe.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),qe.Passkeys.rootFor({...p,requireUserVerification:!0}),qe.Passkeys.rootFor({...p,requireUserVerification:!1}),qe.Passkeys.rootFor({...p,requireUserVerification:!0,metadata:w}),qe.Passkeys.rootFor({...p,requireUserVerification:!1,metadata:w})],I=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(s.passkeys,C);return Object.keys(D).map(V=>({wallet:j.from(V),imageHash:C}))}))).flat().filter((C,D,V)=>V.findIndex(B=>j.isEqual(B.wallet,C.wallet)&&B.imageHash===C.imageHash)===D);if(I.length!==0)return I.length>1&&console.warn("Multiple signers found for passkey",I),t.loadFromWitness(e,s,I[0].wallet,I[0].imageHash)}async signSapient(e,s,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=P.fromBytes(Te.hash(e,s,r)),a=await ii.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=f.fromHex(a.metadata.authenticatorData),c=f.fromNumber(a.signature.r),u=f.fromNumber(a.signature.s),l=qe.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:f.toHex(l),type:"sapient_compact"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(s,0,n,this.imageHash);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var v2={};Ne(v2,{Explicit:()=>w2,Implicit:()=>b2,isExplicitSessionSigner:()=>E1,isImplicitSessionSigner:()=>S2});d();h();d();h();var AN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",w2=class{_privateKey;address;sessionPermissions;constructor(e,s){this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...s,signer:this.address};}isValid(e,s){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Js.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!j.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!f.isEqual(c.value,u.value)||c.offset!==u.offset||!f.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,s,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,AN])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=f.fromNumber(o+r.value,{size:32});if(f.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,s){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:f.toHex(n.value),offset:n.offset,mask:f.toHex(n.mask)}))};return he.keccak256(mt.encode([{type:"address",name:"signer"},cn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(s)]))}getValueUsageHash(){return he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,AN]))}async validatePermission(e,s,r,n,i){if(!j.isEqual(e.target,s.to))return !1;for(let[a,o]of e.rules.entries()){let u=f.padRight(f.fromHex(s.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,p)=>l&o.mask[p]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=f.fromNumber(l+f.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===cn.ParameterOperation.EQUAL&&!f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.LESS_THAN_OR_EQUAL&&f.toBigInt(u)>f.toBigInt(o.value)||o.operation===cn.ParameterOperation.NOT_EQUAL&&f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.GREATER_THAN_OR_EQUAL&&f.toBigInt(u)<f.toBigInt(o.value))return !1}return !0}async supportedCall(e,s,r,n,i){return j.isEqual(r.to,n)&&P.size(r.data)>4&&P.isEqual(P.slice(r.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,s,r,n,i)}async signCall(e,s,r,n,i,a){let o=r.calls[n],c;if(j.isEqual(o.to,i)&&P.size(o.data)>4&&P.isEqual(P.slice(o.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT)))c=0;else {let p=await this.findSupportedPermission(e,s,o,i,a);if(!p)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(p),c===-1)throw new Error("Invalid permission")}let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,s,r,n){let i=me.encodeData(yt.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:s,data:i},"latest"]}),o=me.decodeResult(yt.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,s,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let p of r){let w=await this.findSupportedPermission(e,s,p,n,i);if(w){for(let[E,S]of w.rules.entries()){if(!S.cumulative)continue;let C=f.padRight(f.fromHex(p.data).slice(Number(S.offset),Number(S.offset)+32),32).map((B,k)=>B&S.mask[k]);if(f.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),V=a.find(B=>P.isEqual(B.usageHash,D));V?V.increment+=f.toBigInt(C):a.push({usageHash:D,increment:f.toBigInt(C)});}u+=p.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:p,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,p,i);if(P.isEqual(p,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:p,usageAmount:E.usageAmount+w}})).then(p=>p.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();h();var b2=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,s,r,n){if(this._attestation=s,this._sessionManager=n,this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?Gt.fromHex(r):r;}get identitySigner(){let e=Wt.hash(this._attestation),s=es.recoverPublicKey({payload:e,signature:this._identitySignature});return j.fromPublicKey(s)}isValid(e,s){let r=Js.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>j.isEqual(a,n))?Js.getImplicitBlacklist(e)?.some(a=>j.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,s,r,n,i){if(!i)throw new Error("Provider is required");try{let a=me.encodeData(IN,[e,{approvedSigner:this._attestation.approvedSigner,identityType:f.toHex(this._attestation.identityType),issuerHash:f.toHex(this._attestation.issuerHash),audienceHash:f.toHex(this._attestation.audienceHash),applicationData:f.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(Te.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=P.from(me.decodeResult(IN,o)),u=f.toHex(Wt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,s,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,s,o,i,a))throw new Error("Unsupported call");let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},IN={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();h();function E1(t){return "prepareIncrements"in t}function S2(t){return "identitySigner"in t}d();h();var hD=2n**80n-1n,E2=class t{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,s){this.wallet=e,this.stateProvider=s.stateProvider??e.stateProvider,this.address=s.sessionManagerAddress,this._implicitSigners=s.implicitSigners??[],this._explicitSigners=s.explicitSigners??[],this._provider=s.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),s=Ye.findSignerLeaf(e,this.address);if(!(!s||!Ye.isSapientSignerLeaf(s)))return s.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let s=await this.stateProvider.getTree(e);if(!s)throw new Error(`Session configuration not found for image hash ${e}`);return Js.configurationTreeToSessionsTopology(s)}withProvider(e){return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let s=[...this._implicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:s,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let s=[...this._explicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:s,provider:this._provider})}async listSignerValidity(e){let s=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(s,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(s,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,s,r){let n=await this.topology;if(Js.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let p of a){try{if(u=await p.supportedCall(e,s,c,this.address,this._provider),u){let w=p.isValid(n,s);w.invalidReason==="Expired"&&(l=p),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(p);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,s,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,s,r),i=new Map;n.forEach((u,l)=>{let p=r[l],w=i.get(u)||[];i.set(u,[...w,p]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>E1(u)?u.prepareIncrements(e,s,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,p)=>l===p.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=me.encodeData(yt.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,s,r,n){if(!j.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!Te.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>hD)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,s,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,s,r,E,this.address,this._provider)}catch(S){throw console.error("signSapient error",S),S}})),o=await this.prepareIncrement(e,s,r.calls);if(o){let w;if(j.isEqual(this.address,qe.Dev1.sessions)||j.isEqual(this.address,qe.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!j.isEqual(o.to,w.to)||!P.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(E1(w))c.find(S=>j.isEqual(S,E))||c.push(E);else if(S2(w)&&!u.find(S=>j.isEqual(S,E))){if(u.push(E),!l)l=w.identitySigner;else if(!j.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Js.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let p=oi.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:P.from(p)}}async isValidSapientSignature(e,s,r,n){if(!Te.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=Te.encodeSapient(s,r),a=me.encodeData(yt.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return P.from(me.decodeResult(yt.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();h();d();h();d();h();d();h();var ui;(function(t){t.Calls="Calls",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ui||(ui={}));var li;(function(t){t.Hash="Hash",t.Sapient="Sapient",t.EthSign="EthSign",t.Erc1271="Erc1271";})(li||(li={}));var CN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.ValidationFailed="ValidationFailed",t.NotFound="NotFound",t.RequiresTOTP="RequiresTOTP",t.RequiresPIN="RequiresPIN";})(CN||(CN={}));var NN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.ValidationFailed=2004]="ValidationFailed",t[t.NotFound=3e3]="NotFound",t[t.RequiresTOTP=6600]="RequiresTOTP",t[t.RequiresPIN=6601]="RequiresPIN";})(NN||(NN={}));d();h();d();h();var A2=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,s){let r={...e.payload,parentWallets:void 0},n=gD(e.payload),{message:i,digest:a}=yD(e.wallet,e.chainId,r),o=e.signatures.map(wD),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,s?{id:s.id,token:s.code,resetAuth:s.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function gD(t){switch(t.type){case"call":return ui.Calls;case"message":return ui.Message;case"config-update":return ui.ConfigUpdate;case"session-implicit-authorize":return ui.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${t.type}`)}function yD(t,e,s){if(Te.isSessionImplicitAuthorize(s))return {message:f.fromString(Wt.toJson(s.attestation)),digest:he.keccak256(Wt.encode(s.attestation))};let r=Te.toTyped(t,e,s);return {message:f.fromString(mh.serialize(r)),digest:f.fromHex(mh.getSignPayload(r))}}function wD(t){if(EN(t))return {type:li.Sapient,address:t.signature.address,imageHash:t.imageHash,data:t.signature.data};if(t.signature.type=="erc1271")return {type:li.Erc1271,address:t.signature.address,data:t.signature.data};let e={eth_sign:li.EthSign,hash:li.Hash}[t.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${t.signature.type}`);return {type:e,address:t.address,data:Gt.toHex(t.signature)}}function I2(t){return "signSapient"in t}function bD(t){return "sign"in t}async function SD(t,e){let s=await vD(t,e);return Object.entries(s).map(([r,{chainId:n,payload:i,signature:a}])=>(P.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function vD(t,e){if(I2(e)){let[s,r]=await Promise.all([e.address,e.imageHash]);return r?t.getWalletsForSapient(s,r):(console.warn("Sapient signer has no imageHash"),{})}else return t.getWallets(await e.address)}function Or(t){return Object.fromEntries(Object.entries(t).map(([e,s])=>[j.checksum(e),s]))}d();h();var x1="configs",A1="counterfactualWallets",I1="payloads",Dh="signerSubdigests",C1="signatures",Vh="sapientSignerSubdigests",N1="sapientSignatures",T1="trees",C2=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,s)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(x1)||n.createObjectStore(x1),n.objectStoreNames.contains(A1)||n.createObjectStore(A1),n.objectStoreNames.contains(I1)||n.createObjectStore(I1),n.objectStoreNames.contains(Dh)||n.createObjectStore(Dh),n.objectStoreNames.contains(C1)||n.createObjectStore(C1),n.objectStoreNames.contains(Vh)||n.createObjectStore(Vh),n.objectStoreNames.contains(N1)||n.createObjectStore(N1),n.objectStoreNames.contains(T1)||n.createObjectStore(T1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{s(r.error);};})}async get(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(s);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,s,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,s);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,s){let r=await this.get(e,s)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,s,r){await this.put(e,s,Array.from(r));}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){return this.get(x1,e.toLowerCase())}async saveConfig(e,s){await this.put(x1,e.toLowerCase(),s);}async loadCounterfactualWallet(e){return this.get(A1,e.toLowerCase())}async saveCounterfactualWallet(e,s,r){await this.put(A1,e.toLowerCase(),{imageHash:s,context:r});}async loadPayloadOfSubdigest(e){return this.get(I1,e.toLowerCase())}async savePayloadOfSubdigest(e,s){await this.put(I1,e.toLowerCase(),s);}async loadSubdigestsOfSigner(e){let s=await this.getSet(Dh,e.toLowerCase());return Array.from(s)}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s);return this.get(C1,r.toLowerCase())}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);await this.put(C1,n.toLowerCase(),r);let i=e.toLowerCase(),a=s.toLowerCase(),o=await this.getSet(Dh,i);o.add(a),await this.putSet(Dh,i,o);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=await this.getSet(Vh,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r);return this.get(N1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r).toLowerCase();await this.put(N1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase(),c=await this.getSet(Vh,a);c.add(o),await this.putSet(Vh,a,c);}async loadTree(e){return this.get(T1,e.toLowerCase())}async saveTree(e,s){await this.put(T1,e.toLowerCase(),s);}};var N2=class{store;extensions;constructor(e=new Lh,s=qe.Rc5){this.store=e,this.extensions=s;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,s){await this.saveConfig(e);let r=Ye.hashConfiguration(e);await this.saveCounterfactualWallet(du.from(r,s),P.fromBytes(r),s);}async saveConfig(e){let s=f.toHex(Ye.hashConfiguration(e)),r=await this.store.loadConfig(s);if(r){let n=Ye.mergeTopology(r.topology,e.topology);return this.store.saveConfig(s,{...r,topology:n})}else return this.store.saveConfig(s,e)}saveCounterfactualWallet(e,s,r){this.store.saveCounterfactualWallet(e,s,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,s){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=j.checksum(i.wallet);if(n[a])continue;let o=P.fromBytes(Te.hash(a,i.chainId,i.content)),c=await s(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),s=>this.store.loadSignatureOfSubdigest(e,s)))}async getWalletsForSapient(e,s){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,s),r=>this.store.loadSapientSignatureOfSubdigest(e,r,s)))}getWitnessFor(e,s){let r=j.checksum(e);return this.getWallets(s).then(n=>n[r])}getWitnessForSapient(e,s,r){let n=j.checksum(e);return this.getWalletsForSapient(s,r).then(i=>i[n])}async saveWitnesses(e,s,r,n){let i=P.fromBytes(Te.hash(e,s,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:s,wallet:e})]);}async getConfigurationUpdates(e,s,r){let n=await this.store.loadConfig(s);if(!n)return [];let{signers:i,sapientSigners:a}=Ye.getSigners(n),o=await Promise.all([...i.map(S=>this.store.loadSubdigestsOfSigner(S)),...a.map(S=>this.store.loadSubdigestsOfSapientSigner(S.address,S.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(S=>this.store.loadPayloadOfSubdigest(S))),l=await Promise.all(u.filter(S=>S?.content&&Te.isConfigUpdate(S.content)).map(async S=>({payload:S,nextImageHash:S.content.imageHash,config:await this.store.loadConfig(S.content.imageHash)}))),p,w=l.filter(S=>S.config&&S.config.checkpoint>n.checkpoint).sort((S,I)=>S.config.checkpoint>I.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let S of w){if(p){if(r?.allUpdates){if(S.config.checkpoint<=p.checkpoint)continue}else if(S.config.checkpoint<=p.checkpoint)continue}let I=P.fromBytes(Te.hash(e,S.payload.chainId,S.payload.content)),C=await Promise.all([...i.map(async B=>({signer:B,signature:await this.store.loadSignatureOfSubdigest(B,I)})),...a.map(async B=>({signer:B.address,imageHash:B.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(B.address,I,B.imageHash)}))]),D=0n,V=ts.fillLeaves(n.topology,B=>{if(Ye.isSapientSignerLeaf(B)){let O=C.find(({signer:G,imageHash:re})=>re&&j.isEqual(G,B.address)&&re===B.imageHash)?.signature;if(O)return D+=B.weight,O}let k=C.find(({signer:O})=>j.isEqual(O,B.address))?.signature;if(k)return D+=B.weight,k});D<n.threshold||(p={nextImageHash:S.nextImageHash,checkpoint:S.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:V}}});}if(!p)return [];let E=await this.getConfigurationUpdates(e,p.nextImageHash,{allUpdates:!0});return [{imageHash:p.nextImageHash,signature:p.signature},...E]}async saveUpdate(e,s,r){let i={type:"config-update",imageHash:f.toHex(Ye.hashConfiguration(s))},a=Te.hash(e,0,i);await this.store.savePayloadOfSubdigest(P.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(s),await this.saveSignature(P.fromBytes(a),r.configuration.topology);}async saveSignature(e,s){if(ts.isRawNode(s)){await Promise.all([this.saveSignature(e,s[0]),this.saveSignature(e,s[1])]);return}if(ts.isRawNestedLeaf(s))return this.saveSignature(e,s.tree);if(ts.isRawSignerLeaf(s)){let r=s.signature.type;if(r==="eth_sign"||r==="hash"){let n=es.recoverAddress({payload:r==="eth_sign"?Og.getSignPayload(e):e,signature:s.signature});return this.store.saveSignatureOfSubdigest(n,e,s.signature)}if(ts.isSignatureOfSapientSignerLeaf(s.signature))switch(s.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=qe.Passkeys.decode(f.fromHex(s.signature.data));if(!qe.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(s.signature.address,e,qe.Passkeys.rootFor(n.publicKey),s.signature);default:throw new Error(`Unsupported sapient signer: ${s.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree($s.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(f.toHex(Ye.hashConfiguration(e)),e)}saveDeploy(e,s){return this.store.saveCounterfactualWallet(du.from(f.fromHex(e),s),e,s)}async getPayload(e){let s=await this.store.loadPayloadOfSubdigest(e);return s?{chainId:s.chainId,payload:s.content,wallet:s.wallet}:void 0}savePayload(e,s,r){let n=P.fromBytes(Te.hash(e,r,s));return this.store.savePayloadOfSubdigest(n,{content:s,chainId:r,wallet:e})}};var B2={};Ne(B2,{DevHttpProvider:()=>k2});d();h();d();h();var k2=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,s,r){let n=`${this.baseUrl}${s}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Ya.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Ya.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${s} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Ya.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Ya.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,s){return this.request("GET",`/wallets/sapient/${e}/${s}`)}async getWitnessFor(e,s){return this.request("GET",`/witness/${e}/signer/${s}`)}async getWitnessForSapient(e,s,r){return this.request("GET",`/witness/sapient/${e}/${s}/${r}`)}async getConfigurationUpdates(e,s,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${s}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,s){await this.request("POST","/wallet",{deployConfiguration:e,context:s});}async saveWitnesses(e,s,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:s,payload:r,signatures:n});}async saveUpdate(e,s,r){await this.request("POST","/update",{wallet:e,configuration:s,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,s){return this.request("POST","/deploy",{imageHash:e,context:s})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,s,r){return this.request("POST","/payload",{wallet:e,payload:s,chainId:r})}};d();h();var P2=class{args;constructor(e){this.args=e;}async getConfiguration(e){let s=await this.args.cache.getConfiguration(e);if(s)return s;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let s=await this.args.cache.getDeploy(e);if(s)return s;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let s=Or(await this.args.cache.getWallets(e)),r=Or(await this.args.source.getWallets(e)),n={...s,...r};for(let[i,a]of Object.entries(n))j.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),s[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,s){let r=await this.args.cache.getWalletsForSapient(e,s),n=await this.args.source.getWalletsForSapient(e,s),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=j.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,s){let r=await this.args.cache.getWitnessFor(e,s);if(r)return r;let n=await this.args.source.getWitnessFor(e,s);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,s,r){let n=await this.args.cache.getWitnessForSapient(e,s,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,s,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,s,r){return this.args.source.getConfigurationUpdates(e,s,r)}async getTree(e){let s=await this.args.cache.getTree(e);if(s)return s;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,s){return this.args.source.saveWallet(e,s)}saveWitnesses(e,s,r,n){return this.args.source.saveWitnesses(e,s,r,n)}saveUpdate(e,s,r){return this.args.source.saveUpdate(e,s,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,s){return this.args.source.saveDeploy(e,s)}async getPayload(e){let s=await this.args.cache.getPayload(e);if(s)return s;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,s,r){return this.args.source.savePayload(e,s,r)}};var _h={};Ne(_h,{Provider:()=>G2});d();h();d();h();var ED="Webrpc",xD="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var BN;(function(t){t.Transactions="Transactions",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.Digest="Digest";})(BN||(BN={}));var ot;(function(t){t.EIP712="EIP712",t.EthSign="EthSign",t.EIP1271="EIP1271",t.Sapient="Sapient",t.SapientCompact="SapientCompact";})(ot||(ot={}));var k1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}ping=(e,s)=>this.fetch(this.url("Ping"),_t({},e,s)).then(r=>Ht(r).then(n=>({})),r=>{throw Tt.new({cause:`fetch(): ${r.message||""}`})});config=(e,s,r)=>this.fetch(this.url("Config"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,config:i.config})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});tree=(e,s,r)=>this.fetch(this.url("Tree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});payload=(e,s,r)=>this.fetch(this.url("Payload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,s,r)=>this.fetch(this.url("Wallets"),_t(e,s,r)).then(n=>Ht(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,s,r)=>this.fetch(this.url("DeployHash"),_t(e,s,r)).then(n=>Ht(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});witness=(e,s,r)=>this.fetch(this.url("Witness"),_t(e,s,r)).then(n=>Ht(n).then(i=>({witness:i.witness})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,s,r)=>this.fetch(this.url("ConfigUpdates"),_t(e,s,r)).then(n=>Ht(n).then(i=>({updates:i.updates})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,s,r)=>this.fetch(this.url("Migrations"),_t(e,s,r)).then(n=>Ht(n).then(i=>({migrations:i.migrations})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,s,r)=>this.fetch(this.url("SaveConfig"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,s,r)=>this.fetch(this.url("SaveTree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,s,r)=>this.fetch(this.url("SavePayload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,s,r)=>this.fetch(this.url("SaveWallet"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,s,r)=>this.fetch(this.url("SaveSignature"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,s,r)=>this.fetch(this.url("SaveSignature2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures3"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,s,r)=>this.fetch(this.url("SaveMigration"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})})},_t=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[ED]=xD,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},Ht=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),B1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (AD[r]||ds).new(s)}return s}),ds=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},O2=class t extends ds{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},Tt=class t extends ds{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},R2=class t extends ds{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},L2=class t extends ds{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},D2=class t extends ds{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},B1=class t extends ds{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},V2=class t extends ds{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},U2=class t extends ds{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},_2=class t extends ds{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},H2=class t extends ds{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},j2=class t extends ds{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},M2=class t extends ds{constructor(e="InvalidArgument",s=1,r="invalid argument",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},$2=class t extends ds{constructor(e="NotFound",s=2,r="not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},PN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InvalidArgument="InvalidArgument",t.NotFound="NotFound";})(PN||(PN={}));var ON;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InvalidArgument=1]="InvalidArgument",t[t.NotFound=2]="NotFound";})(ON||(ON={}));var AD={0:O2,[-1]:Tt,[-2]:R2,[-3]:L2,[-4]:D2,[-5]:B1,[-6]:V2,[-7]:U2,[-8]:_2,[-9]:H2,[-10]:j2,1:M2,2:$2};var G2=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new k1(e,fetch);}async getConfiguration(e){let{version:s,config:r}=await this.service.config({imageHash:e});if(s!==3)throw new Error(`invalid configuration version ${s}, expected version 3`);return ND(r)}async getDeploy(e){let{deployHash:s,context:r}=await this.service.deployHash({wallet:e});return P.assert(s),j.assert(r.factory),j.assert(r.mainModule),j.assert(r.mainModuleUpgradable),P.assert(r.walletCreationCode),{imageHash:s,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let s=await this.service.wallets({signer:e}),r=Or(s.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(j.assert(n),P.assert(i.signature),i.type){case ot.EIP712:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"hash",...Gt.from(i.signature)}}];case ot.EthSign:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"eth_sign",...Gt.from(i.signature)}}];case ot.EIP1271:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case ot.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,s){let r=await this.service.wallets({signer:e,sapientHash:s}),n=Or(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(j.assert(i),P.assert(a.signature),a.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case ot.Sapient:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case ot.SapientCompact:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,s){try{let{witness:r}=await this.service.witness({signer:s,wallet:e});switch(P.assert(r.signature),r.type){case ot.EIP712:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"hash",...Gt.from(r.signature)}};case ot.EthSign:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"eth_sign",...Gt.from(r.signature)}};case ot.EIP1271:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"erc1271",address:s,data:r.signature}};case ot.Sapient:throw new Error(`unexpected sapient signature by ${s}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${s}`)}}catch{}}async getWitnessForSapient(e,s,r){try{let{witness:n}=await this.service.witness({signer:s,wallet:e,sapientHash:r});switch(P.assert(n.signature),n.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${s}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${s}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${s}`);case ot.Sapient:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient",address:s,data:n.signature}};case ot.SapientCompact:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient_compact",address:s,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,s,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:s,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{P.assert(i),P.assert(a);let o=ts.decodeSignature(P.toBytes(a)),{configuration:c}=await ts.recover(o,e,0,Te.fromConfigUpdate(i),{provider:CD});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:s,tree:r}=await this.service.tree({imageHash:e});if(s!==3)throw new Error(`invalid tree version ${s}, expected version 3`);return DN(r)}async getPayload(e){let{version:s,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(s!==3)throw new Error(`invalid payload version ${s}, expected version 3`);return j.assert(n),{payload:dr(r),wallet:n,chainId:Number(i)}}async saveWallet(e,s){await this.service.saveWallet({version:3,deployConfig:F2(e),context:{version:3,factory:s.factory,mainModule:s.stage1,mainModuleUpgradable:s.stage2,guestModule:yt.DefaultGuestAddress,walletCreationCode:s.creationCode}});}async saveWitnesses(e,s,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:K2(r),chainID:s.toString(),signatures:Uh(n).map(i=>{switch(i.type){case"hash":return {type:ot.EIP712,signature:Gt.toHex(Gt.from(i))};case"eth_sign":return {type:ot.EthSign,signature:Gt.toHex(Gt.from(i))};case"erc1271":return {type:ot.EIP1271,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient":return {type:ot.Sapient,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient_compact":return {type:ot.SapientCompact,signer:i.address,signature:i.data,referenceChainID:s.toString()}}})});}async saveUpdate(e,s,r){await this.service.saveSignature2({wallet:e,payload:K2(Te.fromConfigUpdate(f.toHex(Ye.hashConfiguration(s)))),chainID:"0",signature:f.toHex(ts.encodeSignature(r)),toConfig:F2(s)});}async saveTree(e){await this.service.saveTree({version:3,tree:LN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:F2(e)});}async saveDeploy(e,s){}async savePayload(e,s,r){await this.service.savePayload({version:3,payload:K2(s),wallet:e,chainID:r.toString()});}},ID=[qe.Dev1.passkeys,qe.Dev2.passkeys,qe.Rc3.passkeys,qe.Rc4.passkeys,qe.Rc5.passkeys].map(j.checksum),RN="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",q2=me.from(RN),W2=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let s=e.params[0];if(!s.data?.startsWith(me.getSelector(q2)))throw new Error(`unknown selector ${s.data?.slice(0,10)}, expected selector ${me.getSelector(q2)} for ${RN}`);if(!ID.includes(s.to?j.checksum(s.to):"0x"))throw new Error(`unknown passkey signer ${s.to}`);let[r,n]=me.decodeData(q2,s.data),i=qe.Passkeys.decode(P.toBytes(n));if(qe.Passkeys.isValidSignature(r,i))return qe.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},CD=new W2;function F2(t){return {threshold:Rr(t.threshold),checkpoint:Rr(t.checkpoint),checkpointer:t.checkpointer,tree:P1(t.topology)}}function ND(t){return t.checkpointer!==void 0&&j.assert(t.checkpointer),{threshold:BigInt(t.threshold),checkpoint:BigInt(t.checkpoint),checkpointer:t.checkpointer,topology:O1(t.tree)}}function P1(t){if(Ye.isNode(t))return [P1(t[0]),P1(t[1])];if(Ye.isSignerLeaf(t))return {weight:Rr(t.weight),address:t.address};if(Ye.isSapientSignerLeaf(t))return {weight:Rr(t.weight),address:t.address,imageHash:t.imageHash};if(Ye.isSubdigestLeaf(t))return {subdigest:t.digest};if(Ye.isAnyAddressSubdigestLeaf(t))return {subdigest:t.digest,isAnyAddress:!0};if(Ye.isNestedLeaf(t))return {weight:Rr(t.weight),threshold:Rr(t.threshold),tree:P1(t.tree)};if(Ye.isNodeLeaf(t))return t;throw new Error(`unknown topology '${JSON.stringify(t)}'`)}function O1(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return [O1(t[0]),O1(t[1])];if("weight"in t){if("address"in t)return j.assert(t.address),t.imageHash?(P.assert(t.imageHash),{type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash}):{type:"signer",address:t.address,weight:BigInt(t.weight)};if("tree"in t)return {type:"nested",weight:BigInt(t.weight),threshold:BigInt(t.threshold),tree:O1(t.tree)}}if("subdigest"in t)return P.assert(t.subdigest),{type:t.isAnyAddress?"any-address-subdigest":"subdigest",digest:t.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(t)}'`)}function K2(t){if(Te.isCalls(t))return {type:"call",space:Rr(t.space),nonce:Rr(t.nonce),calls:t.calls.map(TD)};if(Te.isMessage(t))return {type:"message",message:t.message};if(Te.isConfigUpdate(t))return {type:"config-update",imageHash:t.imageHash};if(Te.isDigest(t))return {type:"digest",digest:t.digest};throw new Error(`unknown payload '${JSON.stringify(t)}'`)}function dr(t){switch(t.type){case"call":return {type:"call",space:BigInt(t.space),nonce:BigInt(t.nonce),calls:t.calls.map(kD)};case"message":return P.assert(t.message),{type:"message",message:t.message};case"config-update":return P.assert(t.imageHash),{type:"config-update",imageHash:t.imageHash};case"digest":return P.assert(t.digest),{type:"digest",digest:t.digest}}}function TD(t){return {to:t.to,value:Rr(t.value),data:t.data,gasLimit:Rr(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function kD(t){return j.assert(t.to),P.assert(t.data),{to:t.to,value:BigInt(t.value),data:t.data,gasLimit:BigInt(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function LN(t){if($s.isBranch(t))return t.map(LN);if($s.isLeaf(t))return {data:f.toHex(t.value)};if($s.isNode(t))return t;throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function DN(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return t.map(DN);if("data"in t)return P.assert(t.data),{type:"leaf",value:P.toBytes(t.data)}}throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function Rr(t){return t<Number.MIN_SAFE_INTEGER||t>Number.MAX_SAFE_INTEGER?t.toString():Number(t)}function Uh(t){if(ts.isRawNode(t))return [...Uh(t[0]),...Uh(t[1])];if(ts.isRawSignerLeaf(t))return [t.signature];if(Ye.isNestedLeaf(t))return Uh(t.tree);if(ts.isRawNestedLeaf(t))return Uh(t.tree);if(Ye.isSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSapientSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSubdigestLeaf(t))return [];if(Ye.isAnyAddressSubdigestLeaf(t))return [];if(Ye.isNodeLeaf(t))return [];throw new Error(`unknown topology '${JSON.stringify(t)}'`)}d();h();function BD(t,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?P.fromBytes(e):e}function R1(t){return JSON.stringify(t,BD,2)}function L1(t){if(typeof t=="bigint")return t.toString();if(t instanceof Uint8Array)return P.fromBytes(t);if(typeof t=="string")return t.toLowerCase();if(Array.isArray(t))return t.map(L1);if(t&&typeof t=="object"){let e=[];for(let s of Object.keys(t).filter(r=>t[r]!==void 0).sort())e.push([s.toLowerCase(),L1(t[s])]);return e}return t}function PD(t,e){return JSON.stringify(L1(t))===JSON.stringify(L1(e))}function OD(t,e){let s={get(r,n,i){let a=t[n];return typeof a!="function"?Reflect.get(t,n):async(...o)=>{let c=String(n),u=R1(o),l;try{l=await a.apply(t,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
- [${E}] warning: reference ${c} threw:`,w),w}let p=R1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let S=E[n];if(typeof S!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
347
+ `),hs(t.tree),f.padLeft(f.fromNumber(t.threshold),32),f.padLeft(f.fromNumber(t.weight),32)));if(Dt(t))return he.keccak256(f.concat(hs(t[0]),hs(t[1])));throw new Error("Invalid topology")}function uE(t){if(t.length===0)throw new Error("Cannot create topology from empty leaves");return t.length===1?t[0]:t.length===2?[t[0],t[1]]:[uE(t.slice(0,t.length/2)),uE(t.slice(t.length/2))]}function Qg(t){return Dt(t)?[...Qg(t[0]),...Qg(t[1])]:As(t)?[...Qg(t.tree)]:[t]}function nL(t){return JSON.stringify({threshold:t.threshold.toString(),checkpoint:t.checkpoint.toString(),topology:e1(t.topology),checkpointer:t.checkpointer})}function iL(t){let e=JSON.parse(t);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:t1(e.topology)}}function e1(t){if(Dt(t))return [e1(t[0]),e1(t[1])];if(ls(t))return {type:"signer",address:t.address,weight:t.weight.toString()};if(fs(t))return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};if(ir(t))return {type:"subdigest",digest:t.digest};if(ar(t))return {type:"any-address-subdigest",digest:t.digest};if(Jt(t))return t;if(As(t))return {type:"nested",tree:e1(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};throw new Error("Invalid topology")}function t1(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid node structure in JSON");return [t1(t[0]),t1(t[1])]}if(typeof t=="string")return t;switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:t1(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};default:throw new Error("Invalid type in topology JSON")}}function aL(t){return t instanceof Promise?{signature:t}:typeof t=="object"&&t&&"signature"in t&&t.signature instanceof Promise?t:{signature:Promise.resolve(t)}}function r1(t,e){if(Dt(t)&&Dt(e))return [r1(t[0],e[0]),r1(t[1],e[1])];if(Dt(t)&&!Dt(e)){if(!Jt(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(e);if(!f.isEqual(s,hs(t)))throw new Error("Topology mismatch: node hash does not match");return t}if(!Dt(t)&&Dt(e)){if(!Jt(t))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(t);if(!f.isEqual(s,hs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return cL(t,e)}function fu(t){return hu(t)?t.threshold>65535n||t.checkpoint>72057594037927935n||fu(t.topology):Dt(t)?fu(t[0])||fu(t[1]):As(t)?fu(t.tree)||t.weight>255n||t.threshold>65535n:ls(t)||fs(t)?t.weight>255n:!1}function Eh(t){return Dt(t)?Math.max(Eh(t[0]),Eh(t[1]))+1:As(t)?Eh(t.tree)+1:0}function oL(t){if(t.threshold===0n)throw new Error("unsafe-threshold-0");if(fu(t))throw new Error("unsafe-invalid-values");if(Eh(t.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=vh(t.topology,()=>!0);if(e<t.threshold)throw new Error("unsafe-threshold")}function cL(t,e){if(Jt(t)&&Jt(e)){if(!P.isEqual(t,e))throw new Error("Topology mismatch: different node leaves");return t}if(Jt(t)&&!Jt(e)){let s=hs(e);if(!f.isEqual(s,f.fromHex(t)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Jt(t)&&Jt(e)){let s=hs(t);if(!f.isEqual(s,f.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return t}if(ls(t)&&ls(e)){if(t.address!==e.address||t.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return t}if(fs(t)&&fs(e)){if(t.address!==e.address||t.weight!==e.weight||t.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return t}if(ir(t)&&ir(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return t}if(ar(t)&&ar(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return t}if(As(t)&&As(e)){if(t.weight!==e.weight||t.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let s=r1(t.tree,e.tree);return {type:"nested",weight:t.weight,threshold:t.threshold,tree:s}}throw new Error("Topology mismatch: incompatible leaf types")}function s1(t,e,s){return Dt(t)?[s1(t[0],e,s),s1(t[1],e,s)]:As(t)?{...t,tree:s1(t.tree,e,s)}:(ls(t)||fs(t))&&j.isEqual(t.address,e)?{...t,address:s}:t}function uL(t,e){let s=t instanceof Uint8Array?t:hs(t);return f.toHex(he.keccak256(f.concat(f.from("0xff"),f.from(e.factory),s,he.keccak256(f.concat(f.from(e.creationCode),f.padLeft(f.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var Wt={};Ne(Wt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>PC,decode:()=>lL,decodeAuthData:()=>TC,encode:()=>CC,encodeAuthData:()=>NC,encodeForJson:()=>kC,fromJson:()=>dL,fromParsed:()=>BC,generateImplicitRequestMagic:()=>mL,hash:()=>fL,toJson:()=>hL});d();h();function CC(t){let e=NC(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function NC(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function lL(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=TC(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function TC(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function fL(t){return he.keccak256(CC(t))}function hL(t,e){return JSON.stringify(kC(t),null,e)}function kC(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function dL(t){return BC(JSON.parse(t))}function BC(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var PC=he.keccak256(f.fromString("acceptImplicitRequest"));function mL(t,e){return he.keccak256(f.concat(PC,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}var cn={};Ne(cn,{MASK:()=>pL,MAX_PERMISSIONS_COUNT:()=>n1,MAX_RULES_COUNT:()=>OC,ParameterOperation:()=>lE,abiEncodePermission:()=>bL,decodeSessionPermissions:()=>i1,encodePermission:()=>RC,encodeSessionPermissions:()=>xh,encodeSessionPermissionsForJson:()=>a1,parameterRuleToJson:()=>EL,permissionFromJson:()=>AL,permissionStructAbi:()=>LC,permissionToJson:()=>vL,sessionPermissionsFromJson:()=>xL,sessionPermissionsFromParsed:()=>o1,sessionPermissionsToJson:()=>SL});d();h();var lE;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(lE||(lE={}));var n1=2**7-1,OC=2**8-1,pL={SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)};function xh(t){if(t.permissions.length>n1)throw new Error("Too many permissions");let e=t.permissions.map(RC);return f.concat(f.padLeft(f.fromHex(t.signer),20),f.padLeft(f.fromNumber(t.chainId),32),f.padLeft(f.fromNumber(t.valueLimit),32),f.padLeft(f.fromNumber(t.deadline,{size:8}),8),f.fromNumber(t.permissions.length,{size:1}),f.concat(...e))}function RC(t){if(t.rules.length>OC)throw new Error("Too many rules");let e=t.rules.map(gL);return f.concat(f.padLeft(f.fromHex(t.target),20),f.fromNumber(t.rules.length,{size:1}),f.concat(...e))}function gL(t){let e=Number(t.operation)<<1|(t.cumulative?1:0);return f.concat(f.fromNumber(e),f.padLeft(t.value,32),f.padLeft(f.fromNumber(t.offset),32),f.padLeft(t.mask,32))}function i1(t){let e=f.toHex(t.slice(0,20)),s=f.toNumber(t.slice(20,52)),r=f.toBigInt(t.slice(52,84)),n=f.toBigInt(t.slice(84,92)),i=Number(t[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=yL(t.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:s,valueLimit:r,deadline:n,permissions:a}}function yL(t){let e=f.toHex(t.slice(0,20)),s=Number(t[20]),r=[],n=21;for(let i=0;i<s;i++){let a=t.slice(n,n+97);r.push(wL(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function wL(t){let e=Number(t[0]),s=(e&1)===1,r=e>>1,n=t.slice(1,33),i=f.toBigInt(t.slice(33,65)),a=t.slice(65,97);return {cumulative:s,operation:r,value:n,offset:i,mask:a}}var LC={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function bL(t){return mt.encode([LC],[{target:t.target,rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.toHex(e.value),offset:e.offset,mask:f.toHex(e.mask)}))}])}function SL(t){return JSON.stringify(a1(t))}function a1(t){return {signer:t.signer.toString(),chainId:t.chainId.toString(),valueLimit:t.valueLimit.toString(),deadline:t.deadline.toString(),permissions:t.permissions.map(DC)}}function vL(t){return JSON.stringify(DC(t))}function DC(t){return {target:t.target.toString(),rules:t.rules.map(VC)}}function EL(t){return JSON.stringify(VC(t))}function VC(t){return {cumulative:t.cumulative,operation:t.operation,value:f.toHex(t.value),offset:t.offset.toString(),mask:f.toHex(t.mask)}}function xL(t){return o1(JSON.parse(t))}function o1(t){return {signer:j.from(t.signer),chainId:Number(t.chainId),valueLimit:BigInt(t.valueLimit),deadline:BigInt(t.deadline),permissions:t.permissions.map(UC)}}function AL(t){return UC(JSON.parse(t))}function UC(t){return {target:j.from(t.target),rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.fromHex(e.value),offset:BigInt(e.offset),mask:f.fromHex(e.mask)}))}}d();h();var Js={};Ne(Js,{SESSIONS_FLAG_BLACKLIST:()=>mu,SESSIONS_FLAG_BRANCH:()=>hE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>Ch,SESSIONS_FLAG_NODE:()=>fE,SESSIONS_FLAG_PERMISSIONS:()=>Ih,addExplicitSession:()=>PL,addIdentitySigner:()=>RL,addToImplicitBlacklist:()=>LL,balanceSessionsTopology:()=>kh,cleanSessionsTopology:()=>zC,configurationTreeToSessionsTopology:()=>qC,decodeLeafFromBytes:()=>$C,decodeSessionsTopology:()=>pE,emptySessionsTopology:()=>YC,encodeLeafToGeneric:()=>Ah,encodeSessionsTopology:()=>f1,getExplicitSigners:()=>NL,getIdentitySigners:()=>Nh,getImplicitBlacklist:()=>CL,getImplicitBlacklistLeaf:()=>Th,getSessionPermissions:()=>l1,isCompleteSessionsTopology:()=>mE,isSessionsTopology:()=>dE,mergeSessionsTopologies:()=>yE,minimiseSessionsTopology:()=>h1,removeExplicitSession:()=>BL,removeFromImplicitBlacklist:()=>DL,removeIdentitySigner:()=>OL,sessionsTopologyFromJson:()=>kL,sessionsTopologyToConfigurationTree:()=>FC,sessionsTopologyToJson:()=>TL});d();h();var $s={};Ne($s,{hash:()=>or,isBranch:()=>Ms,isLeaf:()=>ai,isNode:()=>Vt,isTree:()=>_C});d();h();function Ms(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>_C(e))}function ai(t){return t.type==="leaf"&&f.validate(t.value)}function _C(t){return Ms(t)||ai(t)||Vt(t)}function Vt(t){return P.validate(t)&&P.size(t)===32}function or(t){if(Ms(t)){let e=t.map(or);if(e.length===0)throw new Error("Empty branch");let s=P.toBytes(e[0]);for(let r=1;r<e.length;r++)s=he.keccak256(f.concat(s,P.toBytes(e[r])));return P.fromBytes(s)}return Vt(t)?t:he.keccak256(t.value,{as:"Hex"})}var Ih=0,fE=1,hE=2,mu=3,Ch=4,HC=32;function Br(t){return P.validate(t)&&P.size(t)===HC}function cr(t){return typeof t=="object"&&t!==null&&"blacklist"in t}function ur(t){return typeof t=="object"&&t!==null&&"identitySigner"in t}function lr(t){return typeof t=="object"&&t!==null&&"signer"in t}function c1(t){return cr(t)||ur(t)||lr(t)}function fr(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>dE(e))}function dE(t){return fr(t)||c1(t)||Br(t)}function mE(t){if(!dE(t))return !1;let{identitySignerCount:e,blacklistCount:s}=jC(t);return e>=1&&s===1}function jC(t){let e=0,s=0;if(fr(t))for(let r of t){let{identitySignerCount:n,blacklistCount:i}=jC(r);e+=n,s+=i;}return ur(t)&&e++,cr(t)&&s++,{identitySignerCount:e,blacklistCount:s}}function Nh(t){return ur(t)?[t.identitySigner]:fr(t)?t.map(Nh).flat():[]}function CL(t){let e=Th(t);return e?e.blacklist:null}function Th(t){if(cr(t))return t;if(fr(t)){let e=t.map(Th).filter(s=>s!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function l1(t,e){if(lr(t)&&j.isEqual(t.signer,e))return t;if(fr(t))for(let s of t){let r=l1(s,e);if(r)return r}return null}function NL(t){return MC(t,[])}function MC(t,e){if(lr(t))return [...e,t.signer];if(fr(t)){let s=[...e];for(let r of t)s.push(...MC(r,e));return s}return e}function Ah(t){if(lr(t))return {type:"leaf",value:f.concat(f.fromNumber(Ih),xh(t))};if(cr(t))return {type:"leaf",value:f.concat(f.fromNumber(mu),f.concat(...t.blacklist.map(e=>f.padLeft(f.fromHex(e),20))))};if(ur(t))return {type:"leaf",value:f.concat(f.fromNumber(Ch),f.padLeft(f.fromHex(t.identitySigner),20))};throw new Error("Invalid leaf")}function $C(t){let e=t[0];if(e===mu){let s=[];for(let r=1;r<t.length;r+=20)s.push(f.toHex(t.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:s}}if(e===Ch)return {type:"identity-signer",identitySigner:f.toHex(t.slice(1,21))};if(e===Ih)return {type:"session-permissions",...i1(t.slice(1))};throw new Error("Invalid leaf")}function FC(t){if(fr(t))return t.map(FC);if(cr(t)||ur(t)||lr(t))return Ah(t);if(Br(t))return t;throw new Error("Invalid topology")}function qC(t){if(Ms(t))return t.map(qC);if(Vt(t))throw new Error("Unknown in configuration tree");return $C(t.value)}function f1(t){if(fr(t)){let e=[];for(let i of t)e.push(f1(i));let s=f.concat(...e),r=js(BigInt(s.length));if(r>15)throw new Error("Branch too large");let n=hE<<4|r;return f.concat(f.fromNumber(n),f.padLeft(f.fromNumber(s.length),r),s)}if(lr(t)){let e=Ih<<4,s=xh(t);return f.concat(f.fromNumber(e),s)}if(Br(t)){let e=fE<<4;return f.concat(f.fromNumber(e),P.toBytes(t))}if(cr(t)){let e=f.concat(...t.blacklist.map(r=>f.fromHex(r)));if(t.blacklist.length>=15){if(t.blacklist.length>65535)throw new Error("Blacklist too large");return f.concat(f.fromNumber(mu<<4|15),f.fromNumber(t.blacklist.length,{size:2}),e)}let s=mu<<4|t.blacklist.length;return f.concat(f.fromNumber(s),e)}if(ur(t)){let e=Ch<<4;return f.concat(f.fromNumber(e),f.padLeft(f.fromHex(t.identitySigner),20))}throw new Error("Invalid topology")}function pE(t){let{topology:e}=GC(t);return e}function GC(t){if(t.length===0)throw new Error("Empty topology bytes");let e=t[0],s=(e&240)>>4,r=e&15;if(s===hE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=f.toNumber(t.slice(n,n+r));n+=r;let a=t.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=GC(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(s===Ih){let n=i1(t.slice(1)),i=1+xh(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(s===fE){let n=HC+1;if(t.length<n)throw new Error("Invalid node length");return {topology:P.fromBytes(t.slice(1,n)),pointer:n}}else if(s===mu){let n=1,i=r;r===15&&(i=f.toNumber(t.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=t.slice(n+o*20,n+(o+1)*20);a.push(j.from(P.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(s===Ch){if(t.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:j.from(P.fromBytes(t.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${s}`)}function TL(t){return JSON.stringify(KC(t))}function KC(t){if(Br(t))return t;if(lr(t))return a1(t);if(cr(t)||ur(t))return t;if(fr(t))return t.map(e=>KC(e));throw new Error("Invalid topology")}function kL(t){let e=JSON.parse(t);return WC(e)}function WC(t){if(Array.isArray(t))return t.map(s=>WC(s));if(typeof t=="string"&&P.validate(t)&&P.size(t)===32)return t;if(typeof t=="object"&&t!==null&&"signer"in t&&"valueLimit"in t&&"deadline"in t&&"permissions"in t)return {type:"session-permissions",...o1(t)};if(typeof t=="object"&&t!==null&&"identitySigner"in t)return {type:"identity-signer",identitySigner:t.identitySigner};if(typeof t=="object"&&t!==null&&"blacklist"in t)return {type:"implicit-blacklist",blacklist:t.blacklist.map(s=>j.from(s))};throw new Error("Invalid topology")}function gE(t,e){if(c1(t)&&c1(e)){if(t.type===e.type){if(lr(t)&&lr(e)){if(j.isEqual(t.signer,e.signer))return null}else if(cr(t)&&cr(e)){let s=t.blacklist.filter(r=>!e.blacklist.includes(r));return s.length===0?null:{type:"implicit-blacklist",blacklist:s}}else if(ur(t)&&ur(e)&&j.isEqual(t.identitySigner,e.identitySigner))return null}}else if(Br(t)&&Br(e)&&P.isEqual(t,e))return null;if(fr(t)){let s=[];for(let r of t){let n=gE(r,e);n!=null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}return t}function BL(t,e){let s=l1(t,e);if(!s)return t;let r=gE(t,s);return r?kh(r):null}function PL(t,e){if(l1(t,e.signer))throw new Error("Session already exists");let s=yE(t,{type:"session-permissions",...e});return kh(s)}function OL(t,e){let r=gE(t,{type:"identity-signer",identitySigner:e});return r?kh(r):null}function RL(t,e){if(Nh(t).some(r=>j.isEqual(r,e)))throw new Error("Identity signer already exists");let s=yE(t,{type:"identity-signer",identitySigner:e});return kh(s)}function yE(t,e){return [t,e]}function JC(t){if(c1(t)||Br(t))return [t];let e=[];for(let s of t)e.push(...JC(s));return e}function u1(t){if(t.length===1)return t[0];if(t.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(t.length/2),s=t.slice(0,e),r=t.slice(e),n=u1(s),i=u1(r);return [n,i]}function kh(t){return u1(JC(t))}function zC(t,e=BigInt(Math.floor(Date.now()/1e3))){if(Br(t))return t;if(lr(t))return t.deadline<e?null:t;if(ur(t)||cr(t))return t;let s=[];for(let r of t){let n=zC(r,e);n!==null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}function h1(t,e=[],s=[],r){if(fr(t)){let n=t.map(i=>h1(i,e,s,r));return n.every(i=>Br(i))?he.keccak256(f.concat(...n.map(i=>P.toBytes(i))),{as:"Hex"}):n}if(lr(t))return e.includes(t.signer)?t:or(Ah(t));if(cr(t))return s.length===0?or(Ah(t)):t;if(ur(t))return r&&!j.isEqual(t.identitySigner,r)?or(Ah(t)):t;if(Br(t))return t;throw new Error("Invalid topology")}function LL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s;return r.some(n=>j.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),t}function DL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s,n=r.filter(i=>i!==e);return s.blacklist=n,t}function YC(t){if(!Array.isArray(t))return YC([t]);let e=[{type:"implicit-blacklist",blacklist:[]},...t.map(s=>({type:"identity-signer",identitySigner:s}))];return u1(e)}var oi={};Ne(oi,{decodeSessionSignature:()=>HL,encodeSessionCallSignatureForJson:()=>ZC,encodeSessionSignature:()=>_L,hashPayloadWithCallIdx:()=>jL,isExplicitSessionCallSignature:()=>SE,isImplicitSessionCallSignature:()=>d1,sessionCallSignatureFromJson:()=>UL,sessionCallSignatureFromParsed:()=>XC,sessionCallSignatureToJson:()=>VL});d();h();function d1(t){return "attestation"in t&&"identitySignature"in t&&"sessionSignature"in t}function SE(t){return "permissionIndex"in t&&"sessionSignature"in t}function VL(t){return JSON.stringify(ZC(t))}function ZC(t){if(d1(t))return {attestation:Wt.encodeForJson(t.attestation),identitySignature:wE(t.identitySignature),sessionSignature:wE(t.sessionSignature)};if(SE(t))return {permissionIndex:t.permissionIndex,sessionSignature:wE(t.sessionSignature)};throw new Error("Invalid call signature")}function UL(t){let e=JSON.parse(t);return XC(e)}function XC(t){if(t.attestation)return {attestation:Wt.fromParsed(t.attestation),identitySignature:bE(t.identitySignature),sessionSignature:bE(t.sessionSignature)};if(t.permissionIndex)return {permissionIndex:t.permissionIndex,sessionSignature:bE(t.sessionSignature)};throw new Error("Invalid call signature")}function wE(t){return `${t.r.toString()}:${t.s.toString()}:${t.yParity+27}`}function bE(t){let e=t.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[s,r,n]=e;if(!s||!r||!n)throw new Error("Invalid signature format");return {r:f.toBigInt(f.fromHex(s,{size:32})),s:f.toBigInt(f.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function _L(t,e,s,r=[],n=[]){let i=[];if(!mE(e))throw new Error("Incomplete topology");if(!Nh(e).some(l=>j.isEqual(l,s)))throw new Error("Identity signer not found");e=h1(e,r,n,s);let o=f1(e);if(js(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(f.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(t.filter(d1).forEach(l=>{if(l.attestation){let p=Wt.toJson(l.attestation);c.has(p)||(c.set(p,u.length),u.push(f.concat(Wt.encode(l.attestation),on(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(f.fromNumber(u.length,{size:1}),f.concat(...u));for(let l of t)if(d1(l)){let p=Wt.toJson(l.attestation),w=c.get(p);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(f.fromNumber(E,{size:1}),on(l.sessionSignature));}else if(SE(l)){if(l.permissionIndex>n1)throw new Error("Permission index is too large");let p=l.permissionIndex;i.push(f.fromNumber(p,{size:1}),on(l.sessionSignature));}else throw new Error("Invalid call signature");return f.concat(...i)}function HL(t){let e=0,s=f.toNumber(t.slice(e,e+3));e+=3;let r=t.slice(e,e+s);e+=s;let n=pE(r),i=f.toNumber(t.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=Wt.decode(t.slice(e));e+=Wt.encode(l).length,a.push(l);let p=za(t.slice(e,e+64));e+=64,o.push(p);}let c=[];for(;e<t.length;){let u=t[e];e+=1;let l=za(t.slice(e,e+64));if(e+=64,u&128){let p=u&127;if(p>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[p],identitySignature:o[p],sessionSignature:l});}else {let p=u;c.push({permissionIndex:BigInt(p),sessionSignature:l});}}return {topology:n,callSignatures:c}}function jL(t,e,s,r,n){if(n&&(j.isEqual(n,Fe.Dev1.sessions)||j.isEqual(n,Fe.Dev2.sessions)||j.isEqual(n,Fe.Rc3.sessions))){let c=e.calls[s],u=!j.isEqual(n,Fe.Rc3.sessions);return P.fromBytes(he.keccak256(f.concat(f.fromNumber(r,{size:32}),f.fromNumber(e.space,{size:32}),f.fromNumber(e.nonce,{size:32}),u?f.from([]):f.fromNumber(s,{size:32}),f.fromHex(Te.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=Te.hash(t,r,e);return e.parentWallets=a,P.fromBytes(he.keccak256(f.concat(o,f.fromNumber(s,{size:32}))))}var Za={};Ne(Za,{Dev1:()=>QC,Dev2:()=>eN,Dev2_4337:()=>tN,KnownContexts:()=>ML,Rc3:()=>sN,Rc3_4337:()=>rN,Rc4:()=>nN,Rc4_4337:()=>iN,Rc5:()=>aN,Rc5_4337:()=>oN,isKnownContext:()=>$L});d();h();var QC={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},eN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},tN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},sN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},rN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},nN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},iN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},aN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},oN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},ML=[{name:"Dev1",development:!0,...QC},{name:"Dev2",development:!0,...eN},{name:"Dev2_4337",development:!0,...tN},{name:"Rc3",development:!0,...sN},{name:"Rc3_4337",development:!0,...rN},{name:"Rc4",development:!1,...nN},{name:"Rc4_4337",development:!1,...iN},{name:"Rc5",development:!1,...aN},{name:"Rc5_4337",development:!1,...oN}];function $L(t){return t.name!==void 0&&t.development!==void 0}var Fe={};Ne(Fe,{Dev1:()=>sD,Dev2:()=>rD,Passkeys:()=>EE,Rc3:()=>nD,Rc4:()=>iD,Rc5:()=>aD,Recovery:()=>LE});d();h();var EE={};Ne(EE,{decode:()=>WL,encode:()=>GL,fromTree:()=>FL,isValidSignature:()=>KL,metadataNode:()=>cN,metadataTree:()=>vE,rootFor:()=>qL,toTree:()=>uN});d();h();function vE(t){return typeof t=="object"?{type:"leaf",value:f.fromString(t.credentialId)}:t}function cN(t){return or(vE(t))}function uN(t){let e=P.padLeft(t.x,32),s=P.padLeft(t.y,32),r=P.padLeft(t.requireUserVerification?"0x01":"0x00",32);return t.metadata?[[e,s],[r,vE(t.metadata)]]:[[e,s],[r,P.padLeft("0x00",32)]]}function FL(t){if(!Ms(t)||t.length!==2)throw new Error("Invalid tree");let[e,s]=t;if(!Ms(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Vt(r))throw new Error("Invalid x bytes");if(!Vt(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ms(s)){if(s.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=s;if(!Vt(o))throw new Error("Invalid c bytes");if(i=P.toBytes(o)[31]===1,Ms(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,p]=c;if(!ai(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ms(p)||p.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,v]=p;if(!ai(E)||!ai(v))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Vt(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Vt(s))throw new Error("Invalid c bytes");i=P.toBytes(s)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function qL(t){return or(uN(t))}function GL(t){let e=t.clientDataJSON.indexOf('"challenge"'),s=t.clientDataJSON.indexOf('"type"'),r=t.authenticatorData.length,n=t.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=s<=255?1:2,u=0;u|=t.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,t.embedMetadata&&(u|=64);let l=f.from([u]);if(t.embedMetadata){if(!t.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=f.concat(l,P.toBytes(cN(t.publicKey.metadata)));}return l=f.concat(l,f.padLeft(f.fromNumber(r),i)),l=f.concat(l,t.authenticatorData),l=f.concat(l,f.padLeft(f.fromNumber(t.clientDataJSON.length),a)),l=f.concat(l,f.from(new TextEncoder().encode(t.clientDataJSON))),l=f.concat(l,f.padLeft(f.fromNumber(e),o)),l=f.concat(l,f.padLeft(f.fromNumber(s),c)),l=f.concat(l,f.padLeft(t.r,32)),l=f.concat(l,f.padLeft(t.s,32)),l=f.concat(l,f.fromHex(t.publicKey.x)),l=f.concat(l,f.fromHex(t.publicKey.y)),l}function KL(t,e){return ii.verify({challenge:t,publicKey:{x:P.toBigInt(e.publicKey.x),y:P.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:P.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:f.toBigInt(e.r),s:f.toBigInt(e.s)}})}function WL(t){let e=0,s=t[0];if(e+=1,s===void 0)throw new Error("Invalid flags");let r=(s&1)!==0,n=(s>>1&1)+1,i=(s>>2&1)+1,a=(s>>3&1)+1,o=(s>>4&1)+1,c=(s>>6&1)===1;if(s&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let O=f.slice(t,e,e+32);u=P.fromBytes(O),e+=32;}let l=f.toNumber(f.slice(t,e,e+n));e+=n;let p=f.slice(t,e,e+l);e+=l;let w=f.toNumber(f.slice(t,e,e+i));e+=i;let E=f.slice(t,e,e+w);e+=w;let v=new TextDecoder().decode(E),I=f.toNumber(f.slice(t,e,e+a));e+=a;let C=f.toNumber(f.slice(t,e,e+o));e+=o;let D=f.slice(t,e,e+32);e+=32;let V=f.slice(t,e,e+32);e+=32;let B=f.slice(t,e,e+32);e+=32;let k=f.slice(t,e,e+32);return {publicKey:{requireUserVerification:r,x:P.fromBytes(B),y:P.fromBytes(k),metadata:u},r:D,s:V,authenticatorData:p,clientDataJSON:v,challengeIndex:I,typeIndex:C,embedMetadata:c}}var LE={};Ne(LE,{DOMAIN_NAME:()=>JL,DOMAIN_VERSION:()=>zL,FLAG_BRANCH:()=>OE,FLAG_NODE:()=>PE,FLAG_RECOVERY_LEAF:()=>BE,QUEUED_PAYLOAD_HASHES:()=>hN,QUEUE_PAYLOAD:()=>lN,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>fN,TOTAL_QUEUED_PAYLOADS:()=>dN,decodeTopology:()=>YL,encodeCalldata:()=>XL,encodeTopology:()=>NE,fromGenericTree:()=>kE,fromRecoveryLeaves:()=>TE,getRecoveryLeaves:()=>IE,hashConfiguration:()=>AE,hashRecoveryPayload:()=>ZL,isBranch:()=>Xa,isRecoveryLeaf:()=>pu,isTree:()=>xE,parseBranch:()=>RE,queuedPayloadHashOf:()=>eD,timestampForQueuedPayload:()=>tD,toGenericTree:()=>m1,totalQueuedPayloads:()=>QL,trimTopology:()=>CE});d();h();var BE=1,PE=3,OE=4,Bh=f.fromString(`Sequence recovery leaf:
348
+ `),lN=He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],fN=He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],hN=He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],dN=He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function pu(t){return typeof t=="object"&&t!==null&&t.type==="leaf"}function Xa(t){return Array.isArray(t)&&t.length===2&&xE(t[0])&&xE(t[1])}function xE(t){return pu(t)||Vt(t)||Xa(t)}var JL="Sequence Wallet - Recovery Mode",zL="1";function AE(t){return or(m1(t))}function IE(t){if(pu(t))return {leaves:[t],isComplete:!0};if(Vt(t))return {leaves:[],isComplete:!1};if(Xa(t)){let s=IE(t[0]),r=IE(t[1]);return {leaves:[...s.leaves,...r.leaves],isComplete:s.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function YL(t){let{nodes:e,leftover:s}=RE(t);if(s.length>0)throw new Error("Leftover bytes in branch");return mN(e)}function RE(t){if(t.length===0)throw new Error("Empty branch");let e=[],s=0;for(;s<t.length;){let r=t[s];if(r===BE){if(t.length<s+32)throw new Error("Invalid recovery leaf");let n=j.from(P.fromBytes(t.slice(s+1,s+21))),i=f.toBigInt(t.slice(s+21,s+24)),a=f.toBigInt(t.slice(s+24,s+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),s+=32;continue}else if(r===PE){if(t.length<s+33)throw new Error("Invalid node");let n=P.fromBytes(t.slice(s+1,s+33));e.push(n),s+=33;continue}else if(r===OE){if(t.length<s+4)throw new Error("Invalid branch");let n=f.toNumber(t.slice(s+1,s+4));if(t.length<s+4+n)throw new Error("Invalid branch");let i=t.slice(s+4,s+4+n),{nodes:a,leftover:o}=RE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=mN(a);e.push(c),s+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:t.slice(s)}}function CE(t,e){if(pu(t))return t.signer===e?t:AE(t);if(Vt(t))return t;if(Xa(t)){let s=CE(t[0],e),r=CE(t[1],e);return Vt(s)&&Vt(r)?AE(t):[s,r]}throw new Error("Invalid topology")}function NE(t){if(Xa(t)){let e=NE(t[0]),s=NE(t[1]);if(Xa(t[1])){if(s.length>16777215)throw new Error("Branch too large");let n=f.fromNumber(OE),i=f.padLeft(f.fromNumber(s.length),3);return f.concat(e,n,i,s)}else return f.concat(e,s)}if(Vt(t)){let e=f.fromNumber(PE),s=f.fromHex(t,{size:32});return f.concat(e,s)}if(pu(t)){let e=f.fromNumber(BE),s=f.fromHex(t.signer,{size:20});if(t.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=f.padLeft(f.fromNumber(t.requiredDeltaTime),3);if(t.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=f.padLeft(f.fromNumber(t.minTimestamp),8);return f.concat(e,s,r,n)}throw new Error("Invalid topology")}function mN(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function TE(t){if(t.length===0)throw new Error("Cannot build a tree with zero leaves");if(t.length===1)return t[0];let e=Math.floor(t.length/2),s=TE(t.slice(0,e)),r=TE(t.slice(e));return [s,r]}function ZL(t,e,s,r){let n=Kv(t);return P.fromBytes(cu(e,r?0:s,n))}function m1(t){if(pu(t))return {type:"leaf",value:f.concat(Bh,f.fromHex(t.signer,{size:20}),f.padLeft(f.fromNumber(t.requiredDeltaTime),32),f.padLeft(f.fromNumber(t.minTimestamp),32))};if(Vt(t))return t;if(Xa(t))return [m1(t[0]),m1(t[1])];throw new Error("Invalid topology")}function kE(t){if(ai(t)){let e=t.value;if(e.length!==Bh.length+84||!f.isEqual(e.slice(0,Bh.length),Bh))throw new Error("Invalid recovery leaf format");let s=Bh.length,r=j.from(P.fromBytes(e.slice(s,s+20))),n=f.toBigInt(e.slice(s+20,s+52)),i=f.toBigInt(e.slice(s+52,s+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Vt(t))return t;if(Ms(t)){if(t.length!==2)throw new Error("Recovery tree only supports binary branches");return [kE(t[0]),kE(t[1])]}else throw new Error("Invalid tree format")}}function XL(t,e,s,r){let n;r.type==="erc1271"?n=r.data:n=f.toHex(on(r));let i=zv(e);return me.encodeData(lN,[t,s,i,n])}async function QL(t,e,s,r){let n=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(dN,[s,r])},"latest"]});return n==="0x"?0n:P.toBigInt(n)}async function eD(t,e,s,r,n){return await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(hN,[s,r,n])},"latest"]})}async function tD(t,e,s,r,n){let i=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(fN,[s,r,n])},"latest"]});return P.toBigInt(i)}var sD={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},rD={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},nD={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},iD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},aD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Ph={};Ne(Ph,{ALL:()=>DE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>cD,getNetworkFromName:()=>oD});d();h();var Ie;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},DE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:ke("mainnet"),logoUrl:Be(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:ke("sepolia"),logoUrl:Be(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:ke("polygon"),logoUrl:Be(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:ke("amoy"),logoUrl:Be(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:ke("polygon-zkevm"),logoUrl:Be(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:ke("bsc"),logoUrl:Be(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:ke("bsc-testnet"),logoUrl:Be(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:ke("optimism"),logoUrl:Be(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:ke("optimism-sepolia"),logoUrl:Be(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:ke("arbitrum"),logoUrl:Be(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:ke("arbitrum-sepolia"),logoUrl:Be(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:ke("arbitrum-nova"),logoUrl:Be(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:ke("avalanche"),logoUrl:Be(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:ke("avalanche-testnet"),logoUrl:Be(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:ke("gnosis"),logoUrl:Be(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:ke("base"),logoUrl:Be(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:ke("base-sepolia"),logoUrl:Be(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:ke("homeverse"),logoUrl:Be(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:ke("homeverse-testnet"),logoUrl:Be(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:ke("xai"),logoUrl:Be(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:ke("xai-sepolia"),logoUrl:Be(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:ke("b3"),logoUrl:Be(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:ke("b3-sepolia"),logoUrl:Be(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:ke("apechain"),logoUrl:Be(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:ke("apechain-testnet"),logoUrl:Be(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:ke("blast"),logoUrl:Be(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:ke("blast-sepolia"),logoUrl:Be(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:ke("telos"),logoUrl:Be(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:ke("telos-testnet"),logoUrl:Be(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:ke("skale-nebula"),logoUrl:Be(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:ke("skale-nebula-testnet"),logoUrl:Be(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:ke("soneium"),logoUrl:Be(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:ke("soneium-minato"),logoUrl:Be(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:ke("toy-testnet"),logoUrl:Be(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:ke("immutable-zkevm"),logoUrl:Be(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:ke("immutable-zkevm-testnet"),logoUrl:Be(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:ke("moonbeam"),logoUrl:Be(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:ke("moonbase-alpha"),logoUrl:Be(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:ke("etherlink"),logoUrl:Be(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:ke("etherlink-testnet"),logoUrl:Be(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:ke("monad"),logoUrl:Be(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:ke("monad-testnet"),logoUrl:Be(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:ke("somnia"),logoUrl:Be(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:ke("somnia-testnet"),logoUrl:Be(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:ke("incentiv-testnet-v2"),logoUrl:Be(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:ke("katana"),logoUrl:Be(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:ke("sandbox-testnet"),logoUrl:Be(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:ke("arc-testnet"),logoUrl:Be(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function ke(t){return `https://nodes.sequence.app/${t}`}function Be(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function oD(t){return DE.find(e=>e.name===t)}function cD(t){return DE.find(e=>e.chainId===Number(t))}d();h();d();h();d();h();var pN="$";function gN(t,e){var s="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(t,pN),s;function u(l,p){if(l===null||typeof l!="object"||l.toJSON!=null)s+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="[";var E=!1;l.forEach(function(D,V){E&&(s+=","),E=!0,c&&D===void 0&&(D=null),u(D,p+"["+V+"]");}),s+="]";}else {var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="{";var v=!1,I=function(V){n&&n.includes(V)||(v&&(s+=","),v=!0,s+=JSON.stringify(V),s+=":",u(l[V],p+"."+V));};if(p===pN&&r)r.forEach(function(V){l.hasOwnProperty(V)&&I(V);});else {var C=Object.keys(l);o&&(C=C.filter(function(V){return l[V]!==void 0})),C.sort(),C.forEach(function(V){I(V);});}s+="}";}}}function p1(t,e){return gN(t,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();h();var uD="Webrpc",lD="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Pr;(function(t){t.WebCrypto_Secp256r1="WebCrypto_Secp256r1",t.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Pr||(Pr={}));var un;(function(t){t.Email="Email",t.OIDC="OIDC";})(un||(un={}));var yu;(function(t){t.OTP="OTP",t.IDToken="IDToken",t.AccessToken="AccessToken",t.AuthCode="AuthCode",t.AuthCodePKCE="AuthCodePKCE";})(yu||(yu={}));var g1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,s,r)=>this.fetch(this.url("CommitVerifier"),VE(e,s,r)).then(n=>UE(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,s,r)=>this.fetch(this.url("CompleteAuth"),VE(e,s,r)).then(n=>UE(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,s,r)=>this.fetch(this.url("Sign"),VE(e,s,r)).then(n=>UE(n).then(i=>({signature:i.signature})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})})},VE=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[uD]=lD,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},UE=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),y1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (fD[r]||rt).new(s)}return s}),rt=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},_E=class t extends rt{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},gu=class t extends rt{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},HE=class t extends rt{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},jE=class t extends rt{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ME=class t extends rt{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},y1=class t extends rt{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},$E=class t extends rt{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},FE=class t extends rt{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},qE=class t extends rt{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},GE=class t extends rt{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},KE=class t extends rt{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},WE=class t extends rt{constructor(e="InternalError",s=7100,r="Internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},JE=class t extends rt{constructor(e="EncryptionError",s=7101,r="Encryption error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},zE=class t extends rt{constructor(e="DatabaseError",s=7102,r="Database error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},YE=class t extends rt{constructor(e="DataIntegrityError",s=7103,r="Data integrity error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ZE=class t extends rt{constructor(e="IdentityProviderError",s=7104,r="Identity provider error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},XE=class t extends rt{constructor(e="InvalidRequest",s=7200,r="The request was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},QE=class t extends rt{constructor(e="InvalidSignature",s=7201,r="The signature was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},e2=class t extends rt{constructor(e="KeyNotFound",s=7202,r="The authentication key was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},t2=class t extends rt{constructor(e="KeyExpired",s=7203,r="The authentication key expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},s2=class t extends rt{constructor(e="SignerNotFound",s=7204,r="The signer was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},r2=class t extends rt{constructor(e="ProofVerificationFailed",s=7002,r="The authentication proof could not be verified",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},n2=class t extends rt{constructor(e="AnswerIncorrect",s=7003,r="The provided answer is incorrect",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},i2=class t extends rt{constructor(e="ChallengeExpired",s=7004,r="The challenge has expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},a2=class t extends rt{constructor(e="TooManyAttempts",s=7005,r="Too many attempts",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},o2=class t extends rt{constructor(e="OAuthError",s=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},c2=class t extends rt{constructor(e="AccessError",s=7007,r="Access error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},yN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InternalError="InternalError",t.EncryptionError="EncryptionError",t.DatabaseError="DatabaseError",t.DataIntegrityError="DataIntegrityError",t.IdentityProviderError="IdentityProviderError",t.InvalidRequest="InvalidRequest",t.InvalidSignature="InvalidSignature",t.KeyNotFound="KeyNotFound",t.KeyExpired="KeyExpired",t.SignerNotFound="SignerNotFound",t.ProofVerificationFailed="ProofVerificationFailed",t.AnswerIncorrect="AnswerIncorrect",t.ChallengeExpired="ChallengeExpired",t.TooManyAttempts="TooManyAttempts",t.OAuthError="OAuthError",t.AccessError="AccessError";})(yN||(yN={}));var wN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InternalError=7100]="InternalError",t[t.EncryptionError=7101]="EncryptionError",t[t.DatabaseError=7102]="DatabaseError",t[t.DataIntegrityError=7103]="DataIntegrityError",t[t.IdentityProviderError=7104]="IdentityProviderError",t[t.InvalidRequest=7200]="InvalidRequest",t[t.InvalidSignature=7201]="InvalidSignature",t[t.KeyNotFound=7202]="KeyNotFound",t[t.KeyExpired=7203]="KeyExpired",t[t.SignerNotFound=7204]="SignerNotFound",t[t.ProofVerificationFailed=7002]="ProofVerificationFailed",t[t.AnswerIncorrect=7003]="AnswerIncorrect",t[t.ChallengeExpired=7004]="ChallengeExpired",t[t.TooManyAttempts=7005]="TooManyAttempts",t[t.OAuthError=7006]="OAuthError",t[t.AccessError=7007]="AccessError";})(wN||(wN={}));var fD={0:_E,[-1]:gu,[-2]:HE,[-3]:jE,[-4]:ME,[-5]:y1,[-6]:$E,[-7]:FE,[-8]:qE,[-9]:GE,[-10]:KE,7100:WE,7101:JE,7102:zE,7103:YE,7104:ZE,7200:XE,7201:QE,7202:e2,7203:t2,7204:s2,7002:r2,7003:n2,7004:i2,7005:a2,7006:o2,7007:c2};d();h();d();h();var Qa=class extends Error{};Qa.prototype.name="InvalidTokenError";function hD(t){return decodeURIComponent(atob(t).replace(/(.)/g,(e,s)=>{let r=s.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function dD(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return hD(e)}catch{return atob(e)}}function SN(t,e){if(typeof t!="string")throw new Qa("Invalid token specified: must be a string");e||(e={});let s=e.header===!0?0:1,r=t.split(".")[s];if(typeof r!="string")throw new Qa(`Invalid token specified: missing part #${s+1}`);let n;try{n=dD(r);}catch(i){throw new Qa(`Invalid token specified: invalid base64 for part #${s+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Qa(`Invalid token specified: invalid json for part #${s+1} (${i.message})`)}}var u2=class{},w1=class extends u2{issuer;audience;idToken;handle="";exp="";constructor(e,s,r){super(),this.issuer=e,this.audience=s,this.idToken=r;let n=SN(this.idToken),i=he.keccak256(new TextEncoder().encode(this.idToken));this.handle=P.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:yu.IDToken,identityType:un.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:yu.IDToken,identityType:un.OIDC,verifier:this.handle,answer:this.idToken}}};var Oh=class{scope;rpc;constructor(e,s,r=window.fetch){this.rpc=new g1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=s;}async commitVerifier(e,s){let r={...s.getCommitParams(),scope:this.scope},n=await e.sign(f.fromString(p1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,s){let r={...s.getCompleteParams(),signerType:Pr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(f.fromString(p1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,s){let r={scope:this.scope,signer:{address:e.signer,keyType:Pr.Ethereum_Secp256k1},digest:P.fromBytes(s),nonce:P.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(f.fromString(p1(r)))});return P.assert(n.signature),n.signature}};function l2(t){return {address:t.address,keyType:Pr.WebCrypto_Secp256r1,signer:t.identitySigner,async sign(e){let s=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},t.privateKey,new Uint8Array(e));return P.fromBytes(new Uint8Array(s))}}}var b1=class{identityInstrument;authKey;constructor(e,s){this.identityInstrument=e,this.authKey=s;}get address(){if(!j.validate(this.authKey.identitySigner))throw new Error("No signer address found");return j.checksum(this.authKey.identitySigner)}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){let s=await this.identityInstrument.sign(l2(this.authKey),e);return {type:"hash",...Kt.fromHex(s)}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();h();d();h();d();h();d();h();d();h();function vN(t){return typeof t=="object"&&"signature"in t&&"imageHash"in t}var wu={};Ne(wu,{Cached:()=>B2,Local:()=>N2,Remote:()=>k2,Sequence:()=>_h,getWalletsFor:()=>ED,multiplex:()=>LD,normalizeAddressKeys:()=>Or});d();h();var N2={};Ne(N2,{IndexedDbStore:()=>I2,MemoryStore:()=>Lh,Provider:()=>C2});d();h();d();h();var Lh=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let s={};for(let[r,n]of Object.entries(e))s[r]=this.deepCopy(n);return s}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){let s=this.configs.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveConfig(e,s){this.configs.set(e.toLowerCase(),this.deepCopy(s));}async loadCounterfactualWallet(e){let s=this.counterfactualWallets.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveCounterfactualWallet(e,s,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:s,context:r}));}async loadPayloadOfSubdigest(e){let s=this.payloads.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async savePayloadOfSubdigest(e,s){this.payloads.set(e.toLowerCase(),this.deepCopy(s));}async loadSubdigestsOfSigner(e){let s=this.signerSubdigests.get(e.toLowerCase());return s?Array.from(s).map(r=>r):[]}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=s.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let s=this.trees.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveTree(e,s){this.trees.set(e.toLowerCase(),this.deepCopy(s));}};d();h();var hr={};Ne(hr,{Guard:()=>x2,Passkey:()=>g2,Pk:()=>m2,Session:()=>S2,SessionManager:()=>v2,isSapientSigner:()=>A2,isSigner:()=>vD});d();h();var m2={};Ne(m2,{Encrypted:()=>h2,MemoryPkStore:()=>ci,Pk:()=>d2});d();h();var h2={};Ne(h2,{EncryptedPkStore:()=>S1,EncryptedPksDb:()=>f2});d();h();var f2=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",s="e_pk"){this.localStorageKeyPrefix=e,this.tableName=s;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,s)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>s(r.error);})}async putData(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(s,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let s=await this.openDB();return new Promise((r,n)=>{let o=s.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((s,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>s(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),s=P.random(32),r=es.getPublicKey({privateKey:s}),n=j.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(s),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),p={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,p),p}async getEncryptedEntry(e){let s=this.computeDbKey(e);return this.getData(s)}async getEncryptedPkStore(e){let s=await this.getEncryptedEntry(e);if(s)return new S1(s)}async listAddresses(){return (await this.getAllData()).map(s=>s.address)}async remove(e){let s=this.computeDbKey(e);await this.putData(s,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},S1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let s=window.localStorage.getItem(this.encrypted.keyPointer);if(!s)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(s),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return es.sign({payload:e,privateKey:o})}};var ci=class{privateKey;constructor(e){this.privateKey=e;}address(){return j.fromPublicKey(this.publicKey())}publicKey(){return es.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(es.sign({payload:e,privateKey:this.privateKey}))}},d2=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new ci(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var g2={};Ne(g2,{Passkey:()=>p2,isWitnessMessage:()=>EN});d();h();function EN(t){return typeof t=="object"&&t!==null&&"action"in t&&t.action==="consent-to-be-part-of-wallet"}var p2=class t{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=Fe.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,s,r,n){let i=await e.getWitnessForSapient(r,s.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!Te.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(P.toString(a.message));if(!EN(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=Fe.Passkeys.decode(f.fromHex(i.signature.data));return new t({credentialId:c.credentialId,extensions:s,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,s){let r=s?.credentialName??`Sequence (${Date.now()})`,n=await ii.createCredential({user:{name:r}}),i=P.fromNumber(n.publicKey.x),a=P.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new t({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:s?.requireUserVerification??!0,x:i,y:a,metadata:s?.embedMetadata?o:void 0},embedMetadata:s?.embedMetadata,metadata:o});return s?.stateProvider&&await s.stateProvider.saveTree(Fe.Passkeys.toTree(c.publicKey)),c}static async find(e,s){let r=await ii.sign({challenge:P.random(32)});if(!r.raw)throw new Error("No credential returned");let n=f.fromHex(r.metadata.authenticatorData),i=he.sha256(f.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=f.concat(n,i),o=he.sha256(a,{as:"Bytes"}),c=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:P.fromNumber(c.x),y:P.fromNumber(c.y)},p={x:P.fromNumber(u.x),y:P.fromNumber(u.y)},w={credentialId:r.raw.id},E=[Fe.Passkeys.rootFor({...l,requireUserVerification:!0}),Fe.Passkeys.rootFor({...l,requireUserVerification:!1}),Fe.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),Fe.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),Fe.Passkeys.rootFor({...p,requireUserVerification:!0}),Fe.Passkeys.rootFor({...p,requireUserVerification:!1}),Fe.Passkeys.rootFor({...p,requireUserVerification:!0,metadata:w}),Fe.Passkeys.rootFor({...p,requireUserVerification:!1,metadata:w})],I=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(s.passkeys,C);return Object.keys(D).map(V=>({wallet:j.from(V),imageHash:C}))}))).flat().filter((C,D,V)=>V.findIndex(B=>j.isEqual(B.wallet,C.wallet)&&B.imageHash===C.imageHash)===D);if(I.length!==0)return I.length>1&&console.warn("Multiple signers found for passkey",I),t.loadFromWitness(e,s,I[0].wallet,I[0].imageHash)}async signSapient(e,s,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=P.fromBytes(Te.hash(e,s,r)),a=await ii.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=f.fromHex(a.metadata.authenticatorData),c=f.fromNumber(a.signature.r),u=f.fromNumber(a.signature.s),l=Fe.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:f.toHex(l),type:"sapient_compact"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(s,0,n,this.imageHash);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var S2={};Ne(S2,{Explicit:()=>y2,Implicit:()=>w2,isExplicitSessionSigner:()=>v1,isImplicitSessionSigner:()=>b2});d();h();d();h();var xN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",y2=class{_privateKey;address;sessionPermissions;constructor(e,s){this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...s,signer:this.address};}isValid(e,s){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Js.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!j.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!f.isEqual(c.value,u.value)||c.offset!==u.offset||!f.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,s,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,xN])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=f.fromNumber(o+r.value,{size:32});if(f.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,s){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:f.toHex(n.value),offset:n.offset,mask:f.toHex(n.mask)}))};return he.keccak256(mt.encode([{type:"address",name:"signer"},cn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(s)]))}getValueUsageHash(){return he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,xN]))}async validatePermission(e,s,r,n,i){if(!j.isEqual(e.target,s.to))return !1;for(let[a,o]of e.rules.entries()){let u=f.padRight(f.fromHex(s.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,p)=>l&o.mask[p]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=f.fromNumber(l+f.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===cn.ParameterOperation.EQUAL&&!f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.LESS_THAN_OR_EQUAL&&f.toBigInt(u)>f.toBigInt(o.value)||o.operation===cn.ParameterOperation.NOT_EQUAL&&f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.GREATER_THAN_OR_EQUAL&&f.toBigInt(u)<f.toBigInt(o.value))return !1}return !0}async supportedCall(e,s,r,n,i){return j.isEqual(r.to,n)&&P.size(r.data)>4&&P.isEqual(P.slice(r.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,s,r,n,i)}async signCall(e,s,r,n,i,a){let o=r.calls[n],c;if(j.isEqual(o.to,i)&&P.size(o.data)>4&&P.isEqual(P.slice(o.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT)))c=0;else {let p=await this.findSupportedPermission(e,s,o,i,a);if(!p)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(p),c===-1)throw new Error("Invalid permission")}let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,s,r,n){let i=me.encodeData(yt.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:s,data:i},"latest"]}),o=me.decodeResult(yt.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,s,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let p of r){let w=await this.findSupportedPermission(e,s,p,n,i);if(w){for(let[E,v]of w.rules.entries()){if(!v.cumulative)continue;let C=f.padRight(f.fromHex(p.data).slice(Number(v.offset),Number(v.offset)+32),32).map((B,k)=>B&v.mask[k]);if(f.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),V=a.find(B=>P.isEqual(B.usageHash,D));V?V.increment+=f.toBigInt(C):a.push({usageHash:D,increment:f.toBigInt(C)});}u+=p.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:p,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,p,i);if(P.isEqual(p,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:p,usageAmount:E.usageAmount+w}})).then(p=>p.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();h();var w2=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,s,r,n){if(this._attestation=s,this._sessionManager=n,this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?Kt.fromHex(r):r;}get identitySigner(){let e=Wt.hash(this._attestation),s=es.recoverPublicKey({payload:e,signature:this._identitySignature});return j.fromPublicKey(s)}isValid(e,s){let r=Js.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>j.isEqual(a,n))?Js.getImplicitBlacklist(e)?.some(a=>j.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,s,r,n,i){if(!i)throw new Error("Provider is required");try{let a=me.encodeData(AN,[e,{approvedSigner:this._attestation.approvedSigner,identityType:f.toHex(this._attestation.identityType),issuerHash:f.toHex(this._attestation.issuerHash),audienceHash:f.toHex(this._attestation.audienceHash),applicationData:f.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(Te.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=P.from(me.decodeResult(AN,o)),u=f.toHex(Wt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,s,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,s,o,i,a))throw new Error("Unsupported call");let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},AN={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();h();function v1(t){return "prepareIncrements"in t}function b2(t){return "identitySigner"in t}d();h();var mD=2n**80n-1n,v2=class t{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,s){this.wallet=e,this.stateProvider=s.stateProvider??e.stateProvider,this.address=s.sessionManagerAddress,this._implicitSigners=s.implicitSigners??[],this._explicitSigners=s.explicitSigners??[],this._provider=s.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),s=Ye.findSignerLeaf(e,this.address);if(!(!s||!Ye.isSapientSignerLeaf(s)))return s.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let s=await this.stateProvider.getTree(e);if(!s)throw new Error(`Session configuration not found for image hash ${e}`);return Js.configurationTreeToSessionsTopology(s)}withProvider(e){return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let s=[...this._implicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:s,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let s=[...this._explicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:s,provider:this._provider})}async listSignerValidity(e){let s=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(s,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(s,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,s,r){let n=await this.topology;if(Js.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let p of a){try{if(u=await p.supportedCall(e,s,c,this.address,this._provider),u){let w=p.isValid(n,s);w.invalidReason==="Expired"&&(l=p),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(p);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,s,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,s,r),i=new Map;n.forEach((u,l)=>{let p=r[l],w=i.get(u)||[];i.set(u,[...w,p]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>v1(u)?u.prepareIncrements(e,s,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,p)=>l===p.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=me.encodeData(yt.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,s,r,n){if(!j.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!Te.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>mD)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,s,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,s,r,E,this.address,this._provider)}catch(v){throw console.error("signSapient error",v),v}})),o=await this.prepareIncrement(e,s,r.calls);if(o){let w;if(j.isEqual(this.address,Fe.Dev1.sessions)||j.isEqual(this.address,Fe.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!j.isEqual(o.to,w.to)||!P.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(v1(w))c.find(v=>j.isEqual(v,E))||c.push(E);else if(b2(w)&&!u.find(v=>j.isEqual(v,E))){if(u.push(E),!l)l=w.identitySigner;else if(!j.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Js.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let p=oi.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:P.from(p)}}async isValidSapientSignature(e,s,r,n){if(!Te.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=Te.encodeSapient(s,r),a=me.encodeData(yt.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return P.from(me.decodeResult(yt.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();h();d();h();d();h();d();h();var ui;(function(t){t.Calls="Calls",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ui||(ui={}));var li;(function(t){t.Hash="Hash",t.Sapient="Sapient",t.EthSign="EthSign",t.Erc1271="Erc1271";})(li||(li={}));var IN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.ValidationFailed="ValidationFailed",t.NotFound="NotFound",t.RequiresTOTP="RequiresTOTP",t.RequiresPIN="RequiresPIN";})(IN||(IN={}));var CN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.ValidationFailed=2004]="ValidationFailed",t[t.NotFound=3e3]="NotFound",t[t.RequiresTOTP=6600]="RequiresTOTP",t[t.RequiresPIN=6601]="RequiresPIN";})(CN||(CN={}));d();h();d();h();var x2=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,s){let r={...e.payload,parentWallets:void 0},n=wD(e.payload),{message:i,digest:a}=bD(e.wallet,e.chainId,r),o=e.signatures.map(SD),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,s?{id:s.id,token:s.code,resetAuth:s.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function wD(t){switch(t.type){case"call":return ui.Calls;case"message":return ui.Message;case"config-update":return ui.ConfigUpdate;case"session-implicit-authorize":return ui.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${t.type}`)}function bD(t,e,s){if(Te.isSessionImplicitAuthorize(s))return {message:f.fromString(Wt.toJson(s.attestation)),digest:he.keccak256(Wt.encode(s.attestation))};let r=Te.toTyped(t,e,s);return {message:f.fromString(mh.serialize(r)),digest:f.fromHex(mh.getSignPayload(r))}}function SD(t){if(vN(t))return {type:li.Sapient,address:t.signature.address,imageHash:t.imageHash,data:t.signature.data};if(t.signature.type=="erc1271")return {type:li.Erc1271,address:t.signature.address,data:t.signature.data};let e={eth_sign:li.EthSign,hash:li.Hash}[t.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${t.signature.type}`);return {type:e,address:t.address,data:Kt.toHex(t.signature)}}function A2(t){return "signSapient"in t}function vD(t){return "sign"in t}async function ED(t,e){let s=await xD(t,e);return Object.entries(s).map(([r,{chainId:n,payload:i,signature:a}])=>(P.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function xD(t,e){if(A2(e)){let[s,r]=await Promise.all([e.address,e.imageHash]);return r?t.getWalletsForSapient(s,r):(console.warn("Sapient signer has no imageHash"),{})}else return t.getWallets(await e.address)}function Or(t){return Object.fromEntries(Object.entries(t).map(([e,s])=>[j.checksum(e),s]))}d();h();var E1="configs",x1="counterfactualWallets",A1="payloads",Dh="signerSubdigests",I1="signatures",Vh="sapientSignerSubdigests",C1="sapientSignatures",N1="trees",I2=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,s)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(E1)||n.createObjectStore(E1),n.objectStoreNames.contains(x1)||n.createObjectStore(x1),n.objectStoreNames.contains(A1)||n.createObjectStore(A1),n.objectStoreNames.contains(Dh)||n.createObjectStore(Dh),n.objectStoreNames.contains(I1)||n.createObjectStore(I1),n.objectStoreNames.contains(Vh)||n.createObjectStore(Vh),n.objectStoreNames.contains(C1)||n.createObjectStore(C1),n.objectStoreNames.contains(N1)||n.createObjectStore(N1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{s(r.error);};})}async get(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(s);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,s,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,s);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,s){let r=await this.get(e,s)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,s,r){await this.put(e,s,Array.from(r));}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){return this.get(E1,e.toLowerCase())}async saveConfig(e,s){await this.put(E1,e.toLowerCase(),s);}async loadCounterfactualWallet(e){return this.get(x1,e.toLowerCase())}async saveCounterfactualWallet(e,s,r){await this.put(x1,e.toLowerCase(),{imageHash:s,context:r});}async loadPayloadOfSubdigest(e){return this.get(A1,e.toLowerCase())}async savePayloadOfSubdigest(e,s){await this.put(A1,e.toLowerCase(),s);}async loadSubdigestsOfSigner(e){let s=await this.getSet(Dh,e.toLowerCase());return Array.from(s)}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s);return this.get(I1,r.toLowerCase())}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);await this.put(I1,n.toLowerCase(),r);let i=e.toLowerCase(),a=s.toLowerCase(),o=await this.getSet(Dh,i);o.add(a),await this.putSet(Dh,i,o);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=await this.getSet(Vh,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r);return this.get(C1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r).toLowerCase();await this.put(C1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase(),c=await this.getSet(Vh,a);c.add(o),await this.putSet(Vh,a,c);}async loadTree(e){return this.get(N1,e.toLowerCase())}async saveTree(e,s){await this.put(N1,e.toLowerCase(),s);}};var C2=class{store;extensions;constructor(e=new Lh,s=Fe.Rc5){this.store=e,this.extensions=s;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,s){await this.saveConfig(e);let r=Ye.hashConfiguration(e);await this.saveCounterfactualWallet(du.from(r,s),P.fromBytes(r),s);}async saveConfig(e){let s=f.toHex(Ye.hashConfiguration(e)),r=await this.store.loadConfig(s);if(r){let n=Ye.mergeTopology(r.topology,e.topology);return this.store.saveConfig(s,{...r,topology:n})}else return this.store.saveConfig(s,e)}saveCounterfactualWallet(e,s,r){this.store.saveCounterfactualWallet(e,s,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,s){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=j.checksum(i.wallet);if(n[a])continue;let o=P.fromBytes(Te.hash(a,i.chainId,i.content)),c=await s(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),s=>this.store.loadSignatureOfSubdigest(e,s)))}async getWalletsForSapient(e,s){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,s),r=>this.store.loadSapientSignatureOfSubdigest(e,r,s)))}getWitnessFor(e,s){let r=j.checksum(e);return this.getWallets(s).then(n=>n[r])}getWitnessForSapient(e,s,r){let n=j.checksum(e);return this.getWalletsForSapient(s,r).then(i=>i[n])}async saveWitnesses(e,s,r,n){let i=P.fromBytes(Te.hash(e,s,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:s,wallet:e})]);}async getConfigurationUpdates(e,s,r){let n=await this.store.loadConfig(s);if(!n)return [];let{signers:i,sapientSigners:a}=Ye.getSigners(n),o=await Promise.all([...i.map(v=>this.store.loadSubdigestsOfSigner(v)),...a.map(v=>this.store.loadSubdigestsOfSapientSigner(v.address,v.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(v=>this.store.loadPayloadOfSubdigest(v))),l=await Promise.all(u.filter(v=>v?.content&&Te.isConfigUpdate(v.content)).map(async v=>({payload:v,nextImageHash:v.content.imageHash,config:await this.store.loadConfig(v.content.imageHash)}))),p,w=l.filter(v=>v.config&&v.config.checkpoint>n.checkpoint).sort((v,I)=>v.config.checkpoint>I.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let v of w){if(p){if(r?.allUpdates){if(v.config.checkpoint<=p.checkpoint)continue}else if(v.config.checkpoint<=p.checkpoint)continue}let I=P.fromBytes(Te.hash(e,v.payload.chainId,v.payload.content)),C=await Promise.all([...i.map(async B=>({signer:B,signature:await this.store.loadSignatureOfSubdigest(B,I)})),...a.map(async B=>({signer:B.address,imageHash:B.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(B.address,I,B.imageHash)}))]),D=0n,V=ts.fillLeaves(n.topology,B=>{if(Ye.isSapientSignerLeaf(B)){let O=C.find(({signer:K,imageHash:re})=>re&&j.isEqual(K,B.address)&&re===B.imageHash)?.signature;if(O)return D+=B.weight,O}let k=C.find(({signer:O})=>j.isEqual(O,B.address))?.signature;if(k)return D+=B.weight,k});D<n.threshold||(p={nextImageHash:v.nextImageHash,checkpoint:v.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:V}}});}if(!p)return [];let E=await this.getConfigurationUpdates(e,p.nextImageHash,{allUpdates:!0});return [{imageHash:p.nextImageHash,signature:p.signature},...E]}async saveUpdate(e,s,r){let i={type:"config-update",imageHash:f.toHex(Ye.hashConfiguration(s))},a=Te.hash(e,0,i);await this.store.savePayloadOfSubdigest(P.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(s),await this.saveSignature(P.fromBytes(a),r.configuration.topology);}async saveSignature(e,s){if(ts.isRawNode(s)){await Promise.all([this.saveSignature(e,s[0]),this.saveSignature(e,s[1])]);return}if(ts.isRawNestedLeaf(s))return this.saveSignature(e,s.tree);if(ts.isRawSignerLeaf(s)){let r=s.signature.type;if(r==="eth_sign"||r==="hash"){let n=es.recoverAddress({payload:r==="eth_sign"?Pg.getSignPayload(e):e,signature:s.signature});return this.store.saveSignatureOfSubdigest(n,e,s.signature)}if(ts.isSignatureOfSapientSignerLeaf(s.signature))switch(s.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=Fe.Passkeys.decode(f.fromHex(s.signature.data));if(!Fe.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(s.signature.address,e,Fe.Passkeys.rootFor(n.publicKey),s.signature);default:throw new Error(`Unsupported sapient signer: ${s.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree($s.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(f.toHex(Ye.hashConfiguration(e)),e)}saveDeploy(e,s){return this.store.saveCounterfactualWallet(du.from(f.fromHex(e),s),e,s)}async getPayload(e){let s=await this.store.loadPayloadOfSubdigest(e);return s?{chainId:s.chainId,payload:s.content,wallet:s.wallet}:void 0}savePayload(e,s,r){let n=P.fromBytes(Te.hash(e,r,s));return this.store.savePayloadOfSubdigest(n,{content:s,chainId:r,wallet:e})}};var k2={};Ne(k2,{DevHttpProvider:()=>T2});d();h();d();h();var T2=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,s,r){let n=`${this.baseUrl}${s}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Ya.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Ya.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${s} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Ya.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Ya.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,s){return this.request("GET",`/wallets/sapient/${e}/${s}`)}async getWitnessFor(e,s){return this.request("GET",`/witness/${e}/signer/${s}`)}async getWitnessForSapient(e,s,r){return this.request("GET",`/witness/sapient/${e}/${s}/${r}`)}async getConfigurationUpdates(e,s,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${s}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,s){await this.request("POST","/wallet",{deployConfiguration:e,context:s});}async saveWitnesses(e,s,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:s,payload:r,signatures:n});}async saveUpdate(e,s,r){await this.request("POST","/update",{wallet:e,configuration:s,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,s){return this.request("POST","/deploy",{imageHash:e,context:s})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,s,r){return this.request("POST","/payload",{wallet:e,payload:s,chainId:r})}};d();h();var B2=class{args;constructor(e){this.args=e;}async getConfiguration(e){let s=await this.args.cache.getConfiguration(e);if(s)return s;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let s=await this.args.cache.getDeploy(e);if(s)return s;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let s=Or(await this.args.cache.getWallets(e)),r=Or(await this.args.source.getWallets(e)),n={...s,...r};for(let[i,a]of Object.entries(n))j.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),s[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,s){let r=await this.args.cache.getWalletsForSapient(e,s),n=await this.args.source.getWalletsForSapient(e,s),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=j.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,s){let r=await this.args.cache.getWitnessFor(e,s);if(r)return r;let n=await this.args.source.getWitnessFor(e,s);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,s,r){let n=await this.args.cache.getWitnessForSapient(e,s,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,s,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,s,r){return this.args.source.getConfigurationUpdates(e,s,r)}async getTree(e){let s=await this.args.cache.getTree(e);if(s)return s;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,s){return this.args.source.saveWallet(e,s)}saveWitnesses(e,s,r,n){return this.args.source.saveWitnesses(e,s,r,n)}saveUpdate(e,s,r){return this.args.source.saveUpdate(e,s,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,s){return this.args.source.saveDeploy(e,s)}async getPayload(e){let s=await this.args.cache.getPayload(e);if(s)return s;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,s,r){return this.args.source.savePayload(e,s,r)}};var _h={};Ne(_h,{Provider:()=>G2});d();h();d();h();var AD="Webrpc",ID="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var kN;(function(t){t.Transactions="Transactions",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.Digest="Digest";})(kN||(kN={}));var ot;(function(t){t.EIP712="EIP712",t.EthSign="EthSign",t.EIP1271="EIP1271",t.Sapient="Sapient",t.SapientCompact="SapientCompact";})(ot||(ot={}));var T1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}ping=(e,s)=>this.fetch(this.url("Ping"),_t({},e,s)).then(r=>Ht(r).then(n=>({})),r=>{throw Tt.new({cause:`fetch(): ${r.message||""}`})});config=(e,s,r)=>this.fetch(this.url("Config"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,config:i.config})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});tree=(e,s,r)=>this.fetch(this.url("Tree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});payload=(e,s,r)=>this.fetch(this.url("Payload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,s,r)=>this.fetch(this.url("Wallets"),_t(e,s,r)).then(n=>Ht(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,s,r)=>this.fetch(this.url("DeployHash"),_t(e,s,r)).then(n=>Ht(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});witness=(e,s,r)=>this.fetch(this.url("Witness"),_t(e,s,r)).then(n=>Ht(n).then(i=>({witness:i.witness})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,s,r)=>this.fetch(this.url("ConfigUpdates"),_t(e,s,r)).then(n=>Ht(n).then(i=>({updates:i.updates})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,s,r)=>this.fetch(this.url("Migrations"),_t(e,s,r)).then(n=>Ht(n).then(i=>({migrations:i.migrations})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,s,r)=>this.fetch(this.url("SaveConfig"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,s,r)=>this.fetch(this.url("SaveTree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,s,r)=>this.fetch(this.url("SavePayload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,s,r)=>this.fetch(this.url("SaveWallet"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,s,r)=>this.fetch(this.url("SaveSignature"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,s,r)=>this.fetch(this.url("SaveSignature2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures3"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,s,r)=>this.fetch(this.url("SaveMigration"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})})},_t=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[AD]=ID,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},Ht=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),k1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (CD[r]||ds).new(s)}return s}),ds=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},P2=class t extends ds{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},Tt=class t extends ds{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},O2=class t extends ds{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},R2=class t extends ds{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},L2=class t extends ds{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},k1=class t extends ds{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},D2=class t extends ds{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},V2=class t extends ds{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},U2=class t extends ds{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},_2=class t extends ds{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},H2=class t extends ds{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},j2=class t extends ds{constructor(e="InvalidArgument",s=1,r="invalid argument",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},M2=class t extends ds{constructor(e="NotFound",s=2,r="not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},BN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InvalidArgument="InvalidArgument",t.NotFound="NotFound";})(BN||(BN={}));var PN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InvalidArgument=1]="InvalidArgument",t[t.NotFound=2]="NotFound";})(PN||(PN={}));var CD={0:P2,[-1]:Tt,[-2]:O2,[-3]:R2,[-4]:L2,[-5]:k1,[-6]:D2,[-7]:V2,[-8]:U2,[-9]:_2,[-10]:H2,1:j2,2:M2};var G2=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new T1(e,fetch);}async getConfiguration(e){let{version:s,config:r}=await this.service.config({imageHash:e});if(s!==3)throw new Error(`invalid configuration version ${s}, expected version 3`);return kD(r)}async getDeploy(e){let{deployHash:s,context:r}=await this.service.deployHash({wallet:e});return P.assert(s),j.assert(r.factory),j.assert(r.mainModule),j.assert(r.mainModuleUpgradable),P.assert(r.walletCreationCode),{imageHash:s,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let s=await this.service.wallets({signer:e}),r=Or(s.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(j.assert(n),P.assert(i.signature),i.type){case ot.EIP712:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"hash",...Kt.from(i.signature)}}];case ot.EthSign:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"eth_sign",...Kt.from(i.signature)}}];case ot.EIP1271:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case ot.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,s){let r=await this.service.wallets({signer:e,sapientHash:s}),n=Or(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(j.assert(i),P.assert(a.signature),a.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case ot.Sapient:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case ot.SapientCompact:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,s){try{let{witness:r}=await this.service.witness({signer:s,wallet:e});switch(P.assert(r.signature),r.type){case ot.EIP712:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"hash",...Kt.from(r.signature)}};case ot.EthSign:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"eth_sign",...Kt.from(r.signature)}};case ot.EIP1271:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"erc1271",address:s,data:r.signature}};case ot.Sapient:throw new Error(`unexpected sapient signature by ${s}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${s}`)}}catch{}}async getWitnessForSapient(e,s,r){try{let{witness:n}=await this.service.witness({signer:s,wallet:e,sapientHash:r});switch(P.assert(n.signature),n.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${s}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${s}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${s}`);case ot.Sapient:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient",address:s,data:n.signature}};case ot.SapientCompact:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient_compact",address:s,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,s,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:s,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{P.assert(i),P.assert(a);let o=ts.decodeSignature(P.toBytes(a)),{configuration:c}=await ts.recover(o,e,0,Te.fromConfigUpdate(i),{provider:TD});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:s,tree:r}=await this.service.tree({imageHash:e});if(s!==3)throw new Error(`invalid tree version ${s}, expected version 3`);return LN(r)}async getPayload(e){let{version:s,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(s!==3)throw new Error(`invalid payload version ${s}, expected version 3`);return j.assert(n),{payload:dr(r),wallet:n,chainId:Number(i)}}async saveWallet(e,s){await this.service.saveWallet({version:3,deployConfig:F2(e),context:{version:3,factory:s.factory,mainModule:s.stage1,mainModuleUpgradable:s.stage2,guestModule:yt.DefaultGuestAddress,walletCreationCode:s.creationCode}});}async saveWitnesses(e,s,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:q2(r),chainID:s.toString(),signatures:Uh(n).map(i=>{switch(i.type){case"hash":return {type:ot.EIP712,signature:Kt.toHex(Kt.from(i))};case"eth_sign":return {type:ot.EthSign,signature:Kt.toHex(Kt.from(i))};case"erc1271":return {type:ot.EIP1271,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient":return {type:ot.Sapient,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient_compact":return {type:ot.SapientCompact,signer:i.address,signature:i.data,referenceChainID:s.toString()}}})});}async saveUpdate(e,s,r){await this.service.saveSignature2({wallet:e,payload:q2(Te.fromConfigUpdate(f.toHex(Ye.hashConfiguration(s)))),chainID:"0",signature:f.toHex(ts.encodeSignature(r)),toConfig:F2(s)});}async saveTree(e){await this.service.saveTree({version:3,tree:RN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:F2(e)});}async saveDeploy(e,s){}async savePayload(e,s,r){await this.service.savePayload({version:3,payload:q2(s),wallet:e,chainID:r.toString()});}},ND=[Fe.Dev1.passkeys,Fe.Dev2.passkeys,Fe.Rc3.passkeys,Fe.Rc4.passkeys,Fe.Rc5.passkeys].map(j.checksum),ON="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",$2=me.from(ON),K2=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let s=e.params[0];if(!s.data?.startsWith(me.getSelector($2)))throw new Error(`unknown selector ${s.data?.slice(0,10)}, expected selector ${me.getSelector($2)} for ${ON}`);if(!ND.includes(s.to?j.checksum(s.to):"0x"))throw new Error(`unknown passkey signer ${s.to}`);let[r,n]=me.decodeData($2,s.data),i=Fe.Passkeys.decode(P.toBytes(n));if(Fe.Passkeys.isValidSignature(r,i))return Fe.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},TD=new K2;function F2(t){return {threshold:Rr(t.threshold),checkpoint:Rr(t.checkpoint),checkpointer:t.checkpointer,tree:B1(t.topology)}}function kD(t){return t.checkpointer!==void 0&&j.assert(t.checkpointer),{threshold:BigInt(t.threshold),checkpoint:BigInt(t.checkpoint),checkpointer:t.checkpointer,topology:P1(t.tree)}}function B1(t){if(Ye.isNode(t))return [B1(t[0]),B1(t[1])];if(Ye.isSignerLeaf(t))return {weight:Rr(t.weight),address:t.address};if(Ye.isSapientSignerLeaf(t))return {weight:Rr(t.weight),address:t.address,imageHash:t.imageHash};if(Ye.isSubdigestLeaf(t))return {subdigest:t.digest};if(Ye.isAnyAddressSubdigestLeaf(t))return {subdigest:t.digest,isAnyAddress:!0};if(Ye.isNestedLeaf(t))return {weight:Rr(t.weight),threshold:Rr(t.threshold),tree:B1(t.tree)};if(Ye.isNodeLeaf(t))return t;throw new Error(`unknown topology '${JSON.stringify(t)}'`)}function P1(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return [P1(t[0]),P1(t[1])];if("weight"in t){if("address"in t)return j.assert(t.address),t.imageHash?(P.assert(t.imageHash),{type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash}):{type:"signer",address:t.address,weight:BigInt(t.weight)};if("tree"in t)return {type:"nested",weight:BigInt(t.weight),threshold:BigInt(t.threshold),tree:P1(t.tree)}}if("subdigest"in t)return P.assert(t.subdigest),{type:t.isAnyAddress?"any-address-subdigest":"subdigest",digest:t.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(t)}'`)}function q2(t){if(Te.isCalls(t))return {type:"call",space:Rr(t.space),nonce:Rr(t.nonce),calls:t.calls.map(BD)};if(Te.isMessage(t))return {type:"message",message:t.message};if(Te.isConfigUpdate(t))return {type:"config-update",imageHash:t.imageHash};if(Te.isDigest(t))return {type:"digest",digest:t.digest};throw new Error(`unknown payload '${JSON.stringify(t)}'`)}function dr(t){switch(t.type){case"call":return {type:"call",space:BigInt(t.space),nonce:BigInt(t.nonce),calls:t.calls.map(PD)};case"message":return P.assert(t.message),{type:"message",message:t.message};case"config-update":return P.assert(t.imageHash),{type:"config-update",imageHash:t.imageHash};case"digest":return P.assert(t.digest),{type:"digest",digest:t.digest}}}function BD(t){return {to:t.to,value:Rr(t.value),data:t.data,gasLimit:Rr(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function PD(t){return j.assert(t.to),P.assert(t.data),{to:t.to,value:BigInt(t.value),data:t.data,gasLimit:BigInt(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function RN(t){if($s.isBranch(t))return t.map(RN);if($s.isLeaf(t))return {data:f.toHex(t.value)};if($s.isNode(t))return t;throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function LN(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return t.map(LN);if("data"in t)return P.assert(t.data),{type:"leaf",value:P.toBytes(t.data)}}throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function Rr(t){return t<Number.MIN_SAFE_INTEGER||t>Number.MAX_SAFE_INTEGER?t.toString():Number(t)}function Uh(t){if(ts.isRawNode(t))return [...Uh(t[0]),...Uh(t[1])];if(ts.isRawSignerLeaf(t))return [t.signature];if(Ye.isNestedLeaf(t))return Uh(t.tree);if(ts.isRawNestedLeaf(t))return Uh(t.tree);if(Ye.isSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSapientSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSubdigestLeaf(t))return [];if(Ye.isAnyAddressSubdigestLeaf(t))return [];if(Ye.isNodeLeaf(t))return [];throw new Error(`unknown topology '${JSON.stringify(t)}'`)}d();h();function OD(t,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?P.fromBytes(e):e}function O1(t){return JSON.stringify(t,OD,2)}function R1(t){if(typeof t=="bigint")return t.toString();if(t instanceof Uint8Array)return P.fromBytes(t);if(typeof t=="string")return t.toLowerCase();if(Array.isArray(t))return t.map(R1);if(t&&typeof t=="object"){let e=[];for(let s of Object.keys(t).filter(r=>t[r]!==void 0).sort())e.push([s.toLowerCase(),R1(t[s])]);return e}return t}function RD(t,e){return JSON.stringify(R1(t))===JSON.stringify(R1(e))}function LD(t,e){let s={get(r,n,i){let a=t[n];return typeof a!="function"?Reflect.get(t,n):async(...o)=>{let c=String(n),u=O1(o),l;try{l=await a.apply(t,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
+ [${E}] warning: reference ${c} threw:`,w),w}let p=O1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let v=E[n];if(typeof v!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
350
350
  [${D}] reference returned: ${p}
351
- [${D}] warning: ${w} has no ${c}`);return}let I;try{I=S.apply(E,o),I=await Promise.resolve(I);}catch(D){let V=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${V}] calling ${c}: ${u}
351
+ [${D}] warning: ${w} has no ${c}`);return}let I;try{I=v.apply(E,o),I=await Promise.resolve(I);}catch(D){let V=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${V}] calling ${c}: ${u}
352
352
  [${V}] reference returned: ${p}
353
- [${V}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");PD(l,I)?console.trace(`[${C}] calling ${c}: ${u}
353
+ [${V}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");RD(l,I)?console.trace(`[${C}] calling ${c}: ${u}
354
354
  [${C}] reference returned: ${p}
355
- [${C}] ${w} returned: ${R1(I)}`):console.trace(`[${C}] calling ${c}: ${u}
355
+ [${C}] ${w} returned: ${O1(I)}`):console.trace(`[${C}] calling ${c}: ${u}
356
356
  [${C}] reference returned: ${p}
357
- [${C}] ${w} returned: ${R1(I)}
358
- [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(t,s)}({knownContexts:Za.KnownContexts,stateProvider:new _h.Provider,guest:yt.DefaultGuestAddress});d();h();d();h();d();h();d();h();d();h();d();h();d();h();var Mh={};Ne(Mh,{EIP1193ProviderAdapter:()=>ro,EIP6963:()=>Zx,LocalRelayer:()=>so,PkRelayer:()=>Gx,RpcRelayer:()=>Kx,SequenceRelayer:()=>Wx,getChain:()=>mT,isRelayer:()=>WV});d();h();d();h();d();h();var jt;(function(t){t.UNKNOWN="UNKNOWN",t.DROPPED="DROPPED",t.QUEUED="QUEUED",t.SENT="SENT",t.SUCCEEDED="SUCCEEDED",t.PARTIALLY_FAILED="PARTIALLY_FAILED",t.FAILED="FAILED",t.PENDING_PRECONDITION="PENDING_PRECONDITION";})(jt||(jt={}));var UN;(function(t){t.SEND="SEND",t.RECEIVE="RECEIVE",t.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",t.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",t.BURN="BURN",t.UNKNOWN="UNKNOWN";})(UN||(UN={}));var _N;(function(t){t.SKIPPED="SKIPPED",t.SUCCEEDED="SUCCEEDED",t.FAILED="FAILED",t.ABORTED="ABORTED",t.REVERTED="REVERTED",t.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(_N||(_N={}));var D1;(function(t){t.UNKNOWN="UNKNOWN",t.ERC20_TOKEN="ERC20_TOKEN",t.ERC1155_TOKEN="ERC1155_TOKEN";})(D1||(D1={}));var HN;(function(t){t.DESC="DESC",t.ASC="ASC";})(HN||(HN={}));var bu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,s)=>this.fetch(this.url("Ping"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"PingReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,s)=>this.fetch(this.url("Version"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"VersionReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,s)=>this.fetch(this.url("RuntimeStatus"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"RuntimeStatusReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,s)=>this.fetch(this.url("GetSequenceContext"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetSequenceContextReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,s)=>this.fetch(this.url("GetChainID"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetChainIDReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,s,r)=>this.fetch(this.url("SendMetaTxn"),et(pt(e,"SendMetaTxnArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SendMetaTxnReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,s,r)=>this.fetch(this.url("GetMetaTxnNonce"),et(pt(e,"GetMetaTxnNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,s,r)=>this.fetch(this.url("GetMetaTxnReceipt"),et(pt(e,"GetMetaTxnReceiptArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnReceiptReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,s,r)=>this.fetch(this.url("Simulate"),et(pt(e,"SimulateArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,s,r)=>this.fetch(this.url("SimulateV3"),et(pt(e,"SimulateV3Args"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateV3Return")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,s,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),et(pt(e,"UpdateMetaTxnGasLimitsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,s)=>this.fetch(this.url("FeeTokens"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"FeeTokensReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,s,r)=>this.fetch(this.url("FeeOptions"),et(pt(e,"FeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"FeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,s,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),et(pt(e,"GetMetaTxnNetworkFeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,s,r)=>this.fetch(this.url("GetMetaTransactions"),et(pt(e,"GetMetaTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,s,r)=>this.fetch(this.url("GetTransactionCost"),et(pt(e,"GetTransactionCostArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetTransactionCostReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,s,r)=>this.fetch(this.url("SentTransactions"),et(pt(e,"SentTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SentTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,s,r)=>this.fetch(this.url("PendingTransactions"),et(pt(e,"PendingTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"PendingTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,s,r)=>this.fetch(this.url("GetGasTank"),et(pt(e,"GetGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,s,r)=>this.fetch(this.url("AddGasTank"),et(pt(e,"AddGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,s,r)=>this.fetch(this.url("UpdateGasTank"),et(pt(e,"UpdateGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,s,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),et(pt(e,"NextGasTankBalanceAdjustmentNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,s,r)=>this.fetch(this.url("AdjustGasTankBalance"),et(pt(e,"AdjustGasTankBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustGasTankBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,s,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),et(pt(e,"GetGasTankBalanceAdjustmentArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,s,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),et(pt(e,"ListGasTankBalanceAdjustmentsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,s,r)=>this.fetch(this.url("ListGasSponsors"),et(pt(e,"ListGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,s,r)=>this.fetch(this.url("GetGasSponsor"),et(pt(e,"GetGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,s,r)=>this.fetch(this.url("AddGasSponsor"),et(pt(e,"AddGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,s,r)=>this.fetch(this.url("UpdateGasSponsor"),et(pt(e,"UpdateGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,s,r)=>this.fetch(this.url("RemoveGasSponsor"),et(pt(e,"RemoveGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"RemoveGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,s,r)=>this.fetch(this.url("AddressGasSponsors"),et(pt(e,"AddressGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddressGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,s,r)=>this.fetch(this.url("GetProjectBalance"),et(pt(e,"GetProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,s,r)=>this.fetch(this.url("AdjustProjectBalance"),et(pt(e,"AdjustProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},et=(t="{}",e={},s=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:t,signal:s}),tt=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){throw to.new({status:t.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (DD[r]||Me).new(s)}return s}),$N={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function J2(t,e){if(e==null||typeof e!="object")return e;let s=$N[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=J2(i,o[c]);}else e[n]&&(e[n]=J2(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function z2(t,e){if(e==null||typeof e!="object")return e;let s=$N[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=z2(a,c[u]);}else e[i]&&(e[i]=z2(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw to.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw to.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var pt=(t,e="")=>JSON.stringify(J2(e,t)),st=(t,e="")=>{let s=t;if(typeof t=="string")try{s=JSON.parse(t);}catch(r){throw to.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return z2(e,s)},Me=class t extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},Y2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ze=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Z2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},X2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Q2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},to=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},rx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ox=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ux=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},lx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},fx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},hx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},dx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},mx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},px=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},gx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},yx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},wx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},vx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},xx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},kx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Px=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},jN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientAborted="WebrpcClientAborted",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.ProjectNotFound="ProjectNotFound",t.AccessKeyNotFound="AccessKeyNotFound",t.AccessKeyMismatch="AccessKeyMismatch",t.InvalidOrigin="InvalidOrigin",t.InvalidService="InvalidService",t.UnauthorizedUser="UnauthorizedUser",t.QuotaExceeded="QuotaExceeded",t.QuotaRateLimit="QuotaRateLimit",t.NoDefaultKey="NoDefaultKey",t.MaxAccessKeys="MaxAccessKeys",t.AtLeastOneKey="AtLeastOneKey",t.Timeout="Timeout",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.NotFound="NotFound",t.InsufficientFee="InsufficientFee",t.NotEnoughBalance="NotEnoughBalance",t.SimulationFailed="SimulationFailed";})(jN||(jN={}));var MN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientAborted=-8]="WebrpcClientAborted",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.ProjectNotFound=1008]="ProjectNotFound",t[t.AccessKeyNotFound=1101]="AccessKeyNotFound",t[t.AccessKeyMismatch=1102]="AccessKeyMismatch",t[t.InvalidOrigin=1103]="InvalidOrigin",t[t.InvalidService=1104]="InvalidService",t[t.UnauthorizedUser=1105]="UnauthorizedUser",t[t.QuotaExceeded=1200]="QuotaExceeded",t[t.QuotaRateLimit=1201]="QuotaRateLimit",t[t.NoDefaultKey=1300]="NoDefaultKey",t[t.MaxAccessKeys=1301]="MaxAccessKeys",t[t.AtLeastOneKey=1302]="AtLeastOneKey",t[t.Timeout=1900]="Timeout",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.NotFound=3e3]="NotFound",t[t.InsufficientFee=3004]="InsufficientFee",t[t.NotEnoughBalance=3005]="NotEnoughBalance",t[t.SimulationFailed=3006]="SimulationFailed";})(MN||(MN={}));var DD={0:Y2,[-1]:Ze,[-2]:Z2,[-3]:X2,[-4]:Q2,[-5]:to,[-6]:ex,[-7]:tx,[-8]:sx,[-9]:rx,[-10]:nx,1e3:ix,1001:ax,1002:ox,1003:cx,1004:ux,1005:lx,1006:fx,1007:hx,1008:dx,1101:mx,1102:px,1103:gx,1104:yx,1105:wx,1200:bx,1201:Sx,1300:vx,1301:Ex,1302:xx,1900:Ax,2001:Ix,2002:Cx,2003:Nx,3e3:Tx,3004:kx,3005:Bx,3006:Px};d();h();d();h();d();h();d();h();var fn={};Ne(fn,{DEPLOY:()=>FN,DefaultGuestAddress:()=>HD,EXECUTE:()=>qD,EXECUTE_USER_OP:()=>Ox,GET_IMPLEMENTATION:()=>jD,GET_LIMIT_USAGE:()=>JD,IMAGE_HASH:()=>MD,INCREMENT_USAGE_LIMIT:()=>WD,IS_VALID_SIGNATURE:()=>qN,PlaceholderAddress:()=>_D,READ_ENTRYPOINT:()=>GD,READ_NONCE:()=>$D,READ_NONCE_4337:()=>KD,RECOVER_SAPIENT_SIGNATURE:()=>KN,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>GN,UPDATE_IMAGE_HASH:()=>FD,ZeroAddress:()=>UD});d();h();var UD="0x0000000000000000000000000000000000000000",_D="0xffff0000ffff0000ffff0000ffff0000ffff0000",HD="0x0000000000006Ac72ed1d192fa28f0058D3F8806",qN=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],FN=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],jD=He.from(["function getImplementation() external view returns (address)"])[0],MD=He.from(["function imageHash() external view returns (bytes32)"])[0],$D=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],qD=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],FD=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],KN=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],GN=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Ox=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],KD=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],GD=He.from(["function entrypoint() public view returns (address)"])[0],WD=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],JD=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();var Lr={};Ne(Lr,{BEHAVIOR_ABORT_ON_ERROR:()=>Hx,BEHAVIOR_IGNORE_ERROR:()=>Ux,BEHAVIOR_REVERT_ON_ERROR:()=>_x,KIND_CONFIG_UPDATE:()=>Dx,KIND_DIGEST:()=>Vx,KIND_MESSAGE:()=>Lx,KIND_TRANSACTIONS:()=>Rx,decode:()=>cV,decodeBehaviorOnError:()=>eT,encode:()=>YN,encode4337Nonce:()=>ZN,encodeBehaviorOnError:()=>Su,encodeSapient:()=>iV,fromAbiFormat:()=>lV,fromCall:()=>QD,fromConfigUpdate:()=>WN,fromDigest:()=>XD,fromMessage:()=>ZD,hash:()=>$x,hashCall:()=>oV,isCalls:()=>eV,isCalls4337_07:()=>rV,isConfigUpdate:()=>sV,isDigest:()=>JN,isMessage:()=>tV,isParented:()=>nV,isRecovery:()=>jx,isSessionImplicitAuthorize:()=>Mx,to4337Message:()=>QN,to4337UserOperation:()=>XN,toAbiFormat:()=>tT,toRecovery:()=>zN,toTyped:()=>qx});d();h();d();h();function Hh(t){return Math.ceil(t.toString(16).length/2)}var Rx=0,Lx=1,Dx=2,Vx=3,Ux=0,_x=1,Hx=2;function ZD(t){return {type:"message",message:t}}function WN(t){return {type:"config-update",imageHash:t}}function XD(t){return {type:"digest",digest:t}}function QD(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function eV(t){return t.type==="call"}function tV(t){return t.type==="message"}function sV(t){return t.type==="config-update"}function JN(t){return t.type==="digest"}function jx(t){return Mx(t)?!1:t.recovery===!0}function rV(t){return t.type==="call_4337_07"}function nV(t){return "parentWallets"in t}function zN(t){return jx(t)?t:{...t,recovery:!0}}function Mx(t){return t.type==="session-implicit-authorize"}function YN(t,e){let s=t.calls.length,r=Hh(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=Su(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function iV(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(Su(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function $x(t,e,s){if(JN(s))return f.fromHex(s.digest);if(Mx(s))return jh.hash(s.attestation);let r=qx(t,e,s);return f.fromHex(dh(r))}function aV(t,e,s){return jx(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function ZN(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function qx(t,e,s){let r=aV(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(Su(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:QN(s,t,e)};return qx(t,e,n)}}}function XN(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(YN(r));return {sender:e,nonce:ZN(t.space,t.nonce),callData:me.encodeData(Ox,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function QN(t,e,s){let r=XN(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function Su(t){switch(t){case"ignore":return Ux;case"revert":return _x;case"abort":return Hx}}function oV(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(Su(t.behaviorOnError))]))}function cV(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let S=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");S=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=eT(B);l.push({to:E,value:S,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function eT(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function uV(t){switch(t){case Ux:return "ignore";case _x:return "revert";case Hx:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function lV(t){if(t.kind===Rx)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:uV(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Lx)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Dx)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Vx)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function tT(t){if(t.type==="call")return {kind:Rx,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(Su(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:Lx,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:Dx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:Vx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var jh={};Ne(jh,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>cT,decode:()=>gV,decodeAuthData:()=>iT,encode:()=>rT,encodeAuthData:()=>nT,encodeForJson:()=>aT,fromJson:()=>bV,fromParsed:()=>oT,generateImplicitRequestMagic:()=>SV,hash:()=>yV,toJson:()=>wV});d();h();function rT(t){let e=nT(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function nT(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function gV(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=iT(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function iT(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function yV(t){return he.keccak256(rT(t))}function wV(t,e){return JSON.stringify(aT(t),null,e)}function aT(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function bV(t){return oT(JSON.parse(t))}function oT(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var cT=he.keccak256(f.fromString("acceptImplicitRequest"));function SV(t,e){return he.keccak256(f.concat(cT,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}d();h();var uT;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(uT||(uT={}));({SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)});d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();f.fromString(`Sequence recovery leaf:
359
- `);He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0];He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0];He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0];He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];var U1={};Ne(U1,{ALL:()=>Fx,ChainId:()=>Z,NetworkType:()=>Ce,getNetworkFromChainId:()=>jV,getNetworkFromName:()=>HV});d();h();var Ce;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ce||(Ce={}));var Z={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},Fx=[{chainId:Z.MAINNET,type:Ce.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Pe("mainnet"),logoUrl:Oe(Z.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Z.SEPOLIA,type:Ce.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Pe("sepolia"),logoUrl:Oe(Z.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.POLYGON,type:Ce.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Pe("polygon"),logoUrl:Oe(Z.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Z.POLYGON_AMOY,type:Ce.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Pe("amoy"),logoUrl:Oe(Z.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Z.POLYGON_ZKEVM,type:Ce.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Pe("polygon-zkevm"),logoUrl:Oe(Z.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BSC,type:Ce.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Pe("bsc"),logoUrl:Oe(Z.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Z.BSC_TESTNET,type:Ce.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Pe("bsc-testnet"),logoUrl:Oe(Z.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Z.OPTIMISM,type:Ce.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Pe("optimism"),logoUrl:Oe(Z.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.OPTIMISM_SEPOLIA,type:Ce.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Pe("optimism-sepolia"),logoUrl:Oe(Z.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM,type:Ce.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Pe("arbitrum"),logoUrl:Oe(Z.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.ARBITRUM_SEPOLIA,type:Ce.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Pe("arbitrum-sepolia"),logoUrl:Oe(Z.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM_NOVA,type:Ce.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Pe("arbitrum-nova"),logoUrl:Oe(Z.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.AVALANCHE,type:Ce.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Pe("avalanche"),logoUrl:Oe(Z.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Z.AVALANCHE_TESTNET,type:Ce.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Pe("avalanche-testnet"),logoUrl:Oe(Z.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Z.GNOSIS,type:Ce.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Pe("gnosis"),logoUrl:Oe(Z.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Z.BASE,type:Ce.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Pe("base"),logoUrl:Oe(Z.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BASE_SEPOLIA,type:Ce.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Pe("base-sepolia"),logoUrl:Oe(Z.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.HOMEVERSE,type:Ce.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Pe("homeverse"),logoUrl:Oe(Z.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Z.HOMEVERSE_TESTNET,type:Ce.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Pe("homeverse-testnet"),logoUrl:Oe(Z.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Z.XAI,type:Ce.MAINNET,name:"xai",title:"Xai",rpcUrl:Pe("xai"),logoUrl:Oe(Z.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Z.XAI_SEPOLIA,type:Ce.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Pe("xai-sepolia"),logoUrl:Oe(Z.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Z.B3,type:Ce.MAINNET,name:"b3",title:"B3",rpcUrl:Pe("b3"),logoUrl:Oe(Z.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.B3_SEPOLIA,type:Ce.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Pe("b3-sepolia"),logoUrl:Oe(Z.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.APECHAIN,type:Ce.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Pe("apechain"),logoUrl:Oe(Z.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.APECHAIN_TESTNET,type:Ce.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Pe("apechain-testnet"),logoUrl:Oe(Z.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.BLAST,type:Ce.MAINNET,name:"blast",title:"Blast",rpcUrl:Pe("blast"),logoUrl:Oe(Z.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BLAST_SEPOLIA,type:Ce.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Pe("blast-sepolia"),logoUrl:Oe(Z.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TELOS,type:Ce.MAINNET,name:"telos",title:"Telos",rpcUrl:Pe("telos"),logoUrl:Oe(Z.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.TELOS_TESTNET,type:Ce.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Pe("telos-testnet"),logoUrl:Oe(Z.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.SKALE_NEBULA,type:Ce.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Pe("skale-nebula"),logoUrl:Oe(Z.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SKALE_NEBULA_TESTNET,type:Ce.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Pe("skale-nebula-testnet"),logoUrl:Oe(Z.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SONEIUM,type:Ce.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Pe("soneium"),logoUrl:Oe(Z.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.SONEIUM_MINATO,type:Ce.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Pe("soneium-minato"),logoUrl:Oe(Z.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TOY_TESTNET,type:Ce.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Pe("toy-testnet"),logoUrl:Oe(Z.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM,type:Ce.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Pe("immutable-zkevm"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM_TESTNET,type:Ce.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Pe("immutable-zkevm-testnet"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.MOONBEAM,type:Ce.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Pe("moonbeam"),logoUrl:Oe(Z.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.MOONBASE_ALPHA,type:Ce.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Pe("moonbase-alpha"),logoUrl:Oe(Z.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.ETHERLINK,type:Ce.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Pe("etherlink"),logoUrl:Oe(Z.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.ETHERLINK_TESTNET,type:Ce.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Pe("etherlink-testnet"),logoUrl:Oe(Z.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.MONAD,type:Ce.MAINNET,name:"monad",title:"Monad",rpcUrl:Pe("monad"),logoUrl:Oe(Z.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.MONAD_TESTNET,type:Ce.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Pe("monad-testnet"),logoUrl:Oe(Z.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.SOMNIA,type:Ce.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Pe("somnia"),logoUrl:Oe(Z.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Z.SOMNIA_TESTNET,type:Ce.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Pe("somnia-testnet"),logoUrl:Oe(Z.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Z.INCENTIV_TESTNET_V2,type:Ce.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Pe("incentiv-testnet-v2"),logoUrl:Oe(Z.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Z.KATANA,type:Ce.MAINNET,name:"katana",title:"Katana",rpcUrl:Pe("katana"),logoUrl:Oe(Z.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Z.SANDBOX_TESTNET,type:Ce.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Pe("sandbox-testnet"),logoUrl:Oe(Z.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Z.ARC_TESTNET,type:Ce.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Pe("arc-testnet"),logoUrl:Oe(Z.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Pe(t){return `https://nodes.sequence.app/${t}`}function Oe(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function HV(t){return Fx.find(e=>e.name===t)}function jV(t){return Fx.find(e=>e.chainId===Number(t))}d();h();d();h();var _1=class{address;min;max;constructor(e,s,r){this.address=e,this.min=s,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},H1=class{address;token;min;max;constructor(e,s,r,n){this.address=e,this.token=s,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},j1=class{address;token;operator;min;constructor(e,s,r,n){this.address=e,this.token=s,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},M1=class{address;token;tokenId;owned;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},$1=class{address;token;tokenId;operator;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},q1=class{address;token;tokenId;min;max;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},F1=class{address;token;tokenId;operator;min;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();h();function K1(t){if(!t)return;let e;try{switch(t.type){case"native-balance":e=new _1(j.from(t.ownerAddress),t.minAmount,void 0);break;case"erc20-balance":e=new H1(j.from(t.ownerAddress),j.from(t.tokenAddress),t.minAmount,void 0);break;case"erc20-approval":e=new j1(j.from(t.ownerAddress),j.from(t.tokenAddress),j.from(t.ownerAddress),t.minAmount);break;case"erc721-ownership":e=new M1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new $1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress));break;case"erc1155-balance":e=new q1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),t.minAmount,void 0);break;case"erc1155-approval":e=new F1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress),t.minAmount);break;default:return}let s=e.isValid();if(s){console.warn(`Invalid precondition: ${s.message}`);return}return e}catch(s){console.warn(`Failed to decode precondition: ${s}`);return}}d();h();d();h();var G1=me.from("function balanceOf(address) returns (uint256)"),W1=me.from("function allowance(address,address) returns (uint256)"),J1=me.from("function ownerOf(uint256) returns (address)"),z1=me.from("function getApproved(uint256) returns (address)"),Y1=me.from("function balanceOf(address,uint256) returns (uint256)"),Z1=me.from("function isApprovedForAll(address,address) returns (bool)");var KV=t=>({id:t.chainId,name:t.title||t.name,nativeCurrency:{name:t.nativeCurrency.name,symbol:t.nativeCurrency.symbol,decimals:t.nativeCurrency.decimals},rpcUrls:{default:{http:[t.rpcUrl]}},blockExplorers:t.blockExplorer?{default:{name:t.blockExplorer.name||"Explorer",url:t.blockExplorer.url}}:void 0,contracts:t.ensAddress?{ensUniversalResolver:{address:t.ensAddress}}:void 0}),mT=t=>{let e=U1.getNetworkFromChainId(t);if(e)return KV(e);let s=Object.values(FV).find(r=>typeof r=="object"&&"id"in r&&r.id===t);if(s)return s;throw new Error(`Chain with id ${t} not found in Sequence networks or viem chains`)},Kx=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,s,r,n,i){this.id=`rpc:${e}`,this.chainId=s,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new bu(e,this.fetch);let o=mT(s);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,s){return Promise.resolve(this.chainId===s)}async feeTokens(){try{let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.client.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,s,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=Lr.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:f.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,s,r,n,i,a){console.log("sendMetaTxn",e,s,r,n,i,a);let o={walletAddress:e,contract:s,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:P.fromString(c.txnHash)}}async relay(e,s,r,n,i){console.log("relay",e,s,r,n,i);let a={walletAddress:e,contract:e,input:s},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,s){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case jt.QUEUED:case jt.PENDING_PRECONDITION:case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case jt.FAILED:case jt.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case jt.DROPPED:return {status:"failed",reason:"Transaction dropped"};case jt.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let s=K1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=s;try{let n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=s;try{let n=me.encodeData(W1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=s;try{let n=me.encodeData(J1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=s;try{let n=me.encodeData(z1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=s;try{let n=me.encodeData(Y1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=s;try{let n=me.encodeData(Z1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===D1.ERC20_TOKEN&&e.contractAddress?j.from(e.contractAddress):fn.ZeroAddress}};d();h();d();h();var so=class t{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,s){return Promise.resolve(!0)}static createFromWindow(e){let s=e.ethereum;if(!s){console.warn("Window.ethereum not found, skipping local relayer");return}return new t(new ro(s))}static createFromProvider(e){return new t(new ro(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,s,r){return Promise.resolve({options:[]})}decodeCalls(e){let s=me.getSelector(fn.EXECUTE),r;return e.startsWith(s)?r=me.decodeData(fn.EXECUTE,e)[0]:r=e,Lr.decode(f.fromHex(r))}async relay(e,s,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:s},r)}:new Promise((c,u)=>{let l,p=!1,w=async()=>{try{if(p)return;if(await o()){p=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:s},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){p=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{p=!0,clearTimeout(l);}})}async status(e,s){let r=await this.provider.getTransactionReceipt(e,s);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let s=K1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=s,n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=s,n=me.encodeData(W1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=s,n=me.encodeData(J1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=s,n=me.encodeData(z1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=s,n=me.encodeData(Y1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=s,n=me.encodeData(Z1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},ro=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(s){console.error("Error switching chain",s);}}async sendTransaction(e,s){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(s),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let s=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(s)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,s){await this.trySwitchChain(s);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=ou.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();h();var Gx=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,s){this.provider=s;let r=j.fromPublicKey(es.getPublicKey({privateKey:e}));this.relayer=new so({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),p=100000000n,w=l+p,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let S=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),I=Ja.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:p,nonce:S,value:0n}),C=es.sign({payload:Ja.getSignPayload(I),privateKey:e}),D=Ja.from(I,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[Ja.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(P.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?ou.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,s){return Number(await this.provider.request({method:"eth_chainId"}))===s}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return !0}};d();h();var Wx=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new bu(e,fetch);}async isAvailable(e,s){return !0}async feeTokens(){let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.service.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,s,r){let n=e,i=me.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=Lr.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=me.encodeData(i,[f.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,s,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:s},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,s){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case jt.UNKNOWN:return {status:"unknown"};case jt.DROPPED:return {status:"failed",reason:n??r};case jt.QUEUED:return {status:"pending"};case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return P.assert(o),{status:"confirmed",transactionHash:o}}case jt.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case jt.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var Zx={};Ne(Zx,{EIP6963Relayer:()=>X1,getEIP6963Store:()=>gT,getRelayers:()=>GV});d();h();d();h();d();h();d();h();function pT(t){if(typeof window>"u")return;let e=s=>t(s.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function Jx(){let t=new Set,e=[],s=()=>pT(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],t.forEach(i=>i(e,{added:[n]})));}),r=s();return {_listeners(){return t},clear(){t.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),t.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=s();},subscribe(n,{emitImmediately:i}={}){return t.add(n),i&&n(e,{added:e}),()=>t.delete(n)}}}var X1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new so(new ro(e.provider));}isAvailable(e,s){return this.relayer.isAvailable(e,s)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},zx;function gT(){return zx||(zx=Jx()),zx}var Yx=new Map;function GV(){let e=gT().getProviders();for(let s of e)Yx.has(s.info.uuid)||Yx.set(s.info.uuid,new X1(s));return Array.from(Yx.values())}d();h();function WV(t){return "isAvailable"in t&&"feeOptions"in t&&"relay"in t&&"status"in t&&"checkPrecondition"in t}d();h();d();h();d();h();d();h();var ee={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},gt={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},De={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Dr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},Et=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},vu={MIN:-(2n**63n),MAX:2n**64n-1n};d();h();var Le=class t{static#e=new Map;tag;contents;constructor(e,s=void 0){this.tag=e,this.contents=s;}get noChildren(){return !!t.#e.get(this.tag)?.noChildren}static registerDecoder(e,s,r){let n=this.#e.get(e);return this.#e.set(e,s),n&&("comment"in s||(s.comment=n.comment),"noChildren"in s||(s.noChildren=n.noChildren)),r&&!s.comment&&(s.comment=()=>`(${r})`),n}static clearDecoder(e){let s=this.#e.get(e);return this.#e.delete(e),s}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let s=t.#e.get(this.tag);return s?s(this,e):this}comment(e,s){let r=t.#e.get(this.tag);if(r?.comment)return r.comment(this,e,s)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `${this.tag}(${r(this.contents,s)})`}};d();h();function fi(t){if(t!=null&&typeof t=="object")return t[Et.ENCODED]}function yT(t){if(t!=null&&typeof t=="object")return t[Et.LENGTH]}function hi(t,e){Object.defineProperty(t,Et.ENCODED,{configurable:!0,enumerable:!1,value:e});}function di(t,e){let s=Object(t);return hi(s,e),s}d();h();var Xx=Symbol("CBOR_RANGES");function wT(t,e){Object.defineProperty(t,Xx,{configurable:!1,enumerable:!1,writable:!1,value:e});}function $h(t){return t[Xx]}function JV(t){return $h(t)!==void 0}function qh(t,e=0,s=t.length-1){let r=t.subarray(e,s),n=$h(t);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=s){let o=[...a];o[0]-=e,i.push(o);}i.length&&wT(r,i);}return r}function Q1(t){let e=Math.ceil(t.length/2),s=new Uint8Array(e);e--;for(let r=t.length,n=r-2;r>=0;r=n,n-=2,e--)s[e]=parseInt(t.substring(n,r),16);return s}function ss(t){return t.reduce((e,s)=>e+s.toString(16).padStart(2,"0"),"")}function bT(t){let e=t.reduce((a,o)=>a+o.length,0),s=t.some(a=>JV(a)),r=[],n=new Uint8Array(e),i=0;for(let a of t){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),s){let o=a[Xx]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return s&&wT(n,r),n}function Fh(t){let e=atob(t);return Uint8Array.from(e,s=>s.codePointAt(0))}var zV={"-":"+",_:"/"};function ST(t){let e=t.replace(/[_-]/g,s=>zV[s]);return Fh(e.padEnd(Math.ceil(e.length/4)*4,"="))}function vT(){let t=new Uint8Array(4),e=new Uint32Array(t.buffer);return !((e[0]=1)&t[0])}function Qx(t){let e="";for(let s of t){let r=s.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();h();d();h();function ey(t,e){let[s,r,n]=t,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();h();var Kh=class t{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...t.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),s=0;for(let r of this.#s)e.set(r,s),s+=r.length;return this.#i(),e}write(e){let s=e.length;s>this.#u()?(this.#n(),s>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=s)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=s),this.#a+=s;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,s=!1){this.#c(2),this.#r.setUint16(this.#t,e,s),this.#o(2);}writeUint32(e,s=!1){this.#c(4),this.#r.setUint32(this.#t,e,s),this.#o(4);}writeBigUint64(e,s=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,s),this.#o(8);}writeInt16(e,s=!1){this.#c(2),this.#r.setInt16(this.#t,e,s),this.#o(2);}writeInt32(e,s=!1){this.#c(4),this.#r.setInt32(this.#t,e,s),this.#o(4);}writeBigInt64(e,s=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,s),this.#o(8);}writeFloat32(e,s=!1){this.#c(4),this.#r.setFloat32(this.#t,e,s),this.#o(4);}writeFloat64(e,s=!1){this.#c(8),this.#r.setFloat64(this.#t,e,s),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();h();function eA(t,e=0,s=!1){let r=t[e]&128?-1:1,n=(t[e]&124)>>2,i=(t[e]&3)<<8|t[e+1];if(n===0){if(s&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function ty(t){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,t,!1);let s=e.getUint32(0,!1);if(s&8191)return null;let r=s>>16&32768,n=s>>23&255,i=s&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function ET(t){if(t!==0){let e=new ArrayBuffer(8),s=new DataView(e);s.setFloat64(0,t,!1);let r=s.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return t}function xT(t){switch(t.length){case 2:eA(t,0,!0);break;case 4:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getUint32(0,!1);if(!(s&2139095040)&&s&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getBigUint64(0,!1);if((s&0x7ff0000000000000n)===0n&&s&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${t}`)}}var AT=ee.SIMPLE_FLOAT<<5|De.TWO,YV=ee.SIMPLE_FLOAT<<5|De.FOUR,ZV=ee.SIMPLE_FLOAT<<5|De.EIGHT,XV=ee.SIMPLE_FLOAT<<5|Dr.TRUE,QV=ee.SIMPLE_FLOAT<<5|Dr.FALSE,eU=ee.SIMPLE_FLOAT<<5|Dr.UNDEFINED,tU=ee.SIMPLE_FLOAT<<5|Dr.NULL,sU=new TextEncoder,sy={...Kh.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},rA={cde:!0,ignoreOriginalEncoding:!0,sortKeys:ey},IT={...rA,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function CT(t){let e=t<0;return typeof t=="bigint"?[e?-t-1n:t,e]:[e?-t-1:t,e]}function tA(t,e,s){if(s.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${t}`);if(isNaN(t))e.writeUint8(AT),e.writeUint16(32256);else if(!s.float64&&Math.fround(t)===t){let r=ty(t);r===null?(e.writeUint8(YV),e.writeFloat32(t)):(e.writeUint8(AT),e.writeUint16(r));}else e.writeUint8(ZV),e.writeFloat64(t);}function qs(t,e,s){let[r,n]=CT(t);if(n&&s)throw new TypeError(`Negative size: ${t}`);s??=n?ee.NEG_INT:ee.POS_INT,s<<=5,r<24?e.writeUint8(s|r):r<=255?(e.writeUint8(s|De.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(s|De.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(s|De.FOUR),e.writeUint32(r)):(e.writeUint8(s|De.EIGHT),e.writeBigUint64(BigInt(r)));}function Gh(t,e,s){typeof t=="number"?qs(t,e,ee.TAG):typeof t=="object"&&!s.ignoreOriginalEncoding&&Et.ENCODED in t?e.write(t[Et.ENCODED]):t<=Number.MAX_SAFE_INTEGER?qs(Number(t),e,ee.TAG):(e.writeUint8(ee.TAG<<5|De.EIGHT),e.writeBigUint64(BigInt(t)));}function NT(t,e,s){let[r,n]=CT(t);if(s.collapseBigInts&&(!s.largeNegativeAsBigInt||t>=-0x8000000000000000n)){if(r<=0xffffffffn){qs(Number(t),e);return}if(r<=0xffffffffffffffffn){let u=(n?ee.NEG_INT:ee.POS_INT)<<5;e.writeUint8(u|De.EIGHT),e.writeBigUint64(r);return}}if(s.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${t}`);let i=n?gt.NEG_BIGINT:gt.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Gh(i,e,s);let c=Q1(o+a);qs(c.length,e,ee.BYTE_STRING),e.write(c);}function rU(t,e,s){s.flushToZero&&(t=ET(t)),Object.is(t,-0)?s.simplifyNegativeZero?s.avoidInts?tA(0,e,s):qs(0,e):tA(t,e,s):!s.avoidInts&&Number.isSafeInteger(t)?qs(t,e):s.reduceUnsafeNumbers&&Math.floor(t)===t&&t>=vu.MIN&&t<=vu.MAX?NT(BigInt(t),e,s):tA(t,e,s);}function nU(t,e,s){let r=s.stringNormalization?t.normalize(s.stringNormalization):t,n=sU.encode(r);qs(n.length,e,ee.UTF8_STRING),e.write(n);}function iU(t,e,s){let r=t;ry(r,r.length,ee.ARRAY,e,s);for(let n of r)mi(n,e,s);}function aU(t,e){let s=t;qs(s.length,e,ee.BYTE_STRING),e.write(s);}var sA=new Map([[Array,iU],[Uint8Array,aU]]);function It(t,e){let s=sA.get(t);return sA.set(t,e),s}function ry(t,e,s,r,n){let i=yT(t);i&&!n.ignoreOriginalEncoding?r.write(i):qs(e,r,s);}function oU(t,e,s){if(t===null){e.writeUint8(tU);return}if(!s.ignoreOriginalEncoding&&Et.ENCODED in t){e.write(t[Et.ENCODED]);return}let r=sA.get(t.constructor);if(r){let i=r(t,e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Gh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toCBOR=="function"){let i=t.toCBOR(e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Gh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toJSON=="function"){mi(t.toJSON(),e,s);return}let n=Object.entries(t).map(i=>[i[0],i[1],hn(i[0],s)]);s.sortKeys&&n.sort(s.sortKeys),ry(t,n.length,ee.MAP,e,s);for(let[i,a,o]of n)e.write(o),mi(a,e,s);}function mi(t,e,s){switch(typeof t){case"number":rU(t,e,s);break;case"bigint":NT(t,e,s);break;case"string":nU(t,e,s);break;case"boolean":e.writeUint8(t?XV:QV);break;case"undefined":if(s.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(eU);break;case"object":oU(t,e,s);break;case"symbol":throw new TypeError(`Unknown symbol: ${t.toString()}`);default:throw new TypeError(`Unknown type: ${typeof t}, ${String(t)}`)}}function hn(t,e={}){let s={...sy};e.dcbor?Object.assign(s,IT):e.cde&&Object.assign(s,rA),Object.assign(s,e);let r=new Kh(s);return mi(t,r,s),r.read()}d();h();d();h();var no=(t=>(t[t.NEVER=-1]="NEVER",t[t.PREFERRED=0]="PREFERRED",t[t.ALWAYS=1]="ALWAYS",t))(no||{});d();h();d();h();var mr=class t{static KnownSimple=new Map([[Dr.FALSE,!1],[Dr.TRUE,!0],[Dr.NULL,null],[Dr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return t.KnownSimple.has(e)?t.KnownSimple.get(e):new t(e)}toCBOR(e,s){if(s.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);qs(this.value,e,ee.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return t.KnownSimple.has(this.value)?t.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `simple(${r(this.value,s)})`}};var cU=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),dn=class t{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,s){if(this.#t={...t.defaultOptions,...s},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=Q1(e);break;case"base64":this.#e=Fh(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return qh(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let s=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case De.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===ee.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case De.TWO:if(c=2,n===ee.SIMPLE_FLOAT)a=eA(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case De.FOUR:if(c=4,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case De.EIGHT:{if(c=8,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case De.INDEFINITE:switch(n){case ee.POS_INT:case ee.NEG_INT:case ee.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case ee.SIMPLE_FLOAT:yield [n,i,Et.BREAK,s,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case ee.POS_INT:yield [n,i,a,s,c];break;case ee.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),s,c];break;case ee.BYTE_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,this.#i(a),s,a];break;case ee.UTF8_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,cU.decode(this.#i(a)),s,a];break;case ee.ARRAY:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case ee.MAP:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case ee.TAG:yield [n,i,a,s,c],yield*this.#a(e);break;case ee.SIMPLE_FLOAT:{let u=a;o&&(a=mr.create(Number(a))),yield [n,i,a,s,u];break}}}#i(e){let s=qh(this.#e,this.#r,this.#r+=e);if(s.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${s.length}`);return s}*#n(e,s,r,n=!0){for(yield [e,De.INDEFINITE,1/0,r,1/0];;){let i=this.#a(s),a=i.next(),[o,c,u]=a.value;if(u===Et.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===De.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var uU=new Map([[De.ZERO,1],[De.ONE,2],[De.TWO,3],[De.FOUR,5],[De.EIGHT,9]]),lU=new Uint8Array(0);function fU(t,e){return !e.boxed&&!e.preferMap&&t.every(([s])=>typeof s=="string")?Object.fromEntries(t):new Map(t)}var Is=class t{static defaultDecodeOptions={...dn.defaultOptions,ParentType:t,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:no.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:fU,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:ey};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,s,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=s,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===ee.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===De.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,s,r,n){let[i,a,o,c]=e;switch(i){case ee.POS_INT:case ee.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=vu.MIN&&u<=vu.MAX&&(u=Number(o)),r.boxed?di(u,n.toHere(c)):u}case ee.SIMPLE_FLOAT:if(a>De.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${ss(u)}"`)}if(r.rejectSubnormals&&xT(n.toHere(c+1)),r.rejectLongFloats){let u=hn(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<uU.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return di(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof mr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case ee.BYTE_STRING:case ee.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,s,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${Qx(o)}] instead of [${Qx(u)}]`)}return r.boxed?di(o,n.toHere(c)):o;case ee.ARRAY:return new r.ParentType(e,o,s,r);case ee.MAP:return new r.ParentType(e,o*2,s,r);case ee.TAG:{let u=new r.ParentType(e,1,s,r);return u.children=new Le(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...sy,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,s,r){if(this.children.push(e),this.#s){let n=fi(e)||s.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,s,r){let n,i=-1/0;if(this.children instanceof Le?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=fi(e)||r.toHere(s.offset);this.#s[i]=a;}return n}convert(e){let s;switch(this.mt){case ee.ARRAY:s=this.children;break;case ee.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}s=this.#e.createObject(r,this.#e);break}case ee.BYTE_STRING:return bT(this.children);case ee.UTF8_STRING:{let r=this.children.join("");s=this.#e.boxed?di(r,e.toHere(this.offset)):r;break}case ee.TAG:s=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&s&&typeof s=="object"&&hi(s,e.toHere(this.offset)),s}#r(){let e=this.children,s=e.length;if(s%2)throw new Error("Missing map value");let r=new Array(s/2);if(this.#s)for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],lU];return r}};d();h();d();h();var nA=" ",hU=new TextEncoder,ny=class extends Is{close="";quote='"';get isEmptyStream(){return (this.mt===ee.UTF8_STRING||this.mt===ee.BYTE_STRING)&&this.count===0}};function pi(t,e,s,r){let n="";if(e===De.INDEFINITE)n+="_";else {if(r.diagnosticSizes===no.NEVER)return "";{let i=r.diagnosticSizes===no.ALWAYS;if(!i){let a=De.ZERO;if(Object.is(s,-0))a=De.TWO;else if(t===ee.POS_INT||t===ee.NEG_INT){let o=s<0,c=typeof s=="bigint"?1n:1,u=o?-s-c:s;u<=23?a=Number(u):u<=255?a=De.ONE:u<=65535?a=De.TWO:u<=4294967295?a=De.FOUR:a=De.EIGHT;}else isFinite(s)?Math.fround(s)===s?ty(s)==null?a=De.FOUR:a=De.TWO:a=De.EIGHT:a=De.TWO;i=a!==e;}i&&(n+="_",e<De.ONE?n+="i":n+=String(e-24));}}return n}function iA(t,e){let s={...Is.defaultDecodeOptions,...e,ParentType:ny},r=new dn(t,s),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==Et.BREAK&&(n.mt===ee.MAP&&n.count%2?a+=": ":(a+=",",s.pretty||(a+=" "))),s.pretty&&(n.mt!==ee.MAP||n.count%2===0)&&(a+=`
360
- ${nA.repeat(n.depth+1)}`)),i=Is.create(o,n,s,r),c){case ee.POS_INT:case ee.NEG_INT:a+=String(l),a+=pi(c,u,l,s);break;case ee.SIMPLE_FLOAT:if(l!==Et.BREAK)if(typeof l=="number"){let p=Object.is(l,-0)?"-0.0":String(l);a+=p,isFinite(l)&&!/[.e]/.test(p)&&(a+=".0"),a+=pi(c,u,l,s);}else l instanceof mr?(a+="simple(",a+=String(l.value),a+=pi(ee.POS_INT,u,l.value,s),a+=")"):a+=String(l);break;case ee.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=ss(l),a+="'",a+=pi(ee.POS_INT,u,l.length,s));break;case ee.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=pi(ee.POS_INT,u,hU.encode(l).length,s));break;case ee.ARRAY:{a+="[";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
361
- ${nA.repeat(i.depth)}]`:i.close="]";break}case ee.MAP:{a+="{";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
362
- ${nA.repeat(i.depth)}}`:i.close="}";break}case ee.TAG:a+=String(l),a+=pi(ee.POS_INT,u,l,s),a+="(",i.close=")";break}if(i===Et.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof ny&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===ee.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var dU=new TextDecoder,Jh=class extends Is{depth=0;leaf=!1;value;length;[Et.ENCODED];constructor(e,s,r,n){super(e,s,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case De.ONE:return 1;case De.TWO:return 2;case De.FOUR:return 4;case De.EIGHT:return 8}return 0}};function TT(t){return t instanceof Jh}function iy(t,e){return t===1/0?"Indefinite":e?`${t} ${e}${t!==1&&t!==1n?"s":""}`:String(t)}function Wh(t){return "".padStart(t," ")}function kT(t,e,s){let r="";r+=Wh(t.depth*2);let n=fi(t);r+=ss(n.subarray(0,1));let i=t.numBytes();i&&(r+=" ",r+=ss(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",s!==void 0&&(r+=Wh(t.depth*2),s!==""&&(r+=`[${s}] `));let a=!1,[o]=t.children;switch(t.mt){case ee.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.BYTE_STRING:r+=`Bytes (Length: ${iy(t.length)})`;break;case ee.UTF8_STRING:r+=`UTF8 (Length: ${iy(t.length)})`,t.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case ee.ARRAY:r+=`Array (Length: ${iy(t.value,"item")})`;break;case ee.MAP:r+=`Map (Length: ${iy(t.value,"pair")})`;break;case ee.TAG:{r+=`Tag #${t.value}`;let c=t.children,[u]=c.contents.children,l=new Le(c.tag,u);hi(l,n);let p=l.comment(e,t.depth);p&&(r+=": ",r+=p),a||=l.noChildren;break}case ee.SIMPLE_FLOAT:o===Et.BREAK?r+="BREAK":t.ai>De.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof mr?r+=o.value:r+=o);break}if(!a)if(t.leaf){if(r+=`
363
- `,n.length>i+1){let c=Wh((t.depth+1)*2),u=$h(n);if(u?.length){u.sort((p,w)=>p[0]-w[0]||w[1]-p[1]);let l=0;for(let[p,w,E]of u)if(!(p<l)){if(l=p+w,E==="<<"){r+=Wh(e.minCol+1),r+="--",r+=c,r+="<< ";let S=qh(n,p,p+w),I=$h(S);if(I){let C=I.findIndex(([D,V,B])=>D===0&&V===w&&B==="<<");C>=0&&I.splice(C,1);}r+=iA(S),r+=` >>
364
- `,r+=ay(S,{initialDepth:t.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Wh(e.minCol+1),r+="--",r+=c,r+="'",r+=dU.decode(n.subarray(p,p+w)),r+=`'
365
- `);if(p>i)for(let S=p;S<p+w;S+=8){let I=Math.min(S+8,p+w);r+=c,r+=ss(n.subarray(S,I)),r+=`
357
+ [${C}] ${w} returned: ${O1(I)}
358
+ [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(t,s)}({knownContexts:Za.KnownContexts,stateProvider:new _h.Provider,guest:yt.DefaultGuestAddress});d();h();d();h();d();h();d();h();d();h();d();h();d();h();var Mh={};Ne(Mh,{EIP1193ProviderAdapter:()=>ro,EIP6963:()=>Yx,LocalRelayer:()=>so,PkRelayer:()=>Gx,RpcRelayer:()=>qx,SequenceRelayer:()=>Kx,getChain:()=>dT,isRelayer:()=>zV});d();h();d();h();d();h();var jt;(function(t){t.UNKNOWN="UNKNOWN",t.DROPPED="DROPPED",t.QUEUED="QUEUED",t.SENT="SENT",t.SUCCEEDED="SUCCEEDED",t.PARTIALLY_FAILED="PARTIALLY_FAILED",t.FAILED="FAILED",t.PENDING_PRECONDITION="PENDING_PRECONDITION";})(jt||(jt={}));var VN;(function(t){t.SEND="SEND",t.RECEIVE="RECEIVE",t.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",t.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",t.BURN="BURN",t.UNKNOWN="UNKNOWN";})(VN||(VN={}));var UN;(function(t){t.SKIPPED="SKIPPED",t.SUCCEEDED="SUCCEEDED",t.FAILED="FAILED",t.ABORTED="ABORTED",t.REVERTED="REVERTED",t.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(UN||(UN={}));var L1;(function(t){t.UNKNOWN="UNKNOWN",t.ERC20_TOKEN="ERC20_TOKEN",t.ERC1155_TOKEN="ERC1155_TOKEN";})(L1||(L1={}));var _N;(function(t){t.DESC="DESC",t.ASC="ASC";})(_N||(_N={}));var bu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,s)=>this.fetch(this.url("Ping"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"PingReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,s)=>this.fetch(this.url("Version"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"VersionReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,s)=>this.fetch(this.url("RuntimeStatus"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"RuntimeStatusReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,s)=>this.fetch(this.url("GetSequenceContext"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetSequenceContextReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,s)=>this.fetch(this.url("GetChainID"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetChainIDReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,s,r)=>this.fetch(this.url("SendMetaTxn"),et(pt(e,"SendMetaTxnArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SendMetaTxnReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,s,r)=>this.fetch(this.url("GetMetaTxnNonce"),et(pt(e,"GetMetaTxnNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,s,r)=>this.fetch(this.url("GetMetaTxnReceipt"),et(pt(e,"GetMetaTxnReceiptArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnReceiptReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,s,r)=>this.fetch(this.url("Simulate"),et(pt(e,"SimulateArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,s,r)=>this.fetch(this.url("SimulateV3"),et(pt(e,"SimulateV3Args"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateV3Return")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,s,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),et(pt(e,"UpdateMetaTxnGasLimitsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,s)=>this.fetch(this.url("FeeTokens"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"FeeTokensReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,s,r)=>this.fetch(this.url("FeeOptions"),et(pt(e,"FeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"FeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,s,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),et(pt(e,"GetMetaTxnNetworkFeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,s,r)=>this.fetch(this.url("GetMetaTransactions"),et(pt(e,"GetMetaTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,s,r)=>this.fetch(this.url("GetTransactionCost"),et(pt(e,"GetTransactionCostArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetTransactionCostReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,s,r)=>this.fetch(this.url("SentTransactions"),et(pt(e,"SentTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SentTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,s,r)=>this.fetch(this.url("PendingTransactions"),et(pt(e,"PendingTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"PendingTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,s,r)=>this.fetch(this.url("GetGasTank"),et(pt(e,"GetGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,s,r)=>this.fetch(this.url("AddGasTank"),et(pt(e,"AddGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,s,r)=>this.fetch(this.url("UpdateGasTank"),et(pt(e,"UpdateGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,s,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),et(pt(e,"NextGasTankBalanceAdjustmentNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,s,r)=>this.fetch(this.url("AdjustGasTankBalance"),et(pt(e,"AdjustGasTankBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustGasTankBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,s,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),et(pt(e,"GetGasTankBalanceAdjustmentArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,s,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),et(pt(e,"ListGasTankBalanceAdjustmentsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,s,r)=>this.fetch(this.url("ListGasSponsors"),et(pt(e,"ListGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,s,r)=>this.fetch(this.url("GetGasSponsor"),et(pt(e,"GetGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,s,r)=>this.fetch(this.url("AddGasSponsor"),et(pt(e,"AddGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,s,r)=>this.fetch(this.url("UpdateGasSponsor"),et(pt(e,"UpdateGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,s,r)=>this.fetch(this.url("RemoveGasSponsor"),et(pt(e,"RemoveGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"RemoveGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,s,r)=>this.fetch(this.url("AddressGasSponsors"),et(pt(e,"AddressGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddressGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,s,r)=>this.fetch(this.url("GetProjectBalance"),et(pt(e,"GetProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,s,r)=>this.fetch(this.url("AdjustProjectBalance"),et(pt(e,"AdjustProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},et=(t="{}",e={},s=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:t,signal:s}),tt=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){throw to.new({status:t.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (UD[r]||Me).new(s)}return s}),MN={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function W2(t,e){if(e==null||typeof e!="object")return e;let s=MN[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=W2(i,o[c]);}else e[n]&&(e[n]=W2(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function J2(t,e){if(e==null||typeof e!="object")return e;let s=MN[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=J2(a,c[u]);}else e[i]&&(e[i]=J2(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw to.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw to.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var pt=(t,e="")=>JSON.stringify(W2(e,t)),st=(t,e="")=>{let s=t;if(typeof t=="string")try{s=JSON.parse(t);}catch(r){throw to.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return J2(e,s)},Me=class t extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},z2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ze=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Y2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Z2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},X2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},to=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Q2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},rx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ox=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ux=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},lx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},fx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},hx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},dx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},mx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},px=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},gx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},yx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},wx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},vx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},xx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},kx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},HN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientAborted="WebrpcClientAborted",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.ProjectNotFound="ProjectNotFound",t.AccessKeyNotFound="AccessKeyNotFound",t.AccessKeyMismatch="AccessKeyMismatch",t.InvalidOrigin="InvalidOrigin",t.InvalidService="InvalidService",t.UnauthorizedUser="UnauthorizedUser",t.QuotaExceeded="QuotaExceeded",t.QuotaRateLimit="QuotaRateLimit",t.NoDefaultKey="NoDefaultKey",t.MaxAccessKeys="MaxAccessKeys",t.AtLeastOneKey="AtLeastOneKey",t.Timeout="Timeout",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.NotFound="NotFound",t.InsufficientFee="InsufficientFee",t.NotEnoughBalance="NotEnoughBalance",t.SimulationFailed="SimulationFailed";})(HN||(HN={}));var jN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientAborted=-8]="WebrpcClientAborted",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.ProjectNotFound=1008]="ProjectNotFound",t[t.AccessKeyNotFound=1101]="AccessKeyNotFound",t[t.AccessKeyMismatch=1102]="AccessKeyMismatch",t[t.InvalidOrigin=1103]="InvalidOrigin",t[t.InvalidService=1104]="InvalidService",t[t.UnauthorizedUser=1105]="UnauthorizedUser",t[t.QuotaExceeded=1200]="QuotaExceeded",t[t.QuotaRateLimit=1201]="QuotaRateLimit",t[t.NoDefaultKey=1300]="NoDefaultKey",t[t.MaxAccessKeys=1301]="MaxAccessKeys",t[t.AtLeastOneKey=1302]="AtLeastOneKey",t[t.Timeout=1900]="Timeout",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.NotFound=3e3]="NotFound",t[t.InsufficientFee=3004]="InsufficientFee",t[t.NotEnoughBalance=3005]="NotEnoughBalance",t[t.SimulationFailed=3006]="SimulationFailed";})(jN||(jN={}));var UD={0:z2,[-1]:Ze,[-2]:Y2,[-3]:Z2,[-4]:X2,[-5]:to,[-6]:Q2,[-7]:ex,[-8]:tx,[-9]:sx,[-10]:rx,1e3:nx,1001:ix,1002:ax,1003:ox,1004:cx,1005:ux,1006:lx,1007:fx,1008:hx,1101:dx,1102:mx,1103:px,1104:gx,1105:yx,1200:wx,1201:bx,1300:Sx,1301:vx,1302:Ex,1900:xx,2001:Ax,2002:Ix,2003:Cx,3e3:Nx,3004:Tx,3005:kx,3006:Bx};d();h();d();h();d();h();d();h();var fn={};Ne(fn,{DEPLOY:()=>FN,DefaultGuestAddress:()=>MD,EXECUTE:()=>GD,EXECUTE_USER_OP:()=>Px,GET_IMPLEMENTATION:()=>$D,GET_LIMIT_USAGE:()=>YD,IMAGE_HASH:()=>FD,INCREMENT_USAGE_LIMIT:()=>zD,IS_VALID_SIGNATURE:()=>$N,PlaceholderAddress:()=>jD,READ_ENTRYPOINT:()=>JD,READ_NONCE:()=>qD,READ_NONCE_4337:()=>WD,RECOVER_SAPIENT_SIGNATURE:()=>qN,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>GN,UPDATE_IMAGE_HASH:()=>KD,ZeroAddress:()=>HD});d();h();var HD="0x0000000000000000000000000000000000000000",jD="0xffff0000ffff0000ffff0000ffff0000ffff0000",MD="0x0000000000006Ac72ed1d192fa28f0058D3F8806",$N=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],FN=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],$D=He.from(["function getImplementation() external view returns (address)"])[0],FD=He.from(["function imageHash() external view returns (bytes32)"])[0],qD=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],GD=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],KD=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],qN=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],GN=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Px=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],WD=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],JD=He.from(["function entrypoint() public view returns (address)"])[0],zD=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],YD=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();var Lr={};Ne(Lr,{BEHAVIOR_ABORT_ON_ERROR:()=>_x,BEHAVIOR_IGNORE_ERROR:()=>Vx,BEHAVIOR_REVERT_ON_ERROR:()=>Ux,KIND_CONFIG_UPDATE:()=>Lx,KIND_DIGEST:()=>Dx,KIND_MESSAGE:()=>Rx,KIND_TRANSACTIONS:()=>Ox,decode:()=>lV,decodeBehaviorOnError:()=>QN,encode:()=>zN,encode4337Nonce:()=>YN,encodeBehaviorOnError:()=>Su,encodeSapient:()=>oV,fromAbiFormat:()=>hV,fromCall:()=>tV,fromConfigUpdate:()=>KN,fromDigest:()=>eV,fromMessage:()=>QD,hash:()=>Mx,hashCall:()=>uV,isCalls:()=>sV,isCalls4337_07:()=>iV,isConfigUpdate:()=>nV,isDigest:()=>WN,isMessage:()=>rV,isParented:()=>aV,isRecovery:()=>Hx,isSessionImplicitAuthorize:()=>jx,to4337Message:()=>XN,to4337UserOperation:()=>ZN,toAbiFormat:()=>eT,toRecovery:()=>JN,toTyped:()=>$x});d();h();d();h();function Hh(t){return Math.ceil(t.toString(16).length/2)}var Ox=0,Rx=1,Lx=2,Dx=3,Vx=0,Ux=1,_x=2;function QD(t){return {type:"message",message:t}}function KN(t){return {type:"config-update",imageHash:t}}function eV(t){return {type:"digest",digest:t}}function tV(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function sV(t){return t.type==="call"}function rV(t){return t.type==="message"}function nV(t){return t.type==="config-update"}function WN(t){return t.type==="digest"}function Hx(t){return jx(t)?!1:t.recovery===!0}function iV(t){return t.type==="call_4337_07"}function aV(t){return "parentWallets"in t}function JN(t){return Hx(t)?t:{...t,recovery:!0}}function jx(t){return t.type==="session-implicit-authorize"}function zN(t,e){let s=t.calls.length,r=Hh(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=Su(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function oV(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(Su(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function Mx(t,e,s){if(WN(s))return f.fromHex(s.digest);if(jx(s))return jh.hash(s.attestation);let r=$x(t,e,s);return f.fromHex(dh(r))}function cV(t,e,s){return Hx(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function YN(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function $x(t,e,s){let r=cV(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(Su(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:XN(s,t,e)};return $x(t,e,n)}}}function ZN(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(zN(r));return {sender:e,nonce:YN(t.space,t.nonce),callData:me.encodeData(Px,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function XN(t,e,s){let r=ZN(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function Su(t){switch(t){case"ignore":return Vx;case"revert":return Ux;case"abort":return _x}}function uV(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(Su(t.behaviorOnError))]))}function lV(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let v=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");v=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=QN(B);l.push({to:E,value:v,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function QN(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function fV(t){switch(t){case Vx:return "ignore";case Ux:return "revert";case _x:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function hV(t){if(t.kind===Ox)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:fV(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Rx)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Lx)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Dx)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function eT(t){if(t.type==="call")return {kind:Ox,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(Su(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:Rx,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:Lx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:Dx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var jh={};Ne(jh,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>oT,decode:()=>wV,decodeAuthData:()=>nT,encode:()=>sT,encodeAuthData:()=>rT,encodeForJson:()=>iT,fromJson:()=>vV,fromParsed:()=>aT,generateImplicitRequestMagic:()=>EV,hash:()=>bV,toJson:()=>SV});d();h();function sT(t){let e=rT(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function rT(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function wV(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=nT(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function nT(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function bV(t){return he.keccak256(sT(t))}function SV(t,e){return JSON.stringify(iT(t),null,e)}function iT(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function vV(t){return aT(JSON.parse(t))}function aT(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var oT=he.keccak256(f.fromString("acceptImplicitRequest"));function EV(t,e){return he.keccak256(f.concat(oT,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}d();h();var cT;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(cT||(cT={}));({SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)});d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();f.fromString(`Sequence recovery leaf:
359
+ `);He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0];He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0];He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0];He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];var V1={};Ne(V1,{ALL:()=>Fx,ChainId:()=>Z,NetworkType:()=>Ce,getNetworkFromChainId:()=>$V,getNetworkFromName:()=>MV});d();h();var Ce;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ce||(Ce={}));var Z={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},Fx=[{chainId:Z.MAINNET,type:Ce.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Pe("mainnet"),logoUrl:Oe(Z.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Z.SEPOLIA,type:Ce.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Pe("sepolia"),logoUrl:Oe(Z.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.POLYGON,type:Ce.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Pe("polygon"),logoUrl:Oe(Z.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Z.POLYGON_AMOY,type:Ce.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Pe("amoy"),logoUrl:Oe(Z.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Z.POLYGON_ZKEVM,type:Ce.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Pe("polygon-zkevm"),logoUrl:Oe(Z.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BSC,type:Ce.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Pe("bsc"),logoUrl:Oe(Z.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Z.BSC_TESTNET,type:Ce.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Pe("bsc-testnet"),logoUrl:Oe(Z.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Z.OPTIMISM,type:Ce.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Pe("optimism"),logoUrl:Oe(Z.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.OPTIMISM_SEPOLIA,type:Ce.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Pe("optimism-sepolia"),logoUrl:Oe(Z.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM,type:Ce.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Pe("arbitrum"),logoUrl:Oe(Z.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.ARBITRUM_SEPOLIA,type:Ce.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Pe("arbitrum-sepolia"),logoUrl:Oe(Z.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM_NOVA,type:Ce.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Pe("arbitrum-nova"),logoUrl:Oe(Z.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.AVALANCHE,type:Ce.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Pe("avalanche"),logoUrl:Oe(Z.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Z.AVALANCHE_TESTNET,type:Ce.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Pe("avalanche-testnet"),logoUrl:Oe(Z.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Z.GNOSIS,type:Ce.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Pe("gnosis"),logoUrl:Oe(Z.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Z.BASE,type:Ce.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Pe("base"),logoUrl:Oe(Z.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BASE_SEPOLIA,type:Ce.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Pe("base-sepolia"),logoUrl:Oe(Z.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.HOMEVERSE,type:Ce.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Pe("homeverse"),logoUrl:Oe(Z.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Z.HOMEVERSE_TESTNET,type:Ce.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Pe("homeverse-testnet"),logoUrl:Oe(Z.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Z.XAI,type:Ce.MAINNET,name:"xai",title:"Xai",rpcUrl:Pe("xai"),logoUrl:Oe(Z.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Z.XAI_SEPOLIA,type:Ce.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Pe("xai-sepolia"),logoUrl:Oe(Z.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Z.B3,type:Ce.MAINNET,name:"b3",title:"B3",rpcUrl:Pe("b3"),logoUrl:Oe(Z.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.B3_SEPOLIA,type:Ce.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Pe("b3-sepolia"),logoUrl:Oe(Z.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.APECHAIN,type:Ce.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Pe("apechain"),logoUrl:Oe(Z.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.APECHAIN_TESTNET,type:Ce.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Pe("apechain-testnet"),logoUrl:Oe(Z.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.BLAST,type:Ce.MAINNET,name:"blast",title:"Blast",rpcUrl:Pe("blast"),logoUrl:Oe(Z.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BLAST_SEPOLIA,type:Ce.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Pe("blast-sepolia"),logoUrl:Oe(Z.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TELOS,type:Ce.MAINNET,name:"telos",title:"Telos",rpcUrl:Pe("telos"),logoUrl:Oe(Z.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.TELOS_TESTNET,type:Ce.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Pe("telos-testnet"),logoUrl:Oe(Z.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.SKALE_NEBULA,type:Ce.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Pe("skale-nebula"),logoUrl:Oe(Z.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SKALE_NEBULA_TESTNET,type:Ce.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Pe("skale-nebula-testnet"),logoUrl:Oe(Z.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SONEIUM,type:Ce.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Pe("soneium"),logoUrl:Oe(Z.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.SONEIUM_MINATO,type:Ce.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Pe("soneium-minato"),logoUrl:Oe(Z.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TOY_TESTNET,type:Ce.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Pe("toy-testnet"),logoUrl:Oe(Z.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM,type:Ce.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Pe("immutable-zkevm"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM_TESTNET,type:Ce.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Pe("immutable-zkevm-testnet"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.MOONBEAM,type:Ce.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Pe("moonbeam"),logoUrl:Oe(Z.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.MOONBASE_ALPHA,type:Ce.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Pe("moonbase-alpha"),logoUrl:Oe(Z.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.ETHERLINK,type:Ce.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Pe("etherlink"),logoUrl:Oe(Z.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.ETHERLINK_TESTNET,type:Ce.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Pe("etherlink-testnet"),logoUrl:Oe(Z.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.MONAD,type:Ce.MAINNET,name:"monad",title:"Monad",rpcUrl:Pe("monad"),logoUrl:Oe(Z.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.MONAD_TESTNET,type:Ce.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Pe("monad-testnet"),logoUrl:Oe(Z.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.SOMNIA,type:Ce.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Pe("somnia"),logoUrl:Oe(Z.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Z.SOMNIA_TESTNET,type:Ce.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Pe("somnia-testnet"),logoUrl:Oe(Z.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Z.INCENTIV_TESTNET_V2,type:Ce.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Pe("incentiv-testnet-v2"),logoUrl:Oe(Z.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Z.KATANA,type:Ce.MAINNET,name:"katana",title:"Katana",rpcUrl:Pe("katana"),logoUrl:Oe(Z.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Z.SANDBOX_TESTNET,type:Ce.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Pe("sandbox-testnet"),logoUrl:Oe(Z.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Z.ARC_TESTNET,type:Ce.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Pe("arc-testnet"),logoUrl:Oe(Z.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Pe(t){return `https://nodes.sequence.app/${t}`}function Oe(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function MV(t){return Fx.find(e=>e.name===t)}function $V(t){return Fx.find(e=>e.chainId===Number(t))}d();h();d();h();var U1=class{address;min;max;constructor(e,s,r){this.address=e,this.min=s,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},_1=class{address;token;min;max;constructor(e,s,r,n){this.address=e,this.token=s,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},H1=class{address;token;operator;min;constructor(e,s,r,n){this.address=e,this.token=s,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},j1=class{address;token;tokenId;owned;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},M1=class{address;token;tokenId;operator;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},$1=class{address;token;tokenId;min;max;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},F1=class{address;token;tokenId;operator;min;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();h();function q1(t){if(!t)return;let e;try{switch(t.type){case"native-balance":e=new U1(j.from(t.ownerAddress),t.minAmount,void 0);break;case"erc20-balance":e=new _1(j.from(t.ownerAddress),j.from(t.tokenAddress),t.minAmount,void 0);break;case"erc20-approval":e=new H1(j.from(t.ownerAddress),j.from(t.tokenAddress),j.from(t.ownerAddress),t.minAmount);break;case"erc721-ownership":e=new j1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new M1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress));break;case"erc1155-balance":e=new $1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),t.minAmount,void 0);break;case"erc1155-approval":e=new F1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress),t.minAmount);break;default:return}let s=e.isValid();if(s){console.warn(`Invalid precondition: ${s.message}`);return}return e}catch(s){console.warn(`Failed to decode precondition: ${s}`);return}}d();h();d();h();var G1=me.from("function balanceOf(address) returns (uint256)"),K1=me.from("function allowance(address,address) returns (uint256)"),W1=me.from("function ownerOf(uint256) returns (address)"),J1=me.from("function getApproved(uint256) returns (address)"),z1=me.from("function balanceOf(address,uint256) returns (uint256)"),Y1=me.from("function isApprovedForAll(address,address) returns (bool)");var WV=t=>({id:t.chainId,name:t.title||t.name,nativeCurrency:{name:t.nativeCurrency.name,symbol:t.nativeCurrency.symbol,decimals:t.nativeCurrency.decimals},rpcUrls:{default:{http:[t.rpcUrl]}},blockExplorers:t.blockExplorer?{default:{name:t.blockExplorer.name||"Explorer",url:t.blockExplorer.url}}:void 0,contracts:t.ensAddress?{ensUniversalResolver:{address:t.ensAddress}}:void 0}),dT=t=>{let e=V1.getNetworkFromChainId(t);if(e)return WV(e);let s=Object.values(KV).find(r=>typeof r=="object"&&"id"in r&&r.id===t);if(s)return s;throw new Error(`Chain with id ${t} not found in Sequence networks or viem chains`)},qx=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,s,r,n,i){this.id=`rpc:${e}`,this.chainId=s,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new bu(e,this.fetch);let o=dT(s);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,s){return Promise.resolve(this.chainId===s)}async feeTokens(){try{let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.client.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,s,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=Lr.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:f.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,s,r,n,i,a){console.log("sendMetaTxn",e,s,r,n,i,a);let o={walletAddress:e,contract:s,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:P.fromString(c.txnHash)}}async relay(e,s,r,n,i){console.log("relay",e,s,r,n,i);let a={walletAddress:e,contract:e,input:s},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,s){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case jt.QUEUED:case jt.PENDING_PRECONDITION:case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case jt.FAILED:case jt.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case jt.DROPPED:return {status:"failed",reason:"Transaction dropped"};case jt.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let s=q1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=s;try{let n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=s;try{let n=me.encodeData(K1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=s;try{let n=me.encodeData(W1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=s;try{let n=me.encodeData(J1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=s;try{let n=me.encodeData(z1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=s;try{let n=me.encodeData(Y1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===L1.ERC20_TOKEN&&e.contractAddress?j.from(e.contractAddress):fn.ZeroAddress}};d();h();d();h();var so=class t{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,s){return Promise.resolve(!0)}static createFromWindow(e){let s=e.ethereum;if(!s){console.warn("Window.ethereum not found, skipping local relayer");return}return new t(new ro(s))}static createFromProvider(e){return new t(new ro(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,s,r){return Promise.resolve({options:[]})}decodeCalls(e){let s=me.getSelector(fn.EXECUTE),r;return e.startsWith(s)?r=me.decodeData(fn.EXECUTE,e)[0]:r=e,Lr.decode(f.fromHex(r))}async relay(e,s,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:s},r)}:new Promise((c,u)=>{let l,p=!1,w=async()=>{try{if(p)return;if(await o()){p=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:s},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){p=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{p=!0,clearTimeout(l);}})}async status(e,s){let r=await this.provider.getTransactionReceipt(e,s);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let s=q1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=s,n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=s,n=me.encodeData(K1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=s,n=me.encodeData(W1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=s,n=me.encodeData(J1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=s,n=me.encodeData(z1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=s,n=me.encodeData(Y1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},ro=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(s){console.error("Error switching chain",s);}}async sendTransaction(e,s){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(s),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let s=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(s)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,s){await this.trySwitchChain(s);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=ou.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();h();var Gx=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,s){this.provider=s;let r=j.fromPublicKey(es.getPublicKey({privateKey:e}));this.relayer=new so({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),p=100000000n,w=l+p,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let v=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),I=Ja.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:p,nonce:v,value:0n}),C=es.sign({payload:Ja.getSignPayload(I),privateKey:e}),D=Ja.from(I,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[Ja.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(P.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?ou.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,s){return Number(await this.provider.request({method:"eth_chainId"}))===s}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return !0}};d();h();var Kx=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new bu(e,fetch);}async isAvailable(e,s){return !0}async feeTokens(){let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.service.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,s,r){let n=e,i=me.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=Lr.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=me.encodeData(i,[f.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,s,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:s},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,s){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case jt.UNKNOWN:return {status:"unknown"};case jt.DROPPED:return {status:"failed",reason:n??r};case jt.QUEUED:return {status:"pending"};case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return P.assert(o),{status:"confirmed",transactionHash:o}}case jt.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case jt.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var Yx={};Ne(Yx,{EIP6963Relayer:()=>Z1,getEIP6963Store:()=>pT,getRelayers:()=>JV});d();h();d();h();d();h();d();h();function mT(t){if(typeof window>"u")return;let e=s=>t(s.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function Wx(){let t=new Set,e=[],s=()=>mT(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],t.forEach(i=>i(e,{added:[n]})));}),r=s();return {_listeners(){return t},clear(){t.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),t.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=s();},subscribe(n,{emitImmediately:i}={}){return t.add(n),i&&n(e,{added:e}),()=>t.delete(n)}}}var Z1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new so(new ro(e.provider));}isAvailable(e,s){return this.relayer.isAvailable(e,s)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},Jx;function pT(){return Jx||(Jx=Wx()),Jx}var zx=new Map;function JV(){let e=pT().getProviders();for(let s of e)zx.has(s.info.uuid)||zx.set(s.info.uuid,new Z1(s));return Array.from(zx.values())}d();h();function zV(t){return "isAvailable"in t&&"feeOptions"in t&&"relay"in t&&"status"in t&&"checkPrecondition"in t}d();h();d();h();d();h();d();h();var ee={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},gt={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},De={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Dr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},Et=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},vu={MIN:-(2n**63n),MAX:2n**64n-1n};d();h();var Le=class t{static#e=new Map;tag;contents;constructor(e,s=void 0){this.tag=e,this.contents=s;}get noChildren(){return !!t.#e.get(this.tag)?.noChildren}static registerDecoder(e,s,r){let n=this.#e.get(e);return this.#e.set(e,s),n&&("comment"in s||(s.comment=n.comment),"noChildren"in s||(s.noChildren=n.noChildren)),r&&!s.comment&&(s.comment=()=>`(${r})`),n}static clearDecoder(e){let s=this.#e.get(e);return this.#e.delete(e),s}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let s=t.#e.get(this.tag);return s?s(this,e):this}comment(e,s){let r=t.#e.get(this.tag);if(r?.comment)return r.comment(this,e,s)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `${this.tag}(${r(this.contents,s)})`}};d();h();function fi(t){if(t!=null&&typeof t=="object")return t[Et.ENCODED]}function gT(t){if(t!=null&&typeof t=="object")return t[Et.LENGTH]}function hi(t,e){Object.defineProperty(t,Et.ENCODED,{configurable:!0,enumerable:!1,value:e});}function di(t,e){let s=Object(t);return hi(s,e),s}d();h();var Zx=Symbol("CBOR_RANGES");function yT(t,e){Object.defineProperty(t,Zx,{configurable:!1,enumerable:!1,writable:!1,value:e});}function $h(t){return t[Zx]}function YV(t){return $h(t)!==void 0}function Fh(t,e=0,s=t.length-1){let r=t.subarray(e,s),n=$h(t);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=s){let o=[...a];o[0]-=e,i.push(o);}i.length&&yT(r,i);}return r}function X1(t){let e=Math.ceil(t.length/2),s=new Uint8Array(e);e--;for(let r=t.length,n=r-2;r>=0;r=n,n-=2,e--)s[e]=parseInt(t.substring(n,r),16);return s}function ss(t){return t.reduce((e,s)=>e+s.toString(16).padStart(2,"0"),"")}function wT(t){let e=t.reduce((a,o)=>a+o.length,0),s=t.some(a=>YV(a)),r=[],n=new Uint8Array(e),i=0;for(let a of t){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),s){let o=a[Zx]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return s&&yT(n,r),n}function qh(t){let e=atob(t);return Uint8Array.from(e,s=>s.codePointAt(0))}var ZV={"-":"+",_:"/"};function bT(t){let e=t.replace(/[_-]/g,s=>ZV[s]);return qh(e.padEnd(Math.ceil(e.length/4)*4,"="))}function ST(){let t=new Uint8Array(4),e=new Uint32Array(t.buffer);return !((e[0]=1)&t[0])}function Xx(t){let e="";for(let s of t){let r=s.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();h();d();h();function Q1(t,e){let[s,r,n]=t,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();h();var Gh=class t{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...t.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),s=0;for(let r of this.#s)e.set(r,s),s+=r.length;return this.#i(),e}write(e){let s=e.length;s>this.#u()?(this.#n(),s>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=s)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=s),this.#a+=s;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,s=!1){this.#c(2),this.#r.setUint16(this.#t,e,s),this.#o(2);}writeUint32(e,s=!1){this.#c(4),this.#r.setUint32(this.#t,e,s),this.#o(4);}writeBigUint64(e,s=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,s),this.#o(8);}writeInt16(e,s=!1){this.#c(2),this.#r.setInt16(this.#t,e,s),this.#o(2);}writeInt32(e,s=!1){this.#c(4),this.#r.setInt32(this.#t,e,s),this.#o(4);}writeBigInt64(e,s=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,s),this.#o(8);}writeFloat32(e,s=!1){this.#c(4),this.#r.setFloat32(this.#t,e,s),this.#o(4);}writeFloat64(e,s=!1){this.#c(8),this.#r.setFloat64(this.#t,e,s),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();h();function Qx(t,e=0,s=!1){let r=t[e]&128?-1:1,n=(t[e]&124)>>2,i=(t[e]&3)<<8|t[e+1];if(n===0){if(s&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function ey(t){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,t,!1);let s=e.getUint32(0,!1);if(s&8191)return null;let r=s>>16&32768,n=s>>23&255,i=s&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function vT(t){if(t!==0){let e=new ArrayBuffer(8),s=new DataView(e);s.setFloat64(0,t,!1);let r=s.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return t}function ET(t){switch(t.length){case 2:Qx(t,0,!0);break;case 4:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getUint32(0,!1);if(!(s&2139095040)&&s&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getBigUint64(0,!1);if((s&0x7ff0000000000000n)===0n&&s&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${t}`)}}var xT=ee.SIMPLE_FLOAT<<5|De.TWO,XV=ee.SIMPLE_FLOAT<<5|De.FOUR,QV=ee.SIMPLE_FLOAT<<5|De.EIGHT,eU=ee.SIMPLE_FLOAT<<5|Dr.TRUE,tU=ee.SIMPLE_FLOAT<<5|Dr.FALSE,sU=ee.SIMPLE_FLOAT<<5|Dr.UNDEFINED,rU=ee.SIMPLE_FLOAT<<5|Dr.NULL,nU=new TextEncoder,ty={...Gh.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},sA={cde:!0,ignoreOriginalEncoding:!0,sortKeys:Q1},AT={...sA,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function IT(t){let e=t<0;return typeof t=="bigint"?[e?-t-1n:t,e]:[e?-t-1:t,e]}function eA(t,e,s){if(s.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${t}`);if(isNaN(t))e.writeUint8(xT),e.writeUint16(32256);else if(!s.float64&&Math.fround(t)===t){let r=ey(t);r===null?(e.writeUint8(XV),e.writeFloat32(t)):(e.writeUint8(xT),e.writeUint16(r));}else e.writeUint8(QV),e.writeFloat64(t);}function Fs(t,e,s){let[r,n]=IT(t);if(n&&s)throw new TypeError(`Negative size: ${t}`);s??=n?ee.NEG_INT:ee.POS_INT,s<<=5,r<24?e.writeUint8(s|r):r<=255?(e.writeUint8(s|De.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(s|De.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(s|De.FOUR),e.writeUint32(r)):(e.writeUint8(s|De.EIGHT),e.writeBigUint64(BigInt(r)));}function Kh(t,e,s){typeof t=="number"?Fs(t,e,ee.TAG):typeof t=="object"&&!s.ignoreOriginalEncoding&&Et.ENCODED in t?e.write(t[Et.ENCODED]):t<=Number.MAX_SAFE_INTEGER?Fs(Number(t),e,ee.TAG):(e.writeUint8(ee.TAG<<5|De.EIGHT),e.writeBigUint64(BigInt(t)));}function CT(t,e,s){let[r,n]=IT(t);if(s.collapseBigInts&&(!s.largeNegativeAsBigInt||t>=-0x8000000000000000n)){if(r<=0xffffffffn){Fs(Number(t),e);return}if(r<=0xffffffffffffffffn){let u=(n?ee.NEG_INT:ee.POS_INT)<<5;e.writeUint8(u|De.EIGHT),e.writeBigUint64(r);return}}if(s.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${t}`);let i=n?gt.NEG_BIGINT:gt.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Kh(i,e,s);let c=X1(o+a);Fs(c.length,e,ee.BYTE_STRING),e.write(c);}function iU(t,e,s){s.flushToZero&&(t=vT(t)),Object.is(t,-0)?s.simplifyNegativeZero?s.avoidInts?eA(0,e,s):Fs(0,e):eA(t,e,s):!s.avoidInts&&Number.isSafeInteger(t)?Fs(t,e):s.reduceUnsafeNumbers&&Math.floor(t)===t&&t>=vu.MIN&&t<=vu.MAX?CT(BigInt(t),e,s):eA(t,e,s);}function aU(t,e,s){let r=s.stringNormalization?t.normalize(s.stringNormalization):t,n=nU.encode(r);Fs(n.length,e,ee.UTF8_STRING),e.write(n);}function oU(t,e,s){let r=t;sy(r,r.length,ee.ARRAY,e,s);for(let n of r)mi(n,e,s);}function cU(t,e){let s=t;Fs(s.length,e,ee.BYTE_STRING),e.write(s);}var tA=new Map([[Array,oU],[Uint8Array,cU]]);function It(t,e){let s=tA.get(t);return tA.set(t,e),s}function sy(t,e,s,r,n){let i=gT(t);i&&!n.ignoreOriginalEncoding?r.write(i):Fs(e,r,s);}function uU(t,e,s){if(t===null){e.writeUint8(rU);return}if(!s.ignoreOriginalEncoding&&Et.ENCODED in t){e.write(t[Et.ENCODED]);return}let r=tA.get(t.constructor);if(r){let i=r(t,e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Kh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toCBOR=="function"){let i=t.toCBOR(e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Kh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toJSON=="function"){mi(t.toJSON(),e,s);return}let n=Object.entries(t).map(i=>[i[0],i[1],hn(i[0],s)]);s.sortKeys&&n.sort(s.sortKeys),sy(t,n.length,ee.MAP,e,s);for(let[i,a,o]of n)e.write(o),mi(a,e,s);}function mi(t,e,s){switch(typeof t){case"number":iU(t,e,s);break;case"bigint":CT(t,e,s);break;case"string":aU(t,e,s);break;case"boolean":e.writeUint8(t?eU:tU);break;case"undefined":if(s.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(sU);break;case"object":uU(t,e,s);break;case"symbol":throw new TypeError(`Unknown symbol: ${t.toString()}`);default:throw new TypeError(`Unknown type: ${typeof t}, ${String(t)}`)}}function hn(t,e={}){let s={...ty};e.dcbor?Object.assign(s,AT):e.cde&&Object.assign(s,sA),Object.assign(s,e);let r=new Gh(s);return mi(t,r,s),r.read()}d();h();d();h();var no=(t=>(t[t.NEVER=-1]="NEVER",t[t.PREFERRED=0]="PREFERRED",t[t.ALWAYS=1]="ALWAYS",t))(no||{});d();h();d();h();var mr=class t{static KnownSimple=new Map([[Dr.FALSE,!1],[Dr.TRUE,!0],[Dr.NULL,null],[Dr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return t.KnownSimple.has(e)?t.KnownSimple.get(e):new t(e)}toCBOR(e,s){if(s.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);Fs(this.value,e,ee.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return t.KnownSimple.has(this.value)?t.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `simple(${r(this.value,s)})`}};var lU=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),dn=class t{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,s){if(this.#t={...t.defaultOptions,...s},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=X1(e);break;case"base64":this.#e=qh(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return Fh(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let s=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case De.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===ee.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case De.TWO:if(c=2,n===ee.SIMPLE_FLOAT)a=Qx(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case De.FOUR:if(c=4,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case De.EIGHT:{if(c=8,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case De.INDEFINITE:switch(n){case ee.POS_INT:case ee.NEG_INT:case ee.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case ee.SIMPLE_FLOAT:yield [n,i,Et.BREAK,s,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case ee.POS_INT:yield [n,i,a,s,c];break;case ee.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),s,c];break;case ee.BYTE_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,this.#i(a),s,a];break;case ee.UTF8_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,lU.decode(this.#i(a)),s,a];break;case ee.ARRAY:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case ee.MAP:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case ee.TAG:yield [n,i,a,s,c],yield*this.#a(e);break;case ee.SIMPLE_FLOAT:{let u=a;o&&(a=mr.create(Number(a))),yield [n,i,a,s,u];break}}}#i(e){let s=Fh(this.#e,this.#r,this.#r+=e);if(s.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${s.length}`);return s}*#n(e,s,r,n=!0){for(yield [e,De.INDEFINITE,1/0,r,1/0];;){let i=this.#a(s),a=i.next(),[o,c,u]=a.value;if(u===Et.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===De.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var fU=new Map([[De.ZERO,1],[De.ONE,2],[De.TWO,3],[De.FOUR,5],[De.EIGHT,9]]),hU=new Uint8Array(0);function dU(t,e){return !e.boxed&&!e.preferMap&&t.every(([s])=>typeof s=="string")?Object.fromEntries(t):new Map(t)}var Is=class t{static defaultDecodeOptions={...dn.defaultOptions,ParentType:t,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:no.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:dU,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:Q1};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,s,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=s,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===ee.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===De.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,s,r,n){let[i,a,o,c]=e;switch(i){case ee.POS_INT:case ee.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=vu.MIN&&u<=vu.MAX&&(u=Number(o)),r.boxed?di(u,n.toHere(c)):u}case ee.SIMPLE_FLOAT:if(a>De.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${ss(u)}"`)}if(r.rejectSubnormals&&ET(n.toHere(c+1)),r.rejectLongFloats){let u=hn(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<fU.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return di(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof mr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case ee.BYTE_STRING:case ee.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,s,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${Xx(o)}] instead of [${Xx(u)}]`)}return r.boxed?di(o,n.toHere(c)):o;case ee.ARRAY:return new r.ParentType(e,o,s,r);case ee.MAP:return new r.ParentType(e,o*2,s,r);case ee.TAG:{let u=new r.ParentType(e,1,s,r);return u.children=new Le(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...ty,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,s,r){if(this.children.push(e),this.#s){let n=fi(e)||s.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,s,r){let n,i=-1/0;if(this.children instanceof Le?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=fi(e)||r.toHere(s.offset);this.#s[i]=a;}return n}convert(e){let s;switch(this.mt){case ee.ARRAY:s=this.children;break;case ee.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}s=this.#e.createObject(r,this.#e);break}case ee.BYTE_STRING:return wT(this.children);case ee.UTF8_STRING:{let r=this.children.join("");s=this.#e.boxed?di(r,e.toHere(this.offset)):r;break}case ee.TAG:s=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&s&&typeof s=="object"&&hi(s,e.toHere(this.offset)),s}#r(){let e=this.children,s=e.length;if(s%2)throw new Error("Missing map value");let r=new Array(s/2);if(this.#s)for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],hU];return r}};d();h();d();h();var rA=" ",mU=new TextEncoder,ry=class extends Is{close="";quote='"';get isEmptyStream(){return (this.mt===ee.UTF8_STRING||this.mt===ee.BYTE_STRING)&&this.count===0}};function pi(t,e,s,r){let n="";if(e===De.INDEFINITE)n+="_";else {if(r.diagnosticSizes===no.NEVER)return "";{let i=r.diagnosticSizes===no.ALWAYS;if(!i){let a=De.ZERO;if(Object.is(s,-0))a=De.TWO;else if(t===ee.POS_INT||t===ee.NEG_INT){let o=s<0,c=typeof s=="bigint"?1n:1,u=o?-s-c:s;u<=23?a=Number(u):u<=255?a=De.ONE:u<=65535?a=De.TWO:u<=4294967295?a=De.FOUR:a=De.EIGHT;}else isFinite(s)?Math.fround(s)===s?ey(s)==null?a=De.FOUR:a=De.TWO:a=De.EIGHT:a=De.TWO;i=a!==e;}i&&(n+="_",e<De.ONE?n+="i":n+=String(e-24));}}return n}function nA(t,e){let s={...Is.defaultDecodeOptions,...e,ParentType:ry},r=new dn(t,s),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==Et.BREAK&&(n.mt===ee.MAP&&n.count%2?a+=": ":(a+=",",s.pretty||(a+=" "))),s.pretty&&(n.mt!==ee.MAP||n.count%2===0)&&(a+=`
360
+ ${rA.repeat(n.depth+1)}`)),i=Is.create(o,n,s,r),c){case ee.POS_INT:case ee.NEG_INT:a+=String(l),a+=pi(c,u,l,s);break;case ee.SIMPLE_FLOAT:if(l!==Et.BREAK)if(typeof l=="number"){let p=Object.is(l,-0)?"-0.0":String(l);a+=p,isFinite(l)&&!/[.e]/.test(p)&&(a+=".0"),a+=pi(c,u,l,s);}else l instanceof mr?(a+="simple(",a+=String(l.value),a+=pi(ee.POS_INT,u,l.value,s),a+=")"):a+=String(l);break;case ee.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=ss(l),a+="'",a+=pi(ee.POS_INT,u,l.length,s));break;case ee.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=pi(ee.POS_INT,u,mU.encode(l).length,s));break;case ee.ARRAY:{a+="[";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
361
+ ${rA.repeat(i.depth)}]`:i.close="]";break}case ee.MAP:{a+="{";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
362
+ ${rA.repeat(i.depth)}}`:i.close="}";break}case ee.TAG:a+=String(l),a+=pi(ee.POS_INT,u,l,s),a+="(",i.close=")";break}if(i===Et.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof ry&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===ee.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var pU=new TextDecoder,Jh=class extends Is{depth=0;leaf=!1;value;length;[Et.ENCODED];constructor(e,s,r,n){super(e,s,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case De.ONE:return 1;case De.TWO:return 2;case De.FOUR:return 4;case De.EIGHT:return 8}return 0}};function NT(t){return t instanceof Jh}function ny(t,e){return t===1/0?"Indefinite":e?`${t} ${e}${t!==1&&t!==1n?"s":""}`:String(t)}function Wh(t){return "".padStart(t," ")}function TT(t,e,s){let r="";r+=Wh(t.depth*2);let n=fi(t);r+=ss(n.subarray(0,1));let i=t.numBytes();i&&(r+=" ",r+=ss(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",s!==void 0&&(r+=Wh(t.depth*2),s!==""&&(r+=`[${s}] `));let a=!1,[o]=t.children;switch(t.mt){case ee.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.BYTE_STRING:r+=`Bytes (Length: ${ny(t.length)})`;break;case ee.UTF8_STRING:r+=`UTF8 (Length: ${ny(t.length)})`,t.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case ee.ARRAY:r+=`Array (Length: ${ny(t.value,"item")})`;break;case ee.MAP:r+=`Map (Length: ${ny(t.value,"pair")})`;break;case ee.TAG:{r+=`Tag #${t.value}`;let c=t.children,[u]=c.contents.children,l=new Le(c.tag,u);hi(l,n);let p=l.comment(e,t.depth);p&&(r+=": ",r+=p),a||=l.noChildren;break}case ee.SIMPLE_FLOAT:o===Et.BREAK?r+="BREAK":t.ai>De.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof mr?r+=o.value:r+=o);break}if(!a)if(t.leaf){if(r+=`
363
+ `,n.length>i+1){let c=Wh((t.depth+1)*2),u=$h(n);if(u?.length){u.sort((p,w)=>p[0]-w[0]||w[1]-p[1]);let l=0;for(let[p,w,E]of u)if(!(p<l)){if(l=p+w,E==="<<"){r+=Wh(e.minCol+1),r+="--",r+=c,r+="<< ";let v=Fh(n,p,p+w),I=$h(v);if(I){let C=I.findIndex(([D,V,B])=>D===0&&V===w&&B==="<<");C>=0&&I.splice(C,1);}r+=nA(v),r+=` >>
364
+ `,r+=iy(v,{initialDepth:t.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Wh(e.minCol+1),r+="--",r+=c,r+="'",r+=pU.decode(n.subarray(p,p+w)),r+=`'
365
+ `);if(p>i)for(let v=p;v<p+w;v+=8){let I=Math.min(v+8,p+w);r+=c,r+=ss(n.subarray(v,I)),r+=`
366
366
  `;}}}else for(let l=i+1;l<n.length;l+=8)r+=c,r+=ss(n.subarray(l,l+8)),r+=`
367
367
  `;}}else {r+=`
368
- `;let c=0;for(let u of t.children){if(TT(u)){let l=String(c);t.mt===ee.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:t.mt===ee.TAG&&(l=""),r+=kT(u,e,l);}c++;}}return r}var mU={...Is.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function ay(t,e){let s={...mU,...e,ParentType:Jh,saveOriginal:!0},r=new dn(t,s),n,i;for(let o of r){if(i=Is.create(o,n,s,r),o[2]===Et.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!TT(i)){let l=new Jh(o,0,n,s);l.leaf=!0,l.children.push(i),hi(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),s.minCol=Math.max(s.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||hi(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=s.minCol);let a=s.noPrefixHex?"":`0x${ss(r.toHere(0))}
369
- `;return a+=kT(i,s),a}var BT=!vT();function DT(t){if(typeof t=="object"&&t){if(t.constructor!==Number)throw new Error(`Expected number: ${t}`)}else if(typeof t!="number")throw new Error(`Expected number: ${t}`)}function yi(t){if(typeof t=="object"&&t){if(t.constructor!==String)throw new Error(`Expected string: ${t}`)}else if(typeof t!="string")throw new Error(`Expected string: ${t}`)}function io(t){if(!(t instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${t}`)}function VT(t){if(!Array.isArray(t))throw new Error(`Expected Array: ${t}`)}It(Map,(t,e,s)=>{let r=[...t.entries()].map(n=>[n[0],n[1],hn(n[0],s)]);if(s.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}s.sortKeys&&r.sort(s.sortKeys),ry(t,t.size,ee.MAP,e,s);for(let[n,i,a]of r)e.write(a),mi(i,e,s);});function PT(t){return yi(t.contents),new Date(t.contents)}PT.comment=t=>(yi(t.contents),`(String Date) ${new Date(t.contents).toISOString()}`),Le.registerDecoder(gt.DATE_STRING,PT);function OT(t){return DT(t.contents),new Date(t.contents*1e3)}OT.comment=t=>(DT(t.contents),`(Epoch Date) ${new Date(t.contents*1e3).toISOString()}`),Le.registerDecoder(gt.DATE_EPOCH,OT),It(Date,t=>[gt.DATE_EPOCH,t.valueOf()/1e3]);function cy(t,e,s){if(io(e.contents),s.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${ss(e.contents)}')`);if(s.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${ss(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(t&&(r=-1n-r),s.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return s.boxed?di(r,e.contents):r}var RT=cy.bind(null,!1),LT=cy.bind(null,!0);RT.comment=(t,e)=>`(Positive BigInt) ${cy(!1,t,e)}n`,LT.comment=(t,e)=>`(Negative BigInt) ${cy(!0,t,e)}n`,Le.registerDecoder(gt.POS_BIGINT,RT),Le.registerDecoder(gt.NEG_BIGINT,LT);function aA(t,e){return io(t.contents),t}aA.comment=(t,e,s)=>{io(t.contents);let r={...e,initialDepth:s+2,noPrefixHex:!0},n=fi(t),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=ss(n.subarray(i,++i));a>=24&&(o+=" ",o+=ss(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(s+1)*2+o.length);let c=ay(t.contents,r),u=`Embedded CBOR
368
+ `;let c=0;for(let u of t.children){if(NT(u)){let l=String(c);t.mt===ee.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:t.mt===ee.TAG&&(l=""),r+=TT(u,e,l);}c++;}}return r}var gU={...Is.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function iy(t,e){let s={...gU,...e,ParentType:Jh,saveOriginal:!0},r=new dn(t,s),n,i;for(let o of r){if(i=Is.create(o,n,s,r),o[2]===Et.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!NT(i)){let l=new Jh(o,0,n,s);l.leaf=!0,l.children.push(i),hi(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),s.minCol=Math.max(s.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||hi(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=s.minCol);let a=s.noPrefixHex?"":`0x${ss(r.toHere(0))}
369
+ `;return a+=TT(i,s),a}var kT=!ST();function LT(t){if(typeof t=="object"&&t){if(t.constructor!==Number)throw new Error(`Expected number: ${t}`)}else if(typeof t!="number")throw new Error(`Expected number: ${t}`)}function yi(t){if(typeof t=="object"&&t){if(t.constructor!==String)throw new Error(`Expected string: ${t}`)}else if(typeof t!="string")throw new Error(`Expected string: ${t}`)}function io(t){if(!(t instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${t}`)}function DT(t){if(!Array.isArray(t))throw new Error(`Expected Array: ${t}`)}It(Map,(t,e,s)=>{let r=[...t.entries()].map(n=>[n[0],n[1],hn(n[0],s)]);if(s.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}s.sortKeys&&r.sort(s.sortKeys),sy(t,t.size,ee.MAP,e,s);for(let[n,i,a]of r)e.write(a),mi(i,e,s);});function BT(t){return yi(t.contents),new Date(t.contents)}BT.comment=t=>(yi(t.contents),`(String Date) ${new Date(t.contents).toISOString()}`),Le.registerDecoder(gt.DATE_STRING,BT);function PT(t){return LT(t.contents),new Date(t.contents*1e3)}PT.comment=t=>(LT(t.contents),`(Epoch Date) ${new Date(t.contents*1e3).toISOString()}`),Le.registerDecoder(gt.DATE_EPOCH,PT),It(Date,t=>[gt.DATE_EPOCH,t.valueOf()/1e3]);function oy(t,e,s){if(io(e.contents),s.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${ss(e.contents)}')`);if(s.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${ss(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(t&&(r=-1n-r),s.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return s.boxed?di(r,e.contents):r}var OT=oy.bind(null,!1),RT=oy.bind(null,!0);OT.comment=(t,e)=>`(Positive BigInt) ${oy(!1,t,e)}n`,RT.comment=(t,e)=>`(Negative BigInt) ${oy(!0,t,e)}n`,Le.registerDecoder(gt.POS_BIGINT,OT),Le.registerDecoder(gt.NEG_BIGINT,RT);function iA(t,e){return io(t.contents),t}iA.comment=(t,e,s)=>{io(t.contents);let r={...e,initialDepth:s+2,noPrefixHex:!0},n=fi(t),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=ss(n.subarray(i,++i));a>=24&&(o+=" ",o+=ss(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(s+1)*2+o.length);let c=iy(t.contents,r),u=`Embedded CBOR
370
370
  `;return u+=`${"".padStart((s+1)*2," ")}${o}`.padEnd(r.minCol+1," "),u+=`-- Bytes (Length: ${t.contents.length})
371
- `,u+=c,u},aA.noChildren=!0,Le.registerDecoder(gt.CBOR,aA),Le.registerDecoder(gt.URI,t=>(yi(t.contents),new URL(t.contents)),"URI"),It(URL,t=>[gt.URI,t.toString()]),Le.registerDecoder(gt.BASE64URL,t=>(yi(t.contents),ST(t.contents)),"Base64url-encoded"),Le.registerDecoder(gt.BASE64,t=>(yi(t.contents),Fh(t.contents)),"Base64-encoded"),Le.registerDecoder(35,t=>(yi(t.contents),new RegExp(t.contents)),"RegExp"),Le.registerDecoder(21065,t=>{yi(t.contents);let e=`^(?:${t.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Le.registerDecoder(gt.REGEXP,t=>{if(VT(t.contents),t.contents.length<1||t.contents.length>2)throw new Error(`Invalid RegExp Array: ${t.contents}`);return new RegExp(t.contents[0],t.contents[1])},"RegExp"),It(RegExp,t=>[gt.REGEXP,[t.source,t.flags]]),Le.registerDecoder(64,t=>(io(t.contents),t.contents),"uint8 Typed Array");function ms(t,e,s){io(t.contents);let r=t.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(t.contents.buffer,t.contents.byteOffset,t.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,s);return n}function gi(t,e,s,r,n){let i=n.forceEndian??BT;if(Gh(i?e:s,t,n),qs(r.byteLength,t,ee.BYTE_STRING),BT===i)t.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=t[a].bind(t);for(let c of r)o(c,i);}}Le.registerDecoder(65,t=>ms(t,Uint16Array,!1),"uint16, big endian, Typed Array"),Le.registerDecoder(66,t=>ms(t,Uint32Array,!1),"uint32, big endian, Typed Array"),Le.registerDecoder(67,t=>ms(t,BigUint64Array,!1),"uint64, big endian, Typed Array"),Le.registerDecoder(68,t=>(io(t.contents),new Uint8ClampedArray(t.contents)),"uint8 Typed Array, clamped arithmetic"),It(Uint8ClampedArray,t=>[68,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(69,t=>ms(t,Uint16Array,!0),"uint16, little endian, Typed Array"),It(Uint16Array,(t,e,s)=>gi(e,69,65,t,s)),Le.registerDecoder(70,t=>ms(t,Uint32Array,!0),"uint32, little endian, Typed Array"),It(Uint32Array,(t,e,s)=>gi(e,70,66,t,s)),Le.registerDecoder(71,t=>ms(t,BigUint64Array,!0),"uint64, little endian, Typed Array"),It(BigUint64Array,(t,e,s)=>gi(e,71,67,t,s)),Le.registerDecoder(72,t=>(io(t.contents),new Int8Array(t.contents)),"sint8 Typed Array"),It(Int8Array,t=>[72,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(73,t=>ms(t,Int16Array,!1),"sint16, big endian, Typed Array"),Le.registerDecoder(74,t=>ms(t,Int32Array,!1),"sint32, big endian, Typed Array"),Le.registerDecoder(75,t=>ms(t,BigInt64Array,!1),"sint64, big endian, Typed Array"),Le.registerDecoder(77,t=>ms(t,Int16Array,!0),"sint16, little endian, Typed Array"),It(Int16Array,(t,e,s)=>gi(e,77,73,t,s)),Le.registerDecoder(78,t=>ms(t,Int32Array,!0),"sint32, little endian, Typed Array"),It(Int32Array,(t,e,s)=>gi(e,78,74,t,s)),Le.registerDecoder(79,t=>ms(t,BigInt64Array,!0),"sint64, little endian, Typed Array"),It(BigInt64Array,(t,e,s)=>gi(e,79,75,t,s)),Le.registerDecoder(81,t=>ms(t,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Le.registerDecoder(82,t=>ms(t,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Le.registerDecoder(85,t=>ms(t,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),It(Float32Array,(t,e,s)=>gi(e,85,81,t,s)),Le.registerDecoder(86,t=>ms(t,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),It(Float64Array,(t,e,s)=>gi(e,86,82,t,s)),Le.registerDecoder(gt.SET,(t,e)=>{if(VT(t.contents),e.sortKeys){let s=Is.decodeToEncodeOpts(e),r=null;for(let n of t.contents){let i=[n,void 0,hn(n,s)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${gt.SET}`);r=i;}}return new Set(t.contents)},"Set"),It(Set,(t,e,s)=>{let r=[...t];if(s.sortKeys){let n=r.map(i=>[i,void 0,hn(i,s)]);n.sort(s.sortKeys),r=n.map(([i])=>i);}return [gt.SET,r]}),Le.registerDecoder(gt.JSON,t=>(yi(t.contents),JSON.parse(t.contents)),"JSON-encoded"),Le.registerDecoder(gt.SELF_DESCRIBED,t=>t.contents,"Self-Described"),Le.registerDecoder(gt.INVALID_16,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_16}`)},"Invalid"),Le.registerDecoder(gt.INVALID_32,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_32}`)},"Invalid"),Le.registerDecoder(gt.INVALID_64,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_64}`)},"Invalid");function oA(t){throw new Error(`Encoding ${t.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}It(ArrayBuffer,oA),It(DataView,oA),typeof SharedArrayBuffer<"u"&&It(SharedArrayBuffer,oA);function oy(t){return [NaN,t.valueOf()]}It(Boolean,oy),It(Number,oy),It(String,oy),It(BigInt,oy);d();h();d();h();d();h();d();h();var Je=Cb(fy());d();h();function y(t,e,s){var r;return t instanceof Object&&(r=t[e])!==null&&r!==void 0?r:s}function hy(t,e=0,s=t.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(t,e,s)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function pn(t,e){let s=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)s+=t[t.length-1-r]*Math.pow(2,e*r);return s}function pr(t,e,s=-1){let r=s,n=t,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(t<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let p=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/p),n-=u[i-l-1]*p;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function ao(...t){let e=0,s=0;for(let i of t)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(new Uint8Array(i),s),s+=i.byteLength;return r}function dy(...t){let e=0,s=0;for(let i of t)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(i,s),s+=i.length;return n}function uA(){let t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=t[0]===255&&t[1]&128,c=t[0]===0&&(t[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)s[o]=0;s[0]=t[0]&128;let r=pn(s,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=t[o];return i[0]&=127,pn(i,8)-r}function UT(t){let e=t<0?t*-1:t,s=128;for(let r=1;r<8;r++){if(e<=s){if(t<0){let a=s-e,o=pr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=pr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}s*=Math.pow(2,8);}return new ArrayBuffer(0)}function wi(t,e){if(t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<s.length;n++)if(s[n]!==r[n])return !1;return !0}function Ps(t,e){let s=t.toString(10);if(e<s.length)return "";let r=e-s.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(s)}var _T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",HT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function my(t,e=!1,s=!1,r=!1){let n=0,i=0,a=0,o="",c=e?HT:_T;if(r){let u=0;for(let l=0;l<t.length;l++)if(t.charCodeAt(l)!==0){u=l;break}t=t.slice(u);}for(;n<t.length;){let u=t.charCodeAt(n++);n>=t.length&&(i=1);let l=t.charCodeAt(n++);n>=t.length&&(a=1);let p=t.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,S=(l&15)<<2|p>>6,I=p&63;i===1?S=I=64:a===1&&(I=64),s?S===64?o+=`${c.charAt(w)}${c.charAt(E)}`:I===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}${c.charAt(I)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}${c.charAt(I)}`;}return o}function xu(t,e=!1,s=!1){let r=e?HT:_T;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<t.length;){let c=n(t.charAt(a++)),u=a>=t.length?0:n(t.charAt(a++)),l=a>=t.length?0:n(t.charAt(a++)),p=a>=t.length?0:n(t.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,S=(i(l)&3)<<6|i(p);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),p!==64&&(o+=String.fromCharCode(S));}if(s){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function zh(t){let e="",s=new Uint8Array(t);for(let r of s)e+=String.fromCharCode(r);return e}function oo(t){let e=t.length,s=new ArrayBuffer(e),r=new Uint8Array(s);for(let n=0;n<e;n++)r[n]=t.charCodeAt(n);return s}var xU=Math.log(2);function jT(t){let e=Math.log(t)/xU,s=Math.floor(e),r=Math.round(e);return s===r?s:r}function W(t,e){for(let s of e)delete t[s];}function py(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function fA(t){let e=0,s=0;for(let n=0;n<t.length;n++){let i=t[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<t.length;n++){let i=t[n];r.set(new Uint8Array(i),s),s+=i.byteLength;}return r.buffer}function bn(t,e,s,r){return e instanceof Uint8Array?e.byteLength?s<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-s-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Xh=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return fA(this.items)}},Yh=[new Uint8Array([1])],$T="0123456789",lA="name",qT="valueHexView",AU="isHexOnly",IU="idBlock",CU="tagClass",NU="tagNumber",TU="isConstructed",kU="fromBER",BU="toBER",PU="local",Os="",_r=new ArrayBuffer(0),_y=new Uint8Array(0),Qh="EndOfContent",KT="OCTET STRING",GT="BIT STRING";function Sn(t){var e;return e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?Je.BufferSourceConverter.toUint8Array(i.valueHex):_y;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!bn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",_r)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Je.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var gn=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:s=Os,warnings:r=[],valueBeforeDecode:n=_y}={}){this.blockLength=e,this.error=s,this.warnings=r,this.valueBeforeDecodeView=Je.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Je.Convert.ToHex(this.valueBeforeDecodeView)}}};gn.NAME="baseBlock";var ps=class extends gn{fromBER(e,s,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,s){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};ps.NAME="valueBlock";var gy=class extends Sn(gn){constructor({idBlock:e={}}={}){var s,r,n,i;super(),e?(this.isHexOnly=(s=e.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=e.valueHex?Je.BufferSourceConverter.toUint8Array(e.valueHex):_y,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let s=0;switch(this.tagClass){case 1:s|=0;break;case 2:s|=64;break;case 3:s|=128;break;case 4:s|=192;break;default:return this.error="Unknown tag class",_r}if(this.isConstructed&&(s|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,s|=i,n[0]=s;}return n.buffer}if(!this.isHexOnly){let n=pr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=s|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=s|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let p=new Uint8Array(c);for(let w=0;w<c;w++)p[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(p),this.blockLength<=9?this.tagNumber=pn(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return s+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};gy.NAME="identificationBlock";var yy=class extends gn{constructor({lenBlock:e={}}={}){var s,r,n;super(),this.isIndefiniteForm=(s=e.isIndefiniteForm)!==null&&s!==void 0?s:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,s+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,s+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=s+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=pn(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,s+this.blockLength}toBER(e=!1){let s,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=128),s;if(this.longFormUsed){let n=pr(this.length,8);if(n.byteLength>127)return this.error="Too big length",_r;if(s=new ArrayBuffer(n.byteLength+1),e)return s;let i=new Uint8Array(n);r=new Uint8Array(s),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return s}return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=this.length),s}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};yy.NAME="lengthBlock";var le={},rs=class extends gn{constructor({name:e=Os,optional:s=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=s,r&&(this.primitiveSchema=r),this.idBlock=new gy(n),this.lenBlock=new yy(n),this.valueBlock=i?new i(n):new ps(n);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,s){let r=s||new Xh;s||WT(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return s?_r:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():Je.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${s}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let s=this.toBER(),r=e.toBER();return wi(s,r)}};rs.NAME="BaseBlock";function WT(t){var e;if(t instanceof le.Constructed)for(let s of t.valueBlock.value)WT(s)&&(t.lenBlock.isIndefiniteForm=!0);return !!(!((e=t.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var wy=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=Os,...s}={},r){super(s,r),e&&this.fromString(e);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};wy.NAME="BaseStringBlock";var by=class extends Sn(ps){constructor({isHexOnly:e=!0,...s}={}){super(s),this.isHexOnly=e;}};by.NAME="PrimitiveValueBlock";var JT,we=class extends rs{constructor(e={}){super(e,by),this.idBlock.isConstructed=!1;}};JT=we;le.Primitive=JT;we.NAME="PRIMITIVE";function OU(t,e){if(t instanceof e)return t;let s=new e;return s.idBlock=t.idBlock,s.lenBlock=t.lenBlock,s.warnings=t.warnings,s.valueBeforeDecodeView=t.valueBeforeDecodeView,s}function rd(t,e=0,s=t.length){let r=e,n=new rs({},ps),i=new gn;if(!bn(i,t,e,s))return n.error=i.error,{offset:-1,result:n};if(!t.subarray(e,e+s).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,s);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,s-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,s),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,s-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=rs;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=le.EndOfContent;break;case 1:c=le.Boolean;break;case 2:c=le.Integer;break;case 3:c=le.BitString;break;case 4:c=le.OctetString;break;case 5:c=le.Null;break;case 6:c=le.ObjectIdentifier;break;case 10:c=le.Enumerated;break;case 12:c=le.Utf8String;break;case 13:c=le.RelativeObjectIdentifier;break;case 14:c=le.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=le.Sequence;break;case 17:c=le.Set;break;case 18:c=le.NumericString;break;case 19:c=le.PrintableString;break;case 20:c=le.TeletexString;break;case 21:c=le.VideotexString;break;case 22:c=le.IA5String;break;case 23:c=le.UTCTime;break;case 24:c=le.GeneralizedTime;break;case 25:c=le.GraphicString;break;case 26:c=le.VisibleString;break;case 27:c=le.GeneralString;break;case 28:c=le.UniversalString;break;case 29:c=le.CharacterString;break;case 30:c=le.BmpString;break;case 31:c=le.DATE;break;case 32:c=le.TimeOfDay;break;case 33:c=le.DateTime;break;case 34:c=le.Duration;break;default:{let u=n.idBlock.isConstructed?new le.Constructed:new le.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?le.Constructed:le.Primitive;}return n=OU(n,c),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?s:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(r,r+n.blockLength),{offset:o,result:n}}function Ot(t){if(!t.byteLength){let e=new rs({},ps);return e.error="Input buffer has zero length",{offset:-1,result:e}}return rd(Je.BufferSourceConverter.toUint8Array(t).slice(),0,t.byteLength)}function RU(t,e){return t?1:e}var Vr=class extends ps{constructor({value:e=[],isIndefiniteForm:s=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=s;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;if(this.valueBeforeDecodeView=n.subarray(s,s+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),s;let i=s;for(;RU(this.isIndefiniteForm,r)>0;){let a=rd(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===Qh)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Qh?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,s){let r=s||new Xh;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return s?_r:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let s of this.value)e.value.push(s.toJSON());return e}};Vr.NAME="ConstructedValueBlock";var zT,L=class extends rs{constructor(e={}){super(e,Vr),this.idBlock.isConstructed=!0;}fromBER(e,s,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
371
+ `,u+=c,u},iA.noChildren=!0,Le.registerDecoder(gt.CBOR,iA),Le.registerDecoder(gt.URI,t=>(yi(t.contents),new URL(t.contents)),"URI"),It(URL,t=>[gt.URI,t.toString()]),Le.registerDecoder(gt.BASE64URL,t=>(yi(t.contents),bT(t.contents)),"Base64url-encoded"),Le.registerDecoder(gt.BASE64,t=>(yi(t.contents),qh(t.contents)),"Base64-encoded"),Le.registerDecoder(35,t=>(yi(t.contents),new RegExp(t.contents)),"RegExp"),Le.registerDecoder(21065,t=>{yi(t.contents);let e=`^(?:${t.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Le.registerDecoder(gt.REGEXP,t=>{if(DT(t.contents),t.contents.length<1||t.contents.length>2)throw new Error(`Invalid RegExp Array: ${t.contents}`);return new RegExp(t.contents[0],t.contents[1])},"RegExp"),It(RegExp,t=>[gt.REGEXP,[t.source,t.flags]]),Le.registerDecoder(64,t=>(io(t.contents),t.contents),"uint8 Typed Array");function ms(t,e,s){io(t.contents);let r=t.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(t.contents.buffer,t.contents.byteOffset,t.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,s);return n}function gi(t,e,s,r,n){let i=n.forceEndian??kT;if(Kh(i?e:s,t,n),Fs(r.byteLength,t,ee.BYTE_STRING),kT===i)t.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=t[a].bind(t);for(let c of r)o(c,i);}}Le.registerDecoder(65,t=>ms(t,Uint16Array,!1),"uint16, big endian, Typed Array"),Le.registerDecoder(66,t=>ms(t,Uint32Array,!1),"uint32, big endian, Typed Array"),Le.registerDecoder(67,t=>ms(t,BigUint64Array,!1),"uint64, big endian, Typed Array"),Le.registerDecoder(68,t=>(io(t.contents),new Uint8ClampedArray(t.contents)),"uint8 Typed Array, clamped arithmetic"),It(Uint8ClampedArray,t=>[68,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(69,t=>ms(t,Uint16Array,!0),"uint16, little endian, Typed Array"),It(Uint16Array,(t,e,s)=>gi(e,69,65,t,s)),Le.registerDecoder(70,t=>ms(t,Uint32Array,!0),"uint32, little endian, Typed Array"),It(Uint32Array,(t,e,s)=>gi(e,70,66,t,s)),Le.registerDecoder(71,t=>ms(t,BigUint64Array,!0),"uint64, little endian, Typed Array"),It(BigUint64Array,(t,e,s)=>gi(e,71,67,t,s)),Le.registerDecoder(72,t=>(io(t.contents),new Int8Array(t.contents)),"sint8 Typed Array"),It(Int8Array,t=>[72,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(73,t=>ms(t,Int16Array,!1),"sint16, big endian, Typed Array"),Le.registerDecoder(74,t=>ms(t,Int32Array,!1),"sint32, big endian, Typed Array"),Le.registerDecoder(75,t=>ms(t,BigInt64Array,!1),"sint64, big endian, Typed Array"),Le.registerDecoder(77,t=>ms(t,Int16Array,!0),"sint16, little endian, Typed Array"),It(Int16Array,(t,e,s)=>gi(e,77,73,t,s)),Le.registerDecoder(78,t=>ms(t,Int32Array,!0),"sint32, little endian, Typed Array"),It(Int32Array,(t,e,s)=>gi(e,78,74,t,s)),Le.registerDecoder(79,t=>ms(t,BigInt64Array,!0),"sint64, little endian, Typed Array"),It(BigInt64Array,(t,e,s)=>gi(e,79,75,t,s)),Le.registerDecoder(81,t=>ms(t,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Le.registerDecoder(82,t=>ms(t,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Le.registerDecoder(85,t=>ms(t,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),It(Float32Array,(t,e,s)=>gi(e,85,81,t,s)),Le.registerDecoder(86,t=>ms(t,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),It(Float64Array,(t,e,s)=>gi(e,86,82,t,s)),Le.registerDecoder(gt.SET,(t,e)=>{if(DT(t.contents),e.sortKeys){let s=Is.decodeToEncodeOpts(e),r=null;for(let n of t.contents){let i=[n,void 0,hn(n,s)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${gt.SET}`);r=i;}}return new Set(t.contents)},"Set"),It(Set,(t,e,s)=>{let r=[...t];if(s.sortKeys){let n=r.map(i=>[i,void 0,hn(i,s)]);n.sort(s.sortKeys),r=n.map(([i])=>i);}return [gt.SET,r]}),Le.registerDecoder(gt.JSON,t=>(yi(t.contents),JSON.parse(t.contents)),"JSON-encoded"),Le.registerDecoder(gt.SELF_DESCRIBED,t=>t.contents,"Self-Described"),Le.registerDecoder(gt.INVALID_16,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_16}`)},"Invalid"),Le.registerDecoder(gt.INVALID_32,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_32}`)},"Invalid"),Le.registerDecoder(gt.INVALID_64,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_64}`)},"Invalid");function aA(t){throw new Error(`Encoding ${t.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}It(ArrayBuffer,aA),It(DataView,aA),typeof SharedArrayBuffer<"u"&&It(SharedArrayBuffer,aA);function ay(t){return [NaN,t.valueOf()]}It(Boolean,ay),It(Number,ay),It(String,ay),It(BigInt,ay);d();h();d();h();d();h();d();h();var Je=Ib(ly());d();h();function y(t,e,s){var r;return t instanceof Object&&(r=t[e])!==null&&r!==void 0?r:s}function fy(t,e=0,s=t.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(t,e,s)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function pn(t,e){let s=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)s+=t[t.length-1-r]*Math.pow(2,e*r);return s}function pr(t,e,s=-1){let r=s,n=t,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(t<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let p=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/p),n-=u[i-l-1]*p;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function ao(...t){let e=0,s=0;for(let i of t)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(new Uint8Array(i),s),s+=i.byteLength;return r}function hy(...t){let e=0,s=0;for(let i of t)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(i,s),s+=i.length;return n}function cA(){let t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=t[0]===255&&t[1]&128,c=t[0]===0&&(t[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)s[o]=0;s[0]=t[0]&128;let r=pn(s,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=t[o];return i[0]&=127,pn(i,8)-r}function VT(t){let e=t<0?t*-1:t,s=128;for(let r=1;r<8;r++){if(e<=s){if(t<0){let a=s-e,o=pr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=pr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}s*=Math.pow(2,8);}return new ArrayBuffer(0)}function wi(t,e){if(t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<s.length;n++)if(s[n]!==r[n])return !1;return !0}function Ps(t,e){let s=t.toString(10);if(e<s.length)return "";let r=e-s.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(s)}var UT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function dy(t,e=!1,s=!1,r=!1){let n=0,i=0,a=0,o="",c=e?_T:UT;if(r){let u=0;for(let l=0;l<t.length;l++)if(t.charCodeAt(l)!==0){u=l;break}t=t.slice(u);}for(;n<t.length;){let u=t.charCodeAt(n++);n>=t.length&&(i=1);let l=t.charCodeAt(n++);n>=t.length&&(a=1);let p=t.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,v=(l&15)<<2|p>>6,I=p&63;i===1?v=I=64:a===1&&(I=64),s?v===64?o+=`${c.charAt(w)}${c.charAt(E)}`:I===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(I)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(I)}`;}return o}function xu(t,e=!1,s=!1){let r=e?_T:UT;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<t.length;){let c=n(t.charAt(a++)),u=a>=t.length?0:n(t.charAt(a++)),l=a>=t.length?0:n(t.charAt(a++)),p=a>=t.length?0:n(t.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,v=(i(l)&3)<<6|i(p);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),p!==64&&(o+=String.fromCharCode(v));}if(s){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function zh(t){let e="",s=new Uint8Array(t);for(let r of s)e+=String.fromCharCode(r);return e}function oo(t){let e=t.length,s=new ArrayBuffer(e),r=new Uint8Array(s);for(let n=0;n<e;n++)r[n]=t.charCodeAt(n);return s}var IU=Math.log(2);function HT(t){let e=Math.log(t)/IU,s=Math.floor(e),r=Math.round(e);return s===r?s:r}function W(t,e){for(let s of e)delete t[s];}function my(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function lA(t){let e=0,s=0;for(let n=0;n<t.length;n++){let i=t[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<t.length;n++){let i=t[n];r.set(new Uint8Array(i),s),s+=i.byteLength;}return r.buffer}function bn(t,e,s,r){return e instanceof Uint8Array?e.byteLength?s<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-s-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Xh=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return lA(this.items)}},Yh=[new Uint8Array([1])],MT="0123456789",uA="name",$T="valueHexView",CU="isHexOnly",NU="idBlock",TU="tagClass",kU="tagNumber",BU="isConstructed",PU="fromBER",OU="toBER",RU="local",Os="",_r=new ArrayBuffer(0),Uy=new Uint8Array(0),Qh="EndOfContent",qT="OCTET STRING",GT="BIT STRING";function Sn(t){var e;return e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?Je.BufferSourceConverter.toUint8Array(i.valueHex):Uy;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!bn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",_r)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Je.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var gn=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:s=Os,warnings:r=[],valueBeforeDecode:n=Uy}={}){this.blockLength=e,this.error=s,this.warnings=r,this.valueBeforeDecodeView=Je.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Je.Convert.ToHex(this.valueBeforeDecodeView)}}};gn.NAME="baseBlock";var ps=class extends gn{fromBER(e,s,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,s){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};ps.NAME="valueBlock";var py=class extends Sn(gn){constructor({idBlock:e={}}={}){var s,r,n,i;super(),e?(this.isHexOnly=(s=e.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=e.valueHex?Je.BufferSourceConverter.toUint8Array(e.valueHex):Uy,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let s=0;switch(this.tagClass){case 1:s|=0;break;case 2:s|=64;break;case 3:s|=128;break;case 4:s|=192;break;default:return this.error="Unknown tag class",_r}if(this.isConstructed&&(s|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,s|=i,n[0]=s;}return n.buffer}if(!this.isHexOnly){let n=pr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=s|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=s|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let p=new Uint8Array(c);for(let w=0;w<c;w++)p[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(p),this.blockLength<=9?this.tagNumber=pn(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return s+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};py.NAME="identificationBlock";var gy=class extends gn{constructor({lenBlock:e={}}={}){var s,r,n;super(),this.isIndefiniteForm=(s=e.isIndefiniteForm)!==null&&s!==void 0?s:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,s+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,s+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=s+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=pn(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,s+this.blockLength}toBER(e=!1){let s,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=128),s;if(this.longFormUsed){let n=pr(this.length,8);if(n.byteLength>127)return this.error="Too big length",_r;if(s=new ArrayBuffer(n.byteLength+1),e)return s;let i=new Uint8Array(n);r=new Uint8Array(s),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return s}return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=this.length),s}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};gy.NAME="lengthBlock";var le={},rs=class extends gn{constructor({name:e=Os,optional:s=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=s,r&&(this.primitiveSchema=r),this.idBlock=new py(n),this.lenBlock=new gy(n),this.valueBlock=i?new i(n):new ps(n);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,s){let r=s||new Xh;s||KT(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return s?_r:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():Je.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${s}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let s=this.toBER(),r=e.toBER();return wi(s,r)}};rs.NAME="BaseBlock";function KT(t){var e;if(t instanceof le.Constructed)for(let s of t.valueBlock.value)KT(s)&&(t.lenBlock.isIndefiniteForm=!0);return !!(!((e=t.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var yy=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=Os,...s}={},r){super(s,r),e&&this.fromString(e);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};yy.NAME="BaseStringBlock";var wy=class extends Sn(ps){constructor({isHexOnly:e=!0,...s}={}){super(s),this.isHexOnly=e;}};wy.NAME="PrimitiveValueBlock";var WT,we=class extends rs{constructor(e={}){super(e,wy),this.idBlock.isConstructed=!1;}};WT=we;le.Primitive=WT;we.NAME="PRIMITIVE";function LU(t,e){if(t instanceof e)return t;let s=new e;return s.idBlock=t.idBlock,s.lenBlock=t.lenBlock,s.warnings=t.warnings,s.valueBeforeDecodeView=t.valueBeforeDecodeView,s}function rd(t,e=0,s=t.length){let r=e,n=new rs({},ps),i=new gn;if(!bn(i,t,e,s))return n.error=i.error,{offset:-1,result:n};if(!t.subarray(e,e+s).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,s);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,s-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,s),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,s-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=rs;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=le.EndOfContent;break;case 1:c=le.Boolean;break;case 2:c=le.Integer;break;case 3:c=le.BitString;break;case 4:c=le.OctetString;break;case 5:c=le.Null;break;case 6:c=le.ObjectIdentifier;break;case 10:c=le.Enumerated;break;case 12:c=le.Utf8String;break;case 13:c=le.RelativeObjectIdentifier;break;case 14:c=le.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=le.Sequence;break;case 17:c=le.Set;break;case 18:c=le.NumericString;break;case 19:c=le.PrintableString;break;case 20:c=le.TeletexString;break;case 21:c=le.VideotexString;break;case 22:c=le.IA5String;break;case 23:c=le.UTCTime;break;case 24:c=le.GeneralizedTime;break;case 25:c=le.GraphicString;break;case 26:c=le.VisibleString;break;case 27:c=le.GeneralString;break;case 28:c=le.UniversalString;break;case 29:c=le.CharacterString;break;case 30:c=le.BmpString;break;case 31:c=le.DATE;break;case 32:c=le.TimeOfDay;break;case 33:c=le.DateTime;break;case 34:c=le.Duration;break;default:{let u=n.idBlock.isConstructed?new le.Constructed:new le.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?le.Constructed:le.Primitive;}return n=LU(n,c),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?s:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(r,r+n.blockLength),{offset:o,result:n}}function Ot(t){if(!t.byteLength){let e=new rs({},ps);return e.error="Input buffer has zero length",{offset:-1,result:e}}return rd(Je.BufferSourceConverter.toUint8Array(t).slice(),0,t.byteLength)}function DU(t,e){return t?1:e}var Vr=class extends ps{constructor({value:e=[],isIndefiniteForm:s=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=s;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;if(this.valueBeforeDecodeView=n.subarray(s,s+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),s;let i=s;for(;DU(this.isIndefiniteForm,r)>0;){let a=rd(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===Qh)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Qh?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,s){let r=s||new Xh;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return s?_r:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let s of this.value)e.value.push(s.toJSON());return e}};Vr.NAME="ConstructedValueBlock";var JT,L=class extends rs{constructor(e={}){super(e,Vr),this.idBlock.isConstructed=!0;}fromBER(e,s,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
372
372
  `).map(n=>` ${n}`).join(`
373
373
  `));let s=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${s} :
374
374
  ${e.join(`
375
- `)}`:`${s} :`}};zT=L;le.Constructed=zT;L.NAME="CONSTRUCTED";var Sy=class extends ps{fromBER(e,s,r){return s}toBER(e){return _r}};Sy.override="EndOfContentValueBlock";var YT,vy=class extends rs{constructor(e={}){super(e,Sy),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};YT=vy;le.EndOfContent=YT;vy.NAME=Qh;var ZT,wt=class extends rs{constructor(e={}){super(e,ps),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,s,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,s+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):s+r}toBER(e,s){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return s&&s.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};ZT=wt;le.Null=ZT;wt.NAME="NULL";var Ey=class extends Sn(ps){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...s}={}){super(s),s.valueHex?this.valueHexView=Je.BufferSourceConverter.toUint8Array(s.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);return bn(this,n,s,r)?(this.valueHexView=n.subarray(s,s+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,uA.call(this),this.blockLength=r,s+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};Ey.NAME="BooleanValueBlock";var XT,Fs=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,Ey),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};XT=Fs;le.Boolean=XT;Fs.NAME="BOOLEAN";var xy=class extends Sn(Vr){constructor({isConstructed:e=!1,...s}={}){super(s),this.isConstructed=e;}fromBER(e,s,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==KT)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,s,r),this.blockLength=r;return n}toBER(e,s){return this.isConstructed?Vr.prototype.toBER.call(this,e,s):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};xy.NAME="OctetStringValueBlock";var hA,z=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},xy),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,s,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),s;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(s,s+r);try{if(i.byteLength){let a=rd(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${s}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let s of this.valueBlock.value)s instanceof hA&&e.push(s.valueBlock.valueHexView);return Je.BufferSourceConverter.concat(e)}};hA=z;le.OctetString=hA;z.NAME=KT;var Ay=class extends Sn(Vr){constructor({unusedBits:e=0,isConstructed:s=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=s,this.blockLength=this.valueHexView.byteLength;}fromBER(e,s,r){if(!r)return s;let n=-1;if(this.isConstructed){if(n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==GT)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,i,s,r))return -1;let a=i.subarray(s,s+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=rd(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,s+r}toBER(e,s){if(this.isConstructed)return Vr.prototype.toBER.call(this,e,s);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Ay.NAME="BitStringValueBlock";var QT,_e=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},Ay),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,s,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);{let e=[],s=this.valueBlock.valueHexView;for(let a of s)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};QT=_e;le.BitString=QT;_e.NAME=GT;var e4;function LU(t,e){let s=new Uint8Array([0]),r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,p=0;for(let w=l;w>=0;w--,p++){switch(!0){case p<o.length:u=i[a-p]+o[c-p]+s[0];break;default:u=i[a-p]+s[0];}switch(s[0]=u/10,!0){case p>=i.length:i=dy(new Uint8Array([u%10]),i);break;default:i[a-p]=u%10;}}return s[0]>0&&(i=dy(s,i)),i}function FT(t){if(t>=Yh.length)for(let e=Yh.length;e<=t;e++){let s=new Uint8Array([0]),r=Yh[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+s[0]]);s[0]=i[0]/10,r[n]=i[0]%10;}s[0]>0&&(r=dy(s,r)),Yh.push(r);}return Yh[t]}function DU(t,e){let s=0,r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let p=c;p>=0;p--,l++)switch(u=i[a-l]-o[c-l]-s,!0){case u<0:s=1,i[a-l]=u+10;break;default:s=0,i[a-l]=u;}if(s>0)for(let p=a-c+1;p>=0;p--,l++)if(u=i[a-l]-s,u<0)s=1,i[a-l]=u+10;else {s=0,i[a-l]=u;break}return i.slice()}var ed=class extends Sn(ps){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=uA.call(this)));}constructor({value:e,...s}={}){super(s),this._valueDec=0,s.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(UT(e));}get valueDec(){return this._valueDec}fromDER(e,s,r,n=0){let i=this.fromBER(e,s,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let s=this.valueHexView;switch(!0){case(s[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(s,1),this.valueHexView=r;}break;case(s[0]===0&&(s[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,s,r){let n=super.fromBER(e,s,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,s=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:s=DU(FT(r),s),a="-";break;default:s=LU(s,FT(r));}r++,n>>=1;}}for(let c=0;c<s.length;c++)s[c]&&(o=!0),o&&(a+=$T.charAt(s[c]));return o===!1&&(a+=$T.charAt(0)),a}};e4=ed;ed.NAME="IntegerValueBlock";Object.defineProperty(e4.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Zh,U=class extends rs{constructor(e={}){super(e,ed),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return py(),BigInt(this.valueBlock.toString())}static fromBigInt(e){py();let s=BigInt(e),r=new Xh,n=s.toString(16).replace(/^-/,""),i=new Uint8Array(Je.Convert.FromHex(n));if(s<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${Je.Convert.ToHex(o)}`)+s,l=Je.BufferSourceConverter.toUint8Array(Je.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Zh({valueHex:r.final()})}convertToDER(){let e=new Zh({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Zh({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Zh=U;le.Integer=Zh;U.NAME="INTEGER";var t4,Ur=class extends U{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};t4=Ur;le.Enumerated=t4;Ur.NAME="ENUMERATED";var td=class extends Sn(ps){constructor({valueDec:e=-1,isFirstSid:s=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=s;}fromBER(e,s,r){if(!r)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}set valueBigInt(e){py();let s=BigInt(e).toString(2);for(;s.length%7;)s="0"+s;let r=new Uint8Array(s.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(s.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=Je.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let s=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",s-=40):(e="2.",s-=80),e+=s.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};td.NAME="sidBlock";var Iy=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new td;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let s=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,_r;s.push(n);}return fA(s)}fromString(e){this.value=[];let s=0,r=0,n="",i=!1;do if(r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new td;if(n>Number.MAX_SAFE_INTEGER){py();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Iy.NAME="ObjectIdentifierValueBlock";var s4,ae=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Iy),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};s4=ae;le.ObjectIdentifier=s4;ae.NAME="OBJECT IDENTIFIER";var sd=class extends Sn(gn){constructor({valueDec:e=0,...s}={}){super(s),this.valueDec=e;}fromBER(e,s,r){if(r===0)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=Je.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};sd.NAME="relativeSidBlock";var Cy=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new sd;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,s){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,_r;r.push(i);}return fA(r)}fromString(e){this.value=[];let s=0,r=0,n="";do{r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1;let i=new sd;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Cy.NAME="RelativeObjectIdentifierValueBlock";var r4,Ny=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Cy),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};r4=Ny;le.RelativeObjectIdentifier=r4;Ny.NAME="RelativeObjectIdentifier";var n4,T=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};n4=T;le.Sequence=n4;T.NAME="SEQUENCE";var i4,bt=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};i4=bt;le.Set=i4;bt.NAME="SET";var Ty=class extends Sn(ps){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Os;}toJSON(){return {...super.toJSON(),value:this.value}}};Ty.NAME="StringValueBlock";var ky=class extends Ty{};ky.NAME="SimpleStringValueBlock";var Cs=class extends wy{constructor({...e}={}){super(e,ky);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Cs.NAME="SIMPLE STRING";var By=class extends Cs{fromBuffer(e){this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=Je.Convert.ToUtf8String(e);}catch(s){this.warnings.push(`Error during "decodeURIComponent": ${s}, using raw string`),this.valueBlock.value=Je.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};By.NAME="Utf8StringValueBlock";var a4,Rs=class extends By{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};a4=Rs;le.Utf8String=a4;Rs.NAME="UTF8String";var Py=class extends Cs{fromBuffer(e){this.valueBlock.value=Je.Convert.ToUtf16String(e),this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf16String(e));}};Py.NAME="BmpStringValueBlock";var o4,bi=class extends Py{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};o4=bi;le.BmpString=o4;bi.NAME="BMPString";var Oy=class extends Cs{fromBuffer(e){let s=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(s);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(s));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s*4);for(let n=0;n<s;n++){let i=pr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};Oy.NAME="UniversalStringValueBlock";var c4,Si=class extends Oy{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};c4=Si;le.UniversalString=c4;Si.NAME="UniversalString";var u4,yn=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};u4=yn;le.NumericString=u4;yn.NAME="NumericString";var l4,Ls=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};l4=Ls;le.PrintableString=l4;Ls.NAME="PrintableString";var f4,vi=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};f4=vi;le.TeletexString=f4;vi.NAME="TeletexString";var h4,Au=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};h4=Au;le.VideotexString=h4;Au.NAME="VideotexString";var d4,co=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};d4=co;le.IA5String=d4;co.NAME="IA5String";var m4,Iu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};m4=Iu;le.GraphicString=m4;Iu.NAME="GraphicString";var p4,uo=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};p4=uo;le.VisibleString=p4;uo.NAME="VisibleString";var g4,Cu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};g4=Cu;le.GeneralString=g4;Cu.NAME="GeneralString";var y4,Nu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};y4=Nu;le.CharacterString=y4;Nu.NAME="CharacterString";var w4,wn=class extends uo{constructor({value:e,valueDate:s,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}s&&(this.fromDate(s),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),s=new ArrayBuffer(e.length),r=new Uint8Array(s);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return s}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let s=new Array(7);return s[0]=Ps(this.year<2e3?this.year-1900:this.year-2e3,2),s[1]=Ps(this.month,2),s[2]=Ps(this.day,2),s[3]=Ps(this.hour,2),s[4]=Ps(this.minute,2),s[5]=Ps(this.second,2),s[6]="Z",s.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};w4=wn;le.UTCTime=w4;wn.NAME="UTCTime";var b4,ct=class extends wn{constructor(e={}){var s;super(e),(s=this.millisecond)!==null&&s!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let s=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),s=!0;else {let p=new Number(e[e.length-1]);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(s){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let p=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),p=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let S=parseInt(E.substring(0,2),10);if(isNaN(S.valueOf()))throw new Error("Wrong input string for conversion");if(o=p*S,E.length===4){if(S=parseInt(E.substring(2,4),10),isNaN(S.valueOf()))throw new Error("Wrong input string for conversion");c=p*S;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let p=new Number(`0${r.substring(u)}`);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");i=p.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.minute=Math.floor(p),p=60*(p-this.minute),this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=1e3*i;this.millisecond=Math.floor(p);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let p=1;p<l.length;p++)switch(p){case 1:this.year=parseInt(l[p],10);break;case 2:this.month=parseInt(l[p],10);break;case 3:this.day=parseInt(l[p],10);break;case 4:this.hour=parseInt(l[p],10)+o;break;case 5:this.minute=parseInt(l[p],10)+c;break;case 6:this.second=parseInt(l[p],10);break;default:throw new Error("Wrong input string for conversion")}if(s===!1){let p=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=p.getUTCFullYear(),this.month=p.getUTCMonth(),this.day=p.getUTCDay(),this.hour=p.getUTCHours(),this.minute=p.getUTCMinutes(),this.second=p.getUTCSeconds(),this.millisecond=p.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let s=[];return s.push(Ps(this.year,4)),s.push(Ps(this.month,2)),s.push(Ps(this.day,2)),s.push(Ps(this.hour,2)),s.push(Ps(this.minute,2)),s.push(Ps(this.second,2)),this.millisecond!==0&&(s.push("."),s.push(Ps(this.millisecond,3))),s.push("Z"),s.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};b4=ct;le.GeneralizedTime=b4;ct.NAME="GeneralizedTime";var S4,Ry=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};S4=Ry;le.DATE=S4;Ry.NAME="DATE";var v4,Ly=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};v4=Ly;le.TimeOfDay=v4;Ly.NAME="TimeOfDay";var E4,Dy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};E4=Dy;le.DateTime=E4;Dy.NAME="DateTime";var x4,Vy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};x4=Vy;le.Duration=x4;Vy.NAME="Duration";var A4,Uy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};A4=Uy;le.TIME=A4;Uy.NAME="TIME";var be=class{constructor({name:e=Os,optional:s=!1}={}){this.name=e,this.optional=s;}},ut=class extends be{constructor({value:e=[],...s}={}){super(s),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:s=!1,...r}={}){super(r),this.value=e,this.local=s;}},lo=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}constructor({data:e=_y}={}){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}fromBER(e,s,r){let n=s+r;return this.dataView=Je.BufferSourceConverter.toUint8Array(e).subarray(s,n),n}toBER(e){return this.dataView.slice().buffer}};function K(t,e,s){if(s instanceof ut){for(let i of s.value)if(K(t,e,i).verified)return {verified:!0,result:t};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return s.hasOwnProperty(lA)&&(i.name=s.name),i}}if(s instanceof be)return s.hasOwnProperty(lA)&&(t[s.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(IU in s))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(kU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(BU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=s.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(s.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(s.idBlock.hasOwnProperty(CU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(NU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(TU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:t};if(!(AU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:t};if(s.idBlock.isHexOnly){if(!(qT in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=s.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:t};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:t}}if(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(t[s.name]=e)),s instanceof le.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=s.valueBlock.value.length;if(o>0&&s.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:t};if(e.valueBlock.value.length===0&&s.valueBlock.value.length!==0){let c=!0;for(let u=0;u<s.valueBlock.value.length;u++)c=c&&(s.valueBlock.value[u].optional||!1);return c?{verified:!0,result:t}:(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(s.valueBlock.value[c].optional===!1){let u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],u.name=s.name)),u}}else if(s.valueBlock.value[0]instanceof Ae){if(a=K(t,e.valueBlock.value[c],s.valueBlock.value[0].value),a.verified===!1)if(s.valueBlock.value[0].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(lA in s.valueBlock.value[0]&&s.valueBlock.value[0].name.length>0){let u={};PU in s.valueBlock.value[0]&&s.valueBlock.value[0].local?u=e:u=t,typeof u[s.valueBlock.value[0].name]>"u"&&(u[s.valueBlock.value[0].name]=[]),u[s.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=K(t,e.valueBlock.value[c-i],s.valueBlock.value[c]),a.verified===!1)if(s.valueBlock.value[c].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(a.verified===!1){let c={verified:!1,result:t};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],c.name=s.name)),c}return {verified:!0,result:t}}if(s.primitiveSchema&&qT in e.valueBlock){let i=rd(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],a.name=s.name)),a}return K(t,i.result,s.primitiveSchema)}return {verified:!0,result:t}}var Se=Cb(fy()),lf=Cb(fy());d();h();d();h();var ns=class t{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let s=0;s<this._view.length;s++)this._view[s]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let s=e.length;this.length=s;for(let r=0;r<s;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let s=e.length;this.buffer=new ArrayBuffer(s>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<s;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,s=this.length-e){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,e+s)})}slice(e=0,s=this.length){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,s)})}realloc(e){let s=new ArrayBuffer(e),r=new Uint8Array(s);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=s,this._view=new Uint8Array(this._buffer);}append(e){let s=this.length,r=e.length,n=e._view.subarray();this.realloc(s+r),this._view.set(n,s);}insert(e,s=0,r=this.length-s){return s>this.length-1?!1:(r>this.length-s&&(r=this.length-s),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,s):this._view.set(e._view.subarray(0,r),s),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e.view[s])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e[s])return !1;return !0}findPattern(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let p=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){p=!1;break}if(p)return o?i-c-l:i+c+l}return -1}findFirstIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let p=!1,w=e[u].length;o?l-w>=c.position-c.length&&(p=!0):l-w<=c.position-c.length&&(p=!0),p&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,p=n+u;for(let w=0;w<o;w++)if(this.view[w+p]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new t},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new t({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new t({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new t};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new t};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new t({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={position:n,value:new t};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,s,r,n){let i=[];if(e.isEqual(s))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(s,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((p,w)=>p.left-w.left),i}findPairedArrays(e,s,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(s,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((p,w)=>p.left.position-w.left.position),o}replacePattern(e,s,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,S=>S.position));let p=e.length-s.length,w=new ArrayBuffer(this.view.length-a.length*p),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let S=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,S,a[o].position-e.length-S),S-o*p),E.set(s.view,a[o].position-e.length-o*p),c.replacePatternPositions.push(a[o].position-e.length-o*p);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+s.length-o*p),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,p=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+p]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let p=e[l].length,w=o?i-u-p:i+u,E=!0;for(let S=0;S<p;S++)if(this.view[S+w]!=e[l].view[S]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,s=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(s===null&&(s=e),s>e&&(s=e)):(s===null&&(s=this.length-e),s>this.length-e&&(s=this.length-e)),{start:e,length:s,backward:r}}};d();h();var UU=16777216,vn=class t{constructor(e={}){this._stream=new ns,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new ns({view:e.view}):"buffer"in e?this.stream=new ns({buffer:e.buffer}):"string"in e?this.stream=new ns({string:e.string}):"hexstring"in e?this.stream=new ns({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new ns,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-s)return -1}else if(r>this.start+e.length+s)return -1;return this.start=r,r}findFirstIn(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-s)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+s)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,s,this.length)}findFirstNotIn(e,s=null){(s==null||s>this._length)&&(s=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let s=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,s,this._length)}findFirstSequence(e,s=null,r=null){(s==null||s>this._length)&&(s=this._length),(r==null||r>s)&&(r=s);let n=this._stream.findFirstSequence(e,this._start,s,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new ns}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new ns};return this.start=n.position,n}findAllSequences(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,s,this.length)}findPairedPatterns(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-s.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-s[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,s){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,s,r,this.length)}skipPatterns(e){let s=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=s,s}skipNotPatterns(e){let s=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return s==-1?-1:(this.start=s,s)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let s=new Uint16Array([e]),r=new Uint8Array(s.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let s=new Int16Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let s=new Int32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,s=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return s&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let s=this.getBlock(2,e);return s.length<2?0:s[0]<<8|s[1]}getInt16(e=!0){let s=this.getUint16(e),r=32768;return s&r?-(r-(s^r)):s}getUint24(e=!0){let s=this.getBlock(4,e);return s.length<3?0:s[0]<<16|s[1]<<8|s[2]}getUint32(e=!0){let s=this.getBlock(4,e);return s.length<4?0:s[0]*UU+(s[1]<<16)+(s[2]<<8)+s[3]}getInt32(e=!0){let s=this.getUint32(e),r=2147483648;return s&r?-(r-(s^r)):s}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+t.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};vn.APPEND_BLOCK=1e3;d();h();d();h();d();h();d();h();d();h();d();h();d();h();function HU(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function dA(t,...e){if(!HU(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function mA(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function I4(t,e){dA(t);let s=e.outputLen;if(t.length<s)throw new Error(`digestInto() expects output buffer of length at least ${s}`)}d();h();var jy=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),gr=(t,e)=>t<<32-e|t>>>e,My=(t,e)=>t<<e|t>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function jU(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function pA(t){return typeof t=="string"&&(t=jU(t)),dA(t),t}var Hy=class{clone(){return this._cloneInto()}};function fo(t){let e=r=>t().update(pA(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function MU(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}var $y=(t,e,s)=>t&e^~t&s,qy=(t,e,s)=>t&e^t&s^e&s,Ei=class extends Hy{constructor(e,s,r,n){super(),this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=jy(this.buffer);}update(e){mA(this);let{view:s,buffer:r,blockLen:n}=this;e=pA(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=jy(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){mA(this),I4(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;MU(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=jy(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%s&&e.buffer.set(r),e}};var nd=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),xi=new Uint32Array(80),gA=class extends Ei{constructor(){super(64,20,8,!1),this.A=nd[0]|0,this.B=nd[1]|0,this.C=nd[2]|0,this.D=nd[3]|0,this.E=nd[4]|0;}get(){let{A:e,B:s,C:r,D:n,E:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,s){for(let c=0;c<16;c++,s+=4)xi[c]=e.getUint32(s,!1);for(let c=16;c<80;c++)xi[c]=My(xi[c-3]^xi[c-8]^xi[c-14]^xi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=$y(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=qy(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let p=My(r,5)+u+o+l+xi[c]|0;o=a,a=i,i=My(n,30),n=r,r=p;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){xi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},C4=fo(()=>new gA);d();h();d();h();var $U=new Uint32Array([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]),Ai=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ii=new Uint32Array(64),yA=class extends Ei{constructor(){super(64,32,8,!1),this.A=Ai[0]|0,this.B=Ai[1]|0,this.C=Ai[2]|0,this.D=Ai[3]|0,this.E=Ai[4]|0,this.F=Ai[5]|0,this.G=Ai[6]|0,this.H=Ai[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)Ii[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=Ii[p-15],E=Ii[p-2],S=gr(w,7)^gr(w,18)^w>>>3,I=gr(E,17)^gr(E,19)^E>>>10;Ii[p]=I+Ii[p-7]+S+Ii[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=gr(o,6)^gr(o,11)^gr(o,25),E=l+w+$y(o,c,u)+$U[p]+Ii[p]|0,I=(gr(r,2)^gr(r,13)^gr(r,22))+qy(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){Ii.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var wA=fo(()=>new yA);d();h();d();h();var Fy=BigInt(4294967295),bA=BigInt(32);function N4(t,e=!1){return e?{h:Number(t&Fy),l:Number(t>>bA&Fy)}:{h:Number(t>>bA&Fy)|0,l:Number(t&Fy)|0}}function qU(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let n=0;n<t.length;n++){let{h:i,l:a}=N4(t[n],e);[s[n],r[n]]=[i,a];}return [s,r]}var FU=(t,e)=>BigInt(t>>>0)<<bA|BigInt(e>>>0),KU=(t,e,s)=>t>>>s,GU=(t,e,s)=>t<<32-s|e>>>s,WU=(t,e,s)=>t>>>s|e<<32-s,JU=(t,e,s)=>t<<32-s|e>>>s,zU=(t,e,s)=>t<<64-s|e>>>s-32,YU=(t,e,s)=>t>>>s-32|e<<64-s,ZU=(t,e)=>e,XU=(t,e)=>t,QU=(t,e,s)=>t<<s|e>>>32-s,e_=(t,e,s)=>e<<s|t>>>32-s,t_=(t,e,s)=>e<<s-32|t>>>64-s,s_=(t,e,s)=>t<<s-32|e>>>64-s;function r_(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var n_=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),i_=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,a_=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),o_=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,c_=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),u_=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var l_={fromBig:N4,split:qU,toBig:FU,shrSH:KU,shrSL:GU,rotrSH:WU,rotrSL:JU,rotrBH:zU,rotrBL:YU,rotr32H:ZU,rotr32L:XU,rotlSH:QU,rotlSL:e_,rotlBH:t_,rotlBL:s_,add:r_,add3L:n_,add3H:i_,add4L:a_,add4H:o_,add5H:u_,add5L:c_},$e=l_;var[f_,h_]=$e.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Ci=new Uint32Array(80),Ni=new Uint32Array(80),Ky=class extends Ei{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209;}get(){let{Ah:e,Al:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:S,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=S|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)Ci[B]=e.getUint32(s),Ni[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=Ci[B-15]|0,O=Ni[B-15]|0,G=$e.rotrSH(k,O,1)^$e.rotrSH(k,O,8)^$e.shrSH(k,O,7),re=$e.rotrSL(k,O,1)^$e.rotrSL(k,O,8)^$e.shrSL(k,O,7),Q=Ci[B-2]|0,oe=Ni[B-2]|0,pe=$e.rotrSH(Q,oe,19)^$e.rotrBH(Q,oe,61)^$e.shrSH(Q,oe,6),se=$e.rotrSL(Q,oe,19)^$e.rotrBL(Q,oe,61)^$e.shrSL(Q,oe,6),ce=$e.add4L(re,se,Ni[B-7],Ni[B-16]),ge=$e.add4H(ce,G,pe,Ci[B-7],Ci[B-16]);Ci[B]=ge|0,Ni[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:S,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=$e.rotrSH(p,w,14)^$e.rotrSH(p,w,18)^$e.rotrBH(p,w,41),O=$e.rotrSL(p,w,14)^$e.rotrSL(p,w,18)^$e.rotrBL(p,w,41),G=p&E^~p&I,re=w&S^~w&C,Q=$e.add5L(V,O,re,h_[B],Ni[B]),oe=$e.add5H(Q,D,k,G,f_[B],Ci[B]),pe=Q|0,se=$e.rotrSH(r,n,28)^$e.rotrBH(r,n,34)^$e.rotrBH(r,n,39),ce=$e.rotrSL(r,n,28)^$e.rotrBL(r,n,34)^$e.rotrBL(r,n,39),ge=r&i^r&o^i&o,Ke=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=S|0,E=p|0,S=w|0,{h:p,l:w}=$e.add(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=$e.add3L(pe,ce,Ke);r=$e.add3H(J,oe,se,ge),n=J|0;}(({h:r,l:n}=$e.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=$e.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=$e.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=$e.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=$e.add(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:S}=$e.add(this.Fh|0,this.Fl|0,E|0,S|0),{h:I,l:C}=$e.add(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=$e.add(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,S,I,C,D,V);}roundClean(){Ci.fill(0),Ni.fill(0);}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}};var SA=class extends Ky{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},vA=fo(()=>new Ky);var EA=fo(()=>new SA);var kt=new ArrayBuffer(0),b="",nt=class t extends TypeError{constructor(){super(...arguments),this.name=t.NAME;}static isType(e,s){if(typeof s=="string"){if(s==="Array"&&Array.isArray(e))return !0;if(s==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(s==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===s)return !0}else if(e instanceof s)return !0;return !1}static assert(e,s,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new t(`Parameter '${s}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};nt.NAME="ArgumentError";var Qe=class t extends TypeError{static assert(...e){let s=null,r,n;typeof e[0]=="string"?(s=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),nt.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new t(i,s)}}static assertEmpty(e,s,r){if(e==null)throw new t(s,r)}constructor(e,s=null,r){super(),this.name=t.NAME,this.field=e,s&&(this.target=s),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${s?` in '${s}'`:b}`;}};Qe.NAME="ParameterError";var M=class t extends Error{static assertSchema(e,s){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${s}`)}static assert(e,s){if(e.offset===-1)throw new t(`Error during parsing of ASN.1 data. Data is not correct for '${s}'.`)}constructor(e){super(e),this.name="AsnError";}},q=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let s=Ot(e);M.assert(s,this.name);try{return new this({schema:s.result})}catch{throw new M(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let s;try{s=this.toSchema();}catch{s=this.toSchema(!0);}return Se.Convert.ToString(s.toBER(),e)}};q.CLASS_NAME="PkiObject";function da(t){let e=!1,s=b,r=t.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(s+=" ",e=!1),s+=r[n]);return s.toLowerCase()}var id="type",xA="value",mm=class t extends q{constructor(e={}){super(),this.type=y(e,id,t.defaultValues(id)),this.value=y(e,xA,t.defaultValues(xA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case id:return b;case xA:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new be({name:s.value||b})]})}fromSchema(e){W(e,[id,"typeValue"]);let s=K(e,e,t.schema({names:{type:id,value:"typeValue"}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.value=s.result.typeValue;}toSchema(){return new T({value:[new ae({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let s=[Rs.blockName(),bi.blockName(),Si.blockName(),yn.blockName(),Ls.blockName(),vi.blockName(),Au.blockName(),co.blockName(),Iu.blockName(),uo.blockName(),Cu.blockName(),Nu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===t.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of s)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=da(this.value.valueBlock.value),o=da(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};mm.CLASS_NAME="AttributeTypeAndValue";var ho="typesAndValues",Gy="valueBeforeDecode",T4="RDN",lt=class t extends q{constructor(e={}){super(),this.typesAndValues=y(e,ho,t.defaultValues(ho)),this.valueBeforeDecode=y(e,Gy,t.defaultValues(Gy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return [];case Gy:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ho:return s.length===0;case Gy:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.repeatedSequence||b,value:new bt({value:[new Ae({name:s.repeatedSet||b,value:mm.schema(s.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[T4,ho]);let s=K(e,e,t.schema({names:{blockName:T4,repeatedSet:ho}}));M.assertSchema(s,this.className),ho in s.result&&(this.typesAndValues=Array.from(s.result.typesAndValues,r=>new mm({schema:r}))),this.valueBeforeDecode=s.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new T({value:[new bt({value:Array.from(this.typesAndValues,s=>s.toSchema())})]});let e=Ot(this.valueBeforeDecode);if(M.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof t){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[s,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[s])===!1)return !1;return !0}return e instanceof ArrayBuffer?wi(this.valueBeforeDecode,e):!1}};lt.CLASS_NAME="RelativeDistinguishedNames";var wd="type",bd="value";function d_(t={},e=!1){let s=y(t,"names",{});return new T({optional:e,value:[new L({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:s.country_name||b,value:[new ut({value:[new yn,new Ls]})]}),new L({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:s.administration_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:s.network_address||b,isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:s.terminal_identifier||b,isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:s.private_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:s.organization_name||b,isHexOnly:!0}),new we({optional:!0,name:s.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new L({optional:!0,name:s.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new we({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new L({optional:!0,name:s.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ls})]})]})}function m_(t=!1){return new T({optional:t,value:[new Ls,new Ls]})}function p_(t=!1){return new bt({optional:t,value:[new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var it=class t extends q{constructor(e={}){super(),this.type=y(e,wd,t.defaultValues(wd)),this.value=y(e,bd,t.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return 9;case bd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wd:return s===t.defaultValues(e);case bd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[new L({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b,value:[new ae,new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new L({idBlock:{tagClass:3,tagNumber:3},name:s.blockName||b,value:[d_(s.builtInStandardAttributes||{},!1),m_(!0),p_(!0)]}),new L({idBlock:{tagClass:3,tagNumber:4},name:s.blockName||b,value:[lt.schema(s.directoryName||{})]}),new L({idBlock:{tagClass:3,tagNumber:5},name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let s=K(e,e,t.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(M.assertSchema(s,this.className),this.type=s.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=s.result.blockName;break;case 1:case 2:case 6:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=s.result.blockName;break;case 4:this.value=new lt({schema:s.result.directoryName});break;case 5:this.value=s.result.ediPartyName;break;case 7:this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex});break;case 8:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new L({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new co({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new L({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ae({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return t.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};it.CLASS_NAME="GeneralName";var Sd="accessMethod",vd="accessLocation",g_=[Sd,vd],pm=class t extends q{constructor(e={}){super(),this.accessMethod=y(e,Sd,t.defaultValues(Sd)),this.accessLocation=y(e,vd,t.defaultValues(vd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return b;case vd:return new it;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.accessMethod||b}),it.schema(s.accessLocation||{})]})}fromSchema(e){W(e,g_);let s=K(e,e,t.schema({names:{accessMethod:Sd,accessLocation:{names:{blockName:vd}}}}));M.assertSchema(s,this.className),this.accessMethod=s.result.accessMethod.valueBlock.toString(),this.accessLocation=new it({schema:s.result.accessLocation});}toSchema(){return new T({value:[new ae({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};pm.CLASS_NAME="AccessDescription";var ki="seconds",Bi="millis",Pi="micros",Dn=class t extends q{constructor(e={}){super(),ki in e&&(this.seconds=y(e,ki,t.defaultValues(ki))),Bi in e&&(this.millis=y(e,Bi,t.defaultValues(Bi))),Pi in e&&(this.micros=y(e,Pi,t.defaultValues(Pi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ki:case Bi:case Pi:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ki:case Bi:case Pi:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:!0,value:[new U({optional:!0,name:s.seconds||b}),new we({name:s.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[ki,Bi,Pi]);let s=K(e,e,t.schema({names:{seconds:ki,millis:Bi,micros:Pi}}));if(M.assertSchema(s,this.className),"seconds"in s.result&&(this.seconds=s.result.seconds.valueBlock.valueDec),"millis"in s.result){let r=new U({valueHex:s.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in s.result){let r=new U({valueHex:s.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new U({value:this.seconds})),this.millis!==void 0){let s=new U({value:this.millis});e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:s.valueBlock.valueHexView}));}if(this.micros!==void 0){let s=new U({value:this.micros});e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:s.valueBlock.valueHexView}));}return new T({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Dn.CLASS_NAME="Accuracy";var Wy="algorithmId",ad="algorithmParams",Q4="algorithm",XA="params",y_=[Q4,XA],_=class t extends q{constructor(e={}){super(),this.algorithmId=y(e,Wy,t.defaultValues(Wy)),ad in e&&(this.algorithmParams=y(e,ad,t.defaultValues(ad))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:return b;case ad:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wy:return s===b;case ad:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!1,value:[new ae({name:s.algorithmIdentifier||b}),new be({name:s.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,y_);let s=K(e,e,t.schema({names:{algorithmIdentifier:Q4,algorithmParams:XA}}));M.assertSchema(s,this.className),this.algorithmId=s.result.algorithm.valueBlock.toString(),XA in s.result&&(this.algorithmParams=s.result.params);}toSchema(){let e=[];return e.push(new ae({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new T({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof t)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};_.CLASS_NAME="AlgorithmIdentifier";var Du="altNames",w_=[Du],gm=class t extends q{constructor(e={}){super(),this.altNames=y(e,Du,t.defaultValues(Du)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.altNames||b,value:it.schema()})]})}fromSchema(e){W(e,w_);let s=K(e,e,t.schema({names:{altNames:Du}}));M.assertSchema(s,this.className),Du in s.result&&(this.altNames=Array.from(s.result.altNames,r=>new it({schema:r})));}toSchema(){return new T({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};gm.CLASS_NAME="AltName";var Vu="type",Uu="values",b_=[Vu,Uu],xt=class t extends q{constructor(e={}){super(),this.type=y(e,Vu,t.defaultValues(Vu)),this.values=y(e,Uu,t.defaultValues(Uu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return b;case Uu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Vu:return s===b;case Uu:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new bt({name:s.setName||b,value:[new Ae({name:s.values||b,value:new be})]})]})}fromSchema(e){W(e,b_);let s=K(e,e,t.schema({names:{type:Vu,values:Uu}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.values=s.result.values;}toSchema(){return new T({value:[new ae({value:this.type}),new bt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};xt.CLASS_NAME="Attribute";var Ed="notBeforeTime",xd="notAfterTime",S_=[Ed,xd],jn=class t extends q{constructor(e={}){super(),this.notBeforeTime=y(e,Ed,t.defaultValues(Ed)),this.notAfterTime=y(e,xd,t.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:case xd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ct({name:s.notBeforeTime||b}),new ct({name:s.notAfterTime||b})]})}fromSchema(e){W(e,S_);let s=K(e,e,t.schema({names:{notBeforeTime:Ed,notAfterTime:xd}}));M.assertSchema(s,this.className),this.notBeforeTime=s.result.notBeforeTime.toDate(),this.notAfterTime=s.result.notAfterTime.toDate();}toSchema(){return new T({value:[new ct({valueDate:this.notBeforeTime}),new ct({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};jn.CLASS_NAME="AttCertValidityPeriod";var od="names",k4="generalNames",Mt=class t extends q{constructor(e={}){super(),this.names=y(e,od,t.defaultValues(od)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,od,{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:it.schema()})]})}fromSchema(e){W(e,[od,k4]);let s=K(e,e,t.schema({names:{blockName:od,generalNames:k4}}));M.assertSchema(s,this.className),this.names=Array.from(s.result.generalNames,r=>new it({schema:r}));}toSchema(){return new T({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Mt.CLASS_NAME="GeneralNames";var v_="2.5.29.9",E_="2.5.29.14",x_="2.5.29.15",A_="2.5.29.16",ek="2.5.29.17",tk="2.5.29.18",P6="2.5.29.19",I_="2.5.29.20",C_="2.5.29.27",N_="2.5.29.21",T_="2.5.29.24",sk="2.5.29.28",rk="2.5.29.29",nk="2.5.29.30",ik="2.5.29.31",O6="2.5.29.46",ak="2.5.29.32",Ys="2.5.29.32.0",k_="1.3.6.1.4.1.311.21.10",ok="2.5.29.33",R6="2.5.29.35",ck="2.5.29.36",B_="2.5.29.37",P_="2.5.29.54",L6="1.3.6.1.5.5.7.1.1",O_="1.3.6.1.5.5.7.1.11",R_="1.3.6.1.4.1.11129.2.4.2";var L_="1.3.6.1.4.1.311.21.7",D_="1.3.6.1.4.1.311.21.1",V_="1.3.6.1.5.5.7.1.3",D6="1.2.840.113549.1.7.1",uk="1.2.840.113549.1.7.2",lk="1.2.840.113549.1.7.3",fk="1.2.840.113549.1.7.6",U_="1.2.840.113549.1.9.16.1.4",B4="1.2.840.113549.1.9.22.1",__="1.2.840.113549.1.9.22.2",P4="1.2.840.113549.1.9.22.3",O4="1.2.840.113549.1.9.23.1",H_="1.3.6.1.5.5.7",V6=`${H_}.48`,ww=`${V6}.1.1`;var yo="keyIdentifier",wo="authorityCertIssuer",bo="authorityCertSerialNumber",j_=[yo,wo,bo],ym=class t extends q{constructor(e={}){super(),yo in e&&(this.keyIdentifier=y(e,yo,t.defaultValues(yo))),wo in e&&(this.authorityCertIssuer=y(e,wo,t.defaultValues(wo))),bo in e&&(this.authorityCertSerialNumber=y(e,bo,t.defaultValues(bo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yo:return new z;case wo:return [];case bo:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.authorityCertIssuer||b,value:it.schema()})]}),new we({name:s.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,j_);let s=K(e,e,t.schema({names:{keyIdentifier:yo,authorityCertIssuer:wo,authorityCertSerialNumber:bo}}));M.assertSchema(s,this.className),yo in s.result&&(this.keyIdentifier=new z({valueHex:s.result.keyIdentifier.valueBlock.valueHex})),wo in s.result&&(this.authorityCertIssuer=Array.from(s.result.authorityCertIssuer,r=>new it({schema:r}))),bo in s.result&&(this.authorityCertSerialNumber=new U({valueHex:s.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,s=>s.toSchema())})),this.authorityCertSerialNumber&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,s=>s.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};ym.CLASS_NAME="AuthorityKeyIdentifier";var mo="pathLenConstraint",po="cA",wm=class t extends q{constructor(e={}){super(),this.cA=y(e,po,!1),mo in e&&(this.pathLenConstraint=y(e,mo,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case po:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Fs({optional:!0,name:s.cA||b}),new U({optional:!0,name:s.pathLenConstraint||b})]})}fromSchema(e){W(e,[po,mo]);let s=K(e,e,t.schema({names:{cA:po,pathLenConstraint:mo}}));M.assertSchema(s,this.className),po in s.result&&(this.cA=s.result.cA.valueBlock.value),mo in s.result&&(s.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=s.result.pathLenConstraint:this.pathLenConstraint=s.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==t.defaultValues(po)&&e.push(new Fs({value:this.cA})),mo in this&&(this.pathLenConstraint instanceof U?e.push(this.pathLenConstraint):e.push(new U({value:this.pathLenConstraint}))),new T({value:e})}toJSON(){let e={};return this.cA!==t.defaultValues(po)&&(e.cA=this.cA),mo in this&&(this.pathLenConstraint instanceof U?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};wm.CLASS_NAME="BasicConstraints";var AA="certificateIndex",IA="keyIndex",zw=class t extends q{constructor(e={}){super(),this.certificateIndex=y(e,AA,t.defaultValues(AA)),this.keyIndex=y(e,IA,t.defaultValues(IA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case AA:case IA:return 0;default:return super.defaultValues(e)}}static schema(){return new U}fromSchema(e){if(e.constructor.blockName()!==U.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let s=e.valueBlock.valueHex.slice(0),r=new Uint8Array(s);switch(!0){case s.byteLength<4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r,4-s.byteLength),s=p.slice(0);}break;case s.byteLength>4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r.slice(0,4)),s=p.slice(0);}break}let n=s.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=s.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),s=new Uint16Array(e);s[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new U({valueHex:ao(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};zw.CLASS_NAME="CAVersion";var Ad="policyQualifierId",Id="qualifier",M_=[Ad,Id],bm=class t extends q{constructor(e={}){super(),this.policyQualifierId=y(e,Ad,t.defaultValues(Ad)),this.qualifier=y(e,Id,t.defaultValues(Id)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return b;case Id:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyQualifierId||b}),new be({name:s.qualifier||b})]})}fromSchema(e){W(e,M_);let s=K(e,e,t.schema({names:{policyQualifierId:Ad,qualifier:Id}}));M.assertSchema(s,this.className),this.policyQualifierId=s.result.policyQualifierId.valueBlock.toString(),this.qualifier=s.result.qualifier;}toSchema(){return new T({value:[new ae({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};bm.CLASS_NAME="PolicyQualifierInfo";var Cd="policyIdentifier",So="policyQualifiers",$_=[Cd,So],Sm=class t extends q{constructor(e={}){super(),this.policyIdentifier=y(e,Cd,t.defaultValues(Cd)),So in e&&(this.policyQualifiers=y(e,So,t.defaultValues(So))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cd:return b;case So:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyIdentifier||b}),new T({optional:!0,value:[new Ae({name:s.policyQualifiers||b,value:bm.schema()})]})]})}fromSchema(e){W(e,$_);let s=K(e,e,t.schema({names:{policyIdentifier:Cd,policyQualifiers:So}}));M.assertSchema(s,this.className),this.policyIdentifier=s.result.policyIdentifier.valueBlock.toString(),So in s.result&&(this.policyQualifiers=Array.from(s.result.policyQualifiers,r=>new bm({schema:r})));}toSchema(){let e=[];return e.push(new ae({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new T({value:Array.from(this.policyQualifiers,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,s=>s.toJSON())),e}};Sm.CLASS_NAME="PolicyInformation";var Nd="certificatePolicies",q_=[Nd],vm=class t extends q{constructor(e={}){super(),this.certificatePolicies=y(e,Nd,t.defaultValues(Nd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.certificatePolicies||b,value:Sm.schema()})]})}fromSchema(e){W(e,q_);let s=K(e,e,t.schema({names:{certificatePolicies:Nd}}));M.assertSchema(s,this.className),this.certificatePolicies=Array.from(s.result.certificatePolicies,r=>new Sm({schema:r}));}toSchema(){return new T({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};vm.CLASS_NAME="CertificatePolicies";var Td="templateID",xn="templateMajorVersion",An="templateMinorVersion",F_=[Td,xn,An],QA=class t extends q{constructor(e={}){super(),this.templateID=y(e,Td,t.defaultValues(Td)),xn in e&&(this.templateMajorVersion=y(e,xn,t.defaultValues(xn))),An in e&&(this.templateMinorVersion=y(e,An,t.defaultValues(An))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Td:return b;case xn:case An:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.templateID||b}),new U({name:s.templateMajorVersion||b,optional:!0}),new U({name:s.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,F_);let s=K(e,e,t.schema({names:{templateID:Td,templateMajorVersion:xn,templateMinorVersion:An}}));M.assertSchema(s,this.className),this.templateID=s.result.templateID.valueBlock.toString(),xn in s.result&&(this.templateMajorVersion=s.result.templateMajorVersion.valueBlock.valueDec),An in s.result&&(this.templateMinorVersion=s.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ae({value:this.templateID})),xn in this&&e.push(new U({value:this.templateMajorVersion})),An in this&&e.push(new U({value:this.templateMinorVersion})),new T({value:e})}toJSON(){let e={templateID:this.templateID};return xn in this&&(e.templateMajorVersion=this.templateMajorVersion),An in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},vo="distributionPoint",hk="distributionPointNames",Eo="reasons",xo="cRLIssuer",dk="cRLIssuerNames",K_=[vo,hk,Eo,xo,dk],Em=class t extends q{constructor(e={}){super(),vo in e&&(this.distributionPoint=y(e,vo,t.defaultValues(vo))),Eo in e&&(this.reasons=y(e,Eo,t.defaultValues(Eo))),xo in e&&(this.cRLIssuer=y(e,xo,t.defaultValues(xo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vo:return [];case Eo:return new _e;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new L({name:s.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:s.cRLIssuerNames||b,value:it.schema()})]})]})}fromSchema(e){W(e,K_);let s=K(e,e,t.schema({names:{distributionPoint:vo,distributionPointNames:hk,reasons:Eo,cRLIssuer:xo,cRLIssuerNames:dk}}));M.assertSchema(s,this.className),vo in s.result&&(s.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}))),s.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})}))),Eo in s.result&&(this.reasons=new _e({valueHex:s.result.reasons.valueBlock.valueHex})),xo in s.result&&(this.cRLIssuer=Array.from(s.result.cRLIssuerNames,r=>new it({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):s=new L({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}return this.reasons&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,s=>s.toJSON())),e}};Em.CLASS_NAME="DistributionPoint";var kd="distributionPoints",G_=[kd],xm=class t extends q{constructor(e={}){super(),this.distributionPoints=y(e,kd,t.defaultValues(kd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case kd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.distributionPoints||b,value:Em.schema()})]})}fromSchema(e){W(e,G_);let s=K(e,e,t.schema({names:{distributionPoints:kd}}));M.assertSchema(s,this.className),this.distributionPoints=Array.from(s.result.distributionPoints,r=>new Em({schema:r}));}toSchema(){return new T({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};xm.CLASS_NAME="CRLDistributionPoints";var Bd="keyPurposes",W_=[Bd],Yw=class t extends q{constructor(e={}){super(),this.keyPurposes=y(e,Bd,t.defaultValues(Bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.keyPurposes||b,value:new ae})]})}fromSchema(e){W(e,W_);let s=K(e,e,t.schema({names:{keyPurposes:Bd}}));M.assertSchema(s,this.className),this.keyPurposes=Array.from(s.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new T({value:Array.from(this.keyPurposes,e=>new ae({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};Yw.CLASS_NAME="ExtKeyUsage";var cd="accessDescriptions",Am=class t extends q{constructor(e={}){super(),this.accessDescriptions=y(e,cd,t.defaultValues(cd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.accessDescriptions||b,value:pm.schema()})]})}fromSchema(e){W(e,[cd]);let s=K(e,e,t.schema({names:{accessDescriptions:cd}}));M.assertSchema(s,this.className),this.accessDescriptions=Array.from(s.result.accessDescriptions,r=>new pm({schema:r}));}toSchema(){return new T({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};Am.CLASS_NAME="InfoAccess";var Ao="distributionPoint",mk="distributionPointNames",Oi="onlyContainsUserCerts",Ri="onlyContainsCACerts",Li="onlySomeReasons",Di="indirectCRL",Vi="onlyContainsAttributeCerts",J_=[Ao,mk,Oi,Ri,Li,Di,Vi],Zw=class t extends q{constructor(e={}){super(),Ao in e&&(this.distributionPoint=y(e,Ao,t.defaultValues(Ao))),this.onlyContainsUserCerts=y(e,Oi,t.defaultValues(Oi)),this.onlyContainsCACerts=y(e,Ri,t.defaultValues(Ri)),Li in e&&(this.onlySomeReasons=y(e,Li,t.defaultValues(Li))),this.indirectCRL=y(e,Di,t.defaultValues(Di)),this.onlyContainsAttributeCerts=y(e,Vi,t.defaultValues(Vi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ao:return [];case Oi:return !1;case Ri:return !1;case Li:return 0;case Di:return !1;case Vi:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new we({name:s.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new we({name:s.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new we({name:s.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,J_);let s=K(e,e,t.schema({names:{distributionPoint:Ao,distributionPointNames:mk,onlyContainsUserCerts:Oi,onlyContainsCACerts:Ri,onlySomeReasons:Li,indirectCRL:Di,onlyContainsAttributeCerts:Vi}}));if(M.assertSchema(s,this.className),Ao in s.result)switch(!0){case s.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}));break;case s.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Oi in s.result){let r=new Uint8Array(s.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ri in s.result){let r=new Uint8Array(s.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(Li in s.result){let r=new Uint8Array(s.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Di in s.result){let r=new Uint8Array(s.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Vi in s.result){let r=new Uint8Array(s.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(s=this.distributionPoint.toSchema(),s.idBlock.tagClass=3,s.idBlock.tagNumber=1),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(this.onlyContainsUserCerts!==t.defaultValues(Oi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==t.defaultValues(Ri)&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let s=new ArrayBuffer(1),r=new Uint8Array(s);r[0]=this.onlySomeReasons,e.push(new we({idBlock:{tagClass:3,tagNumber:3},valueHex:s}));}return this.indirectCRL!==t.defaultValues(Di)&&e.push(new we({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==t.defaultValues(Oi)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==t.defaultValues(Ri)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),Li in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==t.defaultValues(Di)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};Zw.CLASS_NAME="IssuingDistributionPoint";var Pd="base",_u="minimum",Ui="maximum",z_=[Pd,_u,Ui],Sc=class t extends q{constructor(e={}){super(),this.base=y(e,Pd,t.defaultValues(Pd)),this.minimum=y(e,_u,t.defaultValues(_u)),Ui in e&&(this.maximum=y(e,Ui,t.defaultValues(Ui))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new it;case _u:return 0;case Ui:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[it.schema(s.base||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.minimum||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new U({name:s.maximum||b})]})]})}fromSchema(e){W(e,z_);let s=K(e,e,t.schema({names:{base:{names:{blockName:Pd}},minimum:_u,maximum:Ui}}));M.assertSchema(s,this.className),this.base=new it({schema:s.result.base}),_u in s.result&&(s.result.minimum.valueBlock.isHexOnly?this.minimum=s.result.minimum:this.minimum=s.result.minimum.valueBlock.valueDec),Ui in s.result&&(s.result.maximum.valueBlock.isHexOnly?this.maximum=s.result.maximum:this.maximum=s.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let s=0;this.minimum instanceof U?s=this.minimum:s=new U({value:this.minimum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(Ui in this){let s=0;this.maximum instanceof U?s=this.maximum:s=new U({value:this.maximum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[s]}));}return new T({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};Sc.CLASS_NAME="GeneralSubtree";var Io="permittedSubtrees",Co="excludedSubtrees",Y_=[Io,Co],Xw=class t extends q{constructor(e={}){super(),Io in e&&(this.permittedSubtrees=y(e,Io,t.defaultValues(Io))),Co in e&&(this.excludedSubtrees=y(e,Co,t.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Io:case Co:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.permittedSubtrees||b,value:Sc.schema()})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.excludedSubtrees||b,value:Sc.schema()})]})]})}fromSchema(e){W(e,Y_);let s=K(e,e,t.schema({names:{permittedSubtrees:Io,excludedSubtrees:Co}}));M.assertSchema(s,this.className),Io in s.result&&(this.permittedSubtrees=Array.from(s.result.permittedSubtrees,r=>new Sc({schema:r}))),Co in s.result&&(this.excludedSubtrees=Array.from(s.result.excludedSubtrees,r=>new Sc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,s=>s.toSchema())})),this.excludedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,s=>s.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,s=>s.toJSON())),e}};Xw.CLASS_NAME="NameConstraints";var In="requireExplicitPolicy",Cn="inhibitPolicyMapping",Z_=[In,Cn],Qw=class t extends q{constructor(e={}){super(),In in e&&(this.requireExplicitPolicy=y(e,In,t.defaultValues(In))),Cn in e&&(this.inhibitPolicyMapping=y(e,Cn,t.defaultValues(Cn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case In:return 0;case Cn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,Z_);let s=K(e,e,t.schema({names:{requireExplicitPolicy:In,inhibitPolicyMapping:Cn}}));if(M.assertSchema(s,this.className),In in s.result){let r=s.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Cn in s.result){let r=s.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(In in this){let s=new U({value:this.requireExplicitPolicy});s.idBlock.tagClass=3,s.idBlock.tagNumber=0,e.push(s);}if(Cn in this){let s=new U({value:this.inhibitPolicyMapping});s.idBlock.tagClass=3,s.idBlock.tagNumber=1,e.push(s);}return new T({value:e})}toJSON(){let e={};return In in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Cn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};Qw.CLASS_NAME="PolicyConstraints";var Od="issuerDomainPolicy",Rd="subjectDomainPolicy",X_=[Od,Rd],Im=class t extends q{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Od,t.defaultValues(Od)),this.subjectDomainPolicy=y(e,Rd,t.defaultValues(Rd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return b;case Rd:return b;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.issuerDomainPolicy||b}),new ae({name:s.subjectDomainPolicy||b})]})}fromSchema(e){W(e,X_);let s=K(e,e,t.schema({names:{issuerDomainPolicy:Od,subjectDomainPolicy:Rd}}));M.assertSchema(s,this.className),this.issuerDomainPolicy=s.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=s.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new T({value:[new ae({value:this.issuerDomainPolicy}),new ae({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};Im.CLASS_NAME="PolicyMapping";var Ld="mappings",Q_=[Ld],eb=class t extends q{constructor(e={}){super(),this.mappings=y(e,Ld,t.defaultValues(Ld)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ld:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.mappings||b,value:Im.schema()})]})}fromSchema(e){W(e,Q_);let s=K(e,e,t.schema({names:{mappings:Ld}}));M.assertSchema(s,this.className),this.mappings=Array.from(s.result.mappings,r=>new Im({schema:r}));}toSchema(){return new T({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};eb.CLASS_NAME="PolicyMappings";var _i="notBefore",Hi="notAfter",eH=[_i,Hi],tb=class t extends q{constructor(e={}){super(),_i in e&&(this.notBefore=y(e,_i,t.defaultValues(_i))),Hi in e&&(this.notAfter=y(e,Hi,t.defaultValues(Hi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _i:return new Date;case Hi:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,eH);let s=K(e,e,t.schema({names:{notBefore:_i,notAfter:Hi}}));if(M.assertSchema(s,this.className),_i in s.result){let r=new ct;r.fromBuffer(s.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Hi in s.result){let r=new ct({valueHex:s.result.notAfter.valueBlock.valueHex});r.fromBuffer(s.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return _i in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:new ct({valueDate:this.notBefore}).valueBlock.valueHexView})),Hi in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new ct({valueDate:this.notAfter}).valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};tb.CLASS_NAME="PrivateKeyUsagePeriod";var Hu="id",Nn="type",ju="values",tH=[Hu,Nn],sH=[ju],Cm=class t extends q{constructor(e={}){super(),this.id=y(e,Hu,t.defaultValues(Hu)),Nn in e&&(this.type=y(e,Nn,t.defaultValues(Nn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return b;case Nn:return new wt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Hu:return s===b;case Nn:return s instanceof wt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||b}),new be({name:s.type||b,optional:!0})]})}fromSchema(e){W(e,tH);let s=K(e,e,t.schema({names:{id:Hu,type:Nn}}));M.assertSchema(s,this.className),this.id=s.result.id.valueBlock.toString(),Nn in s.result&&(this.type=s.result.type);}toSchema(){let e=[new ae({value:this.id})];return Nn in this&&e.push(this.type),new T({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};Cm.CLASS_NAME="QCStatement";var sb=class t extends q{constructor(e={}){super(),this.values=y(e,ju,t.defaultValues(ju)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ju:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ju:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.values||b,value:Cm.schema(s.value||{})})]})}fromSchema(e){W(e,sH);let s=K(e,e,t.schema({names:{values:ju}}));M.assertSchema(s,this.className),this.values=Array.from(s.result.values,r=>new Cm({schema:r}));}toSchema(){return new T({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};sb.CLASS_NAME="QCStatements";var No,$r=class{static register(e,s,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[s]={name:e,id:s,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};No=$r;$r.namedCurves={};No.register("P-256","1.2.840.10045.3.1.7",32),No.register("P-384","1.3.132.0.34",48),No.register("P-521","1.3.132.0.35",66),No.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),No.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),No.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Jy="x",zy="y",Yy="namedCurve",Er=class t extends q{constructor(e={}){super(),this.x=y(e,Jy,t.defaultValues(Jy)),this.y=y(e,zy,t.defaultValues(zy)),this.namedCurve=y(e,Yy,t.defaultValues(Yy)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jy:case zy:return kt;case Yy:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Jy:case zy:return s instanceof ArrayBuffer&&wi(s,t.defaultValues(e));case Yy:return typeof s=="string"&&s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new lo}fromSchema(e){let s=lf.BufferSourceConverter.toUint8Array(e);if(s[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=$r.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(s.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=s.slice(1,n+1).buffer,this.y=s.slice(1+n,n*2+1).buffer;}toSchema(){return new lo({data:ao(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=$r.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:my(zh(this.x),!0,!0,!1),y:my(zh(this.y),!0,!0,!1)}}fromJSON(e){Qe.assert("json",e,"crv","x","y");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=oo(xu(e.x,!0));if(n.byteLength<s){this.x=new ArrayBuffer(s);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,s);let i=oo(xu(e.y,!0));if(i.byteLength<s){this.y=new ArrayBuffer(s);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,s);}};Er.CLASS_NAME="ECPublicKey";var Dd="modulus",Vd="publicExponent",rH=[Dd,Vd],Nm=class t extends q{constructor(e={}){super(),this.modulus=y(e,Dd,t.defaultValues(Dd)),this.publicExponent=y(e,Vd,t.defaultValues(Vd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dd:return new U;case Vd:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.modulus||b}),new U({name:s.publicExponent||b})]})}fromSchema(e){W(e,rH);let s=K(e,e,t.schema({names:{modulus:Dd,publicExponent:Vd}}));M.assertSchema(s,this.className),this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent;}toSchema(){return new T({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"n","e");let s=oo(xu(e.n,!0));this.modulus=new U({valueHex:s.slice(0,Math.pow(2,jT(s.byteLength)))}),this.publicExponent=new U({valueHex:oo(xu(e.e,!0)).slice(0,3)});}};Nm.CLASS_NAME="RSAPublicKey";var Ud="algorithm",_d="subjectPublicKey",nH=[Ud,_d],Gs=class t extends q{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ae.blockName())try{this._parsedKey=new Er({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=Ot(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new Nm({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Ud,t.defaultValues(Ud)),this.subjectPublicKey=y(e,_d,t.defaultValues(_d));let s=y(e,"parsedKey",null);s&&(this.parsedKey=s),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ud:return new _;case _d:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.subjectPublicKey||b})]})}fromSchema(e){W(e,nH);let s=K(e,e,t.schema({names:{algorithm:{names:{blockName:Ud}},subjectPublicKey:_d}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.subjectPublicKey=s.result.subjectPublicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Er({json:e}),this.algorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new Nm({json:e}),this.algorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new _e({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,s=Ve(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await s.exportKey("spki",e),n=Ot(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};Gs.CLASS_NAME="PublicKeyInfo";var Mu="version",$u="privateKey",yr="namedCurve",ji="publicKey",iH=[Mu,$u,yr,ji],Tm=class t extends q{constructor(e={}){super(),this.version=y(e,Mu,t.defaultValues(Mu)),this.privateKey=y(e,$u,t.defaultValues($u)),yr in e&&(this.namedCurve=y(e,yr,t.defaultValues(yr))),ji in e&&(this.publicKey=y(e,ji,t.defaultValues(ji))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return 1;case $u:return new z;case yr:return b;case ji:return new Er;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Mu:return s===t.defaultValues(e);case $u:return s.isEqual(t.defaultValues(e));case yr:return s===b;case ji:return Er.compareWithDefault(yr,s.namedCurve)&&Er.compareWithDefault("x",s.x)&&Er.compareWithDefault("y",s.y);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ae({name:s.namedCurve||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new _e({name:s.publicKey||b})]})]})}fromSchema(e){W(e,iH);let s=K(e,e,t.schema({names:{version:Mu,privateKey:$u,namedCurve:yr,publicKey:ji}}));if(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKey=s.result.privateKey,yr in s.result&&(this.namedCurve=s.result.namedCurve.valueBlock.toString()),ji in s.result){let r={schema:s.result.publicKey.valueBlock.valueHex};yr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new Er(r);}}toSchema(){let e=[new U({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ae({value:this.namedCurve})]})),this.publicKey&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new _e({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new T({value:e})}toJSON(){if(!this.namedCurve||t.compareWithDefault(yr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=$r.find(this.namedCurve),s={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();s.x=r.x,s.y=r.y;}return s}fromJSON(e){Qe.assert("json",e,"crv","d");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<s){let i=new ArrayBuffer(s),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,s)});e.x&&e.y&&(this.publicKey=new Er({json:e}));}};Tm.CLASS_NAME="ECPrivateKey";var Hd="prime",jd="exponent",Md="coefficient",aH=[Hd,jd,Md],tf=class t extends q{constructor(e={}){super(),this.prime=y(e,Hd,t.defaultValues(Hd)),this.exponent=y(e,jd,t.defaultValues(jd)),this.coefficient=y(e,Md,t.defaultValues(Md)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hd:return new U;case jd:return new U;case Md:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.prime||b}),new U({name:s.exponent||b}),new U({name:s.coefficient||b})]})}fromSchema(e){W(e,aH);let s=K(e,e,t.schema({names:{prime:Hd,exponent:jd,coefficient:Md}}));M.assertSchema(s,this.className),this.prime=s.result.prime.convertFromDER(),this.exponent=s.result.exponent.convertFromDER(),this.coefficient=s.result.coefficient.convertFromDER();}toSchema(){return new T({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"r","d","r"),this.prime=new U({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.t)});}};tf.CLASS_NAME="OtherPrimeInfo";var $d="version",qd="modulus",Fd="publicExponent",Kd="privateExponent",Gd="prime1",Wd="prime2",Jd="exponent1",zd="exponent2",Yd="coefficient",To="otherPrimeInfos",oH=[$d,qd,Fd,Kd,Gd,Wd,Jd,zd,Yd,To],km=class t extends q{constructor(e={}){super(),this.version=y(e,$d,t.defaultValues($d)),this.modulus=y(e,qd,t.defaultValues(qd)),this.publicExponent=y(e,Fd,t.defaultValues(Fd)),this.privateExponent=y(e,Kd,t.defaultValues(Kd)),this.prime1=y(e,Gd,t.defaultValues(Gd)),this.prime2=y(e,Wd,t.defaultValues(Wd)),this.exponent1=y(e,Jd,t.defaultValues(Jd)),this.exponent2=y(e,zd,t.defaultValues(zd)),this.coefficient=y(e,Yd,t.defaultValues(Yd)),To in e&&(this.otherPrimeInfos=y(e,To,t.defaultValues(To))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $d:return 0;case qd:return new U;case Fd:return new U;case Kd:return new U;case Gd:return new U;case Wd:return new U;case Jd:return new U;case zd:return new U;case Yd:return new U;case To:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new U({name:s.modulus||b}),new U({name:s.publicExponent||b}),new U({name:s.privateExponent||b}),new U({name:s.prime1||b}),new U({name:s.prime2||b}),new U({name:s.exponent1||b}),new U({name:s.exponent2||b}),new U({name:s.coefficient||b}),new T({optional:!0,value:[new Ae({name:s.otherPrimeInfosName||b,value:tf.schema(s.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,oH);let s=K(e,e,t.schema({names:{version:$d,modulus:qd,publicExponent:Fd,privateExponent:Kd,prime1:Gd,prime2:Wd,exponent1:Jd,exponent2:zd,coefficient:Yd,otherPrimeInfo:{names:{blockName:To}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent,this.privateExponent=s.result.privateExponent.convertFromDER(256),this.prime1=s.result.prime1.convertFromDER(128),this.prime2=s.result.prime2.convertFromDER(128),this.exponent1=s.result.exponent1.convertFromDER(128),this.exponent2=s.result.exponent2.convertFromDER(128),this.coefficient=s.result.coefficient.convertFromDER(128),To in s.result&&(this.otherPrimeInfos=Array.from(s.result.otherPrimeInfos,r=>new tf({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new T({value:Array.from(this.otherPrimeInfos,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,s=>s.toJSON())),e}fromJSON(e){Qe.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new U({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new U({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new U({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new U({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new U({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new U({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,s=>new tf({json:s})));}};km.CLASS_NAME="RSAPrivateKey";var Zd="version",Xd="privateKeyAlgorithm",Qd="privateKey",ko="attributes",Zy="parsedKey",cH=[Zd,Xd,Qd,ko],Tc=class t extends q{constructor(e={}){super(),this.version=y(e,Zd,t.defaultValues(Zd)),this.privateKeyAlgorithm=y(e,Xd,t.defaultValues(Xd)),this.privateKey=y(e,Qd,t.defaultValues(Qd)),ko in e&&(this.attributes=y(e,ko,t.defaultValues(ko))),Zy in e&&(this.parsedKey=y(e,Zy,t.defaultValues(Zy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return 0;case Xd:return new _;case Qd:return new z;case ko:return [];case Zy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),_.schema(s.privateKeyAlgorithm||{}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})]})}fromSchema(e){W(e,cH);let s=K(e,e,t.schema({names:{version:Zd,privateKeyAlgorithm:{names:{blockName:Xd}},privateKey:Qd,attributes:ko}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new _({schema:s.result.privateKeyAlgorithm}),this.privateKey=s.result.privateKey,ko in s.result&&(this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new km({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ae){let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new Tm({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new U({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,s=>s.toSchema())})),new T({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Tm({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new km({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};Tc.CLASS_NAME="PrivateKeyInfo";var qu="contentType",Fu="contentEncryptionAlgorithm",Bo="encryptedContent",uH=[qu,Fu,Bo],R4=1024,Yt=class t extends q{constructor(e={}){if(super(),this.contentType=y(e,qu,t.defaultValues(qu)),this.contentEncryptionAlgorithm=y(e,Fu,t.defaultValues(Fu)),Bo in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+R4>n.byteLength?n.byteLength-r:R4),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case qu:return b;case Fu:return new _;case Bo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case qu:return s===b;case Fu:return s.algorithmId===b&&!("algorithmParams"in s);case Bo:return s.isEqual(t.defaultValues(Bo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.contentType||b}),_.schema(s.contentEncryptionAlgorithm||{}),new ut({value:[new L({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new we({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,uH);let s=K(e,e,t.schema({names:{contentType:qu,contentEncryptionAlgorithm:{names:{blockName:Fu}},encryptedContent:Bo}}));M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new _({schema:s.result.contentEncryptionAlgorithm}),Bo in s.result&&(this.encryptedContent=s.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},s=[];if(s.push(new ae({value:this.contentType})),s.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,s.push(r);}return new T({lenBlock:e,value:s})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Yt.CLASS_NAME="EncryptedContentInfo";var Mi="hashAlgorithm",$i="maskGenAlgorithm",qi="saltLength",Fi="trailerField",lH=[Mi,$i,qi,Fi],sf=class t extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Mi,t.defaultValues(Mi)),this.maskGenAlgorithm=y(e,$i,t.defaultValues($i)),this.saltLength=y(e,qi,t.defaultValues(qi)),this.trailerField=y(e,Fi,t.defaultValues(Fi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mi:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case $i:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case qi:return 20;case Fi:return 1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new U({name:s.saltLength||b})]}),new L({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new U({name:s.trailerField||b})]})]})}fromSchema(e){W(e,lH);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:Mi}},maskGenAlgorithm:{names:{blockName:$i}},saltLength:qi,trailerField:Fi}}));M.assertSchema(s,this.className),Mi in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),$i in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),qi in s.result&&(this.saltLength=s.result.saltLength.valueBlock.valueDec),Fi in s.result&&(this.trailerField=s.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==t.defaultValues(qi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new U({value:this.saltLength})]})),this.trailerField!==t.defaultValues(Fi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:3},value:[new U({value:this.trailerField})]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==t.defaultValues(qi)&&(e.saltLength=this.saltLength),this.trailerField!==t.defaultValues(Fi)&&(e.trailerField=this.trailerField),e}};sf.CLASS_NAME="RSASSAPSSParams";var Ku="salt",e0="iterationCount",wr="keyLength",Tn="prf",fH=[Ku,e0,wr,Tn],ya=class t extends q{constructor(e={}){super(),this.salt=y(e,Ku,t.defaultValues(Ku)),this.iterationCount=y(e,e0,t.defaultValues(e0)),wr in e&&(this.keyLength=y(e,wr,t.defaultValues(wr))),Tn in e&&(this.prf=y(e,Tn,t.defaultValues(Tn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ku:return {};case e0:return -1;case wr:return 0;case Tn:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ut({value:[new z({name:s.saltPrimitive||b}),_.schema(s.saltConstructed||{})]}),new U({name:s.iterationCount||b}),new U({name:s.keyLength||b,optional:!0}),_.schema(s.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,fH);let s=K(e,e,t.schema({names:{saltPrimitive:Ku,saltConstructed:{names:{blockName:Ku}},iterationCount:e0,keyLength:wr,prf:{names:{blockName:Tn,optional:!0}}}}));M.assertSchema(s,this.className),this.salt=s.result.salt,this.iterationCount=s.result.iterationCount.valueBlock.valueDec,wr in s.result&&(this.keyLength=s.result.keyLength.valueBlock.valueDec),Tn in s.result&&(this.prf=new _({schema:s.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new U({value:this.iterationCount})),wr in this&&t.defaultValues(wr)!==this.keyLength&&e.push(new U({value:this.keyLength})),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new T({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return wr in this&&t.defaultValues(wr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ya.CLASS_NAME="PBKDF2Params";var t0="keyDerivationFunc",s0="encryptionScheme",hH=[t0,s0],Bm=class t extends q{constructor(e={}){super(),this.keyDerivationFunc=y(e,t0,t.defaultValues(t0)),this.encryptionScheme=y(e,s0,t.defaultValues(s0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return new _;case s0:return new _;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyDerivationFunc||{}),_.schema(s.encryptionScheme||{})]})}fromSchema(e){W(e,hH);let s=K(e,e,t.schema({names:{keyDerivationFunc:{names:{blockName:t0}},encryptionScheme:{names:{blockName:s0}}}}));M.assertSchema(s,this.className),this.keyDerivationFunc=new _({schema:s.result.keyDerivationFunc}),this.encryptionScheme=new _({schema:s.result.encryptionScheme});}toSchema(){return new T({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};Bm.CLASS_NAME="PBES2Params";var e6=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function L4(t,e,s,r,n){let i,a,o;switch(t.toUpperCase()){case"SHA-1":i=20,a=64,o=C4;break;case"SHA-256":i=32,a=64,o=wA;break;case"SHA-384":i=48,a=128,o=EA;break;case"SHA-512":i=64,a=128,o=vA;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(s),u=new TextDecoder().decode(s);new TextEncoder().encode(u).some((k,O)=>k!==c[O])&&(u=String.fromCharCode(...c));let p=new Uint8Array(u.length*2+2),w=new DataView(p.buffer);for(let k=0;k<u.length;k++)w.setUint16(k*2,u.charCodeAt(k),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),S=new Uint8Array(r),I=new Uint8Array(a*Math.ceil(S.length/a)).map((k,O)=>S[O%S.length]),C=new Uint8Array(a*Math.ceil(p.length/a)).map((k,O)=>p[O%p.length]),D=new Uint8Array(I.length+C.length);D.set(I),D.set(C,I.length);let V=Math.ceil((e>>3)/i),B=[];for(let k=0;k<V;k++){let O=new Uint8Array(E.length+D.length);O.set(E),O.set(D,E.length);for(let oe=0;oe<n;oe++)O=o(O);let G=new Uint8Array(a).map((oe,pe)=>O[pe%O.length]),re=Math.ceil(S.length/a)+Math.ceil(p.length/a),Q=[];for(let oe=0;oe<re;oe++){let pe=Array.from(D.slice(oe*a,(oe+1)*a)),se=511;for(let ce=G.length-1;ce>=0;ce--)se>>=8,se+=G[ce]+(pe[ce]||0),pe[ce]=se&255;Q.push(...pe);}D=new Uint8Array(Q),B.push(...O);}return new Uint8Array(B.slice(0,e>>3)).buffer}function pk(t){let e=typeof t=="string"?{name:t}:t;return "hash"in e?{...e,hash:pk(e.hash)}:e}var ff=class extends e6{async importKey(e,s,r,n,i){var a,o,c,u,l,p;let w={},E=pk(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",s,r,n,i);case"spki":{let S=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(S,"keyData");let I=new Gs;try{I.fromSchema(S.result);}catch{throw new nt("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,I.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},I.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);let C=I.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=I.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let S=new Tc,I=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(I,"keyData");try{S.fromSchema(I.result);}catch{throw new Error("Incorrect keyData")}if(!S.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,S.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${S.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=S.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},S.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${S.privateKeyAlgorithm.algorithmId}`);let C=S.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(p=E.hash)===null||p===void 0?void 0:p.name.toUpperCase()}`)}let C=S.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=S.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=s;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",oo(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,s){let r=await this.subtle.exportKey("jwk",s);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(zh(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",s);case"spki":{let n=new Gs;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new Tc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,s,r,n,i,a){if(e.toLowerCase()===s.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(s,o)}getAlgorithmByOID(e,s=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(s)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,s=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&s)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,s){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(s.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(s.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let s=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":s="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":s="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":s="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":s="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new sf({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)s=n.name;else return b}else s="SHA-1";}catch{}break}return s}async encryptEncryptedContentInfo(e){Qe.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let s=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ya({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new _({algorithmId:n,algorithmParams:new wt})}),p=new Uint8Array(e.password),w=await this.importKey("raw",p,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),S=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),I=new Bm({keyDerivationFunc:new _({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new _({algorithmId:s,algorithmParams:new z({valueHex:i})})});return new Yt({contentType:e.contentType,contentEncryptionAlgorithm:new _({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:I.toSchema()}),encryptedContent:new z({valueHex:S})})}async decryptEncryptedContentInfo(e){if(Qe.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let s;try{s=new Bm({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ya({schema:s.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(s.encryptionScheme.algorithmId,!0),i=s.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let p=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},p,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Qe.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let s;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await L4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Qe.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let s=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await L4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,s="SHA-1"){this.getOIDByAlgorithm({name:s},!0,"hashAlgorithm");let r=new _,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=s,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new _({algorithmId:c,algorithmParams:new wt}),a.maskGenAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new sf(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,s,r){let n=await this.sign(r.algorithm,s,e);return r.algorithm.name==="ECDSA"?mH(n):n}fillPublicKeyParameters(e,s){let r={},n=this.getHashAlgorithm(s);if(n===b)throw new Error(`Unsupported signature algorithm: ${s.algorithmId}`);let i;s.algorithmId==="1.2.840.113549.1.1.10"?i=s.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,s,r){r||(r=this.fillPublicKeyParameters(e,s));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,s,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let p=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(p.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),p.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=s.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=$r.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=Ot(c);M.assert(l,"Signature value"),c=pH(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new sf({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},gk={name:"none",crypto:null};function D4(t){return !!(t&&typeof t=="object"&&"crypto"in t)}function V4(t,...e){let s=null;if(e.length<2)e.length?s=e[0]:s=typeof self<"u"&&self.crypto?new ff({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];D4(n)?s=n:D4(r)?s=r:"subtle"in r&&"getRandomValues"in r&&(s=new ff({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:t,crypto:s};}else gk={name:t,crypto:s};}function dH(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let t;try{t=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return t}return gk}function Ve(t=!1){let e=dH();if(!e.crypto&&t)throw new Error("Unable to create WebCrypto object");return e.crypto}function mH(t){if(t.byteLength%2!==0)return kt;let e=t.byteLength/2,s=new ArrayBuffer(e);new Uint8Array(s).set(new Uint8Array(t,0,e));let n=new U({valueHex:s}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(t,e,e));let o=new U({valueHex:i});return new T({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function pH(t,e){if(!(t instanceof T&&t.valueBlock.value.length===2&&t.valueBlock.value[0]instanceof U&&t.valueBlock.value[1]instanceof U))return kt;let s=t.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=t.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(s,e-s.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function gH(t,e,s,r,n){switch(t.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'zBuffer' has zero length, error");if(nt.assert(r,"SharedInfo","ArrayBuffer"),s>255)throw new nt("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=s;let o=kt;o=ao(o,e),o=ao(o,i),o=ao(o,r);let c=await n.digest({name:t},o);return {counter:s,result:c}}async function U4(t,e,s,r,n=Ve(!0)){let i=0,a=1;switch(t.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'Zbuffer' has zero length, error");nt.assert(r,"SharedInfo","ArrayBuffer");let o=s/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await gH(t,e,w,r,n));let u=kt,l=1,p=!0;for(;p;){p=!1;for(let w of c)if(w.counter===l){u=ao(u,w.result),p=!0;break}l++;}if(s>>=3,u.byteLength>s){let w=new ArrayBuffer(s),E=new Uint8Array(w),S=new Uint8Array(u);for(let I=0;I<s;I++)E[I]=S[I];return w}return u}var CA="version",NA="logID",TA="extensions",kA="timestamp",BA="hashAlgorithm",PA="signatureAlgorithm",OA="signature",_4="none",H4="md5",j4="sha1",M4="sha224",$4="sha256",q4="sha384",F4="sha512",K4="anonymous",G4="rsa",W4="dsa",J4="ecdsa",rb=class t extends q{constructor(e={}){super(),this.version=y(e,CA,t.defaultValues(CA)),this.logID=y(e,NA,t.defaultValues(NA)),this.timestamp=y(e,kA,t.defaultValues(kA)),this.extensions=y(e,TA,t.defaultValues(TA)),this.hashAlgorithm=y(e,BA,t.defaultValues(BA)),this.signatureAlgorithm=y(e,PA,t.defaultValues(PA)),this.signature=y(e,OA,t.defaultValues(OA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case CA:return 0;case NA:case TA:return kt;case kA:return new Date(0);case BA:case PA:return b;case OA:return kt;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof lo))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let s=new vn({stream:new ns({buffer:e.data})});this.fromStream(s);}fromStream(e){let s=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(pn(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=_4;break;case 1:this.hashAlgorithm=H4;break;case 2:this.hashAlgorithm=j4;break;case 3:this.hashAlgorithm=M4;break;case 4:this.hashAlgorithm=$4;break;case 5:this.hashAlgorithm=q4;break;case 6:this.hashAlgorithm=F4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=K4;break;case 1:this.signatureAlgorithm=G4;break;case 2:this.signatureAlgorithm=W4;break;case 3:this.signatureAlgorithm=J4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),s!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new lo({data:e.stream.buffer})}toStream(){let e=new vn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let s=new ArrayBuffer(8),r=new Uint8Array(s),n=pr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case _4:i=0;break;case H4:i=1;break;case j4:i=2;break;case M4:i=3;break;case $4:i=4;break;case q4:i=5;break;case F4:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case K4:a=0;break;case G4:a=1;break;case W4:a=2;break;case J4:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:hy(this.logID),timestamp:this.timestamp,extensions:hy(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:hy(this.signature)}}async verify(e,s,r=0,n=Ve(!0)){let i=my(zh(this.logID)),a=null,o=new vn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=oo(xu(a)),u=Gs.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),p=new Uint8Array(l),w=pr(this.timestamp.valueOf(),8);return p.set(new Uint8Array(w),8-w.byteLength),o.appendView(p),o.appendUint16(r),r===0&&o.appendUint24(s.byteLength),o.appendView(new Uint8Array(s)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};rb.CLASS_NAME="SignedCertificateTimestamp";var Xy="timestamps",nb=class t extends q{constructor(e={}){super(),this.timestamps=y(e,Xy,t.defaultValues(Xy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xy:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){var s;let r=y(e,"names",{});return (s=r.optional)!==null&&s!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let s=new vn({stream:new ns({buffer:e.valueBlock.valueHex})});if(s.getUint16()!==s.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;s.length;)this.timestamps.push(new rb({stream:s}));}toSchema(){let e=new vn,s=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),s+=i.stream.buffer.byteLength;}e.appendUint16(s);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};nb.CLASS_NAME="SignedCertificateTimestampList";var r0="attributes",yH=[r0],ib=class t extends q{constructor(e={}){super(),this.attributes=y(e,r0,t.defaultValues(r0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case r0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,yH);let s=K(e,e,t.schema({names:{attributes:r0}}));M.assertSchema(s,this.className),this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}));}toSchema(){return new T({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};ib.CLASS_NAME="SubjectDirectoryAttributes";var t6=class t{static getItems(){return this.types||(this.types={},t.register(ek,"SubjectAltName",gm),t.register(tk,"IssuerAltName",gm),t.register(R6,"AuthorityKeyIdentifier",ym),t.register(P6,"BasicConstraints",wm),t.register(D_,"MicrosoftCaVersion",zw),t.register(ak,"CertificatePolicies",vm),t.register(k_,"CertificatePoliciesMicrosoft",vm),t.register(L_,"MicrosoftCertTemplateV2",QA),t.register(ik,"CRLDistributionPoints",xm),t.register(O6,"FreshestCRL",xm),t.register(B_,"ExtKeyUsage",Yw),t.register(rk,"CertificateIssuer",Mt),t.register(L6,"AuthorityInfoAccess",Am),t.register(O_,"SubjectInfoAccess",Am),t.register(sk,"IssuingDistributionPoint",Zw),t.register(nk,"NameConstraints",Xw),t.register(ck,"PolicyConstraints",Qw),t.register(ok,"PolicyMappings",eb),t.register(A_,"PrivateKeyUsagePeriod",tb),t.register(V_,"QCStatements",sb),t.register(R_,"SignedCertificateTimestampList",nb),t.register(v_,"SubjectDirectoryAttributes",ib)),this.types}static fromBER(e,s){let r=Ot(s);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,s,r){this.getItems()[e]={name:s,type:r};}},n0="extnID",Ki="critical",i0="extnValue",Qy="parsedValue",wH=[n0,Ki,i0],Ds=class t extends q{get parsedValue(){if(this._parsedValue===void 0){let e=t6.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,n0,t.defaultValues(n0)),this.critical=y(e,Ki,t.defaultValues(Ki)),i0 in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=t.defaultValues(i0),Qy in e&&(this.parsedValue=y(e,Qy,t.defaultValues(Qy))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case n0:return b;case Ki:return !1;case i0:return new z;case Qy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.extnID||b}),new Fs({name:s.critical||b,optional:!0}),new z({name:s.extnValue||b})]})}fromSchema(e){W(e,wH);let s=K(e,e,t.schema({names:{extnID:n0,critical:Ki,extnValue:i0}}));M.assertSchema(s,this.className),this.extnID=s.result.extnID.valueBlock.toString(),Ki in s.result&&(this.critical=s.result.critical.valueBlock.value),this.extnValue=s.result.extnValue;}toSchema(){let e=[];return e.push(new ae({value:this.extnID})),this.critical!==t.defaultValues(Ki)&&e.push(new Fs({value:this.critical})),e.push(this.extnValue),new T({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==t.defaultValues(Ki)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Ds.CLASS_NAME="Extension";var a0="extensions",bH=[a0],Rt=class t extends q{constructor(e={}){super(),this.extensions=y(e,a0,t.defaultValues(a0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case a0:return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Ds.schema(r.extension||{})})]})}fromSchema(e){W(e,bH);let s=K(e,e,t.schema({names:{extensions:a0}}));M.assertSchema(s,this.className),this.extensions=Array.from(s.result.extensions,r=>new Ds({schema:r}));}toSchema(){return new T({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Rt.CLASS_NAME="Extensions";var o0="issuer",c0="serialNumber",Po="issuerUID",SH=[o0,c0,Po],Zs=class t extends q{constructor(e={}){super(),this.issuer=y(e,o0,t.defaultValues(o0)),this.serialNumber=y(e,c0,t.defaultValues(c0)),Po in e&&(this.issuerUID=y(e,Po,t.defaultValues(Po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case o0:return new Mt;case c0:return new U;case Po:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema(s.issuer||{}),new U({name:s.serialNumber||b}),new _e({optional:!0,name:s.issuerUID||b})]})}fromSchema(e){W(e,SH);let s=K(e,e,t.schema({names:{issuer:{names:{blockName:o0}},serialNumber:c0,issuerUID:Po}}));M.assertSchema(s,this.className),this.issuer=new Mt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber,Po in s.result&&(this.issuerUID=s.result.issuerUID);}toSchema(){let e=new T({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Zs.CLASS_NAME="IssuerSerial";var u0="version",Oo="baseCertificateID",Ro="subjectName",l0="issuer",f0="signature",h0="serialNumber",d0="attrCertValidityPeriod",m0="attributes",Lo="issuerUniqueID",Do="extensions",vH=[u0,Oo,Ro,l0,f0,h0,d0,m0,Lo,Do],rf=class t extends q{constructor(e={}){super(),this.version=y(e,u0,t.defaultValues(u0)),Oo in e&&(this.baseCertificateID=y(e,Oo,t.defaultValues(Oo))),Ro in e&&(this.subjectName=y(e,Ro,t.defaultValues(Ro))),this.issuer=y(e,l0,t.defaultValues(l0)),this.signature=y(e,f0,t.defaultValues(f0)),this.serialNumber=y(e,h0,t.defaultValues(h0)),this.attrCertValidityPeriod=y(e,d0,t.defaultValues(d0)),this.attributes=y(e,m0,t.defaultValues(m0)),Lo in e&&(this.issuerUniqueID=y(e,Lo,t.defaultValues(Lo))),Do in e&&(this.extensions=y(e,Do,t.defaultValues(Do))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case u0:return 0;case Oo:return new Zs;case Ro:return new Mt;case l0:return new Mt;case f0:return new _;case h0:return new U;case d0:return new jn;case m0:return [];case Lo:return new _e;case Do:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new ut({value:[new L({name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({name:s.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value})]}),Mt.schema({names:{blockName:s.issuer||b}}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,vH);let s=K(e,e,t.schema({names:{version:u0,baseCertificateID:Oo,subjectName:Ro,issuer:l0,signature:{names:{blockName:f0}},serialNumber:h0,attrCertValidityPeriod:{names:{blockName:d0}},attributes:m0,issuerUniqueID:Lo,extensions:{names:{blockName:Do}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Oo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ro in s.result&&(this.subjectName=new Mt({schema:new T({value:s.result.subjectName.valueBlock.value})})),this.issuer=s.result.issuer,this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),Lo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),Do in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new T({value:Array.from(this.attributes,s=>s.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,s=>s.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};rf.CLASS_NAME="AttributeCertificateInfoV1";var p0="acinfo",g0="signatureAlgorithm",y0="signatureValue",EH=[p0,y0,g0],hf=class t extends q{constructor(e={}){super(),this.acinfo=y(e,p0,t.defaultValues(p0)),this.signatureAlgorithm=y(e,g0,t.defaultValues(g0)),this.signatureValue=y(e,y0,t.defaultValues(y0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case p0:return new rf;case g0:return new _;case y0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[rf.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,EH);let s=K(e,e,t.schema({names:{acinfo:{names:{blockName:p0}},signatureAlgorithm:{names:{blockName:g0}},signatureValue:y0}}));M.assertSchema(s,this.className),this.acinfo=new rf({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};hf.CLASS_NAME="AttributeCertificateV1";var w0="digestedObjectType",Vo="otherObjectTypeID",b0="digestAlgorithm",S0="objectDigest",xH=[w0,Vo,b0,S0],Mn=class t extends q{constructor(e={}){super(),this.digestedObjectType=y(e,w0,t.defaultValues(w0)),Vo in e&&(this.otherObjectTypeID=y(e,Vo,t.defaultValues(Vo))),this.digestAlgorithm=y(e,b0,t.defaultValues(b0)),this.objectDigest=y(e,S0,t.defaultValues(S0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case w0:return new Ur;case Vo:return new ae;case b0:return new _;case S0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ur({name:s.digestedObjectType||b}),new ae({optional:!0,name:s.otherObjectTypeID||b}),_.schema(s.digestAlgorithm||{}),new _e({name:s.objectDigest||b})]})}fromSchema(e){W(e,xH);let s=K(e,e,t.schema({names:{digestedObjectType:w0,otherObjectTypeID:Vo,digestAlgorithm:{names:{blockName:b0}},objectDigest:S0}}));M.assertSchema(s,this.className),this.digestedObjectType=s.result.digestedObjectType,Vo in s.result&&(this.otherObjectTypeID=s.result.otherObjectTypeID),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.objectDigest=s.result.objectDigest;}toSchema(){let e=new T({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Mn.CLASS_NAME="ObjectDigestInfo";var Uo="issuerName",_o="baseCertificateID",Ho="objectDigestInfo",AH=[Uo,_o,Ho],Pm=class t extends q{constructor(e={}){super(),Uo in e&&(this.issuerName=y(e,Uo,t.defaultValues(Uo))),_o in e&&(this.baseCertificateID=y(e,_o,t.defaultValues(_o))),Ho in e&&(this.objectDigestInfo=y(e,Ho,t.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Uo:return new Mt;case _o:return new Zs;case Ho:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema({names:{blockName:s.issuerName}},!0),new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,AH);let s=K(e,e,t.schema({names:{issuerName:Uo,baseCertificateID:_o,objectDigestInfo:Ho}}));M.assertSchema(s,this.className),Uo in s.result&&(this.issuerName=new Mt({schema:s.result.issuerName})),_o in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ho in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Pm.CLASS_NAME="V2Form";var jo="baseCertificateID",Mo="entityName",$o="objectDigestInfo",IH=[jo,Mo,$o],nf=class t extends q{constructor(e={}){super(),jo in e&&(this.baseCertificateID=y(e,jo,t.defaultValues(jo))),Mo in e&&(this.entityName=y(e,Mo,t.defaultValues(Mo))),$o in e&&(this.objectDigestInfo=y(e,$o,t.defaultValues($o))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jo:return new Zs;case Mo:return new Mt;case $o:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,IH);let s=K(e,e,t.schema({names:{baseCertificateID:jo,entityName:Mo,objectDigestInfo:$o}}));M.assertSchema(s,this.className),jo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Mo in s.result&&(this.entityName=new Mt({schema:new T({value:s.result.entityName.valueBlock.value})})),$o in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};nf.CLASS_NAME="Holder";var v0="version",E0="holder",x0="issuer",A0="signature",I0="serialNumber",C0="attrCertValidityPeriod",N0="attributes",qo="issuerUniqueID",Fo="extensions",CH=[v0,E0,x0,A0,I0,C0,N0,qo,Fo],af=class t extends q{constructor(e={}){super(),this.version=y(e,v0,t.defaultValues(v0)),this.holder=y(e,E0,t.defaultValues(E0)),this.issuer=y(e,x0,t.defaultValues(x0)),this.signature=y(e,A0,t.defaultValues(A0)),this.serialNumber=y(e,I0,t.defaultValues(I0)),this.attrCertValidityPeriod=y(e,C0,t.defaultValues(C0)),this.attributes=y(e,N0,t.defaultValues(N0)),qo in e&&(this.issuerUniqueID=y(e,qo,t.defaultValues(qo))),Fo in e&&(this.extensions=y(e,Fo,t.defaultValues(Fo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case v0:return 1;case E0:return new nf;case x0:return {};case A0:return new _;case I0:return new U;case C0:return new jn;case N0:return [];case qo:return new _e;case Fo:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),nf.schema(s.holder||{}),new ut({value:[Mt.schema({names:{blockName:s.issuer||b}}),new L({name:s.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:Pm.schema().valueBlock.value})]}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,CH);let s=K(e,e,t.schema({names:{version:v0,holder:{names:{blockName:E0}},issuer:x0,signature:{names:{blockName:A0}},serialNumber:I0,attrCertValidityPeriod:{names:{blockName:C0}},attributes:N0,issuerUniqueID:qo,extensions:{names:{blockName:Fo}}}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.holder=new nf({schema:s.result.holder}),s.result.issuer.idBlock.tagClass){case 3:this.issuer=new Pm({schema:new T({value:s.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),qo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),Fo in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version}),this.holder.toSchema(),new L({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new T({value:Array.from(this.attributes,s=>s.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,s=>s.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};af.CLASS_NAME="AttributeCertificateInfoV2";var T0="acinfo",k0="signatureAlgorithm",B0="signatureValue",NH=[T0,k0,B0],Mr=class t extends q{constructor(e={}){super(),this.acinfo=y(e,T0,t.defaultValues(T0)),this.signatureAlgorithm=y(e,k0,t.defaultValues(k0)),this.signatureValue=y(e,B0,t.defaultValues(B0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case T0:return new af;case k0:return new _;case B0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[af.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,NH);let s=K(e,e,t.schema({names:{acinfo:{names:{blockName:T0}},signatureAlgorithm:{names:{blockName:k0}},signatureValue:B0}}));M.assertSchema(s,this.className),this.acinfo=new af({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Mr.CLASS_NAME="AttributeCertificateV2";var Ko="contentType",Gu="content",TH=[Ko,Gu],St=class t extends q{constructor(e={}){super(),this.contentType=y(e,Ko,t.defaultValues(Ko)),this.content=y(e,Gu,t.defaultValues(Gu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ko:return b;case Gu:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ko:return typeof s=="string"&&s===this.defaultValues(Ko);case Gu:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return "optional"in s||(s.optional=!1),new T({name:s.blockName||"ContentInfo",optional:s.optional,value:[new ae({name:s.contentType||Ko}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.content||Gu})]})]})}fromSchema(e){W(e,TH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.content=s.result.content;}toSchema(){return new T({value:[new ae({value:this.contentType}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};St.CLASS_NAME="ContentInfo";St.DATA=D6;St.SIGNED_DATA=uk;St.ENVELOPED_DATA=lk;St.ENCRYPTED_DATA=fk;var RA="type",LA="value",s6="utcTimeName",r6="generalTimeName",kH=[s6,r6],z4;(function(t){t[t.UTCTime=0]="UTCTime",t[t.GeneralizedTime=1]="GeneralizedTime",t[t.empty=2]="empty";})(z4||(z4={}));var $t=class t extends q{constructor(e={}){super(),this.type=y(e,RA,t.defaultValues(RA)),this.value=y(e,LA,t.defaultValues(LA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case RA:return 0;case LA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new ut({optional:s,value:[new wn({name:r.utcTimeName||b}),new ct({name:r.generalTimeName||b})]})}fromSchema(e){W(e,kH);let s=K(e,e,t.schema({names:{utcTimeName:s6,generalTimeName:r6}}));M.assertSchema(s,this.className),s6 in s.result&&(this.type=0,this.value=s.result.utcTimeName.toDate()),r6 in s.result&&(this.type=1,this.value=s.result.generalTimeName.toDate());}toSchema(){return this.type===0?new wn({valueDate:this.value}):this.type===1?new ct({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};$t.CLASS_NAME="Time";var DA="tbs",Gi="version",bw="serialNumber",Sw="signature",vw="issuer",Ew="notBefore",xw="notAfter",Aw="subject",Iw="subjectPublicKeyInfo",P0="issuerUniqueID",O0="subjectUniqueID",R0="extensions",L0="signatureAlgorithm",D0="signatureValue",Ws="tbsCertificate",ab=`${Ws}.${Gi}`,U6=`${Ws}.${bw}`,_6=`${Ws}.${Sw}`,H6=`${Ws}.${vw}`,ob=`${Ws}.${Ew}`,cb=`${Ws}.${xw}`,j6=`${Ws}.${Aw}`,M6=`${Ws}.${Iw}`,ub=`${Ws}.${P0}`,lb=`${Ws}.${O0}`,dm=`${Ws}.${R0}`,BH=[Ws,ab,U6,_6,H6,ob,cb,j6,M6,ub,lb,dm,L0,D0];function PH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||Ws,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:e.tbsCertificateVersion||ab})]}),new U({name:e.tbsCertificateSerialNumber||U6}),_.schema(e.signature||{names:{blockName:_6}}),lt.schema(e.issuer||{names:{blockName:H6}}),new T({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[$t.schema(e.notBefore||{names:{utcTimeName:ob,generalTimeName:ob}}),$t.schema(e.notAfter||{names:{utcTimeName:cb,generalTimeName:cb}})]}),lt.schema(e.subject||{names:{blockName:j6}}),Gs.schema(e.subjectPublicKeyInfo||{names:{blockName:M6}}),new we({name:e.tbsCertificateIssuerUniqueID||ub,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:e.tbsCertificateSubjectUniqueID||lb,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Rt.schema(e.extensions||{names:{blockName:dm}})]})]})}var is=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,DA,t.defaultValues(DA))),this.version=y(e,Gi,t.defaultValues(Gi)),this.serialNumber=y(e,bw,t.defaultValues(bw)),this.signature=y(e,Sw,t.defaultValues(Sw)),this.issuer=y(e,vw,t.defaultValues(vw)),this.notBefore=y(e,Ew,t.defaultValues(Ew)),this.notAfter=y(e,xw,t.defaultValues(xw)),this.subject=y(e,Aw,t.defaultValues(Aw)),this.subjectPublicKeyInfo=y(e,Iw,t.defaultValues(Iw)),P0 in e&&(this.issuerUniqueID=y(e,P0,t.defaultValues(P0))),O0 in e&&(this.subjectUniqueID=y(e,O0,t.defaultValues(O0))),R0 in e&&(this.extensions=y(e,R0,t.defaultValues(R0))),this.signatureAlgorithm=y(e,L0,t.defaultValues(L0)),this.signatureValue=y(e,D0,t.defaultValues(D0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case DA:return kt;case Gi:return 0;case bw:return new U;case Sw:return new _;case vw:return new lt;case Ew:return new $t;case xw:return new $t;case Aw:return new lt;case Iw:return new Gs;case P0:return kt;case O0:return kt;case R0:return [];case L0:return new _;case D0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[PH(s.tbsCertificate),_.schema(s.signatureAlgorithm||{names:{blockName:L0}}),new _e({name:s.signatureValue||D0})]})}fromSchema(e){W(e,BH);let s=K(e,e,t.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:dm}}}}}}));M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertificate.valueBeforeDecodeView,ab in s.result&&(this.version=s.result[ab].valueBlock.valueDec),this.serialNumber=s.result[U6],this.signature=new _({schema:s.result[_6]}),this.issuer=new lt({schema:s.result[H6]}),this.notBefore=new $t({schema:s.result[ob]}),this.notAfter=new $t({schema:s.result[cb]}),this.subject=new lt({schema:s.result[j6]}),this.subjectPublicKeyInfo=new Gs({schema:s.result[M6]}),ub in s.result&&(this.issuerUniqueID=s.result[ub].valueBlock.valueHex),lb in s.result&&(this.subjectUniqueID=s.result[lb].valueBlock.valueHex),dm in s.result&&(this.extensions=Array.from(s.result[dm],r=>new Ds({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return Gi in this&&this.version!==t.defaultValues(Gi)&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new T({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new T({value:Array.from(this.extensions,s=>s.toSchema())})]})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema().value[0];let r=Ot(this.tbsView);M.assert(r,"TBS Certificate"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Gi in this&&this.version!==t.defaultValues(Gi)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",s=Ve(!0)){return s.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e,s=Ve(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof Gs))throw new Error("Please provide issuer certificate as a parameter");return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};is.CLASS_NAME="Certificate";function yk(t,e=null){if(e&&t.issuer.isEqual(e.issuer)&&t.serialNumber.isEqual(e.serialNumber))return null;let s=!1;if(t.extensions){for(let r of t.extensions)if(r.extnID===P6&&r.parsedValue instanceof wm&&r.parsedValue.cA){s=!0;break}}return s?t:null}var Wu="certId",Ju="certValue",Tu="parsedValue",OH=[Wu,Ju],fb=class t extends q{constructor(e={}){super(),this.certId=y(e,Wu,t.defaultValues(Wu)),this.certValue=y(e,Ju,t.defaultValues(Ju)),Tu in e&&(this.parsedValue=y(e,Tu,t.defaultValues(Tu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wu:return b;case Ju:return new be;case Tu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wu:return s===b;case Ju:return s instanceof be;case Tu:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,OH);let s=K(e,e,t.schema({names:{id:Wu,value:Ju}}));M.assertSchema(s,this.className),this.certId=s.result.certId.valueBlock.toString(),this.certValue=s.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case B4:try{this.parsedValue=is.fromBER(r);}catch{Mr.fromBER(r);}break;case P4:this.parsedValue=Mr.fromBER(r);break;case __:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Tu in this&&("acinfo"in this.parsedValue?this.certId=P4:this.certId=B4,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.certId}),new L({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};fb.CLASS_NAME="CertBag";var V0="userCertificate",zu="revocationDate",Go="crlEntryExtensions",RH=[V0,zu,Go],hb=class t extends q{constructor(e={}){super(),this.userCertificate=y(e,V0,t.defaultValues(V0)),this.revocationDate=y(e,zu,t.defaultValues(zu)),Go in e&&(this.crlEntryExtensions=y(e,Go,t.defaultValues(Go))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case V0:return new U;case zu:return new $t;case Go:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.userCertificate||V0}),$t.schema({names:{utcTimeName:s.revocationDate||zu,generalTimeName:s.revocationDate||zu}}),Rt.schema({names:{blockName:s.crlEntryExtensions||Go}},!0)]})}fromSchema(e){W(e,RH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.userCertificate=s.result.userCertificate,this.revocationDate=new $t({schema:s.result.revocationDate}),Go in s.result&&(this.crlEntryExtensions=new Rt({schema:s.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new T({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};hb.CLASS_NAME="RevokedCertificate";var VA="tbs",ud="version",UA="signature",_A="issuer",HA="thisUpdate",ew="nextUpdate",tw="revokedCertificates",sw="crlExtensions",U0="signatureAlgorithm",_0="signatureValue",Fn="tbsCertList",db=`${Fn}.version`,$6=`${Fn}.signature`,q6=`${Fn}.issuer`,mb=`${Fn}.thisUpdate`,Om=`${Fn}.nextUpdate`,pb=`${Fn}.revokedCertificates`,gb=`${Fn}.extensions`,LH=[Fn,db,$6,q6,mb,Om,pb,gb,U0,_0];function DH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||Fn,value:[new U({optional:!0,name:e.tbsCertListVersion||db,value:2}),_.schema(e.signature||{names:{blockName:$6}}),lt.schema(e.issuer||{names:{blockName:q6}}),$t.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:mb,generalTimeName:mb}}),$t.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:Om,generalTimeName:Om}},!0),new T({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||pb,value:new T({value:[new U,$t.schema(),Rt.schema({},!0)]})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(e.crlExtensions||{names:{blockName:gb}})]})]})}var VH=[R6,tk,I_,C_,sk,O6,L6,N_,T_,rk],kc=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,VA,t.defaultValues(VA))),this.version=y(e,ud,t.defaultValues(ud)),this.signature=y(e,UA,t.defaultValues(UA)),this.issuer=y(e,_A,t.defaultValues(_A)),this.thisUpdate=y(e,HA,t.defaultValues(HA)),ew in e&&(this.nextUpdate=y(e,ew,t.defaultValues(ew))),tw in e&&(this.revokedCertificates=y(e,tw,t.defaultValues(tw))),sw in e&&(this.crlExtensions=y(e,sw,t.defaultValues(sw))),this.signatureAlgorithm=y(e,U0,t.defaultValues(U0)),this.signatureValue=y(e,_0,t.defaultValues(_0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case VA:return kt;case ud:return 0;case UA:return new _;case _A:return new lt;case HA:return new $t;case ew:return new $t;case tw:return [];case sw:return new Rt;case U0:return new _;case _0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"CertificateList",value:[DH(e),_.schema(s.signatureAlgorithm||{names:{blockName:U0}}),new _e({name:s.signatureValue||_0})]})}fromSchema(e){W(e,LH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertList.valueBeforeDecodeView,db in s.result&&(this.version=s.result[db].valueBlock.valueDec),this.signature=new _({schema:s.result[$6]}),this.issuer=new lt({schema:s.result[q6]}),this.thisUpdate=new $t({schema:s.result[mb]}),Om in s.result&&(this.nextUpdate=new $t({schema:s.result[Om]})),pb in s.result&&(this.revokedCertificates=Array.from(s.result[pb],r=>new hb({schema:r}))),gb in s.result&&(this.crlExtensions=new Rt({schema:s.result[gb]})),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return this.version!==t.defaultValues(ud)&&e.push(new U({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new T({value:Array.from(this.revokedCertificates,s=>s.toSchema())})),this.crlExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new T({value:e})}toSchema(e=!1){let s;if(e)s=this.encodeTBS();else {if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Certificate Revocation List"),s=r.result;}return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==t.defaultValues(ud)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,s=>s.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let s of this.revokedCertificates)if(s.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!VH.includes(n.extnID))return !1}return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};kc.CLASS_NAME="CertificateRevocationList";var Yu="crlId",Zu="crlValue",ld="parsedValue",UH=[Yu,Zu],yb=class t extends q{constructor(e={}){super(),this.crlId=y(e,Yu,t.defaultValues(Yu)),this.crlValue=y(e,Zu,t.defaultValues(Zu)),ld in e&&(this.parsedValue=y(e,ld,t.defaultValues(ld))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yu:return b;case Zu:return new be;case ld:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Yu:return s===b;case Zu:return s instanceof be;case ld:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,UH);let s=K(e,e,t.schema({names:{id:Yu,value:Zu}}));switch(M.assertSchema(s,this.className),this.crlId=s.result.crlId.valueBlock.toString(),this.crlValue=s.result.crlValue,this.crlId){case O4:this.parsedValue=kc.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=O4,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.crlId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};yb.CLASS_NAME="CRLBag";var Xu="version",Qu="encryptedContentInfo",Wi="unprotectedAttrs",_H=[Xu,Qu,Wi],Bc=class t extends q{constructor(e={}){super(),this.version=y(e,Xu,t.defaultValues(Xu)),this.encryptedContentInfo=y(e,Qu,t.defaultValues(Qu)),Wi in e&&(this.unprotectedAttrs=y(e,Wi,t.defaultValues(Wi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xu:return 0;case Qu:return new Yt;case Wi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xu:return s===0;case Qu:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);case Wi:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,_H);let s=K(e,e,t.schema({names:{version:Xu,encryptedContentInfo:{names:{blockName:Qu}},unprotectedAttrs:Wi}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),Wi in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}async encrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await s.encryptEncryptedContentInfo(r);}async decrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return s.decryptEncryptedContentInfo(r)}};Bc.CLASS_NAME="EncryptedData";var Wo="encryptionAlgorithm",Ji="encryptedData",fd="parsedValue",HH=[Wo,Ji],wb=class t extends q{constructor(e={}){super(),this.encryptionAlgorithm=y(e,Wo,t.defaultValues(Wo)),this.encryptedData=y(e,Ji,t.defaultValues(Ji)),fd in e&&(this.parsedValue=y(e,fd,t.defaultValues(fd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new _;case Ji:return new z;case fd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wo:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case Ji:return s.isEqual(t.defaultValues(e));case fd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.encryptionAlgorithm||{names:{blockName:Wo}}),new ut({value:[new z({name:s.encryptedData||Ji}),new z({idBlock:{isConstructed:!0},name:s.encryptedData||Ji})]})]})}fromSchema(e){W(e,HH);let s=K(e,e,t.schema({names:{encryptionAlgorithm:{names:{blockName:Wo}},encryptedData:Ji}}));M.assertSchema(s,this.className),this.encryptionAlgorithm=new _({schema:s.result.encryptionAlgorithm}),this.encryptedData=s.result.encryptedData;}toSchema(){return new T({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,s=Ve(!0)){let n=await new Bc({encryptedContentInfo:new Yt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,s);this.parsedValue=Tc.fromBER(n);}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Bc,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,s),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};wb.CLASS_NAME="PKCS8ShroudedKeyBag";var el="secretTypeId",tl="secretValue",jH=[el,tl],bb=class t extends q{constructor(e={}){super(),this.secretTypeId=y(e,el,t.defaultValues(el)),this.secretValue=y(e,tl,t.defaultValues(tl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case el:return b;case tl:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case el:return s===b;case tl:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,jH);let s=K(e,e,t.schema({names:{id:el,value:tl}}));M.assertSchema(s,this.className),this.secretTypeId=s.result.secretTypeId.valueBlock.toString(),this.secretValue=s.result.secretValue;}toSchema(){return new T({value:[new ae({value:this.secretTypeId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};bb.CLASS_NAME="SecretBag";var n6=class t{static getItems(){return this.items||(this.items={},t.register("1.2.840.113549.1.12.10.1.1",Tc),t.register("1.2.840.113549.1.12.10.1.2",wb),t.register("1.2.840.113549.1.12.10.1.3",fb),t.register("1.2.840.113549.1.12.10.1.4",yb),t.register("1.2.840.113549.1.12.10.1.5",bb),t.register("1.2.840.113549.1.12.10.1.6",ga)),this.items}static register(e,s){this.getItems()[e]=s;}static find(e){return this.getItems()[e]||null}},Jo="bagId",zo="bagValue",kn="bagAttributes",MH=[Jo,zo,kn],Rm=class t extends q{constructor(e={}){super(),this.bagId=y(e,Jo,t.defaultValues(Jo)),this.bagValue=y(e,zo,t.defaultValues(zo)),kn in e&&(this.bagAttributes=y(e,kn,t.defaultValues(kn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jo:return b;case zo:return new be;case kn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Jo:return s===b;case zo:return s instanceof be;case kn:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.bagId||Jo}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.bagValue||zo})]}),new bt({optional:!0,value:[new Ae({name:s.bagAttributes||kn,value:xt.schema()})]})]})}fromSchema(e){W(e,MH);let s=K(e,e,t.schema({names:{bagId:Jo,bagValue:zo,bagAttributes:kn}}));M.assertSchema(s,this.className),this.bagId=s.result.bagId.valueBlock.toString();let r=n6.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:s.result.bagValue}),kn in s.result&&(this.bagAttributes=Array.from(s.result.bagAttributes,n=>new xt({schema:n})));}toSchema(){let e=[new ae({value:this.bagId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new bt({value:Array.from(this.bagAttributes,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,s=>s.toJSON())),e}};Rm.CLASS_NAME="SafeBag";var ku="safeBags",ga=class t extends q{constructor(e={}){super(),this.safeBags=y(e,ku,t.defaultValues(ku)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ku:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.safeBags||b,value:Rm.schema()})]})}fromSchema(e){W(e,[ku]);let s=K(e,e,t.schema({names:{safeBags:ku}}));M.assertSchema(s,this.className),this.safeBags=Array.from(s.result.safeBags,r=>new Rm({schema:r}));}toSchema(){return new T({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};ga.CLASS_NAME="SafeContents";var H0="otherCertFormat",j0="otherCert",$H=[H0,j0],of=class t extends q{constructor(e={}){super(),this.otherCertFormat=y(e,H0,t.defaultValues(H0)),this.otherCert=y(e,j0,t.defaultValues(j0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case H0:return b;case j0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherCertFormat||H0}),new be({name:s.otherCert||j0})]})}fromSchema(e){W(e,$H);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.otherCertFormat=s.result.otherCertFormat.valueBlock.toString(),this.otherCert=s.result.otherCert;}toSchema(){return new T({value:[new ae({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},M0="certificates",qH=[M0],$n=class t extends q{constructor(e={}){super(),this.certificates=y(e,M0,t.defaultValues(M0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case M0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.certificates||M0,value:new ut({value:[is.schema(),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new T]}),new L({idBlock:{tagClass:3,tagNumber:2},value:Mr.schema().valueBlock.value}),new L({idBlock:{tagClass:3,tagNumber:3},value:of.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,qH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.certificates=Array.from(s.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new is({schema:r});let i=new T({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Mr({schema:i}):new hf({schema:i});case 2:return new Mr({schema:i});case 3:return new of({schema:i})}return r});}toSchema(){return new bt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof is:return e.toSchema();case e instanceof hf:return new L({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Mr:return new L({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof of:return new L({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};$n.CLASS_NAME="CertificateSet";var $0="otherRevInfoFormat",q0="otherRevInfo",FH=[$0,q0],Ec=class t extends q{constructor(e={}){super(),this.otherRevInfoFormat=y(e,$0,t.defaultValues($0)),this.otherRevInfo=y(e,q0,t.defaultValues(q0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $0:return b;case q0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherRevInfoFormat||$0}),new be({name:s.otherRevInfo||q0})]})}fromSchema(e){W(e,FH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.otherRevInfoFormat=s.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=s.result.otherRevInfo;}toSchema(){return new T({value:[new ae({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};Ec.CLASS_NAME="OtherRevocationInfoFormat";var F0="crls",jA="otherRevocationInfos",KH=[F0],xc=class t extends q{constructor(e={}){super(),this.crls=y(e,F0,t.defaultValues(F0)),this.otherRevocationInfos=y(e,jA,t.defaultValues(jA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case F0:return [];case jA:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.crls||b,value:new ut({value:[kc.schema(),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ae,new be]})]})})]})}fromSchema(e){W(e,KH);let s=K(e,e,t.schema({names:{crls:F0}}));if(M.assertSchema(s,this.className),s.result.crls)for(let r of s.result.crls)r.idBlock.tagClass===1?this.crls.push(new kc({schema:r})):this.otherRevocationInfos.push(new Ec({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,s=>s.toSchema())),e.push(...Array.from(this.otherRevocationInfos,s=>{let r=s.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new bt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};xc.CLASS_NAME="RevocationInfoChoices";var K0="certs",Yo="crls",GH=[K0,Yo],cf=class t extends q{constructor(e={}){super(),this.crls=y(e,Yo,t.defaultValues(Yo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case K0:return new $n;case Yo:return new xc;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case K0:return s.certificates.length===0;case Yo:return s.crls.length===0&&s.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({name:s.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({name:s.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema().valueBlock.value})]})}fromSchema(e){W(e,GH);let s=K(e,e,t.schema({names:{certs:K0,crls:Yo}}));M.assertSchema(s,this.className),K0 in s.result&&(this.certs=new $n({schema:new bt({value:s.result.certs.valueBlock.value})})),Yo in s.result&&(this.crls=new xc({schema:new bt({value:s.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new T({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};cf.CLASS_NAME="OriginatorInfo";var G0="issuer",W0="serialNumber",WH=[G0,W0],qt=class t extends q{constructor(e={}){super(),this.issuer=y(e,G0,t.defaultValues(G0)),this.serialNumber=y(e,W0,t.defaultValues(W0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case G0:return new lt;case W0:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[lt.schema(s.issuer||{}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,WH);let s=K(e,e,t.schema({names:{issuer:{names:{blockName:G0}},serialNumber:W0}}));M.assertSchema(s,this.className),this.issuer=new lt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};qt.CLASS_NAME="IssuerAndSerialNumber";var rw="variant",hd="value",JH=["blockName"],Sb=class t extends q{constructor(e={}){super(),this.variant=y(e,rw,t.defaultValues(rw)),hd in e&&(this.value=y(e,hd,t.defaultValues(hd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rw:return -1;case hd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case rw:return s===-1;case hd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema({names:{blockName:s.blockName||b}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,JH);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):(this.variant=2,this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof qt))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};Sb.CLASS_NAME="RecipientIdentifier";var Zo="version",sl="rid",rl="keyEncryptionAlgorithm",nl="encryptedKey",nw="recipientCertificate",zH=[Zo,sl,rl,nl],df=class t extends q{constructor(e={}){super(),this.version=y(e,Zo,t.defaultValues(Zo)),this.rid=y(e,sl,t.defaultValues(sl)),this.keyEncryptionAlgorithm=y(e,rl,t.defaultValues(rl)),this.encryptedKey=y(e,nl,t.defaultValues(nl)),this.recipientCertificate=y(e,nw,t.defaultValues(nw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zo:return -1;case sl:return {};case rl:return new _;case nl:return new z;case nw:return new is;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Zo:return s===t.defaultValues(Zo);case sl:return Object.keys(s).length===0;case rl:case nl:return s.isEqual(t.defaultValues(e));case nw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Sb.schema(s.rid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,zH);let s=K(e,e,t.schema({names:{version:Zo,rid:{names:{blockName:sl}},keyEncryptionAlgorithm:{names:{blockName:rl}},encryptedKey:nl}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,s.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:s.result.rid.valueBlock.valueHex}):this.rid=new qt({schema:s.result.rid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof qt?(this.version=0,e.push(new U({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new U({value:this.version})),e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};df.CLASS_NAME="KeyTransRecipientInfo";var il="algorithm",al="publicKey",YH=[il,al],mf=class t extends q{constructor(e={}){super(),this.algorithm=y(e,il,t.defaultValues(il)),this.publicKey=y(e,al,t.defaultValues(al)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case il:return new _;case al:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case il:case al:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.publicKey||b})]})}fromSchema(e){W(e,YH);let s=K(e,e,t.schema({names:{algorithm:{names:{blockName:il}},publicKey:al}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.publicKey=s.result.publicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};mf.CLASS_NAME="OriginatorPublicKey";var iw="variant",dd="value",ZH=["blockName"],Ac=class t extends q{constructor(e={}){super(),this.variant=y(e,iw,t.defaultValues(iw)),dd in e&&(this.value=y(e,dd,t.defaultValues(dd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case iw:return -1;case dd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case iw:return s===-1;case dd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema({names:{blockName:s.blockName||b}}),new we({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b}),new L({idBlock:{tagClass:3,tagNumber:1},name:s.blockName||b,value:mf.schema().valueBlock.value})]})}fromSchema(e){W(e,ZH);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):s.result.blockName.idBlock.tagNumber===0?(s.result.blockName.idBlock.tagClass=1,s.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=s.result.blockName):(this.variant=3,this.value=new mf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};Ac.CLASS_NAME="OriginatorIdentifierOrKey";var ol="keyAttrId",Hr="keyAttr",XH=[ol,Hr],qn=class t extends q{constructor(e={}){super(),this.keyAttrId=y(e,ol,t.defaultValues(ol)),Hr in e&&(this.keyAttr=y(e,Hr,t.defaultValues(Hr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return b;case Hr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ol:return typeof s=="string"&&s===b;case Hr:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({optional:s.optional||!0,name:s.blockName||b,value:[new ae({name:s.keyAttrId||b}),new be({optional:!0,name:s.keyAttr||b})]})}fromSchema(e){W(e,XH);let s=K(e,e,t.schema({names:{keyAttrId:ol,keyAttr:Hr}}));M.assertSchema(s,this.className),this.keyAttrId=s.result.keyAttrId.valueBlock.toString(),Hr in s.result&&(this.keyAttr=s.result.keyAttr);}toSchema(){let e=[];return e.push(new ae({value:this.keyAttrId})),Hr in this&&e.push(this.keyAttr),new T({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Hr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};qn.CLASS_NAME="OtherKeyAttribute";var Xo="subjectKeyIdentifier",zi="date",Yi="other",QH=[Xo,zi,Yi],pf=class t extends q{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Xo,t.defaultValues(Xo)),zi in e&&(this.date=y(e,zi,t.defaultValues(zi))),Yi in e&&(this.other=y(e,Yi,t.defaultValues(Yi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xo:return new z;case zi:return new ct;case Yi:return new qn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xo:return s.isEqual(t.defaultValues(Xo));case zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Yi:return s.keyAttrId===b&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.subjectKeyIdentifier||b}),new ct({optional:!0,name:s.date||b}),qn.schema(s.other||{})]})}fromSchema(e){W(e,QH);let s=K(e,e,t.schema({names:{subjectKeyIdentifier:Xo,date:zi,other:{names:{blockName:Yi}}}}));M.assertSchema(s,this.className),this.subjectKeyIdentifier=s.result.subjectKeyIdentifier,zi in s.result&&(this.date=s.result.date),Yi in s.result&&(this.other=new qn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};pf.CLASS_NAME="RecipientKeyIdentifier";var aw="variant",ow="value",ej=["blockName"],wa=class t extends q{constructor(e={}){super(),this.variant=y(e,aw,t.defaultValues(aw)),this.value=y(e,ow,t.defaultValues(ow)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case aw:return -1;case ow:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case aw:return s===-1;case ow:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema(s.issuerAndSerialNumber||{names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:pf.schema(s.rKeyId||{names:{blockName:s.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,ej);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):(this.variant=2,this.value=new pf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new L({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};wa.CLASS_NAME="KeyAgreeRecipientIdentifier";var cl="rid",Qo="encryptedKey",tj=[cl,Qo],gf=class t extends q{constructor(e={}){super(),this.rid=y(e,cl,t.defaultValues(cl)),this.encryptedKey=y(e,Qo,t.defaultValues(Qo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cl:return new wa;case Qo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cl:return s.variant===-1&&!("value"in s);case Qo:return s.isEqual(t.defaultValues(Qo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[wa.schema(s.rid||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,tj);let s=K(e,e,t.schema({names:{rid:{names:{blockName:cl}},encryptedKey:Qo}}));M.assertSchema(s,this.className),this.rid=new wa({schema:s.result.rid}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};gf.CLASS_NAME="RecipientEncryptedKey";var cw="encryptedKeys",wk="RecipientEncryptedKeys",sj=[wk],Ic=class t extends q{constructor(e={}){super(),this.encryptedKeys=y(e,cw,t.defaultValues(cw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cw:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cw:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.RecipientEncryptedKeys||b,value:gf.schema()})]})}fromSchema(e){W(e,sj);let s=K(e,e,t.schema({names:{RecipientEncryptedKeys:wk}}));M.assertSchema(s,this.className),this.encryptedKeys=Array.from(s.result.RecipientEncryptedKeys,r=>new gf({schema:r}));}toSchema(){return new T({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Ic.CLASS_NAME="RecipientEncryptedKeys";var ul="version",ll="originator",Bn="ukm",fl="keyEncryptionAlgorithm",hl="recipientEncryptedKeys",uw="recipientCertificate",lw="recipientPublicKey",rj=[ul,ll,Bn,fl,hl],yf=class t extends q{constructor(e={}){super(),this.version=y(e,ul,t.defaultValues(ul)),this.originator=y(e,ll,t.defaultValues(ll)),Bn in e&&(this.ukm=y(e,Bn,t.defaultValues(Bn))),this.keyEncryptionAlgorithm=y(e,fl,t.defaultValues(fl)),this.recipientEncryptedKeys=y(e,hl,t.defaultValues(hl)),this.recipientCertificate=y(e,uw,t.defaultValues(uw)),this.recipientPublicKey=y(e,lw,t.defaultValues(lw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ul:return 0;case ll:return new Ac;case Bn:return new z;case fl:return new _;case hl:return new Ic;case uw:return new is;case lw:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ul:return s===0;case ll:return s.variant===-1&&!("value"in s);case Bn:return s.isEqual(t.defaultValues(Bn));case fl:return s.algorithmId===b&&!("algorithmParams"in s);case hl:return s.encryptedKeys.length===0;case uw:return !1;case lw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({idBlock:{tagClass:3,tagNumber:0},value:[Ac.schema(s.originator||{})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:s.ukm||b})]}),_.schema(s.keyEncryptionAlgorithm||{}),Ic.schema(s.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,rj);let s=K(e,e,t.schema({names:{version:ul,originator:{names:{blockName:ll}},ukm:Bn,keyEncryptionAlgorithm:{names:{blockName:fl}},recipientEncryptedKeys:{names:{blockName:hl}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.originator=new Ac({schema:s.result.originator}),Bn in s.result&&(this.ukm=s.result.ukm),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Ic({schema:s.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};yf.CLASS_NAME="KeyAgreeRecipientInfo";var ec="keyIdentifier",Zi="date",Xi="other",nj=[ec,Zi,Xi],Cc=class t extends q{constructor(e={}){super(),this.keyIdentifier=y(e,ec,t.defaultValues(ec)),Zi in e&&(this.date=y(e,Zi,t.defaultValues(Zi))),Xi in e&&(this.other=y(e,Xi,t.defaultValues(Xi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ec:return new z;case Zi:return new ct;case Xi:return new qn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ec:return s.isEqual(t.defaultValues(ec));case Zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Xi:return s.compareWithDefault("keyAttrId",s.keyAttrId)&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.keyIdentifier||b}),new ct({optional:!0,name:s.date||b}),qn.schema(s.other||{})]})}fromSchema(e){W(e,nj);let s=K(e,e,t.schema({names:{keyIdentifier:ec,date:Zi,other:{names:{blockName:Xi}}}}));M.assertSchema(s,this.className),this.keyIdentifier=s.result.keyIdentifier,Zi in s.result&&(this.date=s.result.date),Xi in s.result&&(this.other=new qn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};Cc.CLASS_NAME="KEKIdentifier";var dl="version",ml="kekid",pl="keyEncryptionAlgorithm",tc="encryptedKey",fw="preDefinedKEK",ij=[dl,ml,pl,tc],wf=class t extends q{constructor(e={}){super(),this.version=y(e,dl,t.defaultValues(dl)),this.kekid=y(e,ml,t.defaultValues(ml)),this.keyEncryptionAlgorithm=y(e,pl,t.defaultValues(pl)),this.encryptedKey=y(e,tc,t.defaultValues(tc)),this.preDefinedKEK=y(e,fw,t.defaultValues(fw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return 0;case ml:return new Cc;case pl:return new _;case tc:return new z;case fw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"KEKRecipientInfo":return s===t.defaultValues(dl);case ml:return s.compareWithDefault("keyIdentifier",s.keyIdentifier)&&!("date"in s)&&!("other"in s);case pl:return s.algorithmId===b&&!("algorithmParams"in s);case tc:return s.isEqual(t.defaultValues(tc));case fw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Cc.schema(s.kekid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,ij);let s=K(e,e,t.schema({names:{version:dl,kekid:{names:{blockName:ml}},keyEncryptionAlgorithm:{names:{blockName:pl}},encryptedKey:tc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.kekid=new Cc({schema:s.result.kekid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[new U({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};wf.CLASS_NAME="KEKRecipientInfo";var gl="version",Qi="keyDerivationAlgorithm",yl="keyEncryptionAlgorithm",sc="encryptedKey",hw="password",aj=[gl,Qi,yl,sc],bf=class t extends q{constructor(e={}){super(),this.version=y(e,gl,t.defaultValues(gl)),Qi in e&&(this.keyDerivationAlgorithm=y(e,Qi,t.defaultValues(Qi))),this.keyEncryptionAlgorithm=y(e,yl,t.defaultValues(yl)),this.encryptedKey=y(e,sc,t.defaultValues(sc)),this.password=y(e,hw,t.defaultValues(hw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gl:return -1;case Qi:return new _;case yl:return new _;case sc:return new z;case hw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case gl:return s===-1;case Qi:case yl:return s.algorithmId===b&&!("algorithmParams"in s);case sc:return s.isEqual(t.defaultValues(sc));case hw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:_.schema().valueBlock.value}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,aj);let s=K(e,e,t.schema({names:{version:gl,keyDerivationAlgorithm:Qi,keyEncryptionAlgorithm:{names:{blockName:yl}},encryptedKey:sc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Qi in s.result&&(this.keyDerivationAlgorithm=new _({schema:new T({value:s.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return e.push(new U({value:this.version})),this.keyDerivationAlgorithm&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};bf.CLASS_NAME="PasswordRecipientInfo";var wl="oriType",rc="oriValue",oj=[wl,rc],Lm=class t extends q{constructor(e={}){super(),this.oriType=y(e,wl,t.defaultValues(wl)),this.oriValue=y(e,rc,t.defaultValues(rc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wl:return b;case rc:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wl:return s===b;case rc:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.oriType||b}),new be({name:s.oriValue||b})]})}fromSchema(e){W(e,oj);let s=K(e,e,t.schema({names:{oriType:wl,oriValue:rc}}));M.assertSchema(s,this.className),this.oriType=s.result.oriType.valueBlock.toString(),this.oriValue=s.result.oriValue;}toSchema(){return new T({value:[new ae({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return t.compareWithDefault(rc,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};Lm.CLASS_NAME="OtherRecipientInfo";var dw="variant",md="value",cj=["blockName"],Vn=class t extends q{constructor(e={}){super(),this.variant=y(e,dw,t.defaultValues(dw)),md in e&&(this.value=y(e,md,t.defaultValues(md))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dw:return -1;case md:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case dw:return s===t.defaultValues(e);case md:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[df.schema({names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:yf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:wf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:bf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:Lm.schema().valueBlock.value})]})}fromSchema(e){W(e,cj);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));if(M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new df({schema:s.result.blockName});else {let r=new T({value:s.result.blockName.valueBlock.value});switch(s.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new yf({schema:r});break;case 2:this.variant=3,this.value=new wf({schema:r});break;case 3:this.variant=4,this.value=new bf({schema:r});break;case 4:this.variant=5,this.value=new Lm({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Qe.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Vn.CLASS_NAME="RecipientInfo";var ea="hashAlgorithm",ta="maskGenAlgorithm",sa="pSourceAlgorithm",uj=[ea,ta,sa],uf=class t extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,ea,t.defaultValues(ea)),this.maskGenAlgorithm=y(e,ta,t.defaultValues(ta)),this.pSourceAlgorithm=y(e,sa,t.defaultValues(sa)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ea:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case ta:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case sa:return new _({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[_.schema(s.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,uj);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:ea}},maskGenAlgorithm:{names:{blockName:ta}},pSourceAlgorithm:{names:{blockName:sa}}}}));M.assertSchema(s,this.className),ea in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),ta in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),sa in s.result&&(this.pSourceAlgorithm=new _({schema:s.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(ea))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(ea))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};uf.CLASS_NAME="RSAESOAEPParams";var bl="keyInfo",ra="entityUInfo",Sl="suppPubInfo",lj=[bl,ra,Sl],Dm=class t extends q{constructor(e={}){super(),this.keyInfo=y(e,bl,t.defaultValues(bl)),ra in e&&(this.entityUInfo=y(e,ra,t.defaultValues(ra))),this.suppPubInfo=y(e,Sl,t.defaultValues(Sl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bl:return new _;case ra:return new z;case Sl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case bl:case ra:case Sl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyInfo||{}),new L({name:s.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new L({name:s.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,lj);let s=K(e,e,t.schema({names:{keyInfo:{names:{blockName:bl}},entityUInfo:ra,suppPubInfo:Sl}}));M.assertSchema(s,this.className),this.keyInfo=new _({schema:s.result.keyInfo}),ra in s.result&&(this.entityUInfo=s.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=s.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new T({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};Dm.CLASS_NAME="ECCCMSSharedInfo";var vl="version",na="originatorInfo",El="recipientInfos",xl="encryptedContentInfo",ia="unprotectedAttrs",fj=[vl,na,El,xl,ia],Y4={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},hj={"P-256":256,"P-384":384,"P-521":528},Vm=class t extends q{constructor(e={}){super(),this.version=y(e,vl,t.defaultValues(vl)),na in e&&(this.originatorInfo=y(e,na,t.defaultValues(na))),this.recipientInfos=y(e,El,t.defaultValues(El)),this.encryptedContentInfo=y(e,xl,t.defaultValues(xl)),ia in e&&(this.unprotectedAttrs=y(e,ia,t.defaultValues(ia))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vl:return 0;case na:return new cf;case El:return [];case xl:return new Yt;case ia:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case vl:return s===t.defaultValues(e);case na:return s.certs.certificates.length===0&&s.crls.crls.length===0;case El:case ia:return s.length===0;case xl:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:cf.schema().valueBlock.value}),new bt({value:[new Ae({name:s.recipientInfos||b,value:Vn.schema()})]}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,fj);let s=K(e,e,t.schema({names:{version:vl,originatorInfo:na,recipientInfos:El,encryptedContentInfo:{names:{blockName:xl}},unprotectedAttrs:ia}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,na in s.result&&(this.originatorInfo=new cf({schema:new T({value:s.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(s.result.recipientInfos,r=>new Vn({schema:r})),this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),ia in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),this.originatorInfo&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new bt({value:Array.from(this.recipientInfos,s=>s.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,s=>s.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}addRecipientByCertificate(e,s,r,n=Ve(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},Y4,s||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new _({algorithmId:u,algorithmParams:new wt});o=new uf({hashAlgorithm:l,maskGenAlgorithm:new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new wt;}let c=new df({version:0,rid:new qt({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new _({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Vn({variant:1,value:c}));}break;case 2:{let a=new wa({variant:1,value:new qt({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,s={},r,n=Ve(!0)){if(nt.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!s.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),s.keyIdentifier=i;}switch(s.hmacHashAlgorithm||(s.hmacHashAlgorithm="SHA-512"),s.iterationCount===void 0&&(s.iterationCount=2048),s.keyEncryptionAlgorithm||(s.keyEncryptionAlgorithm={name:"AES-KW",length:256}),s.keyEncryptionAlgorithmParams||(s.keyEncryptionAlgorithmParams=new wt),r){case 1:{let i=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new wf({version:4,kekid:new Cc({keyIdentifier:new z({valueHex:s.keyIdentifier})}),keyEncryptionAlgorithm:new _({algorithmId:i,algorithmParams:s.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Vn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:s.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ya({salt:new z({valueHex:a}),iterationCount:s.iterationCount,prf:new _({algorithmId:c,algorithmParams:new wt})}),l=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),p=new bf({version:0,keyDerivationAlgorithm:new _({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new _({algorithmId:l,algorithmParams:s.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Vn({variant:4,value:p}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,s,r,n=Ve(!0)){let i=Object.assign({},Y4,r||{}),a=new wa({variant:2,value:new pf({subjectKeyIdentifier:new z({valueHex:s})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,s,r,n=Ve(!0)){let i=new gf({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:s.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new _({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:s.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let p={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new _({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Ic({encryptedKeys:[i]})},w=new yf(Object.assign(p,r));this.recipientInfos.push(new Vn({variant:2,value:w}));}async encrypt(e,s,r=Ve(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(s),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Yt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new _({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let p=async C=>{let D=this.recipientInfos[C].value,V,B;if(D.recipientPublicKey)V=D.recipientPublicKey.algorithm.namedCurve,B=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":V="P-256";break;case"1.3.132.0.34":V="P-384";break;case"1.3.132.0.35":V="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:V},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let k=hj[V],O=await r.generateKey({name:"ECDH",namedCurve:V},!0,["deriveBits"]),G=await r.exportKey("spki",O.publicKey),re=await r.deriveBits({name:"ECDH",public:B},O.privateKey,k),Q=new _({schema:D.keyEncryptionAlgorithm.algorithmParams}),oe=r.getAlgorithmByOID(Q.algorithmId,!0,"aesKWAlgorithm"),pe=oe.length,se=new ArrayBuffer(4),ce=new Uint8Array(se);for(let $=3;$>=0;$--)ce[$]=pe,pe>>=8;let Ke=new Dm({keyInfo:new _({algorithmId:Q.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:se})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),X=await U4(J.kdf,re,oe.length,Ke,r),ue=await r.importKey("raw",X,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ue,{name:"AES-KW"}),fe=new Ac;return fe.variant=3,fe.value=mf.fromBER(G),D.originator=fe,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:O.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(V.name==="RSA-OAEP"){let B=D.keyEncryptionAlgorithm.algorithmParams,k=new uf({schema:B});if(V.hash=r.getAlgorithmByOID(k.hashAlgorithm.algorithmId),!("name"in V.hash))throw new Error(`Incorrect OID for hash algorithm: ${k.hashAlgorithm.algorithmId}`)}try{let B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:V,usages:["encrypt","wrapKey"]}},r),k=await r.encrypt(B.algorithm,B,l);D.encryptedKey=new z({valueHex:k});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),B=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),V,!0,["wrapKey"]),k=await r.wrapKey("raw",c,B,V);D.encryptedKey=new z({valueHex:k});},S=async C=>{let D=this.recipientInfos[C].value,V;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{V=new ya({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let B=new Uint8Array(D.password),k=await r.importKey("raw",B,"PBKDF2",!1,["deriveKey"]),O=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),G="SHA-1";V.prf&&(G=r.getAlgorithmByOID(V.prf.algorithmId,!0,"prfAlgorithm").hash.name);let re=new Uint8Array(V.salt.valueBlock.valueHex),Q=V.iterationCount,oe=await r.deriveKey({name:"PBKDF2",hash:{name:G},salt:re,iterations:Q},k,O,!0,["wrapKey"]),pe=await r.wrapKey("raw",c,oe,O);D.encryptedKey=new z({valueHex:pe});},I=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:I.push(await w(C));break;case 2:I.push(await p(C));break;case 3:I.push(await E(C));break;case 4:I.push(await S(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return I}async decrypt(e,s,r=Ve(!0)){let n=s||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async I=>{let C=this.recipientInfos[I].value,D,V,B,k=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${I}`);D=J.valueBlock.toString();}else if(k.value.algorithm.algorithmParams){let J=k.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect originator for index ${I}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":V="P-256",B=256;break;case"1.3.132.0.34":V="P-384",B=384;break;case"1.3.132.0.35":V="P-521",B=528;break;default:throw new Error(`Incorrect curve OID for index ${I}`)}let O,G=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?O=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:V},!0,["deriveBits"]):(O=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(G=n.crypto.subtle)),"algorithmParams"in k.value.algorithm||(k.value.algorithm.algorithmParams=new ae({value:D}));let re=k.value.toSchema().toBER(!1),Q=await r.importKey("spki",re,{name:"ECDH",namedCurve:V},!0,[]),oe=await G.deriveBits({name:"ECDH",public:Q},O,B);async function pe(J){J=J||!1;let X=new _({schema:C.keyEncryptionAlgorithm.algorithmParams}),ue=r.getAlgorithmByOID(X.algorithmId,!0,"kwAlgorithm"),Ee=ue.length,fe=new ArrayBuffer(4),$=new Uint8Array(fe);for(let ze=3;ze>=0;ze--)$[ze]=Ee,Ee>>=8;let te={algorithmId:X.algorithmId};J&&(te.algorithmParams=new wt);let xe=new Dm({keyInfo:new _(te),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:fe})}).toSchema().toBER(!1),Re=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!Re.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return U4(Re.kdf,oe,ue.length,xe,r)}let se=await pe(),ce=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),ge=await ce(se),Ke=async J=>{let X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ue=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ue,!0,["decrypt"])};try{return await Ke(ge)}catch{let J=await pe(!0),X=await ce(J);return Ke(X)}},a=async I=>{let C=this.recipientInfos[I].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let re=C.keyEncryptionAlgorithm.algorithmParams,Q=new uf({schema:re});if(D.hash=r.getAlgorithmByOID(Q.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${Q.hashAlgorithm.algorithmId}`)}let V,B=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?V=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(V=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(B=n.crypto.subtle));let k=await B.decrypt(V.algorithm,V,C.encryptedKey.valueBlock.valueHexView),O=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,G=r.getAlgorithmByOID(O,!0,"contentEncryptionAlgorithm");if(!("name"in G))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${O}`);return r.importKey("raw",k,G,!0,["decrypt"])},o=async I=>{let C=this.recipientInfos[I].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),V=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,k=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!k.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,V,D,k,!0,["decrypt"])},c=async I=>{let C=this.recipientInfos[I].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ya({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let V=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),k=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",O=new Uint8Array(D.salt.valueBlock.valueHex),G=D.iterationCount,re=await r.deriveKey({name:"PBKDF2",hash:{name:k},salt:O,iterations:G},V,B,!0,["unwrapKey"]),Q=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,oe=r.getAlgorithmByOID(Q,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,re,B,oe,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,p=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let S=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:p.name,iv:E},u,S)}};Vm.CLASS_NAME="EnvelopedData";var Bu="safeContents",pd="parsedValue",Z4="contentInfos",Um=class t extends q{constructor(e={}){super(),this.safeContents=y(e,Bu,t.defaultValues(Bu)),pd in e&&(this.parsedValue=y(e,pd,t.defaultValues(pd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bu:return [];case pd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Bu:return s.length===0;case pd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.contentInfos||b,value:St.schema()})]})}fromSchema(e){W(e,[Z4]);let s=K(e,e,t.schema({names:{contentInfos:Z4}}));M.assertSchema(s,this.className),this.safeContents=Array.from(s.result.contentInfos,r=>new St({schema:r}));}toSchema(){return new T({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,s=Ve(!0)){if(Qe.assert(e,Bu),nt.assert(e.safeContents,Bu,"Array"),e.safeContents.length!==this.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case D6:{nt.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:ga.fromBER(o)});}break;case lk:{let o=new Vm({schema:n.content});Qe.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,p=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},s);this.parsedValue.safeContents.push({privacyMode:2,value:ga.fromBER(p)});}break;case fk:{let o=new Bc({schema:n.content});Qe.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},s);this.parsedValue.safeContents.push({privacyMode:1,value:ga.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(nt.assert(this.parsedValue,"this.parsedValue","object"),nt.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),nt.assert(e,"parameters","object"),Qe.assert(e,"safeContents"),nt.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Qe.assert("content",n,"privacyMode","value"),nt.assert(n.value,"content.value",ga),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Bc,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new Vm,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Qe.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,s),await i.encrypt(c,a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};Um.CLASS_NAME="AuthenticatedSafe";var nc="hashAlgorithm",Al="issuerNameHash",Il="issuerKeyHash",ic="serialNumber",dj=[nc,Al,Il,ic],Ns=class t extends q{static async create(e,s,r=Ve(!0)){let n=new t;return await n.createForCertificate(e,s,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,nc,t.defaultValues(nc)),this.issuerNameHash=y(e,Al,t.defaultValues(Al)),this.issuerKeyHash=y(e,Il,t.defaultValues(Il)),this.serialNumber=y(e,ic,t.defaultValues(ic)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case nc:return new _;case Al:case Il:return new z;case ic:return new U;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case nc:return s.algorithmId===b&&!("algorithmParams"in s);case Al:case Il:case ic:return s.isEqual(t.defaultValues(ic));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithmObject||{names:{blockName:s.hashAlgorithm||b}}),new z({name:s.issuerNameHash||b}),new z({name:s.issuerKeyHash||b}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,dj);let s=K(e,e,t.schema({names:{hashAlgorithm:nc,issuerNameHash:Al,issuerKeyHash:Il,serialNumber:ic}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.issuerNameHash=s.result.issuerNameHash,this.issuerKeyHash=s.result.issuerKeyHash,this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,s,r=Ve(!0)){Qe.assert(s,nc,"issuerCertificate");let n=r.getOIDByAlgorithm({name:s.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new _({algorithmId:n,algorithmParams:new wt});let i=s.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:s.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:s.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};Ns.CLASS_NAME="CertID";var Cl="certID",Nl="certStatus",Tl="thisUpdate",aa="nextUpdate",ac="singleExtensions",mj=[Cl,Nl,Tl,aa,ac],_m=class t extends q{constructor(e={}){super(),this.certID=y(e,Cl,t.defaultValues(Cl)),this.certStatus=y(e,Nl,t.defaultValues(Nl)),this.thisUpdate=y(e,Tl,t.defaultValues(Tl)),aa in e&&(this.nextUpdate=y(e,aa,t.defaultValues(aa))),ac in e&&(this.singleExtensions=y(e,ac,t.defaultValues(ac))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return new Ns;case Nl:return {};case Tl:case aa:return new Date(0,0,0);case ac:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Cl:return Ns.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Ns.compareWithDefault("issuerNameHash",s.issuerNameHash)&&Ns.compareWithDefault("issuerKeyHash",s.issuerKeyHash)&&Ns.compareWithDefault("serialNumber",s.serialNumber);case Nl:return Object.keys(s).length===0;case Tl:case aa:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.certID||{}),new ut({value:[new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new L({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new ct,new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ur]})]}),new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new ct({name:s.thisUpdate||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ct({name:s.nextUpdate||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.singleExtensions||{})]})]})}fromSchema(e){W(e,mj);let s=K(e,e,t.schema({names:{certID:{names:{blockName:Cl}},certStatus:Nl,thisUpdate:Tl,nextUpdate:aa,singleExtensions:{names:{blockName:ac}}}}));M.assertSchema(s,this.className),this.certID=new Ns({schema:s.result.certID}),this.certStatus=s.result.certStatus,this.thisUpdate=s.result.thisUpdate.toDate(),aa in s.result&&(this.nextUpdate=s.result.nextUpdate.toDate()),ac in s.result&&(this.singleExtensions=Array.from(s.result.singleExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new ct({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ct({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.singleExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,s=>s.toJSON())),e}};_m.CLASS_NAME="SingleResponse";var mw="tbs",oc="version",J0="responderID",z0="producedAt",Y0="responses",kl="responseExtensions",Pc="ResponseData",Cw=`${Pc}.${oc}`,Bl=`${Pc}.${J0}`,i6=`${Pc}.${z0}`,a6=`${Pc}.${Y0}`,Nw=`${Pc}.${kl}`,pj=[Pc,Cw,Bl,i6,a6,Nw],Sr=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,mw,t.defaultValues(mw))),oc in e&&(this.version=y(e,oc,t.defaultValues(oc))),this.responderID=y(e,J0,t.defaultValues(J0)),this.producedAt=y(e,z0,t.defaultValues(z0)),this.responses=y(e,Y0,t.defaultValues(Y0)),kl in e&&(this.responseExtensions=y(e,kl,t.defaultValues(kl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oc:return 0;case mw:return kt;case J0:return {};case z0:return new Date(0,0,0);case Y0:case kl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case mw:return s.byteLength===0;case J0:return Object.keys(s).length===0;case z0:return s===t.defaultValues(e);case Y0:case kl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Pc,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.version||Cw})]}),new ut({value:[new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:1},value:[lt.schema(s.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:s.ResponseDataByKey||"ResponseData.byKey"})]})]}),new ct({name:s.producedAt||i6}),new T({value:[new Ae({name:a6,value:_m.schema(s.response||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.extensions||{names:{blockName:Nw}})]})]})}fromSchema(e){W(e,pj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.ResponseData.valueBeforeDecodeView,Cw in s.result&&(this.version=s.result[Cw].valueBlock.valueDec),s.result[Bl].idBlock.tagNumber===1?this.responderID=new lt({schema:s.result[Bl].valueBlock.value[0]}):this.responderID=s.result[Bl].valueBlock.value[0],this.producedAt=s.result[i6].toDate(),this.responses=Array.from(s.result[a6],r=>new _m({schema:r})),Nw in s.result&&(this.responseExtensions=Array.from(s.result[Nw].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Response Data"),s=r.result;}else {let r=[];oc in this&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.responderID instanceof lt?r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new ct({valueDate:this.producedAt})),r.push(new T({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return oc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,s=>s.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,s=>s.toJSON())),e}};Sr.CLASS_NAME="ResponseData";var MA="trustedCerts",$A="certs",qA="crls",FA="ocsps",KA="checkDate",GA="findOrigin",WA="findIssuer",yc;(function(t){t[t.unknown=-1]="unknown",t[t.success=0]="success",t[t.noRevocation=11]="noRevocation",t[t.noPath=60]="noPath",t[t.noValidPath=97]="noValidPath";})(yc||(yc={}));var ma=class t extends Error{constructor(e,s){super(s),this.name=t.NAME,this.code=e,this.message=s;}};ma.NAME="ChainValidationError";function gj(t,e){for(let s=0;s<e.length;s++)if(Se.BufferSourceConverter.isEqual(t.tbsView,e[s].tbsView))return !0;return !1}var Hm=class t{constructor(e={}){this.trustedCerts=y(e,MA,this.defaultValues(MA)),this.certs=y(e,$A,this.defaultValues($A)),this.crls=y(e,qA,this.defaultValues(qA)),this.ocsps=y(e,FA,this.defaultValues(FA)),this.checkDate=y(e,KA,this.defaultValues(KA)),this.findOrigin=y(e,GA,this.defaultValues(GA)),this.findIssuer=y(e,WA,this.defaultValues(WA));}static defaultFindOrigin(e,s){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of s.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of s.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,s,r=Ve(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===R6&&u.parsedValue instanceof ym){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let p=!1;for(let w of u.extensions)if(w.extnID===E_&&w.parsedValue){p=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(p)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of s.trustedCerts)c(u);for(let u of s.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case MA:return [];case $A:return [];case qA:return [];case FA:return [];case KA:return new Date;case GA:return t.defaultFindOrigin;case WA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,s=Ve(!0)){let r=[],n=async(S,I)=>{let C=[];function D(B){let k=!0;for(let O=0;O<B.length;O++){for(let G=0;G<B.length;G++)if(G!==O&&B[O]===B[G]){k=!1;break}if(!k)break}return k}if(gj(S,this.trustedCerts))return [[S]];let V=await this.findIssuer(S,this,I);if(V.length===0)throw new Error("No valid certificate paths found");for(let B=0;B<V.length;B++){if(Se.BufferSourceConverter.isEqual(V[B].tbsView,S.tbsView)){C.push([V[B]]);continue}let k=await n(V[B],I);for(let O=0;O<k.length;O++){let G=k[O].slice();G.splice(0,0,V[B]),D(G)?C.push(G):C.push(k[O]);}}return C},i=async S=>{let I=[],C=[],D=[];if(I.push(...r.filter(V=>S.issuer.isEqual(V.subject))),I.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(V=>V.issuer.isEqual(S.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let V=0;V<C.length;V++){let B=C[V];if(!(B.nextUpdate&&B.nextUpdate.value<this.checkDate))for(let k=0;k<I.length;k++)try{if(await C[V].verify({issuerCertificate:I[k]},s)){D.push({crl:C[V],certificate:I[k]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(S,I)=>{let C=s.getAlgorithmByOID(S.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let B=await this.ocsps[D].getCertificateStatus(S,I,s);if(B.isForCertificate)return B.status===0?0:1}return 2};async function o(S,I=!1){let C=!1,D=!1,V=!1,B=!1;if(S.extensions){for(let k=0;k<S.extensions.length;k++){let O=S.extensions[k];if(O.critical&&!O.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${O.extnID}`};if(O.extnID===x_){V=!0;let G=new Uint8Array(O.parsedValue.valueBlock.valueHex);(G[0]&4)===4&&(D=!0),(G[0]&2)===2&&(B=!0);}O.extnID===P6&&"cA"in O.parsedValue&&O.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(V===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&V===!0&&I&&B===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(S,I)=>{for(let C=0;C<S.length;C++)if(S[C].notBefore.value>I||S[C].notAfter.value<I)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(S.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=S.length-2;C>=0;C--)if(S[C].issuer.isEqual(S[C].subject)===!1&&S[C].issuer.isEqual(S[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<S.length-1;C++){let D=2,V={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(S[C],S[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(V=await i(S[C]),V.status===0&&V.result)for(let B=0;B<V.result.length;B++){if(V.result[B].crl.isCertificateRevoked(S[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(V.result[B].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&V.status===2&&e){let B=S[C+1],k=!1;if(B.extensions)for(let O of B.extensions)switch(O.extnID){case ik:case O6:case L6:k=!0;break}if(k)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}}for(let[C,D]of S.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let S=0;S<r.length;S++)for(let I=0;I<r.length;I++)if(S!==I&&Se.BufferSourceConverter.isEqual(r[S].tbsView,r[I].tbsView)){r.splice(I,1),S=0;break}let u=r[r.length-1],l,p=[u];if(l=await n(u,s),l.length===0)throw new ma(yc.noPath,"Unable to find certificate path");for(let S=l.length-1;S>=0;S--){let I=!1;for(let C=0;C<l[S].length;C++){let D=l[S][C];for(let V=0;V<this.trustedCerts.length;V++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[V].tbsView)){I=!0;break}if(I)break}I||l.splice(S,1);}if(l.length===0)throw new ma(yc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let S=0;S<l.length;S++)l[S].length<w&&(w=l[S].length,E=S);for(let S=0;S<l[E].length;S++)p.push(l[E][S]);if(l=await c(p,this.checkDate),l.result===!1)throw l;return p}async verify(e={},s=Ve(!0)){function r(c,u){let l=da(c),p=da(u),w=l.split("."),E=p.split("."),S=w.length,I=E.length;if(S===0||I===0||S<I)return !1;for(let C=0;C<S;C++)if(w[C].length===0)return !1;for(let C=0;C<I;C++)if(E[C].length===0){if(C===0){if(I===1)return !1;continue}return !1}for(let C=0;C<I;C++)if(E[I-1-C].length!==0&&w[S-1-C].localeCompare(E[I-1-C])!==0)return !1;return !0}function n(c,u){let l=da(c),p=da(u),w=l.split("@"),E=p.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let I=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:I.length===C.length}return !1}return l.localeCompare(p)===0}function i(c,u){let l=da(c),p=da(u),w=l.split("/");if(p.split("/").length>1)return !1;if(w.length>1){for(let I=0;I<w.length;I++)if(w[I].length>0&&w[I].charAt(w[I].length-1)!==":"){l=w[I].split(":")[0];break}}if(r(l,p)){let I=l.split("."),C=p.split(".");return C[0].length===0?!0:I.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,p=u.valueBlock.valueHexView;if(l.length===4&&p.length===8){for(let w=0;w<4;w++)if((l[w]^p[w])&p[w+4])return !1;return !0}if(l.length===16&&p.length===32){for(let w=0;w<16;w++)if((l[w]^p[w])&p[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,p=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let S=p;S<c.typesAndValues.length;S++)if(E=c.typesAndValues[S].isEqual(u.typesAndValues[w]),c.typesAndValues[S].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(p===0||p===S){p=S+1;break}else return !1;if(E===!1)return !1}return p===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Ys],l=e.initialExplicitPolicy||!1,p=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],S=e.initialExcludedSubtreesSet||[],I=e.initialRequiredNameForms||[],C=l,D=p,V=w,B=[!1,!1,!1],k=0,O=0,G=0,re=E,Q=S,oe=I,pe=1;this.certs=await this.sort(c,s);let se=[];se.push(Ys);let ce=[],ge=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)ge[$]=!0;ce.push(ge);let Ke=new Array(this.certs.length-1),J=new Array(this.certs.length-1),X=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$];if(te.extensions){for(let ie=0;ie<te.extensions.length;ie++){let xe=te.extensions[ie];if(xe.extnID===ak){J[$]=xe.parsedValue;for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){delete ce[Re][$];break}for(let Re=0;Re<xe.parsedValue.certificatePolicies.length;Re++){let ze=-1,Ut=xe.parsedValue.certificatePolicies[Re].policyIdentifier;for(let Ge=0;Ge<se.length;Ge++)if(Ut===se[Ge]){ze=Ge;break}if(ze===-1){se.push(Ut);let Ge=new Array(this.certs.length-1);Ge[$]=!0,ce.push(Ge);}else ce[ze][$]=!0;}}if(xe.extnID===ok){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};Ke[$]=xe.parsedValue;}xe.extnID===ck&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,X=$):B[0]===!1?(B[0]=!0,k=xe.parsedValue.requireExplicitPolicy):k=k>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:k,xe.parsedValue.inhibitPolicyMapping===0?D=!0:B[1]===!1?(B[1]=!0,O=xe.parsedValue.inhibitPolicyMapping+1):O=O>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:O),xe.extnID===P_&&V===!1&&(xe.parsedValue.valueBlock.valueDec===0?V=!0:B[2]===!1?(B[2]=!0,G=xe.parsedValue.valueBlock.valueDec):G=G>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:G);}if(V===!0){let ie=-1;for(let xe=0;xe<se.length;xe++)if(se[xe]===Ys){ie=xe;break}ie!==-1&&delete ce[0][$];}C===!1&&B[0]===!0&&(k--,k===0&&(C=!0,X=$,B[0]=!1)),D===!1&&B[1]===!0&&(O--,O===0&&(D=!0,B[1]=!1)),V===!1&&B[2]===!0&&(G--,G===0&&(V=!0,B[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof Ke[$+1]<"u")for(let te=0;te<Ke[$+1].mappings.length;te++){if(Ke[$+1].mappings[te].issuerDomainPolicy===Ys||Ke[$+1].mappings[te].subjectDomainPolicy===Ys)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ie=-1,xe=-1;for(let Re=0;Re<se.length;Re++)se[Re]===Ke[$+1].mappings[te].issuerDomainPolicy&&(ie=Re),se[Re]===Ke[$+1].mappings[te].subjectDomainPolicy&&(xe=Re);typeof ce[ie][$]<"u"&&delete ce[ie][$];for(let Re=0;Re<J[$].certificatePolicies.length;Re++)if(Ke[$+1].mappings[te].subjectDomainPolicy===J[$].certificatePolicies[Re].policyIdentifier&&ie!==-1&&xe!==-1)for(let ze=0;ze<=$;ze++)typeof ce[xe][ze]<"u"&&(ce[ie][ze]=!0,delete ce[xe][ze]);}for(let $=0;$<se.length;$++)if(se[$]===Ys)for(let te=0;te<X;te++)delete ce[$][te];let ue=[];for(let $=0;$<ce.length;$++){let te=!0;for(let ie=0;ie<this.certs.length-1;ie++){let xe=!1;if(ie<X&&se[$]===Ys&&se.length>1){te=!1;break}if(typeof ce[$][ie]>"u"){if(ie>=X){for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){ce[Re][ie]===!0&&(xe=!0);break}}if(!xe){te=!1;break}}}te===!0&&ue.push(se[$]);}let Ee=[];if(u.length===1&&u[0]===Ys&&C===!1)Ee=u;else if(ue.length===1&&ue[0]===Ys)Ee=u;else for(let $=0;$<ue.length;$++)for(let te=0;te<u.length;te++)if(u[te]===ue[$]||u[te]===Ys){Ee.push(ue[$]);break}let fe={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ue,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:Ke,certificatePath:this.certs};if(Ee.length===0||fe.result===!1)return fe;pe=1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$],ie=[],xe=[],Re=[];if(te.extensions)for(let je=0;je<te.extensions.length;je++){let de=te.extensions[je];de.extnID===nk&&("permittedSubtrees"in de.parsedValue&&(xe=xe.concat(de.parsedValue.permittedSubtrees)),"excludedSubtrees"in de.parsedValue&&(Re=Re.concat(de.parsedValue.excludedSubtrees))),de.extnID===ek&&(ie=ie.concat(de.parsedValue.altNames));}let ze=oe.length<=0;for(let je=0;je<oe.length;je++)switch(oe[je].base.type){case 4:{if(oe[je].base.value.typesAndValues.length!==te.subject.typesAndValues.length)continue;ze=!0;for(let de=0;de<te.subject.typesAndValues.length;de++)if(te.subject.typesAndValues[de].type!==oe[je].base.value.typesAndValues[de].type){ze=!1;break}if(ze===!0)break}break;default:}if(ze===!1)throw fe.result=!1,fe.resultCode=21,fe.resultMessage="No necessary name form found",fe;let Ut=[[],[],[],[],[]];for(let je=0;je<re.length;je++)switch(re[je].base.type){case 1:Ut[0].push(re[je]);break;case 2:Ut[1].push(re[je]);break;case 4:Ut[2].push(re[je]);break;case 6:Ut[3].push(re[je]);break;case 7:Ut[4].push(re[je]);break;default:}for(let je=0;je<5;je++){let de=!1,as=!1,ys=Ut[je];for(let Bt=0;Bt<ys.length;Bt++){switch(je){case 0:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===1&&(as=!0,de=de||n(ie[Fe].value,ys[Bt].base.value));else for(let Fe=0;Fe<te.subject.typesAndValues.length;Fe++)(te.subject.typesAndValues[Fe].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[Fe].type==="0.9.2342.19200300.100.1.3")&&(as=!0,de=de||n(te.subject.typesAndValues[Fe].value.valueBlock.value,ys[Bt].base.value));break;case 1:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===2&&(as=!0,de=de||r(ie[Fe].value,ys[Bt].base.value));break;case 2:as=!0,de=o(te.subject,ys[Bt].base.value);break;case 3:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===6&&(as=!0,de=de||i(ie[Fe].value,ys[Bt].base.value));break;case 4:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===7&&(as=!0,de=de||a(ie[Fe].value,ys[Bt].base.value));break;default:}if(de)break}if(de===!1&&ys.length>0&&as)throw fe.result=!1,fe.resultCode=41,fe.resultMessage='Failed to meet "permitted sub-trees" name constraint',fe}let Ge=!1;for(let je=0;je<Q.length;je++){switch(Q[je].base.type){case 1:if(ie.length>=0)for(let de=0;de<ie.length;de++)ie[de].type===1&&(Ge=Ge||n(ie[de].value,Q[je].base.value));else for(let de=0;de<te.subject.typesAndValues.length;de++)(te.subject.typesAndValues[de].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[de].type==="0.9.2342.19200300.100.1.3")&&(Ge=Ge||n(te.subject.typesAndValues[de].value.valueBlock.value,Q[je].base.value));break;case 2:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===2&&(Ge=Ge||r(ie[de].value,Q[je].base.value));break;case 4:Ge=Ge||o(te.subject,Q[je].base.value);break;case 6:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===6&&(Ge=Ge||i(ie[de].value,Q[je].base.value));break;case 7:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===7&&(Ge=Ge||a(ie[de].value,Q[je].base.value));break;default:}if(Ge)break}if(Ge===!0)throw fe.result=!1,fe.resultCode=42,fe.resultMessage='Failed to meet "excluded sub-trees" name constraint',fe;re=re.concat(xe),Q=Q.concat(Re);}return fe}catch(c){return c instanceof Error?c instanceof ma?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:yc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},Tw="tbsResponseData",Z0="signatureAlgorithm",X0="signature",Pl="certs",jm="BasicOCSPResponse",o6=`${jm}.${Tw}`,c6=`${jm}.${Z0}`,u6=`${jm}.${X0}`,kw=`${jm}.${Pl}`,yj=[o6,c6,u6,kw],Nc=class t extends q{constructor(e={}){super(),this.tbsResponseData=y(e,Tw,t.defaultValues(Tw)),this.signatureAlgorithm=y(e,Z0,t.defaultValues(Z0)),this.signature=y(e,X0,t.defaultValues(X0)),Pl in e&&(this.certs=y(e,Pl,t.defaultValues(Pl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Tw:return new Sr;case Z0:return new _;case X0:return new _e;case Pl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"type":{let r=Sr.compareWithDefault("tbs",s.tbs)&&Sr.compareWithDefault("responderID",s.responderID)&&Sr.compareWithDefault("producedAt",s.producedAt)&&Sr.compareWithDefault("responses",s.responses);return "responseExtensions"in s&&(r=r&&Sr.compareWithDefault("responseExtensions",s.responseExtensions)),r}case Z0:return s.algorithmId===b&&!("algorithmParams"in s);case X0:return s.isEqual(t.defaultValues(e));case Pl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||jm,value:[Sr.schema(s.tbsResponseData||{names:{blockName:o6}}),_.schema(s.signatureAlgorithm||{names:{blockName:c6}}),new _e({name:s.signature||u6}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:kw,value:is.schema(s.certs||{})})]})]})]})}fromSchema(e){W(e,yj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsResponseData=new Sr({schema:s.result[o6]}),this.signatureAlgorithm=new _({schema:s.result[c6]}),this.signature=s.result[u6],kw in s.result&&(this.certs=Array.from(s.result[kw],r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}async getCertificateStatus(e,s,r=Ve(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new Ns;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:s},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof lt:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let p=await s.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(p,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await yk(u,r);l&&a.push(l);}if(!(await new Hm({certs:a,trustedCerts:i}).verify({},s)).result)throw new Error("Validation of signer's certificate failed");return s.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Nc.CLASS_NAME="BasicOCSPResponse";var JA="tbs",zA="version",YA="subject",ZA="subjectPublicKeyInfo",Pu="attributes",Q0="signatureAlgorithm",em="signatureValue",Ef="CertificationRequestInfo",F6=`${Ef}.version`,K6=`${Ef}.subject`,G6=`${Ef}.subjectPublicKeyInfo`,vb=`${Ef}.attributes`,wj=[Ef,F6,K6,G6,vb,Q0,em];function bj(t={}){let e=y(t,"names",{});return new T({name:e.CertificationRequestInfo||Ef,value:[new U({name:e.CertificationRequestInfoVersion||F6}),lt.schema(e.subject||{names:{blockName:K6}}),Gs.schema({names:{blockName:G6}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||vb,value:xt.schema(e.attributes||{})})]})]})}var l6=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,JA,t.defaultValues(JA))),this.version=y(e,zA,t.defaultValues(zA)),this.subject=y(e,YA,t.defaultValues(YA)),this.subjectPublicKeyInfo=y(e,ZA,t.defaultValues(ZA)),Pu in e&&(this.attributes=y(e,Pu,t.defaultValues(Pu))),this.signatureAlgorithm=y(e,Q0,t.defaultValues(Q0)),this.signatureValue=y(e,em,t.defaultValues(em)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case JA:return kt;case zA:return 0;case YA:return new lt;case ZA:return new Gs;case Pu:return [];case Q0:return new _;case em:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({value:[bj(s.certificationRequestInfo||{}),new T({name:s.signatureAlgorithm||Q0,value:[new ae,new be({optional:!0})]}),new _e({name:s.signatureValue||em})]})}fromSchema(e){W(e,wj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=s.result[F6].valueBlock.valueDec,this.subject=new lt({schema:s.result[K6]}),this.subjectPublicKeyInfo=new Gs({schema:s.result[G6]}),vb in s.result&&(this.attributes=Array.from(s.result[vb],r=>new xt({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[new U({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Pu in this&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],s=>s.toSchema())})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);M.assert(r,"PKCS#10 Certificate Request"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Pu in this&&(e.attributes=Array.from(this.attributes||[],s=>s.toJSON())),e}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e=Ve(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};l6.CLASS_NAME="CertificationRequest";var cc="digestAlgorithm",uc="digest",Sj=[cc,uc],_n=class t extends q{constructor(e={}){super(),this.digestAlgorithm=y(e,cc,t.defaultValues(cc)),this.digest=y(e,uc,t.defaultValues(uc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cc:return new _;case uc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cc:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case uc:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.digestAlgorithm||{names:{blockName:cc}}),new z({name:s.digest||uc})]})}fromSchema(e){W(e,Sj);let s=K(e,e,t.schema({names:{digestAlgorithm:{names:{blockName:cc}},digest:uc}}));M.assertSchema(s,this.className),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.digest=s.result.digest;}toSchema(){return new T({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};_n.CLASS_NAME="DigestInfo";var Ol="eContentType",br="eContent",vj=[Ol,br],Hn=class t extends q{constructor(e={}){if(super(),this.eContentType=y(e,Ol,t.defaultValues(Ol)),br in e&&(this.eContent=y(e,br,t.defaultValues(br)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case br:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ol:return s===b;case br:return s.idBlock.tagClass===1&&s.idBlock.tagNumber===4?s.isEqual(t.defaultValues(br)):!1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.eContentType||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.eContent||b})]})]})}fromSchema(e){W(e,vj);let s=K(e,e,t.schema({names:{eContentType:Ol,eContent:br}}));M.assertSchema(s,this.className),this.eContentType=s.result.eContentType.valueBlock.toString(),br in s.result&&(this.eContent=s.result.eContent);}toSchema(){let e=[];return e.push(new ae({value:this.eContentType})),this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new T({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Hn.CLASS_NAME="EncapsulatedContentInfo";var lc="mac",fc="macSalt",Pn="iterations",Ej=[lc,fc,Pn],jr=class t extends q{constructor(e={}){super(),this.mac=y(e,lc,t.defaultValues(lc)),this.macSalt=y(e,fc,t.defaultValues(fc)),Pn in e&&(this.iterations=y(e,Pn,t.defaultValues(Pn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return new _n;case fc:return new z;case Pn:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case lc:return _n.compareWithDefault("digestAlgorithm",s.digestAlgorithm)&&_n.compareWithDefault("digest",s.digest);case fc:return s.isEqual(t.defaultValues(e));case Pn:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!0,value:[_n.schema(s.mac||{names:{blockName:lc}}),new z({name:s.macSalt||fc}),new U({optional:!0,name:s.iterations||Pn})]})}fromSchema(e){W(e,Ej);let s=K(e,e,t.schema({names:{mac:{names:{blockName:lc}},macSalt:fc,iterations:Pn}}));M.assertSchema(s,this.className),this.mac=new _n({schema:s.result.mac}),this.macSalt=s.result.macSalt,Pn in s.result&&(this.iterations=s.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new U({value:this.iterations})),new T({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};jr.CLASS_NAME="MacData";var wc="hashAlgorithm",bc="hashedMessage",xj=[wc,bc],Ks=class t extends q{static async create(e,s,r=Ve(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,s);return new t({hashAlgorithm:new _({algorithmId:n,algorithmParams:new wt}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,wc,t.defaultValues(wc)),this.hashedMessage=y(e,bc,t.defaultValues(bc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wc:return new _;case bc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wc:return s.algorithmId===b&&!("algorithmParams"in s);case bc:return s.isEqual(t.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithm||{}),new z({name:s.hashedMessage||b})]})}fromSchema(e){W(e,xj);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:wc}},hashedMessage:bc}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.hashedMessage=s.result.hashedMessage;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Ks.CLASS_NAME="MessageImprint";var Rl="reqCert",oa="singleRequestExtensions",Aj=[Rl,oa],Sf=class t extends q{constructor(e={}){super(),this.reqCert=y(e,Rl,t.defaultValues(Rl)),oa in e&&(this.singleRequestExtensions=y(e,oa,t.defaultValues(oa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Rl:return new Ns;case oa:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Rl:return s.isEqual(t.defaultValues(e));case oa:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.reqCert||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(s.extensions||{names:{blockName:s.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Aj);let s=K(e,e,t.schema({names:{reqCert:{names:{blockName:Rl}},extensions:{names:{blockName:oa}}}}));M.assertSchema(s,this.className),this.reqCert=new Ns({schema:s.result.reqCert}),oa in s.result&&(this.singleRequestExtensions=Array.from(s.result.singleRequestExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.singleRequestExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,s=>s.toJSON())),e}};Sf.CLASS_NAME="Request";var pw="tbs",Ll="version",Dl="requestorName",gw="requestList",Vl="requestExtensions",xf="TBSRequest",Bw=`${xf}.${Ll}`,Pw=`${xf}.${Dl}`,f6=`${xf}.requests`,Ow=`${xf}.${Vl}`,Ij=[xf,Bw,Pw,f6,Ow],vr=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,pw,t.defaultValues(pw))),Ll in e&&(this.version=y(e,Ll,t.defaultValues(Ll))),Dl in e&&(this.requestorName=y(e,Dl,t.defaultValues(Dl))),this.requestList=y(e,gw,t.defaultValues(gw)),Vl in e&&(this.requestExtensions=y(e,Vl,t.defaultValues(Vl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pw:return kt;case Ll:return 0;case Dl:return new it;case gw:case Vl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case pw:return s.byteLength===0;case Ll:return s===t.defaultValues(e);case Dl:return s.type===it.defaultValues("type")&&Object.keys(s.value).length===0;case gw:case Vl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xf,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.TBSRequestVersion||Bw})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[it.schema(s.requestorName||{names:{blockName:Pw}})]}),new T({name:s.requestList||"TBSRequest.requestList",value:[new Ae({name:s.requests||f6,value:Sf.schema(s.requestNames||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Rt.schema(s.extensions||{names:{blockName:s.requestExtensions||Ow}})]})]})}fromSchema(e){W(e,Ij);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.TBSRequest.valueBeforeDecodeView,Bw in s.result&&(this.version=s.result[Bw].valueBlock.valueDec),Pw in s.result&&(this.requestorName=new it({schema:s.result[Pw]})),this.requestList=Array.from(s.result[f6],r=>new Sf({schema:r})),Ow in s.result&&(this.requestExtensions=Array.from(s.result[Ow].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);if(M.assert(r,"TBS Request"),!(r.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");s=r.result;}else {let r=[];this.version!==void 0&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.requestorName&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new T({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new T({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,s=>s.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,s=>s.toJSON())),e}};vr.CLASS_NAME="TBSRequest";var Ou="signatureAlgorithm",Ru="signature",Ti="certs",Un=class t extends q{constructor(e={}){super(),this.signatureAlgorithm=y(e,Ou,t.defaultValues(Ou)),this.signature=y(e,Ru,t.defaultValues(Ru)),Ti in e&&(this.certs=y(e,Ti,t.defaultValues(Ti))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ou:return new _;case Ru:return new _e;case Ti:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ou:return s.algorithmId===b&&!("algorithmParams"in s);case Ru:return s.isEqual(t.defaultValues(e));case Ti:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.signatureAlgorithm||{}),new _e({name:s.signature||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:s.certs||b,value:is.schema({})})]})]})]})}fromSchema(e){W(e,[Ou,Ru,Ti]);let s=K(e,e,t.schema({names:{signatureAlgorithm:{names:{blockName:Ou}},signature:Ru,certs:Ti}}));M.assertSchema(s,this.className),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signature=s.result.signature,Ti in s.result&&(this.certs=Array.from(s.result.certs,r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}};Un.CLASS_NAME="Signature";var Ul="tbsRequest",ca="optionalSignature",Cj=[Ul,ca],h6=class t extends q{constructor(e={}){super(),this.tbsRequest=y(e,Ul,t.defaultValues(Ul)),ca in e&&(this.optionalSignature=y(e,ca,t.defaultValues(ca))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ul:return new vr;case ca:return new Un;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ul:return vr.compareWithDefault("tbs",s.tbs)&&vr.compareWithDefault("version",s.version)&&vr.compareWithDefault("requestorName",s.requestorName)&&vr.compareWithDefault("requestList",s.requestList)&&vr.compareWithDefault("requestExtensions",s.requestExtensions);case ca:return Un.compareWithDefault("signatureAlgorithm",s.signatureAlgorithm)&&Un.compareWithDefault("signature",s.signature)&&Un.compareWithDefault("certs",s.certs);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPRequest",value:[vr.schema(s.tbsRequest||{names:{blockName:Ul}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Un.schema(s.optionalSignature||{names:{blockName:ca}})]})]})}fromSchema(e){W(e,Cj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsRequest=new vr({schema:s.result.tbsRequest}),ca in s.result&&(this.optionalSignature=new Un({schema:s.result.optionalSignature}));}toSchema(e=!1){let s=[];return s.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&s.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new T({value:s})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,s,r=Ve(!0)){let n=new Ns;await n.createForCertificate(e,s,r),this.tbsRequest.requestList.push(new Sf({reqCert:n}));}async sign(e,s="SHA-1",r=Ve(!0)){if(Qe.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,s),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new _e({valueHex:o});}verify(){}};h6.CLASS_NAME="OCSPRequest";var _l="responseType",Hl="response",Nj=[_l,Hl],pa=class t extends q{constructor(e={}){super(),this.responseType=y(e,_l,t.defaultValues(_l)),this.response=y(e,Hl,t.defaultValues(Hl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return b;case Hl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case _l:return s===b;case Hl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.responseType||b}),new z({name:s.response||b})]})}fromSchema(e){W(e,Nj);let s=K(e,e,t.schema({names:{responseType:_l,response:Hl}}));M.assertSchema(s,this.className),this.responseType=s.result.responseType.valueBlock.toString(),this.response=s.result.response;}toSchema(){return new T({value:[new ae({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};pa.CLASS_NAME="ResponseBytes";var Lu="responseStatus",En="responseBytes",d6=class t extends q{constructor(e={}){super(),this.responseStatus=y(e,Lu,t.defaultValues(Lu)),En in e&&(this.responseBytes=y(e,En,t.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return new Ur;case En:return new pa;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Lu:return s.isEqual(t.defaultValues(e));case En:return pa.compareWithDefault("responseType",s.responseType)&&pa.compareWithDefault("response",s.response);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPResponse",value:[new Ur({name:s.responseStatus||Lu}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[pa.schema(s.responseBytes||{names:{blockName:En}})]})]})}fromSchema(e){W(e,[Lu,En]);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.responseStatus=s.result.responseStatus,En in s.result&&(this.responseBytes=new pa({schema:s.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new T({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,s,r=Ve(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==ww)return i;try{let a=Ot(this.responseBytes.response.valueBlock.valueHexView);M.assert(a,"Basic OCSP response"),n=new Nc({schema:a.result});}catch{return i}return n.getCertificateStatus(e,s,r)}async sign(e,s,r=Ve(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===ww)return Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,s,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,s=Ve(!0)){var r;if(!(En in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===ww){let n=Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},s)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};d6.CLASS_NAME="OCSPResponse";var go="type",On="attributes",yw="encodedValue",Tj=[On],gs=class t extends q{constructor(e={}){super(),this.type=y(e,go,t.defaultValues(go)),this.attributes=y(e,On,t.defaultValues(On)),this.encodedValue=y(e,yw,t.defaultValues(yw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return -1;case On:return [];case yw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case go:return s===t.defaultValues(go);case On:return s.length===0;case yw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new L({name:s.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:s.tagNumber||0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,Tj);let s=K(e,e,t.schema({names:{tagNumber:this.type,attributes:On}}));M.assertSchema(s,this.className),this.type=s.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(s.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(On in s.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(s.result.attributes,n=>new xt({schema:n}));}toSchema(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new L({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};gs.CLASS_NAME="SignedAndUnsignedAttributes";var jl="version",hc="sid",Ml="digestAlgorithm",ua="signedAttrs",$l="signatureAlgorithm",tm="signature",la="unsignedAttrs",Sa="SignerInfo",m6=`${Sa}.${jl}`,sm=`${Sa}.${hc}`,p6=`${Sa}.${Ml}`,Rw=`${Sa}.${ua}`,g6=`${Sa}.${$l}`,y6=`${Sa}.${tm}`,Lw=`${Sa}.${la}`,kj=[m6,sm,p6,Rw,g6,y6,Lw],vf=class t extends q{constructor(e={}){super(),this.version=y(e,jl,t.defaultValues(jl)),this.sid=y(e,hc,t.defaultValues(hc)),this.digestAlgorithm=y(e,Ml,t.defaultValues(Ml)),ua in e&&(this.signedAttrs=y(e,ua,t.defaultValues(ua))),this.signatureAlgorithm=y(e,$l,t.defaultValues($l)),this.signature=y(e,tm,t.defaultValues(tm)),la in e&&(this.unsignedAttrs=y(e,la,t.defaultValues(la))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jl:return 0;case hc:return new be;case Ml:return new _;case ua:return new gs({type:0});case $l:return new _;case tm:return new z;case la:return new gs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case jl:return t.defaultValues(jl)===s;case hc:return s instanceof be;case Ml:return s instanceof _?s.isEqual(t.defaultValues(Ml)):!1;case ua:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);case $l:return s instanceof _?s.isEqual(t.defaultValues($l)):!1;case tm:case la:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:Sa,value:[new U({name:s.version||m6}),new ut({value:[qt.schema(s.sidSchema||{names:{blockName:sm}}),new ut({value:[new L({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new we({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0}})]})]}),_.schema(s.digestAlgorithm||{names:{blockName:p6}}),gs.schema(s.signedAttrs||{names:{blockName:Rw,tagNumber:0}}),_.schema(s.signatureAlgorithm||{names:{blockName:g6}}),new z({name:s.signature||y6}),gs.schema(s.unsignedAttrs||{names:{blockName:Lw,tagNumber:1}})]})}fromSchema(e){W(e,kj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[m6].valueBlock.valueDec;let r=s.result[sm];r.idBlock.tagClass===1?this.sid=new qt({schema:r}):this.sid=r,this.digestAlgorithm=new _({schema:s.result[p6]}),Rw in s.result&&(this.signedAttrs=new gs({type:0,schema:s.result[Rw]})),this.signatureAlgorithm=new _({schema:s.result[g6]}),this.signature=s.result[y6],Lw in s.result&&(this.unsignedAttrs=new gs({type:1,schema:s.result[Lw]}));}toSchema(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new U({value:this.version})),this.sid instanceof qt?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new T({value:e})}toJSON(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};vf.CLASS_NAME="SignerInfo";var rm="version",nm="policy",im="messageImprint",am="serialNumber",om="genTime",dc="ordering",mc="nonce",ql="accuracy",Fl="tsa",Kl="extensions",xr="TSTInfo",w6=`${xr}.${rm}`,b6=`${xr}.${nm}`,S6=`${xr}.${im}`,v6=`${xr}.${am}`,E6=`${xr}.${om}`,Dw=`${xr}.${ql}`,Vw=`${xr}.${dc}`,Uw=`${xr}.${mc}`,_w=`${xr}.${Fl}`,Hw=`${xr}.${Kl}`,Bj=[w6,b6,S6,v6,E6,Dw,Vw,Uw,_w,Hw],Eb=class t extends q{constructor(e={}){super(),this.version=y(e,rm,t.defaultValues(rm)),this.policy=y(e,nm,t.defaultValues(nm)),this.messageImprint=y(e,im,t.defaultValues(im)),this.serialNumber=y(e,am,t.defaultValues(am)),this.genTime=y(e,om,t.defaultValues(om)),ql in e&&(this.accuracy=y(e,ql,t.defaultValues(ql))),dc in e&&(this.ordering=y(e,dc,t.defaultValues(dc))),mc in e&&(this.nonce=y(e,mc,t.defaultValues(mc))),Fl in e&&(this.tsa=y(e,Fl,t.defaultValues(Fl))),Kl in e&&(this.extensions=y(e,Kl,t.defaultValues(Kl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rm:return 0;case nm:return b;case im:return new Ks;case am:return new U;case om:return new Date(0,0,0);case ql:return new Dn;case dc:return !1;case mc:return new U;case Fl:return new it;case Kl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case rm:case nm:case om:case dc:return s===t.defaultValues(dc);case im:return Ks.compareWithDefault(wc,s.hashAlgorithm)&&Ks.compareWithDefault(bc,s.hashedMessage);case am:case mc:return s.isEqual(t.defaultValues(mc));case ql:return Dn.compareWithDefault(ki,s.seconds)&&Dn.compareWithDefault(Bi,s.millis)&&Dn.compareWithDefault(Pi,s.micros);case Fl:return it.compareWithDefault(wd,s.type)&&it.compareWithDefault(bd,s.value);case Kl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xr,value:[new U({name:s.version||w6}),new ae({name:s.policy||b6}),Ks.schema(s.messageImprint||{names:{blockName:S6}}),new U({name:s.serialNumber||v6}),new ct({name:s.genTime||E6}),Dn.schema(s.accuracy||{names:{blockName:Dw}}),new Fs({name:s.ordering||Vw,optional:!0}),new U({name:s.nonce||Uw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[it.schema(s.tsa||{names:{blockName:_w}})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.extensions||Hw,value:Ds.schema(s.extension||{})})]})]})}fromSchema(e){W(e,Bj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[w6].valueBlock.valueDec,this.policy=s.result[b6].valueBlock.toString(),this.messageImprint=new Ks({schema:s.result[S6]}),this.serialNumber=s.result[v6],this.genTime=s.result[E6].toDate(),Dw in s.result&&(this.accuracy=new Dn({schema:s.result[Dw]})),Vw in s.result&&(this.ordering=s.result[Vw].valueBlock.value),Uw in s.result&&(this.nonce=s.result[Uw]),_w in s.result&&(this.tsa=new it({schema:s.result[_w]})),Hw in s.result&&(this.extensions=Array.from(s.result[Hw],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new ae({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new ct({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new Fs({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async verify(e,s=Ve(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=s.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await s.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};Eb.CLASS_NAME="TSTInfo";var Gl="version",cm="digestAlgorithms",um="encapContentInfo",Wl="certificates",Jl="crls",lm="signerInfos",gd="ocsps",Oc="SignedData",x6=`${Oc}.${Gl}`,jw=`${Oc}.${cm}`,A6=`${Oc}.${um}`,Mw=`${Oc}.${Wl}`,$w=`${Oc}.${Jl}`,qw=`${Oc}.${lm}`,Pj=[x6,jw,A6,Mw,$w,qw],zt=class extends Error{constructor({message:e,code:s=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=s,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},ba=class t extends q{constructor(e={}){super(),this.version=y(e,Gl,t.defaultValues(Gl)),this.digestAlgorithms=y(e,cm,t.defaultValues(cm)),this.encapContentInfo=y(e,um,t.defaultValues(um)),Wl in e&&(this.certificates=y(e,Wl,t.defaultValues(Wl))),Jl in e&&(this.crls=y(e,Jl,t.defaultValues(Jl))),gd in e&&(this.ocsps=y(e,gd,t.defaultValues(gd))),this.signerInfos=y(e,lm,t.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gl:return 0;case cm:return [];case um:return new Hn;case Wl:return [];case Jl:return [];case gd:return [];case lm:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Gl:return s===t.defaultValues(Gl);case um:return Hn.compareWithDefault("eContentType",s.eContentType)&&Hn.compareWithDefault("eContent",s.eContent);case cm:case Wl:case Jl:case gd:case lm:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return s.optional===void 0&&(s.optional=!1),new T({name:s.blockName||Oc,optional:s.optional,value:[new U({name:s.version||x6}),new bt({value:[new Ae({name:s.digestAlgorithms||jw,value:_.schema()})]}),Hn.schema(s.encapContentInfo||{names:{blockName:A6}}),new L({name:s.certificates||Mw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema(s.crls||{names:{crls:$w}}).valueBlock.value}),new bt({value:[new Ae({name:s.signerInfos||qw,value:vf.schema()})]})]})}fromSchema(e){W(e,Pj);let s=K(e,e,t.schema());if(M.assertSchema(s,this.className),this.version=s.result[x6].valueBlock.valueDec,jw in s.result&&(this.digestAlgorithms=Array.from(s.result[jw],r=>new _({schema:r}))),this.encapContentInfo=new Hn({schema:s.result[A6]}),Mw in s.result){let r=new $n({schema:new bt({value:s.result[Mw].valueBlock.value})});this.certificates=r.certificates.slice(0);}$w in s.result&&(this.crls=Array.from(s.result[$w],r=>r.idBlock.tagClass===1?new kc({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new Ec({schema:r})))),qw in s.result&&(this.signerInfos=Array.from(s.result[qw],r=>new vf({schema:r})));}toSchema(e=!1){let s=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof of)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof Ec)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Mr)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof hf)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==t.ID_DATA?this.version=3:this.version=1,s.push(new U({value:this.version})),s.push(new bt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),s.push(this.encapContentInfo.toSchema()),this.certificates){let n=new $n({certificates:this.certificates}).toSchema();s.push(new L({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&s.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof Ec){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),s.push(new bt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new T({value:s})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,s=>s.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,s=>s.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,s=>s.toJSON())),this.crls&&(e.crls=Array.from(this.crls,s=>s.toJSON())),e}async verify({signer:e=-1,data:s=kt,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Ve(!0)){let p=null,w=null;try{let E=kt,S=b,I=[],C=this.signerInfos[e];if(!C)throw new zt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new zt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof qt){for(let k of this.certificates)if(k instanceof is&&k.issuer.isEqual(C.sid.issuer)&&k.serialNumber.isEqual(C.sid.serialNumber)){p=k;break}}else {let k=C.sid,O=k.idBlock.isConstructed?k.valueBlock.value[0].valueBlock.valueHex:k.valueBlock.valueHex;for(let G of this.certificates){if(!(G instanceof is))continue;let re=await l.digest({name:"sha-1"},G.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(re,O)){p=G;break}}}if(!p)throw new zt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===U_){if(!this.encapContentInfo.eContent)throw new zt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});let k;try{k=Eb.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new zt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(n=k.genTime,w=k.serialNumber.valueBlock.valueHexView.slice().buffer,s.byteLength===0)throw new zt({date:n,code:4,message:"Missed detached data input array"});if(!await k.verify({data:s},l))throw new zt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(i){let k=this.certificates.filter(Q=>Q instanceof is&&!!yk(Q,p)),O={checkDate:n,certs:k,trustedCerts:r};u&&(O.findIssuer=u),c&&(O.findOrigin=c);let G=new Hm(O);if(G.certs.push(p),this.crls)for(let Q of this.crls)"thisUpdate"in Q?G.crls.push(Q):Q.otherRevInfoFormat===ww&&G.ocsps.push(new Nc({schema:Q.otherRevInfo}));this.ocsps&&G.ocsps.push(...this.ocsps);let re=await G.verify({passedWhenNotRevValues:a},l).catch(Q=>{throw new zt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${Q instanceof Object?Q.resultMessage:Q}`,signerCertificate:p,signerCertificateVerified:!1})});if(re.certificatePath&&(I=re.certificatePath),!re.result)throw new zt({date:n,code:5,message:`Validation of signer's certificate failed: ${re.resultMessage}`,signerCertificate:p,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new zt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:p,signerCertificateVerified:!0});S=D.name;let V=this.encapContentInfo.eContent;if(V)V.idBlock.tagClass===1&&V.idBlock.tagNumber===4?s=V.getValue():s=V.valueBlock.valueBeforeDecodeView.slice().buffer;else if(s.byteLength===0)throw new zt({date:n,code:8,message:"Missed detached data input array",signerCertificate:p,signerCertificateVerified:!0});if(C.signedAttrs){let k=!1,O=!1;for(let G of C.signedAttrs.attributes)if(G.type==="1.2.840.113549.1.9.3"&&(k=!0),G.type==="1.2.840.113549.1.9.4"&&(O=!0,E=G.values[0].valueBlock.valueHex),k&&O)break;if(k===!1)throw new zt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:p,signerCertificateVerified:!0});if(O===!1)throw new zt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:p,signerCertificateVerified:!0})}if(C.signedAttrs){let k=await l.digest(S,new Uint8Array(s));if(!wi(k,E))throw new zt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});s=C.signedAttrs.encodedValue;}let B=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm,S):await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:B,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0,certificatePath:I}:B}catch(E){throw E instanceof zt?E:new zt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,s,r="SHA-1",n=kt,i=Ve(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[s];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new _({algorithmId:c,algorithmParams:new wt})),o.digestAlgorithm=new _({algorithmId:c,algorithmParams:new wt});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let p=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:p});}};ba.CLASS_NAME="SignedData";ba.ID_DATA=D6;var pc="version",gc="authSafe",Rn="macData",yd="parsedValue",Oj=[pc,gc,Rn],I6=class t extends q{constructor(e={}){super(),this.version=y(e,pc,t.defaultValues(pc)),this.authSafe=y(e,gc,t.defaultValues(gc)),Rn in e&&(this.macData=y(e,Rn,t.defaultValues(Rn))),yd in e&&(this.parsedValue=y(e,yd,t.defaultValues(yd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pc:return 3;case gc:return new St;case Rn:return new jr;case yd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case pc:return s===t.defaultValues(e);case gc:return St.compareWithDefault("contentType",s.contentType)&&St.compareWithDefault("content",s.content);case Rn:return jr.compareWithDefault("mac",s.mac)&&jr.compareWithDefault("macSalt",s.macSalt)&&jr.compareWithDefault("iterations",s.iterations);case yd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||pc}),St.schema(s.authSafe||{names:{blockName:gc}}),jr.schema(s.macData||{names:{blockName:Rn,optional:!0}})]})}fromSchema(e){W(e,Oj);let s=K(e,e,t.schema({names:{version:pc,authSafe:{names:{blockName:gc}},macData:{names:{blockName:Rn}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.authSafe=new St({schema:s.result.authSafe}),Rn in s.result&&(this.macData=new jr({schema:s.result.macData}));}toSchema(){let e=[new U({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},s=Ve(!0)){if(nt.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Qe.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Qe.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Qe("iterations");Qe.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Qe.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Qe.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);s.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new St({contentType:St.DATA,content:new z({valueHex:i})});let a=await s.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new jr({mac:new _n({digestAlgorithm:new _({algorithmId:s.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Qe("signingCertificate");Qe.assertEmpty(e.privateKey,"privateKey"),Qe.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new ba({version:1,encapContentInfo:new Hn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await s.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new xt({type:"1.2.840.113549.1.9.3",values:[new ae({value:"1.2.840.113549.1.7.1"})]})),a.push(new xt({type:"1.2.840.113549.1.9.5",values:[new wn({valueDate:new Date})]})),a.push(new xt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new vf({version:1,sid:new qt({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new gs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,s),this.authSafe=new St({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,s=Ve(!0)){switch(nt.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case St.DATA:{Qe.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,nt.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=s.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await s.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:lf.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:lf.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case St.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new ba({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Qe.assert(n,"eContent","cmsSigned.encapContentInfo"),nt.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(i),!await r.verify({signer:0,checkChain:!1},s))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};I6.CLASS_NAME="PFX";var zl="status",fa="statusStrings",ha="failInfo",Rj=[zl,fa,ha],X4;(function(t){t[t.granted=0]="granted",t[t.grantedWithMods=1]="grantedWithMods",t[t.rejection=2]="rejection",t[t.waiting=3]="waiting",t[t.revocationWarning=4]="revocationWarning",t[t.revocationNotification=5]="revocationNotification";})(X4||(X4={}));var vc=class t extends q{constructor(e={}){super(),this.status=y(e,zl,t.defaultValues(zl)),fa in e&&(this.statusStrings=y(e,fa,t.defaultValues(fa))),ha in e&&(this.failInfo=y(e,ha,t.defaultValues(ha))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zl:return 2;case fa:return [];case ha:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case zl:return s===t.defaultValues(e);case fa:return s.length===0;case ha:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.status||b}),new T({optional:!0,value:[new Ae({name:s.statusStrings||b,value:new Rs})]}),new _e({name:s.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Rj);let s=K(e,e,t.schema({names:{status:zl,statusStrings:fa,failInfo:ha}}));M.assertSchema(s,this.className);let r=s.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,fa in s.result&&(this.statusStrings=s.result.statusStrings),ha in s.result&&(this.failInfo=s.result.failInfo);}toSchema(){let e=[];return e.push(new U({value:this.status})),this.statusStrings&&e.push(new T({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new T({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,s=>s.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};vc.CLASS_NAME="PKIStatusInfo";var fm="version",hm="messageImprint",Yl="reqPolicy",Zl="nonce",Ln="certReq",Xl="extensions",Rc="TimeStampReq",C6=`${Rc}.${fm}`,N6=`${Rc}.${hm}`,Fw=`${Rc}.${Yl}`,Kw=`${Rc}.${Zl}`,Gw=`${Rc}.${Ln}`,Ww=`${Rc}.${Xl}`,Lj=[C6,N6,Fw,Kw,Gw,Ww],T6=class t extends q{constructor(e={}){super(),this.version=y(e,fm,t.defaultValues(fm)),this.messageImprint=y(e,hm,t.defaultValues(hm)),Yl in e&&(this.reqPolicy=y(e,Yl,t.defaultValues(Yl))),Zl in e&&(this.nonce=y(e,Zl,t.defaultValues(Zl))),Ln in e&&(this.certReq=y(e,Ln,t.defaultValues(Ln))),Xl in e&&(this.extensions=y(e,Xl,t.defaultValues(Xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fm:return 0;case hm:return new Ks;case Yl:return b;case Zl:return new U;case Ln:return !1;case Xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case fm:case Yl:case Ln:return s===t.defaultValues(e);case hm:return Ks.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Ks.compareWithDefault("hashedMessage",s.hashedMessage);case Zl:return s.isEqual(t.defaultValues(e));case Xl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Rc,value:[new U({name:s.version||C6}),Ks.schema(s.messageImprint||{names:{blockName:N6}}),new ae({name:s.reqPolicy||Fw,optional:!0}),new U({name:s.nonce||Kw,optional:!0}),new Fs({name:s.certReq||Gw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.extensions||Ww,value:Ds.schema()})]})]})}fromSchema(e){W(e,Lj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[C6].valueBlock.valueDec,this.messageImprint=new Ks({schema:s.result[N6]}),Fw in s.result&&(this.reqPolicy=s.result[Fw].valueBlock.toString()),Kw in s.result&&(this.nonce=s.result[Kw]),Gw in s.result&&(this.certReq=s.result[Gw].valueBlock.value),Ww in s.result&&(this.extensions=Array.from(s.result[Ww],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ae({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),Ln in this&&t.compareWithDefault(Ln,this.certReq)===!1&&e.push(new Fs({value:this.certReq})),this.extensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&t.compareWithDefault(Ln,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}};T6.CLASS_NAME="TimeStampReq";var Ql="status",ef="timeStampToken",W6="TimeStampResp",k6=`${W6}.${Ql}`,Jw=`${W6}.${ef}`,Dj=[k6,Jw],B6=class t extends q{constructor(e={}){super(),this.status=y(e,Ql,t.defaultValues(Ql)),ef in e&&(this.timeStampToken=y(e,ef,t.defaultValues(ef))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ql:return new vc;case ef:return new St;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ql:return vc.compareWithDefault(Ql,s.status)&&!("statusStrings"in s)&&!("failInfo"in s);case ef:return s.contentType===b&&s.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||W6,value:[vc.schema(s.status||{names:{blockName:k6}}),St.schema(s.timeStampToken||{names:{blockName:Jw,optional:!0}})]})}fromSchema(e){W(e,Dj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.status=new vc({schema:s.result[k6]}),Jw in s.result&&(this.timeStampToken=new St({schema:s.result[Jw]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new T({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,s,r=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).sign(e,0,s,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:kt},s=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).verify(e,s)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==uk)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};B6.CLASS_NAME="TimeStampResp";function Vj(){if(typeof globalThis<"u"&&"crypto"in globalThis){let t="webcrypto";"webkitSubtle"in globalThis.crypto&&(t="safari"),V4(t,new ff({name:t,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let t="NodeJS ^15",e=crypto.webcrypto;V4(t,new ff({name:t,crypto:e}));}}Vj();d();h();d();h();d();h();d();h();var Y6=(t,e)=>e.some(s=>t instanceof s),bk,Sk;function Uj(){return bk||(bk=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function _j(){return Sk||(Sk=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Z6=new WeakMap,J6=new WeakMap,xb=new WeakMap;function Hj(t){let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("success",i),t.removeEventListener("error",a);},i=()=>{s(Lc(t.result)),n();},a=()=>{r(t.error),n();};t.addEventListener("success",i),t.addEventListener("error",a);});return xb.set(e,t),e}function jj(t){if(Z6.has(t))return;let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",a),t.removeEventListener("abort",a);},i=()=>{s(),n();},a=()=>{r(t.error||new DOMException("AbortError","AbortError")),n();};t.addEventListener("complete",i),t.addEventListener("error",a),t.addEventListener("abort",a);});Z6.set(t,e);}var X6={get(t,e,s){if(t instanceof IDBTransaction){if(e==="done")return Z6.get(t);if(e==="store")return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return Lc(t[e])},set(t,e,s){return t[e]=s,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Ak(t){X6=t(X6);}function Mj(t){return _j().includes(t)?function(...e){return t.apply(Q6(this),e),Lc(this.request)}:function(...e){return Lc(t.apply(Q6(this),e))}}function $j(t){return typeof t=="function"?Mj(t):(t instanceof IDBTransaction&&jj(t),Y6(t,Uj())?new Proxy(t,X6):t)}function Lc(t){if(t instanceof IDBRequest)return Hj(t);if(J6.has(t))return J6.get(t);let e=$j(t);return e!==t&&(J6.set(t,e),xb.set(e,t)),e}var Q6=t=>xb.get(t);function Ik(t,e,{blocked:s,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(t,e),o=Lc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Lc(a.result),c.oldVersion,c.newVersion,Lc(a.transaction),c);}),s&&a.addEventListener("blocked",c=>s(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var qj=["get","getKey","getAll","getAllKeys","count"],Fj=["put","add","delete","clear"],z6=new Map;function vk(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(z6.get(e))return z6.get(e);let s=e.replace(/FromIndex$/,""),r=e!==s,n=Fj.includes(s);if(!(s in(r?IDBIndex:IDBObjectStore).prototype)||!(n||qj.includes(s)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[s](...o),n&&c.done]))[0]};return z6.set(e,i),i}Ak(t=>({...t,get:(e,s,r)=>vk(e,s)||t.get(e,s,r),has:(e,s)=>!!vk(e,s)||t.has(e,s)}));var Kj=["continue","continuePrimaryKey","advance"],Ek={},e5=new WeakMap,Ck=new WeakMap,Gj={get(t,e){if(!Kj.includes(e))return t[e];let s=Ek[e];return s||(s=Ek[e]=function(...r){e5.set(this,Ck.get(this)[e](...r));}),s}};async function*Wj(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let s=new Proxy(e,Gj);for(Ck.set(s,e),xb.set(s,Q6(e));e;)yield s,e=await(e5.get(s)||e.continue()),e5.delete(s);}function xk(t,e){return e===Symbol.asyncIterator&&Y6(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&Y6(t,[IDBIndex,IDBObjectStore])}Ak(t=>({...t,get(e,s,r){return xk(e,s)?Wj:t.get(e,s,r)},has(e,s){return xk(e,s)||t.has(e,s)}}));function Nk(t,e){if(t===e)return !0;if(t===null||e===null||typeof t!="object"||typeof e!="object")return !1;let s=Object.keys(t),r=Object.keys(e);if(s.length!==r.length)return !1;for(let n of s)if(!r.includes(n)||!Nk(t[n],e[n]))return !1;return !0}var Ft=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,s,r,n=[]){this.dbName=e,this.storeName=s,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await Ik(this.dbName,e,{upgrade:(s,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(s,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let s=await this.openDB(),r=e[this.key],n=s.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?Nk(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let s=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,s&&this.notifyUpdate(e,"removed",s,void 0);}notifyUpdate(e,s,r,n){this.listeners.forEach(i=>i(e,s,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:s,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(s=>s!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var t5="auth-commitments",Mm=class extends Ft{constructor(e="sequence-auth-commitments"){super(e,t5,"id",[(s,r,n)=>{s.objectStoreNames.contains(t5)||s.createObjectStore(t5);}]);}};d();h();var s5="auth-keys",$m=class extends Ft{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,s5,"address",[(s,r,n)=>{s.objectStoreNames.contains(s5)||s.createObjectStore(s5).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let s of e)await this.scheduleExpiration(s);}async set(e){let s=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),s}async del(e){let s=await super.del(e.toLowerCase());return this.clearExpiration(e),s}async getBySigner(e,s=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(s<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,s+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${s}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let s=await this.getBySigner(e.toLowerCase());s&&await this.del(s.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let s=Date.now(),r=e.expiresAt.getTime()-s;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let s=this.expirationTimers.get(e.toLowerCase());s&&(window.clearTimeout(s),this.expirationTimers.delete(e.toLowerCase()));}};d();h();var r5="messages",qm=class extends Ft{constructor(e="sequence-messages"){super(e,r5,"id",[(s,r,n)=>{s.objectStoreNames.contains(r5)||s.createObjectStore(r5);}]);}};d();h();var n5="envelopes",Fm=class extends Ft{constructor(e="sequence-signature-requests"){super(e,n5,"id",[(s,r,n)=>{s.objectStoreNames.contains(n5)||s.createObjectStore(n5);}]);}};d();h();var i5="transactions",Km=class extends Ft{constructor(e="sequence-transactions"){super(e,i5,"id",[(s,r,n)=>{s.objectStoreNames.contains(i5)||s.createObjectStore(i5);}]);}};d();h();var a5="wallets",Gm=class extends Ft{constructor(e="sequence-manager"){super(e,a5,"address",[(s,r,n)=>{s.objectStoreNames.contains(a5)||s.createObjectStore(a5);}]);}};d();h();var o5="queued-recovery-payloads",Wm=class extends Ft{constructor(e="sequence-recovery"){super(e,o5,"id",[(s,r,n)=>{s.objectStoreNames.contains(o5)||s.createObjectStore(o5);}]);}};d();h();var c5="passkey-credentials",Jm=class extends Ft{constructor(e="sequence-passkey-credentials"){super(e,c5,"credentialId",[(s,r,n)=>{s.objectStoreNames.contains(c5)||s.createObjectStore(c5);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,s,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:s,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:s,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:s,walletAddress:r};await this.set(i);}}};d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();({verbose:!1,extensions:qe.Rc5,context:Za.Rc5,context4337:Za.Rc5_4337,guest:yt.DefaultGuestAddress,encryptedPksDb:new hr.Pk.Encrypted.EncryptedPksDb,managerDb:new Gm,signaturesDb:new Fm,transactionsDb:new Km,messagesDb:new qm,authCommitmentsDb:new Mm,recoveryDb:new Wm,authKeysDb:new $m,passkeyCredentialsDb:new Jm,dbPruningInterval:1e3*60*60*24,stateProvider:new wu.Sequence.Provider,networks:Ph.ALL,relayers:()=>typeof window<"u"?[Mh.LocalRelayer.createFromWindow(window)].filter(t=>t!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:yt.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var zm=class{#e;#s;#r=null;#t=null;constructor(e,s){this.#e=e,this.#s=s;}async#a(){let e=await this.#e.getUser();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let s=await this.#a();return s.profile.sub!==e.userIdentifier&&(e=await this.#n(s)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e.forceUserRefresh();let s=e||await this.#a();if(!s.idToken)throw new ht("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=s,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:P.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Oh(this.#s.identityInstrumentEndpoint,"@14:test"),p=new b1(i,a,r);await l.commitVerifier(eo.toIdentityAuthKey(u),p);let E=(await l.completeAuth(eo.toIdentityAuthKey(u),p)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:s.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(s){let r=`Identity Instrument: Failed to create signer: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,s,r){let n=await this.#i();return new eo.IdentitySigner(n.identityInstrument,n.authKey).sign(e,s,r)}async signMessage(e){let s=await this.#i(),r=new eo.IdentitySigner(s.identityInstrument,s.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(P.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();h();var Ym=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e.getUser();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let s=await this.#t();return s.profile.sub!==e.userIdentifier&&(e=await this.#i(s)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let s=e||await this.#t(),r=keccak256(toBytes(`${s.profile.sub}-sequence`)),n=new hr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:s.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(s){let r=`Failed to create private key wallet: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,s,r){return (await this.#a()).signer.sign(e,s,r)}async signMessage(e){let s=await this.#a(),r=privateKeyToAccount(s.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};var lM="https://auth.dev.immutable.com";function Rk(t,e,s={}){if(e.authenticationDomain===lM)return new Ym(t);if(!s.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new zm(t,{identityInstrumentEndpoint:s.identityInstrumentEndpoint})}function yM(t){return t in zn}function wM(t){if(t.magicPublishableApiKey&&t.magicProviderId)return {magicPublishableApiKey:t.magicPublishableApiKey,magicProviderId:t.magicProviderId};let{chainId:e}=t;if(yM(e))return zn[e];throw new Error(`No Magic configuration available for chain ${t.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var bM="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",SM="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",vM="openid profile email offline_access transact",EM="platform_api",xM="https://auth.immutable.com/im-logged-in",AM="https://auth.immutable.com",IM=/(sandbox|testnet)/i,CM=[13371,13473,15003];function NM(t){return CM.includes(t.chainId)}function TM(t){if(t.chainId===13473)return !0;let e=t.apiUrl||t.passportDomain||"";return IM.test(e)}function kM(t){if(t.passportDomain)return t.passportDomain;if(t.apiUrl)try{let e=new URL(t.apiUrl),s=e.hostname.replace("api.","passport.");return `${e.protocol}//${s}`}catch{return t.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function BM(){return AM}function PM(){return xM}function OM(t){return TM(t)?SM:bM}function RM(t,e){let s=kM(t),r=BM(),n=PM();return new Auth({clientId:OM(t),redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:vM,audience:EM,authenticationDomain:r,passportDomain:s,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled})}async function LM(t={}){let e=t.chains&&t.chains.length>0?t.chains:mp,s=t.initialChainId||e[0].chainId,r=e.find(S=>S.chainId===s);if(!r)throw new Error(`Initial chain ${s} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a=t.auth??RM(r,t);!t.auth&&typeof window<"u"&&window.addEventListener("message",async S=>{if(S.data.code&&S.data.state){let I=window.location.search,C=new URLSearchParams(I);C.set("code",S.data.code),C.set("state",S.data.state),window.history.replaceState(null,"",`?${C.toString()}`),await a.loginCallback(),C.delete("code"),C.delete("state"),window.history.replaceState(null,"",`?${C.toString()}`);}});let o=a.getConfig(),c=await a.getUser(),u=new _f({passportDomain:r.passportDomain||r.apiUrl.replace("api.","passport."),zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:t.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:t.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled,feeTokenSymbol:t.feeTokenSymbol}),l=t.passportEventEmitter||new TypedEventEmitter,p=new mr$1.GuardianApi(n),w=new Mc({config:u,auth:a,guardianApi:p,authConfig:o}),E;if(NM(r)){let S=wM(r),I=r.magicTeeBasePath||"https://tee.express.magiclabs.com",C=new MagicTeeApiClients({basePath:I,timeout:1e4,magicPublishableApiKey:S.magicPublishableApiKey,magicProviderId:S.magicProviderId}),D=new $c(a,C),V=null;r.chainId===13371?V="https://api.immutable.com":r.chainId===13473?V="https://api.sandbox.immutable.com":r.apiUrl&&(V=r.apiUrl),E=new Vf({auth:a,config:u,multiRollupApiClients:i,passportEventEmitter:l,guardianClient:w,ethSigner:D,user:c,sessionActivityApiUrl:V});}else {let S=Rk(a,o,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint});E=new Uf({auth:a,chainConfig:r,multiRollupApiClients:i,guardianClient:w,ethSigner:S,passportEventEmitter:l});}return t.announceProvider!==!1&&sS({info:tS,provider:E}),E}d();h();function _M(t){return typeof t=="object"&&t!==null&&"code"in t&&"message"in t}async function HM(t,e){let s=await t.getUser();if(!s?.profile.sub)return [];let r={Authorization:`Bearer ${s.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function jM(t,e,s){let r=trackFlow("wallet","linkExternalWallet");try{let n=await t.getUser();if(!n)throw new ht("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ht("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:s.type,wallet_address:s.walletAddress,signature:s.signature,nonce:s.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),Na(n)&&n.response){if(n.response.data&&_M(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ht(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ht(o,"WALLET_CONNECTION_ERROR");default:throw new ht(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ht(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ht(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
375
+ `)}`:`${s} :`}};JT=L;le.Constructed=JT;L.NAME="CONSTRUCTED";var by=class extends ps{fromBER(e,s,r){return s}toBER(e){return _r}};by.override="EndOfContentValueBlock";var zT,Sy=class extends rs{constructor(e={}){super(e,by),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};zT=Sy;le.EndOfContent=zT;Sy.NAME=Qh;var YT,wt=class extends rs{constructor(e={}){super(e,ps),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,s,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,s+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):s+r}toBER(e,s){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return s&&s.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};YT=wt;le.Null=YT;wt.NAME="NULL";var vy=class extends Sn(ps){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...s}={}){super(s),s.valueHex?this.valueHexView=Je.BufferSourceConverter.toUint8Array(s.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);return bn(this,n,s,r)?(this.valueHexView=n.subarray(s,s+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,cA.call(this),this.blockLength=r,s+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};vy.NAME="BooleanValueBlock";var ZT,qs=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,vy),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};ZT=qs;le.Boolean=ZT;qs.NAME="BOOLEAN";var Ey=class extends Sn(Vr){constructor({isConstructed:e=!1,...s}={}){super(s),this.isConstructed=e;}fromBER(e,s,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==qT)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,s,r),this.blockLength=r;return n}toBER(e,s){return this.isConstructed?Vr.prototype.toBER.call(this,e,s):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};Ey.NAME="OctetStringValueBlock";var fA,z=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},Ey),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,s,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),s;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(s,s+r);try{if(i.byteLength){let a=rd(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${s}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let s of this.valueBlock.value)s instanceof fA&&e.push(s.valueBlock.valueHexView);return Je.BufferSourceConverter.concat(e)}};fA=z;le.OctetString=fA;z.NAME=qT;var xy=class extends Sn(Vr){constructor({unusedBits:e=0,isConstructed:s=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=s,this.blockLength=this.valueHexView.byteLength;}fromBER(e,s,r){if(!r)return s;let n=-1;if(this.isConstructed){if(n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==GT)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,i,s,r))return -1;let a=i.subarray(s,s+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=rd(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,s+r}toBER(e,s){if(this.isConstructed)return Vr.prototype.toBER.call(this,e,s);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};xy.NAME="BitStringValueBlock";var XT,_e=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},xy),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,s,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);{let e=[],s=this.valueBlock.valueHexView;for(let a of s)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};XT=_e;le.BitString=XT;_e.NAME=GT;var QT;function VU(t,e){let s=new Uint8Array([0]),r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,p=0;for(let w=l;w>=0;w--,p++){switch(!0){case p<o.length:u=i[a-p]+o[c-p]+s[0];break;default:u=i[a-p]+s[0];}switch(s[0]=u/10,!0){case p>=i.length:i=hy(new Uint8Array([u%10]),i);break;default:i[a-p]=u%10;}}return s[0]>0&&(i=hy(s,i)),i}function FT(t){if(t>=Yh.length)for(let e=Yh.length;e<=t;e++){let s=new Uint8Array([0]),r=Yh[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+s[0]]);s[0]=i[0]/10,r[n]=i[0]%10;}s[0]>0&&(r=hy(s,r)),Yh.push(r);}return Yh[t]}function UU(t,e){let s=0,r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let p=c;p>=0;p--,l++)switch(u=i[a-l]-o[c-l]-s,!0){case u<0:s=1,i[a-l]=u+10;break;default:s=0,i[a-l]=u;}if(s>0)for(let p=a-c+1;p>=0;p--,l++)if(u=i[a-l]-s,u<0)s=1,i[a-l]=u+10;else {s=0,i[a-l]=u;break}return i.slice()}var ed=class extends Sn(ps){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=cA.call(this)));}constructor({value:e,...s}={}){super(s),this._valueDec=0,s.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(VT(e));}get valueDec(){return this._valueDec}fromDER(e,s,r,n=0){let i=this.fromBER(e,s,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let s=this.valueHexView;switch(!0){case(s[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(s,1),this.valueHexView=r;}break;case(s[0]===0&&(s[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,s,r){let n=super.fromBER(e,s,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,s=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:s=UU(FT(r),s),a="-";break;default:s=VU(s,FT(r));}r++,n>>=1;}}for(let c=0;c<s.length;c++)s[c]&&(o=!0),o&&(a+=MT.charAt(s[c]));return o===!1&&(a+=MT.charAt(0)),a}};QT=ed;ed.NAME="IntegerValueBlock";Object.defineProperty(QT.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Zh,U=class extends rs{constructor(e={}){super(e,ed),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return my(),BigInt(this.valueBlock.toString())}static fromBigInt(e){my();let s=BigInt(e),r=new Xh,n=s.toString(16).replace(/^-/,""),i=new Uint8Array(Je.Convert.FromHex(n));if(s<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${Je.Convert.ToHex(o)}`)+s,l=Je.BufferSourceConverter.toUint8Array(Je.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Zh({valueHex:r.final()})}convertToDER(){let e=new Zh({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Zh({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Zh=U;le.Integer=Zh;U.NAME="INTEGER";var e4,Ur=class extends U{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};e4=Ur;le.Enumerated=e4;Ur.NAME="ENUMERATED";var td=class extends Sn(ps){constructor({valueDec:e=-1,isFirstSid:s=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=s;}fromBER(e,s,r){if(!r)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}set valueBigInt(e){my();let s=BigInt(e).toString(2);for(;s.length%7;)s="0"+s;let r=new Uint8Array(s.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(s.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=Je.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let s=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",s-=40):(e="2.",s-=80),e+=s.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};td.NAME="sidBlock";var Ay=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new td;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let s=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,_r;s.push(n);}return lA(s)}fromString(e){this.value=[];let s=0,r=0,n="",i=!1;do if(r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new td;if(n>Number.MAX_SAFE_INTEGER){my();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Ay.NAME="ObjectIdentifierValueBlock";var t4,ae=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Ay),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};t4=ae;le.ObjectIdentifier=t4;ae.NAME="OBJECT IDENTIFIER";var sd=class extends Sn(gn){constructor({valueDec:e=0,...s}={}){super(s),this.valueDec=e;}fromBER(e,s,r){if(r===0)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=Je.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};sd.NAME="relativeSidBlock";var Iy=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new sd;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,s){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,_r;r.push(i);}return lA(r)}fromString(e){this.value=[];let s=0,r=0,n="";do{r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1;let i=new sd;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Iy.NAME="RelativeObjectIdentifierValueBlock";var s4,Cy=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Iy),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};s4=Cy;le.RelativeObjectIdentifier=s4;Cy.NAME="RelativeObjectIdentifier";var r4,T=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};r4=T;le.Sequence=r4;T.NAME="SEQUENCE";var n4,bt=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};n4=bt;le.Set=n4;bt.NAME="SET";var Ny=class extends Sn(ps){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Os;}toJSON(){return {...super.toJSON(),value:this.value}}};Ny.NAME="StringValueBlock";var Ty=class extends Ny{};Ty.NAME="SimpleStringValueBlock";var Cs=class extends yy{constructor({...e}={}){super(e,Ty);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Cs.NAME="SIMPLE STRING";var ky=class extends Cs{fromBuffer(e){this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=Je.Convert.ToUtf8String(e);}catch(s){this.warnings.push(`Error during "decodeURIComponent": ${s}, using raw string`),this.valueBlock.value=Je.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};ky.NAME="Utf8StringValueBlock";var i4,Rs=class extends ky{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};i4=Rs;le.Utf8String=i4;Rs.NAME="UTF8String";var By=class extends Cs{fromBuffer(e){this.valueBlock.value=Je.Convert.ToUtf16String(e),this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf16String(e));}};By.NAME="BmpStringValueBlock";var a4,bi=class extends By{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};a4=bi;le.BmpString=a4;bi.NAME="BMPString";var Py=class extends Cs{fromBuffer(e){let s=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(s);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(s));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s*4);for(let n=0;n<s;n++){let i=pr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};Py.NAME="UniversalStringValueBlock";var o4,Si=class extends Py{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};o4=Si;le.UniversalString=o4;Si.NAME="UniversalString";var c4,yn=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};c4=yn;le.NumericString=c4;yn.NAME="NumericString";var u4,Ls=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};u4=Ls;le.PrintableString=u4;Ls.NAME="PrintableString";var l4,vi=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};l4=vi;le.TeletexString=l4;vi.NAME="TeletexString";var f4,Au=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};f4=Au;le.VideotexString=f4;Au.NAME="VideotexString";var h4,co=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};h4=co;le.IA5String=h4;co.NAME="IA5String";var d4,Iu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};d4=Iu;le.GraphicString=d4;Iu.NAME="GraphicString";var m4,uo=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};m4=uo;le.VisibleString=m4;uo.NAME="VisibleString";var p4,Cu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};p4=Cu;le.GeneralString=p4;Cu.NAME="GeneralString";var g4,Nu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};g4=Nu;le.CharacterString=g4;Nu.NAME="CharacterString";var y4,wn=class extends uo{constructor({value:e,valueDate:s,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}s&&(this.fromDate(s),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),s=new ArrayBuffer(e.length),r=new Uint8Array(s);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return s}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let s=new Array(7);return s[0]=Ps(this.year<2e3?this.year-1900:this.year-2e3,2),s[1]=Ps(this.month,2),s[2]=Ps(this.day,2),s[3]=Ps(this.hour,2),s[4]=Ps(this.minute,2),s[5]=Ps(this.second,2),s[6]="Z",s.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};y4=wn;le.UTCTime=y4;wn.NAME="UTCTime";var w4,ct=class extends wn{constructor(e={}){var s;super(e),(s=this.millisecond)!==null&&s!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let s=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),s=!0;else {let p=new Number(e[e.length-1]);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(s){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let p=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),p=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let v=parseInt(E.substring(0,2),10);if(isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");if(o=p*v,E.length===4){if(v=parseInt(E.substring(2,4),10),isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");c=p*v;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let p=new Number(`0${r.substring(u)}`);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");i=p.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.minute=Math.floor(p),p=60*(p-this.minute),this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=1e3*i;this.millisecond=Math.floor(p);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let p=1;p<l.length;p++)switch(p){case 1:this.year=parseInt(l[p],10);break;case 2:this.month=parseInt(l[p],10);break;case 3:this.day=parseInt(l[p],10);break;case 4:this.hour=parseInt(l[p],10)+o;break;case 5:this.minute=parseInt(l[p],10)+c;break;case 6:this.second=parseInt(l[p],10);break;default:throw new Error("Wrong input string for conversion")}if(s===!1){let p=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=p.getUTCFullYear(),this.month=p.getUTCMonth(),this.day=p.getUTCDay(),this.hour=p.getUTCHours(),this.minute=p.getUTCMinutes(),this.second=p.getUTCSeconds(),this.millisecond=p.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let s=[];return s.push(Ps(this.year,4)),s.push(Ps(this.month,2)),s.push(Ps(this.day,2)),s.push(Ps(this.hour,2)),s.push(Ps(this.minute,2)),s.push(Ps(this.second,2)),this.millisecond!==0&&(s.push("."),s.push(Ps(this.millisecond,3))),s.push("Z"),s.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};w4=ct;le.GeneralizedTime=w4;ct.NAME="GeneralizedTime";var b4,Oy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};b4=Oy;le.DATE=b4;Oy.NAME="DATE";var S4,Ry=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};S4=Ry;le.TimeOfDay=S4;Ry.NAME="TimeOfDay";var v4,Ly=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};v4=Ly;le.DateTime=v4;Ly.NAME="DateTime";var E4,Dy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};E4=Dy;le.Duration=E4;Dy.NAME="Duration";var x4,Vy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};x4=Vy;le.TIME=x4;Vy.NAME="TIME";var be=class{constructor({name:e=Os,optional:s=!1}={}){this.name=e,this.optional=s;}},ut=class extends be{constructor({value:e=[],...s}={}){super(s),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:s=!1,...r}={}){super(r),this.value=e,this.local=s;}},lo=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}constructor({data:e=Uy}={}){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}fromBER(e,s,r){let n=s+r;return this.dataView=Je.BufferSourceConverter.toUint8Array(e).subarray(s,n),n}toBER(e){return this.dataView.slice().buffer}};function G(t,e,s){if(s instanceof ut){for(let i of s.value)if(G(t,e,i).verified)return {verified:!0,result:t};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return s.hasOwnProperty(uA)&&(i.name=s.name),i}}if(s instanceof be)return s.hasOwnProperty(uA)&&(t[s.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(NU in s))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(PU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(OU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=s.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(s.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(s.idBlock.hasOwnProperty(TU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(kU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(BU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:t};if(!(CU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:t};if(s.idBlock.isHexOnly){if(!($T in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=s.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:t};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:t}}if(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(t[s.name]=e)),s instanceof le.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=s.valueBlock.value.length;if(o>0&&s.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:t};if(e.valueBlock.value.length===0&&s.valueBlock.value.length!==0){let c=!0;for(let u=0;u<s.valueBlock.value.length;u++)c=c&&(s.valueBlock.value[u].optional||!1);return c?{verified:!0,result:t}:(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(s.valueBlock.value[c].optional===!1){let u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],u.name=s.name)),u}}else if(s.valueBlock.value[0]instanceof Ae){if(a=G(t,e.valueBlock.value[c],s.valueBlock.value[0].value),a.verified===!1)if(s.valueBlock.value[0].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(uA in s.valueBlock.value[0]&&s.valueBlock.value[0].name.length>0){let u={};RU in s.valueBlock.value[0]&&s.valueBlock.value[0].local?u=e:u=t,typeof u[s.valueBlock.value[0].name]>"u"&&(u[s.valueBlock.value[0].name]=[]),u[s.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=G(t,e.valueBlock.value[c-i],s.valueBlock.value[c]),a.verified===!1)if(s.valueBlock.value[c].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(a.verified===!1){let c={verified:!1,result:t};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],c.name=s.name)),c}return {verified:!0,result:t}}if(s.primitiveSchema&&$T in e.valueBlock){let i=rd(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],a.name=s.name)),a}return G(t,i.result,s.primitiveSchema)}return {verified:!0,result:t}}var Se=Ib(ly()),lf=Ib(ly());d();h();d();h();var ns=class t{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let s=0;s<this._view.length;s++)this._view[s]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let s=e.length;this.length=s;for(let r=0;r<s;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let s=e.length;this.buffer=new ArrayBuffer(s>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<s;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,s=this.length-e){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,e+s)})}slice(e=0,s=this.length){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,s)})}realloc(e){let s=new ArrayBuffer(e),r=new Uint8Array(s);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=s,this._view=new Uint8Array(this._buffer);}append(e){let s=this.length,r=e.length,n=e._view.subarray();this.realloc(s+r),this._view.set(n,s);}insert(e,s=0,r=this.length-s){return s>this.length-1?!1:(r>this.length-s&&(r=this.length-s),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,s):this._view.set(e._view.subarray(0,r),s),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e.view[s])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e[s])return !1;return !0}findPattern(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let p=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){p=!1;break}if(p)return o?i-c-l:i+c+l}return -1}findFirstIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let p=!1,w=e[u].length;o?l-w>=c.position-c.length&&(p=!0):l-w<=c.position-c.length&&(p=!0),p&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,p=n+u;for(let w=0;w<o;w++)if(this.view[w+p]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new t},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new t({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new t({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new t};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new t};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new t({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={position:n,value:new t};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,s,r,n){let i=[];if(e.isEqual(s))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(s,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((p,w)=>p.left-w.left),i}findPairedArrays(e,s,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(s,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((p,w)=>p.left.position-w.left.position),o}replacePattern(e,s,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,v=>v.position));let p=e.length-s.length,w=new ArrayBuffer(this.view.length-a.length*p),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let v=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,v,a[o].position-e.length-v),v-o*p),E.set(s.view,a[o].position-e.length-o*p),c.replacePatternPositions.push(a[o].position-e.length-o*p);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+s.length-o*p),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,p=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+p]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let p=e[l].length,w=o?i-u-p:i+u,E=!0;for(let v=0;v<p;v++)if(this.view[v+w]!=e[l].view[v]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,s=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(s===null&&(s=e),s>e&&(s=e)):(s===null&&(s=this.length-e),s>this.length-e&&(s=this.length-e)),{start:e,length:s,backward:r}}};d();h();var HU=16777216,vn=class t{constructor(e={}){this._stream=new ns,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new ns({view:e.view}):"buffer"in e?this.stream=new ns({buffer:e.buffer}):"string"in e?this.stream=new ns({string:e.string}):"hexstring"in e?this.stream=new ns({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new ns,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-s)return -1}else if(r>this.start+e.length+s)return -1;return this.start=r,r}findFirstIn(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-s)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+s)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,s,this.length)}findFirstNotIn(e,s=null){(s==null||s>this._length)&&(s=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let s=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,s,this._length)}findFirstSequence(e,s=null,r=null){(s==null||s>this._length)&&(s=this._length),(r==null||r>s)&&(r=s);let n=this._stream.findFirstSequence(e,this._start,s,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new ns}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new ns};return this.start=n.position,n}findAllSequences(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,s,this.length)}findPairedPatterns(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-s.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-s[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,s){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,s,r,this.length)}skipPatterns(e){let s=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=s,s}skipNotPatterns(e){let s=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return s==-1?-1:(this.start=s,s)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let s=new Uint16Array([e]),r=new Uint8Array(s.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let s=new Int16Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let s=new Int32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,s=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return s&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let s=this.getBlock(2,e);return s.length<2?0:s[0]<<8|s[1]}getInt16(e=!0){let s=this.getUint16(e),r=32768;return s&r?-(r-(s^r)):s}getUint24(e=!0){let s=this.getBlock(4,e);return s.length<3?0:s[0]<<16|s[1]<<8|s[2]}getUint32(e=!0){let s=this.getBlock(4,e);return s.length<4?0:s[0]*HU+(s[1]<<16)+(s[2]<<8)+s[3]}getInt32(e=!0){let s=this.getUint32(e),r=2147483648;return s&r?-(r-(s^r)):s}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+t.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};vn.APPEND_BLOCK=1e3;d();h();d();h();d();h();d();h();d();h();d();h();d();h();function MU(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function hA(t,...e){if(!MU(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}function dA(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function A4(t,e){hA(t);let s=e.outputLen;if(t.length<s)throw new Error(`digestInto() expects output buffer of length at least ${s}`)}d();h();var Hy=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),gr=(t,e)=>t<<32-e|t>>>e,jy=(t,e)=>t<<e|t>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function $U(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function mA(t){return typeof t=="string"&&(t=$U(t)),hA(t),t}var _y=class{clone(){return this._cloneInto()}};function fo(t){let e=r=>t().update(mA(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function FU(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}var My=(t,e,s)=>t&e^~t&s,$y=(t,e,s)=>t&e^t&s^e&s,Ei=class extends _y{constructor(e,s,r,n){super(),this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Hy(this.buffer);}update(e){dA(this);let{view:s,buffer:r,blockLen:n}=this;e=mA(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Hy(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){dA(this),A4(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;FU(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Hy(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%s&&e.buffer.set(r),e}};var nd=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),xi=new Uint32Array(80),pA=class extends Ei{constructor(){super(64,20,8,!1),this.A=nd[0]|0,this.B=nd[1]|0,this.C=nd[2]|0,this.D=nd[3]|0,this.E=nd[4]|0;}get(){let{A:e,B:s,C:r,D:n,E:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,s){for(let c=0;c<16;c++,s+=4)xi[c]=e.getUint32(s,!1);for(let c=16;c<80;c++)xi[c]=jy(xi[c-3]^xi[c-8]^xi[c-14]^xi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=My(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=$y(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let p=jy(r,5)+u+o+l+xi[c]|0;o=a,a=i,i=jy(n,30),n=r,r=p;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){xi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},I4=fo(()=>new pA);d();h();d();h();var qU=new Uint32Array([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]),Ai=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ii=new Uint32Array(64),gA=class extends Ei{constructor(){super(64,32,8,!1),this.A=Ai[0]|0,this.B=Ai[1]|0,this.C=Ai[2]|0,this.D=Ai[3]|0,this.E=Ai[4]|0,this.F=Ai[5]|0,this.G=Ai[6]|0,this.H=Ai[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)Ii[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=Ii[p-15],E=Ii[p-2],v=gr(w,7)^gr(w,18)^w>>>3,I=gr(E,17)^gr(E,19)^E>>>10;Ii[p]=I+Ii[p-7]+v+Ii[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=gr(o,6)^gr(o,11)^gr(o,25),E=l+w+My(o,c,u)+qU[p]+Ii[p]|0,I=(gr(r,2)^gr(r,13)^gr(r,22))+$y(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){Ii.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var yA=fo(()=>new gA);d();h();d();h();var Fy=BigInt(4294967295),wA=BigInt(32);function C4(t,e=!1){return e?{h:Number(t&Fy),l:Number(t>>wA&Fy)}:{h:Number(t>>wA&Fy)|0,l:Number(t&Fy)|0}}function GU(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let n=0;n<t.length;n++){let{h:i,l:a}=C4(t[n],e);[s[n],r[n]]=[i,a];}return [s,r]}var KU=(t,e)=>BigInt(t>>>0)<<wA|BigInt(e>>>0),WU=(t,e,s)=>t>>>s,JU=(t,e,s)=>t<<32-s|e>>>s,zU=(t,e,s)=>t>>>s|e<<32-s,YU=(t,e,s)=>t<<32-s|e>>>s,ZU=(t,e,s)=>t<<64-s|e>>>s-32,XU=(t,e,s)=>t>>>s-32|e<<64-s,QU=(t,e)=>e,e_=(t,e)=>t,t_=(t,e,s)=>t<<s|e>>>32-s,s_=(t,e,s)=>e<<s|t>>>32-s,r_=(t,e,s)=>e<<s-32|t>>>64-s,n_=(t,e,s)=>t<<s-32|e>>>64-s;function i_(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var a_=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),o_=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,c_=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),u_=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,l_=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),f_=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var h_={fromBig:C4,split:GU,toBig:KU,shrSH:WU,shrSL:JU,rotrSH:zU,rotrSL:YU,rotrBH:ZU,rotrBL:XU,rotr32H:QU,rotr32L:e_,rotlSH:t_,rotlSL:s_,rotlBH:r_,rotlBL:n_,add:i_,add3L:a_,add3H:o_,add4L:c_,add4H:u_,add5H:f_,add5L:l_},$e=h_;var[d_,m_]=$e.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Ci=new Uint32Array(80),Ni=new Uint32Array(80),qy=class extends Ei{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209;}get(){let{Ah:e,Al:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:v,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,v,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,v,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)Ci[B]=e.getUint32(s),Ni[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=Ci[B-15]|0,O=Ni[B-15]|0,K=$e.rotrSH(k,O,1)^$e.rotrSH(k,O,8)^$e.shrSH(k,O,7),re=$e.rotrSL(k,O,1)^$e.rotrSL(k,O,8)^$e.shrSL(k,O,7),Q=Ci[B-2]|0,oe=Ni[B-2]|0,pe=$e.rotrSH(Q,oe,19)^$e.rotrBH(Q,oe,61)^$e.shrSH(Q,oe,6),se=$e.rotrSL(Q,oe,19)^$e.rotrBL(Q,oe,61)^$e.shrSL(Q,oe,6),ce=$e.add4L(re,se,Ni[B-7],Ni[B-16]),ye=$e.add4H(ce,K,pe,Ci[B-7],Ci[B-16]);Ci[B]=ye|0,Ni[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:v,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=$e.rotrSH(p,w,14)^$e.rotrSH(p,w,18)^$e.rotrBH(p,w,41),O=$e.rotrSL(p,w,14)^$e.rotrSL(p,w,18)^$e.rotrBL(p,w,41),K=p&E^~p&I,re=w&v^~w&C,Q=$e.add5L(V,O,re,m_[B],Ni[B]),oe=$e.add5H(Q,D,k,K,d_[B],Ci[B]),pe=Q|0,se=$e.rotrSH(r,n,28)^$e.rotrBH(r,n,34)^$e.rotrBH(r,n,39),ce=$e.rotrSL(r,n,28)^$e.rotrBL(r,n,34)^$e.rotrBL(r,n,39),ye=r&i^r&o^i&o,Ge=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=v|0,E=p|0,v=w|0,{h:p,l:w}=$e.add(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=$e.add3L(pe,ce,Ge);r=$e.add3H(J,oe,se,ye),n=J|0;}(({h:r,l:n}=$e.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=$e.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=$e.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=$e.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=$e.add(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:v}=$e.add(this.Fh|0,this.Fl|0,E|0,v|0),{h:I,l:C}=$e.add(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=$e.add(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,v,I,C,D,V);}roundClean(){Ci.fill(0),Ni.fill(0);}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}};var bA=class extends qy{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},SA=fo(()=>new qy);var vA=fo(()=>new bA);var kt=new ArrayBuffer(0),b="",nt=class t extends TypeError{constructor(){super(...arguments),this.name=t.NAME;}static isType(e,s){if(typeof s=="string"){if(s==="Array"&&Array.isArray(e))return !0;if(s==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(s==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===s)return !0}else if(e instanceof s)return !0;return !1}static assert(e,s,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new t(`Parameter '${s}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};nt.NAME="ArgumentError";var Qe=class t extends TypeError{static assert(...e){let s=null,r,n;typeof e[0]=="string"?(s=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),nt.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new t(i,s)}}static assertEmpty(e,s,r){if(e==null)throw new t(s,r)}constructor(e,s=null,r){super(),this.name=t.NAME,this.field=e,s&&(this.target=s),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${s?` in '${s}'`:b}`;}};Qe.NAME="ParameterError";var M=class t extends Error{static assertSchema(e,s){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${s}`)}static assert(e,s){if(e.offset===-1)throw new t(`Error during parsing of ASN.1 data. Data is not correct for '${s}'.`)}constructor(e){super(e),this.name="AsnError";}},F=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let s=Ot(e);M.assert(s,this.name);try{return new this({schema:s.result})}catch{throw new M(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let s;try{s=this.toSchema();}catch{s=this.toSchema(!0);}return Se.Convert.ToString(s.toBER(),e)}};F.CLASS_NAME="PkiObject";function da(t){let e=!1,s=b,r=t.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(s+=" ",e=!1),s+=r[n]);return s.toLowerCase()}var id="type",EA="value",mm=class t extends F{constructor(e={}){super(),this.type=y(e,id,t.defaultValues(id)),this.value=y(e,EA,t.defaultValues(EA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case id:return b;case EA:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new be({name:s.value||b})]})}fromSchema(e){W(e,[id,"typeValue"]);let s=G(e,e,t.schema({names:{type:id,value:"typeValue"}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.value=s.result.typeValue;}toSchema(){return new T({value:[new ae({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let s=[Rs.blockName(),bi.blockName(),Si.blockName(),yn.blockName(),Ls.blockName(),vi.blockName(),Au.blockName(),co.blockName(),Iu.blockName(),uo.blockName(),Cu.blockName(),Nu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===t.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of s)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=da(this.value.valueBlock.value),o=da(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};mm.CLASS_NAME="AttributeTypeAndValue";var ho="typesAndValues",Gy="valueBeforeDecode",N4="RDN",lt=class t extends F{constructor(e={}){super(),this.typesAndValues=y(e,ho,t.defaultValues(ho)),this.valueBeforeDecode=y(e,Gy,t.defaultValues(Gy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return [];case Gy:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ho:return s.length===0;case Gy:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.repeatedSequence||b,value:new bt({value:[new Ae({name:s.repeatedSet||b,value:mm.schema(s.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[N4,ho]);let s=G(e,e,t.schema({names:{blockName:N4,repeatedSet:ho}}));M.assertSchema(s,this.className),ho in s.result&&(this.typesAndValues=Array.from(s.result.typesAndValues,r=>new mm({schema:r}))),this.valueBeforeDecode=s.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new T({value:[new bt({value:Array.from(this.typesAndValues,s=>s.toSchema())})]});let e=Ot(this.valueBeforeDecode);if(M.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof t){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[s,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[s])===!1)return !1;return !0}return e instanceof ArrayBuffer?wi(this.valueBeforeDecode,e):!1}};lt.CLASS_NAME="RelativeDistinguishedNames";var wd="type",bd="value";function p_(t={},e=!1){let s=y(t,"names",{});return new T({optional:e,value:[new L({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:s.country_name||b,value:[new ut({value:[new yn,new Ls]})]}),new L({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:s.administration_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:s.network_address||b,isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:s.terminal_identifier||b,isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:s.private_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:s.organization_name||b,isHexOnly:!0}),new we({optional:!0,name:s.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new L({optional:!0,name:s.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new we({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new L({optional:!0,name:s.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ls})]})]})}function g_(t=!1){return new T({optional:t,value:[new Ls,new Ls]})}function y_(t=!1){return new bt({optional:t,value:[new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var it=class t extends F{constructor(e={}){super(),this.type=y(e,wd,t.defaultValues(wd)),this.value=y(e,bd,t.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return 9;case bd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wd:return s===t.defaultValues(e);case bd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[new L({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b,value:[new ae,new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new L({idBlock:{tagClass:3,tagNumber:3},name:s.blockName||b,value:[p_(s.builtInStandardAttributes||{},!1),g_(!0),y_(!0)]}),new L({idBlock:{tagClass:3,tagNumber:4},name:s.blockName||b,value:[lt.schema(s.directoryName||{})]}),new L({idBlock:{tagClass:3,tagNumber:5},name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let s=G(e,e,t.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(M.assertSchema(s,this.className),this.type=s.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=s.result.blockName;break;case 1:case 2:case 6:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=s.result.blockName;break;case 4:this.value=new lt({schema:s.result.directoryName});break;case 5:this.value=s.result.ediPartyName;break;case 7:this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex});break;case 8:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new L({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new co({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new L({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ae({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return t.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};it.CLASS_NAME="GeneralName";var Sd="accessMethod",vd="accessLocation",w_=[Sd,vd],pm=class t extends F{constructor(e={}){super(),this.accessMethod=y(e,Sd,t.defaultValues(Sd)),this.accessLocation=y(e,vd,t.defaultValues(vd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return b;case vd:return new it;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.accessMethod||b}),it.schema(s.accessLocation||{})]})}fromSchema(e){W(e,w_);let s=G(e,e,t.schema({names:{accessMethod:Sd,accessLocation:{names:{blockName:vd}}}}));M.assertSchema(s,this.className),this.accessMethod=s.result.accessMethod.valueBlock.toString(),this.accessLocation=new it({schema:s.result.accessLocation});}toSchema(){return new T({value:[new ae({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};pm.CLASS_NAME="AccessDescription";var ki="seconds",Bi="millis",Pi="micros",Dn=class t extends F{constructor(e={}){super(),ki in e&&(this.seconds=y(e,ki,t.defaultValues(ki))),Bi in e&&(this.millis=y(e,Bi,t.defaultValues(Bi))),Pi in e&&(this.micros=y(e,Pi,t.defaultValues(Pi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ki:case Bi:case Pi:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ki:case Bi:case Pi:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:!0,value:[new U({optional:!0,name:s.seconds||b}),new we({name:s.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[ki,Bi,Pi]);let s=G(e,e,t.schema({names:{seconds:ki,millis:Bi,micros:Pi}}));if(M.assertSchema(s,this.className),"seconds"in s.result&&(this.seconds=s.result.seconds.valueBlock.valueDec),"millis"in s.result){let r=new U({valueHex:s.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in s.result){let r=new U({valueHex:s.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new U({value:this.seconds})),this.millis!==void 0){let s=new U({value:this.millis});e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:s.valueBlock.valueHexView}));}if(this.micros!==void 0){let s=new U({value:this.micros});e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:s.valueBlock.valueHexView}));}return new T({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Dn.CLASS_NAME="Accuracy";var Ky="algorithmId",ad="algorithmParams",X4="algorithm",ZA="params",b_=[X4,ZA],_=class t extends F{constructor(e={}){super(),this.algorithmId=y(e,Ky,t.defaultValues(Ky)),ad in e&&(this.algorithmParams=y(e,ad,t.defaultValues(ad))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ky:return b;case ad:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ky:return s===b;case ad:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!1,value:[new ae({name:s.algorithmIdentifier||b}),new be({name:s.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,b_);let s=G(e,e,t.schema({names:{algorithmIdentifier:X4,algorithmParams:ZA}}));M.assertSchema(s,this.className),this.algorithmId=s.result.algorithm.valueBlock.toString(),ZA in s.result&&(this.algorithmParams=s.result.params);}toSchema(){let e=[];return e.push(new ae({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new T({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof t)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};_.CLASS_NAME="AlgorithmIdentifier";var Du="altNames",S_=[Du],gm=class t extends F{constructor(e={}){super(),this.altNames=y(e,Du,t.defaultValues(Du)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.altNames||b,value:it.schema()})]})}fromSchema(e){W(e,S_);let s=G(e,e,t.schema({names:{altNames:Du}}));M.assertSchema(s,this.className),Du in s.result&&(this.altNames=Array.from(s.result.altNames,r=>new it({schema:r})));}toSchema(){return new T({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};gm.CLASS_NAME="AltName";var Vu="type",Uu="values",v_=[Vu,Uu],xt=class t extends F{constructor(e={}){super(),this.type=y(e,Vu,t.defaultValues(Vu)),this.values=y(e,Uu,t.defaultValues(Uu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return b;case Uu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Vu:return s===b;case Uu:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new bt({name:s.setName||b,value:[new Ae({name:s.values||b,value:new be})]})]})}fromSchema(e){W(e,v_);let s=G(e,e,t.schema({names:{type:Vu,values:Uu}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.values=s.result.values;}toSchema(){return new T({value:[new ae({value:this.type}),new bt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};xt.CLASS_NAME="Attribute";var Ed="notBeforeTime",xd="notAfterTime",E_=[Ed,xd],jn=class t extends F{constructor(e={}){super(),this.notBeforeTime=y(e,Ed,t.defaultValues(Ed)),this.notAfterTime=y(e,xd,t.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:case xd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ct({name:s.notBeforeTime||b}),new ct({name:s.notAfterTime||b})]})}fromSchema(e){W(e,E_);let s=G(e,e,t.schema({names:{notBeforeTime:Ed,notAfterTime:xd}}));M.assertSchema(s,this.className),this.notBeforeTime=s.result.notBeforeTime.toDate(),this.notAfterTime=s.result.notAfterTime.toDate();}toSchema(){return new T({value:[new ct({valueDate:this.notBeforeTime}),new ct({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};jn.CLASS_NAME="AttCertValidityPeriod";var od="names",T4="generalNames",Mt=class t extends F{constructor(e={}){super(),this.names=y(e,od,t.defaultValues(od)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,od,{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:it.schema()})]})}fromSchema(e){W(e,[od,T4]);let s=G(e,e,t.schema({names:{blockName:od,generalNames:T4}}));M.assertSchema(s,this.className),this.names=Array.from(s.result.generalNames,r=>new it({schema:r}));}toSchema(){return new T({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Mt.CLASS_NAME="GeneralNames";var x_="2.5.29.9",A_="2.5.29.14",I_="2.5.29.15",C_="2.5.29.16",Q4="2.5.29.17",ek="2.5.29.18",B6="2.5.29.19",N_="2.5.29.20",T_="2.5.29.27",k_="2.5.29.21",B_="2.5.29.24",tk="2.5.29.28",sk="2.5.29.29",rk="2.5.29.30",nk="2.5.29.31",P6="2.5.29.46",ik="2.5.29.32",Ys="2.5.29.32.0",P_="1.3.6.1.4.1.311.21.10",ak="2.5.29.33",O6="2.5.29.35",ok="2.5.29.36",O_="2.5.29.37",R_="2.5.29.54",R6="1.3.6.1.5.5.7.1.1",L_="1.3.6.1.5.5.7.1.11",D_="1.3.6.1.4.1.11129.2.4.2";var V_="1.3.6.1.4.1.311.21.7",U_="1.3.6.1.4.1.311.21.1",__="1.3.6.1.5.5.7.1.3",L6="1.2.840.113549.1.7.1",ck="1.2.840.113549.1.7.2",uk="1.2.840.113549.1.7.3",lk="1.2.840.113549.1.7.6",H_="1.2.840.113549.1.9.16.1.4",k4="1.2.840.113549.1.9.22.1",j_="1.2.840.113549.1.9.22.2",B4="1.2.840.113549.1.9.22.3",P4="1.2.840.113549.1.9.23.1",M_="1.3.6.1.5.5.7",D6=`${M_}.48`,yw=`${D6}.1.1`;var yo="keyIdentifier",wo="authorityCertIssuer",bo="authorityCertSerialNumber",$_=[yo,wo,bo],ym=class t extends F{constructor(e={}){super(),yo in e&&(this.keyIdentifier=y(e,yo,t.defaultValues(yo))),wo in e&&(this.authorityCertIssuer=y(e,wo,t.defaultValues(wo))),bo in e&&(this.authorityCertSerialNumber=y(e,bo,t.defaultValues(bo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yo:return new z;case wo:return [];case bo:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.authorityCertIssuer||b,value:it.schema()})]}),new we({name:s.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,$_);let s=G(e,e,t.schema({names:{keyIdentifier:yo,authorityCertIssuer:wo,authorityCertSerialNumber:bo}}));M.assertSchema(s,this.className),yo in s.result&&(this.keyIdentifier=new z({valueHex:s.result.keyIdentifier.valueBlock.valueHex})),wo in s.result&&(this.authorityCertIssuer=Array.from(s.result.authorityCertIssuer,r=>new it({schema:r}))),bo in s.result&&(this.authorityCertSerialNumber=new U({valueHex:s.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,s=>s.toSchema())})),this.authorityCertSerialNumber&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,s=>s.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};ym.CLASS_NAME="AuthorityKeyIdentifier";var mo="pathLenConstraint",po="cA",wm=class t extends F{constructor(e={}){super(),this.cA=y(e,po,!1),mo in e&&(this.pathLenConstraint=y(e,mo,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case po:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new qs({optional:!0,name:s.cA||b}),new U({optional:!0,name:s.pathLenConstraint||b})]})}fromSchema(e){W(e,[po,mo]);let s=G(e,e,t.schema({names:{cA:po,pathLenConstraint:mo}}));M.assertSchema(s,this.className),po in s.result&&(this.cA=s.result.cA.valueBlock.value),mo in s.result&&(s.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=s.result.pathLenConstraint:this.pathLenConstraint=s.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==t.defaultValues(po)&&e.push(new qs({value:this.cA})),mo in this&&(this.pathLenConstraint instanceof U?e.push(this.pathLenConstraint):e.push(new U({value:this.pathLenConstraint}))),new T({value:e})}toJSON(){let e={};return this.cA!==t.defaultValues(po)&&(e.cA=this.cA),mo in this&&(this.pathLenConstraint instanceof U?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};wm.CLASS_NAME="BasicConstraints";var xA="certificateIndex",AA="keyIndex",Jw=class t extends F{constructor(e={}){super(),this.certificateIndex=y(e,xA,t.defaultValues(xA)),this.keyIndex=y(e,AA,t.defaultValues(AA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xA:case AA:return 0;default:return super.defaultValues(e)}}static schema(){return new U}fromSchema(e){if(e.constructor.blockName()!==U.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let s=e.valueBlock.valueHex.slice(0),r=new Uint8Array(s);switch(!0){case s.byteLength<4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r,4-s.byteLength),s=p.slice(0);}break;case s.byteLength>4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r.slice(0,4)),s=p.slice(0);}break}let n=s.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=s.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),s=new Uint16Array(e);s[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new U({valueHex:ao(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};Jw.CLASS_NAME="CAVersion";var Ad="policyQualifierId",Id="qualifier",F_=[Ad,Id],bm=class t extends F{constructor(e={}){super(),this.policyQualifierId=y(e,Ad,t.defaultValues(Ad)),this.qualifier=y(e,Id,t.defaultValues(Id)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return b;case Id:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyQualifierId||b}),new be({name:s.qualifier||b})]})}fromSchema(e){W(e,F_);let s=G(e,e,t.schema({names:{policyQualifierId:Ad,qualifier:Id}}));M.assertSchema(s,this.className),this.policyQualifierId=s.result.policyQualifierId.valueBlock.toString(),this.qualifier=s.result.qualifier;}toSchema(){return new T({value:[new ae({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};bm.CLASS_NAME="PolicyQualifierInfo";var Cd="policyIdentifier",So="policyQualifiers",q_=[Cd,So],Sm=class t extends F{constructor(e={}){super(),this.policyIdentifier=y(e,Cd,t.defaultValues(Cd)),So in e&&(this.policyQualifiers=y(e,So,t.defaultValues(So))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cd:return b;case So:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyIdentifier||b}),new T({optional:!0,value:[new Ae({name:s.policyQualifiers||b,value:bm.schema()})]})]})}fromSchema(e){W(e,q_);let s=G(e,e,t.schema({names:{policyIdentifier:Cd,policyQualifiers:So}}));M.assertSchema(s,this.className),this.policyIdentifier=s.result.policyIdentifier.valueBlock.toString(),So in s.result&&(this.policyQualifiers=Array.from(s.result.policyQualifiers,r=>new bm({schema:r})));}toSchema(){let e=[];return e.push(new ae({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new T({value:Array.from(this.policyQualifiers,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,s=>s.toJSON())),e}};Sm.CLASS_NAME="PolicyInformation";var Nd="certificatePolicies",G_=[Nd],vm=class t extends F{constructor(e={}){super(),this.certificatePolicies=y(e,Nd,t.defaultValues(Nd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.certificatePolicies||b,value:Sm.schema()})]})}fromSchema(e){W(e,G_);let s=G(e,e,t.schema({names:{certificatePolicies:Nd}}));M.assertSchema(s,this.className),this.certificatePolicies=Array.from(s.result.certificatePolicies,r=>new Sm({schema:r}));}toSchema(){return new T({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};vm.CLASS_NAME="CertificatePolicies";var Td="templateID",xn="templateMajorVersion",An="templateMinorVersion",K_=[Td,xn,An],XA=class t extends F{constructor(e={}){super(),this.templateID=y(e,Td,t.defaultValues(Td)),xn in e&&(this.templateMajorVersion=y(e,xn,t.defaultValues(xn))),An in e&&(this.templateMinorVersion=y(e,An,t.defaultValues(An))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Td:return b;case xn:case An:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.templateID||b}),new U({name:s.templateMajorVersion||b,optional:!0}),new U({name:s.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,K_);let s=G(e,e,t.schema({names:{templateID:Td,templateMajorVersion:xn,templateMinorVersion:An}}));M.assertSchema(s,this.className),this.templateID=s.result.templateID.valueBlock.toString(),xn in s.result&&(this.templateMajorVersion=s.result.templateMajorVersion.valueBlock.valueDec),An in s.result&&(this.templateMinorVersion=s.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ae({value:this.templateID})),xn in this&&e.push(new U({value:this.templateMajorVersion})),An in this&&e.push(new U({value:this.templateMinorVersion})),new T({value:e})}toJSON(){let e={templateID:this.templateID};return xn in this&&(e.templateMajorVersion=this.templateMajorVersion),An in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},vo="distributionPoint",fk="distributionPointNames",Eo="reasons",xo="cRLIssuer",hk="cRLIssuerNames",W_=[vo,fk,Eo,xo,hk],Em=class t extends F{constructor(e={}){super(),vo in e&&(this.distributionPoint=y(e,vo,t.defaultValues(vo))),Eo in e&&(this.reasons=y(e,Eo,t.defaultValues(Eo))),xo in e&&(this.cRLIssuer=y(e,xo,t.defaultValues(xo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vo:return [];case Eo:return new _e;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new L({name:s.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:s.cRLIssuerNames||b,value:it.schema()})]})]})}fromSchema(e){W(e,W_);let s=G(e,e,t.schema({names:{distributionPoint:vo,distributionPointNames:fk,reasons:Eo,cRLIssuer:xo,cRLIssuerNames:hk}}));M.assertSchema(s,this.className),vo in s.result&&(s.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}))),s.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})}))),Eo in s.result&&(this.reasons=new _e({valueHex:s.result.reasons.valueBlock.valueHex})),xo in s.result&&(this.cRLIssuer=Array.from(s.result.cRLIssuerNames,r=>new it({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):s=new L({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}return this.reasons&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,s=>s.toJSON())),e}};Em.CLASS_NAME="DistributionPoint";var kd="distributionPoints",J_=[kd],xm=class t extends F{constructor(e={}){super(),this.distributionPoints=y(e,kd,t.defaultValues(kd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case kd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.distributionPoints||b,value:Em.schema()})]})}fromSchema(e){W(e,J_);let s=G(e,e,t.schema({names:{distributionPoints:kd}}));M.assertSchema(s,this.className),this.distributionPoints=Array.from(s.result.distributionPoints,r=>new Em({schema:r}));}toSchema(){return new T({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};xm.CLASS_NAME="CRLDistributionPoints";var Bd="keyPurposes",z_=[Bd],zw=class t extends F{constructor(e={}){super(),this.keyPurposes=y(e,Bd,t.defaultValues(Bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.keyPurposes||b,value:new ae})]})}fromSchema(e){W(e,z_);let s=G(e,e,t.schema({names:{keyPurposes:Bd}}));M.assertSchema(s,this.className),this.keyPurposes=Array.from(s.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new T({value:Array.from(this.keyPurposes,e=>new ae({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};zw.CLASS_NAME="ExtKeyUsage";var cd="accessDescriptions",Am=class t extends F{constructor(e={}){super(),this.accessDescriptions=y(e,cd,t.defaultValues(cd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.accessDescriptions||b,value:pm.schema()})]})}fromSchema(e){W(e,[cd]);let s=G(e,e,t.schema({names:{accessDescriptions:cd}}));M.assertSchema(s,this.className),this.accessDescriptions=Array.from(s.result.accessDescriptions,r=>new pm({schema:r}));}toSchema(){return new T({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};Am.CLASS_NAME="InfoAccess";var Ao="distributionPoint",dk="distributionPointNames",Oi="onlyContainsUserCerts",Ri="onlyContainsCACerts",Li="onlySomeReasons",Di="indirectCRL",Vi="onlyContainsAttributeCerts",Y_=[Ao,dk,Oi,Ri,Li,Di,Vi],Yw=class t extends F{constructor(e={}){super(),Ao in e&&(this.distributionPoint=y(e,Ao,t.defaultValues(Ao))),this.onlyContainsUserCerts=y(e,Oi,t.defaultValues(Oi)),this.onlyContainsCACerts=y(e,Ri,t.defaultValues(Ri)),Li in e&&(this.onlySomeReasons=y(e,Li,t.defaultValues(Li))),this.indirectCRL=y(e,Di,t.defaultValues(Di)),this.onlyContainsAttributeCerts=y(e,Vi,t.defaultValues(Vi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ao:return [];case Oi:return !1;case Ri:return !1;case Li:return 0;case Di:return !1;case Vi:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new we({name:s.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new we({name:s.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new we({name:s.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,Y_);let s=G(e,e,t.schema({names:{distributionPoint:Ao,distributionPointNames:dk,onlyContainsUserCerts:Oi,onlyContainsCACerts:Ri,onlySomeReasons:Li,indirectCRL:Di,onlyContainsAttributeCerts:Vi}}));if(M.assertSchema(s,this.className),Ao in s.result)switch(!0){case s.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}));break;case s.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Oi in s.result){let r=new Uint8Array(s.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ri in s.result){let r=new Uint8Array(s.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(Li in s.result){let r=new Uint8Array(s.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Di in s.result){let r=new Uint8Array(s.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Vi in s.result){let r=new Uint8Array(s.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(s=this.distributionPoint.toSchema(),s.idBlock.tagClass=3,s.idBlock.tagNumber=1),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(this.onlyContainsUserCerts!==t.defaultValues(Oi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==t.defaultValues(Ri)&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let s=new ArrayBuffer(1),r=new Uint8Array(s);r[0]=this.onlySomeReasons,e.push(new we({idBlock:{tagClass:3,tagNumber:3},valueHex:s}));}return this.indirectCRL!==t.defaultValues(Di)&&e.push(new we({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==t.defaultValues(Oi)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==t.defaultValues(Ri)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),Li in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==t.defaultValues(Di)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};Yw.CLASS_NAME="IssuingDistributionPoint";var Pd="base",_u="minimum",Ui="maximum",Z_=[Pd,_u,Ui],Sc=class t extends F{constructor(e={}){super(),this.base=y(e,Pd,t.defaultValues(Pd)),this.minimum=y(e,_u,t.defaultValues(_u)),Ui in e&&(this.maximum=y(e,Ui,t.defaultValues(Ui))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new it;case _u:return 0;case Ui:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[it.schema(s.base||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.minimum||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new U({name:s.maximum||b})]})]})}fromSchema(e){W(e,Z_);let s=G(e,e,t.schema({names:{base:{names:{blockName:Pd}},minimum:_u,maximum:Ui}}));M.assertSchema(s,this.className),this.base=new it({schema:s.result.base}),_u in s.result&&(s.result.minimum.valueBlock.isHexOnly?this.minimum=s.result.minimum:this.minimum=s.result.minimum.valueBlock.valueDec),Ui in s.result&&(s.result.maximum.valueBlock.isHexOnly?this.maximum=s.result.maximum:this.maximum=s.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let s=0;this.minimum instanceof U?s=this.minimum:s=new U({value:this.minimum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(Ui in this){let s=0;this.maximum instanceof U?s=this.maximum:s=new U({value:this.maximum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[s]}));}return new T({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};Sc.CLASS_NAME="GeneralSubtree";var Io="permittedSubtrees",Co="excludedSubtrees",X_=[Io,Co],Zw=class t extends F{constructor(e={}){super(),Io in e&&(this.permittedSubtrees=y(e,Io,t.defaultValues(Io))),Co in e&&(this.excludedSubtrees=y(e,Co,t.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Io:case Co:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.permittedSubtrees||b,value:Sc.schema()})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.excludedSubtrees||b,value:Sc.schema()})]})]})}fromSchema(e){W(e,X_);let s=G(e,e,t.schema({names:{permittedSubtrees:Io,excludedSubtrees:Co}}));M.assertSchema(s,this.className),Io in s.result&&(this.permittedSubtrees=Array.from(s.result.permittedSubtrees,r=>new Sc({schema:r}))),Co in s.result&&(this.excludedSubtrees=Array.from(s.result.excludedSubtrees,r=>new Sc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,s=>s.toSchema())})),this.excludedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,s=>s.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,s=>s.toJSON())),e}};Zw.CLASS_NAME="NameConstraints";var In="requireExplicitPolicy",Cn="inhibitPolicyMapping",Q_=[In,Cn],Xw=class t extends F{constructor(e={}){super(),In in e&&(this.requireExplicitPolicy=y(e,In,t.defaultValues(In))),Cn in e&&(this.inhibitPolicyMapping=y(e,Cn,t.defaultValues(Cn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case In:return 0;case Cn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,Q_);let s=G(e,e,t.schema({names:{requireExplicitPolicy:In,inhibitPolicyMapping:Cn}}));if(M.assertSchema(s,this.className),In in s.result){let r=s.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Cn in s.result){let r=s.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(In in this){let s=new U({value:this.requireExplicitPolicy});s.idBlock.tagClass=3,s.idBlock.tagNumber=0,e.push(s);}if(Cn in this){let s=new U({value:this.inhibitPolicyMapping});s.idBlock.tagClass=3,s.idBlock.tagNumber=1,e.push(s);}return new T({value:e})}toJSON(){let e={};return In in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Cn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};Xw.CLASS_NAME="PolicyConstraints";var Od="issuerDomainPolicy",Rd="subjectDomainPolicy",eH=[Od,Rd],Im=class t extends F{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Od,t.defaultValues(Od)),this.subjectDomainPolicy=y(e,Rd,t.defaultValues(Rd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return b;case Rd:return b;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.issuerDomainPolicy||b}),new ae({name:s.subjectDomainPolicy||b})]})}fromSchema(e){W(e,eH);let s=G(e,e,t.schema({names:{issuerDomainPolicy:Od,subjectDomainPolicy:Rd}}));M.assertSchema(s,this.className),this.issuerDomainPolicy=s.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=s.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new T({value:[new ae({value:this.issuerDomainPolicy}),new ae({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};Im.CLASS_NAME="PolicyMapping";var Ld="mappings",tH=[Ld],Qw=class t extends F{constructor(e={}){super(),this.mappings=y(e,Ld,t.defaultValues(Ld)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ld:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.mappings||b,value:Im.schema()})]})}fromSchema(e){W(e,tH);let s=G(e,e,t.schema({names:{mappings:Ld}}));M.assertSchema(s,this.className),this.mappings=Array.from(s.result.mappings,r=>new Im({schema:r}));}toSchema(){return new T({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};Qw.CLASS_NAME="PolicyMappings";var _i="notBefore",Hi="notAfter",sH=[_i,Hi],eb=class t extends F{constructor(e={}){super(),_i in e&&(this.notBefore=y(e,_i,t.defaultValues(_i))),Hi in e&&(this.notAfter=y(e,Hi,t.defaultValues(Hi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _i:return new Date;case Hi:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,sH);let s=G(e,e,t.schema({names:{notBefore:_i,notAfter:Hi}}));if(M.assertSchema(s,this.className),_i in s.result){let r=new ct;r.fromBuffer(s.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Hi in s.result){let r=new ct({valueHex:s.result.notAfter.valueBlock.valueHex});r.fromBuffer(s.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return _i in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:new ct({valueDate:this.notBefore}).valueBlock.valueHexView})),Hi in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new ct({valueDate:this.notAfter}).valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};eb.CLASS_NAME="PrivateKeyUsagePeriod";var Hu="id",Nn="type",ju="values",rH=[Hu,Nn],nH=[ju],Cm=class t extends F{constructor(e={}){super(),this.id=y(e,Hu,t.defaultValues(Hu)),Nn in e&&(this.type=y(e,Nn,t.defaultValues(Nn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return b;case Nn:return new wt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Hu:return s===b;case Nn:return s instanceof wt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||b}),new be({name:s.type||b,optional:!0})]})}fromSchema(e){W(e,rH);let s=G(e,e,t.schema({names:{id:Hu,type:Nn}}));M.assertSchema(s,this.className),this.id=s.result.id.valueBlock.toString(),Nn in s.result&&(this.type=s.result.type);}toSchema(){let e=[new ae({value:this.id})];return Nn in this&&e.push(this.type),new T({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};Cm.CLASS_NAME="QCStatement";var tb=class t extends F{constructor(e={}){super(),this.values=y(e,ju,t.defaultValues(ju)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ju:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ju:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.values||b,value:Cm.schema(s.value||{})})]})}fromSchema(e){W(e,nH);let s=G(e,e,t.schema({names:{values:ju}}));M.assertSchema(s,this.className),this.values=Array.from(s.result.values,r=>new Cm({schema:r}));}toSchema(){return new T({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};tb.CLASS_NAME="QCStatements";var No,$r=class{static register(e,s,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[s]={name:e,id:s,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};No=$r;$r.namedCurves={};No.register("P-256","1.2.840.10045.3.1.7",32),No.register("P-384","1.3.132.0.34",48),No.register("P-521","1.3.132.0.35",66),No.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),No.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),No.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Wy="x",Jy="y",zy="namedCurve",Er=class t extends F{constructor(e={}){super(),this.x=y(e,Wy,t.defaultValues(Wy)),this.y=y(e,Jy,t.defaultValues(Jy)),this.namedCurve=y(e,zy,t.defaultValues(zy)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:case Jy:return kt;case zy:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wy:case Jy:return s instanceof ArrayBuffer&&wi(s,t.defaultValues(e));case zy:return typeof s=="string"&&s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new lo}fromSchema(e){let s=lf.BufferSourceConverter.toUint8Array(e);if(s[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=$r.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(s.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=s.slice(1,n+1).buffer,this.y=s.slice(1+n,n*2+1).buffer;}toSchema(){return new lo({data:ao(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=$r.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:dy(zh(this.x),!0,!0,!1),y:dy(zh(this.y),!0,!0,!1)}}fromJSON(e){Qe.assert("json",e,"crv","x","y");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=oo(xu(e.x,!0));if(n.byteLength<s){this.x=new ArrayBuffer(s);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,s);let i=oo(xu(e.y,!0));if(i.byteLength<s){this.y=new ArrayBuffer(s);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,s);}};Er.CLASS_NAME="ECPublicKey";var Dd="modulus",Vd="publicExponent",iH=[Dd,Vd],Nm=class t extends F{constructor(e={}){super(),this.modulus=y(e,Dd,t.defaultValues(Dd)),this.publicExponent=y(e,Vd,t.defaultValues(Vd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dd:return new U;case Vd:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.modulus||b}),new U({name:s.publicExponent||b})]})}fromSchema(e){W(e,iH);let s=G(e,e,t.schema({names:{modulus:Dd,publicExponent:Vd}}));M.assertSchema(s,this.className),this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent;}toSchema(){return new T({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"n","e");let s=oo(xu(e.n,!0));this.modulus=new U({valueHex:s.slice(0,Math.pow(2,HT(s.byteLength)))}),this.publicExponent=new U({valueHex:oo(xu(e.e,!0)).slice(0,3)});}};Nm.CLASS_NAME="RSAPublicKey";var Ud="algorithm",_d="subjectPublicKey",aH=[Ud,_d],Ks=class t extends F{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ae.blockName())try{this._parsedKey=new Er({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=Ot(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new Nm({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Ud,t.defaultValues(Ud)),this.subjectPublicKey=y(e,_d,t.defaultValues(_d));let s=y(e,"parsedKey",null);s&&(this.parsedKey=s),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ud:return new _;case _d:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.subjectPublicKey||b})]})}fromSchema(e){W(e,aH);let s=G(e,e,t.schema({names:{algorithm:{names:{blockName:Ud}},subjectPublicKey:_d}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.subjectPublicKey=s.result.subjectPublicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Er({json:e}),this.algorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new Nm({json:e}),this.algorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new _e({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,s=Ve(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await s.exportKey("spki",e),n=Ot(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};Ks.CLASS_NAME="PublicKeyInfo";var Mu="version",$u="privateKey",yr="namedCurve",ji="publicKey",oH=[Mu,$u,yr,ji],Tm=class t extends F{constructor(e={}){super(),this.version=y(e,Mu,t.defaultValues(Mu)),this.privateKey=y(e,$u,t.defaultValues($u)),yr in e&&(this.namedCurve=y(e,yr,t.defaultValues(yr))),ji in e&&(this.publicKey=y(e,ji,t.defaultValues(ji))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return 1;case $u:return new z;case yr:return b;case ji:return new Er;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Mu:return s===t.defaultValues(e);case $u:return s.isEqual(t.defaultValues(e));case yr:return s===b;case ji:return Er.compareWithDefault(yr,s.namedCurve)&&Er.compareWithDefault("x",s.x)&&Er.compareWithDefault("y",s.y);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ae({name:s.namedCurve||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new _e({name:s.publicKey||b})]})]})}fromSchema(e){W(e,oH);let s=G(e,e,t.schema({names:{version:Mu,privateKey:$u,namedCurve:yr,publicKey:ji}}));if(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKey=s.result.privateKey,yr in s.result&&(this.namedCurve=s.result.namedCurve.valueBlock.toString()),ji in s.result){let r={schema:s.result.publicKey.valueBlock.valueHex};yr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new Er(r);}}toSchema(){let e=[new U({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ae({value:this.namedCurve})]})),this.publicKey&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new _e({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new T({value:e})}toJSON(){if(!this.namedCurve||t.compareWithDefault(yr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=$r.find(this.namedCurve),s={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();s.x=r.x,s.y=r.y;}return s}fromJSON(e){Qe.assert("json",e,"crv","d");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<s){let i=new ArrayBuffer(s),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,s)});e.x&&e.y&&(this.publicKey=new Er({json:e}));}};Tm.CLASS_NAME="ECPrivateKey";var Hd="prime",jd="exponent",Md="coefficient",cH=[Hd,jd,Md],tf=class t extends F{constructor(e={}){super(),this.prime=y(e,Hd,t.defaultValues(Hd)),this.exponent=y(e,jd,t.defaultValues(jd)),this.coefficient=y(e,Md,t.defaultValues(Md)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hd:return new U;case jd:return new U;case Md:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.prime||b}),new U({name:s.exponent||b}),new U({name:s.coefficient||b})]})}fromSchema(e){W(e,cH);let s=G(e,e,t.schema({names:{prime:Hd,exponent:jd,coefficient:Md}}));M.assertSchema(s,this.className),this.prime=s.result.prime.convertFromDER(),this.exponent=s.result.exponent.convertFromDER(),this.coefficient=s.result.coefficient.convertFromDER();}toSchema(){return new T({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"r","d","r"),this.prime=new U({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.t)});}};tf.CLASS_NAME="OtherPrimeInfo";var $d="version",Fd="modulus",qd="publicExponent",Gd="privateExponent",Kd="prime1",Wd="prime2",Jd="exponent1",zd="exponent2",Yd="coefficient",To="otherPrimeInfos",uH=[$d,Fd,qd,Gd,Kd,Wd,Jd,zd,Yd,To],km=class t extends F{constructor(e={}){super(),this.version=y(e,$d,t.defaultValues($d)),this.modulus=y(e,Fd,t.defaultValues(Fd)),this.publicExponent=y(e,qd,t.defaultValues(qd)),this.privateExponent=y(e,Gd,t.defaultValues(Gd)),this.prime1=y(e,Kd,t.defaultValues(Kd)),this.prime2=y(e,Wd,t.defaultValues(Wd)),this.exponent1=y(e,Jd,t.defaultValues(Jd)),this.exponent2=y(e,zd,t.defaultValues(zd)),this.coefficient=y(e,Yd,t.defaultValues(Yd)),To in e&&(this.otherPrimeInfos=y(e,To,t.defaultValues(To))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $d:return 0;case Fd:return new U;case qd:return new U;case Gd:return new U;case Kd:return new U;case Wd:return new U;case Jd:return new U;case zd:return new U;case Yd:return new U;case To:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new U({name:s.modulus||b}),new U({name:s.publicExponent||b}),new U({name:s.privateExponent||b}),new U({name:s.prime1||b}),new U({name:s.prime2||b}),new U({name:s.exponent1||b}),new U({name:s.exponent2||b}),new U({name:s.coefficient||b}),new T({optional:!0,value:[new Ae({name:s.otherPrimeInfosName||b,value:tf.schema(s.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,uH);let s=G(e,e,t.schema({names:{version:$d,modulus:Fd,publicExponent:qd,privateExponent:Gd,prime1:Kd,prime2:Wd,exponent1:Jd,exponent2:zd,coefficient:Yd,otherPrimeInfo:{names:{blockName:To}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent,this.privateExponent=s.result.privateExponent.convertFromDER(256),this.prime1=s.result.prime1.convertFromDER(128),this.prime2=s.result.prime2.convertFromDER(128),this.exponent1=s.result.exponent1.convertFromDER(128),this.exponent2=s.result.exponent2.convertFromDER(128),this.coefficient=s.result.coefficient.convertFromDER(128),To in s.result&&(this.otherPrimeInfos=Array.from(s.result.otherPrimeInfos,r=>new tf({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new T({value:Array.from(this.otherPrimeInfos,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,s=>s.toJSON())),e}fromJSON(e){Qe.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new U({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new U({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new U({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new U({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new U({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new U({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,s=>new tf({json:s})));}};km.CLASS_NAME="RSAPrivateKey";var Zd="version",Xd="privateKeyAlgorithm",Qd="privateKey",ko="attributes",Yy="parsedKey",lH=[Zd,Xd,Qd,ko],Tc=class t extends F{constructor(e={}){super(),this.version=y(e,Zd,t.defaultValues(Zd)),this.privateKeyAlgorithm=y(e,Xd,t.defaultValues(Xd)),this.privateKey=y(e,Qd,t.defaultValues(Qd)),ko in e&&(this.attributes=y(e,ko,t.defaultValues(ko))),Yy in e&&(this.parsedKey=y(e,Yy,t.defaultValues(Yy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return 0;case Xd:return new _;case Qd:return new z;case ko:return [];case Yy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),_.schema(s.privateKeyAlgorithm||{}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})]})}fromSchema(e){W(e,lH);let s=G(e,e,t.schema({names:{version:Zd,privateKeyAlgorithm:{names:{blockName:Xd}},privateKey:Qd,attributes:ko}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new _({schema:s.result.privateKeyAlgorithm}),this.privateKey=s.result.privateKey,ko in s.result&&(this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new km({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ae){let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new Tm({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new U({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,s=>s.toSchema())})),new T({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Tm({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new km({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};Tc.CLASS_NAME="PrivateKeyInfo";var Fu="contentType",qu="contentEncryptionAlgorithm",Bo="encryptedContent",fH=[Fu,qu,Bo],O4=1024,Yt=class t extends F{constructor(e={}){if(super(),this.contentType=y(e,Fu,t.defaultValues(Fu)),this.contentEncryptionAlgorithm=y(e,qu,t.defaultValues(qu)),Bo in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+O4>n.byteLength?n.byteLength-r:O4),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Fu:return b;case qu:return new _;case Bo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Fu:return s===b;case qu:return s.algorithmId===b&&!("algorithmParams"in s);case Bo:return s.isEqual(t.defaultValues(Bo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.contentType||b}),_.schema(s.contentEncryptionAlgorithm||{}),new ut({value:[new L({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new we({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,fH);let s=G(e,e,t.schema({names:{contentType:Fu,contentEncryptionAlgorithm:{names:{blockName:qu}},encryptedContent:Bo}}));M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new _({schema:s.result.contentEncryptionAlgorithm}),Bo in s.result&&(this.encryptedContent=s.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},s=[];if(s.push(new ae({value:this.contentType})),s.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,s.push(r);}return new T({lenBlock:e,value:s})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Yt.CLASS_NAME="EncryptedContentInfo";var Mi="hashAlgorithm",$i="maskGenAlgorithm",Fi="saltLength",qi="trailerField",hH=[Mi,$i,Fi,qi],sf=class t extends F{constructor(e={}){super(),this.hashAlgorithm=y(e,Mi,t.defaultValues(Mi)),this.maskGenAlgorithm=y(e,$i,t.defaultValues($i)),this.saltLength=y(e,Fi,t.defaultValues(Fi)),this.trailerField=y(e,qi,t.defaultValues(qi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mi:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case $i:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case Fi:return 20;case qi:return 1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new U({name:s.saltLength||b})]}),new L({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new U({name:s.trailerField||b})]})]})}fromSchema(e){W(e,hH);let s=G(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:Mi}},maskGenAlgorithm:{names:{blockName:$i}},saltLength:Fi,trailerField:qi}}));M.assertSchema(s,this.className),Mi in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),$i in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),Fi in s.result&&(this.saltLength=s.result.saltLength.valueBlock.valueDec),qi in s.result&&(this.trailerField=s.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==t.defaultValues(Fi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new U({value:this.saltLength})]})),this.trailerField!==t.defaultValues(qi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:3},value:[new U({value:this.trailerField})]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==t.defaultValues(Fi)&&(e.saltLength=this.saltLength),this.trailerField!==t.defaultValues(qi)&&(e.trailerField=this.trailerField),e}};sf.CLASS_NAME="RSASSAPSSParams";var Gu="salt",e0="iterationCount",wr="keyLength",Tn="prf",dH=[Gu,e0,wr,Tn],ya=class t extends F{constructor(e={}){super(),this.salt=y(e,Gu,t.defaultValues(Gu)),this.iterationCount=y(e,e0,t.defaultValues(e0)),wr in e&&(this.keyLength=y(e,wr,t.defaultValues(wr))),Tn in e&&(this.prf=y(e,Tn,t.defaultValues(Tn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gu:return {};case e0:return -1;case wr:return 0;case Tn:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ut({value:[new z({name:s.saltPrimitive||b}),_.schema(s.saltConstructed||{})]}),new U({name:s.iterationCount||b}),new U({name:s.keyLength||b,optional:!0}),_.schema(s.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,dH);let s=G(e,e,t.schema({names:{saltPrimitive:Gu,saltConstructed:{names:{blockName:Gu}},iterationCount:e0,keyLength:wr,prf:{names:{blockName:Tn,optional:!0}}}}));M.assertSchema(s,this.className),this.salt=s.result.salt,this.iterationCount=s.result.iterationCount.valueBlock.valueDec,wr in s.result&&(this.keyLength=s.result.keyLength.valueBlock.valueDec),Tn in s.result&&(this.prf=new _({schema:s.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new U({value:this.iterationCount})),wr in this&&t.defaultValues(wr)!==this.keyLength&&e.push(new U({value:this.keyLength})),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new T({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return wr in this&&t.defaultValues(wr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ya.CLASS_NAME="PBKDF2Params";var t0="keyDerivationFunc",s0="encryptionScheme",mH=[t0,s0],Bm=class t extends F{constructor(e={}){super(),this.keyDerivationFunc=y(e,t0,t.defaultValues(t0)),this.encryptionScheme=y(e,s0,t.defaultValues(s0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return new _;case s0:return new _;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyDerivationFunc||{}),_.schema(s.encryptionScheme||{})]})}fromSchema(e){W(e,mH);let s=G(e,e,t.schema({names:{keyDerivationFunc:{names:{blockName:t0}},encryptionScheme:{names:{blockName:s0}}}}));M.assertSchema(s,this.className),this.keyDerivationFunc=new _({schema:s.result.keyDerivationFunc}),this.encryptionScheme=new _({schema:s.result.encryptionScheme});}toSchema(){return new T({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};Bm.CLASS_NAME="PBES2Params";var QA=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function R4(t,e,s,r,n){let i,a,o;switch(t.toUpperCase()){case"SHA-1":i=20,a=64,o=I4;break;case"SHA-256":i=32,a=64,o=yA;break;case"SHA-384":i=48,a=128,o=vA;break;case"SHA-512":i=64,a=128,o=SA;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(s),u=new TextDecoder().decode(s);new TextEncoder().encode(u).some((k,O)=>k!==c[O])&&(u=String.fromCharCode(...c));let p=new Uint8Array(u.length*2+2),w=new DataView(p.buffer);for(let k=0;k<u.length;k++)w.setUint16(k*2,u.charCodeAt(k),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),v=new Uint8Array(r),I=new Uint8Array(a*Math.ceil(v.length/a)).map((k,O)=>v[O%v.length]),C=new Uint8Array(a*Math.ceil(p.length/a)).map((k,O)=>p[O%p.length]),D=new Uint8Array(I.length+C.length);D.set(I),D.set(C,I.length);let V=Math.ceil((e>>3)/i),B=[];for(let k=0;k<V;k++){let O=new Uint8Array(E.length+D.length);O.set(E),O.set(D,E.length);for(let oe=0;oe<n;oe++)O=o(O);let K=new Uint8Array(a).map((oe,pe)=>O[pe%O.length]),re=Math.ceil(v.length/a)+Math.ceil(p.length/a),Q=[];for(let oe=0;oe<re;oe++){let pe=Array.from(D.slice(oe*a,(oe+1)*a)),se=511;for(let ce=K.length-1;ce>=0;ce--)se>>=8,se+=K[ce]+(pe[ce]||0),pe[ce]=se&255;Q.push(...pe);}D=new Uint8Array(Q),B.push(...O);}return new Uint8Array(B.slice(0,e>>3)).buffer}function mk(t){let e=typeof t=="string"?{name:t}:t;return "hash"in e?{...e,hash:mk(e.hash)}:e}var ff=class extends QA{async importKey(e,s,r,n,i){var a,o,c,u,l,p;let w={},E=mk(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",s,r,n,i);case"spki":{let v=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(v,"keyData");let I=new Ks;try{I.fromSchema(v.result);}catch{throw new nt("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,I.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},I.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);let C=I.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=I.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let v=new Tc,I=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(I,"keyData");try{v.fromSchema(I.result);}catch{throw new Error("Incorrect keyData")}if(!v.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,v.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${v.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},v.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${v.privateKeyAlgorithm.algorithmId}`);let C=v.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(p=E.hash)===null||p===void 0?void 0:p.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=v.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=s;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",oo(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,s){let r=await this.subtle.exportKey("jwk",s);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(zh(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",s);case"spki":{let n=new Ks;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new Tc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,s,r,n,i,a){if(e.toLowerCase()===s.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(s,o)}getAlgorithmByOID(e,s=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(s)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,s=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&s)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,s){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(s.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(s.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let s=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":s="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":s="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":s="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":s="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new sf({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)s=n.name;else return b}else s="SHA-1";}catch{}break}return s}async encryptEncryptedContentInfo(e){Qe.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let s=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ya({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new _({algorithmId:n,algorithmParams:new wt})}),p=new Uint8Array(e.password),w=await this.importKey("raw",p,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),v=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),I=new Bm({keyDerivationFunc:new _({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new _({algorithmId:s,algorithmParams:new z({valueHex:i})})});return new Yt({contentType:e.contentType,contentEncryptionAlgorithm:new _({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:I.toSchema()}),encryptedContent:new z({valueHex:v})})}async decryptEncryptedContentInfo(e){if(Qe.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let s;try{s=new Bm({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ya({schema:s.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(s.encryptionScheme.algorithmId,!0),i=s.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let p=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},p,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Qe.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let s;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await R4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Qe.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let s=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await R4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,s="SHA-1"){this.getOIDByAlgorithm({name:s},!0,"hashAlgorithm");let r=new _,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=s,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new _({algorithmId:c,algorithmParams:new wt}),a.maskGenAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new sf(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,s,r){let n=await this.sign(r.algorithm,s,e);return r.algorithm.name==="ECDSA"?gH(n):n}fillPublicKeyParameters(e,s){let r={},n=this.getHashAlgorithm(s);if(n===b)throw new Error(`Unsupported signature algorithm: ${s.algorithmId}`);let i;s.algorithmId==="1.2.840.113549.1.1.10"?i=s.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,s,r){r||(r=this.fillPublicKeyParameters(e,s));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,s,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let p=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(p.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),p.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=s.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=$r.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=Ot(c);M.assert(l,"Signature value"),c=yH(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new sf({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},pk={name:"none",crypto:null};function L4(t){return !!(t&&typeof t=="object"&&"crypto"in t)}function D4(t,...e){let s=null;if(e.length<2)e.length?s=e[0]:s=typeof self<"u"&&self.crypto?new ff({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];L4(n)?s=n:L4(r)?s=r:"subtle"in r&&"getRandomValues"in r&&(s=new ff({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:t,crypto:s};}else pk={name:t,crypto:s};}function pH(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let t;try{t=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return t}return pk}function Ve(t=!1){let e=pH();if(!e.crypto&&t)throw new Error("Unable to create WebCrypto object");return e.crypto}function gH(t){if(t.byteLength%2!==0)return kt;let e=t.byteLength/2,s=new ArrayBuffer(e);new Uint8Array(s).set(new Uint8Array(t,0,e));let n=new U({valueHex:s}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(t,e,e));let o=new U({valueHex:i});return new T({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function yH(t,e){if(!(t instanceof T&&t.valueBlock.value.length===2&&t.valueBlock.value[0]instanceof U&&t.valueBlock.value[1]instanceof U))return kt;let s=t.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=t.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(s,e-s.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function wH(t,e,s,r,n){switch(t.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'zBuffer' has zero length, error");if(nt.assert(r,"SharedInfo","ArrayBuffer"),s>255)throw new nt("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=s;let o=kt;o=ao(o,e),o=ao(o,i),o=ao(o,r);let c=await n.digest({name:t},o);return {counter:s,result:c}}async function V4(t,e,s,r,n=Ve(!0)){let i=0,a=1;switch(t.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'Zbuffer' has zero length, error");nt.assert(r,"SharedInfo","ArrayBuffer");let o=s/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await wH(t,e,w,r,n));let u=kt,l=1,p=!0;for(;p;){p=!1;for(let w of c)if(w.counter===l){u=ao(u,w.result),p=!0;break}l++;}if(s>>=3,u.byteLength>s){let w=new ArrayBuffer(s),E=new Uint8Array(w),v=new Uint8Array(u);for(let I=0;I<s;I++)E[I]=v[I];return w}return u}var IA="version",CA="logID",NA="extensions",TA="timestamp",kA="hashAlgorithm",BA="signatureAlgorithm",PA="signature",U4="none",_4="md5",H4="sha1",j4="sha224",M4="sha256",$4="sha384",F4="sha512",q4="anonymous",G4="rsa",K4="dsa",W4="ecdsa",sb=class t extends F{constructor(e={}){super(),this.version=y(e,IA,t.defaultValues(IA)),this.logID=y(e,CA,t.defaultValues(CA)),this.timestamp=y(e,TA,t.defaultValues(TA)),this.extensions=y(e,NA,t.defaultValues(NA)),this.hashAlgorithm=y(e,kA,t.defaultValues(kA)),this.signatureAlgorithm=y(e,BA,t.defaultValues(BA)),this.signature=y(e,PA,t.defaultValues(PA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case IA:return 0;case CA:case NA:return kt;case TA:return new Date(0);case kA:case BA:return b;case PA:return kt;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof lo))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let s=new vn({stream:new ns({buffer:e.data})});this.fromStream(s);}fromStream(e){let s=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(pn(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=U4;break;case 1:this.hashAlgorithm=_4;break;case 2:this.hashAlgorithm=H4;break;case 3:this.hashAlgorithm=j4;break;case 4:this.hashAlgorithm=M4;break;case 5:this.hashAlgorithm=$4;break;case 6:this.hashAlgorithm=F4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=q4;break;case 1:this.signatureAlgorithm=G4;break;case 2:this.signatureAlgorithm=K4;break;case 3:this.signatureAlgorithm=W4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),s!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new lo({data:e.stream.buffer})}toStream(){let e=new vn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let s=new ArrayBuffer(8),r=new Uint8Array(s),n=pr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case U4:i=0;break;case _4:i=1;break;case H4:i=2;break;case j4:i=3;break;case M4:i=4;break;case $4:i=5;break;case F4:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case q4:a=0;break;case G4:a=1;break;case K4:a=2;break;case W4:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:fy(this.logID),timestamp:this.timestamp,extensions:fy(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:fy(this.signature)}}async verify(e,s,r=0,n=Ve(!0)){let i=dy(zh(this.logID)),a=null,o=new vn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=oo(xu(a)),u=Ks.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),p=new Uint8Array(l),w=pr(this.timestamp.valueOf(),8);return p.set(new Uint8Array(w),8-w.byteLength),o.appendView(p),o.appendUint16(r),r===0&&o.appendUint24(s.byteLength),o.appendView(new Uint8Array(s)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};sb.CLASS_NAME="SignedCertificateTimestamp";var Zy="timestamps",rb=class t extends F{constructor(e={}){super(),this.timestamps=y(e,Zy,t.defaultValues(Zy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Zy:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){var s;let r=y(e,"names",{});return (s=r.optional)!==null&&s!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let s=new vn({stream:new ns({buffer:e.valueBlock.valueHex})});if(s.getUint16()!==s.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;s.length;)this.timestamps.push(new sb({stream:s}));}toSchema(){let e=new vn,s=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),s+=i.stream.buffer.byteLength;}e.appendUint16(s);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};rb.CLASS_NAME="SignedCertificateTimestampList";var r0="attributes",bH=[r0],nb=class t extends F{constructor(e={}){super(),this.attributes=y(e,r0,t.defaultValues(r0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case r0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,bH);let s=G(e,e,t.schema({names:{attributes:r0}}));M.assertSchema(s,this.className),this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}));}toSchema(){return new T({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};nb.CLASS_NAME="SubjectDirectoryAttributes";var e6=class t{static getItems(){return this.types||(this.types={},t.register(Q4,"SubjectAltName",gm),t.register(ek,"IssuerAltName",gm),t.register(O6,"AuthorityKeyIdentifier",ym),t.register(B6,"BasicConstraints",wm),t.register(U_,"MicrosoftCaVersion",Jw),t.register(ik,"CertificatePolicies",vm),t.register(P_,"CertificatePoliciesMicrosoft",vm),t.register(V_,"MicrosoftCertTemplateV2",XA),t.register(nk,"CRLDistributionPoints",xm),t.register(P6,"FreshestCRL",xm),t.register(O_,"ExtKeyUsage",zw),t.register(sk,"CertificateIssuer",Mt),t.register(R6,"AuthorityInfoAccess",Am),t.register(L_,"SubjectInfoAccess",Am),t.register(tk,"IssuingDistributionPoint",Yw),t.register(rk,"NameConstraints",Zw),t.register(ok,"PolicyConstraints",Xw),t.register(ak,"PolicyMappings",Qw),t.register(C_,"PrivateKeyUsagePeriod",eb),t.register(__,"QCStatements",tb),t.register(D_,"SignedCertificateTimestampList",rb),t.register(x_,"SubjectDirectoryAttributes",nb)),this.types}static fromBER(e,s){let r=Ot(s);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,s,r){this.getItems()[e]={name:s,type:r};}},n0="extnID",Gi="critical",i0="extnValue",Xy="parsedValue",SH=[n0,Gi,i0],Ds=class t extends F{get parsedValue(){if(this._parsedValue===void 0){let e=e6.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,n0,t.defaultValues(n0)),this.critical=y(e,Gi,t.defaultValues(Gi)),i0 in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=t.defaultValues(i0),Xy in e&&(this.parsedValue=y(e,Xy,t.defaultValues(Xy))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case n0:return b;case Gi:return !1;case i0:return new z;case Xy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.extnID||b}),new qs({name:s.critical||b,optional:!0}),new z({name:s.extnValue||b})]})}fromSchema(e){W(e,SH);let s=G(e,e,t.schema({names:{extnID:n0,critical:Gi,extnValue:i0}}));M.assertSchema(s,this.className),this.extnID=s.result.extnID.valueBlock.toString(),Gi in s.result&&(this.critical=s.result.critical.valueBlock.value),this.extnValue=s.result.extnValue;}toSchema(){let e=[];return e.push(new ae({value:this.extnID})),this.critical!==t.defaultValues(Gi)&&e.push(new qs({value:this.critical})),e.push(this.extnValue),new T({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==t.defaultValues(Gi)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Ds.CLASS_NAME="Extension";var a0="extensions",vH=[a0],Rt=class t extends F{constructor(e={}){super(),this.extensions=y(e,a0,t.defaultValues(a0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case a0:return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Ds.schema(r.extension||{})})]})}fromSchema(e){W(e,vH);let s=G(e,e,t.schema({names:{extensions:a0}}));M.assertSchema(s,this.className),this.extensions=Array.from(s.result.extensions,r=>new Ds({schema:r}));}toSchema(){return new T({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Rt.CLASS_NAME="Extensions";var o0="issuer",c0="serialNumber",Po="issuerUID",EH=[o0,c0,Po],Zs=class t extends F{constructor(e={}){super(),this.issuer=y(e,o0,t.defaultValues(o0)),this.serialNumber=y(e,c0,t.defaultValues(c0)),Po in e&&(this.issuerUID=y(e,Po,t.defaultValues(Po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case o0:return new Mt;case c0:return new U;case Po:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema(s.issuer||{}),new U({name:s.serialNumber||b}),new _e({optional:!0,name:s.issuerUID||b})]})}fromSchema(e){W(e,EH);let s=G(e,e,t.schema({names:{issuer:{names:{blockName:o0}},serialNumber:c0,issuerUID:Po}}));M.assertSchema(s,this.className),this.issuer=new Mt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber,Po in s.result&&(this.issuerUID=s.result.issuerUID);}toSchema(){let e=new T({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Zs.CLASS_NAME="IssuerSerial";var u0="version",Oo="baseCertificateID",Ro="subjectName",l0="issuer",f0="signature",h0="serialNumber",d0="attrCertValidityPeriod",m0="attributes",Lo="issuerUniqueID",Do="extensions",xH=[u0,Oo,Ro,l0,f0,h0,d0,m0,Lo,Do],rf=class t extends F{constructor(e={}){super(),this.version=y(e,u0,t.defaultValues(u0)),Oo in e&&(this.baseCertificateID=y(e,Oo,t.defaultValues(Oo))),Ro in e&&(this.subjectName=y(e,Ro,t.defaultValues(Ro))),this.issuer=y(e,l0,t.defaultValues(l0)),this.signature=y(e,f0,t.defaultValues(f0)),this.serialNumber=y(e,h0,t.defaultValues(h0)),this.attrCertValidityPeriod=y(e,d0,t.defaultValues(d0)),this.attributes=y(e,m0,t.defaultValues(m0)),Lo in e&&(this.issuerUniqueID=y(e,Lo,t.defaultValues(Lo))),Do in e&&(this.extensions=y(e,Do,t.defaultValues(Do))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case u0:return 0;case Oo:return new Zs;case Ro:return new Mt;case l0:return new Mt;case f0:return new _;case h0:return new U;case d0:return new jn;case m0:return [];case Lo:return new _e;case Do:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new ut({value:[new L({name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({name:s.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value})]}),Mt.schema({names:{blockName:s.issuer||b}}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,xH);let s=G(e,e,t.schema({names:{version:u0,baseCertificateID:Oo,subjectName:Ro,issuer:l0,signature:{names:{blockName:f0}},serialNumber:h0,attrCertValidityPeriod:{names:{blockName:d0}},attributes:m0,issuerUniqueID:Lo,extensions:{names:{blockName:Do}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Oo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ro in s.result&&(this.subjectName=new Mt({schema:new T({value:s.result.subjectName.valueBlock.value})})),this.issuer=s.result.issuer,this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),Lo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),Do in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new T({value:Array.from(this.attributes,s=>s.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,s=>s.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};rf.CLASS_NAME="AttributeCertificateInfoV1";var p0="acinfo",g0="signatureAlgorithm",y0="signatureValue",AH=[p0,y0,g0],hf=class t extends F{constructor(e={}){super(),this.acinfo=y(e,p0,t.defaultValues(p0)),this.signatureAlgorithm=y(e,g0,t.defaultValues(g0)),this.signatureValue=y(e,y0,t.defaultValues(y0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case p0:return new rf;case g0:return new _;case y0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[rf.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,AH);let s=G(e,e,t.schema({names:{acinfo:{names:{blockName:p0}},signatureAlgorithm:{names:{blockName:g0}},signatureValue:y0}}));M.assertSchema(s,this.className),this.acinfo=new rf({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};hf.CLASS_NAME="AttributeCertificateV1";var w0="digestedObjectType",Vo="otherObjectTypeID",b0="digestAlgorithm",S0="objectDigest",IH=[w0,Vo,b0,S0],Mn=class t extends F{constructor(e={}){super(),this.digestedObjectType=y(e,w0,t.defaultValues(w0)),Vo in e&&(this.otherObjectTypeID=y(e,Vo,t.defaultValues(Vo))),this.digestAlgorithm=y(e,b0,t.defaultValues(b0)),this.objectDigest=y(e,S0,t.defaultValues(S0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case w0:return new Ur;case Vo:return new ae;case b0:return new _;case S0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ur({name:s.digestedObjectType||b}),new ae({optional:!0,name:s.otherObjectTypeID||b}),_.schema(s.digestAlgorithm||{}),new _e({name:s.objectDigest||b})]})}fromSchema(e){W(e,IH);let s=G(e,e,t.schema({names:{digestedObjectType:w0,otherObjectTypeID:Vo,digestAlgorithm:{names:{blockName:b0}},objectDigest:S0}}));M.assertSchema(s,this.className),this.digestedObjectType=s.result.digestedObjectType,Vo in s.result&&(this.otherObjectTypeID=s.result.otherObjectTypeID),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.objectDigest=s.result.objectDigest;}toSchema(){let e=new T({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Mn.CLASS_NAME="ObjectDigestInfo";var Uo="issuerName",_o="baseCertificateID",Ho="objectDigestInfo",CH=[Uo,_o,Ho],Pm=class t extends F{constructor(e={}){super(),Uo in e&&(this.issuerName=y(e,Uo,t.defaultValues(Uo))),_o in e&&(this.baseCertificateID=y(e,_o,t.defaultValues(_o))),Ho in e&&(this.objectDigestInfo=y(e,Ho,t.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Uo:return new Mt;case _o:return new Zs;case Ho:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema({names:{blockName:s.issuerName}},!0),new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,CH);let s=G(e,e,t.schema({names:{issuerName:Uo,baseCertificateID:_o,objectDigestInfo:Ho}}));M.assertSchema(s,this.className),Uo in s.result&&(this.issuerName=new Mt({schema:s.result.issuerName})),_o in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ho in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Pm.CLASS_NAME="V2Form";var jo="baseCertificateID",Mo="entityName",$o="objectDigestInfo",NH=[jo,Mo,$o],nf=class t extends F{constructor(e={}){super(),jo in e&&(this.baseCertificateID=y(e,jo,t.defaultValues(jo))),Mo in e&&(this.entityName=y(e,Mo,t.defaultValues(Mo))),$o in e&&(this.objectDigestInfo=y(e,$o,t.defaultValues($o))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jo:return new Zs;case Mo:return new Mt;case $o:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,NH);let s=G(e,e,t.schema({names:{baseCertificateID:jo,entityName:Mo,objectDigestInfo:$o}}));M.assertSchema(s,this.className),jo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Mo in s.result&&(this.entityName=new Mt({schema:new T({value:s.result.entityName.valueBlock.value})})),$o in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};nf.CLASS_NAME="Holder";var v0="version",E0="holder",x0="issuer",A0="signature",I0="serialNumber",C0="attrCertValidityPeriod",N0="attributes",Fo="issuerUniqueID",qo="extensions",TH=[v0,E0,x0,A0,I0,C0,N0,Fo,qo],af=class t extends F{constructor(e={}){super(),this.version=y(e,v0,t.defaultValues(v0)),this.holder=y(e,E0,t.defaultValues(E0)),this.issuer=y(e,x0,t.defaultValues(x0)),this.signature=y(e,A0,t.defaultValues(A0)),this.serialNumber=y(e,I0,t.defaultValues(I0)),this.attrCertValidityPeriod=y(e,C0,t.defaultValues(C0)),this.attributes=y(e,N0,t.defaultValues(N0)),Fo in e&&(this.issuerUniqueID=y(e,Fo,t.defaultValues(Fo))),qo in e&&(this.extensions=y(e,qo,t.defaultValues(qo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case v0:return 1;case E0:return new nf;case x0:return {};case A0:return new _;case I0:return new U;case C0:return new jn;case N0:return [];case Fo:return new _e;case qo:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),nf.schema(s.holder||{}),new ut({value:[Mt.schema({names:{blockName:s.issuer||b}}),new L({name:s.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:Pm.schema().valueBlock.value})]}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,TH);let s=G(e,e,t.schema({names:{version:v0,holder:{names:{blockName:E0}},issuer:x0,signature:{names:{blockName:A0}},serialNumber:I0,attrCertValidityPeriod:{names:{blockName:C0}},attributes:N0,issuerUniqueID:Fo,extensions:{names:{blockName:qo}}}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.holder=new nf({schema:s.result.holder}),s.result.issuer.idBlock.tagClass){case 3:this.issuer=new Pm({schema:new T({value:s.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),Fo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),qo in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version}),this.holder.toSchema(),new L({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new T({value:Array.from(this.attributes,s=>s.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,s=>s.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};af.CLASS_NAME="AttributeCertificateInfoV2";var T0="acinfo",k0="signatureAlgorithm",B0="signatureValue",kH=[T0,k0,B0],Mr=class t extends F{constructor(e={}){super(),this.acinfo=y(e,T0,t.defaultValues(T0)),this.signatureAlgorithm=y(e,k0,t.defaultValues(k0)),this.signatureValue=y(e,B0,t.defaultValues(B0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case T0:return new af;case k0:return new _;case B0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[af.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,kH);let s=G(e,e,t.schema({names:{acinfo:{names:{blockName:T0}},signatureAlgorithm:{names:{blockName:k0}},signatureValue:B0}}));M.assertSchema(s,this.className),this.acinfo=new af({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Mr.CLASS_NAME="AttributeCertificateV2";var Go="contentType",Ku="content",BH=[Go,Ku],St=class t extends F{constructor(e={}){super(),this.contentType=y(e,Go,t.defaultValues(Go)),this.content=y(e,Ku,t.defaultValues(Ku)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Go:return b;case Ku:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Go:return typeof s=="string"&&s===this.defaultValues(Go);case Ku:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return "optional"in s||(s.optional=!1),new T({name:s.blockName||"ContentInfo",optional:s.optional,value:[new ae({name:s.contentType||Go}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.content||Ku})]})]})}fromSchema(e){W(e,BH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.content=s.result.content;}toSchema(){return new T({value:[new ae({value:this.contentType}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};St.CLASS_NAME="ContentInfo";St.DATA=L6;St.SIGNED_DATA=ck;St.ENVELOPED_DATA=uk;St.ENCRYPTED_DATA=lk;var OA="type",RA="value",t6="utcTimeName",s6="generalTimeName",PH=[t6,s6],J4;(function(t){t[t.UTCTime=0]="UTCTime",t[t.GeneralizedTime=1]="GeneralizedTime",t[t.empty=2]="empty";})(J4||(J4={}));var $t=class t extends F{constructor(e={}){super(),this.type=y(e,OA,t.defaultValues(OA)),this.value=y(e,RA,t.defaultValues(RA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case OA:return 0;case RA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new ut({optional:s,value:[new wn({name:r.utcTimeName||b}),new ct({name:r.generalTimeName||b})]})}fromSchema(e){W(e,PH);let s=G(e,e,t.schema({names:{utcTimeName:t6,generalTimeName:s6}}));M.assertSchema(s,this.className),t6 in s.result&&(this.type=0,this.value=s.result.utcTimeName.toDate()),s6 in s.result&&(this.type=1,this.value=s.result.generalTimeName.toDate());}toSchema(){return this.type===0?new wn({valueDate:this.value}):this.type===1?new ct({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};$t.CLASS_NAME="Time";var LA="tbs",Ki="version",ww="serialNumber",bw="signature",Sw="issuer",vw="notBefore",Ew="notAfter",xw="subject",Aw="subjectPublicKeyInfo",P0="issuerUniqueID",O0="subjectUniqueID",R0="extensions",L0="signatureAlgorithm",D0="signatureValue",Ws="tbsCertificate",ib=`${Ws}.${Ki}`,V6=`${Ws}.${ww}`,U6=`${Ws}.${bw}`,_6=`${Ws}.${Sw}`,ab=`${Ws}.${vw}`,ob=`${Ws}.${Ew}`,H6=`${Ws}.${xw}`,j6=`${Ws}.${Aw}`,cb=`${Ws}.${P0}`,ub=`${Ws}.${O0}`,dm=`${Ws}.${R0}`,OH=[Ws,ib,V6,U6,_6,ab,ob,H6,j6,cb,ub,dm,L0,D0];function RH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||Ws,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:e.tbsCertificateVersion||ib})]}),new U({name:e.tbsCertificateSerialNumber||V6}),_.schema(e.signature||{names:{blockName:U6}}),lt.schema(e.issuer||{names:{blockName:_6}}),new T({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[$t.schema(e.notBefore||{names:{utcTimeName:ab,generalTimeName:ab}}),$t.schema(e.notAfter||{names:{utcTimeName:ob,generalTimeName:ob}})]}),lt.schema(e.subject||{names:{blockName:H6}}),Ks.schema(e.subjectPublicKeyInfo||{names:{blockName:j6}}),new we({name:e.tbsCertificateIssuerUniqueID||cb,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:e.tbsCertificateSubjectUniqueID||ub,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Rt.schema(e.extensions||{names:{blockName:dm}})]})]})}var is=class t extends F{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,LA,t.defaultValues(LA))),this.version=y(e,Ki,t.defaultValues(Ki)),this.serialNumber=y(e,ww,t.defaultValues(ww)),this.signature=y(e,bw,t.defaultValues(bw)),this.issuer=y(e,Sw,t.defaultValues(Sw)),this.notBefore=y(e,vw,t.defaultValues(vw)),this.notAfter=y(e,Ew,t.defaultValues(Ew)),this.subject=y(e,xw,t.defaultValues(xw)),this.subjectPublicKeyInfo=y(e,Aw,t.defaultValues(Aw)),P0 in e&&(this.issuerUniqueID=y(e,P0,t.defaultValues(P0))),O0 in e&&(this.subjectUniqueID=y(e,O0,t.defaultValues(O0))),R0 in e&&(this.extensions=y(e,R0,t.defaultValues(R0))),this.signatureAlgorithm=y(e,L0,t.defaultValues(L0)),this.signatureValue=y(e,D0,t.defaultValues(D0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case LA:return kt;case Ki:return 0;case ww:return new U;case bw:return new _;case Sw:return new lt;case vw:return new $t;case Ew:return new $t;case xw:return new lt;case Aw:return new Ks;case P0:return kt;case O0:return kt;case R0:return [];case L0:return new _;case D0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[RH(s.tbsCertificate),_.schema(s.signatureAlgorithm||{names:{blockName:L0}}),new _e({name:s.signatureValue||D0})]})}fromSchema(e){W(e,OH);let s=G(e,e,t.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:dm}}}}}}));M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertificate.valueBeforeDecodeView,ib in s.result&&(this.version=s.result[ib].valueBlock.valueDec),this.serialNumber=s.result[V6],this.signature=new _({schema:s.result[U6]}),this.issuer=new lt({schema:s.result[_6]}),this.notBefore=new $t({schema:s.result[ab]}),this.notAfter=new $t({schema:s.result[ob]}),this.subject=new lt({schema:s.result[H6]}),this.subjectPublicKeyInfo=new Ks({schema:s.result[j6]}),cb in s.result&&(this.issuerUniqueID=s.result[cb].valueBlock.valueHex),ub in s.result&&(this.subjectUniqueID=s.result[ub].valueBlock.valueHex),dm in s.result&&(this.extensions=Array.from(s.result[dm],r=>new Ds({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return Ki in this&&this.version!==t.defaultValues(Ki)&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new T({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new T({value:Array.from(this.extensions,s=>s.toSchema())})]})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema().value[0];let r=Ot(this.tbsView);M.assert(r,"TBS Certificate"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Ki in this&&this.version!==t.defaultValues(Ki)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",s=Ve(!0)){return s.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e,s=Ve(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof Ks))throw new Error("Please provide issuer certificate as a parameter");return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};is.CLASS_NAME="Certificate";function gk(t,e=null){if(e&&t.issuer.isEqual(e.issuer)&&t.serialNumber.isEqual(e.serialNumber))return null;let s=!1;if(t.extensions){for(let r of t.extensions)if(r.extnID===B6&&r.parsedValue instanceof wm&&r.parsedValue.cA){s=!0;break}}return s?t:null}var Wu="certId",Ju="certValue",Tu="parsedValue",LH=[Wu,Ju],lb=class t extends F{constructor(e={}){super(),this.certId=y(e,Wu,t.defaultValues(Wu)),this.certValue=y(e,Ju,t.defaultValues(Ju)),Tu in e&&(this.parsedValue=y(e,Tu,t.defaultValues(Tu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wu:return b;case Ju:return new be;case Tu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wu:return s===b;case Ju:return s instanceof be;case Tu:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,LH);let s=G(e,e,t.schema({names:{id:Wu,value:Ju}}));M.assertSchema(s,this.className),this.certId=s.result.certId.valueBlock.toString(),this.certValue=s.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case k4:try{this.parsedValue=is.fromBER(r);}catch{Mr.fromBER(r);}break;case B4:this.parsedValue=Mr.fromBER(r);break;case j_:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Tu in this&&("acinfo"in this.parsedValue?this.certId=B4:this.certId=k4,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.certId}),new L({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};lb.CLASS_NAME="CertBag";var V0="userCertificate",zu="revocationDate",Ko="crlEntryExtensions",DH=[V0,zu,Ko],fb=class t extends F{constructor(e={}){super(),this.userCertificate=y(e,V0,t.defaultValues(V0)),this.revocationDate=y(e,zu,t.defaultValues(zu)),Ko in e&&(this.crlEntryExtensions=y(e,Ko,t.defaultValues(Ko))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case V0:return new U;case zu:return new $t;case Ko:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.userCertificate||V0}),$t.schema({names:{utcTimeName:s.revocationDate||zu,generalTimeName:s.revocationDate||zu}}),Rt.schema({names:{blockName:s.crlEntryExtensions||Ko}},!0)]})}fromSchema(e){W(e,DH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.userCertificate=s.result.userCertificate,this.revocationDate=new $t({schema:s.result.revocationDate}),Ko in s.result&&(this.crlEntryExtensions=new Rt({schema:s.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new T({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};fb.CLASS_NAME="RevokedCertificate";var DA="tbs",ud="version",VA="signature",UA="issuer",_A="thisUpdate",Qy="nextUpdate",ew="revokedCertificates",tw="crlExtensions",U0="signatureAlgorithm",_0="signatureValue",qn="tbsCertList",hb=`${qn}.version`,M6=`${qn}.signature`,$6=`${qn}.issuer`,db=`${qn}.thisUpdate`,Om=`${qn}.nextUpdate`,mb=`${qn}.revokedCertificates`,pb=`${qn}.extensions`,VH=[qn,hb,M6,$6,db,Om,mb,pb,U0,_0];function UH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||qn,value:[new U({optional:!0,name:e.tbsCertListVersion||hb,value:2}),_.schema(e.signature||{names:{blockName:M6}}),lt.schema(e.issuer||{names:{blockName:$6}}),$t.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:db,generalTimeName:db}}),$t.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:Om,generalTimeName:Om}},!0),new T({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||mb,value:new T({value:[new U,$t.schema(),Rt.schema({},!0)]})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(e.crlExtensions||{names:{blockName:pb}})]})]})}var _H=[O6,ek,N_,T_,tk,P6,R6,k_,B_,sk],kc=class t extends F{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,DA,t.defaultValues(DA))),this.version=y(e,ud,t.defaultValues(ud)),this.signature=y(e,VA,t.defaultValues(VA)),this.issuer=y(e,UA,t.defaultValues(UA)),this.thisUpdate=y(e,_A,t.defaultValues(_A)),Qy in e&&(this.nextUpdate=y(e,Qy,t.defaultValues(Qy))),ew in e&&(this.revokedCertificates=y(e,ew,t.defaultValues(ew))),tw in e&&(this.crlExtensions=y(e,tw,t.defaultValues(tw))),this.signatureAlgorithm=y(e,U0,t.defaultValues(U0)),this.signatureValue=y(e,_0,t.defaultValues(_0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case DA:return kt;case ud:return 0;case VA:return new _;case UA:return new lt;case _A:return new $t;case Qy:return new $t;case ew:return [];case tw:return new Rt;case U0:return new _;case _0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"CertificateList",value:[UH(e),_.schema(s.signatureAlgorithm||{names:{blockName:U0}}),new _e({name:s.signatureValue||_0})]})}fromSchema(e){W(e,VH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertList.valueBeforeDecodeView,hb in s.result&&(this.version=s.result[hb].valueBlock.valueDec),this.signature=new _({schema:s.result[M6]}),this.issuer=new lt({schema:s.result[$6]}),this.thisUpdate=new $t({schema:s.result[db]}),Om in s.result&&(this.nextUpdate=new $t({schema:s.result[Om]})),mb in s.result&&(this.revokedCertificates=Array.from(s.result[mb],r=>new fb({schema:r}))),pb in s.result&&(this.crlExtensions=new Rt({schema:s.result[pb]})),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return this.version!==t.defaultValues(ud)&&e.push(new U({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new T({value:Array.from(this.revokedCertificates,s=>s.toSchema())})),this.crlExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new T({value:e})}toSchema(e=!1){let s;if(e)s=this.encodeTBS();else {if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Certificate Revocation List"),s=r.result;}return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==t.defaultValues(ud)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,s=>s.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let s of this.revokedCertificates)if(s.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!_H.includes(n.extnID))return !1}return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};kc.CLASS_NAME="CertificateRevocationList";var Yu="crlId",Zu="crlValue",ld="parsedValue",HH=[Yu,Zu],gb=class t extends F{constructor(e={}){super(),this.crlId=y(e,Yu,t.defaultValues(Yu)),this.crlValue=y(e,Zu,t.defaultValues(Zu)),ld in e&&(this.parsedValue=y(e,ld,t.defaultValues(ld))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yu:return b;case Zu:return new be;case ld:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Yu:return s===b;case Zu:return s instanceof be;case ld:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,HH);let s=G(e,e,t.schema({names:{id:Yu,value:Zu}}));switch(M.assertSchema(s,this.className),this.crlId=s.result.crlId.valueBlock.toString(),this.crlValue=s.result.crlValue,this.crlId){case P4:this.parsedValue=kc.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=P4,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.crlId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};gb.CLASS_NAME="CRLBag";var Xu="version",Qu="encryptedContentInfo",Wi="unprotectedAttrs",jH=[Xu,Qu,Wi],Bc=class t extends F{constructor(e={}){super(),this.version=y(e,Xu,t.defaultValues(Xu)),this.encryptedContentInfo=y(e,Qu,t.defaultValues(Qu)),Wi in e&&(this.unprotectedAttrs=y(e,Wi,t.defaultValues(Wi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xu:return 0;case Qu:return new Yt;case Wi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xu:return s===0;case Qu:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);case Wi:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,jH);let s=G(e,e,t.schema({names:{version:Xu,encryptedContentInfo:{names:{blockName:Qu}},unprotectedAttrs:Wi}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),Wi in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}async encrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await s.encryptEncryptedContentInfo(r);}async decrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return s.decryptEncryptedContentInfo(r)}};Bc.CLASS_NAME="EncryptedData";var Wo="encryptionAlgorithm",Ji="encryptedData",fd="parsedValue",MH=[Wo,Ji],yb=class t extends F{constructor(e={}){super(),this.encryptionAlgorithm=y(e,Wo,t.defaultValues(Wo)),this.encryptedData=y(e,Ji,t.defaultValues(Ji)),fd in e&&(this.parsedValue=y(e,fd,t.defaultValues(fd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new _;case Ji:return new z;case fd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wo:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case Ji:return s.isEqual(t.defaultValues(e));case fd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.encryptionAlgorithm||{names:{blockName:Wo}}),new ut({value:[new z({name:s.encryptedData||Ji}),new z({idBlock:{isConstructed:!0},name:s.encryptedData||Ji})]})]})}fromSchema(e){W(e,MH);let s=G(e,e,t.schema({names:{encryptionAlgorithm:{names:{blockName:Wo}},encryptedData:Ji}}));M.assertSchema(s,this.className),this.encryptionAlgorithm=new _({schema:s.result.encryptionAlgorithm}),this.encryptedData=s.result.encryptedData;}toSchema(){return new T({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,s=Ve(!0)){let n=await new Bc({encryptedContentInfo:new Yt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,s);this.parsedValue=Tc.fromBER(n);}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Bc,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,s),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};yb.CLASS_NAME="PKCS8ShroudedKeyBag";var el="secretTypeId",tl="secretValue",$H=[el,tl],wb=class t extends F{constructor(e={}){super(),this.secretTypeId=y(e,el,t.defaultValues(el)),this.secretValue=y(e,tl,t.defaultValues(tl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case el:return b;case tl:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case el:return s===b;case tl:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,$H);let s=G(e,e,t.schema({names:{id:el,value:tl}}));M.assertSchema(s,this.className),this.secretTypeId=s.result.secretTypeId.valueBlock.toString(),this.secretValue=s.result.secretValue;}toSchema(){return new T({value:[new ae({value:this.secretTypeId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};wb.CLASS_NAME="SecretBag";var r6=class t{static getItems(){return this.items||(this.items={},t.register("1.2.840.113549.1.12.10.1.1",Tc),t.register("1.2.840.113549.1.12.10.1.2",yb),t.register("1.2.840.113549.1.12.10.1.3",lb),t.register("1.2.840.113549.1.12.10.1.4",gb),t.register("1.2.840.113549.1.12.10.1.5",wb),t.register("1.2.840.113549.1.12.10.1.6",ga)),this.items}static register(e,s){this.getItems()[e]=s;}static find(e){return this.getItems()[e]||null}},Jo="bagId",zo="bagValue",kn="bagAttributes",FH=[Jo,zo,kn],Rm=class t extends F{constructor(e={}){super(),this.bagId=y(e,Jo,t.defaultValues(Jo)),this.bagValue=y(e,zo,t.defaultValues(zo)),kn in e&&(this.bagAttributes=y(e,kn,t.defaultValues(kn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jo:return b;case zo:return new be;case kn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Jo:return s===b;case zo:return s instanceof be;case kn:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.bagId||Jo}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.bagValue||zo})]}),new bt({optional:!0,value:[new Ae({name:s.bagAttributes||kn,value:xt.schema()})]})]})}fromSchema(e){W(e,FH);let s=G(e,e,t.schema({names:{bagId:Jo,bagValue:zo,bagAttributes:kn}}));M.assertSchema(s,this.className),this.bagId=s.result.bagId.valueBlock.toString();let r=r6.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:s.result.bagValue}),kn in s.result&&(this.bagAttributes=Array.from(s.result.bagAttributes,n=>new xt({schema:n})));}toSchema(){let e=[new ae({value:this.bagId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new bt({value:Array.from(this.bagAttributes,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,s=>s.toJSON())),e}};Rm.CLASS_NAME="SafeBag";var ku="safeBags",ga=class t extends F{constructor(e={}){super(),this.safeBags=y(e,ku,t.defaultValues(ku)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ku:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.safeBags||b,value:Rm.schema()})]})}fromSchema(e){W(e,[ku]);let s=G(e,e,t.schema({names:{safeBags:ku}}));M.assertSchema(s,this.className),this.safeBags=Array.from(s.result.safeBags,r=>new Rm({schema:r}));}toSchema(){return new T({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};ga.CLASS_NAME="SafeContents";var H0="otherCertFormat",j0="otherCert",qH=[H0,j0],of=class t extends F{constructor(e={}){super(),this.otherCertFormat=y(e,H0,t.defaultValues(H0)),this.otherCert=y(e,j0,t.defaultValues(j0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case H0:return b;case j0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherCertFormat||H0}),new be({name:s.otherCert||j0})]})}fromSchema(e){W(e,qH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.otherCertFormat=s.result.otherCertFormat.valueBlock.toString(),this.otherCert=s.result.otherCert;}toSchema(){return new T({value:[new ae({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},M0="certificates",GH=[M0],$n=class t extends F{constructor(e={}){super(),this.certificates=y(e,M0,t.defaultValues(M0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case M0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.certificates||M0,value:new ut({value:[is.schema(),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new T]}),new L({idBlock:{tagClass:3,tagNumber:2},value:Mr.schema().valueBlock.value}),new L({idBlock:{tagClass:3,tagNumber:3},value:of.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,GH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.certificates=Array.from(s.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new is({schema:r});let i=new T({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Mr({schema:i}):new hf({schema:i});case 2:return new Mr({schema:i});case 3:return new of({schema:i})}return r});}toSchema(){return new bt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof is:return e.toSchema();case e instanceof hf:return new L({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Mr:return new L({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof of:return new L({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};$n.CLASS_NAME="CertificateSet";var $0="otherRevInfoFormat",F0="otherRevInfo",KH=[$0,F0],Ec=class t extends F{constructor(e={}){super(),this.otherRevInfoFormat=y(e,$0,t.defaultValues($0)),this.otherRevInfo=y(e,F0,t.defaultValues(F0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $0:return b;case F0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherRevInfoFormat||$0}),new be({name:s.otherRevInfo||F0})]})}fromSchema(e){W(e,KH);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.otherRevInfoFormat=s.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=s.result.otherRevInfo;}toSchema(){return new T({value:[new ae({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};Ec.CLASS_NAME="OtherRevocationInfoFormat";var q0="crls",HA="otherRevocationInfos",WH=[q0],xc=class t extends F{constructor(e={}){super(),this.crls=y(e,q0,t.defaultValues(q0)),this.otherRevocationInfos=y(e,HA,t.defaultValues(HA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case q0:return [];case HA:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.crls||b,value:new ut({value:[kc.schema(),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ae,new be]})]})})]})}fromSchema(e){W(e,WH);let s=G(e,e,t.schema({names:{crls:q0}}));if(M.assertSchema(s,this.className),s.result.crls)for(let r of s.result.crls)r.idBlock.tagClass===1?this.crls.push(new kc({schema:r})):this.otherRevocationInfos.push(new Ec({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,s=>s.toSchema())),e.push(...Array.from(this.otherRevocationInfos,s=>{let r=s.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new bt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};xc.CLASS_NAME="RevocationInfoChoices";var G0="certs",Yo="crls",JH=[G0,Yo],cf=class t extends F{constructor(e={}){super(),this.crls=y(e,Yo,t.defaultValues(Yo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case G0:return new $n;case Yo:return new xc;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case G0:return s.certificates.length===0;case Yo:return s.crls.length===0&&s.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({name:s.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({name:s.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema().valueBlock.value})]})}fromSchema(e){W(e,JH);let s=G(e,e,t.schema({names:{certs:G0,crls:Yo}}));M.assertSchema(s,this.className),G0 in s.result&&(this.certs=new $n({schema:new bt({value:s.result.certs.valueBlock.value})})),Yo in s.result&&(this.crls=new xc({schema:new bt({value:s.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new T({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};cf.CLASS_NAME="OriginatorInfo";var K0="issuer",W0="serialNumber",zH=[K0,W0],Ft=class t extends F{constructor(e={}){super(),this.issuer=y(e,K0,t.defaultValues(K0)),this.serialNumber=y(e,W0,t.defaultValues(W0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case K0:return new lt;case W0:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[lt.schema(s.issuer||{}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,zH);let s=G(e,e,t.schema({names:{issuer:{names:{blockName:K0}},serialNumber:W0}}));M.assertSchema(s,this.className),this.issuer=new lt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};Ft.CLASS_NAME="IssuerAndSerialNumber";var sw="variant",hd="value",YH=["blockName"],bb=class t extends F{constructor(e={}){super(),this.variant=y(e,sw,t.defaultValues(sw)),hd in e&&(this.value=y(e,hd,t.defaultValues(hd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sw:return -1;case hd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case sw:return s===-1;case hd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[Ft.schema({names:{blockName:s.blockName||b}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,YH);let s=G(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ft({schema:s.result.blockName})):(this.variant=2,this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof Ft))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};bb.CLASS_NAME="RecipientIdentifier";var Zo="version",sl="rid",rl="keyEncryptionAlgorithm",nl="encryptedKey",rw="recipientCertificate",ZH=[Zo,sl,rl,nl],df=class t extends F{constructor(e={}){super(),this.version=y(e,Zo,t.defaultValues(Zo)),this.rid=y(e,sl,t.defaultValues(sl)),this.keyEncryptionAlgorithm=y(e,rl,t.defaultValues(rl)),this.encryptedKey=y(e,nl,t.defaultValues(nl)),this.recipientCertificate=y(e,rw,t.defaultValues(rw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zo:return -1;case sl:return {};case rl:return new _;case nl:return new z;case rw:return new is;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Zo:return s===t.defaultValues(Zo);case sl:return Object.keys(s).length===0;case rl:case nl:return s.isEqual(t.defaultValues(e));case rw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),bb.schema(s.rid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,ZH);let s=G(e,e,t.schema({names:{version:Zo,rid:{names:{blockName:sl}},keyEncryptionAlgorithm:{names:{blockName:rl}},encryptedKey:nl}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,s.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:s.result.rid.valueBlock.valueHex}):this.rid=new Ft({schema:s.result.rid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof Ft?(this.version=0,e.push(new U({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new U({value:this.version})),e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};df.CLASS_NAME="KeyTransRecipientInfo";var il="algorithm",al="publicKey",XH=[il,al],mf=class t extends F{constructor(e={}){super(),this.algorithm=y(e,il,t.defaultValues(il)),this.publicKey=y(e,al,t.defaultValues(al)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case il:return new _;case al:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case il:case al:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.publicKey||b})]})}fromSchema(e){W(e,XH);let s=G(e,e,t.schema({names:{algorithm:{names:{blockName:il}},publicKey:al}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.publicKey=s.result.publicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};mf.CLASS_NAME="OriginatorPublicKey";var nw="variant",dd="value",QH=["blockName"],Ac=class t extends F{constructor(e={}){super(),this.variant=y(e,nw,t.defaultValues(nw)),dd in e&&(this.value=y(e,dd,t.defaultValues(dd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case nw:return -1;case dd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case nw:return s===-1;case dd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[Ft.schema({names:{blockName:s.blockName||b}}),new we({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b}),new L({idBlock:{tagClass:3,tagNumber:1},name:s.blockName||b,value:mf.schema().valueBlock.value})]})}fromSchema(e){W(e,QH);let s=G(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ft({schema:s.result.blockName})):s.result.blockName.idBlock.tagNumber===0?(s.result.blockName.idBlock.tagClass=1,s.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=s.result.blockName):(this.variant=3,this.value=new mf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};Ac.CLASS_NAME="OriginatorIdentifierOrKey";var ol="keyAttrId",Hr="keyAttr",ej=[ol,Hr],Fn=class t extends F{constructor(e={}){super(),this.keyAttrId=y(e,ol,t.defaultValues(ol)),Hr in e&&(this.keyAttr=y(e,Hr,t.defaultValues(Hr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return b;case Hr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ol:return typeof s=="string"&&s===b;case Hr:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({optional:s.optional||!0,name:s.blockName||b,value:[new ae({name:s.keyAttrId||b}),new be({optional:!0,name:s.keyAttr||b})]})}fromSchema(e){W(e,ej);let s=G(e,e,t.schema({names:{keyAttrId:ol,keyAttr:Hr}}));M.assertSchema(s,this.className),this.keyAttrId=s.result.keyAttrId.valueBlock.toString(),Hr in s.result&&(this.keyAttr=s.result.keyAttr);}toSchema(){let e=[];return e.push(new ae({value:this.keyAttrId})),Hr in this&&e.push(this.keyAttr),new T({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Hr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};Fn.CLASS_NAME="OtherKeyAttribute";var Xo="subjectKeyIdentifier",zi="date",Yi="other",tj=[Xo,zi,Yi],pf=class t extends F{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Xo,t.defaultValues(Xo)),zi in e&&(this.date=y(e,zi,t.defaultValues(zi))),Yi in e&&(this.other=y(e,Yi,t.defaultValues(Yi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xo:return new z;case zi:return new ct;case Yi:return new Fn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xo:return s.isEqual(t.defaultValues(Xo));case zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Yi:return s.keyAttrId===b&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.subjectKeyIdentifier||b}),new ct({optional:!0,name:s.date||b}),Fn.schema(s.other||{})]})}fromSchema(e){W(e,tj);let s=G(e,e,t.schema({names:{subjectKeyIdentifier:Xo,date:zi,other:{names:{blockName:Yi}}}}));M.assertSchema(s,this.className),this.subjectKeyIdentifier=s.result.subjectKeyIdentifier,zi in s.result&&(this.date=s.result.date),Yi in s.result&&(this.other=new Fn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};pf.CLASS_NAME="RecipientKeyIdentifier";var iw="variant",aw="value",sj=["blockName"],wa=class t extends F{constructor(e={}){super(),this.variant=y(e,iw,t.defaultValues(iw)),this.value=y(e,aw,t.defaultValues(aw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case iw:return -1;case aw:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case iw:return s===-1;case aw:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[Ft.schema(s.issuerAndSerialNumber||{names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:pf.schema(s.rKeyId||{names:{blockName:s.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,sj);let s=G(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ft({schema:s.result.blockName})):(this.variant=2,this.value=new pf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new L({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};wa.CLASS_NAME="KeyAgreeRecipientIdentifier";var cl="rid",Qo="encryptedKey",rj=[cl,Qo],gf=class t extends F{constructor(e={}){super(),this.rid=y(e,cl,t.defaultValues(cl)),this.encryptedKey=y(e,Qo,t.defaultValues(Qo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cl:return new wa;case Qo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cl:return s.variant===-1&&!("value"in s);case Qo:return s.isEqual(t.defaultValues(Qo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[wa.schema(s.rid||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,rj);let s=G(e,e,t.schema({names:{rid:{names:{blockName:cl}},encryptedKey:Qo}}));M.assertSchema(s,this.className),this.rid=new wa({schema:s.result.rid}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};gf.CLASS_NAME="RecipientEncryptedKey";var ow="encryptedKeys",yk="RecipientEncryptedKeys",nj=[yk],Ic=class t extends F{constructor(e={}){super(),this.encryptedKeys=y(e,ow,t.defaultValues(ow)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ow:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ow:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.RecipientEncryptedKeys||b,value:gf.schema()})]})}fromSchema(e){W(e,nj);let s=G(e,e,t.schema({names:{RecipientEncryptedKeys:yk}}));M.assertSchema(s,this.className),this.encryptedKeys=Array.from(s.result.RecipientEncryptedKeys,r=>new gf({schema:r}));}toSchema(){return new T({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Ic.CLASS_NAME="RecipientEncryptedKeys";var ul="version",ll="originator",Bn="ukm",fl="keyEncryptionAlgorithm",hl="recipientEncryptedKeys",cw="recipientCertificate",uw="recipientPublicKey",ij=[ul,ll,Bn,fl,hl],yf=class t extends F{constructor(e={}){super(),this.version=y(e,ul,t.defaultValues(ul)),this.originator=y(e,ll,t.defaultValues(ll)),Bn in e&&(this.ukm=y(e,Bn,t.defaultValues(Bn))),this.keyEncryptionAlgorithm=y(e,fl,t.defaultValues(fl)),this.recipientEncryptedKeys=y(e,hl,t.defaultValues(hl)),this.recipientCertificate=y(e,cw,t.defaultValues(cw)),this.recipientPublicKey=y(e,uw,t.defaultValues(uw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ul:return 0;case ll:return new Ac;case Bn:return new z;case fl:return new _;case hl:return new Ic;case cw:return new is;case uw:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ul:return s===0;case ll:return s.variant===-1&&!("value"in s);case Bn:return s.isEqual(t.defaultValues(Bn));case fl:return s.algorithmId===b&&!("algorithmParams"in s);case hl:return s.encryptedKeys.length===0;case cw:return !1;case uw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({idBlock:{tagClass:3,tagNumber:0},value:[Ac.schema(s.originator||{})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:s.ukm||b})]}),_.schema(s.keyEncryptionAlgorithm||{}),Ic.schema(s.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,ij);let s=G(e,e,t.schema({names:{version:ul,originator:{names:{blockName:ll}},ukm:Bn,keyEncryptionAlgorithm:{names:{blockName:fl}},recipientEncryptedKeys:{names:{blockName:hl}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.originator=new Ac({schema:s.result.originator}),Bn in s.result&&(this.ukm=s.result.ukm),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Ic({schema:s.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};yf.CLASS_NAME="KeyAgreeRecipientInfo";var ec="keyIdentifier",Zi="date",Xi="other",aj=[ec,Zi,Xi],Cc=class t extends F{constructor(e={}){super(),this.keyIdentifier=y(e,ec,t.defaultValues(ec)),Zi in e&&(this.date=y(e,Zi,t.defaultValues(Zi))),Xi in e&&(this.other=y(e,Xi,t.defaultValues(Xi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ec:return new z;case Zi:return new ct;case Xi:return new Fn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ec:return s.isEqual(t.defaultValues(ec));case Zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Xi:return s.compareWithDefault("keyAttrId",s.keyAttrId)&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.keyIdentifier||b}),new ct({optional:!0,name:s.date||b}),Fn.schema(s.other||{})]})}fromSchema(e){W(e,aj);let s=G(e,e,t.schema({names:{keyIdentifier:ec,date:Zi,other:{names:{blockName:Xi}}}}));M.assertSchema(s,this.className),this.keyIdentifier=s.result.keyIdentifier,Zi in s.result&&(this.date=s.result.date),Xi in s.result&&(this.other=new Fn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};Cc.CLASS_NAME="KEKIdentifier";var dl="version",ml="kekid",pl="keyEncryptionAlgorithm",tc="encryptedKey",lw="preDefinedKEK",oj=[dl,ml,pl,tc],wf=class t extends F{constructor(e={}){super(),this.version=y(e,dl,t.defaultValues(dl)),this.kekid=y(e,ml,t.defaultValues(ml)),this.keyEncryptionAlgorithm=y(e,pl,t.defaultValues(pl)),this.encryptedKey=y(e,tc,t.defaultValues(tc)),this.preDefinedKEK=y(e,lw,t.defaultValues(lw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return 0;case ml:return new Cc;case pl:return new _;case tc:return new z;case lw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"KEKRecipientInfo":return s===t.defaultValues(dl);case ml:return s.compareWithDefault("keyIdentifier",s.keyIdentifier)&&!("date"in s)&&!("other"in s);case pl:return s.algorithmId===b&&!("algorithmParams"in s);case tc:return s.isEqual(t.defaultValues(tc));case lw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Cc.schema(s.kekid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,oj);let s=G(e,e,t.schema({names:{version:dl,kekid:{names:{blockName:ml}},keyEncryptionAlgorithm:{names:{blockName:pl}},encryptedKey:tc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.kekid=new Cc({schema:s.result.kekid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[new U({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};wf.CLASS_NAME="KEKRecipientInfo";var gl="version",Qi="keyDerivationAlgorithm",yl="keyEncryptionAlgorithm",sc="encryptedKey",fw="password",cj=[gl,Qi,yl,sc],bf=class t extends F{constructor(e={}){super(),this.version=y(e,gl,t.defaultValues(gl)),Qi in e&&(this.keyDerivationAlgorithm=y(e,Qi,t.defaultValues(Qi))),this.keyEncryptionAlgorithm=y(e,yl,t.defaultValues(yl)),this.encryptedKey=y(e,sc,t.defaultValues(sc)),this.password=y(e,fw,t.defaultValues(fw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gl:return -1;case Qi:return new _;case yl:return new _;case sc:return new z;case fw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case gl:return s===-1;case Qi:case yl:return s.algorithmId===b&&!("algorithmParams"in s);case sc:return s.isEqual(t.defaultValues(sc));case fw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:_.schema().valueBlock.value}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,cj);let s=G(e,e,t.schema({names:{version:gl,keyDerivationAlgorithm:Qi,keyEncryptionAlgorithm:{names:{blockName:yl}},encryptedKey:sc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Qi in s.result&&(this.keyDerivationAlgorithm=new _({schema:new T({value:s.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return e.push(new U({value:this.version})),this.keyDerivationAlgorithm&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};bf.CLASS_NAME="PasswordRecipientInfo";var wl="oriType",rc="oriValue",uj=[wl,rc],Lm=class t extends F{constructor(e={}){super(),this.oriType=y(e,wl,t.defaultValues(wl)),this.oriValue=y(e,rc,t.defaultValues(rc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wl:return b;case rc:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wl:return s===b;case rc:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.oriType||b}),new be({name:s.oriValue||b})]})}fromSchema(e){W(e,uj);let s=G(e,e,t.schema({names:{oriType:wl,oriValue:rc}}));M.assertSchema(s,this.className),this.oriType=s.result.oriType.valueBlock.toString(),this.oriValue=s.result.oriValue;}toSchema(){return new T({value:[new ae({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return t.compareWithDefault(rc,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};Lm.CLASS_NAME="OtherRecipientInfo";var hw="variant",md="value",lj=["blockName"],Vn=class t extends F{constructor(e={}){super(),this.variant=y(e,hw,t.defaultValues(hw)),md in e&&(this.value=y(e,md,t.defaultValues(md))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hw:return -1;case md:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case hw:return s===t.defaultValues(e);case md:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[df.schema({names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:yf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:wf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:bf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:Lm.schema().valueBlock.value})]})}fromSchema(e){W(e,lj);let s=G(e,e,t.schema({names:{blockName:"blockName"}}));if(M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new df({schema:s.result.blockName});else {let r=new T({value:s.result.blockName.valueBlock.value});switch(s.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new yf({schema:r});break;case 2:this.variant=3,this.value=new wf({schema:r});break;case 3:this.variant=4,this.value=new bf({schema:r});break;case 4:this.variant=5,this.value=new Lm({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Qe.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Vn.CLASS_NAME="RecipientInfo";var ea="hashAlgorithm",ta="maskGenAlgorithm",sa="pSourceAlgorithm",fj=[ea,ta,sa],uf=class t extends F{constructor(e={}){super(),this.hashAlgorithm=y(e,ea,t.defaultValues(ea)),this.maskGenAlgorithm=y(e,ta,t.defaultValues(ta)),this.pSourceAlgorithm=y(e,sa,t.defaultValues(sa)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ea:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case ta:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case sa:return new _({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[_.schema(s.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,fj);let s=G(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:ea}},maskGenAlgorithm:{names:{blockName:ta}},pSourceAlgorithm:{names:{blockName:sa}}}}));M.assertSchema(s,this.className),ea in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),ta in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),sa in s.result&&(this.pSourceAlgorithm=new _({schema:s.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(ea))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(ea))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};uf.CLASS_NAME="RSAESOAEPParams";var bl="keyInfo",ra="entityUInfo",Sl="suppPubInfo",hj=[bl,ra,Sl],Dm=class t extends F{constructor(e={}){super(),this.keyInfo=y(e,bl,t.defaultValues(bl)),ra in e&&(this.entityUInfo=y(e,ra,t.defaultValues(ra))),this.suppPubInfo=y(e,Sl,t.defaultValues(Sl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bl:return new _;case ra:return new z;case Sl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case bl:case ra:case Sl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyInfo||{}),new L({name:s.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new L({name:s.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,hj);let s=G(e,e,t.schema({names:{keyInfo:{names:{blockName:bl}},entityUInfo:ra,suppPubInfo:Sl}}));M.assertSchema(s,this.className),this.keyInfo=new _({schema:s.result.keyInfo}),ra in s.result&&(this.entityUInfo=s.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=s.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new T({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};Dm.CLASS_NAME="ECCCMSSharedInfo";var vl="version",na="originatorInfo",El="recipientInfos",xl="encryptedContentInfo",ia="unprotectedAttrs",dj=[vl,na,El,xl,ia],z4={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},mj={"P-256":256,"P-384":384,"P-521":528},Vm=class t extends F{constructor(e={}){super(),this.version=y(e,vl,t.defaultValues(vl)),na in e&&(this.originatorInfo=y(e,na,t.defaultValues(na))),this.recipientInfos=y(e,El,t.defaultValues(El)),this.encryptedContentInfo=y(e,xl,t.defaultValues(xl)),ia in e&&(this.unprotectedAttrs=y(e,ia,t.defaultValues(ia))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vl:return 0;case na:return new cf;case El:return [];case xl:return new Yt;case ia:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case vl:return s===t.defaultValues(e);case na:return s.certs.certificates.length===0&&s.crls.crls.length===0;case El:case ia:return s.length===0;case xl:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:cf.schema().valueBlock.value}),new bt({value:[new Ae({name:s.recipientInfos||b,value:Vn.schema()})]}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,dj);let s=G(e,e,t.schema({names:{version:vl,originatorInfo:na,recipientInfos:El,encryptedContentInfo:{names:{blockName:xl}},unprotectedAttrs:ia}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,na in s.result&&(this.originatorInfo=new cf({schema:new T({value:s.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(s.result.recipientInfos,r=>new Vn({schema:r})),this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),ia in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),this.originatorInfo&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new bt({value:Array.from(this.recipientInfos,s=>s.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,s=>s.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}addRecipientByCertificate(e,s,r,n=Ve(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},z4,s||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new _({algorithmId:u,algorithmParams:new wt});o=new uf({hashAlgorithm:l,maskGenAlgorithm:new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new wt;}let c=new df({version:0,rid:new Ft({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new _({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Vn({variant:1,value:c}));}break;case 2:{let a=new wa({variant:1,value:new Ft({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,s={},r,n=Ve(!0)){if(nt.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!s.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),s.keyIdentifier=i;}switch(s.hmacHashAlgorithm||(s.hmacHashAlgorithm="SHA-512"),s.iterationCount===void 0&&(s.iterationCount=2048),s.keyEncryptionAlgorithm||(s.keyEncryptionAlgorithm={name:"AES-KW",length:256}),s.keyEncryptionAlgorithmParams||(s.keyEncryptionAlgorithmParams=new wt),r){case 1:{let i=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new wf({version:4,kekid:new Cc({keyIdentifier:new z({valueHex:s.keyIdentifier})}),keyEncryptionAlgorithm:new _({algorithmId:i,algorithmParams:s.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Vn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:s.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ya({salt:new z({valueHex:a}),iterationCount:s.iterationCount,prf:new _({algorithmId:c,algorithmParams:new wt})}),l=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),p=new bf({version:0,keyDerivationAlgorithm:new _({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new _({algorithmId:l,algorithmParams:s.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Vn({variant:4,value:p}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,s,r,n=Ve(!0)){let i=Object.assign({},z4,r||{}),a=new wa({variant:2,value:new pf({subjectKeyIdentifier:new z({valueHex:s})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,s,r,n=Ve(!0)){let i=new gf({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:s.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new _({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:s.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let p={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new _({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Ic({encryptedKeys:[i]})},w=new yf(Object.assign(p,r));this.recipientInfos.push(new Vn({variant:2,value:w}));}async encrypt(e,s,r=Ve(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(s),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Yt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new _({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let p=async C=>{let D=this.recipientInfos[C].value,V,B;if(D.recipientPublicKey)V=D.recipientPublicKey.algorithm.namedCurve,B=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":V="P-256";break;case"1.3.132.0.34":V="P-384";break;case"1.3.132.0.35":V="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:V},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let k=mj[V],O=await r.generateKey({name:"ECDH",namedCurve:V},!0,["deriveBits"]),K=await r.exportKey("spki",O.publicKey),re=await r.deriveBits({name:"ECDH",public:B},O.privateKey,k),Q=new _({schema:D.keyEncryptionAlgorithm.algorithmParams}),oe=r.getAlgorithmByOID(Q.algorithmId,!0,"aesKWAlgorithm"),pe=oe.length,se=new ArrayBuffer(4),ce=new Uint8Array(se);for(let $=3;$>=0;$--)ce[$]=pe,pe>>=8;let Ge=new Dm({keyInfo:new _({algorithmId:Q.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:se})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),X=await V4(J.kdf,re,oe.length,Ge,r),ue=await r.importKey("raw",X,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ue,{name:"AES-KW"}),fe=new Ac;return fe.variant=3,fe.value=mf.fromBER(K),D.originator=fe,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:O.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(V.name==="RSA-OAEP"){let B=D.keyEncryptionAlgorithm.algorithmParams,k=new uf({schema:B});if(V.hash=r.getAlgorithmByOID(k.hashAlgorithm.algorithmId),!("name"in V.hash))throw new Error(`Incorrect OID for hash algorithm: ${k.hashAlgorithm.algorithmId}`)}try{let B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:V,usages:["encrypt","wrapKey"]}},r),k=await r.encrypt(B.algorithm,B,l);D.encryptedKey=new z({valueHex:k});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),B=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),V,!0,["wrapKey"]),k=await r.wrapKey("raw",c,B,V);D.encryptedKey=new z({valueHex:k});},v=async C=>{let D=this.recipientInfos[C].value,V;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{V=new ya({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let B=new Uint8Array(D.password),k=await r.importKey("raw",B,"PBKDF2",!1,["deriveKey"]),O=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),K="SHA-1";V.prf&&(K=r.getAlgorithmByOID(V.prf.algorithmId,!0,"prfAlgorithm").hash.name);let re=new Uint8Array(V.salt.valueBlock.valueHex),Q=V.iterationCount,oe=await r.deriveKey({name:"PBKDF2",hash:{name:K},salt:re,iterations:Q},k,O,!0,["wrapKey"]),pe=await r.wrapKey("raw",c,oe,O);D.encryptedKey=new z({valueHex:pe});},I=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:I.push(await w(C));break;case 2:I.push(await p(C));break;case 3:I.push(await E(C));break;case 4:I.push(await v(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return I}async decrypt(e,s,r=Ve(!0)){let n=s||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async I=>{let C=this.recipientInfos[I].value,D,V,B,k=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${I}`);D=J.valueBlock.toString();}else if(k.value.algorithm.algorithmParams){let J=k.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect originator for index ${I}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":V="P-256",B=256;break;case"1.3.132.0.34":V="P-384",B=384;break;case"1.3.132.0.35":V="P-521",B=528;break;default:throw new Error(`Incorrect curve OID for index ${I}`)}let O,K=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?O=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:V},!0,["deriveBits"]):(O=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(K=n.crypto.subtle)),"algorithmParams"in k.value.algorithm||(k.value.algorithm.algorithmParams=new ae({value:D}));let re=k.value.toSchema().toBER(!1),Q=await r.importKey("spki",re,{name:"ECDH",namedCurve:V},!0,[]),oe=await K.deriveBits({name:"ECDH",public:Q},O,B);async function pe(J){J=J||!1;let X=new _({schema:C.keyEncryptionAlgorithm.algorithmParams}),ue=r.getAlgorithmByOID(X.algorithmId,!0,"kwAlgorithm"),Ee=ue.length,fe=new ArrayBuffer(4),$=new Uint8Array(fe);for(let ze=3;ze>=0;ze--)$[ze]=Ee,Ee>>=8;let te={algorithmId:X.algorithmId};J&&(te.algorithmParams=new wt);let xe=new Dm({keyInfo:new _(te),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:fe})}).toSchema().toBER(!1),Re=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!Re.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return V4(Re.kdf,oe,ue.length,xe,r)}let se=await pe(),ce=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),ye=await ce(se),Ge=async J=>{let X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ue=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ue,!0,["decrypt"])};try{return await Ge(ye)}catch{let J=await pe(!0),X=await ce(J);return Ge(X)}},a=async I=>{let C=this.recipientInfos[I].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let re=C.keyEncryptionAlgorithm.algorithmParams,Q=new uf({schema:re});if(D.hash=r.getAlgorithmByOID(Q.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${Q.hashAlgorithm.algorithmId}`)}let V,B=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?V=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(V=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(B=n.crypto.subtle));let k=await B.decrypt(V.algorithm,V,C.encryptedKey.valueBlock.valueHexView),O=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,K=r.getAlgorithmByOID(O,!0,"contentEncryptionAlgorithm");if(!("name"in K))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${O}`);return r.importKey("raw",k,K,!0,["decrypt"])},o=async I=>{let C=this.recipientInfos[I].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),V=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,k=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!k.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,V,D,k,!0,["decrypt"])},c=async I=>{let C=this.recipientInfos[I].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ya({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let V=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),k=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",O=new Uint8Array(D.salt.valueBlock.valueHex),K=D.iterationCount,re=await r.deriveKey({name:"PBKDF2",hash:{name:k},salt:O,iterations:K},V,B,!0,["unwrapKey"]),Q=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,oe=r.getAlgorithmByOID(Q,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,re,B,oe,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,p=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let v=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:p.name,iv:E},u,v)}};Vm.CLASS_NAME="EnvelopedData";var Bu="safeContents",pd="parsedValue",Y4="contentInfos",Um=class t extends F{constructor(e={}){super(),this.safeContents=y(e,Bu,t.defaultValues(Bu)),pd in e&&(this.parsedValue=y(e,pd,t.defaultValues(pd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bu:return [];case pd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Bu:return s.length===0;case pd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.contentInfos||b,value:St.schema()})]})}fromSchema(e){W(e,[Y4]);let s=G(e,e,t.schema({names:{contentInfos:Y4}}));M.assertSchema(s,this.className),this.safeContents=Array.from(s.result.contentInfos,r=>new St({schema:r}));}toSchema(){return new T({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,s=Ve(!0)){if(Qe.assert(e,Bu),nt.assert(e.safeContents,Bu,"Array"),e.safeContents.length!==this.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case L6:{nt.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:ga.fromBER(o)});}break;case uk:{let o=new Vm({schema:n.content});Qe.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,p=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},s);this.parsedValue.safeContents.push({privacyMode:2,value:ga.fromBER(p)});}break;case lk:{let o=new Bc({schema:n.content});Qe.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},s);this.parsedValue.safeContents.push({privacyMode:1,value:ga.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(nt.assert(this.parsedValue,"this.parsedValue","object"),nt.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),nt.assert(e,"parameters","object"),Qe.assert(e,"safeContents"),nt.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Qe.assert("content",n,"privacyMode","value"),nt.assert(n.value,"content.value",ga),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Bc,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new Vm,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Qe.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,s),await i.encrypt(c,a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};Um.CLASS_NAME="AuthenticatedSafe";var nc="hashAlgorithm",Al="issuerNameHash",Il="issuerKeyHash",ic="serialNumber",pj=[nc,Al,Il,ic],Ns=class t extends F{static async create(e,s,r=Ve(!0)){let n=new t;return await n.createForCertificate(e,s,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,nc,t.defaultValues(nc)),this.issuerNameHash=y(e,Al,t.defaultValues(Al)),this.issuerKeyHash=y(e,Il,t.defaultValues(Il)),this.serialNumber=y(e,ic,t.defaultValues(ic)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case nc:return new _;case Al:case Il:return new z;case ic:return new U;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case nc:return s.algorithmId===b&&!("algorithmParams"in s);case Al:case Il:case ic:return s.isEqual(t.defaultValues(ic));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithmObject||{names:{blockName:s.hashAlgorithm||b}}),new z({name:s.issuerNameHash||b}),new z({name:s.issuerKeyHash||b}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,pj);let s=G(e,e,t.schema({names:{hashAlgorithm:nc,issuerNameHash:Al,issuerKeyHash:Il,serialNumber:ic}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.issuerNameHash=s.result.issuerNameHash,this.issuerKeyHash=s.result.issuerKeyHash,this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,s,r=Ve(!0)){Qe.assert(s,nc,"issuerCertificate");let n=r.getOIDByAlgorithm({name:s.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new _({algorithmId:n,algorithmParams:new wt});let i=s.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:s.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:s.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};Ns.CLASS_NAME="CertID";var Cl="certID",Nl="certStatus",Tl="thisUpdate",aa="nextUpdate",ac="singleExtensions",gj=[Cl,Nl,Tl,aa,ac],_m=class t extends F{constructor(e={}){super(),this.certID=y(e,Cl,t.defaultValues(Cl)),this.certStatus=y(e,Nl,t.defaultValues(Nl)),this.thisUpdate=y(e,Tl,t.defaultValues(Tl)),aa in e&&(this.nextUpdate=y(e,aa,t.defaultValues(aa))),ac in e&&(this.singleExtensions=y(e,ac,t.defaultValues(ac))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return new Ns;case Nl:return {};case Tl:case aa:return new Date(0,0,0);case ac:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Cl:return Ns.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Ns.compareWithDefault("issuerNameHash",s.issuerNameHash)&&Ns.compareWithDefault("issuerKeyHash",s.issuerKeyHash)&&Ns.compareWithDefault("serialNumber",s.serialNumber);case Nl:return Object.keys(s).length===0;case Tl:case aa:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.certID||{}),new ut({value:[new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new L({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new ct,new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ur]})]}),new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new ct({name:s.thisUpdate||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ct({name:s.nextUpdate||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.singleExtensions||{})]})]})}fromSchema(e){W(e,gj);let s=G(e,e,t.schema({names:{certID:{names:{blockName:Cl}},certStatus:Nl,thisUpdate:Tl,nextUpdate:aa,singleExtensions:{names:{blockName:ac}}}}));M.assertSchema(s,this.className),this.certID=new Ns({schema:s.result.certID}),this.certStatus=s.result.certStatus,this.thisUpdate=s.result.thisUpdate.toDate(),aa in s.result&&(this.nextUpdate=s.result.nextUpdate.toDate()),ac in s.result&&(this.singleExtensions=Array.from(s.result.singleExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new ct({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ct({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.singleExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,s=>s.toJSON())),e}};_m.CLASS_NAME="SingleResponse";var dw="tbs",oc="version",J0="responderID",z0="producedAt",Y0="responses",kl="responseExtensions",Pc="ResponseData",Iw=`${Pc}.${oc}`,Bl=`${Pc}.${J0}`,n6=`${Pc}.${z0}`,i6=`${Pc}.${Y0}`,Cw=`${Pc}.${kl}`,yj=[Pc,Iw,Bl,n6,i6,Cw],Sr=class t extends F{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,dw,t.defaultValues(dw))),oc in e&&(this.version=y(e,oc,t.defaultValues(oc))),this.responderID=y(e,J0,t.defaultValues(J0)),this.producedAt=y(e,z0,t.defaultValues(z0)),this.responses=y(e,Y0,t.defaultValues(Y0)),kl in e&&(this.responseExtensions=y(e,kl,t.defaultValues(kl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oc:return 0;case dw:return kt;case J0:return {};case z0:return new Date(0,0,0);case Y0:case kl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case dw:return s.byteLength===0;case J0:return Object.keys(s).length===0;case z0:return s===t.defaultValues(e);case Y0:case kl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Pc,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.version||Iw})]}),new ut({value:[new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:1},value:[lt.schema(s.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:s.ResponseDataByKey||"ResponseData.byKey"})]})]}),new ct({name:s.producedAt||n6}),new T({value:[new Ae({name:i6,value:_m.schema(s.response||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.extensions||{names:{blockName:Cw}})]})]})}fromSchema(e){W(e,yj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.ResponseData.valueBeforeDecodeView,Iw in s.result&&(this.version=s.result[Iw].valueBlock.valueDec),s.result[Bl].idBlock.tagNumber===1?this.responderID=new lt({schema:s.result[Bl].valueBlock.value[0]}):this.responderID=s.result[Bl].valueBlock.value[0],this.producedAt=s.result[n6].toDate(),this.responses=Array.from(s.result[i6],r=>new _m({schema:r})),Cw in s.result&&(this.responseExtensions=Array.from(s.result[Cw].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Response Data"),s=r.result;}else {let r=[];oc in this&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.responderID instanceof lt?r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new ct({valueDate:this.producedAt})),r.push(new T({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return oc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,s=>s.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,s=>s.toJSON())),e}};Sr.CLASS_NAME="ResponseData";var jA="trustedCerts",MA="certs",$A="crls",FA="ocsps",qA="checkDate",GA="findOrigin",KA="findIssuer",yc;(function(t){t[t.unknown=-1]="unknown",t[t.success=0]="success",t[t.noRevocation=11]="noRevocation",t[t.noPath=60]="noPath",t[t.noValidPath=97]="noValidPath";})(yc||(yc={}));var ma=class t extends Error{constructor(e,s){super(s),this.name=t.NAME,this.code=e,this.message=s;}};ma.NAME="ChainValidationError";function wj(t,e){for(let s=0;s<e.length;s++)if(Se.BufferSourceConverter.isEqual(t.tbsView,e[s].tbsView))return !0;return !1}var Hm=class t{constructor(e={}){this.trustedCerts=y(e,jA,this.defaultValues(jA)),this.certs=y(e,MA,this.defaultValues(MA)),this.crls=y(e,$A,this.defaultValues($A)),this.ocsps=y(e,FA,this.defaultValues(FA)),this.checkDate=y(e,qA,this.defaultValues(qA)),this.findOrigin=y(e,GA,this.defaultValues(GA)),this.findIssuer=y(e,KA,this.defaultValues(KA));}static defaultFindOrigin(e,s){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of s.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of s.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,s,r=Ve(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===O6&&u.parsedValue instanceof ym){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let p=!1;for(let w of u.extensions)if(w.extnID===A_&&w.parsedValue){p=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(p)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of s.trustedCerts)c(u);for(let u of s.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case jA:return [];case MA:return [];case $A:return [];case FA:return [];case qA:return new Date;case GA:return t.defaultFindOrigin;case KA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,s=Ve(!0)){let r=[],n=async(v,I)=>{let C=[];function D(B){let k=!0;for(let O=0;O<B.length;O++){for(let K=0;K<B.length;K++)if(K!==O&&B[O]===B[K]){k=!1;break}if(!k)break}return k}if(wj(v,this.trustedCerts))return [[v]];let V=await this.findIssuer(v,this,I);if(V.length===0)throw new Error("No valid certificate paths found");for(let B=0;B<V.length;B++){if(Se.BufferSourceConverter.isEqual(V[B].tbsView,v.tbsView)){C.push([V[B]]);continue}let k=await n(V[B],I);for(let O=0;O<k.length;O++){let K=k[O].slice();K.splice(0,0,V[B]),D(K)?C.push(K):C.push(k[O]);}}return C},i=async v=>{let I=[],C=[],D=[];if(I.push(...r.filter(V=>v.issuer.isEqual(V.subject))),I.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(V=>V.issuer.isEqual(v.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let V=0;V<C.length;V++){let B=C[V];if(!(B.nextUpdate&&B.nextUpdate.value<this.checkDate))for(let k=0;k<I.length;k++)try{if(await C[V].verify({issuerCertificate:I[k]},s)){D.push({crl:C[V],certificate:I[k]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(v,I)=>{let C=s.getAlgorithmByOID(v.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let B=await this.ocsps[D].getCertificateStatus(v,I,s);if(B.isForCertificate)return B.status===0?0:1}return 2};async function o(v,I=!1){let C=!1,D=!1,V=!1,B=!1;if(v.extensions){for(let k=0;k<v.extensions.length;k++){let O=v.extensions[k];if(O.critical&&!O.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${O.extnID}`};if(O.extnID===I_){V=!0;let K=new Uint8Array(O.parsedValue.valueBlock.valueHex);(K[0]&4)===4&&(D=!0),(K[0]&2)===2&&(B=!0);}O.extnID===B6&&"cA"in O.parsedValue&&O.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(V===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&V===!0&&I&&B===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(v,I)=>{for(let C=0;C<v.length;C++)if(v[C].notBefore.value>I||v[C].notAfter.value<I)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(v.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=v.length-2;C>=0;C--)if(v[C].issuer.isEqual(v[C].subject)===!1&&v[C].issuer.isEqual(v[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<v.length-1;C++){let D=2,V={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(v[C],v[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(V=await i(v[C]),V.status===0&&V.result)for(let B=0;B<V.result.length;B++){if(V.result[B].crl.isCertificateRevoked(v[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(V.result[B].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&V.status===2&&e){let B=v[C+1],k=!1;if(B.extensions)for(let O of B.extensions)switch(O.extnID){case nk:case P6:case R6:k=!0;break}if(k)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}}for(let[C,D]of v.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let v=0;v<r.length;v++)for(let I=0;I<r.length;I++)if(v!==I&&Se.BufferSourceConverter.isEqual(r[v].tbsView,r[I].tbsView)){r.splice(I,1),v=0;break}let u=r[r.length-1],l,p=[u];if(l=await n(u,s),l.length===0)throw new ma(yc.noPath,"Unable to find certificate path");for(let v=l.length-1;v>=0;v--){let I=!1;for(let C=0;C<l[v].length;C++){let D=l[v][C];for(let V=0;V<this.trustedCerts.length;V++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[V].tbsView)){I=!0;break}if(I)break}I||l.splice(v,1);}if(l.length===0)throw new ma(yc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let v=0;v<l.length;v++)l[v].length<w&&(w=l[v].length,E=v);for(let v=0;v<l[E].length;v++)p.push(l[E][v]);if(l=await c(p,this.checkDate),l.result===!1)throw l;return p}async verify(e={},s=Ve(!0)){function r(c,u){let l=da(c),p=da(u),w=l.split("."),E=p.split("."),v=w.length,I=E.length;if(v===0||I===0||v<I)return !1;for(let C=0;C<v;C++)if(w[C].length===0)return !1;for(let C=0;C<I;C++)if(E[C].length===0){if(C===0){if(I===1)return !1;continue}return !1}for(let C=0;C<I;C++)if(E[I-1-C].length!==0&&w[v-1-C].localeCompare(E[I-1-C])!==0)return !1;return !0}function n(c,u){let l=da(c),p=da(u),w=l.split("@"),E=p.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let I=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:I.length===C.length}return !1}return l.localeCompare(p)===0}function i(c,u){let l=da(c),p=da(u),w=l.split("/");if(p.split("/").length>1)return !1;if(w.length>1){for(let I=0;I<w.length;I++)if(w[I].length>0&&w[I].charAt(w[I].length-1)!==":"){l=w[I].split(":")[0];break}}if(r(l,p)){let I=l.split("."),C=p.split(".");return C[0].length===0?!0:I.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,p=u.valueBlock.valueHexView;if(l.length===4&&p.length===8){for(let w=0;w<4;w++)if((l[w]^p[w])&p[w+4])return !1;return !0}if(l.length===16&&p.length===32){for(let w=0;w<16;w++)if((l[w]^p[w])&p[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,p=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let v=p;v<c.typesAndValues.length;v++)if(E=c.typesAndValues[v].isEqual(u.typesAndValues[w]),c.typesAndValues[v].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(p===0||p===v){p=v+1;break}else return !1;if(E===!1)return !1}return p===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Ys],l=e.initialExplicitPolicy||!1,p=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],v=e.initialExcludedSubtreesSet||[],I=e.initialRequiredNameForms||[],C=l,D=p,V=w,B=[!1,!1,!1],k=0,O=0,K=0,re=E,Q=v,oe=I,pe=1;this.certs=await this.sort(c,s);let se=[];se.push(Ys);let ce=[],ye=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)ye[$]=!0;ce.push(ye);let Ge=new Array(this.certs.length-1),J=new Array(this.certs.length-1),X=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$];if(te.extensions){for(let ie=0;ie<te.extensions.length;ie++){let xe=te.extensions[ie];if(xe.extnID===ik){J[$]=xe.parsedValue;for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){delete ce[Re][$];break}for(let Re=0;Re<xe.parsedValue.certificatePolicies.length;Re++){let ze=-1,Ut=xe.parsedValue.certificatePolicies[Re].policyIdentifier;for(let Ke=0;Ke<se.length;Ke++)if(Ut===se[Ke]){ze=Ke;break}if(ze===-1){se.push(Ut);let Ke=new Array(this.certs.length-1);Ke[$]=!0,ce.push(Ke);}else ce[ze][$]=!0;}}if(xe.extnID===ak){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};Ge[$]=xe.parsedValue;}xe.extnID===ok&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,X=$):B[0]===!1?(B[0]=!0,k=xe.parsedValue.requireExplicitPolicy):k=k>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:k,xe.parsedValue.inhibitPolicyMapping===0?D=!0:B[1]===!1?(B[1]=!0,O=xe.parsedValue.inhibitPolicyMapping+1):O=O>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:O),xe.extnID===R_&&V===!1&&(xe.parsedValue.valueBlock.valueDec===0?V=!0:B[2]===!1?(B[2]=!0,K=xe.parsedValue.valueBlock.valueDec):K=K>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:K);}if(V===!0){let ie=-1;for(let xe=0;xe<se.length;xe++)if(se[xe]===Ys){ie=xe;break}ie!==-1&&delete ce[0][$];}C===!1&&B[0]===!0&&(k--,k===0&&(C=!0,X=$,B[0]=!1)),D===!1&&B[1]===!0&&(O--,O===0&&(D=!0,B[1]=!1)),V===!1&&B[2]===!0&&(K--,K===0&&(V=!0,B[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof Ge[$+1]<"u")for(let te=0;te<Ge[$+1].mappings.length;te++){if(Ge[$+1].mappings[te].issuerDomainPolicy===Ys||Ge[$+1].mappings[te].subjectDomainPolicy===Ys)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ie=-1,xe=-1;for(let Re=0;Re<se.length;Re++)se[Re]===Ge[$+1].mappings[te].issuerDomainPolicy&&(ie=Re),se[Re]===Ge[$+1].mappings[te].subjectDomainPolicy&&(xe=Re);typeof ce[ie][$]<"u"&&delete ce[ie][$];for(let Re=0;Re<J[$].certificatePolicies.length;Re++)if(Ge[$+1].mappings[te].subjectDomainPolicy===J[$].certificatePolicies[Re].policyIdentifier&&ie!==-1&&xe!==-1)for(let ze=0;ze<=$;ze++)typeof ce[xe][ze]<"u"&&(ce[ie][ze]=!0,delete ce[xe][ze]);}for(let $=0;$<se.length;$++)if(se[$]===Ys)for(let te=0;te<X;te++)delete ce[$][te];let ue=[];for(let $=0;$<ce.length;$++){let te=!0;for(let ie=0;ie<this.certs.length-1;ie++){let xe=!1;if(ie<X&&se[$]===Ys&&se.length>1){te=!1;break}if(typeof ce[$][ie]>"u"){if(ie>=X){for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){ce[Re][ie]===!0&&(xe=!0);break}}if(!xe){te=!1;break}}}te===!0&&ue.push(se[$]);}let Ee=[];if(u.length===1&&u[0]===Ys&&C===!1)Ee=u;else if(ue.length===1&&ue[0]===Ys)Ee=u;else for(let $=0;$<ue.length;$++)for(let te=0;te<u.length;te++)if(u[te]===ue[$]||u[te]===Ys){Ee.push(ue[$]);break}let fe={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ue,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:Ge,certificatePath:this.certs};if(Ee.length===0||fe.result===!1)return fe;pe=1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$],ie=[],xe=[],Re=[];if(te.extensions)for(let je=0;je<te.extensions.length;je++){let de=te.extensions[je];de.extnID===rk&&("permittedSubtrees"in de.parsedValue&&(xe=xe.concat(de.parsedValue.permittedSubtrees)),"excludedSubtrees"in de.parsedValue&&(Re=Re.concat(de.parsedValue.excludedSubtrees))),de.extnID===Q4&&(ie=ie.concat(de.parsedValue.altNames));}let ze=oe.length<=0;for(let je=0;je<oe.length;je++)switch(oe[je].base.type){case 4:{if(oe[je].base.value.typesAndValues.length!==te.subject.typesAndValues.length)continue;ze=!0;for(let de=0;de<te.subject.typesAndValues.length;de++)if(te.subject.typesAndValues[de].type!==oe[je].base.value.typesAndValues[de].type){ze=!1;break}if(ze===!0)break}break;default:}if(ze===!1)throw fe.result=!1,fe.resultCode=21,fe.resultMessage="No necessary name form found",fe;let Ut=[[],[],[],[],[]];for(let je=0;je<re.length;je++)switch(re[je].base.type){case 1:Ut[0].push(re[je]);break;case 2:Ut[1].push(re[je]);break;case 4:Ut[2].push(re[je]);break;case 6:Ut[3].push(re[je]);break;case 7:Ut[4].push(re[je]);break;default:}for(let je=0;je<5;je++){let de=!1,as=!1,ys=Ut[je];for(let Bt=0;Bt<ys.length;Bt++){switch(je){case 0:if(ie.length>0)for(let qe=0;qe<ie.length;qe++)ie[qe].type===1&&(as=!0,de=de||n(ie[qe].value,ys[Bt].base.value));else for(let qe=0;qe<te.subject.typesAndValues.length;qe++)(te.subject.typesAndValues[qe].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[qe].type==="0.9.2342.19200300.100.1.3")&&(as=!0,de=de||n(te.subject.typesAndValues[qe].value.valueBlock.value,ys[Bt].base.value));break;case 1:if(ie.length>0)for(let qe=0;qe<ie.length;qe++)ie[qe].type===2&&(as=!0,de=de||r(ie[qe].value,ys[Bt].base.value));break;case 2:as=!0,de=o(te.subject,ys[Bt].base.value);break;case 3:if(ie.length>0)for(let qe=0;qe<ie.length;qe++)ie[qe].type===6&&(as=!0,de=de||i(ie[qe].value,ys[Bt].base.value));break;case 4:if(ie.length>0)for(let qe=0;qe<ie.length;qe++)ie[qe].type===7&&(as=!0,de=de||a(ie[qe].value,ys[Bt].base.value));break;default:}if(de)break}if(de===!1&&ys.length>0&&as)throw fe.result=!1,fe.resultCode=41,fe.resultMessage='Failed to meet "permitted sub-trees" name constraint',fe}let Ke=!1;for(let je=0;je<Q.length;je++){switch(Q[je].base.type){case 1:if(ie.length>=0)for(let de=0;de<ie.length;de++)ie[de].type===1&&(Ke=Ke||n(ie[de].value,Q[je].base.value));else for(let de=0;de<te.subject.typesAndValues.length;de++)(te.subject.typesAndValues[de].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[de].type==="0.9.2342.19200300.100.1.3")&&(Ke=Ke||n(te.subject.typesAndValues[de].value.valueBlock.value,Q[je].base.value));break;case 2:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===2&&(Ke=Ke||r(ie[de].value,Q[je].base.value));break;case 4:Ke=Ke||o(te.subject,Q[je].base.value);break;case 6:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===6&&(Ke=Ke||i(ie[de].value,Q[je].base.value));break;case 7:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===7&&(Ke=Ke||a(ie[de].value,Q[je].base.value));break;default:}if(Ke)break}if(Ke===!0)throw fe.result=!1,fe.resultCode=42,fe.resultMessage='Failed to meet "excluded sub-trees" name constraint',fe;re=re.concat(xe),Q=Q.concat(Re);}return fe}catch(c){return c instanceof Error?c instanceof ma?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:yc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},Nw="tbsResponseData",Z0="signatureAlgorithm",X0="signature",Pl="certs",jm="BasicOCSPResponse",a6=`${jm}.${Nw}`,o6=`${jm}.${Z0}`,c6=`${jm}.${X0}`,Tw=`${jm}.${Pl}`,bj=[a6,o6,c6,Tw],Nc=class t extends F{constructor(e={}){super(),this.tbsResponseData=y(e,Nw,t.defaultValues(Nw)),this.signatureAlgorithm=y(e,Z0,t.defaultValues(Z0)),this.signature=y(e,X0,t.defaultValues(X0)),Pl in e&&(this.certs=y(e,Pl,t.defaultValues(Pl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nw:return new Sr;case Z0:return new _;case X0:return new _e;case Pl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"type":{let r=Sr.compareWithDefault("tbs",s.tbs)&&Sr.compareWithDefault("responderID",s.responderID)&&Sr.compareWithDefault("producedAt",s.producedAt)&&Sr.compareWithDefault("responses",s.responses);return "responseExtensions"in s&&(r=r&&Sr.compareWithDefault("responseExtensions",s.responseExtensions)),r}case Z0:return s.algorithmId===b&&!("algorithmParams"in s);case X0:return s.isEqual(t.defaultValues(e));case Pl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||jm,value:[Sr.schema(s.tbsResponseData||{names:{blockName:a6}}),_.schema(s.signatureAlgorithm||{names:{blockName:o6}}),new _e({name:s.signature||c6}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:Tw,value:is.schema(s.certs||{})})]})]})]})}fromSchema(e){W(e,bj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsResponseData=new Sr({schema:s.result[a6]}),this.signatureAlgorithm=new _({schema:s.result[o6]}),this.signature=s.result[c6],Tw in s.result&&(this.certs=Array.from(s.result[Tw],r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}async getCertificateStatus(e,s,r=Ve(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new Ns;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:s},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof lt:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let p=await s.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(p,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await gk(u,r);l&&a.push(l);}if(!(await new Hm({certs:a,trustedCerts:i}).verify({},s)).result)throw new Error("Validation of signer's certificate failed");return s.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Nc.CLASS_NAME="BasicOCSPResponse";var WA="tbs",JA="version",zA="subject",YA="subjectPublicKeyInfo",Pu="attributes",Q0="signatureAlgorithm",em="signatureValue",Ef="CertificationRequestInfo",F6=`${Ef}.version`,q6=`${Ef}.subject`,G6=`${Ef}.subjectPublicKeyInfo`,Sb=`${Ef}.attributes`,Sj=[Ef,F6,q6,G6,Sb,Q0,em];function vj(t={}){let e=y(t,"names",{});return new T({name:e.CertificationRequestInfo||Ef,value:[new U({name:e.CertificationRequestInfoVersion||F6}),lt.schema(e.subject||{names:{blockName:q6}}),Ks.schema({names:{blockName:G6}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||Sb,value:xt.schema(e.attributes||{})})]})]})}var u6=class t extends F{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,WA,t.defaultValues(WA))),this.version=y(e,JA,t.defaultValues(JA)),this.subject=y(e,zA,t.defaultValues(zA)),this.subjectPublicKeyInfo=y(e,YA,t.defaultValues(YA)),Pu in e&&(this.attributes=y(e,Pu,t.defaultValues(Pu))),this.signatureAlgorithm=y(e,Q0,t.defaultValues(Q0)),this.signatureValue=y(e,em,t.defaultValues(em)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case WA:return kt;case JA:return 0;case zA:return new lt;case YA:return new Ks;case Pu:return [];case Q0:return new _;case em:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({value:[vj(s.certificationRequestInfo||{}),new T({name:s.signatureAlgorithm||Q0,value:[new ae,new be({optional:!0})]}),new _e({name:s.signatureValue||em})]})}fromSchema(e){W(e,Sj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=s.result[F6].valueBlock.valueDec,this.subject=new lt({schema:s.result[q6]}),this.subjectPublicKeyInfo=new Ks({schema:s.result[G6]}),Sb in s.result&&(this.attributes=Array.from(s.result[Sb],r=>new xt({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[new U({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Pu in this&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],s=>s.toSchema())})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);M.assert(r,"PKCS#10 Certificate Request"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Pu in this&&(e.attributes=Array.from(this.attributes||[],s=>s.toJSON())),e}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e=Ve(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};u6.CLASS_NAME="CertificationRequest";var cc="digestAlgorithm",uc="digest",Ej=[cc,uc],_n=class t extends F{constructor(e={}){super(),this.digestAlgorithm=y(e,cc,t.defaultValues(cc)),this.digest=y(e,uc,t.defaultValues(uc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cc:return new _;case uc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cc:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case uc:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.digestAlgorithm||{names:{blockName:cc}}),new z({name:s.digest||uc})]})}fromSchema(e){W(e,Ej);let s=G(e,e,t.schema({names:{digestAlgorithm:{names:{blockName:cc}},digest:uc}}));M.assertSchema(s,this.className),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.digest=s.result.digest;}toSchema(){return new T({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};_n.CLASS_NAME="DigestInfo";var Ol="eContentType",br="eContent",xj=[Ol,br],Hn=class t extends F{constructor(e={}){if(super(),this.eContentType=y(e,Ol,t.defaultValues(Ol)),br in e&&(this.eContent=y(e,br,t.defaultValues(br)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case br:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ol:return s===b;case br:return s.idBlock.tagClass===1&&s.idBlock.tagNumber===4?s.isEqual(t.defaultValues(br)):!1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.eContentType||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.eContent||b})]})]})}fromSchema(e){W(e,xj);let s=G(e,e,t.schema({names:{eContentType:Ol,eContent:br}}));M.assertSchema(s,this.className),this.eContentType=s.result.eContentType.valueBlock.toString(),br in s.result&&(this.eContent=s.result.eContent);}toSchema(){let e=[];return e.push(new ae({value:this.eContentType})),this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new T({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Hn.CLASS_NAME="EncapsulatedContentInfo";var lc="mac",fc="macSalt",Pn="iterations",Aj=[lc,fc,Pn],jr=class t extends F{constructor(e={}){super(),this.mac=y(e,lc,t.defaultValues(lc)),this.macSalt=y(e,fc,t.defaultValues(fc)),Pn in e&&(this.iterations=y(e,Pn,t.defaultValues(Pn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return new _n;case fc:return new z;case Pn:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case lc:return _n.compareWithDefault("digestAlgorithm",s.digestAlgorithm)&&_n.compareWithDefault("digest",s.digest);case fc:return s.isEqual(t.defaultValues(e));case Pn:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!0,value:[_n.schema(s.mac||{names:{blockName:lc}}),new z({name:s.macSalt||fc}),new U({optional:!0,name:s.iterations||Pn})]})}fromSchema(e){W(e,Aj);let s=G(e,e,t.schema({names:{mac:{names:{blockName:lc}},macSalt:fc,iterations:Pn}}));M.assertSchema(s,this.className),this.mac=new _n({schema:s.result.mac}),this.macSalt=s.result.macSalt,Pn in s.result&&(this.iterations=s.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new U({value:this.iterations})),new T({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};jr.CLASS_NAME="MacData";var wc="hashAlgorithm",bc="hashedMessage",Ij=[wc,bc],Gs=class t extends F{static async create(e,s,r=Ve(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,s);return new t({hashAlgorithm:new _({algorithmId:n,algorithmParams:new wt}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,wc,t.defaultValues(wc)),this.hashedMessage=y(e,bc,t.defaultValues(bc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wc:return new _;case bc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wc:return s.algorithmId===b&&!("algorithmParams"in s);case bc:return s.isEqual(t.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithm||{}),new z({name:s.hashedMessage||b})]})}fromSchema(e){W(e,Ij);let s=G(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:wc}},hashedMessage:bc}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.hashedMessage=s.result.hashedMessage;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Gs.CLASS_NAME="MessageImprint";var Rl="reqCert",oa="singleRequestExtensions",Cj=[Rl,oa],Sf=class t extends F{constructor(e={}){super(),this.reqCert=y(e,Rl,t.defaultValues(Rl)),oa in e&&(this.singleRequestExtensions=y(e,oa,t.defaultValues(oa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Rl:return new Ns;case oa:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Rl:return s.isEqual(t.defaultValues(e));case oa:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.reqCert||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(s.extensions||{names:{blockName:s.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Cj);let s=G(e,e,t.schema({names:{reqCert:{names:{blockName:Rl}},extensions:{names:{blockName:oa}}}}));M.assertSchema(s,this.className),this.reqCert=new Ns({schema:s.result.reqCert}),oa in s.result&&(this.singleRequestExtensions=Array.from(s.result.singleRequestExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.singleRequestExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,s=>s.toJSON())),e}};Sf.CLASS_NAME="Request";var mw="tbs",Ll="version",Dl="requestorName",pw="requestList",Vl="requestExtensions",xf="TBSRequest",kw=`${xf}.${Ll}`,Bw=`${xf}.${Dl}`,l6=`${xf}.requests`,Pw=`${xf}.${Vl}`,Nj=[xf,kw,Bw,l6,Pw],vr=class t extends F{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,mw,t.defaultValues(mw))),Ll in e&&(this.version=y(e,Ll,t.defaultValues(Ll))),Dl in e&&(this.requestorName=y(e,Dl,t.defaultValues(Dl))),this.requestList=y(e,pw,t.defaultValues(pw)),Vl in e&&(this.requestExtensions=y(e,Vl,t.defaultValues(Vl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case mw:return kt;case Ll:return 0;case Dl:return new it;case pw:case Vl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case mw:return s.byteLength===0;case Ll:return s===t.defaultValues(e);case Dl:return s.type===it.defaultValues("type")&&Object.keys(s.value).length===0;case pw:case Vl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xf,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.TBSRequestVersion||kw})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[it.schema(s.requestorName||{names:{blockName:Bw}})]}),new T({name:s.requestList||"TBSRequest.requestList",value:[new Ae({name:s.requests||l6,value:Sf.schema(s.requestNames||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Rt.schema(s.extensions||{names:{blockName:s.requestExtensions||Pw}})]})]})}fromSchema(e){W(e,Nj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.TBSRequest.valueBeforeDecodeView,kw in s.result&&(this.version=s.result[kw].valueBlock.valueDec),Bw in s.result&&(this.requestorName=new it({schema:s.result[Bw]})),this.requestList=Array.from(s.result[l6],r=>new Sf({schema:r})),Pw in s.result&&(this.requestExtensions=Array.from(s.result[Pw].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);if(M.assert(r,"TBS Request"),!(r.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");s=r.result;}else {let r=[];this.version!==void 0&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.requestorName&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new T({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new T({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,s=>s.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,s=>s.toJSON())),e}};vr.CLASS_NAME="TBSRequest";var Ou="signatureAlgorithm",Ru="signature",Ti="certs",Un=class t extends F{constructor(e={}){super(),this.signatureAlgorithm=y(e,Ou,t.defaultValues(Ou)),this.signature=y(e,Ru,t.defaultValues(Ru)),Ti in e&&(this.certs=y(e,Ti,t.defaultValues(Ti))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ou:return new _;case Ru:return new _e;case Ti:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ou:return s.algorithmId===b&&!("algorithmParams"in s);case Ru:return s.isEqual(t.defaultValues(e));case Ti:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.signatureAlgorithm||{}),new _e({name:s.signature||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:s.certs||b,value:is.schema({})})]})]})]})}fromSchema(e){W(e,[Ou,Ru,Ti]);let s=G(e,e,t.schema({names:{signatureAlgorithm:{names:{blockName:Ou}},signature:Ru,certs:Ti}}));M.assertSchema(s,this.className),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signature=s.result.signature,Ti in s.result&&(this.certs=Array.from(s.result.certs,r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}};Un.CLASS_NAME="Signature";var Ul="tbsRequest",ca="optionalSignature",Tj=[Ul,ca],f6=class t extends F{constructor(e={}){super(),this.tbsRequest=y(e,Ul,t.defaultValues(Ul)),ca in e&&(this.optionalSignature=y(e,ca,t.defaultValues(ca))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ul:return new vr;case ca:return new Un;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ul:return vr.compareWithDefault("tbs",s.tbs)&&vr.compareWithDefault("version",s.version)&&vr.compareWithDefault("requestorName",s.requestorName)&&vr.compareWithDefault("requestList",s.requestList)&&vr.compareWithDefault("requestExtensions",s.requestExtensions);case ca:return Un.compareWithDefault("signatureAlgorithm",s.signatureAlgorithm)&&Un.compareWithDefault("signature",s.signature)&&Un.compareWithDefault("certs",s.certs);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPRequest",value:[vr.schema(s.tbsRequest||{names:{blockName:Ul}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Un.schema(s.optionalSignature||{names:{blockName:ca}})]})]})}fromSchema(e){W(e,Tj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.tbsRequest=new vr({schema:s.result.tbsRequest}),ca in s.result&&(this.optionalSignature=new Un({schema:s.result.optionalSignature}));}toSchema(e=!1){let s=[];return s.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&s.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new T({value:s})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,s,r=Ve(!0)){let n=new Ns;await n.createForCertificate(e,s,r),this.tbsRequest.requestList.push(new Sf({reqCert:n}));}async sign(e,s="SHA-1",r=Ve(!0)){if(Qe.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,s),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new _e({valueHex:o});}verify(){}};f6.CLASS_NAME="OCSPRequest";var _l="responseType",Hl="response",kj=[_l,Hl],pa=class t extends F{constructor(e={}){super(),this.responseType=y(e,_l,t.defaultValues(_l)),this.response=y(e,Hl,t.defaultValues(Hl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return b;case Hl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case _l:return s===b;case Hl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.responseType||b}),new z({name:s.response||b})]})}fromSchema(e){W(e,kj);let s=G(e,e,t.schema({names:{responseType:_l,response:Hl}}));M.assertSchema(s,this.className),this.responseType=s.result.responseType.valueBlock.toString(),this.response=s.result.response;}toSchema(){return new T({value:[new ae({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};pa.CLASS_NAME="ResponseBytes";var Lu="responseStatus",En="responseBytes",h6=class t extends F{constructor(e={}){super(),this.responseStatus=y(e,Lu,t.defaultValues(Lu)),En in e&&(this.responseBytes=y(e,En,t.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return new Ur;case En:return new pa;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Lu:return s.isEqual(t.defaultValues(e));case En:return pa.compareWithDefault("responseType",s.responseType)&&pa.compareWithDefault("response",s.response);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPResponse",value:[new Ur({name:s.responseStatus||Lu}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[pa.schema(s.responseBytes||{names:{blockName:En}})]})]})}fromSchema(e){W(e,[Lu,En]);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.responseStatus=s.result.responseStatus,En in s.result&&(this.responseBytes=new pa({schema:s.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new T({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,s,r=Ve(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==yw)return i;try{let a=Ot(this.responseBytes.response.valueBlock.valueHexView);M.assert(a,"Basic OCSP response"),n=new Nc({schema:a.result});}catch{return i}return n.getCertificateStatus(e,s,r)}async sign(e,s,r=Ve(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===yw)return Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,s,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,s=Ve(!0)){var r;if(!(En in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===yw){let n=Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},s)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};h6.CLASS_NAME="OCSPResponse";var go="type",On="attributes",gw="encodedValue",Bj=[On],gs=class t extends F{constructor(e={}){super(),this.type=y(e,go,t.defaultValues(go)),this.attributes=y(e,On,t.defaultValues(On)),this.encodedValue=y(e,gw,t.defaultValues(gw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return -1;case On:return [];case gw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case go:return s===t.defaultValues(go);case On:return s.length===0;case gw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new L({name:s.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:s.tagNumber||0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,Bj);let s=G(e,e,t.schema({names:{tagNumber:this.type,attributes:On}}));M.assertSchema(s,this.className),this.type=s.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(s.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(On in s.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(s.result.attributes,n=>new xt({schema:n}));}toSchema(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new L({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};gs.CLASS_NAME="SignedAndUnsignedAttributes";var jl="version",hc="sid",Ml="digestAlgorithm",ua="signedAttrs",$l="signatureAlgorithm",tm="signature",la="unsignedAttrs",Sa="SignerInfo",d6=`${Sa}.${jl}`,sm=`${Sa}.${hc}`,m6=`${Sa}.${Ml}`,Ow=`${Sa}.${ua}`,p6=`${Sa}.${$l}`,g6=`${Sa}.${tm}`,Rw=`${Sa}.${la}`,Pj=[d6,sm,m6,Ow,p6,g6,Rw],vf=class t extends F{constructor(e={}){super(),this.version=y(e,jl,t.defaultValues(jl)),this.sid=y(e,hc,t.defaultValues(hc)),this.digestAlgorithm=y(e,Ml,t.defaultValues(Ml)),ua in e&&(this.signedAttrs=y(e,ua,t.defaultValues(ua))),this.signatureAlgorithm=y(e,$l,t.defaultValues($l)),this.signature=y(e,tm,t.defaultValues(tm)),la in e&&(this.unsignedAttrs=y(e,la,t.defaultValues(la))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jl:return 0;case hc:return new be;case Ml:return new _;case ua:return new gs({type:0});case $l:return new _;case tm:return new z;case la:return new gs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case jl:return t.defaultValues(jl)===s;case hc:return s instanceof be;case Ml:return s instanceof _?s.isEqual(t.defaultValues(Ml)):!1;case ua:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);case $l:return s instanceof _?s.isEqual(t.defaultValues($l)):!1;case tm:case la:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:Sa,value:[new U({name:s.version||d6}),new ut({value:[Ft.schema(s.sidSchema||{names:{blockName:sm}}),new ut({value:[new L({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new we({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0}})]})]}),_.schema(s.digestAlgorithm||{names:{blockName:m6}}),gs.schema(s.signedAttrs||{names:{blockName:Ow,tagNumber:0}}),_.schema(s.signatureAlgorithm||{names:{blockName:p6}}),new z({name:s.signature||g6}),gs.schema(s.unsignedAttrs||{names:{blockName:Rw,tagNumber:1}})]})}fromSchema(e){W(e,Pj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[d6].valueBlock.valueDec;let r=s.result[sm];r.idBlock.tagClass===1?this.sid=new Ft({schema:r}):this.sid=r,this.digestAlgorithm=new _({schema:s.result[m6]}),Ow in s.result&&(this.signedAttrs=new gs({type:0,schema:s.result[Ow]})),this.signatureAlgorithm=new _({schema:s.result[p6]}),this.signature=s.result[g6],Rw in s.result&&(this.unsignedAttrs=new gs({type:1,schema:s.result[Rw]}));}toSchema(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new U({value:this.version})),this.sid instanceof Ft?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new T({value:e})}toJSON(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};vf.CLASS_NAME="SignerInfo";var rm="version",nm="policy",im="messageImprint",am="serialNumber",om="genTime",dc="ordering",mc="nonce",Fl="accuracy",ql="tsa",Gl="extensions",xr="TSTInfo",y6=`${xr}.${rm}`,w6=`${xr}.${nm}`,b6=`${xr}.${im}`,S6=`${xr}.${am}`,v6=`${xr}.${om}`,Lw=`${xr}.${Fl}`,Dw=`${xr}.${dc}`,Vw=`${xr}.${mc}`,Uw=`${xr}.${ql}`,_w=`${xr}.${Gl}`,Oj=[y6,w6,b6,S6,v6,Lw,Dw,Vw,Uw,_w],vb=class t extends F{constructor(e={}){super(),this.version=y(e,rm,t.defaultValues(rm)),this.policy=y(e,nm,t.defaultValues(nm)),this.messageImprint=y(e,im,t.defaultValues(im)),this.serialNumber=y(e,am,t.defaultValues(am)),this.genTime=y(e,om,t.defaultValues(om)),Fl in e&&(this.accuracy=y(e,Fl,t.defaultValues(Fl))),dc in e&&(this.ordering=y(e,dc,t.defaultValues(dc))),mc in e&&(this.nonce=y(e,mc,t.defaultValues(mc))),ql in e&&(this.tsa=y(e,ql,t.defaultValues(ql))),Gl in e&&(this.extensions=y(e,Gl,t.defaultValues(Gl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rm:return 0;case nm:return b;case im:return new Gs;case am:return new U;case om:return new Date(0,0,0);case Fl:return new Dn;case dc:return !1;case mc:return new U;case ql:return new it;case Gl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case rm:case nm:case om:case dc:return s===t.defaultValues(dc);case im:return Gs.compareWithDefault(wc,s.hashAlgorithm)&&Gs.compareWithDefault(bc,s.hashedMessage);case am:case mc:return s.isEqual(t.defaultValues(mc));case Fl:return Dn.compareWithDefault(ki,s.seconds)&&Dn.compareWithDefault(Bi,s.millis)&&Dn.compareWithDefault(Pi,s.micros);case ql:return it.compareWithDefault(wd,s.type)&&it.compareWithDefault(bd,s.value);case Gl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xr,value:[new U({name:s.version||y6}),new ae({name:s.policy||w6}),Gs.schema(s.messageImprint||{names:{blockName:b6}}),new U({name:s.serialNumber||S6}),new ct({name:s.genTime||v6}),Dn.schema(s.accuracy||{names:{blockName:Lw}}),new qs({name:s.ordering||Dw,optional:!0}),new U({name:s.nonce||Vw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[it.schema(s.tsa||{names:{blockName:Uw}})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.extensions||_w,value:Ds.schema(s.extension||{})})]})]})}fromSchema(e){W(e,Oj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[y6].valueBlock.valueDec,this.policy=s.result[w6].valueBlock.toString(),this.messageImprint=new Gs({schema:s.result[b6]}),this.serialNumber=s.result[S6],this.genTime=s.result[v6].toDate(),Lw in s.result&&(this.accuracy=new Dn({schema:s.result[Lw]})),Dw in s.result&&(this.ordering=s.result[Dw].valueBlock.value),Vw in s.result&&(this.nonce=s.result[Vw]),Uw in s.result&&(this.tsa=new it({schema:s.result[Uw]})),_w in s.result&&(this.extensions=Array.from(s.result[_w],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new ae({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new ct({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new qs({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async verify(e,s=Ve(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=s.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await s.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};vb.CLASS_NAME="TSTInfo";var Kl="version",cm="digestAlgorithms",um="encapContentInfo",Wl="certificates",Jl="crls",lm="signerInfos",gd="ocsps",Oc="SignedData",E6=`${Oc}.${Kl}`,Hw=`${Oc}.${cm}`,x6=`${Oc}.${um}`,jw=`${Oc}.${Wl}`,Mw=`${Oc}.${Jl}`,$w=`${Oc}.${lm}`,Rj=[E6,Hw,x6,jw,Mw,$w],zt=class extends Error{constructor({message:e,code:s=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=s,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},ba=class t extends F{constructor(e={}){super(),this.version=y(e,Kl,t.defaultValues(Kl)),this.digestAlgorithms=y(e,cm,t.defaultValues(cm)),this.encapContentInfo=y(e,um,t.defaultValues(um)),Wl in e&&(this.certificates=y(e,Wl,t.defaultValues(Wl))),Jl in e&&(this.crls=y(e,Jl,t.defaultValues(Jl))),gd in e&&(this.ocsps=y(e,gd,t.defaultValues(gd))),this.signerInfos=y(e,lm,t.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Kl:return 0;case cm:return [];case um:return new Hn;case Wl:return [];case Jl:return [];case gd:return [];case lm:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Kl:return s===t.defaultValues(Kl);case um:return Hn.compareWithDefault("eContentType",s.eContentType)&&Hn.compareWithDefault("eContent",s.eContent);case cm:case Wl:case Jl:case gd:case lm:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return s.optional===void 0&&(s.optional=!1),new T({name:s.blockName||Oc,optional:s.optional,value:[new U({name:s.version||E6}),new bt({value:[new Ae({name:s.digestAlgorithms||Hw,value:_.schema()})]}),Hn.schema(s.encapContentInfo||{names:{blockName:x6}}),new L({name:s.certificates||jw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema(s.crls||{names:{crls:Mw}}).valueBlock.value}),new bt({value:[new Ae({name:s.signerInfos||$w,value:vf.schema()})]})]})}fromSchema(e){W(e,Rj);let s=G(e,e,t.schema());if(M.assertSchema(s,this.className),this.version=s.result[E6].valueBlock.valueDec,Hw in s.result&&(this.digestAlgorithms=Array.from(s.result[Hw],r=>new _({schema:r}))),this.encapContentInfo=new Hn({schema:s.result[x6]}),jw in s.result){let r=new $n({schema:new bt({value:s.result[jw].valueBlock.value})});this.certificates=r.certificates.slice(0);}Mw in s.result&&(this.crls=Array.from(s.result[Mw],r=>r.idBlock.tagClass===1?new kc({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new Ec({schema:r})))),$w in s.result&&(this.signerInfos=Array.from(s.result[$w],r=>new vf({schema:r})));}toSchema(e=!1){let s=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof of)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof Ec)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Mr)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof hf)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==t.ID_DATA?this.version=3:this.version=1,s.push(new U({value:this.version})),s.push(new bt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),s.push(this.encapContentInfo.toSchema()),this.certificates){let n=new $n({certificates:this.certificates}).toSchema();s.push(new L({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&s.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof Ec){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),s.push(new bt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new T({value:s})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,s=>s.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,s=>s.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,s=>s.toJSON())),this.crls&&(e.crls=Array.from(this.crls,s=>s.toJSON())),e}async verify({signer:e=-1,data:s=kt,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Ve(!0)){let p=null,w=null;try{let E=kt,v=b,I=[],C=this.signerInfos[e];if(!C)throw new zt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new zt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof Ft){for(let k of this.certificates)if(k instanceof is&&k.issuer.isEqual(C.sid.issuer)&&k.serialNumber.isEqual(C.sid.serialNumber)){p=k;break}}else {let k=C.sid,O=k.idBlock.isConstructed?k.valueBlock.value[0].valueBlock.valueHex:k.valueBlock.valueHex;for(let K of this.certificates){if(!(K instanceof is))continue;let re=await l.digest({name:"sha-1"},K.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(re,O)){p=K;break}}}if(!p)throw new zt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===H_){if(!this.encapContentInfo.eContent)throw new zt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});let k;try{k=vb.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new zt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(n=k.genTime,w=k.serialNumber.valueBlock.valueHexView.slice().buffer,s.byteLength===0)throw new zt({date:n,code:4,message:"Missed detached data input array"});if(!await k.verify({data:s},l))throw new zt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(i){let k=this.certificates.filter(Q=>Q instanceof is&&!!gk(Q,p)),O={checkDate:n,certs:k,trustedCerts:r};u&&(O.findIssuer=u),c&&(O.findOrigin=c);let K=new Hm(O);if(K.certs.push(p),this.crls)for(let Q of this.crls)"thisUpdate"in Q?K.crls.push(Q):Q.otherRevInfoFormat===yw&&K.ocsps.push(new Nc({schema:Q.otherRevInfo}));this.ocsps&&K.ocsps.push(...this.ocsps);let re=await K.verify({passedWhenNotRevValues:a},l).catch(Q=>{throw new zt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${Q instanceof Object?Q.resultMessage:Q}`,signerCertificate:p,signerCertificateVerified:!1})});if(re.certificatePath&&(I=re.certificatePath),!re.result)throw new zt({date:n,code:5,message:`Validation of signer's certificate failed: ${re.resultMessage}`,signerCertificate:p,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new zt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:p,signerCertificateVerified:!0});v=D.name;let V=this.encapContentInfo.eContent;if(V)V.idBlock.tagClass===1&&V.idBlock.tagNumber===4?s=V.getValue():s=V.valueBlock.valueBeforeDecodeView.slice().buffer;else if(s.byteLength===0)throw new zt({date:n,code:8,message:"Missed detached data input array",signerCertificate:p,signerCertificateVerified:!0});if(C.signedAttrs){let k=!1,O=!1;for(let K of C.signedAttrs.attributes)if(K.type==="1.2.840.113549.1.9.3"&&(k=!0),K.type==="1.2.840.113549.1.9.4"&&(O=!0,E=K.values[0].valueBlock.valueHex),k&&O)break;if(k===!1)throw new zt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:p,signerCertificateVerified:!0});if(O===!1)throw new zt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:p,signerCertificateVerified:!0})}if(C.signedAttrs){let k=await l.digest(v,new Uint8Array(s));if(!wi(k,E))throw new zt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});s=C.signedAttrs.encodedValue;}let B=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm,v):await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:B,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0,certificatePath:I}:B}catch(E){throw E instanceof zt?E:new zt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,s,r="SHA-1",n=kt,i=Ve(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[s];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new _({algorithmId:c,algorithmParams:new wt})),o.digestAlgorithm=new _({algorithmId:c,algorithmParams:new wt});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let p=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:p});}};ba.CLASS_NAME="SignedData";ba.ID_DATA=L6;var pc="version",gc="authSafe",Rn="macData",yd="parsedValue",Lj=[pc,gc,Rn],A6=class t extends F{constructor(e={}){super(),this.version=y(e,pc,t.defaultValues(pc)),this.authSafe=y(e,gc,t.defaultValues(gc)),Rn in e&&(this.macData=y(e,Rn,t.defaultValues(Rn))),yd in e&&(this.parsedValue=y(e,yd,t.defaultValues(yd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pc:return 3;case gc:return new St;case Rn:return new jr;case yd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case pc:return s===t.defaultValues(e);case gc:return St.compareWithDefault("contentType",s.contentType)&&St.compareWithDefault("content",s.content);case Rn:return jr.compareWithDefault("mac",s.mac)&&jr.compareWithDefault("macSalt",s.macSalt)&&jr.compareWithDefault("iterations",s.iterations);case yd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||pc}),St.schema(s.authSafe||{names:{blockName:gc}}),jr.schema(s.macData||{names:{blockName:Rn,optional:!0}})]})}fromSchema(e){W(e,Lj);let s=G(e,e,t.schema({names:{version:pc,authSafe:{names:{blockName:gc}},macData:{names:{blockName:Rn}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.authSafe=new St({schema:s.result.authSafe}),Rn in s.result&&(this.macData=new jr({schema:s.result.macData}));}toSchema(){let e=[new U({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},s=Ve(!0)){if(nt.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Qe.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Qe.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Qe("iterations");Qe.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Qe.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Qe.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);s.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new St({contentType:St.DATA,content:new z({valueHex:i})});let a=await s.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new jr({mac:new _n({digestAlgorithm:new _({algorithmId:s.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Qe("signingCertificate");Qe.assertEmpty(e.privateKey,"privateKey"),Qe.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new ba({version:1,encapContentInfo:new Hn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await s.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new xt({type:"1.2.840.113549.1.9.3",values:[new ae({value:"1.2.840.113549.1.7.1"})]})),a.push(new xt({type:"1.2.840.113549.1.9.5",values:[new wn({valueDate:new Date})]})),a.push(new xt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new vf({version:1,sid:new Ft({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new gs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,s),this.authSafe=new St({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,s=Ve(!0)){switch(nt.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case St.DATA:{Qe.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,nt.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=s.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await s.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:lf.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:lf.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case St.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new ba({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Qe.assert(n,"eContent","cmsSigned.encapContentInfo"),nt.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(i),!await r.verify({signer:0,checkChain:!1},s))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};A6.CLASS_NAME="PFX";var zl="status",fa="statusStrings",ha="failInfo",Dj=[zl,fa,ha],Z4;(function(t){t[t.granted=0]="granted",t[t.grantedWithMods=1]="grantedWithMods",t[t.rejection=2]="rejection",t[t.waiting=3]="waiting",t[t.revocationWarning=4]="revocationWarning",t[t.revocationNotification=5]="revocationNotification";})(Z4||(Z4={}));var vc=class t extends F{constructor(e={}){super(),this.status=y(e,zl,t.defaultValues(zl)),fa in e&&(this.statusStrings=y(e,fa,t.defaultValues(fa))),ha in e&&(this.failInfo=y(e,ha,t.defaultValues(ha))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zl:return 2;case fa:return [];case ha:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case zl:return s===t.defaultValues(e);case fa:return s.length===0;case ha:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.status||b}),new T({optional:!0,value:[new Ae({name:s.statusStrings||b,value:new Rs})]}),new _e({name:s.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Dj);let s=G(e,e,t.schema({names:{status:zl,statusStrings:fa,failInfo:ha}}));M.assertSchema(s,this.className);let r=s.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,fa in s.result&&(this.statusStrings=s.result.statusStrings),ha in s.result&&(this.failInfo=s.result.failInfo);}toSchema(){let e=[];return e.push(new U({value:this.status})),this.statusStrings&&e.push(new T({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new T({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,s=>s.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};vc.CLASS_NAME="PKIStatusInfo";var fm="version",hm="messageImprint",Yl="reqPolicy",Zl="nonce",Ln="certReq",Xl="extensions",Rc="TimeStampReq",I6=`${Rc}.${fm}`,C6=`${Rc}.${hm}`,Fw=`${Rc}.${Yl}`,qw=`${Rc}.${Zl}`,Gw=`${Rc}.${Ln}`,Kw=`${Rc}.${Xl}`,Vj=[I6,C6,Fw,qw,Gw,Kw],N6=class t extends F{constructor(e={}){super(),this.version=y(e,fm,t.defaultValues(fm)),this.messageImprint=y(e,hm,t.defaultValues(hm)),Yl in e&&(this.reqPolicy=y(e,Yl,t.defaultValues(Yl))),Zl in e&&(this.nonce=y(e,Zl,t.defaultValues(Zl))),Ln in e&&(this.certReq=y(e,Ln,t.defaultValues(Ln))),Xl in e&&(this.extensions=y(e,Xl,t.defaultValues(Xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fm:return 0;case hm:return new Gs;case Yl:return b;case Zl:return new U;case Ln:return !1;case Xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case fm:case Yl:case Ln:return s===t.defaultValues(e);case hm:return Gs.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Gs.compareWithDefault("hashedMessage",s.hashedMessage);case Zl:return s.isEqual(t.defaultValues(e));case Xl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Rc,value:[new U({name:s.version||I6}),Gs.schema(s.messageImprint||{names:{blockName:C6}}),new ae({name:s.reqPolicy||Fw,optional:!0}),new U({name:s.nonce||qw,optional:!0}),new qs({name:s.certReq||Gw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.extensions||Kw,value:Ds.schema()})]})]})}fromSchema(e){W(e,Vj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[I6].valueBlock.valueDec,this.messageImprint=new Gs({schema:s.result[C6]}),Fw in s.result&&(this.reqPolicy=s.result[Fw].valueBlock.toString()),qw in s.result&&(this.nonce=s.result[qw]),Gw in s.result&&(this.certReq=s.result[Gw].valueBlock.value),Kw in s.result&&(this.extensions=Array.from(s.result[Kw],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ae({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),Ln in this&&t.compareWithDefault(Ln,this.certReq)===!1&&e.push(new qs({value:this.certReq})),this.extensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&t.compareWithDefault(Ln,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}};N6.CLASS_NAME="TimeStampReq";var Ql="status",ef="timeStampToken",K6="TimeStampResp",T6=`${K6}.${Ql}`,Ww=`${K6}.${ef}`,Uj=[T6,Ww],k6=class t extends F{constructor(e={}){super(),this.status=y(e,Ql,t.defaultValues(Ql)),ef in e&&(this.timeStampToken=y(e,ef,t.defaultValues(ef))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ql:return new vc;case ef:return new St;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ql:return vc.compareWithDefault(Ql,s.status)&&!("statusStrings"in s)&&!("failInfo"in s);case ef:return s.contentType===b&&s.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||K6,value:[vc.schema(s.status||{names:{blockName:T6}}),St.schema(s.timeStampToken||{names:{blockName:Ww,optional:!0}})]})}fromSchema(e){W(e,Uj);let s=G(e,e,t.schema());M.assertSchema(s,this.className),this.status=new vc({schema:s.result[T6]}),Ww in s.result&&(this.timeStampToken=new St({schema:s.result[Ww]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new T({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,s,r=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).sign(e,0,s,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:kt},s=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).verify(e,s)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==ck)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};k6.CLASS_NAME="TimeStampResp";function _j(){if(typeof globalThis<"u"&&"crypto"in globalThis){let t="webcrypto";"webkitSubtle"in globalThis.crypto&&(t="safari"),D4(t,new ff({name:t,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let t="NodeJS ^15",e=crypto.webcrypto;D4(t,new ff({name:t,crypto:e}));}}_j();d();h();d();h();d();h();d();h();var z6=(t,e)=>e.some(s=>t instanceof s),wk,bk;function Hj(){return wk||(wk=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function jj(){return bk||(bk=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Y6=new WeakMap,W6=new WeakMap,Eb=new WeakMap;function Mj(t){let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("success",i),t.removeEventListener("error",a);},i=()=>{s(Lc(t.result)),n();},a=()=>{r(t.error),n();};t.addEventListener("success",i),t.addEventListener("error",a);});return Eb.set(e,t),e}function $j(t){if(Y6.has(t))return;let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",a),t.removeEventListener("abort",a);},i=()=>{s(),n();},a=()=>{r(t.error||new DOMException("AbortError","AbortError")),n();};t.addEventListener("complete",i),t.addEventListener("error",a),t.addEventListener("abort",a);});Y6.set(t,e);}var Z6={get(t,e,s){if(t instanceof IDBTransaction){if(e==="done")return Y6.get(t);if(e==="store")return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return Lc(t[e])},set(t,e,s){return t[e]=s,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function xk(t){Z6=t(Z6);}function Fj(t){return jj().includes(t)?function(...e){return t.apply(X6(this),e),Lc(this.request)}:function(...e){return Lc(t.apply(X6(this),e))}}function qj(t){return typeof t=="function"?Fj(t):(t instanceof IDBTransaction&&$j(t),z6(t,Hj())?new Proxy(t,Z6):t)}function Lc(t){if(t instanceof IDBRequest)return Mj(t);if(W6.has(t))return W6.get(t);let e=qj(t);return e!==t&&(W6.set(t,e),Eb.set(e,t)),e}var X6=t=>Eb.get(t);function Ak(t,e,{blocked:s,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(t,e),o=Lc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Lc(a.result),c.oldVersion,c.newVersion,Lc(a.transaction),c);}),s&&a.addEventListener("blocked",c=>s(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var Gj=["get","getKey","getAll","getAllKeys","count"],Kj=["put","add","delete","clear"],J6=new Map;function Sk(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(J6.get(e))return J6.get(e);let s=e.replace(/FromIndex$/,""),r=e!==s,n=Kj.includes(s);if(!(s in(r?IDBIndex:IDBObjectStore).prototype)||!(n||Gj.includes(s)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[s](...o),n&&c.done]))[0]};return J6.set(e,i),i}xk(t=>({...t,get:(e,s,r)=>Sk(e,s)||t.get(e,s,r),has:(e,s)=>!!Sk(e,s)||t.has(e,s)}));var Wj=["continue","continuePrimaryKey","advance"],vk={},Q6=new WeakMap,Ik=new WeakMap,Jj={get(t,e){if(!Wj.includes(e))return t[e];let s=vk[e];return s||(s=vk[e]=function(...r){Q6.set(this,Ik.get(this)[e](...r));}),s}};async function*zj(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let s=new Proxy(e,Jj);for(Ik.set(s,e),Eb.set(s,X6(e));e;)yield s,e=await(Q6.get(s)||e.continue()),Q6.delete(s);}function Ek(t,e){return e===Symbol.asyncIterator&&z6(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&z6(t,[IDBIndex,IDBObjectStore])}xk(t=>({...t,get(e,s,r){return Ek(e,s)?zj:t.get(e,s,r)},has(e,s){return Ek(e,s)||t.has(e,s)}}));function Ck(t,e){if(t===e)return !0;if(t===null||e===null||typeof t!="object"||typeof e!="object")return !1;let s=Object.keys(t),r=Object.keys(e);if(s.length!==r.length)return !1;for(let n of s)if(!r.includes(n)||!Ck(t[n],e[n]))return !1;return !0}var qt=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,s,r,n=[]){this.dbName=e,this.storeName=s,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await Ak(this.dbName,e,{upgrade:(s,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(s,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let s=await this.openDB(),r=e[this.key],n=s.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?Ck(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let s=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,s&&this.notifyUpdate(e,"removed",s,void 0);}notifyUpdate(e,s,r,n){this.listeners.forEach(i=>i(e,s,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:s,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(s=>s!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var e5="auth-commitments",Mm=class extends qt{constructor(e="sequence-auth-commitments"){super(e,e5,"id",[(s,r,n)=>{s.objectStoreNames.contains(e5)||s.createObjectStore(e5);}]);}};d();h();var t5="auth-keys",$m=class extends qt{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,t5,"address",[(s,r,n)=>{s.objectStoreNames.contains(t5)||s.createObjectStore(t5).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let s of e)await this.scheduleExpiration(s);}async set(e){let s=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),s}async del(e){let s=await super.del(e.toLowerCase());return this.clearExpiration(e),s}async getBySigner(e,s=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(s<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,s+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${s}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let s=await this.getBySigner(e.toLowerCase());s&&await this.del(s.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let s=Date.now(),r=e.expiresAt.getTime()-s;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let s=this.expirationTimers.get(e.toLowerCase());s&&(window.clearTimeout(s),this.expirationTimers.delete(e.toLowerCase()));}};d();h();var s5="messages",Fm=class extends qt{constructor(e="sequence-messages"){super(e,s5,"id",[(s,r,n)=>{s.objectStoreNames.contains(s5)||s.createObjectStore(s5);}]);}};d();h();var r5="envelopes",qm=class extends qt{constructor(e="sequence-signature-requests"){super(e,r5,"id",[(s,r,n)=>{s.objectStoreNames.contains(r5)||s.createObjectStore(r5);}]);}};d();h();var n5="transactions",Gm=class extends qt{constructor(e="sequence-transactions"){super(e,n5,"id",[(s,r,n)=>{s.objectStoreNames.contains(n5)||s.createObjectStore(n5);}]);}};d();h();var i5="wallets",Km=class extends qt{constructor(e="sequence-manager"){super(e,i5,"address",[(s,r,n)=>{s.objectStoreNames.contains(i5)||s.createObjectStore(i5);}]);}};d();h();var a5="queued-recovery-payloads",Wm=class extends qt{constructor(e="sequence-recovery"){super(e,a5,"id",[(s,r,n)=>{s.objectStoreNames.contains(a5)||s.createObjectStore(a5);}]);}};d();h();var o5="passkey-credentials",Jm=class extends qt{constructor(e="sequence-passkey-credentials"){super(e,o5,"credentialId",[(s,r,n)=>{s.objectStoreNames.contains(o5)||s.createObjectStore(o5);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,s,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:s,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:s,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:s,walletAddress:r};await this.set(i);}}};d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();({verbose:!1,extensions:Fe.Rc5,context:Za.Rc5,context4337:Za.Rc5_4337,guest:yt.DefaultGuestAddress,encryptedPksDb:new hr.Pk.Encrypted.EncryptedPksDb,managerDb:new Km,signaturesDb:new qm,transactionsDb:new Gm,messagesDb:new Fm,authCommitmentsDb:new Mm,recoveryDb:new Wm,authKeysDb:new $m,passkeyCredentialsDb:new Jm,dbPruningInterval:1e3*60*60*24,stateProvider:new wu.Sequence.Provider,networks:Ph.ALL,relayers:()=>typeof window<"u"?[Mh.LocalRelayer.createFromWindow(window)].filter(t=>t!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:yt.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var zm=class{#e;#s;#r=null;#t=null;constructor(e,s){this.#e=e,this.#s=s;}async#a(){let e=await this.#e();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let s=await this.#a();return s.profile.sub!==e.userIdentifier&&(e=await this.#n(s)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e(!0);let s=e||await this.#a();if(!s.idToken)throw new ht("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=s,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:P.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Oh(this.#s.identityInstrumentEndpoint,"@14:test"),p=new w1(i,a,r);await l.commitVerifier(eo.toIdentityAuthKey(u),p);let E=(await l.completeAuth(eo.toIdentityAuthKey(u),p)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:s.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(s){let r=`Identity Instrument: Failed to create signer: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,s,r){let n=await this.#i();return new eo.IdentitySigner(n.identityInstrument,n.authKey).sign(e,s,r)}async signMessage(e){let s=await this.#i(),r=new eo.IdentitySigner(s.identityInstrument,s.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(P.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();h();var Ym=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let s=await this.#t();return s.profile.sub!==e.userIdentifier&&(e=await this.#i(s)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let s=e||await this.#t(),r=keccak256(toBytes(`${s.profile.sub}-sequence`)),n=new hr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:s.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(s){let r=`Failed to create private key wallet: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,s,r){return (await this.#a()).signer.sign(e,s,r)}async signMessage(e){let s=await this.#a(),r=privateKeyToAccount(s.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};function Ok(t,e={}){if(e.isDevEnvironment)return new Ym(t);if(!e.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new zm(t,{identityInstrumentEndpoint:e.identityInstrumentEndpoint})}function wM(t){return t in zn}function bM(t){if(t.magicPublishableApiKey&&t.magicProviderId)return {magicPublishableApiKey:t.magicPublishableApiKey,magicProviderId:t.magicProviderId};let{chainId:e}=t;if(wM(e))return zn[e];throw new Error(`No Magic configuration available for chain ${t.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var SM="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",vM="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",EM="openid profile email offline_access transact",xM="platform_api",AM="https://auth.immutable.com/im-logged-in",IM="https://auth.immutable.com",CM=/(sandbox|testnet)/i,NM=[13371,13473,15003];function TM(t){return NM.includes(t.chainId)}function kM(t){if(t.chainId===13473)return !0;let e=t.apiUrl||t.passportDomain||"";return CM.test(e)}function BM(t){if(t.passportDomain)return t.passportDomain;if(t.apiUrl)try{let e=new URL(t.apiUrl),s=e.hostname.replace("api.","passport.");return `${e.protocol}//${s}`}catch{return t.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function PM(){return IM}function OM(){return AM}function Rk(t){return kM(t)?vM:SM}function RM(t,e){let s=BM(t),r=PM(),n=OM(),i=e.clientId||Rk(t),a=new Auth({clientId:i,redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:EM,audience:xM,authenticationDomain:r,passportDomain:s,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled});return typeof window<"u"&&window.addEventListener("message",async o=>{if(o.data.code&&o.data.state){let c=window.location.search,u=new URLSearchParams(c);u.set("code",o.data.code),u.set("state",o.data.state),window.history.replaceState(null,"",`?${u.toString()}`),await a.loginCallback(),u.delete("code"),u.delete("state"),window.history.replaceState(null,"",`?${u.toString()}`);}}),{getUser:async()=>a.getUserOrLogin(),clientId:i}}async function LM(t={}){let e=t.chains&&t.chains.length>0?t.chains:mp,s=t.initialChainId||e[0].chainId,r=e.find(I=>I.chainId===s);if(!r)throw new Error(`Initial chain ${s} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a,o;if(t.getUser)a=t.getUser,o=t.clientId||Rk(r);else {let I=RM(r,t);a=I.getUser,o=I.clientId;}let c=await a().catch(()=>null),u=r.passportDomain||r.apiUrl.replace("api.","passport."),l=new _f({passportDomain:u,zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:t.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:t.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled,feeTokenSymbol:t.feeTokenSymbol}),p=t.passportEventEmitter||new TypedEventEmitter,w=new mr$1.GuardianApi(n),E=new Mc({config:l,getUser:a,guardianApi:w,passportDomain:u,clientId:o}),v;if(TM(r)){let I=bM(r),C=r.magicTeeBasePath||"https://tee.express.magiclabs.com",D=new MagicTeeApiClients({basePath:C,timeout:1e4,magicPublishableApiKey:I.magicPublishableApiKey,magicProviderId:I.magicProviderId}),V=new $c(a,D),B=null;r.chainId===13371?B="https://api.immutable.com":r.chainId===13473?B="https://api.sandbox.immutable.com":r.apiUrl&&(B=r.apiUrl),v=new Vf({getUser:a,clientId:o,config:l,multiRollupApiClients:i,walletEventEmitter:p,guardianClient:E,ethSigner:V,user:c,sessionActivityApiUrl:B});}else {let I=u.includes(".dev.")||r.apiUrl.includes(".dev."),C=Ok(a,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint,isDevEnvironment:I});v=new Uf({getUser:a,chainConfig:r,multiRollupApiClients:i,guardianClient:E,ethSigner:C,passportEventEmitter:p});}return t.announceProvider!==!1&&tS({info:eS,provider:v}),v}d();h();function _M(t){return typeof t=="object"&&t!==null&&"code"in t&&"message"in t}async function HM(t,e){let s=await t.getUser();if(!s?.profile.sub)return [];let r={Authorization:`Bearer ${s.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function jM(t,e,s){let r=trackFlow("wallet","linkExternalWallet");try{let n=await t.getUser();if(!n)throw new ht("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ht("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:s.type,wallet_address:s.walletAddress,signature:s.signature,nonce:s.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),Na(n)&&n.response){if(n.response.data&&_M(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ht(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ht(o,"WALLET_CONNECTION_ERROR");default:throw new ht(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ht(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ht(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
376
376
  /*! Bundled license information:
377
377
 
378
378
  pvtsutils/build/index.js:
@@ -507,4 +507,4 @@ pkijs/build/index.es.js:
507
507
  *)
508
508
  */
509
509
 
510
- export { OP as ARBITRUM_ONE, hp as ARBITRUM_ONE_CHAIN, $b as ARBITRUM_ONE_CHAIN_ID, RP as ARBITRUM_SEPOLIA, M5 as ARBITRUM_SEPOLIA_CHAIN, qb as ARBITRUM_SEPOLIA_CHAIN_ID, jc as ConfirmationScreen, mp as DEFAULT_CHAINS, LP as ETHEREUM_SEPOLIA, dp as ETHEREUM_SEPOLIA_CHAIN, Fb as ETHEREUM_SEPOLIA_CHAIN_ID, tp as EvmChain, Mc as GuardianClient, kP as IMMUTABLE_ZKEVM_MAINNET, Of as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Pf as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, PP as IMMUTABLE_ZKEVM_MULTICHAIN, BP as IMMUTABLE_ZKEVM_TESTNET, Rf as IMMUTABLE_ZKEVM_TESTNET_CHAIN, Ia as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, ye as JsonRpcError, $c as MagicTEESigner, Tf as ProviderErrorCode, S5 as ProviderEvent, Nf as RelayerClient, oP as RelayerTransactionStatus, Qs as RpcErrorCode, Uf as SequenceProvider, _f as WalletConfiguration, ht as WalletError, Ca as WalletErrorType, b5 as WalletEvents, Vf as ZkEvmProvider, sS as announceProvider, LM as connectWallet, _P as getChainConfig, Hc as getEvmChainFromChainId, HM as getLinkedAddresses, jM as linkExternalWallet, tS as passportProviderInfo, gp as retryWithDelay, P5 as walletHelpers };
510
+ export { RP as ARBITRUM_ONE, hp as ARBITRUM_ONE_CHAIN, jb as ARBITRUM_ONE_CHAIN_ID, LP as ARBITRUM_SEPOLIA, j5 as ARBITRUM_SEPOLIA_CHAIN, Mb as ARBITRUM_SEPOLIA_CHAIN_ID, jc as ConfirmationScreen, mp as DEFAULT_CHAINS, DP as ETHEREUM_SEPOLIA, dp as ETHEREUM_SEPOLIA_CHAIN, $b as ETHEREUM_SEPOLIA_CHAIN_ID, tp as EvmChain, Mc as GuardianClient, BP as IMMUTABLE_ZKEVM_MAINNET, Of as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Pf as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, OP as IMMUTABLE_ZKEVM_MULTICHAIN, PP as IMMUTABLE_ZKEVM_TESTNET, Rf as IMMUTABLE_ZKEVM_TESTNET_CHAIN, Ia as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, ge as JsonRpcError, $c as MagicTEESigner, Tf as ProviderErrorCode, b5 as ProviderEvent, Nf as RelayerClient, oP as RelayerTransactionStatus, Qs as RpcErrorCode, Uf as SequenceProvider, _f as WalletConfiguration, ht as WalletError, Ca as WalletErrorType, w5 as WalletEvents, Vf as ZkEvmProvider, tS as announceProvider, LM as connectWallet, HP as getChainConfig, Hc as getEvmChainFromChainId, HM as getLinkedAddresses, jM as linkExternalWallet, eS as passportProviderInfo, gp as retryWithDelay, B5 as walletHelpers };