mirror of
https://github.com/stjet/banani.git
synced 2025-12-29 09:39:23 +00:00
7 lines
60 KiB
JavaScript
7 lines
60 KiB
JavaScript
(()=>{var un=Object.create;var Le=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var En=Object.getPrototypeOf,wn=Object.prototype.hasOwnProperty;var g=(e,r)=>Le(e,"name",{value:r,configurable:!0}),tr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var M=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Me=(e,r)=>{for(var t in r)Le(e,t,{get:r[t],enumerable:!0})},Bn=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of yn(r))!wn.call(e,c)&&c!==t&&Le(e,c,{get:()=>r[c],enumerable:!(i=ln(r,c))||i.enumerable});return e};var rr=(e,r,t)=>(t=e!=null?un(En(e)):{},Bn(r||!e||!e.__esModule?Le(t,"default",{value:e,enumerable:!0}):t,e));var lt=M((Di,ir)=>{ir.exports=nr;var Ve=class extends Error{static{g(this,"AssertionError")}};Ve.prototype.name="AssertionError";function nr(e,r){if(!e){var t=new Ve(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,nr),t}}g(nr,"assert")});var Ir=M((mi,or)=>{function Ar(e){return e.length}g(Ar,"byteLength");function xn(e){let r=e.byteLength,t="";for(let i=0;i<r;i++)t+=String.fromCharCode(e[i]);return t}g(xn,"toString");function Qn(e,r,t=0,i=Ar(r)){let c=Math.min(i,e.byteLength-t);for(let f=0;f<c;f++)e[t+f]=r.charCodeAt(f);return c}g(Qn,"write");or.exports={byteLength:Ar,toString:xn,write:Qn}});var cr=M((Fi,gr)=>{var ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Z=new Uint8Array(256);for(let e=0;e<ge.length;e++)Z[ge.charCodeAt(e)]=e;Z[45]=62;Z[95]=63;function ar(e){let r=e.length;return e.charCodeAt(r-1)===61&&r--,r>1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}g(ar,"byteLength");function dn(e){let r=e.byteLength,t="";for(let i=0;i<r;i+=3)t+=ge[e[i]>>2]+ge[(e[i]&3)<<4|e[i+1]>>4]+ge[(e[i+1]&15)<<2|e[i+2]>>6]+ge[e[i+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}g(dn,"toString");function bn(e,r,t=0,i=ar(r)){let c=Math.min(i,e.byteLength-t);for(let f=0,y=0;y<c;f+=4){let w=Z[r.charCodeAt(f)],x=Z[r.charCodeAt(f+1)],b=Z[r.charCodeAt(f+2)],_=Z[r.charCodeAt(f+3)];e[y++]=w<<2|x>>4,e[y++]=(x&15)<<4|b>>2,e[y++]=(b&3)<<6|_&63}return c}g(bn,"write");gr.exports={byteLength:ar,toString:dn,write:bn}});var Cr=M((Ki,fr)=>{function hr(e){return e.length>>>1}g(hr,"byteLength");function _n(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",i=0;for(let c=r-r%4;i<c;i+=4)t+=e.getUint32(i).toString(16).padStart(8,"0");for(;i<r;i++)t+=e.getUint8(i).toString(16).padStart(2,"0");return t}g(_n,"toString");function pn(e,r,t=0,i=hr(r)){let c=Math.min(i,e.byteLength-t);for(let f=0;f<c;f++){let y=sr(r.charCodeAt(f*2)),w=sr(r.charCodeAt(f*2+1));if(y===void 0||w===void 0)return e.subarray(0,f);e[t+f]=y<<4|w}return c}g(pn,"write");fr.exports={byteLength:hr,toString:_n,write:pn};function sr(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}g(sr,"hexValue")});var lr=M((Yi,ur)=>{function yt(e){let r=0;for(let t=0,i=e.length;t<i;t++){let c=e.charCodeAt(t);if(c>=55296&&c<=56319&&t+1<i){let f=e.charCodeAt(t+1);if(f>=56320&&f<=57343){r+=4,t++;continue}}c<=127?r+=1:c<=2047?r+=2:r+=3}return r}g(yt,"byteLength");var Et;if(typeof TextDecoder<"u"){let e=new TextDecoder;Et=g(function(t){return e.decode(t)},"toString")}else Et=g(function(r){let t=r.byteLength,i="",c=0;for(;c<t;){let f=r[c];if(f<=127){i+=String.fromCharCode(f),c++;continue}let y=0,w=0;if(f<=223?(y=1,w=f&31):f<=239?(y=2,w=f&15):f<=244&&(y=3,w=f&7),t-c-y>0){let x=0;for(;x<y;)f=r[c+x+1],w=w<<6|f&63,x+=1}else w=65533,y=t-c;i+=String.fromCodePoint(w),c+=y+1}return i},"toString");var wt;if(typeof TextEncoder<"u"){let e=new TextEncoder;wt=g(function(t,i,c=0,f=yt(i)){let y=Math.min(f,t.byteLength-c);return e.encodeInto(i,t.subarray(c,c+y)),y},"write")}else wt=g(function(r,t,i=0,c=yt(t)){let f=Math.min(c,r.byteLength-i);r=r.subarray(i,i+f);let y=0,w=0;for(;y<t.length;){let x=t.codePointAt(y);if(x<=127){r[w++]=x,y++;continue}let b=0,_=0;for(x<=2047?(b=6,_=192):x<=65535?(b=12,_=224):x<=2097151&&(b=18,_=240),r[w++]=_|x>>b,b-=6;b>=0;)r[w++]=128|x>>b&63,b-=6;y+=x>=65536?2:1}return f},"write");ur.exports={byteLength:yt,toString:Et,write:wt}});var wr=M((Hi,Er)=>{function yr(e){return e.length*2}g(yr,"byteLength");function Sn(e){let r=e.byteLength,t="";for(let i=0;i<r-1;i+=2)t+=String.fromCharCode(e[i]+e[i+1]*256);return t}g(Sn,"toString");function Dn(e,r,t=0,i=yr(r)){let c=Math.min(i,e.byteLength-t),f=c;for(let y=0;y<r.length&&!((f-=2)<0);++y){let w=r.charCodeAt(y),x=w>>8,b=w%256;e[t+y*2]=b,e[t+y*2+1]=x}return c}g(Dn,"write");Er.exports={byteLength:yr,toString:Sn,write:Dn}});var br=M((xt,dr)=>{var Un=Ir(),mn=cr(),vn=Cr(),Fn=lr(),Pn=wr(),Ge=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function xe(e){switch(e){case"ascii":return Un;case"base64":return mn;case"hex":return vn;case"utf8":case"utf-8":case void 0:return Fn;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pn;default:throw new Error(`Unknown encoding: ${e}`)}}g(xe,"codecFor");function Br(e){return e instanceof Uint8Array}g(Br,"isBuffer");function Kn(e){try{return xe(e),!0}catch{return!1}}g(Kn,"isEncoding");function kn(e,r,t){let i=new Uint8Array(e);return r!==void 0&&xt.fill(i,r,0,i.byteLength,t),i}g(kn,"alloc");function Yn(e){return new Uint8Array(e)}g(Yn,"allocUnsafe");function Rn(e){return new Uint8Array(e)}g(Rn,"allocUnsafeSlow");function Hn(e,r){return xe(r).byteLength(e)}g(Hn,"byteLength");function Ln(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let i=0;for(let c=t-t%4;i<c;i+=4){let f=e.getUint32(i,Ge),y=r.getUint32(i,Ge);if(f!==y)break}for(;i<t;i++){let c=e.getUint8(i),f=r.getUint8(i);if(c<f)return-1;if(c>f)return 1}return e.byteLength>r.byteLength?1:e.byteLength<r.byteLength?-1:0}g(Ln,"compare");function Mn(e,r){r===void 0&&(r=e.reduce((c,f)=>c+f.byteLength,0));let t=new Uint8Array(r),i=0;for(let c of e){if(i+c.byteLength>t.byteLength){let f=c.subarray(0,t.byteLength-i);return t.set(f,i),t}t.set(c,i),i+=c.byteLength}return t}g(Mn,"concat");function Vn(e,r,t=0,i=0,c=e.byteLength){if(c>0&&c<i||c===i||e.byteLength===0||r.byteLength===0)return 0;if(t<0)throw new RangeError("targetStart is out of range");if(i<0||i>=e.byteLength)throw new RangeError("sourceStart is out of range");if(c<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),c>e.byteLength&&(c=e.byteLength),r.byteLength-t<c-i&&(c=r.length-t+i);let f=c-i;return e===r?r.copyWithin(t,i,c):r.set(e.subarray(i,c),t),f}g(Vn,"copy");function Gn(e,r){if(e===r)return!0;if(e.byteLength!==r.byteLength)return!1;let t=e.byteLength;e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let i=0;for(let c=t-t%4;i<c;i+=4)if(e.getUint32(i,Ge)!==r.getUint32(i,Ge))return!1;for(;i<t;i++)if(e.getUint8(i)!==r.getUint8(i))return!1;return!0}g(Gn,"equals");function Nn(e,r,t,i,c){if(typeof r=="string"?typeof t=="string"?(c=t,t=0,i=e.byteLength):typeof i=="string"&&(c=i,i=e.byteLength):typeof r=="number"?r=r&255:typeof r=="boolean"&&(r=+r),t<0||e.byteLength<t||e.byteLength<i)throw new RangeError("Out of range index");if(t===void 0&&(t=0),i===void 0&&(i=e.byteLength),i<=t)return e;if(r||(r=0),typeof r=="number")for(let f=t;f<i;++f)e[f]=r;else{r=Br(r)?r:Bt(r,c);let f=r.byteLength;for(let y=0;y<i-t;++y)e[y+t]=r[y%f]}return e}g(Nn,"fill");function Bt(e,r,t){return typeof e=="string"?Tn(e,r):Array.isArray(e)?On(e):ArrayBuffer.isView(e)?Jn(e):jn(e,r,t)}g(Bt,"from");function Tn(e,r){let t=xe(r),i=new Uint8Array(t.byteLength(e));return t.write(i,e,0,i.byteLength),i}g(Tn,"fromString");function On(e){let r=new Uint8Array(e.length);return r.set(e),r}g(On,"fromArray");function Jn(e){let r=new Uint8Array(e.byteLength);return r.set(e),r}g(Jn,"fromBuffer");function jn(e,r,t){return new Uint8Array(e,r,t)}g(jn,"fromArrayBuffer");function Xn(e,r,t,i){return Qr(e,r,t,i)!==-1}g(Xn,"includes");function xr(e,r,t,i,c){if(e.byteLength===0)return-1;if(typeof t=="string"?(i=t,t=0):t===void 0?t=c?0:e.length-1:t<0&&(t+=e.byteLength),t>=e.byteLength){if(c)return-1;t=e.byteLength-1}else if(t<0)if(c)t=0;else return-1;if(typeof r=="string")r=Bt(r,i);else if(typeof r=="number")return r=r&255,c?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(c){let f=-1;for(let y=t;y<e.byteLength;y++)if(e[y]===r[f===-1?0:y-f]){if(f===-1&&(f=y),y-f+1===r.byteLength)return f}else f!==-1&&(y-=y-f),f=-1}else{t+r.byteLength>e.byteLength&&(t=e.byteLength-r.byteLength);for(let f=t;f>=0;f--){let y=!0;for(let w=0;w<r.byteLength;w++)if(e[f+w]!==r[w]){y=!1;break}if(y)return f}}return-1}g(xr,"bidirectionalIndexOf");function Qr(e,r,t,i){return xr(e,r,t,i,!0)}g(Qr,"indexOf");function qn(e,r,t,i){return xr(e,r,t,i,!1)}g(qn,"lastIndexOf");function $(e,r,t){let i=e[r];e[r]=e[t],e[t]=i}g($,"swap");function Wn(e){let r=e.byteLength;if(r%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let t=0;t<r;t+=2)$(e,t,t+1);return e}g(Wn,"swap16");function zn(e){let r=e.byteLength;if(r%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let t=0;t<r;t+=4)$(e,t,t+3),$(e,t+1,t+2);return e}g(zn,"swap32");function Zn(e){let r=e.byteLength;if(r%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let t=0;t<r;t+=8)$(e,t,t+7),$(e,t+1,t+6),$(e,t+2,t+5),$(e,t+3,t+4);return e}g(Zn,"swap64");function $n(e){return e}g($n,"toBuffer");function ei(e,r,t=0,i=e.byteLength){let c=e.byteLength;return t>=c||i<=t?"":(t<0&&(t=0),i>c&&(i=c),(t!==0||i<c)&&(e=e.subarray(t,i)),xe(r).toString(e))}g(ei,"toString");function ti(e,r,t,i,c){return t===void 0?c="utf8":i===void 0&&typeof t=="string"?(c=t,t=void 0):c===void 0&&typeof i=="string"&&(c=i,i=void 0),xe(c).write(e,r,t,i)}g(ti,"write");function ri(e,r,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat64(t,r,!0),t+8}g(ri,"writeDoubleLE");function ni(e,r,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setFloat32(t,r,!0),t+4}g(ni,"writeFloatLE");function ii(e,r,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(t,r,!0),t+4}g(ii,"writeUInt32LE");function Ai(e,r,t){return t===void 0&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).setInt32(t,r,!0),t+4}g(Ai,"writeInt32LE");function oi(e,r){return r===void 0&&(r=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(r,!0)}g(oi,"readDoubleLE");function Ii(e,r){return r===void 0&&(r=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(r,!0)}g(Ii,"readFloatLE");function ai(e,r){return r===void 0&&(r=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(r,!0)}g(ai,"readUInt32LE");function gi(e,r){return r===void 0&&(r=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getInt32(r,!0)}g(gi,"readInt32LE");dr.exports=xt={isBuffer:Br,isEncoding:Kn,alloc:kn,allocUnsafe:Yn,allocUnsafeSlow:Rn,byteLength:Hn,compare:Ln,concat:Mn,copy:Vn,equals:Gn,fill:Nn,from:Bt,includes:Xn,indexOf:Qr,lastIndexOf:qn,swap16:Wn,swap32:zn,swap64:Zn,toBuffer:$n,toString:ei,write:ti,writeDoubleLE:ri,writeFloatLE:ni,writeUInt32LE:ii,writeInt32LE:Ai,readDoubleLE:oi,readFloatLE:Ii,readUInt32LE:ai,readInt32LE:gi}});var pr=M((Vi,_r)=>{var ci=g((e,r)=>g(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),si=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var i=t.length,c=new Uint8Array((i-(t[i-1]=="=")-(t[i-2]=="="))*3/4|0),f=0,y=0;f<i;){var w=e[t.charCodeAt(f++)],x=e[t.charCodeAt(f++)],b=e[t.charCodeAt(f++)],_=e[t.charCodeAt(f++)];c[y++]=w<<2|x>>4,c[y++]=x<<4|b>>2,c[y++]=b<<6|_}return c}})(),hi=ci({"wasm-binary:./blake2b.wat"(e,r){r.exports=si("AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMKvz8EwAIAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEIANwNAIABCADcDSCAAQgA3A1AgAEIANwNYIABCADcDYCAAQgA3A2ggAEIANwNwIABCADcDeCAAQoiS853/zPmE6gBBACkDAIU3A4ABIABCu86qptjQ67O7f0EIKQMAhTcDiAEgAEKr8NP0r+68tzxBECkDAIU3A5ABIABC8e30+KWn/aelf0EYKQMAhTcDmAEgAELRhZrv+s+Uh9EAQSApAwCFNwOgASAAQp/Y+dnCkdqCm39BKCkDAIU3A6gBIABC6/qG2r+19sEfQTApAwCFNwOwASAAQvnC+JuRo7Pw2wBBOCkDAIU3A7gBIABCADcDwAEgAEIANwPIASAAQgA3A9ABC20BA38gAEHAAWohAyAAQcgBaiEEIAQpAwCnIQUCQANAIAEgAkYNASAFQYABRgRAIAMgAykDACAFrXw3AwBBACEFIAAQAwsgACAFaiABLQAAOgAAIAVBAWohBSABQQFqIQEMAAsLIAQgBa03AwALYQEDfyAAQcABaiEBIABByAFqIQIgASABKQMAIAIpAwB8NwMAIABCfzcD0AEgAikDAKchAwJAA0AgA0GAAUYNASAAIANqQQA6AAAgA0EBaiEDDAALCyACIAOtNwMAIAAQAwuqOwIgfgl/IABBgAFqISEgAEGIAWohIiAAQZABaiEjIABBmAFqISQgAEGgAWohJSAAQagBaiEmIABBsAFqIScgAEG4AWohKCAhKQMAIQEgIikDACECICMpAwAhAyAkKQMAIQQgJSkDACEFICYpAwAhBiAnKQMAIQcgKCkDACEIQoiS853/zPmE6gAhCUK7zqqm2NDrs7t/IQpCq/DT9K/uvLc8IQtC8e30+KWn/aelfyEMQtGFmu/6z5SH0QAhDUKf2PnZwpHagpt/IQ5C6/qG2r+19sEfIQ9C+cL4m5Gjs/DbACEQIAApAwAhESAAKQMIIRIgACkDECETIAApAxghFCAAKQMgIRUgACkDKCEWIAApAzAhFyAAKQM4IRggACkDQCEZIAApA0ghGiAAKQNQIRsgACkDWCEcIAApA2AhHSAAKQNoIR4gACkDcCEfIAApA3ghICANIAApA8ABhSENIA8gACkD0AGFIQ8gASAFIBF8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSASfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgE3x8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBR8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAVfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgFnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBd8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAYfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgGXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBp8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAbfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgHHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIB18fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAefHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgH3x8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFICB8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAffHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgG3x8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBV8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAZfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgGnx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHICB8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAefHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggF3x8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBJ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAdfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgEXx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBN8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAcfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGHx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBZ8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAUfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgHHx8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBl8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAdfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgEXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBZ8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByATfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggIHx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIB58fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAbfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgH3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBR8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAXfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggGHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBJ8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAafHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFXx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBh8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAafHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgFHx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBJ8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAefHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHXx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBx8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAffHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgE3x8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBd8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAWfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgG3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBV8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCARfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgIHx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBl8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAafHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEXx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBZ8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAYfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgE3x8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBV8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAbfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggIHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIB98fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiASfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgHHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIB18fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAXfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGXx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBR8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAefHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgE3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIB18fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAXfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgG3x8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBF8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAcfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggGXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBR8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAVfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHnx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBh8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAWfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggIHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIB98fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSASfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgGnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIB18fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAWfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgEnx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGICB8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAffHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBV8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAbfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgEXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBh8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAXfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgFHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBp8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCATfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgGXx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBx8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAefHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgHHx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBh8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAffHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgHXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBJ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAUfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGnx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBZ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiARfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgIHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBV8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAZfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggF3x8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBN8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAbfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgF3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFICB8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAffHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGnx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBx8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAUfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggEXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBl8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAdfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgE3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIB58fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAYfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggEnx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBV8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAbfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBt8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSATfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgGXx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBV8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAYfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgF3x8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBJ8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAWfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgIHx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBx8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAafHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgH3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBR8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAdfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgHnx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBF8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSARfHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEnx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBN8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAUfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgFXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBZ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAXfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBl8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAafHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgG3x8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBx8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAdfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggHnx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIB98fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAgfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgH3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBt8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAVfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBp8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAgfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggHnx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBd8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiASfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHXx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBF8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByATfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggHHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBh8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAWfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFHx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgISAhKQMAIAEgCYWFNwMAICIgIikDACACIAqFhTcDACAjICMpAwAgAyALhYU3AwAgJCAkKQMAIAQgDIWFNwMAICUgJSkDACAFIA2FhTcDACAmICYpAwAgBiAOhYU3AwAgJyAnKQMAIAcgD4WFNwMAICggKCkDACAIIBCFhTcDAAs=")}}),fi=hi(),Ci=WebAssembly.compile(fi);_r.exports=async e=>(await WebAssembly.instantiate(await Ci,e)).exports});var Kr=M((Oi,G)=>{var K=lt(),ui=br(),J=null,Sr=typeof WebAssembly<"u"&&pr()().then(e=>{J=e}),O=64,Ne=[];G.exports=v;var Dr=G.exports.BYTES_MIN=16,Ur=G.exports.BYTES_MAX=64,Ni=G.exports.BYTES=32,mr=G.exports.KEYBYTES_MIN=16,vr=G.exports.KEYBYTES_MAX=64,Ti=G.exports.KEYBYTES=32,Fr=G.exports.SALTBYTES=16,Pr=G.exports.PERSONALBYTES=16;function v(e,r,t,i,c){if(!(this instanceof v))return new v(e,r,t,i,c);if(!J)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),c!==!0&&(K(e>=Dr,"digestLength must be at least "+Dr+", was given "+e),K(e<=Ur,"digestLength must be at most "+Ur+", was given "+e),r!=null&&(K(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),K(r.length>=mr,"key must be at least "+mr+", was given "+r.length),K(r.length<=vr,"key must be at least "+vr+", was given "+r.length)),t!=null&&(K(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),K(t.length===Fr,"salt must be exactly "+Fr+", was given "+t.length)),i!=null&&(K(i instanceof Uint8Array,"personal must be Uint8Array or Buffer"),K(i.length===Pr,"personal must be exactly "+Pr+", was given "+i.length))),Ne.length||(Ne.push(O),O+=216),this.digestLength=e,this.finalized=!1,this.pointer=Ne.pop(),this._memory=new Uint8Array(J.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),i&&this._memory.set(i,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),J.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,O,O+r.length),this._memory[this.pointer+200]=128)}g(v,"Blake2b");v.prototype._realloc=function(e){J.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(J.memory.buffer)};v.prototype.update=function(e){return K(this.finalized===!1,"Hash instance finalized"),K(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),O+e.length>this._memory.length&&this._realloc(O+e.length),this._memory.set(e,O),J.blake2b_update(this.pointer,O,O+e.length),this};v.prototype.digest=function(e){if(K(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,Ne.push(this.pointer),J.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return ui.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);K(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;r<this.digestLength;r++)e[r]=this._memory[this.pointer+128+r];return e};v.prototype.final=v.prototype.digest;v.WASM=J;v.SUPPORTED=typeof WebAssembly<"u";v.ready=function(e){return e||(e=li),Sr?Sr.then(()=>e(),e):e(new Error("WebAssembly not supported"))};v.prototype.ready=v.ready;v.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};v.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function li(){}g(li,"noop")});var Qt=M((qi,F)=>{var Y=lt(),de=Kr();function Te(e,r,t){var i=e[r]+e[t],c=e[r+1]+e[t+1];i>=4294967296&&c++,e[r]=i,e[r+1]=c}g(Te,"ADD64AA");function kr(e,r,t,i){var c=e[r]+t;t<0&&(c+=4294967296);var f=e[r+1]+i;c>=4294967296&&f++,e[r]=c,e[r+1]=f}g(kr,"ADD64AC");function Gr(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}g(Gr,"B2B_GET32");function q(e,r,t,i,c,f){var y=Qe[c],w=Qe[c+1],x=Qe[f],b=Qe[f+1];Te(B,e,r),kr(B,e,y,w);var _=B[i]^B[e],S=B[i+1]^B[e+1];B[i]=S,B[i+1]=_,Te(B,t,i),_=B[r]^B[t],S=B[r+1]^B[t+1],B[r]=_>>>24^S<<8,B[r+1]=S>>>24^_<<8,Te(B,e,r),kr(B,e,x,b),_=B[i]^B[e],S=B[i+1]^B[e+1],B[i]=_>>>16^S<<16,B[i+1]=S>>>16^_<<16,Te(B,t,i),_=B[r]^B[t],S=B[r+1]^B[t+1],B[r]=S>>>31^_<<1,B[r+1]=_>>>31^S<<1}g(q,"B2B_G");var Nr=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),yi=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],U=new Uint8Array(yi.map(function(e){return e*2})),B=new Uint32Array(32),Qe=new Uint32Array(32);function Tr(e,r){var t=0;for(t=0;t<16;t++)B[t]=e.h[t],B[t+16]=Nr[t];for(B[24]=B[24]^e.t,B[25]=B[25]^e.t/4294967296,r&&(B[28]=~B[28],B[29]=~B[29]),t=0;t<32;t++)Qe[t]=Gr(e.b,4*t);for(t=0;t<12;t++)q(0,8,16,24,U[t*16+0],U[t*16+1]),q(2,10,18,26,U[t*16+2],U[t*16+3]),q(4,12,20,28,U[t*16+4],U[t*16+5]),q(6,14,22,30,U[t*16+6],U[t*16+7]),q(0,10,20,30,U[t*16+8],U[t*16+9]),q(2,12,22,24,U[t*16+10],U[t*16+11]),q(4,14,16,26,U[t*16+12],U[t*16+13]),q(6,8,18,28,U[t*16+14],U[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^B[t]^B[t+16]}g(Tr,"blake2bCompress");var W=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function ce(e,r,t,i){W.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,W[0]=e,r&&(W[1]=r.length),W[2]=1,W[3]=1,t&&W.set(t,32),i&&W.set(i,48);for(var c=0;c<16;c++)this.h[c]=Nr[c]^Gr(W,c*4);r&&(Or(this,r),this.c=128)}g(ce,"Blake2b");ce.prototype.update=function(e){return Y(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),Or(this,e),this};ce.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return Y(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),Y(r.length>=this.outlen,"out must have at least outlen bytes of space"),Ei(this,r),e==="hex"?wi(r):r};ce.prototype.final=ce.prototype.digest;ce.ready=function(e){de.ready(function(){e()})};function Or(e,r){for(var t=0;t<r.length;t++)e.c===128&&(e.t+=e.c,Tr(e,!1),e.c=0),e.b[e.c++]=r[t]}g(Or,"blake2bUpdate");function Ei(e,r){for(e.t+=e.c;e.c<128;)e.b[e.c++]=0;Tr(e,!0);for(var t=0;t<e.outlen;t++)r[t]=e.h[t>>2]>>8*(t&3);return r}g(Ei,"blake2bFinal");function wi(e){for(var r="",t=0;t<e.length;t++)r+=Bi(e[t]);return r}g(wi,"hexSlice");function Bi(e){return e<16?"0"+e.toString(16):e.toString(16)}g(Bi,"toHex");var xi=ce;F.exports=g(function(r,t,i,c,f){return f!==!0&&(Y(r>=Yr,"outlen must be at least "+Yr+", was given "+r),Y(r<=Rr,"outlen must be at most "+Rr+", was given "+r),t!=null&&(Y(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),Y(t.length>=Hr,"key must be at least "+Hr+", was given "+t.length),Y(t.length<=Lr,"key must be at most "+Lr+", was given "+t.length)),i!=null&&(Y(i instanceof Uint8Array,"salt must be Uint8Array or Buffer"),Y(i.length===Mr,"salt must be exactly "+Mr+", was given "+i.length)),c!=null&&(Y(c instanceof Uint8Array,"personal must be Uint8Array or Buffer"),Y(c.length===Vr,"personal must be exactly "+Vr+", was given "+c.length))),new xi(r,t,i,c)},"createHash");F.exports.ready=function(e){de.ready(function(){e()})};F.exports.WASM_SUPPORTED=de.SUPPORTED;F.exports.WASM_LOADED=!1;var Yr=F.exports.BYTES_MIN=16,Rr=F.exports.BYTES_MAX=64,ji=F.exports.BYTES=32,Hr=F.exports.KEYBYTES_MIN=16,Lr=F.exports.KEYBYTES_MAX=64,Xi=F.exports.KEYBYTES=32,Mr=F.exports.SALTBYTES=16,Vr=F.exports.PERSONALBYTES=16;de.ready(function(e){e||(F.exports.WASM_LOADED=!0,F.exports=de)})});var Jr=M((zi,Oe)=>{(function(e){"use strict";let r=Qt();var t=g(function(n,o){this.hi=n|0,this.lo=o|0},"u64"),i=g(function(n){var o,A=new Float64Array(16);if(n)for(o=0;o<n.length;o++)A[o]=n[o];return A},"gf"),c=g(function(){throw new Error("no PRNG")},"randombytes"),f=new Uint8Array(16),y=new Uint8Array(32);y[0]=9;var w=i(),x=i([1]),b=i([56129,1]),_=i([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),S=i([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),m=i([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),j=i([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),se=i([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function X(n,o){return n<<o|n>>>32-o}g(X,"L32");function ne(n,o){var A=n[o+3]&255;return A=A<<8|n[o+2]&255,A=A<<8|n[o+1]&255,A<<8|n[o+0]&255}g(ne,"ld32");function Pt(n,o){var A=n[o]<<24|n[o+1]<<16|n[o+2]<<8|n[o+3],I=n[o+4]<<24|n[o+5]<<16|n[o+6]<<8|n[o+7];return new t(A,I)}g(Pt,"dl64");function We(n,o,A){var I;for(I=0;I<4;I++)n[o+I]=A&255,A>>>=8}g(We,"st32");function Kt(n,o,A){n[o]=A.hi>>24&255,n[o+1]=A.hi>>16&255,n[o+2]=A.hi>>8&255,n[o+3]=A.hi&255,n[o+4]=A.lo>>24&255,n[o+5]=A.lo>>16&255,n[o+6]=A.lo>>8&255,n[o+7]=A.lo&255}g(Kt,"ts64");function ze(n,o,A,I,a){var s,u=0;for(s=0;s<a;s++)u|=n[o+s]^A[I+s];return(1&u-1>>>8)-1}g(ze,"vn");function kt(n,o,A,I){return ze(n,o,A,I,16)}g(kt,"crypto_verify_16");function Ze(n,o,A,I){return ze(n,o,A,I,32)}g(Ze,"crypto_verify_32");function Yt(n,o,A,I,a){var s=new Uint32Array(16),u=new Uint32Array(16),l=new Uint32Array(16),h=new Uint32Array(4),C,E,d;for(C=0;C<4;C++)u[5*C]=ne(I,4*C),u[1+C]=ne(A,4*C),u[6+C]=ne(o,4*C),u[11+C]=ne(A,16+4*C);for(C=0;C<16;C++)l[C]=u[C];for(C=0;C<20;C++){for(E=0;E<4;E++){for(d=0;d<4;d++)h[d]=u[(5*E+4*d)%16];for(h[1]^=X(h[0]+h[3]|0,7),h[2]^=X(h[1]+h[0]|0,9),h[3]^=X(h[2]+h[1]|0,13),h[0]^=X(h[3]+h[2]|0,18),d=0;d<4;d++)s[4*E+(E+d)%4]=h[d]}for(d=0;d<16;d++)u[d]=s[d]}if(a){for(C=0;C<16;C++)u[C]=u[C]+l[C]|0;for(C=0;C<4;C++)u[5*C]=u[5*C]-ne(I,4*C)|0,u[6+C]=u[6+C]-ne(o,4*C)|0;for(C=0;C<4;C++)We(n,4*C,u[5*C]),We(n,16+4*C,u[6+C])}else for(C=0;C<16;C++)We(n,4*C,u[C]+l[C]|0)}g(Yt,"core");function Rt(n,o,A,I){return Yt(n,o,A,I,!1),0}g(Rt,"crypto_core_salsa20");function Ue(n,o,A,I){return Yt(n,o,A,I,!0),0}g(Ue,"crypto_core_hsalsa20");var he=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function $e(n,o,A,I,a,s,u){var l=new Uint8Array(16),h=new Uint8Array(64),C,E;if(!a)return 0;for(E=0;E<16;E++)l[E]=0;for(E=0;E<8;E++)l[E]=s[E];for(;a>=64;){for(Rt(h,l,u,he),E=0;E<64;E++)n[o+E]=(A?A[I+E]:0)^h[E];for(C=1,E=8;E<16;E++)C=C+(l[E]&255)|0,l[E]=C&255,C>>>=8;a-=64,o+=64,A&&(I+=64)}if(a>0)for(Rt(h,l,u,he),E=0;E<a;E++)n[o+E]=(A?A[I+E]:0)^h[E];return 0}g($e,"crypto_stream_salsa20_xor");function Ht(n,o,A,I,a){return $e(n,o,null,0,A,I,a)}g(Ht,"crypto_stream_salsa20");function Lt(n,o,A,I,a){var s=new Uint8Array(32);return Ue(s,I,a,he),Ht(n,o,A,I.subarray(16),s)}g(Lt,"crypto_stream");function et(n,o,A,I,a,s,u){var l=new Uint8Array(32);return Ue(l,s,u,he),$e(n,o,A,I,a,s.subarray(16),l)}g(et,"crypto_stream_xor");function tt(n,o){var A,I=0;for(A=0;A<17;A++)I=I+(n[A]+o[A]|0)|0,n[A]=I&255,I>>>=8}g(tt,"add1305");var Zr=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function rt(n,o,A,I,a,s){var u,l,h,C,E=new Uint32Array(17),d=new Uint32Array(17),p=new Uint32Array(17),L=new Uint32Array(17),ae=new Uint32Array(17);for(h=0;h<17;h++)d[h]=p[h]=0;for(h=0;h<16;h++)d[h]=s[h];for(d[3]&=15,d[4]&=252,d[7]&=15,d[8]&=252,d[11]&=15,d[12]&=252,d[15]&=15;a>0;){for(h=0;h<17;h++)L[h]=0;for(h=0;h<16&&h<a;++h)L[h]=A[I+h];for(L[h]=1,I+=h,a-=h,tt(p,L),l=0;l<17;l++)for(E[l]=0,h=0;h<17;h++)E[l]=E[l]+p[h]*(h<=l?d[l-h]:320*d[l+17-h]|0)|0|0;for(l=0;l<17;l++)p[l]=E[l];for(C=0,h=0;h<16;h++)C=C+p[h]|0,p[h]=C&255,C>>>=8;for(C=C+p[16]|0,p[16]=C&3,C=5*(C>>>2)|0,h=0;h<16;h++)C=C+p[h]|0,p[h]=C&255,C>>>=8;C=C+p[16]|0,p[16]=C}for(h=0;h<17;h++)ae[h]=p[h];for(tt(p,Zr),u=-(p[16]>>>7)|0,h=0;h<17;h++)p[h]^=u&(ae[h]^p[h]);for(h=0;h<16;h++)L[h]=s[h+16];for(L[16]=0,tt(p,L),h=0;h<16;h++)n[o+h]=p[h];return 0}g(rt,"crypto_onetimeauth");function Mt(n,o,A,I,a,s){var u=new Uint8Array(16);return rt(u,0,A,I,a,s),kt(n,o,u,0)}g(Mt,"crypto_onetimeauth_verify");function nt(n,o,A,I,a){var s;if(A<32)return-1;for(et(n,0,o,0,A,I,a),rt(n,16,n,32,A-32,n),s=0;s<16;s++)n[s]=0;return 0}g(nt,"crypto_secretbox");function it(n,o,A,I,a){var s,u=new Uint8Array(32);if(A<32||(Lt(u,0,32,I,a),Mt(o,16,o,32,A-32,u)!==0))return-1;for(et(n,0,o,0,A,I,a),s=0;s<32;s++)n[s]=0;return 0}g(it,"crypto_secretbox_open");function N(n,o){var A;for(A=0;A<16;A++)n[A]=o[A]|0}g(N,"set25519");function fe(n){var o,A;for(A=0;A<16;A++)n[A]+=65536,o=Math.floor(n[A]/65536),n[(A+1)*(A<15?1:0)]+=o-1+37*(o-1)*(A===15?1:0),n[A]-=o*65536}g(fe,"car25519");function ie(n,o,A){for(var I,a=~(A-1),s=0;s<16;s++)I=a&(n[s]^o[s]),n[s]^=I,o[s]^=I}g(ie,"sel25519");function Ae(n,o){var A,I,a,s=i(),u=i();for(A=0;A<16;A++)u[A]=o[A];for(fe(u),fe(u),fe(u),I=0;I<2;I++){for(s[0]=u[0]-65517,A=1;A<15;A++)s[A]=u[A]-65535-(s[A-1]>>16&1),s[A-1]&=65535;s[15]=u[15]-32767-(s[14]>>16&1),a=s[15]>>16&1,s[14]&=65535,ie(u,s,1-a)}for(A=0;A<16;A++)n[2*A]=u[A]&255,n[2*A+1]=u[A]>>8}g(Ae,"pack25519");function Vt(n,o){var A=new Uint8Array(32),I=new Uint8Array(32);return Ae(A,n),Ae(I,o),Ze(A,0,I,0)}g(Vt,"neq25519");function Gt(n){var o=new Uint8Array(32);return Ae(o,n),o[0]&1}g(Gt,"par25519");function At(n,o){var A;for(A=0;A<16;A++)n[A]=o[2*A]+(o[2*A+1]<<8);n[15]&=32767}g(At,"unpack25519");function R(n,o,A){var I;for(I=0;I<16;I++)n[I]=o[I]+A[I]|0}g(R,"A");function H(n,o,A){var I;for(I=0;I<16;I++)n[I]=o[I]-A[I]|0}g(H,"Z");function Q(n,o,A){var I,a,s=new Float64Array(31);for(I=0;I<31;I++)s[I]=0;for(I=0;I<16;I++)for(a=0;a<16;a++)s[I+a]+=o[I]*A[a];for(I=0;I<15;I++)s[I]+=38*s[I+16];for(I=0;I<16;I++)n[I]=s[I];fe(n),fe(n)}g(Q,"M");function k(n,o){Q(n,o,o)}g(k,"S");function Nt(n,o){var A=i(),I;for(I=0;I<16;I++)A[I]=o[I];for(I=253;I>=0;I--)k(A,A),I!==2&&I!==4&&Q(A,A,o);for(I=0;I<16;I++)n[I]=A[I]}g(Nt,"inv25519");function Tt(n,o){var A=i(),I;for(I=0;I<16;I++)A[I]=o[I];for(I=250;I>=0;I--)k(A,A),I!==1&&Q(A,A,o);for(I=0;I<16;I++)n[I]=A[I]}g(Tt,"pow2523");function me(n,o,A){var I=new Uint8Array(32),a=new Float64Array(80),s,u,l=i(),h=i(),C=i(),E=i(),d=i(),p=i();for(u=0;u<31;u++)I[u]=o[u];for(I[31]=o[31]&127|64,I[0]&=248,At(a,A),u=0;u<16;u++)h[u]=a[u],E[u]=l[u]=C[u]=0;for(l[0]=E[0]=1,u=254;u>=0;--u)s=I[u>>>3]>>>(u&7)&1,ie(l,h,s),ie(C,E,s),R(d,l,C),H(l,l,C),R(C,h,E),H(h,h,E),k(E,d),k(p,l),Q(l,C,l),Q(C,h,d),R(d,l,C),H(l,l,C),k(h,l),H(C,E,p),Q(l,C,b),R(l,l,E),Q(C,C,l),Q(l,E,p),Q(E,h,a),k(h,d),ie(l,h,s),ie(C,E,s);for(u=0;u<16;u++)a[u+16]=l[u],a[u+32]=C[u],a[u+48]=h[u],a[u+64]=E[u];var L=a.subarray(32),ae=a.subarray(16);return Nt(L,L),Q(ae,ae,L),Ae(n,ae),0}g(me,"crypto_scalarmult");function ve(n,o){return me(n,o,y)}g(ve,"crypto_scalarmult_base");function Ot(n,o){return c(o,32),ve(n,o)}g(Ot,"crypto_box_keypair");function Fe(n,o,A){var I=new Uint8Array(32);return me(I,A,o),Ue(n,f,I,he)}g(Fe,"crypto_box_beforenm");var Jt=nt,$r=it;function en(n,o,A,I,a,s){var u=new Uint8Array(32);return Fe(u,a,s),Jt(n,o,A,I,u)}g(en,"crypto_box");function tn(n,o,A,I,a,s){var u=new Uint8Array(32);return Fe(u,a,s),$r(n,o,A,I,u)}g(tn,"crypto_box_open");function Ce(){var n=0,o=0,A=0,I=0,a=65535,s,u,l;for(l=0;l<arguments.length;l++)s=arguments[l].lo,u=arguments[l].hi,n+=s&a,o+=s>>>16,A+=u&a,I+=u>>>16;return o+=n>>>16,A+=o>>>16,I+=A>>>16,new t(A&a|I<<16,n&a|o<<16)}g(Ce,"add64");function jt(n,o){return new t(n.hi>>>o,n.lo>>>o|n.hi<<32-o)}g(jt,"shr64");function Pe(){var n=0,o=0,A;for(A=0;A<arguments.length;A++)n^=arguments[A].lo,o^=arguments[A].hi;return new t(o,n)}g(Pe,"xor64");function V(n,o){var A,I,a=32-o;return o<32?(A=n.hi>>>o|n.lo<<a,I=n.lo>>>o|n.hi<<a):o<64&&(A=n.lo>>>o|n.hi<<a,I=n.hi>>>o|n.lo<<a),new t(A,I)}g(V,"R");function rn(n,o,A){var I=n.hi&o.hi^~n.hi&A.hi,a=n.lo&o.lo^~n.lo&A.lo;return new t(I,a)}g(rn,"Ch");function nn(n,o,A){var I=n.hi&o.hi^n.hi&A.hi^o.hi&A.hi,a=n.lo&o.lo^n.lo&A.lo^o.lo&A.lo;return new t(I,a)}g(nn,"Maj");function An(n){return Pe(V(n,28),V(n,34),V(n,39))}g(An,"Sigma0");function on(n){return Pe(V(n,14),V(n,18),V(n,41))}g(on,"Sigma1");function In(n){return Pe(V(n,1),V(n,8),jt(n,7))}g(In,"sigma0");function an(n){return Pe(V(n,19),V(n,61),jt(n,6))}g(an,"sigma1");var gn=[new t(1116352408,3609767458),new t(1899447441,602891725),new t(3049323471,3964484399),new t(3921009573,2173295548),new t(961987163,4081628472),new t(1508970993,3053834265),new t(2453635748,2937671579),new t(2870763221,3664609560),new t(3624381080,2734883394),new t(310598401,1164996542),new t(607225278,1323610764),new t(1426881987,3590304994),new t(1925078388,4068182383),new t(2162078206,991336113),new t(2614888103,633803317),new t(3248222580,3479774868),new t(3835390401,2666613458),new t(4022224774,944711139),new t(264347078,2341262773),new t(604807628,2007800933),new t(770255983,1495990901),new t(1249150122,1856431235),new t(1555081692,3175218132),new t(1996064986,2198950837),new t(2554220882,3999719339),new t(2821834349,766784016),new t(2952996808,2566594879),new t(3210313671,3203337956),new t(3336571891,1034457026),new t(3584528711,2466948901),new t(113926993,3758326383),new t(338241895,168717936),new t(666307205,1188179964),new t(773529912,1546045734),new t(1294757372,1522805485),new t(1396182291,2643833823),new t(1695183700,2343527390),new t(1986661051,1014477480),new t(2177026350,1206759142),new t(2456956037,344077627),new t(2730485921,1290863460),new t(2820302411,3158454273),new t(3259730800,3505952657),new t(3345764771,106217008),new t(3516065817,3606008344),new t(3600352804,1432725776),new t(4094571909,1467031594),new t(275423344,851169720),new t(430227734,3100823752),new t(506948616,1363258195),new t(659060556,3750685593),new t(883997877,3785050280),new t(958139571,3318307427),new t(1322822218,3812723403),new t(1537002063,2003034995),new t(1747873779,3602036899),new t(1955562222,1575990012),new t(2024104815,1125592928),new t(2227730452,2716904306),new t(2361852424,442776044),new t(2428436474,593698344),new t(2756734187,3733110249),new t(3204031479,2999351573),new t(3329325298,3815920427),new t(3391569614,3928383900),new t(3515267271,566280711),new t(3940187606,3454069534),new t(4118630271,4000239992),new t(116418474,1914138554),new t(174292421,2731055270),new t(289380356,3203993006),new t(460393269,320620315),new t(685471733,587496836),new t(852142971,1086792851),new t(1017036298,365543100),new t(1126000580,2618297676),new t(1288033470,3409855158),new t(1501505948,4234509866),new t(1607167915,987167468),new t(1816402316,1246189591)];function Xt(n,o,A){var I=[],a=[],s=[],u=[],l,h,C;for(h=0;h<8;h++)I[h]=s[h]=Pt(n,8*h);for(var E=0;A>=128;){for(h=0;h<16;h++)u[h]=Pt(o,8*h+E);for(h=0;h<80;h++){for(C=0;C<8;C++)a[C]=s[C];for(l=Ce(s[7],on(s[4]),rn(s[4],s[5],s[6]),gn[h],u[h%16]),a[7]=Ce(l,An(s[0]),nn(s[0],s[1],s[2])),a[3]=Ce(a[3],l),C=0;C<8;C++)s[(C+1)%8]=a[C];if(h%16===15)for(C=0;C<16;C++)u[C]=Ce(u[C],u[(C+9)%16],In(u[(C+1)%16]),an(u[(C+14)%16]))}for(h=0;h<8;h++)s[h]=Ce(s[h],I[h]),I[h]=s[h];E+=128,A-=128}for(h=0;h<8;h++)Kt(n,8*h,I[h]);return A}g(Xt,"crypto_hashblocks");let ue=g((n,o)=>r(o).update(n).digest(),"crypto_hash_blake2b");var cn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function ot(n,o,A){var I=new Uint8Array(64),a=new Uint8Array(256),s,u=A;for(s=0;s<64;s++)I[s]=cn[s];for(Xt(I,o,A),A%=128,s=0;s<256;s++)a[s]=0;for(s=0;s<A;s++)a[s]=o[u-A+s];for(a[A]=128,A=256-128*(A<112?1:0),a[A-9]=0,Kt(a,A-8,new t(u/536870912|0,u<<3)),Xt(I,a,A),s=0;s<64;s++)n[s]=I[s];return 0}g(ot,"crypto_hash");function Ke(n,o){var A=i(),I=i(),a=i(),s=i(),u=i(),l=i(),h=i(),C=i(),E=i();H(A,n[1],n[0]),H(E,o[1],o[0]),Q(A,A,E),R(I,n[0],n[1]),R(E,o[0],o[1]),Q(I,I,E),Q(a,n[3],o[3]),Q(a,a,S),Q(s,n[2],o[2]),R(s,s,s),H(u,I,A),H(l,s,a),R(h,s,a),R(C,I,A),Q(n[0],u,l),Q(n[1],C,h),Q(n[2],h,l),Q(n[3],u,C)}g(Ke,"add");function qt(n,o,A){var I;for(I=0;I<4;I++)ie(n[I],o[I],A)}g(qt,"cswap");function ke(n,o){var A=i(),I=i(),a=i();Nt(a,o[2]),Q(A,o[0],a),Q(I,o[1],a),Ae(n,I),n[31]^=Gt(A)<<7}g(ke,"pack");function It(n,o,A){var I,a;for(N(n[0],w),N(n[1],x),N(n[2],x),N(n[3],w),a=255;a>=0;--a)I=A[a/8|0]>>(a&7)&1,qt(n,o,I),Ke(o,n),Ke(n,n),qt(n,o,I)}g(It,"scalarmult");function le(n,o){var A=[i(),i(),i(),i()];N(A[0],m),N(A[1],j),N(A[2],x),Q(A[3],m,j),It(n,A,o)}g(le,"scalarbase");function at(n,o,A){var I=new Uint8Array(64),a=[i(),i(),i(),i()],s;A||c(o,32);I=ue(o,64),I[0]&=248,I[31]&=127,I[31]|=64,le(a,I),ke(n,a);return 0}g(at,"crypto_sign_keypair");var Ye=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function gt(n,o){var A,I,a,s;for(I=63;I>=32;--I){for(A=0,a=I-32,s=I-12;a<s;++a)o[a]+=A-16*o[I]*Ye[a-(I-32)],A=Math.floor((o[a]+128)/256),o[a]-=A*256;o[a]+=A,o[I]=0}for(A=0,a=0;a<32;a++)o[a]+=A-(o[31]>>4)*Ye[a],A=o[a]>>8,o[a]&=255;for(a=0;a<32;a++)o[a]-=A*Ye[a];for(I=0;I<32;I++)o[I+1]+=o[I]>>8,n[I]=o[I]&255}g(gt,"modL");function ct(n){var o=new Float64Array(64),A;for(A=0;A<64;A++)o[A]=n[A];for(A=0;A<64;A++)n[A]=0;gt(n,o)}g(ct,"reduce");function Wt(n,o,A,I){var a=new Uint8Array(64),s=new Uint8Array(64),u=new Uint8Array(64),l,h,C=new Float64Array(64),E=[i(),i(),i(),i()];let d=er(I);a=ue(I,64),a[0]&=248,a[31]&=127,a[31]|=64;var p=A+64;for(l=0;l<A;l++)n[64+l]=o[l];for(l=0;l<32;l++)n[32+l]=a[32+l];for(u=ue(n.subarray(32),64),ct(u),le(E,u),ke(n,E),l=32;l<64;l++)n[l]=d[l-32];for(s=ue(n,64),ct(s),l=0;l<64;l++)C[l]=0;for(l=0;l<32;l++)C[l]=u[l];for(l=0;l<32;l++)for(h=0;h<32;h++)C[l+h]+=s[l]*a[h];return gt(n.subarray(32),C),p}g(Wt,"crypto_sign");function sn(n,o){var A=i(),I=i(),a=i(),s=i(),u=i(),l=i(),h=i();return N(n[2],x),At(n[1],o),k(a,n[1]),Q(s,a,_),H(a,a,n[2]),R(s,n[2],s),k(u,s),k(l,u),Q(h,l,u),Q(A,h,a),Q(A,A,s),Tt(A,A),Q(A,A,a),Q(A,A,s),Q(A,A,s),Q(n[0],A,s),k(I,n[0]),Q(I,I,s),Vt(I,a)&&Q(n[0],n[0],se),k(I,n[0]),Q(I,I,s),Vt(I,a)?-1:(Gt(n[0])===o[31]>>7&&H(n[0],w,n[0]),Q(n[3],n[0],n[1]),0)}g(sn,"unpackneg");function st(n,o,A,I){var a,s=new Uint8Array(32),u=new Uint8Array(64),l=[i(),i(),i(),i()],h=[i(),i(),i(),i()];if(A<64||sn(h,I))return-1;for(a=0;a<A;a++)n[a]=o[a];for(a=0;a<32;a++)n[a+32]=I[a];if(ot(u,n,A),ct(u),It(l,h,u),le(h,o.subarray(32)),Ke(l,h),ke(s,l),A-=64,Ze(o,0,s,0)){for(a=0;a<A;a++)n[a]=0;return-1}for(a=0;a<A;a++)n[a]=o[a+64];return A}g(st,"crypto_sign_open");var ht=32,Re=24,ye=32,oe=16,Ee=32,He=32,we=32,Be=32,ft=32,zt=Re,hn=ye,fn=oe,T=64,z=32,Ie=32,Ct=32,ut=64;e.lowlevel={crypto_core_hsalsa20:Ue,crypto_stream_xor:et,crypto_stream:Lt,crypto_stream_salsa20_xor:$e,crypto_stream_salsa20:Ht,crypto_onetimeauth:rt,crypto_onetimeauth_verify:Mt,crypto_verify_16:kt,crypto_verify_32:Ze,crypto_secretbox:nt,crypto_secretbox_open:it,crypto_scalarmult:me,crypto_scalarmult_base:ve,crypto_box_beforenm:Fe,crypto_box_afternm:Jt,crypto_box:en,crypto_box_open:tn,crypto_box_keypair:Ot,crypto_hash:ot,crypto_sign:Wt,crypto_sign_keypair:at,crypto_sign_open:st,crypto_secretbox_KEYBYTES:ht,crypto_secretbox_NONCEBYTES:Re,crypto_secretbox_ZEROBYTES:ye,crypto_secretbox_BOXZEROBYTES:oe,crypto_scalarmult_BYTES:Ee,crypto_scalarmult_SCALARBYTES:He,crypto_box_PUBLICKEYBYTES:we,crypto_box_SECRETKEYBYTES:Be,crypto_box_BEFORENMBYTES:ft,crypto_box_NONCEBYTES:zt,crypto_box_ZEROBYTES:hn,crypto_box_BOXZEROBYTES:fn,crypto_sign_BYTES:T,crypto_sign_PUBLICKEYBYTES:z,crypto_sign_SECRETKEYBYTES:Ie,crypto_sign_SEEDBYTES:Ct,crypto_hash_BYTES:ut,gf:i,D:_,L:Ye,pack25519:Ae,unpack25519:At,M:Q,A:R,S:k,Z:H,pow2523:Tt,add:Ke,set25519:N,modL:gt,scalarmult:It,scalarbase:le};function Zt(n,o){if(n.length!==ht)throw new Error("bad key size");if(o.length!==Re)throw new Error("bad nonce size")}g(Zt,"checkLengths");function Cn(n,o){if(n.length!==we)throw new Error("bad public key size");if(o.length!==Be)throw new Error("bad secret key size")}g(Cn,"checkBoxLengths");function P(){for(var n=0;n<arguments.length;n++)if(!(arguments[n]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}g(P,"checkArrayTypes");function $t(n){for(var o=0;o<n.length;o++)n[o]=0}g($t,"cleanup"),e.randomBytes=function(n){var o=new Uint8Array(n);return c(o,n),o},e.secretbox=function(n,o,A){P(n,o,A),Zt(A,o);for(var I=new Uint8Array(ye+n.length),a=new Uint8Array(I.length),s=0;s<n.length;s++)I[s+ye]=n[s];return nt(a,I,I.length,o,A),a.subarray(oe)},e.secretbox.open=function(n,o,A){P(n,o,A),Zt(A,o);for(var I=new Uint8Array(oe+n.length),a=new Uint8Array(I.length),s=0;s<n.length;s++)I[s+oe]=n[s];return I.length<32||it(a,I,I.length,o,A)!==0?null:a.subarray(ye)},e.secretbox.keyLength=ht,e.secretbox.nonceLength=Re,e.secretbox.overheadLength=oe,e.scalarMult=function(n,o){if(P(n,o),n.length!==He)throw new Error("bad n size");if(o.length!==Ee)throw new Error("bad p size");var A=new Uint8Array(Ee);return me(A,n,o),A},e.scalarMult.base=function(n){if(P(n),n.length!==He)throw new Error("bad n size");var o=new Uint8Array(Ee);return ve(o,n),o},e.scalarMult.scalarLength=He,e.scalarMult.groupElementLength=Ee,e.box=function(n,o,A,I){var a=e.box.before(A,I);return e.secretbox(n,o,a)},e.box.before=function(n,o){P(n,o),Cn(n,o);var A=new Uint8Array(ft);return Fe(A,n,o),A},e.box.after=e.secretbox,e.box.open=function(n,o,A,I){var a=e.box.before(A,I);return e.secretbox.open(n,o,a)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var n=new Uint8Array(we),o=new Uint8Array(Be);return Ot(n,o),{publicKey:n,secretKey:o}},e.box.keyPair.fromSecretKey=function(n){if(P(n),n.length!==Be)throw new Error("bad secret key size");var o=new Uint8Array(we);return ve(o,n),{publicKey:o,secretKey:new Uint8Array(n)}},e.box.publicKeyLength=we,e.box.secretKeyLength=Be,e.box.sharedKeyLength=ft,e.box.nonceLength=zt,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(n,o){if(P(n,o),o.length!==Ie)throw new Error("bad secret key size");var A=new Uint8Array(T+n.length);return Wt(A,n,n.length,o),A},e.sign.open=function(n,o){if(P(n,o),o.length!==z)throw new Error("bad public key size");var A=new Uint8Array(n.length),I=st(A,n,n.length,o);if(I<0)return null;for(var a=new Uint8Array(I),s=0;s<a.length;s++)a[s]=A[s];return a},e.sign.detached=function(n,o){for(var A=e.sign(n,o),I=new Uint8Array(T),a=0;a<I.length;a++)I[a]=A[a];return I},e.sign.detached.verify=function(n,o,A){if(P(n,o,A),o.length!==T)throw new Error("bad signature size");if(A.length!==z)throw new Error("bad public key size");var I=new Uint8Array(T+n.length),a=new Uint8Array(T+n.length),s;for(s=0;s<T;s++)I[s]=o[s];for(s=0;s<n.length;s++)I[s+T]=n[s];return st(a,I,I.length,A)>=0};function er(n){let o=new Uint8Array(64),A=[i(),i(),i(),i()],I,a=new Uint8Array(32);return o=ue(n,64),o[0]&=248,o[31]&=127,o[31]|=64,le(A,o),ke(a,A),a}g(er,"derivePublicFromSecret"),e.sign.keyPair=function(){var n=new Uint8Array(z),o=new Uint8Array(Ie);return at(n,o),{publicKey:n,secretKey:o}},e.sign.keyPair.fromSecretKey=function(n){if(P(n),n.length!==Ie)throw new Error("bad secret key size");var o=new Uint8Array(z);return o=er(n),{publicKey:o,secretKey:new Uint8Array(n)}},e.sign.keyPair.fromSeed=function(n){if(P(n),n.length!==Ct)throw new Error("bad seed size");for(var o=new Uint8Array(z),A=new Uint8Array(Ie),I=0;I<32;I++)A[I]=n[I];return at(o,A,!0),{publicKey:o,secretKey:A}},e.sign.publicKeyLength=z,e.sign.secretKeyLength=Ie,e.sign.seedLength=Ct,e.sign.signatureLength=T,e.hash=function(n){P(n);var o=new Uint8Array(ut);return ot(o,n,n.length),o},e.hash.hashLength=ut,e.verify=function(n,o){return P(n,o),n.length===0||o.length===0||n.length!==o.length?!1:ze(n,0,o,0,n.length)===0},e.setPRNG=function(n){c=n},function(){var n=typeof self<"u"?self.crypto||self.msCrypto:null;if(n&&n.getRandomValues){var o=65536;e.setPRNG(function(A,I){var a,s=new Uint8Array(I);for(a=0;a<I;a+=o)n.getRandomValues(s.subarray(a,a+Math.min(I-a,o)));for(a=0;a<I;a++)A[a]=s[a];$t(s)})}else typeof tr<"u"&&n&&n.randomBytes&&e.setPRNG(function(A,I){var a,s=n.randomBytes(I);for(a=0;a<I;a++)A[a]=s[a];$t(s)})}()})(typeof Oe<"u"&&Oe.exports?Oe.exports:self.nacl=self.nacl||{})});var Xe={};Me(Xe,{base32_to_uint8array:()=>qr,get_address_from_public_key:()=>_e,get_private_key_from_seed:()=>_t,get_public_key_from_address:()=>pe,get_public_key_from_private_key:()=>je,hash_block:()=>te,hex_to_uint8array:()=>D,int_to_uint8array:()=>jr,raw_to_whole:()=>bt,sign_block_hash:()=>re,sign_message:()=>pt,uint8array_to_base32:()=>dt,uint8array_to_hex:()=>ee,utf8_to_uint8array:()=>Wr,verify_block_hash:()=>pi,whole_to_raw:()=>De});var Je=rr(Jr()),Se=rr(Qt());var Qi="0000000000000000000000000000000000000000000000000000000000000006",di="62616E616E6F6D73672D",be=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function ee(e){let r="";for(let t=0;t<e.length;t++)r+=be[Math.floor(e[t]/16)]+be[e[t]%16];return r}g(ee,"uint8array_to_hex");function D(e){e=e.toUpperCase();let r=new Uint8Array(Math.ceil(e.length/2));for(let t=0;t<Math.floor(e.length/2);t++)r[t]=be.indexOf(e[t*2])*16+be.indexOf(e[t*2+1]);return e.length/2%1!==0&&(r[r.length-1]=be.indexOf(e[e.length-1])*16),r}g(D,"hex_to_uint8array");function jr(e,r){let t=new Uint8Array(r);for(let i=1;i<=r;i++)if(i===1)t[r-i]=e%16**2;else{let c=e;for(let f=i-1;f>0;f--)c-=t[r-f]*16**(2*(f-1));t[r-i]=Math.floor(c/16**(2*(i-1)))}return t}g(jr,"int_to_uint8array");var Xr=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function dt(e){let r="";for(let t=0;t<Math.floor(e.length*8/5);t++){let i=t*5,c=Math.floor(i/8),f=i%8,y,w=8-f;if(w>=5)y=e[c]>>w-5&31;else{let x=5-w;y=(e[c]<<x&31)+(e[c+1]>>8-x&2**(8-x)-1)}r+=Xr[y]}return r}g(dt,"uint8array_to_base32");function bi(e,r){let t="",i=e;for(let c=0;c<r;c++)i>=2**(r-1-c)?(t+="1",i-=2**(r-1-c)):t+="0";return t}g(bi,"int_to_binary");function _i(e){let r=0;for(let t=0;t<e.length;t++)r+=e[t]==="1"?2**(e.length-1-t):0;return r}g(_i,"binary_to_int");function qr(e){let r=e.split("").map(i=>bi(Xr.indexOf(i),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let i=0;i<t.length;i++)t[i]=_i(r.slice(i*8,i*8+8));return t}g(qr,"base32_to_uint8array");function Wr(e){return new TextEncoder().encode(e)}g(Wr,"utf8_to_uint8array");var zr=29;function De(e,r=zr){let t;if(e.includes(".")){let i=e.split(".");if(0>r-i[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(i[0])*BigInt(10)**BigInt(r)+BigInt(i[1])*BigInt(10)**BigInt(r-i[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}g(De,"whole_to_raw");function bt(e,r=zr){let t=e.toString(),i;if(t.length>r)i=t.slice(0,-r)+"."+t.slice(-r);else{let f=r-t.length;i="0."+"0".repeat(f>0?f:0)+t}let c=i.length;for(let f=0;f<c;f++)(i.slice(-1)==="0"||i.slice(-1)===".")&&(i=i.slice(0,-1));return i}g(bt,"raw_to_whole");function _t(e,r){return(0,Se.default)(32).update(D(e)).update(jr(r,4)).digest("hex").toUpperCase()}g(_t,"get_private_key_from_seed");function je(e){return ee(Je.sign.keyPair.fromSecretKey(D(e)).publicKey)}g(je,"get_public_key_from_private_key");function _e(e,r="ban_"){let t=dt(D(`0${e}`)),i=dt((0,Se.default)(5,null,null,null,!0).update(D(e)).digest().reverse());return`ban_${t}${i}`}g(_e,"get_address_from_public_key");function pe(e){let r=qr(e.split("_")[1].slice(0,52));return r[r.length-1]=r[r.length-1]*16,ee(r).slice(1,-1)}g(pe,"get_public_key_from_address");function te(e){let r=BigInt(e.balance).toString(16).toUpperCase();for(;r.length<32;)r="0"+r;return(0,Se.default)(32).update(D(Qi)).update(D(pe(e.account))).update(D(e.previous)).update(D(pe(e.representative))).update(D(r)).update(D(e.link)).digest("hex").toUpperCase()}g(te,"hash_block");function re(e,r){return ee(Je.sign.detached(D(r),D(e)))}g(re,"sign_block_hash");function pi(e,r,t){return Je.sign.detached.verify(D(t),D(r),D(e))}g(pi,"verify_block_hash");function pt(e,r,t=di){let i="0".repeat(64),c={type:"state",account:_e(je(e)),previous:i,representative:_e(ee((0,Se.default)(32).update(D(t)).update(Wr(r)).digest())),balance:"0",link:i};return re(e,te(c))}g(pt,"sign_message");var Dt={};Me(Dt,{RPC:()=>qe,RPCWithBackup:()=>St});var qe=class{constructor(r,t=!1){this.DECIMALS=void 0;this.debug=!1;this.rpc_url=r,this.use_pending=t}static{g(this,"RPC")}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let i=await t.json();if(i.error)throw Error(`RPC node response: ${i.error}`);return i}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?"true":void 0})}async get_account_history(r,t,i,c,f,y,w){return await this.call({action:"account_history",account:r,count:`${t}`,raw:i?"true":void 0,head:c,offset:f?`${f}`:void 0,reverse:y?"true":void 0,account_filter:w})}async get_account_info(r,t,i,c,f){return await this.call({action:"account_info",account:r,representative:i?"true":void 0,weight:c?"true":void 0,pending:f?"true":void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,i,c){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:i?De(i,this.DECIMALS).toString():void 0,source:c?"true":void 0})}async get_delegators(r,t,i,c){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:i?`${i}`:void 0,start:c})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}},St=class extends qe{static{g(this,"RPCWithBackup")}constructor(r,t,i=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],i),this.rpc_urls=r}async call(r){let t=0;for(;;)try{let i=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!i.ok)throw Error(`Request to RPC node failed with status code ${i.status}`);let c=await i.json();if(c.error)throw Error(`RPC node response: ${c.error}`);return c}catch(i){if(!this.rpc_urls[++t])throw Error(i)}}};var mt={};Me(mt,{Wallet:()=>Ut});var Ut=class e{constructor(r,t,i=0,c=!1,f){this.add_do_work=!0;if(this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=i,this.work_function=f}static{g(this,"Wallet")}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let i=ee(t);return new e(r,i)}get private_key(){return _t(this.seed,this.index)}get public_key(){return je(this.private_key)}get address(){return _e(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,i,c,f){let y=De(t,this.rpc.DECIMALS),w=f??await this.get_account_info(void 0,!0),x=pe(r);c||(c=w.representative);let b=BigInt(w.balance),_=b-y;if(_<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${b}) less than send amount (raw: ${y})`);let S={type:"state",account:this.address,previous:w.frontier,representative:c,balance:_.toString(),link:x,link_as_account:r},m=te(S),j;i&&(j=await this.work_function(m));let se=re(this.private_key,m),X={...S,signature:se,work:j};return await this.send_process(X,"send")}async send_all(r,t,i){let c=await this.get_account_info(void 0,!0);return await this.send(r,bt(BigInt(c.balance),this.rpc.DECIMALS),t,i,c)}async receive(r,t,i){let c=await this.rpc.get_block_info(r),f=0n;i||(i=this.address);let y;try{let m=await this.get_account_info(void 0,!0);y=m.frontier,i=m.representative,f=BigInt(m.balance)}catch{y="0".repeat(64)}let w={type:"state",account:this.address,previous:y,representative:i,balance:(f+BigInt(c.amount)).toString(),link:r},x=te(w),b;t&&(b=await this.work_function(x));let _=re(this.private_key,x),S={...w,signature:_,work:b};return await this.send_process(S,"receive")}async receive_all(r=20,t,i){let c=(await this.get_account_receivable(r,t,!0)).blocks,f,y,w;try{let b=await this.get_account_info(void 0,!0);f=b.frontier,y=b.representative,w=BigInt(b.balance)}catch{f="0".repeat(64),y=this.address,w=BigInt(0)}let x=[];for(let b of Object.keys(c)){let _=(w+BigInt(c[b].amount)).toString(),S={type:"state",account:this.address,previous:f,representative:y,balance:_,link:b},m=te(S),j;i&&(j=await this.work_function(m));let se=re(this.private_key,m),X={...S,signature:se,work:j};await this.send_process(X,"receive"),x.push(m),f=m,w=BigInt(_)}return x}async change_representative(r,t){let i=await this.get_account_info(),c={type:"state",account:this.address,previous:i.frontier,representative:r,balance:i.balance,link:"0".repeat(64)},f=te(c),y;t&&(y=await this.work_function(f));let w=re(this.private_key,f),x={...c,signature:w,work:y};return await this.send_process(x,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,i,c){return await this.rpc.get_account_info(this.address,r,t,i,c)}async get_account_receivable(r,t,i){return await this.rpc.get_account_receivable(this.address,r,t,i)}sign_message(r){return pt(this.private_key,r)}};var Ft={};Me(Ft,{RPCWorkProvider:()=>vt});var vt=class{constructor(r){this.extra_payload={};this.rpc=r}static{g(this,"RPCWorkProvider")}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};window.banani={...Xe,...Dt,...mt,...Ft};})();
|
|
//!!! BANANO CHANGE: we are replacing the below line with blake2b
|
|
//!!! BANANO CHANGE: below line commented out
|
|
//!!! BANANO CHANGE: Changed hashing to blake2b, and the derive pk thing
|
|
//!!! BANANO CHANGE: New function. I don't know what's going on, just looking at what bananojs changed
|
|
//!!! BANANO CHANGE: we are replacing the below line with other... math stuff. Again, I don't know what's going on, just looking at what bananojs changed
|