UNPKG

@richardhopton/noise-c.wasm

Version:

rweather/noise-c compiled to WebAssembly using Emscripten and optimized for small size

49 lines (43 loc) 12.5 kB
var __noise_c_wasm = (() => { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; return ( function(__noise_c_wasm = {}) { var a;a||(a=typeof __noise_c_wasm !== 'undefined' ? __noise_c_wasm : {});var l,m;a.ready=new Promise(function(b,d){l=b;m=d});var n=Object.assign({},a),p="object"==typeof window,q="function"==typeof importScripts,r="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,t="",u,v,w; if(r){var fs=require("fs"),x=require("path");t=q?x.dirname(t)+"/":__dirname+"/";u=(b,d)=>{b=b.startsWith("file://")?new URL(b):x.normalize(b);return fs.readFileSync(b,d?void 0:"utf8")};w=b=>{b=u(b,!0);b.buffer||(b=new Uint8Array(b));return b};v=(b,d,f)=>{b=b.startsWith("file://")?new URL(b):x.normalize(b);fs.readFile(b,function(c,e){c?f(c):d(e.buffer)})};process.argv.slice(2);a.inspect=function(){return"[Emscripten Module object]"}}else if(p||q)q?t=self.location.href:"undefined"!=typeof document&& document.currentScript&&(t=document.currentScript.src),_scriptDir&&(t=_scriptDir),0!==t.indexOf("blob:")?t=t.substr(0,t.replace(/[?#].*/,"").lastIndexOf("/")+1):t="",u=b=>{var d=new XMLHttpRequest;d.open("GET",b,!1);d.send(null);return d.responseText},q&&(w=b=>{var d=new XMLHttpRequest;d.open("GET",b,!1);d.responseType="arraybuffer";d.send(null);return new Uint8Array(d.response)}),v=(b,d,f)=>{var c=new XMLHttpRequest;c.open("GET",b,!0);c.responseType="arraybuffer";c.onload=()=>{200==c.status||0== c.status&&c.response?d(c.response):f()};c.onerror=f;c.send(null)};a.print||console.log.bind(console);var y=a.printErr||console.warn.bind(console);Object.assign(a,n);n=null;var z;a.wasmBinary&&(z=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0;"object"!=typeof WebAssembly&&A("no native wasm support detected");var B,C=!1,D,E=[],F=[],G=[];function H(){var b=a.preRun.shift();E.unshift(b)}var I=0,J=null,K=null; function A(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";y(b);C=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");m(b);throw b;}function L(b){return b.startsWith("data:application/octet-stream;base64,")}var M;M="noise-c.wasm";if(!L(M)){var N=M;M=a.locateFile?a.locateFile(N,t):t+N}function O(b){try{if(b==M&&z)return new Uint8Array(z);if(w)return w(b);throw"both async and sync fetching of the wasm failed";}catch(d){A(d)}} function P(b){if(!z&&(p||q)){if("function"==typeof fetch&&!b.startsWith("file://"))return fetch(b,{credentials:"same-origin"}).then(function(d){if(!d.ok)throw"failed to load wasm binary file at '"+b+"'";return d.arrayBuffer()}).catch(function(){return O(b)});if(v)return new Promise(function(d,f){v(b,function(c){d(new Uint8Array(c))},f)})}return Promise.resolve().then(function(){return O(b)})} function Q(b,d,f){return P(b).then(function(c){return WebAssembly.instantiate(c,d)}).then(function(c){return c}).then(f,function(c){y("failed to asynchronously prepare wasm: "+c);A(c)})} function R(b,d){var f=M;return z||"function"!=typeof WebAssembly.instantiateStreaming||L(f)||f.startsWith("file://")||r||"function"!=typeof fetch?Q(f,b,d):fetch(f,{credentials:"same-origin"}).then(function(c){return WebAssembly.instantiateStreaming(c,b).then(d,function(e){y("wasm streaming compile failed: "+e);y("falling back to ArrayBuffer instantiation");return Q(f,b,d)})})}function S(b){for(;0<b.length;)b.shift()(a)}var T={a:function(){A("OOM")},b:function(b,d){D.set(a._random_bytes(d),b)}}; (function(){function b(f){f=f.exports;a.asm=f;B=a.asm.c;var c=B.buffer;a.HEAP8=new Int8Array(c);a.HEAP16=new Int16Array(c);a.HEAP32=new Int32Array(c);a.HEAPU8=D=new Uint8Array(c);a.HEAPU16=new Uint16Array(c);a.HEAPU32=new Uint32Array(c);a.HEAPF32=new Float32Array(c);a.HEAPF64=new Float64Array(c);F.unshift(a.asm.d);I--;a.monitorRunDependencies&&a.monitorRunDependencies(I);0==I&&(null!==J&&(clearInterval(J),J=null),K&&(c=K,K=null,c()));return f}var d={a:T};I++;a.monitorRunDependencies&&a.monitorRunDependencies(I); if(a.instantiateWasm)try{return a.instantiateWasm(d,b)}catch(f){y("Module.instantiateWasm callback failed with error: "+f),m(f)}R(d,function(f){b(f.instance)}).catch(m);return{}})();a._noise_cipherstate_new_by_id=function(){return(a._noise_cipherstate_new_by_id=a.asm.e).apply(null,arguments)};a._noise_cipherstate_free=function(){return(a._noise_cipherstate_free=a.asm.f).apply(null,arguments)}; a._noise_cipherstate_get_mac_length=function(){return(a._noise_cipherstate_get_mac_length=a.asm.g).apply(null,arguments)};a._noise_cipherstate_init_key=function(){return(a._noise_cipherstate_init_key=a.asm.h).apply(null,arguments)};a._noise_cipherstate_has_key=function(){return(a._noise_cipherstate_has_key=a.asm.i).apply(null,arguments)};a._noise_cipherstate_encrypt_with_ad=function(){return(a._noise_cipherstate_encrypt_with_ad=a.asm.j).apply(null,arguments)}; a._noise_cipherstate_decrypt_with_ad=function(){return(a._noise_cipherstate_decrypt_with_ad=a.asm.k).apply(null,arguments)};a._noise_cipherstate_set_nonce=function(){return(a._noise_cipherstate_set_nonce=a.asm.l).apply(null,arguments)};a._noise_dhstate_new_by_id=function(){return(a._noise_dhstate_new_by_id=a.asm.n).apply(null,arguments)};a._noise_dhstate_free=function(){return(a._noise_dhstate_free=a.asm.o).apply(null,arguments)}; a._noise_dhstate_get_dh_id=function(){return(a._noise_dhstate_get_dh_id=a.asm.p).apply(null,arguments)};a._noise_dhstate_get_public_key_length=function(){return(a._noise_dhstate_get_public_key_length=a.asm.q).apply(null,arguments)};a._noise_dhstate_generate_keypair=function(){return(a._noise_dhstate_generate_keypair=a.asm.r).apply(null,arguments)};a._noise_dhstate_set_keypair_private=function(){return(a._noise_dhstate_set_keypair_private=a.asm.s).apply(null,arguments)}; a._noise_dhstate_get_keypair=function(){return(a._noise_dhstate_get_keypair=a.asm.t).apply(null,arguments)};a._noise_dhstate_set_public_key=function(){return(a._noise_dhstate_set_public_key=a.asm.u).apply(null,arguments)};a._noise_dhstate_get_public_key=function(){return(a._noise_dhstate_get_public_key=a.asm.v).apply(null,arguments)};a._noise_symmetricstate_free=function(){return(a._noise_symmetricstate_free=a.asm.w).apply(null,arguments)}; a._noise_handshakestate_free=function(){return(a._noise_handshakestate_free=a.asm.x).apply(null,arguments)};a._noise_handshakestate_new_by_name=function(){return(a._noise_handshakestate_new_by_name=a.asm.y).apply(null,arguments)};a._noise_symmetricstate_new_by_name=function(){return(a._noise_symmetricstate_new_by_name=a.asm.z).apply(null,arguments)};a._noise_handshakestate_get_protocol_id=function(){return(a._noise_handshakestate_get_protocol_id=a.asm.A).apply(null,arguments)}; a._noise_handshakestate_get_local_keypair_dh=function(){return(a._noise_handshakestate_get_local_keypair_dh=a.asm.B).apply(null,arguments)};a._noise_handshakestate_get_remote_public_key_dh=function(){return(a._noise_handshakestate_get_remote_public_key_dh=a.asm.C).apply(null,arguments)};a._noise_handshakestate_get_fixed_ephemeral_dh=function(){return(a._noise_handshakestate_get_fixed_ephemeral_dh=a.asm.D).apply(null,arguments)}; a._noise_handshakestate_get_fixed_hybrid_dh=function(){return(a._noise_handshakestate_get_fixed_hybrid_dh=a.asm.E).apply(null,arguments)};a._noise_handshakestate_needs_pre_shared_key=function(){return(a._noise_handshakestate_needs_pre_shared_key=a.asm.F).apply(null,arguments)};a._noise_handshakestate_set_pre_shared_key=function(){return(a._noise_handshakestate_set_pre_shared_key=a.asm.G).apply(null,arguments)}; a._noise_handshakestate_set_pre_shared_key_hook=function(){return(a._noise_handshakestate_set_pre_shared_key_hook=a.asm.H).apply(null,arguments)};a._noise_handshakestate_set_prologue=function(){return(a._noise_handshakestate_set_prologue=a.asm.I).apply(null,arguments)};var U=a._malloc=function(){return(U=a._malloc=a.asm.J).apply(null,arguments)};a._noise_handshakestate_needs_local_keypair=function(){return(a._noise_handshakestate_needs_local_keypair=a.asm.K).apply(null,arguments)}; a._noise_handshakestate_needs_remote_public_key=function(){return(a._noise_handshakestate_needs_remote_public_key=a.asm.L).apply(null,arguments)};a._noise_handshakestate_has_remote_public_key=function(){return(a._noise_handshakestate_has_remote_public_key=a.asm.M).apply(null,arguments)};a._noise_handshakestate_start=function(){return(a._noise_handshakestate_start=a.asm.N).apply(null,arguments)}; a._noise_symmetricstate_mix_hash=function(){return(a._noise_symmetricstate_mix_hash=a.asm.O).apply(null,arguments)};a._noise_handshakestate_fallback_to=function(){return(a._noise_handshakestate_fallback_to=a.asm.P).apply(null,arguments)};a._noise_handshakestate_get_action=function(){return(a._noise_handshakestate_get_action=a.asm.Q).apply(null,arguments)};a._noise_handshakestate_write_message=function(){return(a._noise_handshakestate_write_message=a.asm.R).apply(null,arguments)}; a._noise_symmetricstate_get_mac_length=function(){return(a._noise_symmetricstate_get_mac_length=a.asm.S).apply(null,arguments)};a._noise_symmetricstate_mix_key=function(){return(a._noise_symmetricstate_mix_key=a.asm.T).apply(null,arguments)};a._noise_symmetricstate_encrypt_and_hash=function(){return(a._noise_symmetricstate_encrypt_and_hash=a.asm.U).apply(null,arguments)};a._noise_symmetricstate_mix_key_and_hash=function(){return(a._noise_symmetricstate_mix_key_and_hash=a.asm.V).apply(null,arguments)}; a._noise_handshakestate_read_message=function(){return(a._noise_handshakestate_read_message=a.asm.W).apply(null,arguments)};a._noise_symmetricstate_decrypt_and_hash=function(){return(a._noise_symmetricstate_decrypt_and_hash=a.asm.X).apply(null,arguments)};a._noise_handshakestate_split=function(){return(a._noise_handshakestate_split=a.asm.Y).apply(null,arguments)};a._noise_symmetricstate_split=function(){return(a._noise_symmetricstate_split=a.asm.Z).apply(null,arguments)}; a._noise_handshakestate_get_handshake_hash=function(){return(a._noise_handshakestate_get_handshake_hash=a.asm._).apply(null,arguments)};var V=a._free=function(){return(V=a._free=a.asm.$).apply(null,arguments)};a._NoiseBuffer_create=function(){return(a._NoiseBuffer_create=a.asm.aa).apply(null,arguments)};a._NoiseBuffer_get_size=function(){return(a._NoiseBuffer_get_size=a.asm.ba).apply(null,arguments)};a._SymmetricState_get_ck=function(){return(a._SymmetricState_get_ck=a.asm.ca).apply(null,arguments)}; a._NoiseHandshakeState_get_hash_id=function(){return(a._NoiseHandshakeState_get_hash_id=a.asm.da).apply(null,arguments)};var W;K=function X(){W||Y();W||(K=X)}; function Y(){function b(){if(!W&&(W=!0,a.calledRun=!0,!C)){S(F);l(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var d=a.postRun.shift();G.unshift(d)}S(G)}}if(!(0<I)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)H();S(E);0<I||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);b()},1)):b())}} if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();Y(); (function(){function b(e){if(e&&e.buffer instanceof ArrayBuffer)e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);else if("string"===typeof e){for(var k=e.length,g=new Uint8Array(k+1),h=0;h<k;++h)g[h]=e.charCodeAt(h);return g}return e}function d(e,k){var g=new Number(e);g.length=k;g.get=function(h){h=h||Uint8Array;return(new h(B.buffer,g,k/h.BYTES_PER_ELEMENT)).slice()};g.dereference=function(h){h=h||4;return d(g.get(Uint32Array)[0],h)};g.set=function(h){h=b(h);if(h.length>k)throw RangeError("invalid array length"); D.set(h,g)};g.free=function(){V(g);c.splice(c.indexOf(g),1)};c.push(g);return g}function f(e,k){k=b(k);0===e&&(e=k.length);var g=d(U(e),e);void 0!==k?(g.set(k),k.length<e&&D.fill(0,g+k.length,g+e)):D.fill(0,g,g+e);return g}var c=[];a.createPointer=d;a.allocatePointer=function(e){e&&(e=Uint32Array.of(e));return f(4,e)};a.allocateBytes=f;a.freeBytes=function(){for(var e=0,k=c.length;e<k;++e)V(c[e]);c=[]}})(); return __noise_c_wasm.ready } ); })(); if (typeof exports === 'object' && typeof module === 'object') module.exports = __noise_c_wasm; else if (typeof define === 'function' && define['amd']) define([], function() { return __noise_c_wasm; }); else if (typeof exports === 'object') exports["__noise_c_wasm"] = __noise_c_wasm;