@protontech/openpgp 6.1.1-patch.4 → 6.2.1
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.
- package/README.md +13 -2
- package/dist/lightweight/argon2id.min.mjs +2 -2
- package/dist/lightweight/argon2id.min.mjs.map +1 -1
- package/dist/lightweight/argon2id.mjs +4 -4
- package/dist/lightweight/legacy_ciphers.min.mjs +1 -1
- package/dist/lightweight/legacy_ciphers.min.mjs.map +1 -1
- package/dist/lightweight/legacy_ciphers.mjs +10 -10
- package/dist/lightweight/nacl-fast.min.mjs +3 -0
- package/dist/lightweight/nacl-fast.min.mjs.map +1 -0
- package/dist/lightweight/nacl-fast.mjs +1382 -0
- package/dist/lightweight/noble_curves.min.mjs +11 -12
- package/dist/lightweight/noble_curves.min.mjs.map +1 -1
- package/dist/lightweight/noble_curves.mjs +2175 -1752
- package/dist/lightweight/noble_hashes.min.mjs +2 -2
- package/dist/lightweight/noble_hashes.min.mjs.map +1 -1
- package/dist/lightweight/noble_hashes.mjs +80 -51
- package/dist/lightweight/noble_post_quantum.min.mjs +3 -4
- package/dist/lightweight/noble_post_quantum.min.mjs.map +1 -1
- package/dist/lightweight/noble_post_quantum.mjs +352 -10
- package/dist/lightweight/openpgp.min.mjs +3 -4
- package/dist/lightweight/openpgp.min.mjs.map +1 -1
- package/dist/lightweight/openpgp.mjs +998 -2820
- package/dist/lightweight/seek-bzip.min.mjs +2 -2
- package/dist/lightweight/seek-bzip.min.mjs.map +1 -1
- package/dist/lightweight/seek-bzip.mjs +780 -746
- package/dist/lightweight/sha512.min.mjs +4 -2
- package/dist/lightweight/sha512.min.mjs.map +1 -1
- package/dist/lightweight/sha512.mjs +672 -130
- package/dist/node/openpgp.cjs +10685 -10141
- package/dist/node/openpgp.min.cjs +14 -17
- package/dist/node/openpgp.min.cjs.map +1 -1
- package/dist/node/openpgp.min.mjs +14 -17
- package/dist/node/openpgp.min.mjs.map +1 -1
- package/dist/node/openpgp.mjs +10685 -10140
- package/dist/openpgp.js +11728 -11188
- package/dist/openpgp.min.js +14 -17
- package/dist/openpgp.min.js.map +1 -1
- package/dist/openpgp.min.mjs +14 -17
- package/dist/openpgp.min.mjs.map +1 -1
- package/dist/openpgp.mjs +11728 -11188
- package/{src → dist/types}/config/config.d.ts +1 -21
- package/{openpgp.d.ts → dist/types/index.d.ts} +94 -76
- package/dist/types/packet/grammar.d.ts +33 -0
- package/package.json +40 -39
- package/dist/lightweight/sha3.min.mjs +0 -4
- package/dist/lightweight/sha3.min.mjs.map +0 -1
- package/dist/lightweight/sha3.mjs +0 -401
- /package/{src → dist/types}/config/index.d.ts +0 -0
- /package/{src → dist/types}/enums.d.ts +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! OpenPGP.js v6.
|
|
1
|
+
/*! OpenPGP.js v6.2.1 - 2025-08-28 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
2
|
const globalThis = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3
3
|
|
|
4
4
|
//Paul Tero, July 2001
|
|
@@ -35,13 +35,13 @@ function des(keys, message, encrypt, mode, iv, padding) {
|
|
|
35
35
|
0x1000400, 0, 0x10004, 0x10400, 0, 0x1010004
|
|
36
36
|
];
|
|
37
37
|
const spfunction2 = [
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
0x100020, -
|
|
44
|
-
-
|
|
38
|
+
-2146402272, -2147450880, 0x8000, 0x108020, 0x100000, 0x20, -2146435040, -2147450848,
|
|
39
|
+
-2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 0x100000, 0x20, -2146435040, 0x108000, 0x100020,
|
|
40
|
+
-2147450848, 0, -2147483648, 0x8000, 0x108020, -2146435072, 0x100020, -2147483616, 0, 0x108000, 0x8020, -2146402304,
|
|
41
|
+
-2146435072, 0x8020, 0, 0x108020, -2146435040, 0x100000, -2147450848, -2146435072, -2146402304, 0x8000, -2146435072,
|
|
42
|
+
-2147450880, 0x20, -2146402272, 0x108020, 0x20, 0x8000, -2147483648, 0x8020, -2146402304, 0x100000, -2147483616,
|
|
43
|
+
0x100020, -2147450848, -2147483616, 0x100020, 0x108000, 0, -2147450880, 0x8020, -2147483648, -2146435040,
|
|
44
|
+
-2146402272, 0x108000
|
|
45
45
|
];
|
|
46
46
|
const spfunction3 = [
|
|
47
47
|
0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008,
|
|
@@ -325,8 +325,8 @@ function desCreateKeys(key) {
|
|
|
325
325
|
left = (left << 1) | (left >>> 27);
|
|
326
326
|
right = (right << 1) | (right >>> 27);
|
|
327
327
|
}
|
|
328
|
-
left &= -
|
|
329
|
-
right &= -
|
|
328
|
+
left &= -15;
|
|
329
|
+
right &= -15;
|
|
330
330
|
|
|
331
331
|
//now apply PC-2, in such a way that E is easier when encrypting or decrypting
|
|
332
332
|
//this conversion will look like PC-2 except only the last 6 bits of each byte are used
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! OpenPGP.js v6.2.1 - 2025-08-28 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */
|
|
2
|
+
const r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n="object"==typeof r&&"crypto"in r?r.crypto:void 0,o={};var t=function(r){var n,o=new Float64Array(16);if(r)for(n=0;n<r.length;n++)o[n]=r[n];return o},f=function(){throw Error("no PRNG")},e=new Uint8Array(32);e[0]=9;var a=t(),i=t([1]),u=t([56129,1]),l=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),y=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),c=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),h=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),w=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function v(r,n,o,t){r[n]=o>>24&255,r[n+1]=o>>16&255,r[n+2]=o>>8&255,r[n+3]=255&o,r[n+4]=t>>24&255,r[n+5]=t>>16&255,r[n+6]=t>>8&255,r[n+7]=255&t}function s(r,n,o,t){return function(r,n,o,t,f){var e,a=0;for(e=0;e<f;e++)a|=r[n+e]^o[t+e];return(1&a-1>>>8)-1}(r,n,o,t,32)}function A(r,n){var o;for(o=0;o<16;o++)r[o]=0|n[o]}function M(r){var n,o,t=1;for(n=0;n<16;n++)o=r[n]+t+65535,t=Math.floor(o/65536),r[n]=o-65536*t;r[0]+=t-1+37*(t-1)}function g(r,n,o){for(var t,f=~(o-1),e=0;e<16;e++)t=f&(r[e]^n[e]),r[e]^=t,n[e]^=t}function U(r,n){var o,f,e,a=t(),i=t();for(o=0;o<16;o++)i[o]=n[o];for(M(i),M(i),M(i),f=0;f<2;f++){for(a[0]=i[0]-65517,o=1;o<15;o++)a[o]=i[o]-65535-(a[o-1]>>16&1),a[o-1]&=65535;a[15]=i[15]-32767-(a[14]>>16&1),e=a[15]>>16&1,a[14]&=65535,g(i,a,1-e)}for(o=0;o<16;o++)r[2*o]=255&i[o],r[2*o+1]=i[o]>>8}function d(r,n){var o=new Uint8Array(32),t=new Uint8Array(32);return U(o,r),U(t,n),s(o,0,t,0)}function b(r){var n=new Uint8Array(32);return U(n,r),1&n[0]}function p(r,n){var o;for(o=0;o<16;o++)r[o]=n[2*o]+(n[2*o+1]<<8);r[15]&=32767}function K(r,n,o){for(var t=0;t<16;t++)r[t]=n[t]+o[t]}function E(r,n,o){for(var t=0;t<16;t++)r[t]=n[t]-o[t]}function k(r,n,o){var t,f,e=0,a=0,i=0,u=0,l=0,y=0,c=0,h=0,w=0,v=0,s=0,A=0,M=0,g=0,U=0,d=0,b=0,p=0,K=0,E=0,k=0,z=0,P=0,m=0,x=0,F=0,R=0,I=0,G=0,N=0,S=0,V=o[0],j=o[1],T=o[2],q=o[3],B=o[4],C=o[5],D=o[6],H=o[7],J=o[8],L=o[9],O=o[10],Q=o[11],W=o[12],X=o[13],Y=o[14],Z=o[15];e+=(t=n[0])*V,a+=t*j,i+=t*T,u+=t*q,l+=t*B,y+=t*C,c+=t*D,h+=t*H,w+=t*J,v+=t*L,s+=t*O,A+=t*Q,M+=t*W,g+=t*X,U+=t*Y,d+=t*Z,a+=(t=n[1])*V,i+=t*j,u+=t*T,l+=t*q,y+=t*B,c+=t*C,h+=t*D,w+=t*H,v+=t*J,s+=t*L,A+=t*O,M+=t*Q,g+=t*W,U+=t*X,d+=t*Y,b+=t*Z,i+=(t=n[2])*V,u+=t*j,l+=t*T,y+=t*q,c+=t*B,h+=t*C,w+=t*D,v+=t*H,s+=t*J,A+=t*L,M+=t*O,g+=t*Q,U+=t*W,d+=t*X,b+=t*Y,p+=t*Z,u+=(t=n[3])*V,l+=t*j,y+=t*T,c+=t*q,h+=t*B,w+=t*C,v+=t*D,s+=t*H,A+=t*J,M+=t*L,g+=t*O,U+=t*Q,d+=t*W,b+=t*X,p+=t*Y,K+=t*Z,l+=(t=n[4])*V,y+=t*j,c+=t*T,h+=t*q,w+=t*B,v+=t*C,s+=t*D,A+=t*H,M+=t*J,g+=t*L,U+=t*O,d+=t*Q,b+=t*W,p+=t*X,K+=t*Y,E+=t*Z,y+=(t=n[5])*V,c+=t*j,h+=t*T,w+=t*q,v+=t*B,s+=t*C,A+=t*D,M+=t*H,g+=t*J,U+=t*L,d+=t*O,b+=t*Q,p+=t*W,K+=t*X,E+=t*Y,k+=t*Z,c+=(t=n[6])*V,h+=t*j,w+=t*T,v+=t*q,s+=t*B,A+=t*C,M+=t*D,g+=t*H,U+=t*J,d+=t*L,b+=t*O,p+=t*Q,K+=t*W,E+=t*X,k+=t*Y,z+=t*Z,h+=(t=n[7])*V,w+=t*j,v+=t*T,s+=t*q,A+=t*B,M+=t*C,g+=t*D,U+=t*H,d+=t*J,b+=t*L,p+=t*O,K+=t*Q,E+=t*W,k+=t*X,z+=t*Y,P+=t*Z,w+=(t=n[8])*V,v+=t*j,s+=t*T,A+=t*q,M+=t*B,g+=t*C,U+=t*D,d+=t*H,b+=t*J,p+=t*L,K+=t*O,E+=t*Q,k+=t*W,z+=t*X,P+=t*Y,m+=t*Z,v+=(t=n[9])*V,s+=t*j,A+=t*T,M+=t*q,g+=t*B,U+=t*C,d+=t*D,b+=t*H,p+=t*J,K+=t*L,E+=t*O,k+=t*Q,z+=t*W,P+=t*X,m+=t*Y,x+=t*Z,s+=(t=n[10])*V,A+=t*j,M+=t*T,g+=t*q,U+=t*B,d+=t*C,b+=t*D,p+=t*H,K+=t*J,E+=t*L,k+=t*O,z+=t*Q,P+=t*W,m+=t*X,x+=t*Y,F+=t*Z,A+=(t=n[11])*V,M+=t*j,g+=t*T,U+=t*q,d+=t*B,b+=t*C,p+=t*D,K+=t*H,E+=t*J,k+=t*L,z+=t*O,P+=t*Q,m+=t*W,x+=t*X,F+=t*Y,R+=t*Z,M+=(t=n[12])*V,g+=t*j,U+=t*T,d+=t*q,b+=t*B,p+=t*C,K+=t*D,E+=t*H,k+=t*J,z+=t*L,P+=t*O,m+=t*Q,x+=t*W,F+=t*X,R+=t*Y,I+=t*Z,g+=(t=n[13])*V,U+=t*j,d+=t*T,b+=t*q,p+=t*B,K+=t*C,E+=t*D,k+=t*H,z+=t*J,P+=t*L,m+=t*O,x+=t*Q,F+=t*W,R+=t*X,I+=t*Y,G+=t*Z,U+=(t=n[14])*V,d+=t*j,b+=t*T,p+=t*q,K+=t*B,E+=t*C,k+=t*D,z+=t*H,P+=t*J,m+=t*L,x+=t*O,F+=t*Q,R+=t*W,I+=t*X,G+=t*Y,N+=t*Z,d+=(t=n[15])*V,a+=38*(p+=t*T),i+=38*(K+=t*q),u+=38*(E+=t*B),l+=38*(k+=t*C),y+=38*(z+=t*D),c+=38*(P+=t*H),h+=38*(m+=t*J),w+=38*(x+=t*L),v+=38*(F+=t*O),s+=38*(R+=t*Q),A+=38*(I+=t*W),M+=38*(G+=t*X),g+=38*(N+=t*Y),U+=38*(S+=t*Z),e=(t=(e+=38*(b+=t*j))+(f=1)+65535)-65536*(f=Math.floor(t/65536)),a=(t=a+f+65535)-65536*(f=Math.floor(t/65536)),i=(t=i+f+65535)-65536*(f=Math.floor(t/65536)),u=(t=u+f+65535)-65536*(f=Math.floor(t/65536)),l=(t=l+f+65535)-65536*(f=Math.floor(t/65536)),y=(t=y+f+65535)-65536*(f=Math.floor(t/65536)),c=(t=c+f+65535)-65536*(f=Math.floor(t/65536)),h=(t=h+f+65535)-65536*(f=Math.floor(t/65536)),w=(t=w+f+65535)-65536*(f=Math.floor(t/65536)),v=(t=v+f+65535)-65536*(f=Math.floor(t/65536)),s=(t=s+f+65535)-65536*(f=Math.floor(t/65536)),A=(t=A+f+65535)-65536*(f=Math.floor(t/65536)),M=(t=M+f+65535)-65536*(f=Math.floor(t/65536)),g=(t=g+f+65535)-65536*(f=Math.floor(t/65536)),U=(t=U+f+65535)-65536*(f=Math.floor(t/65536)),d=(t=d+f+65535)-65536*(f=Math.floor(t/65536)),e=(t=(e+=f-1+37*(f-1))+(f=1)+65535)-65536*(f=Math.floor(t/65536)),a=(t=a+f+65535)-65536*(f=Math.floor(t/65536)),i=(t=i+f+65535)-65536*(f=Math.floor(t/65536)),u=(t=u+f+65535)-65536*(f=Math.floor(t/65536)),l=(t=l+f+65535)-65536*(f=Math.floor(t/65536)),y=(t=y+f+65535)-65536*(f=Math.floor(t/65536)),c=(t=c+f+65535)-65536*(f=Math.floor(t/65536)),h=(t=h+f+65535)-65536*(f=Math.floor(t/65536)),w=(t=w+f+65535)-65536*(f=Math.floor(t/65536)),v=(t=v+f+65535)-65536*(f=Math.floor(t/65536)),s=(t=s+f+65535)-65536*(f=Math.floor(t/65536)),A=(t=A+f+65535)-65536*(f=Math.floor(t/65536)),M=(t=M+f+65535)-65536*(f=Math.floor(t/65536)),g=(t=g+f+65535)-65536*(f=Math.floor(t/65536)),U=(t=U+f+65535)-65536*(f=Math.floor(t/65536)),d=(t=d+f+65535)-65536*(f=Math.floor(t/65536)),e+=f-1+37*(f-1),r[0]=e,r[1]=a,r[2]=i,r[3]=u,r[4]=l,r[5]=y,r[6]=c,r[7]=h,r[8]=w,r[9]=v,r[10]=s,r[11]=A,r[12]=M,r[13]=g,r[14]=U,r[15]=d}function z(r,n){k(r,n,n)}function P(r,n){var o,f=t();for(o=0;o<16;o++)f[o]=n[o];for(o=253;o>=0;o--)z(f,f),2!==o&&4!==o&&k(f,f,n);for(o=0;o<16;o++)r[o]=f[o]}function m(r,n,o){var f,e,a=new Uint8Array(32),i=new Float64Array(80),l=t(),y=t(),c=t(),h=t(),w=t(),v=t();for(e=0;e<31;e++)a[e]=n[e];for(a[31]=127&n[31]|64,a[0]&=248,p(i,o),e=0;e<16;e++)y[e]=i[e],h[e]=l[e]=c[e]=0;for(l[0]=h[0]=1,e=254;e>=0;--e)g(l,y,f=a[e>>>3]>>>(7&e)&1),g(c,h,f),K(w,l,c),E(l,l,c),K(c,y,h),E(y,y,h),z(h,w),z(v,l),k(l,c,l),k(c,y,w),K(w,l,c),E(l,l,c),z(y,l),E(c,h,v),k(l,c,u),K(l,l,h),k(c,c,l),k(l,h,v),k(h,y,i),z(y,w),g(l,y,f),g(c,h,f);for(e=0;e<16;e++)i[e+16]=l[e],i[e+32]=c[e],i[e+48]=y[e],i[e+64]=h[e];var s=i.subarray(32),A=i.subarray(16);return P(s,s),k(A,A,s),U(r,A),0}function x(r,n){return m(r,n,e)}var F=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function R(r,n,o,t){for(var f,e,a,i,u,l,y,c,h,w,v,s,A,M,g,U,d,b,p,K,E,k,z,P,m,x,R=new Int32Array(16),I=new Int32Array(16),G=r[0],N=r[1],S=r[2],V=r[3],j=r[4],T=r[5],q=r[6],B=r[7],C=n[0],D=n[1],H=n[2],J=n[3],L=n[4],O=n[5],Q=n[6],W=n[7],X=0;t>=128;){for(p=0;p<16;p++)K=8*p+X,R[p]=o[K+0]<<24|o[K+1]<<16|o[K+2]<<8|o[K+3],I[p]=o[K+4]<<24|o[K+5]<<16|o[K+6]<<8|o[K+7];for(p=0;p<80;p++)if(f=G,e=N,a=S,i=V,u=j,l=T,y=q,B,h=C,w=D,v=H,s=J,A=L,M=O,g=Q,W,z=65535&(k=W),P=k>>>16,m=65535&(E=B),x=E>>>16,z+=65535&(k=(L>>>14|j<<18)^(L>>>18|j<<14)^(j>>>9|L<<23)),P+=k>>>16,m+=65535&(E=(j>>>14|L<<18)^(j>>>18|L<<14)^(L>>>9|j<<23)),x+=E>>>16,z+=65535&(k=L&O^~L&Q),P+=k>>>16,m+=65535&(E=j&T^~j&q),x+=E>>>16,z+=65535&(k=F[2*p+1]),P+=k>>>16,m+=65535&(E=F[2*p]),x+=E>>>16,E=R[p%16],P+=(k=I[p%16])>>>16,m+=65535&E,x+=E>>>16,m+=(P+=(z+=65535&k)>>>16)>>>16,z=65535&(k=b=65535&z|P<<16),P=k>>>16,m=65535&(E=d=65535&m|(x+=m>>>16)<<16),x=E>>>16,z+=65535&(k=(C>>>28|G<<4)^(G>>>2|C<<30)^(G>>>7|C<<25)),P+=k>>>16,m+=65535&(E=(G>>>28|C<<4)^(C>>>2|G<<30)^(C>>>7|G<<25)),x+=E>>>16,P+=(k=C&D^C&H^D&H)>>>16,m+=65535&(E=G&N^G&S^N&S),x+=E>>>16,c=65535&(m+=(P+=(z+=65535&k)>>>16)>>>16)|(x+=m>>>16)<<16,U=65535&z|P<<16,z=65535&(k=s),P=k>>>16,m=65535&(E=i),x=E>>>16,P+=(k=b)>>>16,m+=65535&(E=d),x+=E>>>16,N=f,S=e,V=a,j=i=65535&(m+=(P+=(z+=65535&k)>>>16)>>>16)|(x+=m>>>16)<<16,T=u,q=l,B=y,G=c,D=h,H=w,J=v,L=s=65535&z|P<<16,O=A,Q=M,W=g,C=U,p%16==15)for(K=0;K<16;K++)E=R[K],z=65535&(k=I[K]),P=k>>>16,m=65535&E,x=E>>>16,E=R[(K+9)%16],z+=65535&(k=I[(K+9)%16]),P+=k>>>16,m+=65535&E,x+=E>>>16,d=R[(K+1)%16],z+=65535&(k=((b=I[(K+1)%16])>>>1|d<<31)^(b>>>8|d<<24)^(b>>>7|d<<25)),P+=k>>>16,m+=65535&(E=(d>>>1|b<<31)^(d>>>8|b<<24)^d>>>7),x+=E>>>16,d=R[(K+14)%16],P+=(k=((b=I[(K+14)%16])>>>19|d<<13)^(d>>>29|b<<3)^(b>>>6|d<<26))>>>16,m+=65535&(E=(d>>>19|b<<13)^(b>>>29|d<<3)^d>>>6),x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,R[K]=65535&m|x<<16,I[K]=65535&z|P<<16;z=65535&(k=C),P=k>>>16,m=65535&(E=G),x=E>>>16,E=r[0],P+=(k=n[0])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[0]=G=65535&m|x<<16,n[0]=C=65535&z|P<<16,z=65535&(k=D),P=k>>>16,m=65535&(E=N),x=E>>>16,E=r[1],P+=(k=n[1])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[1]=N=65535&m|x<<16,n[1]=D=65535&z|P<<16,z=65535&(k=H),P=k>>>16,m=65535&(E=S),x=E>>>16,E=r[2],P+=(k=n[2])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[2]=S=65535&m|x<<16,n[2]=H=65535&z|P<<16,z=65535&(k=J),P=k>>>16,m=65535&(E=V),x=E>>>16,E=r[3],P+=(k=n[3])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[3]=V=65535&m|x<<16,n[3]=J=65535&z|P<<16,z=65535&(k=L),P=k>>>16,m=65535&(E=j),x=E>>>16,E=r[4],P+=(k=n[4])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[4]=j=65535&m|x<<16,n[4]=L=65535&z|P<<16,z=65535&(k=O),P=k>>>16,m=65535&(E=T),x=E>>>16,E=r[5],P+=(k=n[5])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[5]=T=65535&m|x<<16,n[5]=O=65535&z|P<<16,z=65535&(k=Q),P=k>>>16,m=65535&(E=q),x=E>>>16,E=r[6],P+=(k=n[6])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[6]=q=65535&m|x<<16,n[6]=Q=65535&z|P<<16,z=65535&(k=W),P=k>>>16,m=65535&(E=B),x=E>>>16,E=r[7],P+=(k=n[7])>>>16,m+=65535&E,x+=E>>>16,x+=(m+=(P+=(z+=65535&k)>>>16)>>>16)>>>16,r[7]=B=65535&m|x<<16,n[7]=W=65535&z|P<<16,X+=128,t-=128}return t}function I(r,n,o){var t,f=new Int32Array(8),e=new Int32Array(8),a=new Uint8Array(256),i=o;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,e[0]=4089235720,e[1]=2227873595,e[2]=4271175723,e[3]=1595750129,e[4]=2917565137,e[5]=725511199,e[6]=4215389547,e[7]=327033209,R(f,e,n,o),o%=128,t=0;t<o;t++)a[t]=n[i-o+t];for(a[o]=128,a[(o=256-128*(o<112?1:0))-9]=0,v(a,o-8,i/536870912|0,i<<3),R(f,e,a,o),t=0;t<8;t++)v(r,8*t,f[t],e[t]);return 0}function G(r,n){var o=t(),f=t(),e=t(),a=t(),i=t(),u=t(),l=t(),c=t(),h=t();E(o,r[1],r[0]),E(h,n[1],n[0]),k(o,o,h),K(f,r[0],r[1]),K(h,n[0],n[1]),k(f,f,h),k(e,r[3],n[3]),k(e,e,y),k(a,r[2],n[2]),K(a,a,a),E(i,f,o),E(u,a,e),K(l,a,e),K(c,f,o),k(r[0],i,u),k(r[1],c,l),k(r[2],l,u),k(r[3],i,c)}function N(r,n,o){var t;for(t=0;t<4;t++)g(r[t],n[t],o)}function S(r,n){var o=t(),f=t(),e=t();P(e,n[2]),k(o,n[0],e),k(f,n[1],e),U(r,f),r[31]^=b(o)<<7}function V(r,n,o){var t,f;for(A(r[0],a),A(r[1],i),A(r[2],i),A(r[3],a),f=255;f>=0;--f)N(r,n,t=o[f/8|0]>>(7&f)&1),G(n,r),G(r,r),N(r,n,t)}function j(r,n){var o=[t(),t(),t(),t()];A(o[0],c),A(o[1],h),A(o[2],i),k(o[3],c,h),V(r,o,n)}function T(r,n,o){var e,a=new Uint8Array(64),i=[t(),t(),t(),t()];for(o||f(n,32),I(a,n,32),a[0]&=248,a[31]&=127,a[31]|=64,j(i,a),S(r,i),e=0;e<32;e++)n[e+32]=r[e];return 0}var q=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 B(r,n){var o,t,f,e;for(t=63;t>=32;--t){for(o=0,f=t-32,e=t-12;f<e;++f)n[f]+=o-16*n[t]*q[f-(t-32)],o=Math.floor((n[f]+128)/256),n[f]-=256*o;n[f]+=o,n[t]=0}for(o=0,f=0;f<32;f++)n[f]+=o-(n[31]>>4)*q[f],o=n[f]>>8,n[f]&=255;for(f=0;f<32;f++)n[f]-=o*q[f];for(t=0;t<32;t++)n[t+1]+=n[t]>>8,r[t]=255&n[t]}function C(r){var n,o=new Float64Array(64);for(n=0;n<64;n++)o[n]=r[n];for(n=0;n<64;n++)r[n]=0;B(r,o)}function D(r,n){var o=t(),f=t(),e=t(),u=t(),y=t(),c=t(),h=t();return A(r[2],i),p(r[1],n),z(e,r[1]),k(u,e,l),E(e,e,r[2]),K(u,r[2],u),z(y,u),z(c,y),k(h,c,y),k(o,h,e),k(o,o,u),function(r,n){var o,f=t();for(o=0;o<16;o++)f[o]=n[o];for(o=250;o>=0;o--)z(f,f),1!==o&&k(f,f,n);for(o=0;o<16;o++)r[o]=f[o]}(o,o),k(o,o,e),k(o,o,u),k(o,o,u),k(r[0],o,u),z(f,r[0]),k(f,f,u),d(f,e)&&k(r[0],r[0],w),z(f,r[0]),k(f,f,u),d(f,e)?-1:(b(r[0])===n[31]>>7&&E(r[0],a,r[0]),k(r[3],r[0],r[1]),0)}var H=64;function J(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}o.scalarMult=function(r,n){if(J(r,n),32!==r.length)throw Error("bad n size");if(32!==n.length)throw Error("bad p size");var o=new Uint8Array(32);return m(o,r,n),o},o.box={},o.box.keyPair=function(){var r,n,o=new Uint8Array(32),t=new Uint8Array(32);return r=o,f(n=t,32),x(r,n),{publicKey:o,secretKey:t}},o.box.keyPair.fromSecretKey=function(r){if(J(r),32!==r.length)throw Error("bad secret key size");var n=new Uint8Array(32);return x(n,r),{publicKey:n,secretKey:new Uint8Array(r)}},o.sign=function(r,n){if(J(r,n),64!==n.length)throw Error("bad secret key size");var o=new Uint8Array(H+r.length);return function(r,n,o,f){var e,a,i=new Uint8Array(64),u=new Uint8Array(64),l=new Uint8Array(64),y=new Float64Array(64),c=[t(),t(),t(),t()];I(i,f,32),i[0]&=248,i[31]&=127,i[31]|=64;var h=o+64;for(e=0;e<o;e++)r[64+e]=n[e];for(e=0;e<32;e++)r[32+e]=i[32+e];for(I(l,r.subarray(32),o+32),C(l),j(c,l),S(r,c),e=32;e<64;e++)r[e]=f[e];for(I(u,r,o+64),C(u),e=0;e<64;e++)y[e]=0;for(e=0;e<32;e++)y[e]=l[e];for(e=0;e<32;e++)for(a=0;a<32;a++)y[e+a]+=u[e]*i[a];B(r.subarray(32),y)}(o,r,r.length,n),o},o.sign.detached=function(r,n){for(var t=o.sign(r,n),f=new Uint8Array(H),e=0;e<f.length;e++)f[e]=t[e];return f},o.sign.detached.verify=function(r,n,o){if(J(r,n,o),n.length!==H)throw Error("bad signature size");if(32!==o.length)throw Error("bad public key size");var f,e=new Uint8Array(H+r.length),a=new Uint8Array(H+r.length);for(f=0;f<H;f++)e[f]=n[f];for(f=0;f<r.length;f++)e[f+H]=r[f];return function(r,n,o,f){var e,a=new Uint8Array(32),i=new Uint8Array(64),u=[t(),t(),t(),t()],l=[t(),t(),t(),t()];if(o<64)return-1;if(D(l,f))return-1;for(e=0;e<o;e++)r[e]=n[e];for(e=0;e<32;e++)r[e+32]=f[e];if(I(i,r,o),C(i),V(u,l,i),j(l,n.subarray(32)),G(u,l),S(a,u),o-=64,s(n,0,a,0)){for(e=0;e<o;e++)r[e]=0;return-1}for(e=0;e<o;e++)r[e]=n[e+64];return o}(a,e,e.length,o)>=0},o.sign.keyPair=function(){var r=new Uint8Array(32),n=new Uint8Array(64);return T(r,n),{publicKey:r,secretKey:n}},o.sign.keyPair.fromSecretKey=function(r){if(J(r),64!==r.length)throw Error("bad secret key size");for(var n=new Uint8Array(32),o=0;o<n.length;o++)n[o]=r[32+o];return{publicKey:n,secretKey:new Uint8Array(r)}},o.sign.keyPair.fromSeed=function(r){if(J(r),32!==r.length)throw Error("bad seed size");for(var n=new Uint8Array(32),o=new Uint8Array(64),t=0;t<32;t++)o[t]=r[t];return T(n,o,!0),{publicKey:n,secretKey:o}},o.setPRNG=function(r){f=r},function(){if(n&&n.getRandomValues){o.setPRNG((function(r,o){var t,f=new Uint8Array(o);for(t=0;t<o;t+=65536)n.getRandomValues(f.subarray(t,t+Math.min(o-t,65536)));for(t=0;t<o;t++)r[t]=f[t];!function(r){for(var n=0;n<r.length;n++)r[n]=0}(f)}))}}();export{o as default};
|
|
3
|
+
//# sourceMappingURL=nacl-fast.min.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nacl-fast.min.mjs","sources":["../../node_modules/@openpgp/tweetnacl/cryptoBrowser.js","../../node_modules/@openpgp/tweetnacl/nacl-fast.js"],"sourcesContent":["// declare const globalThis: Record<string, any> | undefined;\nexport const crypto =\n typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;\n","import { crypto } from './crypto.js';\n\n'use strict';\nconst nacl = {};\nexport default nacl;\n\n// Ported in 2014 by Dmitry Chestnykh and Devi Mandiri.\n// Public domain.\n//\n// Implementation derived from TweetNaCl version 20140427.\n// See for details: http://tweetnacl.cr.yp.to/\n\nvar gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for (i = 0; i < init.length; i++) r[i] = init[i];\n return r;\n};\n\n// Pluggable, initialized in high-level API below.\nvar randombytes = function(/* x, n */) { throw new Error('no PRNG'); };\n\nvar _9 = new Uint8Array(32); _9[0] = 9;\n\nvar gf0 = gf(),\n gf1 = gf([1]),\n _121665 = gf([0xdb41, 1]),\n D = gf([0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070, 0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203]),\n D2 = gf([0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0, 0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406]),\n X = gf([0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c, 0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169]),\n Y = gf([0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666]),\n I = gf([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83]);\n\nfunction ts64(x, i, h, l) {\n x[i] = (h >> 24) & 0xff;\n x[i+1] = (h >> 16) & 0xff;\n x[i+2] = (h >> 8) & 0xff;\n x[i+3] = h & 0xff;\n x[i+4] = (l >> 24) & 0xff;\n x[i+5] = (l >> 16) & 0xff;\n x[i+6] = (l >> 8) & 0xff;\n x[i+7] = l & 0xff;\n}\n\nfunction vn(x, xi, y, yi, n) {\n var i,d = 0;\n for (i = 0; i < n; i++) d |= x[xi+i]^y[yi+i];\n return (1 & ((d - 1) >>> 8)) - 1;\n}\n\nfunction crypto_verify_32(x, xi, y, yi) {\n return vn(x,xi,y,yi,32);\n}\n\nfunction set25519(r, a) {\n var i;\n for (i = 0; i < 16; i++) r[i] = a[i]|0;\n}\n\nfunction car25519(o) {\n var i, v, c = 1;\n for (i = 0; i < 16; i++) {\n v = o[i] + c + 65535;\n c = Math.floor(v / 65536);\n o[i] = v - c * 65536;\n }\n o[0] += c-1 + 37 * (c-1);\n}\n\nfunction sel25519(p, q, b) {\n var t, c = ~(b-1);\n for (var i = 0; i < 16; i++) {\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n}\n\nfunction pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for (i = 0; i < 16; i++) t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for (j = 0; j < 2; j++) {\n m[0] = t[0] - 0xffed;\n for (i = 1; i < 15; i++) {\n m[i] = t[i] - 0xffff - ((m[i-1]>>16) & 1);\n m[i-1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - ((m[14]>>16) & 1);\n b = (m[15]>>16) & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1-b);\n }\n for (i = 0; i < 16; i++) {\n o[2*i] = t[i] & 0xff;\n o[2*i+1] = t[i]>>8;\n }\n}\n\nfunction neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n}\n\nfunction par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n}\n\nfunction unpack25519(o, n) {\n var i;\n for (i = 0; i < 16; i++) o[i] = n[2*i] + (n[2*i+1] << 8);\n o[15] &= 0x7fff;\n}\n\nfunction A(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] + b[i];\n}\n\nfunction Z(o, a, b) {\n for (var i = 0; i < 16; i++) o[i] = a[i] - b[i];\n}\n\nfunction M(o, a, b) {\n var v, c,\n t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0,\n t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0,\n t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0,\n t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0,\n b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11],\n b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n\n v = a[0];\n t0 += v * b0;\n t1 += v * b1;\n t2 += v * b2;\n t3 += v * b3;\n t4 += v * b4;\n t5 += v * b5;\n t6 += v * b6;\n t7 += v * b7;\n t8 += v * b8;\n t9 += v * b9;\n t10 += v * b10;\n t11 += v * b11;\n t12 += v * b12;\n t13 += v * b13;\n t14 += v * b14;\n t15 += v * b15;\n v = a[1];\n t1 += v * b0;\n t2 += v * b1;\n t3 += v * b2;\n t4 += v * b3;\n t5 += v * b4;\n t6 += v * b5;\n t7 += v * b6;\n t8 += v * b7;\n t9 += v * b8;\n t10 += v * b9;\n t11 += v * b10;\n t12 += v * b11;\n t13 += v * b12;\n t14 += v * b13;\n t15 += v * b14;\n t16 += v * b15;\n v = a[2];\n t2 += v * b0;\n t3 += v * b1;\n t4 += v * b2;\n t5 += v * b3;\n t6 += v * b4;\n t7 += v * b5;\n t8 += v * b6;\n t9 += v * b7;\n t10 += v * b8;\n t11 += v * b9;\n t12 += v * b10;\n t13 += v * b11;\n t14 += v * b12;\n t15 += v * b13;\n t16 += v * b14;\n t17 += v * b15;\n v = a[3];\n t3 += v * b0;\n t4 += v * b1;\n t5 += v * b2;\n t6 += v * b3;\n t7 += v * b4;\n t8 += v * b5;\n t9 += v * b6;\n t10 += v * b7;\n t11 += v * b8;\n t12 += v * b9;\n t13 += v * b10;\n t14 += v * b11;\n t15 += v * b12;\n t16 += v * b13;\n t17 += v * b14;\n t18 += v * b15;\n v = a[4];\n t4 += v * b0;\n t5 += v * b1;\n t6 += v * b2;\n t7 += v * b3;\n t8 += v * b4;\n t9 += v * b5;\n t10 += v * b6;\n t11 += v * b7;\n t12 += v * b8;\n t13 += v * b9;\n t14 += v * b10;\n t15 += v * b11;\n t16 += v * b12;\n t17 += v * b13;\n t18 += v * b14;\n t19 += v * b15;\n v = a[5];\n t5 += v * b0;\n t6 += v * b1;\n t7 += v * b2;\n t8 += v * b3;\n t9 += v * b4;\n t10 += v * b5;\n t11 += v * b6;\n t12 += v * b7;\n t13 += v * b8;\n t14 += v * b9;\n t15 += v * b10;\n t16 += v * b11;\n t17 += v * b12;\n t18 += v * b13;\n t19 += v * b14;\n t20 += v * b15;\n v = a[6];\n t6 += v * b0;\n t7 += v * b1;\n t8 += v * b2;\n t9 += v * b3;\n t10 += v * b4;\n t11 += v * b5;\n t12 += v * b6;\n t13 += v * b7;\n t14 += v * b8;\n t15 += v * b9;\n t16 += v * b10;\n t17 += v * b11;\n t18 += v * b12;\n t19 += v * b13;\n t20 += v * b14;\n t21 += v * b15;\n v = a[7];\n t7 += v * b0;\n t8 += v * b1;\n t9 += v * b2;\n t10 += v * b3;\n t11 += v * b4;\n t12 += v * b5;\n t13 += v * b6;\n t14 += v * b7;\n t15 += v * b8;\n t16 += v * b9;\n t17 += v * b10;\n t18 += v * b11;\n t19 += v * b12;\n t20 += v * b13;\n t21 += v * b14;\n t22 += v * b15;\n v = a[8];\n t8 += v * b0;\n t9 += v * b1;\n t10 += v * b2;\n t11 += v * b3;\n t12 += v * b4;\n t13 += v * b5;\n t14 += v * b6;\n t15 += v * b7;\n t16 += v * b8;\n t17 += v * b9;\n t18 += v * b10;\n t19 += v * b11;\n t20 += v * b12;\n t21 += v * b13;\n t22 += v * b14;\n t23 += v * b15;\n v = a[9];\n t9 += v * b0;\n t10 += v * b1;\n t11 += v * b2;\n t12 += v * b3;\n t13 += v * b4;\n t14 += v * b5;\n t15 += v * b6;\n t16 += v * b7;\n t17 += v * b8;\n t18 += v * b9;\n t19 += v * b10;\n t20 += v * b11;\n t21 += v * b12;\n t22 += v * b13;\n t23 += v * b14;\n t24 += v * b15;\n v = a[10];\n t10 += v * b0;\n t11 += v * b1;\n t12 += v * b2;\n t13 += v * b3;\n t14 += v * b4;\n t15 += v * b5;\n t16 += v * b6;\n t17 += v * b7;\n t18 += v * b8;\n t19 += v * b9;\n t20 += v * b10;\n t21 += v * b11;\n t22 += v * b12;\n t23 += v * b13;\n t24 += v * b14;\n t25 += v * b15;\n v = a[11];\n t11 += v * b0;\n t12 += v * b1;\n t13 += v * b2;\n t14 += v * b3;\n t15 += v * b4;\n t16 += v * b5;\n t17 += v * b6;\n t18 += v * b7;\n t19 += v * b8;\n t20 += v * b9;\n t21 += v * b10;\n t22 += v * b11;\n t23 += v * b12;\n t24 += v * b13;\n t25 += v * b14;\n t26 += v * b15;\n v = a[12];\n t12 += v * b0;\n t13 += v * b1;\n t14 += v * b2;\n t15 += v * b3;\n t16 += v * b4;\n t17 += v * b5;\n t18 += v * b6;\n t19 += v * b7;\n t20 += v * b8;\n t21 += v * b9;\n t22 += v * b10;\n t23 += v * b11;\n t24 += v * b12;\n t25 += v * b13;\n t26 += v * b14;\n t27 += v * b15;\n v = a[13];\n t13 += v * b0;\n t14 += v * b1;\n t15 += v * b2;\n t16 += v * b3;\n t17 += v * b4;\n t18 += v * b5;\n t19 += v * b6;\n t20 += v * b7;\n t21 += v * b8;\n t22 += v * b9;\n t23 += v * b10;\n t24 += v * b11;\n t25 += v * b12;\n t26 += v * b13;\n t27 += v * b14;\n t28 += v * b15;\n v = a[14];\n t14 += v * b0;\n t15 += v * b1;\n t16 += v * b2;\n t17 += v * b3;\n t18 += v * b4;\n t19 += v * b5;\n t20 += v * b6;\n t21 += v * b7;\n t22 += v * b8;\n t23 += v * b9;\n t24 += v * b10;\n t25 += v * b11;\n t26 += v * b12;\n t27 += v * b13;\n t28 += v * b14;\n t29 += v * b15;\n v = a[15];\n t15 += v * b0;\n t16 += v * b1;\n t17 += v * b2;\n t18 += v * b3;\n t19 += v * b4;\n t20 += v * b5;\n t21 += v * b6;\n t22 += v * b7;\n t23 += v * b8;\n t24 += v * b9;\n t25 += v * b10;\n t26 += v * b11;\n t27 += v * b12;\n t28 += v * b13;\n t29 += v * b14;\n t30 += v * b15;\n\n t0 += 38 * t16;\n t1 += 38 * t17;\n t2 += 38 * t18;\n t3 += 38 * t19;\n t4 += 38 * t20;\n t5 += 38 * t21;\n t6 += 38 * t22;\n t7 += 38 * t23;\n t8 += 38 * t24;\n t9 += 38 * t25;\n t10 += 38 * t26;\n t11 += 38 * t27;\n t12 += 38 * t28;\n t13 += 38 * t29;\n t14 += 38 * t30;\n // t15 left as is\n\n // first car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n // second car\n c = 1;\n v = t0 + c + 65535; c = Math.floor(v / 65536); t0 = v - c * 65536;\n v = t1 + c + 65535; c = Math.floor(v / 65536); t1 = v - c * 65536;\n v = t2 + c + 65535; c = Math.floor(v / 65536); t2 = v - c * 65536;\n v = t3 + c + 65535; c = Math.floor(v / 65536); t3 = v - c * 65536;\n v = t4 + c + 65535; c = Math.floor(v / 65536); t4 = v - c * 65536;\n v = t5 + c + 65535; c = Math.floor(v / 65536); t5 = v - c * 65536;\n v = t6 + c + 65535; c = Math.floor(v / 65536); t6 = v - c * 65536;\n v = t7 + c + 65535; c = Math.floor(v / 65536); t7 = v - c * 65536;\n v = t8 + c + 65535; c = Math.floor(v / 65536); t8 = v - c * 65536;\n v = t9 + c + 65535; c = Math.floor(v / 65536); t9 = v - c * 65536;\n v = t10 + c + 65535; c = Math.floor(v / 65536); t10 = v - c * 65536;\n v = t11 + c + 65535; c = Math.floor(v / 65536); t11 = v - c * 65536;\n v = t12 + c + 65535; c = Math.floor(v / 65536); t12 = v - c * 65536;\n v = t13 + c + 65535; c = Math.floor(v / 65536); t13 = v - c * 65536;\n v = t14 + c + 65535; c = Math.floor(v / 65536); t14 = v - c * 65536;\n v = t15 + c + 65535; c = Math.floor(v / 65536); t15 = v - c * 65536;\n t0 += c-1 + 37 * (c-1);\n\n o[ 0] = t0;\n o[ 1] = t1;\n o[ 2] = t2;\n o[ 3] = t3;\n o[ 4] = t4;\n o[ 5] = t5;\n o[ 6] = t6;\n o[ 7] = t7;\n o[ 8] = t8;\n o[ 9] = t9;\n o[10] = t10;\n o[11] = t11;\n o[12] = t12;\n o[13] = t13;\n o[14] = t14;\n o[15] = t15;\n}\n\nfunction S(o, a) {\n M(o, a, a);\n}\n\nfunction inv25519(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 253; a >= 0; a--) {\n S(c, c);\n if(a !== 2 && a !== 4) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction pow2523(o, i) {\n var c = gf();\n var a;\n for (a = 0; a < 16; a++) c[a] = i[a];\n for (a = 250; a >= 0; a--) {\n S(c, c);\n if(a !== 1) M(c, c, i);\n }\n for (a = 0; a < 16; a++) o[a] = c[a];\n}\n\nfunction crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf();\n for (i = 0; i < 31; i++) z[i] = n[i];\n z[31]=(n[31]&127)|64;\n z[0]&=248;\n unpack25519(x,p);\n for (i = 0; i < 16; i++) {\n b[i]=x[i];\n d[i]=a[i]=c[i]=0;\n }\n a[0]=d[0]=1;\n for (i=254; i>=0; --i) {\n r=(z[i>>>3]>>>(i&7))&1;\n sel25519(a,b,r);\n sel25519(c,d,r);\n A(e,a,c);\n Z(a,a,c);\n A(c,b,d);\n Z(b,b,d);\n S(d,e);\n S(f,a);\n M(a,c,a);\n M(c,b,e);\n A(e,a,c);\n Z(a,a,c);\n S(b,a);\n Z(c,d,f);\n M(a,c,_121665);\n A(a,a,d);\n M(c,c,a);\n M(a,d,f);\n M(d,b,x);\n S(b,e);\n sel25519(a,b,r);\n sel25519(c,d,r);\n }\n for (i = 0; i < 16; i++) {\n x[i+16]=a[i];\n x[i+32]=c[i];\n x[i+48]=b[i];\n x[i+64]=d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32,x32);\n M(x16,x16,x32);\n pack25519(q,x16);\n return 0;\n}\n\nfunction crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n}\n\nfunction crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n}\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction crypto_hashblocks_hl(hh, hl, m, n) {\n var wh = new Int32Array(16), wl = new Int32Array(16),\n bh0, bh1, bh2, bh3, bh4, bh5, bh6, bh7,\n bl0, bl1, bl2, bl3, bl4, bl5, bl6, bl7,\n th, tl, i, j, h, l, a, b, c, d;\n\n var ah0 = hh[0],\n ah1 = hh[1],\n ah2 = hh[2],\n ah3 = hh[3],\n ah4 = hh[4],\n ah5 = hh[5],\n ah6 = hh[6],\n ah7 = hh[7],\n\n al0 = hl[0],\n al1 = hl[1],\n al2 = hl[2],\n al3 = hl[3],\n al4 = hl[4],\n al5 = hl[5],\n al6 = hl[6],\n al7 = hl[7];\n\n var pos = 0;\n while (n >= 128) {\n for (i = 0; i < 16; i++) {\n j = 8 * i + pos;\n wh[i] = (m[j+0] << 24) | (m[j+1] << 16) | (m[j+2] << 8) | m[j+3];\n wl[i] = (m[j+4] << 24) | (m[j+5] << 16) | (m[j+6] << 8) | m[j+7];\n }\n for (i = 0; i < 80; i++) {\n bh0 = ah0;\n bh1 = ah1;\n bh2 = ah2;\n bh3 = ah3;\n bh4 = ah4;\n bh5 = ah5;\n bh6 = ah6;\n bh7 = ah7;\n\n bl0 = al0;\n bl1 = al1;\n bl2 = al2;\n bl3 = al3;\n bl4 = al4;\n bl5 = al5;\n bl6 = al6;\n bl7 = al7;\n\n // add\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma1\n h = ((ah4 >>> 14) | (al4 << (32-14))) ^ ((ah4 >>> 18) | (al4 << (32-18))) ^ ((al4 >>> (41-32)) | (ah4 << (32-(41-32))));\n l = ((al4 >>> 14) | (ah4 << (32-14))) ^ ((al4 >>> 18) | (ah4 << (32-18))) ^ ((ah4 >>> (41-32)) | (al4 << (32-(41-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Ch\n h = (ah4 & ah5) ^ (~ah4 & ah6);\n l = (al4 & al5) ^ (~al4 & al6);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // K\n h = K[i*2];\n l = K[i*2+1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // w\n h = wh[i%16];\n l = wl[i%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n th = c & 0xffff | d << 16;\n tl = a & 0xffff | b << 16;\n\n // add\n h = th;\n l = tl;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n // Sigma0\n h = ((ah0 >>> 28) | (al0 << (32-28))) ^ ((al0 >>> (34-32)) | (ah0 << (32-(34-32)))) ^ ((al0 >>> (39-32)) | (ah0 << (32-(39-32))));\n l = ((al0 >>> 28) | (ah0 << (32-28))) ^ ((ah0 >>> (34-32)) | (al0 << (32-(34-32)))) ^ ((ah0 >>> (39-32)) | (al0 << (32-(39-32))));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // Maj\n h = (ah0 & ah1) ^ (ah0 & ah2) ^ (ah1 & ah2);\n l = (al0 & al1) ^ (al0 & al2) ^ (al1 & al2);\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh7 = (c & 0xffff) | (d << 16);\n bl7 = (a & 0xffff) | (b << 16);\n\n // add\n h = bh3;\n l = bl3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = th;\n l = tl;\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n bh3 = (c & 0xffff) | (d << 16);\n bl3 = (a & 0xffff) | (b << 16);\n\n ah1 = bh0;\n ah2 = bh1;\n ah3 = bh2;\n ah4 = bh3;\n ah5 = bh4;\n ah6 = bh5;\n ah7 = bh6;\n ah0 = bh7;\n\n al1 = bl0;\n al2 = bl1;\n al3 = bl2;\n al4 = bl3;\n al5 = bl4;\n al6 = bl5;\n al7 = bl6;\n al0 = bl7;\n\n if (i%16 === 15) {\n for (j = 0; j < 16; j++) {\n // add\n h = wh[j];\n l = wl[j];\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = wh[(j+9)%16];\n l = wl[(j+9)%16];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma0\n th = wh[(j+1)%16];\n tl = wl[(j+1)%16];\n h = ((th >>> 1) | (tl << (32-1))) ^ ((th >>> 8) | (tl << (32-8))) ^ (th >>> 7);\n l = ((tl >>> 1) | (th << (32-1))) ^ ((tl >>> 8) | (th << (32-8))) ^ ((tl >>> 7) | (th << (32-7)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n // sigma1\n th = wh[(j+14)%16];\n tl = wl[(j+14)%16];\n h = ((th >>> 19) | (tl << (32-19))) ^ ((tl >>> (61-32)) | (th << (32-(61-32)))) ^ (th >>> 6);\n l = ((tl >>> 19) | (th << (32-19))) ^ ((th >>> (61-32)) | (tl << (32-(61-32)))) ^ ((tl >>> 6) | (th << (32-6)));\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n wh[j] = (c & 0xffff) | (d << 16);\n wl[j] = (a & 0xffff) | (b << 16);\n }\n }\n }\n\n // add\n h = ah0;\n l = al0;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[0];\n l = hl[0];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[0] = ah0 = (c & 0xffff) | (d << 16);\n hl[0] = al0 = (a & 0xffff) | (b << 16);\n\n h = ah1;\n l = al1;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[1];\n l = hl[1];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[1] = ah1 = (c & 0xffff) | (d << 16);\n hl[1] = al1 = (a & 0xffff) | (b << 16);\n\n h = ah2;\n l = al2;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[2];\n l = hl[2];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[2] = ah2 = (c & 0xffff) | (d << 16);\n hl[2] = al2 = (a & 0xffff) | (b << 16);\n\n h = ah3;\n l = al3;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[3];\n l = hl[3];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[3] = ah3 = (c & 0xffff) | (d << 16);\n hl[3] = al3 = (a & 0xffff) | (b << 16);\n\n h = ah4;\n l = al4;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[4];\n l = hl[4];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[4] = ah4 = (c & 0xffff) | (d << 16);\n hl[4] = al4 = (a & 0xffff) | (b << 16);\n\n h = ah5;\n l = al5;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[5];\n l = hl[5];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[5] = ah5 = (c & 0xffff) | (d << 16);\n hl[5] = al5 = (a & 0xffff) | (b << 16);\n\n h = ah6;\n l = al6;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[6];\n l = hl[6];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[6] = ah6 = (c & 0xffff) | (d << 16);\n hl[6] = al6 = (a & 0xffff) | (b << 16);\n\n h = ah7;\n l = al7;\n\n a = l & 0xffff; b = l >>> 16;\n c = h & 0xffff; d = h >>> 16;\n\n h = hh[7];\n l = hl[7];\n\n a += l & 0xffff; b += l >>> 16;\n c += h & 0xffff; d += h >>> 16;\n\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n\n hh[7] = ah7 = (c & 0xffff) | (d << 16);\n hl[7] = al7 = (a & 0xffff) | (b << 16);\n\n pos += 128;\n n -= 128;\n }\n\n return n;\n}\n\nfunction crypto_hash(out, m, n) {\n var hh = new Int32Array(8),\n hl = new Int32Array(8),\n x = new Uint8Array(256),\n i, b = n;\n\n hh[0] = 0x6a09e667;\n hh[1] = 0xbb67ae85;\n hh[2] = 0x3c6ef372;\n hh[3] = 0xa54ff53a;\n hh[4] = 0x510e527f;\n hh[5] = 0x9b05688c;\n hh[6] = 0x1f83d9ab;\n hh[7] = 0x5be0cd19;\n\n hl[0] = 0xf3bcc908;\n hl[1] = 0x84caa73b;\n hl[2] = 0xfe94f82b;\n hl[3] = 0x5f1d36f1;\n hl[4] = 0xade682d1;\n hl[5] = 0x2b3e6c1f;\n hl[6] = 0xfb41bd6b;\n hl[7] = 0x137e2179;\n\n crypto_hashblocks_hl(hh, hl, m, n);\n n %= 128;\n\n for (i = 0; i < n; i++) x[i] = m[b-n+i];\n x[n] = 128;\n\n n = 256-128*(n<112?1:0);\n x[n-9] = 0;\n ts64(x, n-8, (b / 0x20000000) | 0, b << 3);\n crypto_hashblocks_hl(hh, hl, x, n);\n\n for (i = 0; i < 8; i++) ts64(out, 8*i, hh[i], hl[i]);\n\n return 0;\n}\n\nfunction add(p, q) {\n var a = gf(), b = gf(), c = gf(),\n d = gf(), e = gf(), f = gf(),\n g = gf(), h = gf(), t = gf();\n\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n}\n\nfunction cswap(p, q, b) {\n var i;\n for (i = 0; i < 4; i++) {\n sel25519(p[i], q[i], b);\n }\n}\n\nfunction pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n}\n\nfunction scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for (i = 255; i >= 0; --i) {\n b = (s[(i/8)|0] >> (i&7)) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n}\n\nfunction scalarbase(p, s) {\n var q = [gf(), gf(), gf(), gf()];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n}\n\nfunction crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()];\n var i;\n\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n scalarbase(p, d);\n pack(pk, p);\n\n for (i = 0; i < 32; i++) sk[i+32] = pk[i];\n return 0;\n}\n\nvar L = new Float64Array([0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10]);\n\nfunction modL(r, x) {\n var carry, i, j, k;\n for (i = 63; i >= 32; --i) {\n carry = 0;\n for (j = i - 32, k = i - 12; j < k; ++j) {\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for (j = 0; j < 32; j++) {\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for (j = 0; j < 32; j++) x[j] -= carry * L[j];\n for (i = 0; i < 32; i++) {\n x[i+1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n}\n\nfunction reduce(r) {\n var x = new Float64Array(64), i;\n for (i = 0; i < 64; i++) x[i] = r[i];\n for (i = 0; i < 64; i++) r[i] = 0;\n modL(r, x);\n}\n\n// Note: difference from C - smlen returned, not passed as argument.\nfunction crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [gf(), gf(), gf(), gf()];\n\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n\n var smlen = n + 64;\n for (i = 0; i < n; i++) sm[64 + i] = m[i];\n for (i = 0; i < 32; i++) sm[32 + i] = d[32 + i];\n\n crypto_hash(r, sm.subarray(32), n+32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n\n for (i = 32; i < 64; i++) sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n\n for (i = 0; i < 64; i++) x[i] = 0;\n for (i = 0; i < 32; i++) x[i] = r[i];\n for (i = 0; i < 32; i++) {\n for (j = 0; j < 32; j++) {\n x[i+j] += h[i] * d[j];\n }\n }\n\n modL(sm.subarray(32), x);\n return smlen;\n}\n\nfunction unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(),\n den = gf(), den2 = gf(), den4 = gf(),\n den6 = gf();\n\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n\n if (par25519(r[0]) === (p[31]>>7)) Z(r[0], gf0, r[0]);\n\n M(r[3], r[0], r[1]);\n return 0;\n}\n\nfunction crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [gf(), gf(), gf(), gf()],\n q = [gf(), gf(), gf(), gf()];\n\n if (n < 64) return -1;\n\n if (unpackneg(q, pk)) return -1;\n\n for (i = 0; i < n; i++) m[i] = sm[i];\n for (i = 0; i < 32; i++) m[i+32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for (i = 0; i < n; i++) m[i] = 0;\n return -1;\n }\n\n for (i = 0; i < n; i++) m[i] = sm[i + 64];\n return n;\n}\n\nvar crypto_scalarmult_BYTES = 32,\n crypto_scalarmult_SCALARBYTES = 32,\n crypto_box_PUBLICKEYBYTES = 32,\n crypto_box_SECRETKEYBYTES = 32,\n crypto_sign_BYTES = 64,\n crypto_sign_PUBLICKEYBYTES = 32,\n crypto_sign_SECRETKEYBYTES = 64,\n crypto_sign_SEEDBYTES = 32;\n\nfunction checkArrayTypes() {\n for (var i = 0; i < arguments.length; i++) {\n if (!(arguments[i] instanceof Uint8Array))\n throw new TypeError('unexpected type, use Uint8Array');\n }\n}\n\nfunction cleanup(arr) {\n for (var i = 0; i < arr.length; i++) arr[i] = 0;\n}\n\nnacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n};\n\nnacl.box = {};\n\nnacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES+msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n};\n\nnacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for (var i = 0; i < sig.length; i++) sig[i] = signedMsg[i];\n return sig;\n};\n\nnacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES)\n throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES)\n throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for (i = 0; i < crypto_sign_BYTES; i++) sm[i] = sig[i];\n for (i = 0; i < msg.length; i++) sm[i+crypto_sign_BYTES] = msg[i];\n return (crypto_sign_open(m, sm, sm.length, publicKey) >= 0);\n};\n\nnacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES)\n throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for (var i = 0; i < pk.length; i++) pk[i] = secretKey[32+i];\n return {publicKey: pk, secretKey: new Uint8Array(secretKey)};\n};\n\nnacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES)\n throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for (var i = 0; i < 32; i++) sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {publicKey: pk, secretKey: sk};\n};\n\nnacl.setPRNG = function(fn) {\n randombytes = fn;\n};\n\n(function() {\n // Initialize PRNG if environment provides CSPRNG.\n // If not, methods calling randombytes will throw.\n if (crypto && crypto.getRandomValues) {\n // Browsers and Node v16+\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for (i = 0; i < n; i += QUOTA) {\n crypto.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for (i = 0; i < n; i++) x[i] = v[i];\n cleanup(v);\n });\n }\n})();\n"],"names":["crypto","globalThis","undefined","nacl","gf","init","i","r","Float64Array","length","randombytes","Error","_9","Uint8Array","gf0","gf1","_121665","D","D2","X","Y","I","ts64","x","h","l","crypto_verify_32","xi","y","yi","n","d","vn","set25519","a","car25519","o","v","c","Math","floor","sel25519","p","q","b","t","pack25519","j","m","neq25519","par25519","unpack25519","A","Z","M","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","b11","b12","b13","b14","b15","S","inv25519","crypto_scalarmult","z","e","f","x32","subarray","x16","crypto_scalarmult_base","K","crypto_hashblocks_hl","hh","hl","bh0","bh1","bh2","bh3","bh4","bh5","bh6","bh7","bl0","bl1","bl2","bl3","bl4","bl5","bl6","bl7","th","tl","wh","Int32Array","wl","ah0","ah1","ah2","ah3","ah4","ah5","ah6","ah7","al0","al1","al2","al3","al4","al5","al6","al7","pos","crypto_hash","out","add","g","cswap","pack","tx","ty","zi","scalarmult","s","scalarbase","crypto_sign_keypair","pk","sk","seeded","L","modL","carry","k","reduce","unpackneg","chk","num","den","den2","den4","den6","pow2523","crypto_sign_BYTES","checkArrayTypes","arguments","TypeError","scalarMult","box","keyPair","publicKey","secretKey","fromSecretKey","sign","msg","signedMsg","sm","smlen","crypto_sign","detached","sig","verify","crypto_sign_open","fromSeed","seed","setPRNG","fn","getRandomValues","min","arr","cleanup"],"mappings":"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","x_google_ignoreList":[0,1]}
|