waterplane 0.1.16 → 0.1.18
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/CHANGELOG.md +28 -0
- package/NOTICES.md +18 -7
- package/README.md +43 -0
- package/SECURITY.md +196 -12
- package/node_modules/@waterplane/shared/dist/desktopfiles.d.ts +24 -2
- package/node_modules/@waterplane/shared/dist/desktopfiles.js +73 -3
- package/node_modules/@waterplane/shared/dist/desktopfiles.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/hosts.d.ts +31 -0
- package/node_modules/@waterplane/shared/dist/hosts.js +46 -1
- package/node_modules/@waterplane/shared/dist/hosts.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/hosturl.d.ts +55 -0
- package/node_modules/@waterplane/shared/dist/hosturl.js +85 -0
- package/node_modules/@waterplane/shared/dist/hosturl.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/index.d.ts +4 -0
- package/node_modules/@waterplane/shared/dist/index.js +4 -0
- package/node_modules/@waterplane/shared/dist/index.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/installrow.d.ts +6 -1
- package/node_modules/@waterplane/shared/dist/installrow.js +20 -1
- package/node_modules/@waterplane/shared/dist/installrow.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/lanroute.d.ts +5 -0
- package/node_modules/@waterplane/shared/dist/lanroute.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/pairing.d.ts +96 -2
- package/node_modules/@waterplane/shared/dist/pairing.js +71 -3
- package/node_modules/@waterplane/shared/dist/pairing.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/pake.d.ts +131 -0
- package/node_modules/@waterplane/shared/dist/pake.js +272 -0
- package/node_modules/@waterplane/shared/dist/pake.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/peer.d.ts +63 -0
- package/node_modules/@waterplane/shared/dist/peer.js +41 -0
- package/node_modules/@waterplane/shared/dist/peer.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/plugin/api.d.ts +15 -0
- package/node_modules/@waterplane/shared/dist/plugin/version.d.ts +5 -1
- package/node_modules/@waterplane/shared/dist/plugin/version.js +5 -1
- package/node_modules/@waterplane/shared/dist/plugin/version.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.d.ts +7 -2
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js +6 -3
- package/node_modules/@waterplane/shared/dist/sessioncost/costwords.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/waiting.d.ts +64 -0
- package/node_modules/@waterplane/shared/dist/waiting.js +86 -0
- package/node_modules/@waterplane/shared/dist/waiting.js.map +1 -0
- package/node_modules/@waterplane/shared/dist/wire/messages/hostcore.d.ts +3 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.d.ts +2 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.js +2 -0
- package/node_modules/@waterplane/shared/dist/wire/notify.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/repo.d.ts +25 -1
- package/node_modules/@waterplane/shared/dist/wire/repo.js.map +1 -1
- package/node_modules/@waterplane/shared/dist/wire/sysstat.d.ts +7 -0
- package/node_modules/@waterplane/shared/dist/wire/telemetry.d.ts +3 -0
- package/node_modules/@waterplane/shared/package.json +3 -0
- package/npm-shrinkwrap.json +30 -2
- package/package.json +2 -1
- package/packages/extensions/desktop/helper/Capture.swift +245 -0
- package/packages/extensions/desktop/helper/H264.swift +226 -0
- package/packages/extensions/desktop/helper/Info.plist +20 -0
- package/packages/extensions/desktop/helper/Input.swift +195 -0
- package/packages/extensions/desktop/helper/Jpeg.swift +81 -0
- package/packages/extensions/desktop/helper/PROTOCOL.md +366 -0
- package/packages/extensions/desktop/helper/Params.swift +133 -0
- package/packages/extensions/desktop/helper/Probe.swift +119 -0
- package/packages/extensions/desktop/helper/Protocol.swift +224 -0
- package/packages/extensions/desktop/helper/Request.swift +51 -0
- package/packages/extensions/desktop/helper/Responsibility.swift +133 -0
- package/packages/extensions/desktop/helper/Server.swift +334 -0
- package/packages/extensions/desktop/helper/Synthetic.swift +281 -0
- package/packages/extensions/desktop/helper/build.sh +53 -0
- package/packages/extensions/desktop/helper/main.swift +79 -0
- package/packages/extensions/desktop/helper/selftest-driver +626 -0
- package/packages/extensions/desktop/helper/selftest.sh +16 -0
- package/packages/extensions/desktop/helper-win/Capture.cs +299 -0
- package/packages/extensions/desktop/helper-win/H264.cs +340 -0
- package/packages/extensions/desktop/helper-win/Input.cs +257 -0
- package/packages/extensions/desktop/helper-win/Jpeg.cs +75 -0
- package/packages/extensions/desktop/helper-win/Main.cs +118 -0
- package/packages/extensions/desktop/helper-win/Native.cs +276 -0
- package/packages/extensions/desktop/helper-win/Params.cs +138 -0
- package/packages/extensions/desktop/helper-win/Protocol.cs +206 -0
- package/packages/extensions/desktop/helper-win/Server.cs +304 -0
- package/packages/extensions/desktop/helper-win/Synthetic.cs +88 -0
- package/packages/extensions/desktop/helper-win/build.sh +57 -0
- package/packages/extensions/desktop/helper-win/selftest.sh +36 -0
- package/packages/extensions/desktop/waterplane-plugin.json +24 -0
- package/packages/host/dist/alwayson.js +1 -1
- package/packages/host/dist/alwayson.js.map +1 -1
- package/packages/host/dist/attentionstore.d.ts +4 -0
- package/packages/host/dist/attentionstore.js +17 -0
- package/packages/host/dist/attentionstore.js.map +1 -1
- package/packages/host/dist/auth.d.ts +28 -0
- package/packages/host/dist/auth.js +65 -2
- package/packages/host/dist/auth.js.map +1 -1
- package/packages/host/dist/cli/pair.d.ts +4 -0
- package/packages/host/dist/cli/pair.js +18 -5
- package/packages/host/dist/cli/pair.js.map +1 -1
- package/packages/host/dist/der.d.ts +19 -0
- package/packages/host/dist/der.js +51 -0
- package/packages/host/dist/der.js.map +1 -0
- package/packages/host/dist/doctor.d.ts +2 -0
- package/packages/host/dist/doctor.js +10 -2
- package/packages/host/dist/doctor.js.map +1 -1
- package/packages/host/dist/extensions/desktop/host/auto.d.mts +71 -0
- package/packages/host/dist/extensions/desktop/host/auto.mjs +114 -0
- package/packages/host/dist/extensions/desktop/host/auto.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/desktop.d.mts +51 -0
- package/packages/host/dist/extensions/desktop/host/desktop.mjs +113 -0
- package/packages/host/dist/extensions/desktop/host/desktop.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/helperbin.d.mts +71 -0
- package/packages/host/dist/extensions/desktop/host/helperbin.mjs +160 -0
- package/packages/host/dist/extensions/desktop/host/helperbin.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/index.d.mts +4 -0
- package/packages/host/dist/extensions/desktop/host/index.mjs +88 -0
- package/packages/host/dist/extensions/desktop/host/index.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/knobs.d.mts +52 -0
- package/packages/host/dist/extensions/desktop/host/knobs.mjs +81 -0
- package/packages/host/dist/extensions/desktop/host/knobs.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/probe.d.mts +57 -0
- package/packages/host/dist/extensions/desktop/host/probe.mjs +119 -0
- package/packages/host/dist/extensions/desktop/host/probe.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/records.d.mts +40 -0
- package/packages/host/dist/extensions/desktop/host/records.mjs +101 -0
- package/packages/host/dist/extensions/desktop/host/records.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/session.d.mts +86 -0
- package/packages/host/dist/extensions/desktop/host/session.mjs +318 -0
- package/packages/host/dist/extensions/desktop/host/session.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/setup.d.mts +28 -0
- package/packages/host/dist/extensions/desktop/host/setup.mjs +217 -0
- package/packages/host/dist/extensions/desktop/host/setup.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/host/status.d.mts +27 -0
- package/packages/host/dist/extensions/desktop/host/status.mjs +62 -0
- package/packages/host/dist/extensions/desktop/host/status.mjs.map +1 -0
- package/packages/host/dist/extensions/desktop/shared/wire.d.mts +206 -0
- package/packages/host/dist/extensions/desktop/shared/wire.mjs +174 -0
- package/packages/host/dist/extensions/desktop/shared/wire.mjs.map +1 -0
- package/packages/host/dist/git.d.ts +23 -6
- package/packages/host/dist/git.js +54 -26
- package/packages/host/dist/git.js.map +1 -1
- package/packages/host/dist/gitfetchfail.d.ts +24 -0
- package/packages/host/dist/gitfetchfail.js +62 -0
- package/packages/host/dist/gitfetchfail.js.map +1 -0
- package/packages/host/dist/gitlog.d.ts +4 -0
- package/packages/host/dist/gitlog.js +8 -3
- package/packages/host/dist/gitlog.js.map +1 -1
- package/packages/host/dist/gitnotify.d.ts +7 -1
- package/packages/host/dist/gitnotify.js +61 -1
- package/packages/host/dist/gitnotify.js.map +1 -1
- package/packages/host/dist/host.js +5 -1
- package/packages/host/dist/host.js.map +1 -1
- package/packages/host/dist/hoststore.js +4 -4
- package/packages/host/dist/hoststore.js.map +1 -1
- package/packages/host/dist/lantls.d.ts +145 -0
- package/packages/host/dist/lantls.js +337 -0
- package/packages/host/dist/lantls.js.map +1 -0
- package/packages/host/dist/main.js +7 -2
- package/packages/host/dist/main.js.map +1 -1
- package/packages/host/dist/net.d.ts +7 -0
- package/packages/host/dist/net.js +9 -0
- package/packages/host/dist/net.js.map +1 -1
- package/packages/host/dist/origin.d.ts +4 -0
- package/packages/host/dist/origin.js +6 -0
- package/packages/host/dist/origin.js.map +1 -1
- package/packages/host/dist/pair.d.ts +54 -5
- package/packages/host/dist/pair.js +139 -34
- package/packages/host/dist/pair.js.map +1 -1
- package/packages/host/dist/pairpake.d.ts +58 -0
- package/packages/host/dist/pairpake.js +208 -0
- package/packages/host/dist/pairpake.js.map +1 -0
- package/packages/host/dist/passive.d.ts +2 -0
- package/packages/host/dist/passive.js +4 -0
- package/packages/host/dist/passive.js.map +1 -1
- package/packages/host/dist/peers/client.d.ts +3 -1
- package/packages/host/dist/peers/client.js +4 -0
- package/packages/host/dist/peers/client.js.map +1 -1
- package/packages/host/dist/peers/routes.d.ts +6 -1
- package/packages/host/dist/peers/routes.js +39 -0
- package/packages/host/dist/peers/routes.js.map +1 -1
- package/packages/host/dist/plugins/pluginapi.js +13 -0
- package/packages/host/dist/plugins/pluginapi.js.map +1 -1
- package/packages/host/dist/plugins/pluginregistry.d.ts +6 -0
- package/packages/host/dist/plugins/pluginregistry.js.map +1 -1
- package/packages/host/dist/prepushcheck.d.ts +34 -0
- package/packages/host/dist/prepushcheck.js +157 -0
- package/packages/host/dist/prepushcheck.js.map +1 -0
- package/packages/host/dist/prs.js +2 -1
- package/packages/host/dist/prs.js.map +1 -1
- package/packages/host/dist/routes/apigitcheck.d.ts +2 -0
- package/packages/host/dist/routes/apigitcheck.js +29 -0
- package/packages/host/dist/routes/apigitcheck.js.map +1 -0
- package/packages/host/dist/routes/apihost.js +2 -0
- package/packages/host/dist/routes/apihost.js.map +1 -1
- package/packages/host/dist/routes/apiio.js +2 -1
- package/packages/host/dist/routes/apiio.js.map +1 -1
- package/packages/host/dist/routes/apirepofiles.js +2 -1
- package/packages/host/dist/routes/apirepofiles.js.map +1 -1
- package/packages/host/dist/routes/apisystem.js +21 -3
- package/packages/host/dist/routes/apisystem.js.map +1 -1
- package/packages/host/dist/server/http.js +31 -5
- package/packages/host/dist/server/http.js.map +1 -1
- package/packages/host/dist/server/plugins.d.ts +13 -0
- package/packages/host/dist/server/plugins.js +26 -0
- package/packages/host/dist/server/plugins.js.map +1 -1
- package/packages/host/dist/server/wsops.js +3 -1
- package/packages/host/dist/server/wsops.js.map +1 -1
- package/packages/host/dist/sysstat.js +10 -1
- package/packages/host/dist/sysstat.js.map +1 -1
- package/packages/host/dist/updatekey.d.ts +22 -0
- package/packages/host/dist/updatekey.js +140 -0
- package/packages/host/dist/updatekey.js.map +1 -0
- package/packages/host/dist/webbundle.d.ts +15 -6
- package/packages/host/dist/webbundle.js +44 -7
- package/packages/host/dist/webbundle.js.map +1 -1
- package/packages/host/dist/wincpu.d.ts +13 -0
- package/packages/host/dist/wincpu.js +101 -0
- package/packages/host/dist/wincpu.js.map +1 -0
- package/packages/host/package.json +2 -1
- package/packages/web/dist/assets/demo-BLBaz4G_.js +26 -0
- package/packages/web/dist/assets/icons-D8RlmSLR.js +1 -0
- package/packages/web/dist/assets/index-BrvcQFBj.js +170 -0
- package/packages/web/dist/assets/index-Dx3VHnr3.css +1 -0
- package/packages/web/dist/assets/noble-DV-r0OkE.js +1 -0
- package/packages/web/dist/assets/{react-CoSyT_xY.js → react-CjmvHigY.js} +2 -2
- package/packages/web/dist/assets/rolldown-runtime-4tVxZq34.js +1 -0
- package/packages/web/dist/assets/shared-BsWIJLE-.js +51 -0
- package/packages/web/dist/assets/sheets-C7CXUU6R.js +250 -0
- package/packages/web/dist/assets/xterm-BHsKrDzh.js +16 -0
- package/packages/web/dist/build-id.txt +1 -1
- package/packages/web/dist/buildstamp.json +1 -1
- package/packages/web/dist/index.html +9 -9
- package/packages/web/dist/sw.js +2 -2
- package/release.json +7 -3
- package/packages/web/dist/assets/demo-DkCtg-SJ.js +0 -26
- package/packages/web/dist/assets/icons-B48F-4nA.js +0 -1
- package/packages/web/dist/assets/index-CpdyS6Xe.css +0 -1
- package/packages/web/dist/assets/index-EYc28CfH.js +0 -170
- package/packages/web/dist/assets/rolldown-runtime-BpQH8Ho1.js +0 -1
- package/packages/web/dist/assets/shared-DjRRLGfw.js +0 -50
- package/packages/web/dist/assets/sheets-ByWNPa9p.js +0 -248
- package/packages/web/dist/assets/xterm-C8zLTNGk.js +0 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-4tVxZq34.js";var t=BigInt(2**32-1),n=BigInt(32);function r(e,r=!1){return r?{h:Number(e&t),l:Number(e>>n&t)}:{h:Number(e>>n&t)|0,l:Number(e&t)|0}}function i(e,t=!1){let n=e.length,i=new Uint32Array(n),a=new Uint32Array(n);for(let o=0;o<n;o++){let{h:n,l:s}=r(e[o],t);[i[o],a[o]]=[n,s]}return[i,a]}var a=e=>e/2**32|0,o=e=>e>>>0;function s(e,t,n,r){let i=a(n),s=o(n);e.setUint32(t,r?s:i,r),e.setUint32(t+4,r?i:s,r)}var c=(e,t,n)=>e>>>n,l=(e,t,n)=>e<<32-n|t>>>n,u=(e,t,n)=>e>>>n|t<<32-n,d=(e,t,n)=>e<<32-n|t>>>n,f=(e,t,n)=>e<<64-n|t>>>n-32,p=(e,t,n)=>e>>>n-32|t<<64-n;function m(e,t,n,r){let i=(t>>>0)+(r>>>0);return{h:e+n+(i/2**32|0)|0,l:i|0}}var h=(e,t,n)=>(e>>>0)+(t>>>0)+(n>>>0),g=(e,t,n,r)=>t+n+r+(e/2**32|0)|0,_=(e,t,n,r)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0),v=(e,t,n,r,i)=>t+n+r+i+(e/2**32|0)|0,ee=(e,t,n,r,i)=>(e>>>0)+(t>>>0)+(n>>>0)+(r>>>0)+(i>>>0),y=(e,t,n,r,i,a)=>t+n+r+i+a+(e/2**32|0)|0;function b(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}var x=e=>e?`"${e}" `:``;function S(e,t=``){if(typeof e!=`number`)throw TypeError(x(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(x(t)+`expected integer >= 0, got `+e);return e}function C(e,t,n=``){if(b(e)&&(t===void 0||e.length===t))return e;t!==void 0&&S(t,`length`);let r=b(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=x(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}var w=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)},T=(e,t)=>{w(e,t);let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw TypeError(`"${t}" expected plain object`);if(Object.hasOwn(e,`__proto__`))throw TypeError(`"${t}.__proto__" is not allowed`)};function E(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function D(e,t){C(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function O(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function k(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var A=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,te=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function j(e){if(C(e),A)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=te[e[n]];return t}function ne(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:void 0}function re(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);if(A)try{return Uint8Array.fromHex(e)}catch(e){throw e instanceof SyntaxError?RangeError(e.message):e}let t=e.length,n=t/2;if(t%2)throw RangeError(`hex string expected, got unpadded hex of length `+t);let r=new Uint8Array(n);for(let t=0,i=0;t<n;t++,i+=2){let n=ne(e.charCodeAt(i)),a=ne(e.charCodeAt(i+1));if(n===void 0||a===void 0){let t=e[i]+e[i+1];throw RangeError(`hex string expected, got non-hex character "`+t+`" at index `+i)}r[t]=n*16+a}return r}function ie(...e){let t=0;for(let n=0;n<e.length;n++){let r=e[n];C(r),t+=r.length}let n=new Uint8Array(t);for(let t=0,r=0;t<e.length;t++){let i=e[t];n.set(i,r),r+=i.length}return n}function ae(e,t,n=`opts`){return T(e,`defaults`),t!==void 0&&T(t,n),Object.assign(Object.create(null),e,t)}function oe(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=ae({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}function se(e=32){S(e,`bytesLength`);let t=typeof globalThis==`object`?globalThis.crypto:null;if(typeof t?.getRandomValues!=`function`)throw Error(`crypto.getRandomValues must be defined`);if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var ce=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),le=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=k(this.buffer)}update(e){E(this),C(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=k(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0}else n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){E(this),D(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,t.fill(0,a),this.padOffset>r-a&&(this.process(n,0),t.fill(0)),s(n,r-8,this.length*8,i),this.process(n,0),this.roundClean();let o=e===t?n:k(e),c=this.outputLen,l=c/4,u=this.get();if(c%4||l>u.length)throw Error(`invalid outputLen`);for(let e=0;e<l;e++)o.setUint32(4*e,u[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}},ue=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),de=i(`0x428a2f98d728ae22.0x7137449123ef65cd.0xb5c0fbcfec4d3b2f.0xe9b5dba58189dbbc.0x3956c25bf348b538.0x59f111f1b605d019.0x923f82a4af194f9b.0xab1c5ed5da6d8118.0xd807aa98a3030242.0x12835b0145706fbe.0x243185be4ee4b28c.0x550c7dc3d5ffb4e2.0x72be5d74f27b896f.0x80deb1fe3b1696b1.0x9bdc06a725c71235.0xc19bf174cf692694.0xe49b69c19ef14ad2.0xefbe4786384f25e3.0x0fc19dc68b8cd5b5.0x240ca1cc77ac9c65.0x2de92c6f592b0275.0x4a7484aa6ea6e483.0x5cb0a9dcbd41fbd4.0x76f988da831153b5.0x983e5152ee66dfab.0xa831c66d2db43210.0xb00327c898fb213f.0xbf597fc7beef0ee4.0xc6e00bf33da88fc2.0xd5a79147930aa725.0x06ca6351e003826f.0x142929670a0e6e70.0x27b70a8546d22ffc.0x2e1b21385c26c926.0x4d2c6dfc5ac42aed.0x53380d139d95b3df.0x650a73548baf63de.0x766a0abb3c77b2a8.0x81c2c92e47edaee6.0x92722c851482353b.0xa2bfe8a14cf10364.0xa81a664bbc423001.0xc24b8b70d0f89791.0xc76c51a30654be30.0xd192e819d6ef5218.0xd69906245565a910.0xf40e35855771202a.0x106aa07032bbd1b8.0x19a4c116b8d2d0c8.0x1e376c085141ab53.0x2748774cdf8eeb99.0x34b0bcb5e19b48a8.0x391c0cb3c5c95a63.0x4ed8aa4ae3418acb.0x5b9cca4f7763e373.0x682e6ff3d6b2b8a3.0x748f82ee5defb2fc.0x78a5636f43172f60.0x84c87814a1f0ab72.0x8cc702081a6439ec.0x90befffa23631e28.0xa4506cebde82bde9.0xbef9a3f7b2c67915.0xc67178f2e372532b.0xca273eceea26619c.0xd186b8c721c0c207.0xeada7dd6cde0eb1e.0xf57d4f7fee6ed178.0x06f067aa72176fba.0x0a637dc5a2c898a6.0x113f9804bef90dae.0x1b710b35131c471b.0x28db77f523047d84.0x32caab7b40c72493.0x3c9ebe0a15c9bebc.0x431d67c49c100d4c.0x4cc5d4becb3e42b6.0x597f299cfc657e2a.0x5fcb6fab3ad6faec.0x6c44198c4a475817`.split(`.`).map(e=>BigInt(e))),fe=de[0],pe=de[1],M=new Uint32Array(80),N=new Uint32Array(80),me=class extends le{Ah=0;Al=0;Bh=0;Bl=0;Ch=0;Cl=0;Dh=0;Dl=0;Eh=0;El=0;Fh=0;Fl=0;Gh=0;Gl=0;Hh=0;Hl=0;constructor(e,t){super(128,e,16,!1),this.Ah=t[0]|0,this.Al=t[1]|0,this.Bh=t[2]|0,this.Bl=t[3]|0,this.Ch=t[4]|0,this.Cl=t[5]|0,this.Dh=t[6]|0,this.Dl=t[7]|0,this.Eh=t[8]|0,this.El=t[9]|0,this.Fh=t[10]|0,this.Fl=t[11]|0,this.Gh=t[12]|0,this.Gl=t[13]|0,this.Hh=t[14]|0,this.Hl=t[15]|0}get(){let{Ah:e,Al:t,Bh:n,Bl:r,Ch:i,Cl:a,Dh:o,Dl:s,Eh:c,El:l,Fh:u,Fl:d,Gh:f,Gl:p,Hh:m,Hl:h}=this;return[e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h]}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=r|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=s|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=m|0,this.Hl=h|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)M[n]=e.getUint32(t),N[n]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=M[e-15]|0,n=N[e-15]|0,r=u(t,n,1)^u(t,n,8)^c(t,n,7),i=d(t,n,1)^d(t,n,8)^l(t,n,7),a=M[e-2]|0,o=N[e-2]|0,s=u(a,o,19)^f(a,o,61)^c(a,o,6),m=_(i,d(a,o,19)^p(a,o,61)^l(a,o,6),N[e-7],N[e-16]),h=v(m,r,s,M[e-7],M[e-16]);M[e]=h|0,N[e]=m|0}let{Ah:n,Al:r,Bh:i,Bl:a,Ch:o,Cl:s,Dh:b,Dl:x,Eh:S,El:C,Fh:w,Fl:T,Gh:E,Gl:D,Hh:O,Hl:k}=this;for(let e=0;e<80;e++){let t=u(S,C,14)^u(S,C,18)^f(S,C,41),c=d(S,C,14)^d(S,C,18)^p(S,C,41),l=S&w^~S&E,_=C&T^~C&D,v=ee(k,c,_,pe[e],N[e]),A=y(v,O,t,l,fe[e],M[e]),te=v|0,j=u(n,r,28)^f(n,r,34)^f(n,r,39),ne=d(n,r,28)^p(n,r,34)^p(n,r,39),re=n&i^n&o^i&o,ie=r&a^r&s^a&s;O=E|0,k=D|0,E=w|0,D=T|0,w=S|0,T=C|0,{h:S,l:C}=m(b|0,x|0,A|0,te|0),b=o|0,x=s|0,o=i|0,s=a|0,i=n|0,a=r|0;let ae=h(te,ne,ie);n=g(ae,A,j,re),r=ae|0}({h:n,l:r}=m(this.Ah|0,this.Al|0,n|0,r|0)),{h:i,l:a}=m(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:s}=m(this.Ch|0,this.Cl|0,o|0,s|0),{h:b,l:x}=m(this.Dh|0,this.Dl|0,b|0,x|0),{h:S,l:C}=m(this.Eh|0,this.El|0,S|0,C|0),{h:w,l:T}=m(this.Fh|0,this.Fl|0,w|0,T|0),{h:E,l:D}=m(this.Gh|0,this.Gl|0,E|0,D|0),{h:O,l:k}=m(this.Hh|0,this.Hl|0,O|0,k|0),this.set(n,r,i,a,o,s,b,x,S,C,w,T,E,D,O,k)}roundClean(){O(M,N)}destroy(){this.destroyed=!0,O(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},he=class extends me{constructor(){super(64,ue)}},ge=oe(()=>new he,ce(3));function _e(e,t,n=()=>{}){if(!Array.isArray(e))throw TypeError(`"${t}" expected array, got type=${typeof e}`);for(let r=0;r<e.length;r++)n(e[r],`${t}[${r}]`);return e}var P=(e,t,n)=>C(e,t,n),ve=S;function F(e,t=`object`){if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(t===`object`?`expected valid options object`:`"${t}" expected object, got type=${typeof e}`);return e}function I(e,t){if(typeof e!=`function`)throw TypeError(`"${t}" is invalid: expected function, got ${typeof e}`);return e}var ye=j,L=(...e)=>ie(...e),be=e=>re(e),xe=b,Se=e=>se(e),R=BigInt(0),Ce=BigInt(1),we=e=>e?`"${e}" `:``;function Te(e,t=``){if(typeof e!=`boolean`)throw TypeError(we(t)+`expected boolean, got type=`+typeof e);return e}function Ee(e){if(typeof e==`bigint`){if(!B(e))throw RangeError(`positive bigint expected, got `+e)}else ve(e);return e}function z(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(n+`expected number, got type=`+typeof e)}if(!Number.isSafeInteger(e)){let n=t&&`"${t}" `;throw RangeError(n+`expected safe integer, got `+e)}}function De(e){if(typeof e!=`string`)throw TypeError(`hex string expected, got `+typeof e);return e===``?R:BigInt(`0x`+e)}function Oe(e){return De(j(e))}function ke(e){return De(j(Ne(C(e)).reverse()))}function Ae(e,t){if(S(t),t===0)throw Error(`zero output length is invalid`);e=Ee(e);let n=t*2,r=e.toString(16);if(r.length>n)throw RangeError(`number is too large`);return re(r.padStart(n,`0`))}function je(e,t){return Ae(e,t).reverse()}function Me(e,t){if(e=P(e),t=P(t),e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}function Ne(e){return Uint8Array.from(P(e))}function Pe(e){if(typeof e!=`string`)throw TypeError(`ascii string expected, got `+typeof e);return Uint8Array.from(e,(t,n)=>{let r=t.charCodeAt(0);if(t.length!==1||r>127)throw RangeError(`string contains non-ASCII character "${e[n]}" with code ${r} at position ${n}`);return r})}function B(e){return typeof e==`bigint`&&R<=e}function Fe(e,t,n){return B(e)&&B(t)&&B(n)&&t<=e&&e<n}function Ie(e,t,n,r){if(!Fe(t,n,r))throw RangeError(`expected valid `+e+`: `+n+` <= n < `+r+`, got `+t)}function Le(e){if(e<R)throw Error(`expected non-negative bigint, got `+e);return e===R?0:e.toString(2).length}var Re=e=>(z(e,`n`),(Ce<<BigInt(e))-Ce);function ze(e,t={},n={},r=`object`){F(e,r),F(t,`fields`),F(n,`optFields`);function i(t,n,i){let a=r===`object`?`param "${String(t)}"`:`"${r}.${String(t)}"`,o=e[t];if(!Object.hasOwn(e,t)&&(i?o!==void 0:n!==`function`))throw TypeError(`${a} is invalid: expected own property`);if(i&&o===void 0)return;let s=typeof o;if(s!==n||o===null)throw TypeError(`${a} is invalid: expected ${n}, got ${s}`)}let a=(e,t)=>Object.entries(e).forEach(([e,n])=>i(e,n,t));a(t,!1),a(n,!0)}var Be=()=>{throw Error(`not implemented`)},V=BigInt(0),H=BigInt(1),U=BigInt(2),Ve=BigInt(3),He=BigInt(4),Ue=BigInt(5),We=BigInt(7),Ge=BigInt(8),Ke=BigInt(9),qe=BigInt(15),Je=BigInt(16),Ye=BigInt(`0x10000000000000000`);function W(e,t){if(t<=V)throw Error(`mod: expected positive modulus, got `+t);let n=e%t;return n>=V?n:t+n}function Xe(e,t,n){if(n<=H)throw Error(`pow: expected modulus > 1, got `+n);if(typeof t!=`bigint`)throw TypeError(`invalid exponent: expected bigint, got `+typeof t);if(t<V)throw Error(`invalid exponent, negatives unsupported`);if(t===V)return H;if(t===H)return e;let r=e%n;if(r<V&&(r+=n),t<Ye){let e=H;for(;t>V;)t&H&&(e=e*r%n),r=r*r%n,t>>=H;return e}let i=[];for(;t>V;)i.push(Number(t&qe)),t>>=He;let a=Array(16);a[0]=H,a[1]=r;for(let e=2;e<16;e++)a[e]=a[e-1]*r%n;let o=a[i[i.length-1]];for(let e=i.length-2;e>=0;e--){o=o*o%n,o=o*o%n,o=o*o%n,o=o*o%n;let t=i[e];t!==0&&(o=o*a[t]%n)}return o}function G(e,t,n){if(n<=H)throw Error(`pow2: expected modulus > 1, got `+n);if(t<V)throw Error(`pow2: expected non-negative exponent, got `+t);let r=e;for(;t-->V;)r*=r,r%=n;return r}function Ze(e,t){if(e===V)throw Error(`invert: expected non-zero number`);if(t<=H)throw Error(`invert: expected modulus > 1, got `+t);let n=W(e,t),r=t,i=V,a=H;for(;n!==V;){let e=r/n,t=r-n*e,o=i-a*e;r=n,n=t,i=a,a=o}if(r!==H)throw Error(`invert: does not exist`);return W(i,t)}function Qe(e,t,n){let r=e;if(!r.eql(r.sqr(t),n))throw Error(`Cannot find square root`)}function $e(e,t){if((e&H)===V)throw Error(t+`: expected odd modulus, got `+e)}function et(e,t){let n=e,r=(n.ORDER+H)/He,i=n.pow(t,r);return Qe(n,i,t),i}function tt(e,t){let n=e,r=(n.ORDER-Ue)/Ge,i=n.mul(t,U),a=n.pow(i,r),o=n.mul(t,a),s=n.mul(n.mul(o,U),a),c=n.mul(o,n.sub(s,n.ONE));return Qe(n,c,t),c}function nt(e){let t=dt(e),n=rt(e),r=n(t,t.neg(t.ONE)),i=n(t,r),a=n(t,t.neg(r)),o=(e+We)/Je;return((e,t)=>{let n=e,s=n.pow(t,o),c=n.mul(s,r),l=n.mul(s,i),u=n.mul(s,a),d=n.eql(n.sqr(c),t),f=n.eql(n.sqr(l),t);s=n.cmov(s,c,d),c=n.cmov(u,l,f);let p=n.eql(n.sqr(c),t),m=n.cmov(s,c,p);return Qe(n,m,t),m})}function rt(e){if(e<Ve)throw Error(`sqrt is not defined for small field`);$e(e,`tonelliShanks`);let t=e-H,n=0;for(;t%U===V;)t/=U,n++;let r=U,i=dt(e);for(;q(i,r)===1;)if(r++>1e3)throw Error(`Cannot find square root: probably non-prime P`);if(n===1)return et;let a=i.pow(r,t),o=(t+H)/U;return function(e,r){let i=e;if(i.is0(r))return r;if(q(i,r)!==1)throw Error(`Cannot find square root`);let s=n,c=i.mul(i.ONE,a),l=i.pow(r,t),u=i.pow(r,o);for(;!i.eql(l,i.ONE);){if(i.is0(l))throw Error(`Cannot find square root: probably non-prime P`);let e=1,t=i.sqr(l);for(;!i.eql(t,i.ONE);)if(e++,t=i.sqr(t),e===s)throw Error(`Cannot find square root`);let n=H<<BigInt(s-e-1),r=i.pow(c,n);s=e,c=i.sqr(r),l=i.mul(l,c),u=i.mul(u,r)}return u}}function it(e){return $e(e,`Fp.sqrt`),e%He===Ve?et:e%Ge===Ue?tt:e%Je===Ke?nt(e):rt(e)}var at=(e,t)=>(W(e,t)&H)===H,ot=[`create`,`isValid`,`is0`,`neg`,`inv`,`sqrt`,`sqr`,`eql`,`add`,`sub`,`mul`,`pow`,`div`,`addN`,`subN`,`mulN`,`sqrN`];function K(e){if(F(e,`field`),typeof e.ORDER!=`bigint`)throw TypeError(`param "ORDER" is invalid: expected bigint, got `+typeof e.ORDER);z(e.BYTES,`BYTES`),z(e.BITS,`BITS`);for(let t of ot)I(e[t],`field.`+t);if(e.BYTES<1||e.BITS<1)throw Error(`invalid field: expected BYTES/BITS > 0`);if(e.ORDER<=H)throw Error(`invalid field: expected ORDER > 1, got `+e.ORDER);return e}function st(e,t,n=!1){K(e),_e(t,`nums`),Te(n,`passZero`);let r=e,i=Array(t.length).fill(n?r.ZERO:void 0),a=t.reduce((e,t,n)=>r.is0(t)?e:(i[n]=e,r.mul(e,t)),r.ONE),o=r.inv(a);return t.reduceRight((e,t,n)=>r.is0(t)?e:(i[n]=r.mul(e,i[n]),r.mul(e,t)),o),i}function q(e,t){K(e);let n=e;$e(n.ORDER,`FpLegendre`);let r=(n.ORDER-H)/U,i=n.pow(t,r),a=n.eql(i,n.ONE),o=n.eql(i,n.ZERO),s=n.eql(i,n.neg(n.ONE));if(!a&&!o&&!s)throw Error(`invalid Legendre symbol result`);return a?1:o?0:-1}function ct(e,t){if(t!==void 0&&ve(t),e<=V)throw Error(`invalid n length: expected positive n, got `+e);if(t!==void 0&&t<1)throw Error(`invalid n length: expected positive bit length, got `+t);let n=Le(e);if(t!==void 0&&t<n)throw Error(`invalid n length: expected nBitLength (${t}) >= bitLen(n) (${n})`);let r=t===void 0?n:t;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}var lt=new WeakMap,ut=class{ORDER;BITS;BYTES;isLE;ZERO=V;ONE=H;_lengths;_mod;constructor(e,t={}){if(e<=H)throw Error(`invalid field: expected ORDER > 1, got `+e);let n;this.isLE=!1,typeof t==`object`&&t&&(typeof t.BITS==`number`&&(n=t.BITS),typeof t.sqrt==`function`&&Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0}),typeof t.isLE==`boolean`&&(this.isLE=t.isLE),t.allowedLengths&&(this._lengths=Object.freeze(t.allowedLengths.slice())),typeof t.modFromBytes==`boolean`&&(this._mod=t.modFromBytes));let{nBitLength:r,nByteLength:i}=ct(e,n);if(i>2048)throw Error(`invalid field: expected ORDER of <= 2048 bytes`);this.ORDER=e,this.BITS=r,this.BYTES=i,Object.freeze(this)}create(e){return W(e,this.ORDER)}isValid(e){if(typeof e!=`bigint`)throw TypeError(`invalid field element: expected bigint, got `+typeof e);return V<=e&&e<this.ORDER}is0(e){return e===V}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&H)===H}neg(e){return W(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return W(e*e,this.ORDER)}add(e,t){return W(e+t,this.ORDER)}sub(e,t){return W(e-t,this.ORDER)}mul(e,t){return W(e*t,this.ORDER)}pow(e,t){return Xe(e,t,this.ORDER)}div(e,t){return W(e*Ze(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Ze(e,this.ORDER)}sqrt(e){let t=lt.get(this);return t||lt.set(this,t=it(this.ORDER)),t(this,e)}toBytes(e){return this.isLE?je(e,this.BYTES):Ae(e,this.BYTES)}fromBytes(e,t=!1){P(e);let{_lengths:n,BYTES:r,isLE:i,ORDER:a,_mod:o}=this;if(n){if(e.length<1||!n.includes(e.length)||e.length>r)throw Error(`Field.fromBytes: expected `+n+` bytes, got `+e.length);let t=new Uint8Array(r);t.set(e,i?0:t.length-e.length),e=t}if(e.length!==r)throw Error(`Field.fromBytes: expected `+r+` bytes, got `+e.length);let s=i?ke(e):Oe(e);if(o&&(s=W(s,a)),!t&&!this.isValid(s))throw Error(`invalid field element: outside of range 0..ORDER`);return s}invertBatch(e){return st(this,e,!0)}cmov(e,t,n){return Te(n,`condition`),n?t:e}};function dt(e,t={}){return Object.freeze(ut.prototype),new ut(e,t)}var ft=BigInt(0),J=BigInt(1),pt=BigInt(4),mt=16,ht=128,gt=5,_t=2**31;function vt(e){let t=e;if(typeof t!=`function`)throw TypeError(`"Point" expected constructor, got type=`+typeof e);I(t.fromAffine,`Point.fromAffine`),I(t.fromBytes,`Point.fromBytes`),I(t.fromHex,`Point.fromHex`),F(t.BASE,`Point.BASE`),F(t.ZERO,`Point.ZERO`),K(t.Fp),K(t.Fn)}function yt(e,t){vt(e),Ct(t,e);let n=st(e.Fp,t.map(e=>e.Z));return t.map((t,r)=>e.fromAffine(t.toAffine(n[r])))}function bt(e,t,n=1){if(!Number.isSafeInteger(e)||e<n||e>t)throw Error(`invalid window size, expected [`+n+`..`+t+`], got W=`+e)}function xt(e,t){let n=e*(4*t+128);if(n>_t)throw Error(`invalid window size: table would need ~`+Math.ceil(n/2**20)+` MiB, max `+_t/2**20+` MiB`)}function St(e,t){if(e!==void 0){I(e,`randomBytes`);try{let n=e(t);if(!xe(n)||n.length!==t)return}catch{return}return e}}function Ct(e,t){_e(e,`points`),e.forEach((e,n)=>{if(!(e instanceof t))throw Error(`invalid point at index `+n)})}function wt(e,t,n){if(!Array.isArray(e))throw Error(`array of scalars expected`);e.forEach((e,r)=>{if(!(n===void 0?t.isValid(e):B(e)&&e<n))throw Error(`invalid scalar at index `+r)})}var Tt=new WeakMap;function Et(e){return Tt.get(e)||1}function Dt(e,t){let n=e.double(),r=[e];for(let e=1;e<t;e++)r.push(r[e-1].add(n));return r}function Ot(e,t){let n=2**t,r=n/2,i=BigInt(n-1),a=[];for(;e>ft;){let t=0;e&J&&(t=Number(e&i),t>=r&&(t-=n),e-=BigInt(t)),a.push(t),e>>=J}return a}function kt(e,t,n){let r=2**t,i=r/2,a=BigInt(r-1),o=BigInt(t),s=[];for(let t=0;t<n;t++){let t=Number(e&a);e>>=o,t>i&&(t-=r,e+=J),s.push(t)}if(e!==ft)throw Error(`invalid wnaf`);return s}function At(e,t,n){let r=0;for(let e of n)r=Math.max(r,e.length);let i=e;for(let e=r-1;e>=0;e--){e!==r-1&&(i=i.double());for(let r=0;r<n.length;r++){let a=n[r][e];if(a){let e=t[r][Math.abs(a)-1>>1];i=i.add(a<0?e.negate():e)}}}return i}var jt=class{Point;BASE;ZERO;randomBytes;wnafPrecomputes=new WeakMap;baseCanBeBlinded;bits;constructor(e,t){vt(e),this.randomBytes=St(t,mt),this.Point=e,this.BASE=e.BASE,this.ZERO=e.ZERO,this.bits=e.Fn.BITS}buildWnafTable(e,t,n){let r=Math.ceil(n/t)+1,i=2**(t-1),a=[],o=e;for(let e=0;e<r;e++){let e=o;for(let t=0;t<i;t++)a.push(e),e=e.add(o);o=a[a.length-1].double()}return{W:t,bits:n,windows:r,comp:a}}wnafCachedCT(e,t){let{W:n,windows:r,comp:i}=e,a=2**(n-1),o=kt(t,n,r),s=this.ZERO,c=this.BASE;for(let e=0;e<r;e++){let t=o[e],n=e*a,r=Math.abs(t)-1,l=i[n];for(let e=1;e<a;e++)l=e===r?i[n+e]:l;let u=l.negate();t===0?c=c.add(i[n]):s=s.add(t<0?u:l)}return{p:s,f:c}}getWnafPrecomputes(e,t,n,r){let i=this.wnafPrecomputes.get(t),a=i?.find(t=>t.W===e&&t.bits===n);return a||(a=this.buildWnafTable(t,e,n),typeof r==`function`&&(a={...a,comp:r(a.comp)}),i||(i=[],this.wnafPrecomputes.set(t,i)),i.push(a)),a}assertPoint(e){if(!(e instanceof this.Point))throw TypeError(`"point" expected Point instance, got type=`+typeof e)}validateMulInput(e,t){if(this.assertPoint(e),!Fe(t,J,this.Point.Fn.ORDER))throw Error(`invalid scalar`)}runCT(e,t,n,r){let i=Et(e);return i===1?this.fixedWindowCT(e,t,n):this.wnafCachedCT(this.getWnafPrecomputes(i,e,n,r),t)}mulCT(e,t,n){return this.validateMulInput(e,t),this.runCT(e,t,this.bits,n)}mulCTBlinded(e,t,n){if(this.validateMulInput(e,t),this.randomBytes===void 0)throw Error(`randomBytes is required for scalar blinding`);let r=this.Point.Fn.BITS+ht,i=this.randomBytes(mt);if(!xe(i)||i.length!==mt)throw Error(`randomBytes returned invalid byte array`);i[0]=i[0]&63|128;let a=t+Oe(i)*this.Point.Fn.ORDER;return this.runCT(e,a,r,n)}fixedWindowCT(e,t,n){let r=gt,i=Re(r),a=Array(32);a[0]=this.ZERO;for(let t=1;t<32;t++)a[t]=a[t-1].add(e);let o=Math.ceil(n/r),s=this.ZERO;for(let e=o-1;e>=0;e--){if(e!==o-1)for(let e=0;e<r;e++)s=s.double();let n=Number(t>>BigInt(e*r)&i),c=a[0];for(let e=1;e<32;e++)c=e===n?a[e]:c;s=s.add(c)}return{p:s,f:s}}shouldBlind(e,t){return this.randomBytes===void 0?!1:t===J||e===this.BASE&&(this.baseCanBeBlinded===void 0&&(this.baseCanBeBlinded=this.mulUnsafe(this.BASE,this.Point.Fn.ORDER).is0()),this.baseCanBeBlinded)}mulSecret(e,t,n,r){return this.shouldBlind(e,n)?this.mulCTBlinded(e,t,r):this.mulCT(e,t,r)}mulUnsafe(e,t,n){if(this.assertPoint(e),!B(t))throw Error(`invalid scalar`);let r=Et(e);if(r===1||t>=this.Point.Fn.ORDER)return Mt(this.Point,[e],[t],!0);let i=this.getWnafPrecomputes(r,e,this.bits,n);return this.wnafCachedCT(i,t).p}setWindowSize(e,t){this.assertPoint(e),bt(t,this.bits),xt((Math.ceil((this.bits+ht)/t)+1)*2**(t-1),this.Point.Fp.BYTES),Tt.set(e,t),this.wnafPrecomputes.delete(e)}hasWindowSize(e){return Et(e)!==1}};function Mt(e,t,n,r=!1){if(vt(e),Ct(t,e),Te(r,`allowOversized`),wt(n,e.Fn,r?e.Fn.ORDER**pt:void 0),t.length!==n.length)throw Error(`arrays of points and scalars must have equal length`);let i=t.map(e=>Dt(e,4)),a=n.map(e=>Ot(e,4));return At(e.ZERO,i,a)}function Nt(e,t,n){if(t){if(t.ORDER!==e)throw Error(`Field.ORDER must match order: Fp == p, Fn == n`);return K(t),t}return dt(e,{isLE:n})}function Pt(e,t,n={},r){if(e!==`weierstrass`&&e!==`edwards`)throw Error(`expected curve type "weierstrass" or "edwards"`);if(r===void 0&&(r=e===`edwards`),!t||typeof t!=`object`)throw Error(`expected valid ${e} CURVE object`);ze(n);for(let e of[`p`,`n`,`h`]){let n=t[e];if(!(B(n)&&n!==ft))throw Error(`CURVE.${e} must be positive bigint`)}let i=Nt(t.p,n.Fp,r),a=Nt(t.n,n.Fn,r),o=[`Gx`,`Gy`,`a`,e===`weierstrass`?`b`:`d`];for(let e of o)if(!i.isValid(t[e]))throw Error(`CURVE.${e} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:i,Fn:a}}var Ft=BigInt(0),It=BigInt(1),Lt=BigInt(2),Rt=BigInt(4),zt=BigInt(8);function Bt(e,t,n,r){let i=e.sqr(n),a=e.sqr(r),o=e.add(e.mul(t.a,i),a),s=e.add(e.ONE,e.mul(t.d,e.mul(i,a)));return e.eql(o,s)}function Vt(e,t={}){ze(t,{},{},`extraOpts`);let n=t,r=Pt(`edwards`,e,n,n.FpFnLE),{Fp:i,Fn:a}=r,o=r.CURVE,{h:s}=o;if(q(i,o.a)!==1)throw Error(`edwards: CURVE.a must be a square in Fp for complete addition formulas`);if(q(i,o.d)!==-1)throw Error(`edwards: CURVE.d must be a non-square in Fp for complete addition formulas`);ze(n,{},{uvRatio:`function`,randomBytes:`function`});let c=n.randomBytes===void 0?Se:n.randomBytes,l=Lt<<BigInt(i.BYTES*8)-It;function u(e){if(!i.isOdd)throw Error(`Field does not have .isOdd()`);return i.isOdd(e)}let d=n.uvRatio===void 0?(e,t)=>{try{return{isValid:!0,value:i.sqrt(i.div(e,t))}}catch{return{isValid:!1,value:Ft}}}:n.uvRatio;if(!Bt(i,o,o.Gx,o.Gy))throw Error(`bad curve params: generator point`);let f=i.eql(o.a,i.neg(i.ONE))?e=>i.neg(e):i.eql(o.a,i.ONE)?e=>e:e=>i.mul(o.a,e);function p(e,t,n=!1){let r=n?It:Ft;return Ie(`coordinate `+e,t,r,l),t}function m(e){if(!(e instanceof h))throw Error(`EdwardsPoint expected`)}class h{static BASE=new h(o.Gx,o.Gy,i.ONE,i.mul(o.Gx,o.Gy));static ZERO=new h(i.ZERO,i.ONE,i.ONE,i.ZERO);static Fp=i;static Fn=a;X;Y;Z;T;constructor(e,t,n,r){this.X=p(`x`,e),this.Y=p(`y`,t),this.Z=p(`z`,n,!0),this.T=p(`t`,r),Object.freeze(this)}static CURVE(){return o}static fromAffine(e){if(e instanceof h)throw Error(`extended point not allowed`);let{x:t,y:n}=e||{};return p(`x`,t),p(`y`,n),new h(t,n,i.ONE,i.mul(t,n))}static fromBytes(e,t=!1){let n=i.BYTES,{a:r,d:a}=o;e=Ne(P(e,n,`point`)),Te(t,`zip215`);let s=Ne(e),c=e[n-1];s[n-1]=c&-129;let f=ke(s);Ie(`point.y`,f,Ft,t?l:i.ORDER);let p=i.sqr(f),m=i.sub(p,i.ONE),g=i.sub(i.mulN(a,p),r),{isValid:_,value:v}=d(m,g);if(!_)throw Error(`bad point: invalid y coordinate`);let ee=u(v),y=!!(c&128);if(!t&&i.is0(v)&&y)throw Error(`bad point: x=0 and x_0=1`);return y!==ee&&(v=i.neg(v)),h.fromAffine({x:v,y:f})}static fromHex(e,t=!1){return h.fromBytes(be(e),t)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(e=6,t=!0){return _.setWindowSize(this,e),t||this.multiply(Lt),this}assertValidity(){let e=this,{a:t,d:n}=o;if(e.is0())throw Error(`bad point: ZERO`);let{X:r,Y:a,Z:s,T:c}=e,l=i.sqr(r),u=i.sqr(a),d=i.sqr(s),f=i.sqr(d),p=i.mul(l,t),m=i.mul(i.add(p,u),d),h=i.add(f,i.mul(n,i.mul(l,u)));if(!i.eql(m,h))throw Error(`bad point: equation left != right (1)`);let g=i.mul(r,a),_=i.mul(s,c);if(!i.eql(g,_))throw Error(`bad point: equation left != right (2)`)}equals(e){m(e);let{X:t,Y:n,Z:r}=this,{X:a,Y:o,Z:s}=e,c=i.mul(t,s),l=i.mul(a,r),u=i.mul(n,s),d=i.mul(o,r);return i.eql(c,l)&&i.eql(u,d)}is0(){return this.equals(h.ZERO)}negate(){return new h(i.neg(this.X),this.Y,this.Z,i.neg(this.T))}double(){let{X:e,Y:t,Z:n}=this,r=i.sqr(e),a=i.sqr(t),o=i.mul(i.sqr(n),Lt),s=f(r),c=i.addN(e,t),l=i.sub(i.subN(i.sqr(c),r),a),u=i.addN(s,a),d=i.subN(u,o),p=i.subN(s,a),m=i.mul(l,d),g=i.mul(u,p),_=i.mul(l,p),v=i.mul(d,u);return new h(m,g,v,_)}add(e){m(e);let{d:t}=o,{X:n,Y:r,Z:a,T:s}=this,{X:c,Y:l,Z:u,T:d}=e,p=i.mul(n,c),g=i.mul(r,l),_=i.mul(i.mulN(s,t),d),v=i.mul(a,u),ee=i.sub(i.subN(i.mulN(i.addN(n,r),i.addN(c,l)),p),g),y=i.subN(v,_),b=i.addN(v,_),x=i.sub(g,f(p)),S=i.mul(ee,y),C=i.mul(b,x),w=i.mul(ee,x),T=i.mul(y,b);return new h(S,C,T,w)}subtract(e){return m(e),this.add(e.negate())}multiply(e){if(!a.isValidNot0(e))throw RangeError(`invalid scalar: expected 1 <= sc < curve.n`);let{p:t,f:n}=_.mulSecret(this,e,s,g);return g([t,n])[0]}multiplyUnsafe(e){if(!a.isValid(e))throw RangeError(`invalid scalar: expected 0 <= sc < curve.n`);return e===Ft?h.ZERO:this.is0()||e===It?this:_.mulUnsafe(this,e,g)}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return _.mulUnsafe(this,o.n).is0()}toAffine(e){let t=this,n=e;if(n!=null&&typeof n!=`bigint`)throw TypeError(`"invertedZ" expected bigint, got type=`+typeof n);let{X:r,Y:a,Z:o}=t,s=t.is0();n??=s?i.create(zt):i.inv(o);let c=i.mul(r,n),l=i.mul(a,n),u=i.mul(o,n);if(s)return{x:i.ZERO,y:i.ONE};if(!i.eql(u,i.ONE))throw Error(`invZ was invalid`);return{x:c,y:l}}clearCofactor(){return s===It?this:s===Lt?this.double():s===Rt?this.double().double():s===zt?this.double().double().double():this.multiplyUnsafe(s)}toBytes(){let{x:e,y:t}=this.toAffine(),n=i.toBytes(t);return n[n.length-1]|=u(e)?128:0,n}toHex(){return ye(this.toBytes())}toString(){return`<Point ${this.is0()?`ZERO`:this.toHex()}>`}}let g=e=>yt(h,e),_=new jt(h,c);return _.bits>=6&&h.BASE.precompute(6),Object.freeze(h.prototype),Object.freeze(h),h}var Ht=class{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){Be()}static fromHex(e){Be()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return ye(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}};function Y(e,t){if(z(e),z(t),t<0||t>4)throw Error(`invalid I2OSP length: `+t);if(e<0||e>2**(8*t)-1)throw Error(`invalid I2OSP input: `+e);let n=Array.from({length:t}).fill(0);for(let r=t-1;r>=0;r--)n[r]=e&255,e>>>=8;return new Uint8Array(n)}function Ut(e,t){let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]^t[r];return n}function Wt(e){if(!xe(e)&&typeof e!=`string`)throw Error(`DST must be Uint8Array or ascii string`);let t=typeof e==`string`?Pe(e):e;if(t.length===0)throw Error(`DST must be non-empty`);return t}function Gt(e,t,n,r){if(P(e),z(n),typeof r!=`function`)throw Error(`expand_message_xmd: expected hash function`);z(r.outputLen,`hash.outputLen`),z(r.blockLen,`hash.blockLen`),t=Wt(t),t.length>255&&(t=r(L(Pe(`H2C-OVERSIZE-DST-`),t)));let{outputLen:i,blockLen:a}=r,o=Math.ceil(n/i);if(n>65535||o>255)throw Error(`expand_message_xmd: invalid lenInBytes`);let s=L(t,Y(t.length,1)),c=new Uint8Array(a),l=Y(n,2),u=Array(o),d=r(L(c,e,l,Y(0,1),s));u[0]=r(L(d,Y(1,1),s));for(let e=1;e<o;e++){let t=[Ut(d,u[e-1]),Y(e+1,1),s];u[e]=r(L(...t))}return L(...u).slice(0,n)}var Kt=`HashToScalar-`,qt=e({ristretto255:()=>pn,ristretto255_hasher:()=>mn}),X=BigInt(1),Jt=BigInt(2),Yt=BigInt(5),Xt=BigInt(8),Zt=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed`),Qt={p:Zt,n:BigInt(`0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed`),h:Xt,a:BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec`),d:BigInt(`0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3`),Gx:BigInt(`0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a`),Gy:BigInt(`0x6666666666666666666666666666666666666666666666666666666666666658`)};function $t(e){let t=BigInt(10),n=BigInt(20),r=BigInt(40),i=BigInt(80),a=Zt,o=e*e%a*e%a,s=G(G(o,Jt,a)*o%a,X,a)*e%a,c=G(s,Yt,a)*s%a,l=G(c,t,a)*c%a,u=G(l,n,a)*l%a,d=G(u,r,a)*u%a;return{pow_p_5_8:G(G(G(G(d,i,a)*d%a,i,a)*d%a,t,a)*c%a,Jt,a)*e%a,b2:o}}var en=BigInt(`19681161376707505956807079304988542015446066515923890162744021073123829784752`);function tn(e,t){let n=Zt,r=W(t*t*t,n),i=$t(e*W(r*r*t,n)).pow_p_5_8,a=W(e*r*i,n),o=W(t*a*a,n),s=a,c=W(a*en,n),l=o===e,u=o===W(-e,n),d=o===W(-e*en,n);return l&&(a=s),(u||d)&&(a=c),at(a,n)&&(a=W(-a,n)),{isValid:l||u,value:a}}var Z=Vt(Qt,{uvRatio:tn}),Q=Z.Fp,nn=Z.Fn,rn=en,an=BigInt(`25063068953384623474111414158702152701244531502492656460079210482610430750235`),on=BigInt(`54469307008909316920995813868745141605393597292927456921205312896311721017578`),sn=BigInt(`1159843021668779879193775521855586647937357759715417654439879720876111806838`),cn=BigInt(`40440834346308536858101042469323190826248399146238708352240133220865137265952`),ln=e=>tn(X,e),un=BigInt(`0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff`),dn=e=>Q.create(ke(e)&un);function fn(e){let{d:t}=Qt,n=Q.mul(Q.mulN(rn,e),e),r=Q.mul(Q.addN(n,X),sn),i=BigInt(-1),a=Q.mul(Q.subN(i,Q.mulN(t,n)),Q.add(n,t)),{isValid:o,value:s}=tn(r,a),c=Q.mul(s,e);Q.isOdd(c)||(c=Q.neg(c)),o||(s=c),o||(i=n);let l=Q.sub(Q.mulN(Q.mulN(i,Q.subN(n,X)),cn),a),u=Q.sqrN(s),d=Q.mul(Q.addN(s,s),a),f=Q.mul(l,an),p=Q.sub(X,u),m=Q.add(X,u);return new Z(Q.mul(d,m),Q.mul(p,f),Q.mul(f,m),Q.mul(d,p))}var $=class e extends Ht{static BASE=new e(Z.BASE);static ZERO=new e(Z.ZERO);static Fp=Q;static Fn=nn;constructor(e){super(e)}static fromAffine(t){return new e(Z.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw Error(`RistrettoPoint expected`)}init(t){return new e(t)}static fromBytes(t){C(t,32);let{a:n,d:r}=Qt,i=dn(t);if(!Me(Q.toBytes(i),t)||Q.isOdd(i))throw Error(`invalid ristretto255 encoding 1`);let a=Q.sqr(i),o=Q.add(X,Q.mulN(n,a)),s=Q.sub(X,Q.mulN(n,a)),c=Q.sqr(o),l=Q.sqr(s),u=Q.sub(Q.mulN(Q.mulN(n,r),c),l),{isValid:d,value:f}=ln(Q.mul(u,l)),p=Q.mul(f,s),m=Q.mul(Q.mulN(f,p),u),h=Q.mul(Q.addN(i,i),p);Q.isOdd(h)&&(h=Q.neg(h));let g=Q.mul(o,m),_=Q.mul(h,g);if(!d||Q.isOdd(_)||Q.is0(g))throw Error(`invalid ristretto255 encoding 2`);return new e(new Z(h,g,Q.ONE,_))}static fromHex(t){return e.fromBytes(re(t))}toBytes(){let{X:e,Y:t,Z:n,T:r}=this.ep,i=Q.mul(Q.add(n,t),Q.sub(n,t)),a=Q.mul(e,t),o=Q.sqr(a),{value:s}=ln(Q.mul(i,o)),c=Q.mul(s,i),l=Q.mul(s,a),u=Q.mul(Q.mulN(c,l),r),d;if(Q.isOdd(Q.mul(r,u))){let n=Q.mul(t,rn),r=Q.mul(e,rn);e=n,t=r,d=Q.mul(c,on)}else d=l;Q.isOdd(Q.mul(e,u))&&(t=Q.neg(t));let f=Q.mul(Q.subN(n,t),d);return Q.isOdd(f)&&(f=Q.neg(f)),Q.toBytes(f)}equals(e){this.assertSame(e);let{X:t,Y:n}=this.ep,{X:r,Y:i}=e.ep,a=Q.eql(Q.mul(t,i),Q.mul(n,r)),o=Q.eql(Q.mul(n,i),Q.mul(t,r));return a||o}is0(){return this.equals(e.ZERO)}},pn=(Object.freeze($.BASE),Object.freeze($.ZERO),Object.freeze($.prototype),Object.freeze($),Object.freeze({Point:$})),mn=Object.freeze({Point:$,hashToCurve(e,t){let n=Gt(e,t?.DST===void 0?`ristretto255_XMD:SHA-512_R255MAP_RO_`:t.DST,64,ge);return mn.deriveToCurve(n)},hashToScalar(e,t){let n=Gt(e,t?.DST===void 0?Kt:t.DST,64,ge);return nn.create(ke(n))},deriveToCurve(e){C(e,64);let t=fn(dn(e.subarray(0,32))),n=fn(dn(e.subarray(32,64)));return new $(t.add(n))}});export{qt as t};
|