@virgilsecurity/virgil-crypto-core 0.19.2 → 0.20.0-rc.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.
@@ -1 +1 @@
1
- function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,r,_,n,s,c,a,o,i,l={exports:{}};function u(){return t||(t=1,e=l,r="undefined"!=typeof document?document.currentScript?.src:void 0,_=async function(e={}){var t,_,n,s=e,c=new Promise((e,r)=>{t=e,_=r}),a=Object.assign({},s),o="";"undefined"!=typeof document&&document.currentScript&&(o=document.currentScript.src),r&&(o=r),o=o.startsWith("blob:")?"":o.slice(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1),n=async e=>{if((e=await fetch(e,{credentials:"same-origin"})).ok)return e.arrayBuffer();throw Error(e.status+" : "+e.url)};var i=s.print||console.log.bind(console),l=s.printErr||console.error.bind(console);Object.assign(s,a),a=null;var u,f,h,d,v,p,E,m=s.wasmBinary,P=!1;function w(){var e=u.buffer;s.HEAP8=f=new Int8Array(e),s.HEAP16=d=new Int16Array(e),s.HEAPU8=h=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAP32=v=new Int32Array(e),s.HEAPU32=p=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=new Float64Array(e),s.HEAP64=E=new BigInt64Array(e),s.HEAPU64=new BigUint64Array(e)}var y,b=0,A=null;function x(e){throw s.onAbort?.(e),l(e="Aborted("+e+")"),P=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),_(e),e}async function N(e,t){try{var r=await async function(e){if(!m)try{var t=await n(e);return new Uint8Array(t)}catch{}if(e!=y||!m)throw"both async and sync fetching of the wasm failed";return new Uint8Array(m)}(e);return await WebAssembly.instantiate(r,t)}catch(e){l(`failed to asynchronously prepare wasm: ${e}`),x(e)}}var g=e=>{for(;0<e.length;)e.shift()(s)},T=[],C=[],k=()=>{var e=s.preRun.shift();C.unshift(e)},I=()=>{var e=v[+be>>2];return be+=4,e},R=(e,t)=>{for(var r=0,_=e.length-1;0<=_;_--){var n=e[_];"."===n?e.splice(_,1):".."===n?(e.splice(_,1),r++):r&&(e.splice(_,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},S=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=R(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},H=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},L=e=>{(L=e=>crypto.getRandomValues(e))(e)},F="undefined"!=typeof TextDecoder?new TextDecoder:void 0,K=(e,t=0)=>{for(var r=t+NaN,_=t;e[_]&&!(_>=r);)++_;if(16<_-t&&e.buffer&&F)return F.decode(e.subarray(t,_));for(r="";t<_;){var n=e[t++];if(128&n){var s=63&e[t++];if(192==(224&n))r+=String.fromCharCode((31&n)<<6|s);else{var c=63&e[t++];65536>(n=224==(240&n)?(15&n)<<12|s<<6|c:(7&n)<<18|s<<12|c<<6|63&e[t++])?r+=String.fromCharCode(n):(n-=65536,r+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else r+=String.fromCharCode(n)}return r},B=[],Y=[];function U(e,t){Y[e]={input:[],fc:[],mc:t},he(e,D)}var D={open(e){var t=Y[e.node.yc];if(!t)throw new Q(43);e.cc=t,e.seekable=!1},close(e){e.cc.mc.vc(e.cc)},vc(e){e.cc.mc.vc(e.cc)},read(e,t,r,_){if(!e.cc||!e.cc.mc.Ic)throw new Q(60);for(var n=0,s=0;s<_;s++){try{var c=e.cc.mc.Ic(e.cc)}catch(e){throw new Q(29)}if(void 0===c&&0===n)throw new Q(6);if(null==c)break;n++,t[r+s]=c}return n&&(e.node.qc=Date.now()),n},write(e,t,r,_){if(!e.cc||!e.cc.mc.Dc)throw new Q(60);try{for(var n=0;n<_;n++)e.cc.mc.Dc(e.cc,t[r+n])}catch(e){throw new Q(29)}return _&&(e.node.hc=e.node.ec=Date.now()),n}},M={Ic(){e:{if(!B.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e){var t=null;break e}for(var r=t=0;r<e.length;++r){var _=e.charCodeAt(r);127>=_?t++:2047>=_?t+=2:55296<=_&&57343>=_?(t+=4,++r):t+=3}var n=(t=Array(t+1)).length;if(r=0,0<n){_=r,n=r+n-1;for(var s=0;s<e.length;++s){var c=e.charCodeAt(s);if(55296<=c&&57343>=c&&(c=65536+((1023&c)<<10)|1023&e.charCodeAt(++s)),127>=c){if(r>=n)break;t[r++]=c}else{if(2047>=c){if(r+1>=n)break;t[r++]=192|c>>6}else{if(65535>=c){if(r+2>=n)break;t[r++]=224|c>>12}else{if(r+3>=n)break;t[r++]=240|c>>18,t[r++]=128|c>>12&63}t[r++]=128|c>>6&63}t[r++]=128|63&c}}t[r]=0,e=r-_}else e=0;t.length=e,B=t}t=B.shift()}return t},Dc(e,t){null===t||10===t?(i(K(e.fc)),e.fc=[]):0!=t&&e.fc.push(t)},vc(e){0<e.fc?.length&&(i(K(e.fc)),e.fc=[])},Sc:()=>({bd:25856,dd:5,ad:191,cd:35387,$c:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Tc:()=>0,Uc:()=>[24,80]},O={Dc(e,t){null===t||10===t?(l(K(e.fc)),e.fc=[]):0!=t&&e.fc.push(t)},vc(e){0<e.fc?.length&&(l(K(e.fc)),e.fc=[])}};function G(e,t){var r=e.ac?e.ac.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.ac,e.ac=new Uint8Array(t),0<e.dc&&e.ac.set(r.subarray(0,e.dc),0))}var z={jc:null,lc:()=>z.createNode(null,"/",16895,0),createNode(e,t,r,_){if(24576==(61440&r)||4096==(61440&r))throw new Q(63);return z.jc||(z.jc={dir:{node:{pc:z.bc.pc,kc:z.bc.kc,sc:z.bc.sc,wc:z.bc.wc,Nc:z.bc.Nc,Pc:z.bc.Pc,Oc:z.bc.Oc,Ec:z.bc.Ec,zc:z.bc.zc},stream:{ic:z.$b.ic}},file:{node:{pc:z.bc.pc,kc:z.bc.kc},stream:{ic:z.$b.ic,read:z.$b.read,write:z.$b.write,Fc:z.$b.Fc,Kc:z.$b.Kc,Mc:z.$b.Mc}},link:{node:{pc:z.bc.pc,kc:z.bc.kc,tc:z.bc.tc},stream:{}},Gc:{node:{pc:z.bc.pc,kc:z.bc.kc},stream:fe}}),16384==(61440&(r=se(e,t,r,_)).mode)?(r.bc=z.jc.dir.node,r.$b=z.jc.dir.stream,r.ac={}):32768==(61440&r.mode)?(r.bc=z.jc.file.node,r.$b=z.jc.file.stream,r.dc=0,r.ac=null):40960==(61440&r.mode)?(r.bc=z.jc.link.node,r.$b=z.jc.link.stream):8192==(61440&r.mode)&&(r.bc=z.jc.Gc.node,r.$b=z.jc.Gc.stream),r.qc=r.hc=r.ec=Date.now(),e&&(e.ac[t]=r,e.qc=e.hc=e.ec=r.qc),r},hd:e=>e.ac?e.ac.subarray?e.ac.subarray(0,e.dc):new Uint8Array(e.ac):new Uint8Array(0),bc:{pc(e){var t={};return t.ed=8192==(61440&e.mode)?e.id:1,t.kd=e.id,t.mode=e.mode,t.ld=1,t.uid=0,t.jd=0,t.yc=e.yc,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.dc:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.qc=new Date(e.qc),t.hc=new Date(e.hc),t.ec=new Date(e.ec),t.Qc=4096,t.Zc=Math.ceil(t.size/t.Qc),t},kc(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.dc!=t&&(0==t?(e.ac=null,e.dc=0):(r=e.ac,e.ac=new Uint8Array(t),r&&e.ac.set(r.subarray(0,Math.min(t,e.dc))),e.dc=t)))},sc(){throw z.Hc},wc:(e,t,r,_)=>z.createNode(e,t,r,_),Nc(e,t,r){try{var _=ne(t,r)}catch(e){}if(_){if(16384==(61440&e.mode))for(var n in _.ac)throw new Q(55);if(n=_e(_.parent.id,_.name),W[n]===_)W[n]=_.rc;else for(n=W[n];n;){if(n.rc===_){n.rc=_.rc;break}n=n.rc}}delete e.parent.ac[e.name],t.ac[r]=e,e.name=r,t.ec=t.hc=e.parent.ec=e.parent.hc=Date.now()},Pc(e,t){delete e.ac[t],e.ec=e.hc=Date.now()},Oc(e,t){var r,_=ne(e,t);for(r in _.ac)throw new Q(55);delete e.ac[t],e.ec=e.hc=Date.now()},Ec:e=>[".","..",...Object.keys(e.ac)],zc:(e,t,r)=>((e=z.createNode(e,t,41471,0)).link=r,e),tc(e){if(40960!=(61440&e.mode))throw new Q(28);return e.link}},$b:{read(e,t,r,_,n){var s=e.node.ac;if(n>=e.node.dc)return 0;if(8<(e=Math.min(e.node.dc-n,_))&&s.subarray)t.set(s.subarray(n,n+e),r);else for(_=0;_<e;_++)t[r+_]=s[n+_];return e},write(e,t,r,_,n,s){if(t.buffer===f.buffer&&(s=!1),!_)return 0;if((e=e.node).hc=e.ec=Date.now(),t.subarray&&(!e.ac||e.ac.subarray)){if(s)return e.ac=t.subarray(r,r+_),e.dc=_;if(0===e.dc&&0===n)return e.ac=t.slice(r,r+_),e.dc=_;if(n+_<=e.dc)return e.ac.set(t.subarray(r,r+_),n),_}if(G(e,n+_),e.ac.subarray&&t.subarray)e.ac.set(t.subarray(r,r+_),n);else for(s=0;s<_;s++)e.ac[n+s]=t[r+s];return e.dc=Math.max(e.dc,n+_),_},ic(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.dc),0>t)throw new Q(28);return t},Fc(e,t,r){G(e.node,t+r),e.node.dc=Math.max(e.node.dc,t+r)},Kc(e,t,r,_,n){if(32768!=(61440&e.node.mode))throw new Q(43);if(e=e.node.ac,2&n||!e||e.buffer!==f.buffer){if(_=!0,x(),!(n=void 0))throw new Q(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),f.set(e,n))}else _=!1,n=e.byteOffset;return{nd:n,Yc:_}},Mc:(e,t,r,_)=>(z.$b.write(e,t,0,_,r,!1),0)}},$=null,q={},V=[],j=1,W=null,Z=!1,X=!0,J={},Q=class{name="ErrnoError";constructor(e){this.nc=e}},ee=class{uc={};node=null;get flags(){return this.uc.flags}set flags(e){this.uc.flags=e}get position(){return this.uc.position}set position(e){this.uc.position=e}},te=class{bc={};$b={};xc=null;constructor(e,t,r,_){e||=this,this.parent=e,this.lc=e.lc,this.id=j++,this.name=t,this.mode=r,this.yc=_,this.qc=this.hc=this.ec=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function re(e,t={}){if(!e)throw new Q(44);t.Bc??(t.Bc=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var _=$,n="/",s=0;s<e.length;s++){var c=s===e.length-1;if(c&&t.parent)break;if("."!==e[s])if(".."===e[s])n=H(n),_=_.parent;else{n=S(n+"/"+e[s]);try{_=ne(_,e[s])}catch(e){if(44===e?.nc&&c&&t.Wc)return{path:n};throw e}if(!_.xc||c&&!t.Bc||(_=_.xc.root),40960==(61440&_.mode)&&(!c||t.Ac)){if(!_.bc.tc)throw new Q(52);"/"===(_=_.bc.tc(_)).charAt(0)||(_=H(n)+"/"+_),e=_+"/"+e.slice(s+1).join("/");continue e}}}return{path:n,node:_}}throw new Q(32)}function _e(e,t){for(var r=0,_=0;_<t.length;_++)r=(r<<5)-r+t.charCodeAt(_)|0;return(e+r>>>0)%W.length}function ne(e,t){var r=16384==(61440&e.mode)?(r=ae(e,"x"))?r:e.bc.sc?0:2:54;if(r)throw new Q(r);for(r=W[_e(e.id,t)];r;r=r.rc){var _=r.name;if(r.parent.id===e.id&&_===t)return r}return e.bc.sc(e,t)}function se(e,t,r,_){return t=_e((e=new te(e,t,r,_)).parent.id,e.name),e.rc=W[t],W[t]=e}function ce(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function ae(e,t){return X?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function oe(e,t){if(16384!=(61440&e.mode))return 54;try{return ne(e,t),20}catch(e){}return ae(e,"wx")}function ie(e){if(!(e=V[e]))throw new Q(8);return e}function le(e,t=-1){if(e=Object.assign(new ee,e),-1==t)e:{for(t=0;4096>=t;t++)if(!V[t])break e;throw new Q(33)}return e.oc=t,V[t]=e}function ue(e,t){var r=void 0,_=r?null:e;if(r??=e.bc.kc,!r)throw new Q(63);r(_,t)}var fe={open(e){e.$b=q[e.node.yc].$b,e.$b.open?.(e)},ic(){throw new Q(70)}};function he(e,t){q[e]={$b:t}}function de(e,t){var r="/"===t;if(r&&$)throw new Q(10);if(!r&&t){var _=re(t,{Bc:!1});if(t=_.path,(_=_.node).xc)throw new Q(10);if(16384!=(61440&_.mode))throw new Q(54)}t={type:e,md:{},Lc:t,Vc:[]},(e=e.lc(t)).lc=t,t.root=e,r?$=e:_&&(_.xc=t,_.lc&&_.lc.Vc.push(t))}function ve(e,t,r){var _=re(e,{parent:!0}).node;if(!(e=e&&e.match(/([^\/]+|\/)\/*$/)[1]))throw new Q(28);if("."===e||".."===e)throw new Q(20);var n=oe(_,e);if(n)throw new Q(n);if(!_.bc.wc)throw new Q(63);return _.bc.wc(_,e,t,r)}function pe(e){return ve(e,16895,0)}function Ee(e,t,r){void 0===r&&(r=t,t=438),ve(e,8192|t,r)}function me(e,t){if(!((...e)=>{for(var t="",r=!1,_=e.length-1;-1<=_&&!r;_--){if("string"!=typeof(r=0<=_?e[_]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return(r?"/":"")+(t=R(t.split("/").filter(e=>!!e),!r).join("/"))||"."})(e))throw new Q(44);var r=re(t,{parent:!0}).node;if(!r)throw new Q(44);var _=oe(r,t=t&&t.match(/([^\/]+|\/)\/*$/)[1]);if(_)throw new Q(_);if(!r.bc.zc)throw new Q(63);r.bc.zc(r,t,e)}function Pe(e,t,r=438){if(""===e)throw new Q(44);if("string"==typeof t){var _={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===_)throw Error(`Unknown file open mode: ${t}`);t=_}if(r=64&t?4095&r|32768:0,"object"==typeof e)_=e;else{var n=e.endsWith("/");_=(e=re(e,{Ac:!(131072&t),Wc:!0})).node,e=e.path}var c=!1;if(64&t)if(_){if(128&t)throw new Q(20)}else{if(n)throw new Q(31);_=ve(e,511|r,0),c=!0}if(!_)throw new Q(44);if(8192==(61440&_.mode)&&(t&=-513),65536&t&&16384!=(61440&_.mode))throw new Q(54);if(!c&&(n=_?40960==(61440&_.mode)?32:16384==(61440&_.mode)&&("r"!==ce(t)||576&t)?31:ae(_,ce(t)):44))throw new Q(n);if(512&t&&!c){if(16384==(61440&(n="string"==typeof(n=_)?re(n,{Ac:!0}).node:n).mode))throw new Q(31);if(32768!=(61440&n.mode))throw new Q(28);var a=ae(n,"w");if(a)throw new Q(a);ue(n,{size:0,timestamp:Date.now()})}t&=-131713;e:for(n=_;;){if(n===n.parent){n=n.lc.Lc;var o=o?"/"!==n[n.length-1]?`${n}/${o}`:n+o:n;break e}o=o?`${n.name}/${o}`:n.name,n=n.parent}return(o=le({node:_,path:o,flags:t,seekable:!0,position:0,$b:_.$b,Xc:[],error:!1})).$b.open&&o.$b.open(o),c&&(r&=511,ue(_="string"==typeof _?re(_,{Ac:!0}).node:_,{mode:4095&r|-4096&_.mode,ec:Date.now(),fd:void 0})),!s.logReadFiles||1&t||e in J||(J[e]=1),o}function we(e,t,r){if(null===e.oc)throw new Q(8);if(!e.seekable||!e.$b.ic)throw new Q(70);if(0!=r&&1!=r&&2!=r)throw new Q(28);e.position=e.$b.ic(e,t,r),e.Xc=[]}function ye(e,t,r){e=S("/dev/"+e);var _=((e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r})(!!t,!!r);ye.Jc??(ye.Jc=64);var n=ye.Jc++<<8;he(n,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,_,n){for(var s=0,c=0;c<n;c++){try{var a=t()}catch(e){throw new Q(29)}if(void 0===a&&0===s)throw new Q(6);if(null==a)break;s++,r[_+c]=a}return s&&(e.node.qc=Date.now()),s},write(e,t,_,n){for(var s=0;s<n;s++)try{r(t[_+s])}catch(e){throw new Q(29)}return n&&(e.node.hc=e.node.ec=Date.now()),s}}),Ee(e,_,n)}var be=void 0;W=Array(4096),de(z,"/"),pe("/tmp"),pe("/home"),pe("/home/web_user"),function(){pe("/dev"),he(259,{read:()=>0,write:(e,t,r,_)=>_,ic:()=>0}),Ee("/dev/null",259),U(1280,M),U(1536,O),Ee("/dev/tty",1280),Ee("/dev/tty1",1536);var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(L(e),t=e.byteLength),e[--t]);ye("random",r),ye("urandom",r),pe("/dev/shm"),pe("/dev/shm/tmp")}(),function(){pe("/proc");var e=pe("/proc/self");pe("/proc/self/fd"),de({lc(){var t=se(e,"fd",16895,73);return t.$b={ic:z.$b.ic},t.bc={sc(e,t){var r=ie(e=+t);return(e={parent:null,lc:{Lc:"fake"},bc:{tc:()=>r.path},id:e+1}).parent=e},Ec:()=>Array.from(V.entries()).filter(([,e])=>e).map(([e])=>e.toString())},t}},"/proc/self/fd")}(),z.Hc=new Q(44),z.Hc.stack="<generic error, no stack>";var Ae,xe={b:function(e,t,r){be=r;try{var _=ie(e);switch(t){case 0:var n=I();if(0>n)break;for(;V[n];)n++;return function(e,t=-1){return e=le(e,t),e.$b?.gd?.(e),e}(_,n).oc;case 1:case 2:case 13:case 14:return 0;case 3:return _.flags;case 4:return n=I(),_.flags|=n,0;case 12:return n=I(),d[n+0>>1]=2,0}return-28}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},f:function(e,t,r){be=r;try{var _=ie(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return _.cc?0:-59;case 21505:if(!_.cc)return-59;if(_.cc.mc.Sc){e=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var n=I();v[n>>2]=25856,v[n+4>>2]=5,v[n+8>>2]=191,v[n+12>>2]=35387;for(var s=0;32>s;s++)f[n+s+17]=e[s]||0}return 0;case 21506:case 21507:case 21508:if(!_.cc)return-59;if(_.cc.mc.Tc)for(n=I(),e=[],s=0;32>s;s++)e.push(f[n+s+17]);return 0;case 21519:return _.cc?(n=I(),v[n>>2]=0):-59;case 21520:return _.cc?-28:-59;case 21531:if(n=I(),!_.$b.Rc)throw new Q(59);return _.$b.Rc(_,t,n);case 21523:return _.cc?(_.cc.mc.Uc&&(s=[24,80],n=I(),d[n>>1]=s[0],d[n+2>>1]=s[1]),0):-59;default:return-28}}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},g:function(e,t,r,_){be=_;try{var n=t=t?K(h,t):"";if("/"===n.charAt(0))t=n;else{var s=-100===e?"/":ie(e).path;if(0==n.length)throw new Q(44);t=s+"/"+n}return Pe(t,r,_?I():0).oc}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},i:()=>x(""),h:e=>{var t=h.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var _=t*(1+.2/r);_=Math.min(_,e+100663296);e:{_=(Math.min(2147483648,65536*Math.ceil(Math.max(e,_)/65536))-u.buffer.byteLength+65535)/65536|0;try{u.grow(_),w();var n=1;break e}catch(e){}n=void 0}if(n)return!0}return!1},a:function(e){try{var t=ie(e);if(null===t.oc)throw new Q(8);t.Cc&&(t.Cc=null);try{t.$b.close&&t.$b.close(t)}catch(e){throw e}finally{V[t.oc]=null}return t.oc=null,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},d:function(e,t,r,_){try{e:{var n=ie(e);e=t;for(var s,c=t=0;c<r;c++){var a=p[e>>2],o=p[e+4>>2];e+=8;var i=n,l=s,u=f;if(0>o||0>l)throw new Q(28);if(null===i.oc)throw new Q(8);if(1==(2097155&i.flags))throw new Q(8);if(16384==(61440&i.node.mode))throw new Q(31);if(!i.$b.read)throw new Q(28);var h=void 0!==l;if(h){if(!i.seekable)throw new Q(70)}else l=i.position;var d=i.$b.read(i,u,a,o,l);h||(i.position+=d);var v=d;if(0>v){var E=-1;break e}if(t+=v,v<o)break;void 0!==s&&(s+=v)}E=t}return p[_>>2]=E,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},e:function(e,t,r,_){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var n=ie(e);return we(n,t,r),E[_>>3]=BigInt(n.position),n.Cc&&0===t&&0===r&&(n.Cc=null),0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},c:function(e,t,r,_){try{e:{var n=ie(e);e=t;for(var s,c=t=0;c<r;c++){var a=p[e>>2],o=p[e+4>>2];e+=8;var i=n,l=a,u=o,h=s,d=f;if(0>u||0>h)throw new Q(28);if(null===i.oc)throw new Q(8);if(!(2097155&i.flags))throw new Q(8);if(16384==(61440&i.node.mode))throw new Q(31);if(!i.$b.write)throw new Q(28);i.seekable&&1024&i.flags&&we(i,0,2);var v=void 0!==h;if(v){if(!i.seekable)throw new Q(70)}else h=i.position;var E=i.$b.write(i,d,l,u,h,void 0);v||(i.position+=E);var m=E;if(0>m){var P=-1;break e}if(t+=m,m<o)break;void 0!==s&&(s+=m)}P=t}return p[_>>2]=P,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}}};if(async function(){function e(e){return Ae=e.exports,u=Ae.j,w(),b--,s.monitorRunDependencies?.(b),0==b&&A&&(e=A,A=null,e()),Ae}b++,s.monitorRunDependencies?.(b);var t={a:xe};if(s.instantiateWasm)return new Promise(r=>{s.instantiateWasm(t,(t,_)=>{e(t),r(t.exports)})});y??=s.locateFile?s.locateFile("libphe.browser.wasm",o):o+"libphe.browser.wasm";try{var r=await async function(e){var t=y;if(!m&&"function"==typeof WebAssembly.instantiateStreaming)try{var r=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(r,e)}catch(e){l(`wasm streaming compile failed: ${e}`),l("falling back to ArrayBuffer instantiation")}return N(t,e)}(t);return e(r.instance)}catch(e){return _(e),Promise.reject(e)}}(),s._vsce_error_ctx_size=()=>(s._vsce_error_ctx_size=Ae.l)(),s._vsce_error_reset=e=>(s._vsce_error_reset=Ae.m)(e),s._vsce_error_status=e=>(s._vsce_error_status=Ae.n)(e),s._vsce_phe_server_release_random=e=>(s._vsce_phe_server_release_random=Ae.o)(e),s._vsce_phe_server_release_operation_random=e=>(s._vsce_phe_server_release_operation_random=Ae.p)(e),s._vsce_phe_server_new=()=>(s._vsce_phe_server_new=Ae.q)(),s._vsce_phe_server_delete=e=>(s._vsce_phe_server_delete=Ae.r)(e),s._vsce_phe_server_shallow_copy=e=>(s._vsce_phe_server_shallow_copy=Ae.s)(e),s._vsce_phe_server_use_random=(e,t)=>(s._vsce_phe_server_use_random=Ae.t)(e,t),s._vsce_phe_server_use_operation_random=(e,t)=>(s._vsce_phe_server_use_operation_random=Ae.u)(e,t),s._vsce_phe_server_setup_defaults=e=>(s._vsce_phe_server_setup_defaults=Ae.v)(e),s._vsce_phe_server_generate_server_key_pair=(e,t,r)=>(s._vsce_phe_server_generate_server_key_pair=Ae.w)(e,t,r),s._vsce_phe_server_enrollment_response_len=e=>(s._vsce_phe_server_enrollment_response_len=Ae.x)(e),s._vsce_phe_server_get_enrollment=(e,t,r,_)=>(s._vsce_phe_server_get_enrollment=Ae.y)(e,t,r,_),s._vsce_phe_server_verify_password_response_len=e=>(s._vsce_phe_server_verify_password_response_len=Ae.z)(e),s._vsce_phe_server_verify_password=(e,t,r,_,n)=>(s._vsce_phe_server_verify_password=Ae.A)(e,t,r,_,n),s._vsce_phe_server_update_token_len=e=>(s._vsce_phe_server_update_token_len=Ae.B)(e),s._vsce_phe_server_rotate_keys=(e,t,r,_,n)=>(s._vsce_phe_server_rotate_keys=Ae.C)(e,t,r,_,n),s._vsce_phe_client_release_random=e=>(s._vsce_phe_client_release_random=Ae.D)(e),s._vsce_phe_client_release_operation_random=e=>(s._vsce_phe_client_release_operation_random=Ae.E)(e),s._vsce_phe_client_new=()=>(s._vsce_phe_client_new=Ae.F)(),s._vsce_phe_client_delete=e=>(s._vsce_phe_client_delete=Ae.G)(e),s._vsce_phe_client_shallow_copy=e=>(s._vsce_phe_client_shallow_copy=Ae.H)(e),s._vsce_phe_client_use_random=(e,t)=>(s._vsce_phe_client_use_random=Ae.I)(e,t),s._vsce_phe_client_use_operation_random=(e,t)=>(s._vsce_phe_client_use_operation_random=Ae.J)(e,t),s._vsce_phe_client_setup_defaults=e=>(s._vsce_phe_client_setup_defaults=Ae.K)(e),s._vsce_phe_client_set_keys=(e,t,r)=>(s._vsce_phe_client_set_keys=Ae.L)(e,t,r),s._vsce_phe_client_generate_client_private_key=(e,t)=>(s._vsce_phe_client_generate_client_private_key=Ae.M)(e,t),s._vsce_phe_client_enrollment_record_len=e=>(s._vsce_phe_client_enrollment_record_len=Ae.N)(e),s._vsce_phe_client_enroll_account=(e,t,r,_,n)=>(s._vsce_phe_client_enroll_account=Ae.O)(e,t,r,_,n),s._vsce_phe_client_verify_password_request_len=e=>(s._vsce_phe_client_verify_password_request_len=Ae.P)(e),s._vsce_phe_client_create_verify_password_request=(e,t,r,_)=>(s._vsce_phe_client_create_verify_password_request=Ae.Q)(e,t,r,_),s._vsce_phe_client_check_response_and_decrypt=(e,t,r,_,n)=>(s._vsce_phe_client_check_response_and_decrypt=Ae.R)(e,t,r,_,n),s._vsce_phe_client_rotate_keys=(e,t,r,_)=>(s._vsce_phe_client_rotate_keys=Ae.S)(e,t,r,_),s._vsce_phe_client_update_enrollment_record=(e,t,r,_)=>(s._vsce_phe_client_update_enrollment_record=Ae.T)(e,t,r,_),s._vsce_phe_cipher_release_random=e=>(s._vsce_phe_cipher_release_random=Ae.U)(e),s._vsce_phe_cipher_new=()=>(s._vsce_phe_cipher_new=Ae.V)(),s._vsce_phe_cipher_delete=e=>(s._vsce_phe_cipher_delete=Ae.W)(e),s._vsce_phe_cipher_shallow_copy=e=>(s._vsce_phe_cipher_shallow_copy=Ae.X)(e),s._vsce_phe_cipher_use_random=(e,t)=>(s._vsce_phe_cipher_use_random=Ae.Y)(e,t),s._vsce_phe_cipher_setup_defaults=e=>(s._vsce_phe_cipher_setup_defaults=Ae.Z)(e),s._vsce_phe_cipher_encrypt_len=(e,t)=>(s._vsce_phe_cipher_encrypt_len=Ae._)(e,t),s._vsce_phe_cipher_decrypt_len=(e,t)=>(s._vsce_phe_cipher_decrypt_len=Ae.$)(e,t),s._vsce_phe_cipher_encrypt=(e,t,r,_)=>(s._vsce_phe_cipher_encrypt=Ae.aa)(e,t,r,_),s._vsce_phe_cipher_auth_encrypt=(e,t,r,_,n)=>(s._vsce_phe_cipher_auth_encrypt=Ae.ba)(e,t,r,_,n),s._vsce_phe_cipher_decrypt=(e,t,r,_)=>(s._vsce_phe_cipher_decrypt=Ae.ca)(e,t,r,_),s._vsce_phe_cipher_auth_decrypt=(e,t,r,_,n)=>(s._vsce_phe_cipher_auth_decrypt=Ae.da)(e,t,r,_,n),s._vsce_uokms_client_release_random=e=>(s._vsce_uokms_client_release_random=Ae.ea)(e),s._vsce_uokms_client_release_operation_random=e=>(s._vsce_uokms_client_release_operation_random=Ae.fa)(e),s._vsce_uokms_client_new=()=>(s._vsce_uokms_client_new=Ae.ga)(),s._vsce_uokms_client_delete=e=>(s._vsce_uokms_client_delete=Ae.ha)(e),s._vsce_uokms_client_shallow_copy=e=>(s._vsce_uokms_client_shallow_copy=Ae.ia)(e),s._vsce_uokms_client_use_random=(e,t)=>(s._vsce_uokms_client_use_random=Ae.ja)(e,t),s._vsce_uokms_client_use_operation_random=(e,t)=>(s._vsce_uokms_client_use_operation_random=Ae.ka)(e,t),s._vsce_uokms_client_setup_defaults=e=>(s._vsce_uokms_client_setup_defaults=Ae.la)(e),s._vsce_uokms_client_set_keys_oneparty=(e,t)=>(s._vsce_uokms_client_set_keys_oneparty=Ae.ma)(e,t),s._vsce_uokms_client_set_keys=(e,t,r)=>(s._vsce_uokms_client_set_keys=Ae.na)(e,t,r),s._vsce_uokms_client_generate_client_private_key=(e,t)=>(s._vsce_uokms_client_generate_client_private_key=Ae.oa)(e,t),s._vsce_uokms_client_generate_encrypt_wrap=(e,t,r,_)=>(s._vsce_uokms_client_generate_encrypt_wrap=Ae.pa)(e,t,r,_),s._vsce_uokms_client_decrypt_oneparty=(e,t,r,_)=>(s._vsce_uokms_client_decrypt_oneparty=Ae.qa)(e,t,r,_),s._vsce_uokms_client_generate_decrypt_request=(e,t,r,_)=>(s._vsce_uokms_client_generate_decrypt_request=Ae.ra)(e,t,r,_),s._vsce_uokms_client_process_decrypt_response=(e,t,r,_,n,c,a)=>(s._vsce_uokms_client_process_decrypt_response=Ae.sa)(e,t,r,_,n,c,a),s._vsce_uokms_client_rotate_keys_oneparty=(e,t,r)=>(s._vsce_uokms_client_rotate_keys_oneparty=Ae.ta)(e,t,r),s._vsce_uokms_client_rotate_keys=(e,t,r,_)=>(s._vsce_uokms_client_rotate_keys=Ae.ua)(e,t,r,_),s._vsce_uokms_client_generate_update_token_oneparty=(e,t)=>(s._vsce_uokms_client_generate_update_token_oneparty=Ae.va)(e,t),s._vsce_uokms_server_release_random=e=>(s._vsce_uokms_server_release_random=Ae.wa)(e),s._vsce_uokms_server_release_operation_random=e=>(s._vsce_uokms_server_release_operation_random=Ae.xa)(e),s._vsce_uokms_server_new=()=>(s._vsce_uokms_server_new=Ae.ya)(),s._vsce_uokms_server_delete=e=>(s._vsce_uokms_server_delete=Ae.za)(e),s._vsce_uokms_server_shallow_copy=e=>(s._vsce_uokms_server_shallow_copy=Ae.Aa)(e),s._vsce_uokms_server_use_random=(e,t)=>(s._vsce_uokms_server_use_random=Ae.Ba)(e,t),s._vsce_uokms_server_use_operation_random=(e,t)=>(s._vsce_uokms_server_use_operation_random=Ae.Ca)(e,t),s._vsce_uokms_server_setup_defaults=e=>(s._vsce_uokms_server_setup_defaults=Ae.Da)(e),s._vsce_uokms_server_generate_server_key_pair=(e,t,r)=>(s._vsce_uokms_server_generate_server_key_pair=Ae.Ea)(e,t,r),s._vsce_uokms_server_decrypt_response_len=e=>(s._vsce_uokms_server_decrypt_response_len=Ae.Fa)(e),s._vsce_uokms_server_process_decrypt_request=(e,t,r,_)=>(s._vsce_uokms_server_process_decrypt_request=Ae.Ga)(e,t,r,_),s._vsce_uokms_server_rotate_keys=(e,t,r,_,n)=>(s._vsce_uokms_server_rotate_keys=Ae.Ha)(e,t,r,_,n),s._vsce_uokms_wrap_rotation_release_operation_random=e=>(s._vsce_uokms_wrap_rotation_release_operation_random=Ae.Ia)(e),s._vsce_uokms_wrap_rotation_new=()=>(s._vsce_uokms_wrap_rotation_new=Ae.Ja)(),s._vsce_uokms_wrap_rotation_delete=e=>(s._vsce_uokms_wrap_rotation_delete=Ae.Ka)(e),s._vsce_uokms_wrap_rotation_shallow_copy=e=>(s._vsce_uokms_wrap_rotation_shallow_copy=Ae.La)(e),s._vsce_uokms_wrap_rotation_use_operation_random=(e,t)=>(s._vsce_uokms_wrap_rotation_use_operation_random=Ae.Ma)(e,t),s._vsce_uokms_wrap_rotation_setup_defaults=e=>(s._vsce_uokms_wrap_rotation_setup_defaults=Ae.Na)(e),s._vsce_uokms_wrap_rotation_set_update_token=(e,t)=>(s._vsce_uokms_wrap_rotation_set_update_token=Ae.Oa)(e,t),s._vsce_uokms_wrap_rotation_update_wrap=(e,t,r)=>(s._vsce_uokms_wrap_rotation_update_wrap=Ae.Pa)(e,t,r),s._vscf_impl_api=(e,t)=>(s._vscf_impl_api=Ae.Qa)(e,t),s._vscf_impl_tag=e=>(s._vscf_impl_tag=Ae.Ra)(e),s._vscf_impl_shallow_copy=e=>(s._vscf_impl_shallow_copy=Ae.Sa)(e),s._vscf_error_ctx_size=()=>(s._vscf_error_ctx_size=Ae.Ta)(),s._vscf_error_reset=e=>(s._vscf_error_reset=Ae.Ua)(e),s._vscf_error_status=e=>(s._vscf_error_status=Ae.Va)(e),s._vscf_sha512_alg_id=e=>(s._vscf_sha512_alg_id=Ae.Wa)(e),s._vscf_sha512_produce_alg_info=e=>(s._vscf_sha512_produce_alg_info=Ae.Xa)(e),s._vscf_sha512_restore_alg_info=(e,t)=>(s._vscf_sha512_restore_alg_info=Ae.Ya)(e,t),s._vscf_sha512_hash=(e,t)=>(s._vscf_sha512_hash=Ae.Za)(e,t),s._vscf_sha512_finish=(e,t)=>(s._vscf_sha512_finish=Ae._a)(e,t),s._vscf_sha512_start=e=>(s._vscf_sha512_start=Ae.$a)(e),s._vscf_sha512_update=(e,t)=>(s._vscf_sha512_update=Ae.ab)(e,t),s._vscf_sha512_new=()=>(s._vscf_sha512_new=Ae.bb)(),s._vscf_sha512_delete=e=>(s._vscf_sha512_delete=Ae.cb)(e),s._vscf_sha512_shallow_copy=e=>(s._vscf_sha512_shallow_copy=Ae.db)(e),s._vscf_ctr_drbg_setup_defaults=e=>(s._vscf_ctr_drbg_setup_defaults=Ae.eb)(e),s._vscf_ctr_drbg_enable_prediction_resistance=e=>(s._vscf_ctr_drbg_enable_prediction_resistance=Ae.fb)(e),s._vscf_ctr_drbg_set_reseed_interval=(e,t)=>(s._vscf_ctr_drbg_set_reseed_interval=Ae.gb)(e,t),s._vscf_ctr_drbg_set_entropy_len=(e,t)=>(s._vscf_ctr_drbg_set_entropy_len=Ae.hb)(e,t),s._vscf_ctr_drbg_random=(e,t,r)=>(s._vscf_ctr_drbg_random=Ae.ib)(e,t,r),s._vscf_ctr_drbg_reseed=e=>(s._vscf_ctr_drbg_reseed=Ae.jb)(e),s._vscf_ctr_drbg_use_entropy_source=(e,t)=>(s._vscf_ctr_drbg_use_entropy_source=Ae.kb)(e,t),s._vscf_ctr_drbg_release_entropy_source=e=>(s._vscf_ctr_drbg_release_entropy_source=Ae.lb)(e),s._vscf_ctr_drbg_new=()=>(s._vscf_ctr_drbg_new=Ae.mb)(),s._vscf_ctr_drbg_delete=e=>(s._vscf_ctr_drbg_delete=Ae.nb)(e),s._vscf_ctr_drbg_shallow_copy=e=>(s._vscf_ctr_drbg_shallow_copy=Ae.ob)(e),s._vscf_hmac_alg_id=e=>(s._vscf_hmac_alg_id=Ae.pb)(e),s._vscf_hmac_produce_alg_info=e=>(s._vscf_hmac_produce_alg_info=Ae.qb)(e),s._vscf_hmac_restore_alg_info=(e,t)=>(s._vscf_hmac_restore_alg_info=Ae.rb)(e,t),s._vscf_hmac_digest_len=e=>(s._vscf_hmac_digest_len=Ae.sb)(e),s._vscf_hmac_mac=(e,t,r,_)=>(s._vscf_hmac_mac=Ae.tb)(e,t,r,_),s._vscf_hmac_start=(e,t)=>(s._vscf_hmac_start=Ae.ub)(e,t),s._vscf_hmac_finish=(e,t)=>(s._vscf_hmac_finish=Ae.vb)(e,t),s._vscf_hmac_update=(e,t)=>(s._vscf_hmac_update=Ae.wb)(e,t),s._vscf_hmac_reset=e=>(s._vscf_hmac_reset=Ae.xb)(e),s._vscf_hmac_use_hash=(e,t)=>(s._vscf_hmac_use_hash=Ae.yb)(e,t),s._vscf_hmac_release_hash=e=>(s._vscf_hmac_release_hash=Ae.zb)(e),s._vscf_hmac_new=()=>(s._vscf_hmac_new=Ae.Ab)(),s._vscf_hmac_delete=e=>(s._vscf_hmac_delete=Ae.Bb)(e),s._vscf_hmac_shallow_copy=e=>(s._vscf_hmac_shallow_copy=Ae.Cb)(e),s._vscf_hkdf_alg_id=e=>(s._vscf_hkdf_alg_id=Ae.Db)(e),s._vscf_hkdf_produce_alg_info=e=>(s._vscf_hkdf_produce_alg_info=Ae.Eb)(e),s._vscf_hkdf_restore_alg_info=(e,t)=>(s._vscf_hkdf_restore_alg_info=Ae.Fb)(e,t),s._vscf_hkdf_derive=(e,t,r,_)=>(s._vscf_hkdf_derive=Ae.Gb)(e,t,r,_),s._vscf_hkdf_reset=(e,t,r)=>(s._vscf_hkdf_reset=Ae.Hb)(e,t,r),s._vscf_hkdf_set_info=(e,t)=>(s._vscf_hkdf_set_info=Ae.Ib)(e,t),s._vscf_hkdf_use_hash=(e,t)=>(s._vscf_hkdf_use_hash=Ae.Jb)(e,t),s._vscf_hkdf_release_hash=e=>(s._vscf_hkdf_release_hash=Ae.Kb)(e),s._vscf_hkdf_new=()=>(s._vscf_hkdf_new=Ae.Lb)(),s._vscf_hkdf_delete=e=>(s._vscf_hkdf_delete=Ae.Mb)(e),s._vscf_hkdf_shallow_copy=e=>(s._vscf_hkdf_shallow_copy=Ae.Nb)(e),s._vsc_data_ctx_size=()=>(s._vsc_data_ctx_size=Ae.Ob)(),s._vsc_data=(e,t,r)=>(s._vsc_data=Ae.Pb)(e,t,r),s._vsc_data_len=e=>(s._vsc_data_len=Ae.Qb)(e),s._vsc_data_bytes=e=>(s._vsc_data_bytes=Ae.Rb)(e),s._vsc_buffer_new=()=>(s._vsc_buffer_new=Ae.Sb)(),s._vsc_buffer_new_with_capacity=e=>(s._vsc_buffer_new_with_capacity=Ae.Tb)(e),s._vsc_buffer_delete=e=>(s._vsc_buffer_delete=Ae.Ub)(e),s._vsc_buffer_data=(e,t)=>(s._vsc_buffer_data=Ae.Vb)(e,t),s._vsc_buffer_make_secure=e=>(s._vsc_buffer_make_secure=Ae.Wb)(e),s._vsc_buffer_bytes=e=>(s._vsc_buffer_bytes=Ae.Xb)(e),s._vsc_buffer_len=e=>(s._vsc_buffer_len=Ae.Yb)(e),s._malloc=e=>(s._malloc=Ae.Zb)(e),s._free=e=>(s._free=Ae._b)(e),s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.pop()();return function e(){function r(){if(s.calledRun=!0,!P){var e,r;if(s.noFSInit||Z||(Z=!0,_??=s.stdin,e??=s.stdout,r??=s.stderr,_?ye("stdin",_):me("/dev/tty","/dev/stdin"),e?ye("stdout",null,e):me("/dev/tty","/dev/stdout"),r?ye("stderr",null,r):me("/dev/tty1","/dev/stderr"),Pe("/dev/stdin",0),Pe("/dev/stdout",1),Pe("/dev/stderr",1)),Ae.k(),X=!1,t(s),s.onRuntimeInitialized?.(),s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;){var _=s.postRun.shift();T.unshift(_)}g(T)}}if(0<b)A=e;else{if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)k();g(C),0<b?A=e:s.setStatus?(s.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>s.setStatus(""),1),r()},1)):r()}}(),c},e.exports=_,e.exports.default=_),l.exports;var e,r,_}var f,h,d,v,p,E,m,P,w,y,b,A={};function x(){if(f)return A;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return f=1,A.ensureNumber=e,A.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},A.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},A.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},A.ensureClass=function(e,r,_){if(!(r instanceof _))throw new TypeError(`'${e}' is not an instance of the class ${_.name}`);t(e,r.ctxPtr)},A.ensureNotNull=t,A.ensureImplementInterface=function(e,r,_,n,s){if(t(e,r.ctxPtr),!s.isImplemented(r.ctxPtr,n))throw new TypeError(`'${e}' does not implement interface '${_}'`)},A}var N,g,T,C,k,I,R,S,H,L,F,K,B,Y,U,D,M,O={};function G(){if(N)return O;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return N=1,O.ensureNumber=e,O.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},O.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},O.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},O.ensureClass=function(e,r,_){if(!(r instanceof _))throw new TypeError(`'${e}' is not an instance of the class ${_.name}`);t(e,r.ctxPtr)},O.ensureNotNull=t,O.ensureImplementInterface=function(e,r,_,n,s){if(t(e,r.ctxPtr),!s.isImplemented(r.ctxPtr,n))throw new TypeError(`'${e}' does not implement interface '${_}'`)},O}var z=function(){if(M)return D;M=1;const e=u(),t=_?r:(_=1,r=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="FoundationError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("This error should not be returned if assertions is enabled.");if(-2==e)throw new r("Can be used to define that not all context prerequisites are satisfied. Note, this error should not be returned if assertions is enabled.");if(-3==e)throw new r("Define that error code from one of third-party module was not handled. Note, this error should not be returned if assertions is enabled.");if(-101==e)throw new r("Buffer capacity is not enough to hold result.");if(-200==e)throw new r("Unsupported algorithm.");if(-201==e)throw new r("Authentication failed during decryption.");if(-202==e)throw new r("Attempt to read data out of buffer bounds.");if(-203==e)throw new r("ASN.1 encoded data is corrupted.");if(-204==e)throw new r("Attempt to read ASN.1 type that is bigger then requested C type.");if(-205==e)throw new r("ASN.1 representation of PKCS#1 public key is corrupted.");if(-206==e)throw new r("ASN.1 representation of PKCS#1 private key is corrupted.");if(-207==e)throw new r("ASN.1 representation of PKCS#8 public key is corrupted.");if(-208==e)throw new r("ASN.1 representation of PKCS#8 private key is corrupted.");if(-209==e)throw new r("Encrypted data is corrupted.");if(-210==e)throw new r("Underlying random operation returns error.");if(-211==e)throw new r("Generation of the private or secret key failed.");if(-212==e)throw new r("One of the entropy sources failed.");if(-213==e)throw new r("Requested data to be generated is too big.");if(-214==e)throw new r("Base64 encoded string contains invalid characters.");if(-215==e)throw new r("PEM data is corrupted.");if(-216==e)throw new r("Exchange key return zero.");if(-217==e)throw new r("Ed25519 public key is corrupted.");if(-218==e)throw new r("Ed25519 private key is corrupted.");if(-219==e)throw new r("CURVE25519 public key is corrupted.");if(-220==e)throw new r("CURVE25519 private key is corrupted.");if(-221==e)throw new r("Elliptic curve public key format is corrupted see RFC 5480.");if(-222==e)throw new r("Elliptic curve public key format is corrupted see RFC 5915.");if(-223==e)throw new r("ASN.1 representation of a public key is corrupted.");if(-224==e)throw new r("ASN.1 representation of a private key is corrupted.");if(-225==e)throw new r("Key algorithm does not accept given type of public key.");if(-226==e)throw new r("Key algorithm does not accept given type of private key.");if(-227==e)throw new r("Post-quantum Falcon-Sign public key is corrupted.");if(-228==e)throw new r("Post-quantum Falcon-Sign private key is corrupted.");if(-232==e)throw new r("Compound public key is corrupted.");if(-233==e)throw new r("Compound private key is corrupted.");if(-234==e)throw new r("Compound public hybrid key is corrupted.");if(-235==e)throw new r("Compound private hybrid key is corrupted.");if(-236==e)throw new r("ASN.1 AlgorithmIdentifer is corrupted.");if(-237==e)throw new r("ASN.1 AlgorithmIdentifer with ECParameters is corrupted.");if(-238==e)throw new r("ASN.1 AlgorithmIdentifer with CompoundKeyParams is corrupted.");if(-239==e)throw new r("ASN.1 AlgorithmIdentifer with HybridKeyParams is corrupted.");if(-240==e)throw new r("Post-quantum ML-KEM-768 public key is corrupted.");if(-241==e)throw new r("Post-quantum ML-KEM-768 private key is corrupted.");if(-242==e)throw new r("Post-quantum ML-DSA-65 public key is corrupted.");if(-243==e)throw new r("Post-quantum ML-DSA-65 private key is corrupted.");if(-301==e)throw new r("Decryption failed, because message info was not given explicitly, and was not part of an encrypted message.");if(-302==e)throw new r("Message Info is corrupted.");if(-303==e)throw new r("Recipient defined with id is not found within message info during data decryption.");if(-304==e)throw new r("Content encryption key can not be decrypted with a given private key.");if(-305==e)throw new r("Content encryption key can not be decrypted with a given password.");if(-306==e)throw new r("Custom parameter with a given key is not found within message info.");if(-307==e)throw new r("A custom parameter with a given key is found, but the requested value type does not correspond to the actual type.");if(-308==e)throw new r("Signature format is corrupted.");if(-309==e)throw new r("Message Info footer is corrupted.");if(-401==e)throw new r("Brainkey password length is out of range.");if(-402==e)throw new r("Brainkey number length should be 32 byte.");if(-403==e)throw new r("Brainkey point length should be 65 bytes.");if(-404==e)throw new r("Brainkey name is out of range.");if(-405==e)throw new r("Brainkey internal error.");if(-406==e)throw new r("Brainkey point is invalid.");if(-407==e)throw new r("Brainkey number buffer length capacity should be >= 32 byte.");if(-408==e)throw new r("Brainkey point buffer length capacity should be >= 32 byte.");if(-409==e)throw new r("Brainkey seed buffer length capacity should be >= 32 byte.");if(-410==e)throw new r("Brainkey identity secret is invalid.");if(-411==e)throw new r("KEM encapsulated key is invalid or does not correspond to the private key.");if(-501==e)throw new r("Invalid padding.");if(-601==e)throw new r("Protobuf error.");if(-701==e)throw new r("Session id doesnt match.");if(-702==e)throw new r("Epoch not found.");if(-703==e)throw new r("Wrong key type.");if(-704==e)throw new r("Invalid signature.");if(-705==e)throw new r("Ed25519 error.");if(-706==e)throw new r("Duplicate epoch.");if(-707==e)throw new r("Plain text too long.");throw new r("Unexpected status code:"+e)}}}return r}),l=s?n:(s=1,n=(e,t)=>class{static newAndTakeCContext(r){const _=e._vscf_impl_tag(r);switch(_){case t.FoundationImplTag.AES256_CBC:return t.Aes256Cbc.newAndTakeCContext(r);case t.FoundationImplTag.AES256_GCM:return t.Aes256Gcm.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_DESERIALIZER:return t.AlgInfoDerDeserializer.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_SERIALIZER:return t.AlgInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ASN1RD:return t.Asn1rd.newAndTakeCContext(r);case t.FoundationImplTag.ASN1WR:return t.Asn1wr.newAndTakeCContext(r);case t.FoundationImplTag.CIPHER_ALG_INFO:return t.CipherAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG:return t.CompoundKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG_INFO:return t.CompoundKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PRIVATE_KEY:return t.CompoundPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PUBLIC_KEY:return t.CompoundPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.CTR_DRBG:return t.CtrDrbg.newAndTakeCContext(r);case t.FoundationImplTag.CURVE25519:return t.Curve25519.newAndTakeCContext(r);case t.FoundationImplTag.ECC:return t.Ecc.newAndTakeCContext(r);case t.FoundationImplTag.ECC_ALG_INFO:return t.EccAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PRIVATE_KEY:return t.EccPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PUBLIC_KEY:return t.EccPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.ED25519:return t.Ed25519.newAndTakeCContext(r);case t.FoundationImplTag.ENTROPY_ACCUMULATOR:return t.EntropyAccumulator.newAndTakeCContext(r);case t.FoundationImplTag.FAKE_RANDOM:return t.FakeRandom.newAndTakeCContext(r);case t.FoundationImplTag.FALCON:return t.Falcon.newAndTakeCContext(r);case t.FoundationImplTag.HASH_BASED_ALG_INFO:return t.HashBasedAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HKDF:return t.Hkdf.newAndTakeCContext(r);case t.FoundationImplTag.HMAC:return t.Hmac.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG:return t.HybridKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG_INFO:return t.HybridKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PRIVATE_KEY:return t.HybridPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PUBLIC_KEY:return t.HybridPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.KDF1:return t.Kdf1.newAndTakeCContext(r);case t.FoundationImplTag.KDF2:return t.Kdf2.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_DESERIALIZER:return t.KeyAsn1Deserializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_SERIALIZER:return t.KeyAsn1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_MATERIAL_RNG:return t.KeyMaterialRng.newAndTakeCContext(r);case t.FoundationImplTag.MESSAGE_INFO_DER_SERIALIZER:return t.MessageInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ML_DSA:return t.MlDsa.newAndTakeCContext(r);case t.FoundationImplTag.ML_KEM:return t.MlKem.newAndTakeCContext(r);case t.FoundationImplTag.PBE_ALG_INFO:return t.PbeAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBES2:return t.Pkcs5Pbes2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBKDF2:return t.Pkcs5Pbkdf2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS8_SERIALIZER:return t.Pkcs8Serializer.newAndTakeCContext(r);case t.FoundationImplTag.RANDOM_PADDING:return t.RandomPadding.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PRIVATE_KEY:return t.RawPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PUBLIC_KEY:return t.RawPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA:return t.Rsa.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PRIVATE_KEY:return t.RsaPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PUBLIC_KEY:return t.RsaPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.SALTED_KDF_ALG_INFO:return t.SaltedKdfAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.SEC1_SERIALIZER:return t.Sec1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.SEED_ENTROPY_SOURCE:return t.SeedEntropySource.newAndTakeCContext(r);case t.FoundationImplTag.SHA224:return t.Sha224.newAndTakeCContext(r);case t.FoundationImplTag.SHA256:return t.Sha256.newAndTakeCContext(r);case t.FoundationImplTag.SHA384:return t.Sha384.newAndTakeCContext(r);case t.FoundationImplTag.SHA512:return t.Sha512.newAndTakeCContext(r);case t.FoundationImplTag.SIMPLE_ALG_INFO:return t.SimpleAlgInfo.newAndTakeCContext(r);default:throw new Error("Unexpected implementation tag found: "+_)}}static newAndUseCContext(r){return new t.FoundationInterface.newAndTakeCContext(e._vscf_impl_shallow_copy(r))}static isImplemented(t,r){return 0!=e._vscf_impl_api(t,r)}}),f=a?c:(a=1,c=(e,t)=>Object.freeze({ALG:1,ALG_INFO:2,ALG_INFO_DESERIALIZER:3,ALG_INFO_SERIALIZER:4,ASN1_READER:5,ASN1_WRITER:6,AUTH_DECRYPT:7,AUTH_ENCRYPT:8,CIPHER:9,CIPHER_AUTH:10,CIPHER_AUTH_INFO:11,CIPHER_INFO:12,COMPUTE_SHARED_KEY:13,DECRYPT:14,ENCRYPT:15,ENTROPY_SOURCE:16,HASH:17,KDF:18,KEM:19,KEY:20,KEY_ALG:21,KEY_CIPHER:22,KEY_DESERIALIZER:23,KEY_SERIALIZER:24,KEY_SIGNER:25,MAC:26,MESSAGE_INFO_FOOTER_SERIALIZER:27,MESSAGE_INFO_SERIALIZER:28,PADDING:29,PRIVATE_KEY:30,PUBLIC_KEY:31,RANDOM:32,SALTED_KDF:33})),A=i?o:(i=1,o=(e,t)=>Object.freeze({AES256_CBC:1,AES256_GCM:2,ALG_INFO_DER_DESERIALIZER:3,ALG_INFO_DER_SERIALIZER:4,ASN1RD:5,ASN1WR:6,CIPHER_ALG_INFO:7,COMPOUND_KEY_ALG:8,COMPOUND_KEY_ALG_INFO:9,COMPOUND_PRIVATE_KEY:10,COMPOUND_PUBLIC_KEY:11,CTR_DRBG:12,CURVE25519:13,ECC:14,ECC_ALG_INFO:15,ECC_PRIVATE_KEY:16,ECC_PUBLIC_KEY:17,ED25519:18,ENTROPY_ACCUMULATOR:19,FAKE_RANDOM:20,FALCON:21,HASH_BASED_ALG_INFO:22,HKDF:23,HMAC:24,HYBRID_KEY_ALG:25,HYBRID_KEY_ALG_INFO:26,HYBRID_PRIVATE_KEY:27,HYBRID_PUBLIC_KEY:28,KDF1:29,KDF2:30,KEY_ASN1_DESERIALIZER:31,KEY_ASN1_SERIALIZER:32,KEY_MATERIAL_RNG:33,MESSAGE_INFO_DER_SERIALIZER:34,ML_DSA:35,ML_KEM:36,PBE_ALG_INFO:37,PKCS5_PBES2:38,PKCS5_PBKDF2:39,PKCS8_SERIALIZER:40,RANDOM_PADDING:41,RAW_PRIVATE_KEY:42,RAW_PUBLIC_KEY:43,RSA:44,RSA_PRIVATE_KEY:45,RSA_PUBLIC_KEY:46,SALTED_KDF_ALG_INFO:47,SEC1_SERIALIZER:48,SEED_ENTROPY_SOURCE:49,SHA224:50,SHA256:51,SHA384:52,SHA512:53,SIMPLE_ALG_INFO:54})),N=function(){if(d)return h;d=1;const e=x();return h=(t,r)=>{class _{constructor(e){this.name="CtrDrbg",this.ctxPtr=void 0===e?t._vscf_ctr_drbg_new():e}static newAndUseCContext(e){return new _(t._vscf_ctr_drbg_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_ctr_drbg_delete(this.ctxPtr),this.ctxPtr=null)}set entropySource(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("entropySource",_,"Foundation.EntropySource",r.FoundationInterfaceTag.ENTROPY_SOURCE,r.FoundationInterface),t._vscf_ctr_drbg_release_entropy_source(this.ctxPtr),t._vscf_ctr_drbg_use_entropy_source(this.ctxPtr,_.ctxPtr)}static get RESEED_INTERVAL(){return 1e4}get RESEED_INTERVAL(){return 1e4}static get ENTROPY_LEN(){return 48}get ENTROPY_LEN(){return 48}random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("dataLen",_);const n=_,s=t._vsc_buffer_new_with_capacity(n);try{const e=t._vscf_ctr_drbg_random(this.ctxPtr,_,s);r.FoundationError.handleStatusCode(e);const n=t._vsc_buffer_bytes(s),c=t._vsc_buffer_len(s);return t.HEAPU8.slice(n,n+c)}finally{t._vsc_buffer_delete(s)}}reseed(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vscf_ctr_drbg_reseed(this.ctxPtr);r.FoundationError.handleStatusCode(_)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vscf_ctr_drbg_setup_defaults(this.ctxPtr);r.FoundationError.handleStatusCode(_)}enablePredictionResistance(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_ctr_drbg_enable_prediction_resistance(this.ctxPtr)}setReseedInterval(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("interval",r),t._vscf_ctr_drbg_set_reseed_interval(this.ctxPtr,r)}setEntropyLen(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("len",r),t._vscf_ctr_drbg_set_entropy_len(this.ctxPtr,r)}}return _}}(),O=function(){if(p)return v;p=1;const e=x();return v=(t,r)=>{class _{constructor(e){this.name="Hmac",this.ctxPtr=void 0===e?t._vscf_hmac_new():e}static newAndUseCContext(e){return new _(t._vscf_hmac_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hmac_delete(this.ctxPtr),this.ctxPtr=null)}set hash(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",_,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hmac_release_hash(this.ctxPtr),t._vscf_hmac_use_hash(this.ctxPtr,_.ctxPtr)}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_hmac_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_hmac_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}digestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_digest_len(this.ctxPtr),r}mac(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r),e.ensureByteArray("data",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=_.length*_.BYTES_PER_ELEMENT,i=t._malloc(o);t.HEAP8.set(_,i);const l=t._vsc_data_ctx_size(),u=t._malloc(l);t._vsc_data(u,i,o);const f=this.digestLen(),h=t._vsc_buffer_new_with_capacity(f);try{t._vscf_hmac_mac(this.ctxPtr,a,u,h);const e=t._vsc_buffer_bytes(h),r=t._vsc_buffer_len(h);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(a),t._free(i),t._free(u),t._vsc_buffer_delete(h)}}start(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hmac_start(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hmac_update(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.digestLen(),_=t._vsc_buffer_new_with_capacity(r);try{t._vscf_hmac_finish(this.ctxPtr,_);const e=t._vsc_buffer_bytes(_),r=t._vsc_buffer_len(_);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(_)}}reset(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_hmac_reset(this.ctxPtr)}}return _}}(),z=function(){if(m)return E;m=1;const e=x();return E=(t,r)=>{class _{constructor(e){this.name="Hkdf",this.ctxPtr=void 0===e?t._vscf_hkdf_new():e}static newAndUseCContext(e){return new _(t._vscf_hkdf_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hkdf_delete(this.ctxPtr),this.ctxPtr=null)}set hash(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",_,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hkdf_release_hash(this.ctxPtr),t._vscf_hkdf_use_hash(this.ctxPtr,_.ctxPtr)}static get HASH_COUNTER_MAX(){return 255}get HASH_COUNTER_MAX(){return 255}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hkdf_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_hkdf_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_hkdf_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}derive(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r),e.ensureNumber("keyLen",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=_,i=t._vsc_buffer_new_with_capacity(o);try{t._vscf_hkdf_derive(this.ctxPtr,a,_,i);const e=t._vsc_buffer_bytes(i),r=t._vsc_buffer_len(i);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}reset(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("salt",r),e.ensureNumber("iterationCount",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{t._vscf_hkdf_reset(this.ctxPtr,a,_)}finally{t._free(s),t._free(a)}}setInfo(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("info",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hkdf_set_info(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}}return _}}(),$=function(){if(w)return P;w=1;const e=x();return P=(t,r)=>{class _{constructor(e){this.name="Sha512",this.ctxPtr=void 0===e?t._vscf_sha512_new():e}static newAndUseCContext(e){return new _(t._vscf_sha512_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_sha512_delete(this.ctxPtr),this.ctxPtr=null)}static get DIGEST_LEN(){return 64}get DIGEST_LEN(){return 64}static get BLOCK_LEN(){return 128}get BLOCK_LEN(){return 128}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_sha512_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_sha512_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_sha512_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}static hash(r){e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);const a=this.DIGEST_LEN,o=t._vsc_buffer_new_with_capacity(a);try{t._vscf_sha512_hash(c,o);const e=t._vsc_buffer_bytes(o),r=t._vsc_buffer_len(o);return t.HEAPU8.slice(e,e+r)}finally{t._free(n),t._free(c),t._vsc_buffer_delete(o)}}hash(e){return _.hash(e)}start(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_sha512_start(this.ctxPtr)}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_sha512_update(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.DIGEST_LEN,_=t._vsc_buffer_new_with_capacity(r);try{t._vscf_sha512_finish(this.ctxPtr,_);const e=t._vsc_buffer_bytes(_),r=t._vsc_buffer_len(_);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(_)}}}return _}}(),q=b?y:(b=1,y=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="PheError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("Success proof check failed.");if(-2==e)throw new r("Failure proof check failed.");if(-3==e)throw new r("RNG returned error.");if(-4==e)throw new r("Protobuf decode failed.");if(-5==e)throw new r("Invalid public key.");if(-6==e)throw new r("Invalid private key.");if(-7==e)throw new r("AES error occurred.");throw new r("Unexpected status code:"+e)}}}return r}),V=T?g:(T=1,G(),g=(e,t)=>class{static get PHE_POINT_LENGTH(){return 65}get PHE_POINT_LENGTH(){return 65}static get PHE_MAX_PASSWORD_LENGTH(){return 128}get PHE_MAX_PASSWORD_LENGTH(){return 128}static get PHE_SERVER_IDENTIFIER_LENGTH(){return 32}get PHE_SERVER_IDENTIFIER_LENGTH(){return 32}static get PHE_CLIENT_IDENTIFIER_LENGTH(){return 32}get PHE_CLIENT_IDENTIFIER_LENGTH(){return 32}static get PHE_ACCOUNT_KEY_LENGTH(){return 32}get PHE_ACCOUNT_KEY_LENGTH(){return 32}static get PHE_PRIVATE_KEY_LENGTH(){return 32}get PHE_PRIVATE_KEY_LENGTH(){return 32}static get PHE_PUBLIC_KEY_LENGTH(){return 65}get PHE_PUBLIC_KEY_LENGTH(){return 65}static get PHE_HASH_LEN(){return 32}get PHE_HASH_LEN(){return 32}static get PHE_MAX_ENCRYPT_LEN(){return 1048512}get PHE_MAX_ENCRYPT_LEN(){return 1048512}static get PHE_MAX_DECRYPT_LEN(){return 1048576}get PHE_MAX_DECRYPT_LEN(){return 1048576}static get PHE_MAX_AUTH_LEN(){return 1024}get PHE_MAX_AUTH_LEN(){return 1024}}),j=function(){if(k)return C;k=1;const e=G();return C=(t,r)=>{class _{constructor(e){this.name="PheServer",this.ctxPtr=void 0===e?t._vsce_phe_server_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_server_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_server_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_server_release_random(this.ctxPtr),t._vsce_phe_server_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_server_release_operation_random(this.ctxPtr),t._vsce_phe_server_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_server_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}generateServerKeyPair(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_),s=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,c=t._vsc_buffer_new_with_capacity(s);try{const e=t._vsce_phe_server_generate_server_key_pair(this.ctxPtr,n,c);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n),a=t.HEAPU8.slice(_,_+s),o=t._vsc_buffer_bytes(c),i=t._vsc_buffer_len(c);return{serverPrivateKey:a,serverPublicKey:t.HEAPU8.slice(o,o+i)}}finally{t._vsc_buffer_delete(n),t._vsc_buffer_delete(c)}}enrollmentResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_enrollment_response_len(this.ctxPtr),r}getEnrollment(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentResponseLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_server_get_enrollment(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}verifyPasswordResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_verify_password_response_len(this.ctxPtr),r}verifyPassword(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("serverPublicKey",n),e.ensureByteArray("verifyPasswordRequest",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.verifyPasswordResponseLen(),P=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_server_verify_password(this.ctxPtr,i,h,E,P);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(P),n=t._vsc_buffer_len(P);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(P)}}updateTokenLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_update_token_len(this.ctxPtr),r}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l),f=this.updateTokenLen(),h=t._vsc_buffer_new_with_capacity(f);try{const e=t._vsce_phe_server_rotate_keys(this.ctxPtr,a,i,u,h);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u),l=t.HEAPU8.slice(c,c+o),f=t._vsc_buffer_bytes(h),d=t._vsc_buffer_len(h);return{newServerPrivateKey:s,newServerPublicKey:l,updateToken:t.HEAPU8.slice(f,f+d)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u),t._vsc_buffer_delete(h)}}}return _}}(),W=function(){if(R)return I;R=1;const e=G();return I=(t,r)=>{class _{constructor(e){this.name="PheClient",this.ctxPtr=void 0===e?t._vsce_phe_client_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_client_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_client_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_client_release_random(this.ctxPtr),t._vsce_phe_client_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_client_release_operation_random(this.ctxPtr),t._vsce_phe_client_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_client_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setKeys(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);try{const e=t._vsce_phe_client_set_keys(this.ctxPtr,o,f);r.PheError.handleStatusCode(e)}finally{t._free(c),t._free(o),t._free(l),t._free(f)}}generateClientPrivateKey(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_phe_client_generate_client_private_key(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}enrollmentRecordLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_client_enrollment_record_len(this.ctxPtr),r}enrollAccount(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("enrollmentResponse",_),e.ensureByteArray("password",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentRecordLen(),d=t._vsc_buffer_new_with_capacity(h),v=r.PheCommon.PHE_ACCOUNT_KEY_LENGTH,p=t._vsc_buffer_new_with_capacity(v);try{const e=t._vsce_phe_client_enroll_account(this.ctxPtr,o,f,d,p);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(p),a=t._vsc_buffer_len(p);return{enrollmentRecord:s,accountKey:t.HEAPU8.slice(c,c+a)}}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d),t._vsc_buffer_delete(p)}}verifyPasswordRequestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_client_verify_password_request_len(this.ctxPtr),r}createVerifyPasswordRequest(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("password",_),e.ensureByteArray("enrollmentRecord",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.verifyPasswordRequestLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_client_create_verify_password_request(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}checkResponseAndDecrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("password",_),e.ensureByteArray("enrollmentRecord",n),e.ensureByteArray("verifyPasswordResponse",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=r.PheCommon.PHE_ACCOUNT_KEY_LENGTH,P=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_client_check_response_and_decrypt(this.ctxPtr,i,h,E,P);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(P),n=t._vsc_buffer_len(P);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(P)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_phe_client_rotate_keys(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{newClientPrivateKey:s,newServerPublicKey:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}updateEnrollmentRecord(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("enrollmentRecord",_),e.ensureByteArray("updateToken",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentRecordLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_client_update_enrollment_record(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}}return _}}(),Z=function(){if(H)return S;H=1;const e=G();return S=(t,r)=>{class _{constructor(e){this.name="PheCipher",this.ctxPtr=void 0===e?t._vsce_phe_cipher_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_cipher_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_cipher_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_cipher_release_random(this.ctxPtr),t._vsce_phe_cipher_use_random(this.ctxPtr,_.ctxPtr)}static get SALT_LEN(){return 32}get SALT_LEN(){return 32}static get KEY_LEN(){return 32}get KEY_LEN(){return 32}static get NONCE_LEN(){return 12}get NONCE_LEN(){return 12}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_cipher_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}encryptLen(r){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("plainTextLen",r),_=t._vsce_phe_cipher_encrypt_len(this.ctxPtr,r),_}decryptLen(r){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("cipherTextLen",r),_=t._vsce_phe_cipher_decrypt_len(this.ctxPtr,r),_}encrypt(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",_),e.ensureByteArray("accountKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.encryptLen(_.length),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_cipher_encrypt(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}decrypt(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("cipherText",_),e.ensureByteArray("accountKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.decryptLen(_.length),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_cipher_decrypt(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}authEncrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",_),e.ensureByteArray("additionalData",n),e.ensureByteArray("accountKey",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.encryptLen(_.length),P=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_cipher_auth_encrypt(this.ctxPtr,i,h,E,P);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(P),n=t._vsc_buffer_len(P);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(P)}}authDecrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("cipherText",_),e.ensureByteArray("additionalData",n),e.ensureByteArray("accountKey",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.decryptLen(_.length),P=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_cipher_auth_decrypt(this.ctxPtr,i,h,E,P);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(P),n=t._vsc_buffer_len(P);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(P)}}}return _}}(),X=function(){if(F)return L;F=1;const e=G();return L=(t,r)=>{class _{constructor(e){this.name="UokmsClient",this.ctxPtr=void 0===e?t._vsce_uokms_client_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_client_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_client_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_client_release_random(this.ctxPtr),t._vsce_uokms_client_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_client_release_operation_random(this.ctxPtr),t._vsce_uokms_client_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_client_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setKeysOneparty(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{const e=t._vsce_uokms_client_set_keys_oneparty(this.ctxPtr,a);r.PheError.handleStatusCode(e)}finally{t._free(s),t._free(a)}}setKeys(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);try{const e=t._vsce_uokms_client_set_keys(this.ctxPtr,o,f);r.PheError.handleStatusCode(e)}finally{t._free(c),t._free(o),t._free(l),t._free(f)}}generateClientPrivateKey(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_uokms_client_generate_client_private_key(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}generateEncryptWrap(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("encryptionKeyLen",_);const n=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,s=t._vsc_buffer_new_with_capacity(n),c=_,a=t._vsc_buffer_new_with_capacity(c);try{const e=t._vsce_uokms_client_generate_encrypt_wrap(this.ctxPtr,s,_,a);r.PheError.handleStatusCode(e);const n=t._vsc_buffer_bytes(s),c=t._vsc_buffer_len(s),o=t.HEAPU8.slice(n,n+c),i=t._vsc_buffer_bytes(a),l=t._vsc_buffer_len(a);return{wrap:o,encryptionKey:t.HEAPU8.slice(i,i+l)}}finally{t._vsc_buffer_delete(s),t._vsc_buffer_delete(a)}}decryptOneparty(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_),e.ensureNumber("encryptionKeyLen",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n,l=t._vsc_buffer_new_with_capacity(i);try{const e=t._vsce_uokms_client_decrypt_oneparty(this.ctxPtr,o,n,l);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(l),s=t._vsc_buffer_len(l);return t.HEAPU8.slice(_,_+s)}finally{t._free(c),t._free(o),t._vsc_buffer_delete(l)}}generateDecryptRequest(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_uokms_client_generate_decrypt_request(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{deblindFactor:s,decryptRequest:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}processDecryptResponse(_,n,s,c,a){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_),e.ensureByteArray("decryptRequest",n),e.ensureByteArray("decryptResponse",s),e.ensureByteArray("deblindFactor",c),e.ensureNumber("encryptionKeyLen",a);const o=_.length*_.BYTES_PER_ELEMENT,i=t._malloc(o);t.HEAP8.set(_,i);const l=t._vsc_data_ctx_size(),u=t._malloc(l);t._vsc_data(u,i,o);const f=n.length*n.BYTES_PER_ELEMENT,h=t._malloc(f);t.HEAP8.set(n,h);const d=t._vsc_data_ctx_size(),v=t._malloc(d);t._vsc_data(v,h,f);const p=s.length*s.BYTES_PER_ELEMENT,E=t._malloc(p);t.HEAP8.set(s,E);const m=t._vsc_data_ctx_size(),P=t._malloc(m);t._vsc_data(P,E,p);const w=c.length*c.BYTES_PER_ELEMENT,y=t._malloc(w);t.HEAP8.set(c,y);const b=t._vsc_data_ctx_size(),A=t._malloc(b);t._vsc_data(A,y,w);const x=a,N=t._vsc_buffer_new_with_capacity(x);try{const e=t._vsce_uokms_client_process_decrypt_response(this.ctxPtr,u,v,P,A,a,N);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(N),n=t._vsc_buffer_len(N);return t.HEAPU8.slice(_,_+n)}finally{t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._free(P),t._free(y),t._free(A),t._vsc_buffer_delete(N)}}rotateKeysOneparty(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o);try{const e=t._vsce_uokms_client_rotate_keys_oneparty(this.ctxPtr,a,i);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i);return t.HEAPU8.slice(_,_+n)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}generateUpdateTokenOneparty(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_uokms_client_generate_update_token_oneparty(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_uokms_client_rotate_keys(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{newClientPrivateKey:s,newServerPublicKey:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}}return _}}(),J=function(){if(B)return K;B=1;const e=G();return K=(t,r)=>{class _{constructor(e){this.name="UokmsServer",this.ctxPtr=void 0===e?t._vsce_uokms_server_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_server_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_server_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_server_release_random(this.ctxPtr),t._vsce_uokms_server_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_server_release_operation_random(this.ctxPtr),t._vsce_uokms_server_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_server_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}generateServerKeyPair(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_),s=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,c=t._vsc_buffer_new_with_capacity(s);try{const e=t._vsce_uokms_server_generate_server_key_pair(this.ctxPtr,n,c);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n),a=t.HEAPU8.slice(_,_+s),o=t._vsc_buffer_bytes(c),i=t._vsc_buffer_len(c);return{serverPrivateKey:a,serverPublicKey:t.HEAPU8.slice(o,o+i)}}finally{t._vsc_buffer_delete(n),t._vsc_buffer_delete(c)}}decryptResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_uokms_server_decrypt_response_len(this.ctxPtr),r}processDecryptRequest(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("decryptRequest",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.decryptResponseLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_uokms_server_process_decrypt_request(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l),f=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,h=t._vsc_buffer_new_with_capacity(f);try{const e=t._vsce_uokms_server_rotate_keys(this.ctxPtr,a,i,u,h);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u),l=t.HEAPU8.slice(c,c+o),f=t._vsc_buffer_bytes(h),d=t._vsc_buffer_len(h);return{newServerPrivateKey:s,newServerPublicKey:l,updateToken:t.HEAPU8.slice(f,f+d)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u),t._vsc_buffer_delete(h)}}}return _}}(),Q=function(){if(U)return Y;U=1;const e=G();return Y=(t,r)=>{class _{constructor(e){this.name="UokmsWrapRotation",this.ctxPtr=void 0===e?t._vsce_uokms_wrap_rotation_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_wrap_rotation_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_wrap_rotation_delete(this.ctxPtr),this.ctxPtr=null)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_wrap_rotation_release_operation_random(this.ctxPtr),t._vsce_uokms_wrap_rotation_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_wrap_rotation_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setUpdateToken(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{const e=t._vsce_uokms_wrap_rotation_set_update_token(this.ctxPtr,a);r.PheError.handleStatusCode(e)}finally{t._free(s),t._free(a)}}updateWrap(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o);try{const e=t._vsce_uokms_wrap_rotation_update_wrap(this.ctxPtr,a,i);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i);return t.HEAPU8.slice(_,_+n)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}}return _}}();return D=r=>new Promise((_,n)=>{e(r).then(e=>{const r={};r.FoundationError=t(e,r),r.FoundationInterface=l(e,r),r.FoundationInterfaceTag=f(e,r),r.FoundationImplTag=A(e,r),r.CtrDrbg=N(e,r),r.Hmac=O(e,r),r.Hkdf=z(e,r),r.Sha512=$(e,r),r.PheError=q(e,r),r.PheCommon=V(e,r),r.PheServer=j(e,r),r.PheClient=W(e,r),r.PheCipher=Z(e,r),r.UokmsClient=X(e,r),r.UokmsServer=J(e,r),r.UokmsWrapRotation=Q(e,r),_(r)}).catch(e=>{n(e)})})}(),$=e(z);export{$ as default};
1
+ function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t,r,_,n,s,c,a,o,i,l={exports:{}};function u(){return t||(t=1,e=l,r="undefined"!=typeof document?document.currentScript?.src:void 0,_=async function(e={}){var t,_,n,s=e,c=new Promise((e,r)=>{t=e,_=r}),a=Object.assign({},s),o="";"undefined"!=typeof document&&document.currentScript&&(o=document.currentScript.src),r&&(o=r),o=o.startsWith("blob:")?"":o.slice(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1),n=async e=>{if((e=await fetch(e,{credentials:"same-origin"})).ok)return e.arrayBuffer();throw Error(e.status+" : "+e.url)};var i=s.print||console.log.bind(console),l=s.printErr||console.error.bind(console);Object.assign(s,a),a=null;var u,f,h,d,v,p,E,m=s.wasmBinary,w=!1;function P(){var e=u.buffer;s.HEAP8=f=new Int8Array(e),s.HEAP16=d=new Int16Array(e),s.HEAPU8=h=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAP32=v=new Int32Array(e),s.HEAPU32=p=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=new Float64Array(e),s.HEAP64=E=new BigInt64Array(e),s.HEAPU64=new BigUint64Array(e)}var y,b=0,A=null;function x(e){throw s.onAbort?.(e),l(e="Aborted("+e+")"),w=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),_(e),e}async function N(e,t){try{var r=await async function(e){if(!m)try{var t=await n(e);return new Uint8Array(t)}catch{}if(e!=y||!m)throw"both async and sync fetching of the wasm failed";return new Uint8Array(m)}(e);return await WebAssembly.instantiate(r,t)}catch(e){l(`failed to asynchronously prepare wasm: ${e}`),x(e)}}var g=e=>{for(;0<e.length;)e.shift()(s)},T=[],C=[],k=()=>{var e=s.preRun.shift();C.unshift(e)},I=()=>{var e=v[+be>>2];return be+=4,e},R=(e,t)=>{for(var r=0,_=e.length-1;0<=_;_--){var n=e[_];"."===n?e.splice(_,1):".."===n?(e.splice(_,1),r++):r&&(e.splice(_,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},S=e=>{var t="/"===e.charAt(0),r="/"===e.slice(-1);return(e=R(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},H=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],e||t?(t&&=t.slice(0,-1),e+t):"."},L=e=>{(L=e=>crypto.getRandomValues(e))(e)},F="undefined"!=typeof TextDecoder?new TextDecoder:void 0,K=(e,t=0)=>{for(var r=t+NaN,_=t;e[_]&&!(_>=r);)++_;if(16<_-t&&e.buffer&&F)return F.decode(e.subarray(t,_));for(r="";t<_;){var n=e[t++];if(128&n){var s=63&e[t++];if(192==(224&n))r+=String.fromCharCode((31&n)<<6|s);else{var c=63&e[t++];65536>(n=224==(240&n)?(15&n)<<12|s<<6|c:(7&n)<<18|s<<12|c<<6|63&e[t++])?r+=String.fromCharCode(n):(n-=65536,r+=String.fromCharCode(55296|n>>10,56320|1023&n))}}else r+=String.fromCharCode(n)}return r},B=[],Y=[];function U(e,t){Y[e]={input:[],fc:[],mc:t},he(e,D)}var D={open(e){var t=Y[e.node.yc];if(!t)throw new Q(43);e.cc=t,e.seekable=!1},close(e){e.cc.mc.vc(e.cc)},vc(e){e.cc.mc.vc(e.cc)},read(e,t,r,_){if(!e.cc||!e.cc.mc.Ic)throw new Q(60);for(var n=0,s=0;s<_;s++){try{var c=e.cc.mc.Ic(e.cc)}catch(e){throw new Q(29)}if(void 0===c&&0===n)throw new Q(6);if(null==c)break;n++,t[r+s]=c}return n&&(e.node.qc=Date.now()),n},write(e,t,r,_){if(!e.cc||!e.cc.mc.Dc)throw new Q(60);try{for(var n=0;n<_;n++)e.cc.mc.Dc(e.cc,t[r+n])}catch(e){throw new Q(29)}return _&&(e.node.hc=e.node.ec=Date.now()),n}},M={Ic(){e:{if(!B.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e){var t=null;break e}for(var r=t=0;r<e.length;++r){var _=e.charCodeAt(r);127>=_?t++:2047>=_?t+=2:55296<=_&&57343>=_?(t+=4,++r):t+=3}var n=(t=Array(t+1)).length;if(r=0,0<n){_=r,n=r+n-1;for(var s=0;s<e.length;++s){var c=e.charCodeAt(s);if(55296<=c&&57343>=c&&(c=65536+((1023&c)<<10)|1023&e.charCodeAt(++s)),127>=c){if(r>=n)break;t[r++]=c}else{if(2047>=c){if(r+1>=n)break;t[r++]=192|c>>6}else{if(65535>=c){if(r+2>=n)break;t[r++]=224|c>>12}else{if(r+3>=n)break;t[r++]=240|c>>18,t[r++]=128|c>>12&63}t[r++]=128|c>>6&63}t[r++]=128|63&c}}t[r]=0,e=r-_}else e=0;t.length=e,B=t}t=B.shift()}return t},Dc(e,t){null===t||10===t?(i(K(e.fc)),e.fc=[]):0!=t&&e.fc.push(t)},vc(e){0<e.fc?.length&&(i(K(e.fc)),e.fc=[])},Sc:()=>({bd:25856,dd:5,ad:191,cd:35387,$c:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),Tc:()=>0,Uc:()=>[24,80]},O={Dc(e,t){null===t||10===t?(l(K(e.fc)),e.fc=[]):0!=t&&e.fc.push(t)},vc(e){0<e.fc?.length&&(l(K(e.fc)),e.fc=[])}};function G(e,t){var r=e.ac?e.ac.length:0;r>=t||(t=Math.max(t,r*(1048576>r?2:1.125)>>>0),0!=r&&(t=Math.max(t,256)),r=e.ac,e.ac=new Uint8Array(t),0<e.dc&&e.ac.set(r.subarray(0,e.dc),0))}var z={jc:null,lc:()=>z.createNode(null,"/",16895,0),createNode(e,t,r,_){if(24576==(61440&r)||4096==(61440&r))throw new Q(63);return z.jc||(z.jc={dir:{node:{pc:z.bc.pc,kc:z.bc.kc,sc:z.bc.sc,wc:z.bc.wc,Nc:z.bc.Nc,Pc:z.bc.Pc,Oc:z.bc.Oc,Ec:z.bc.Ec,zc:z.bc.zc},stream:{ic:z.$b.ic}},file:{node:{pc:z.bc.pc,kc:z.bc.kc},stream:{ic:z.$b.ic,read:z.$b.read,write:z.$b.write,Fc:z.$b.Fc,Kc:z.$b.Kc,Mc:z.$b.Mc}},link:{node:{pc:z.bc.pc,kc:z.bc.kc,tc:z.bc.tc},stream:{}},Gc:{node:{pc:z.bc.pc,kc:z.bc.kc},stream:fe}}),16384==(61440&(r=se(e,t,r,_)).mode)?(r.bc=z.jc.dir.node,r.$b=z.jc.dir.stream,r.ac={}):32768==(61440&r.mode)?(r.bc=z.jc.file.node,r.$b=z.jc.file.stream,r.dc=0,r.ac=null):40960==(61440&r.mode)?(r.bc=z.jc.link.node,r.$b=z.jc.link.stream):8192==(61440&r.mode)&&(r.bc=z.jc.Gc.node,r.$b=z.jc.Gc.stream),r.qc=r.hc=r.ec=Date.now(),e&&(e.ac[t]=r,e.qc=e.hc=e.ec=r.qc),r},hd:e=>e.ac?e.ac.subarray?e.ac.subarray(0,e.dc):new Uint8Array(e.ac):new Uint8Array(0),bc:{pc(e){var t={};return t.ed=8192==(61440&e.mode)?e.id:1,t.kd=e.id,t.mode=e.mode,t.ld=1,t.uid=0,t.jd=0,t.yc=e.yc,16384==(61440&e.mode)?t.size=4096:32768==(61440&e.mode)?t.size=e.dc:40960==(61440&e.mode)?t.size=e.link.length:t.size=0,t.qc=new Date(e.qc),t.hc=new Date(e.hc),t.ec=new Date(e.ec),t.Qc=4096,t.Zc=Math.ceil(t.size/t.Qc),t},kc(e,t){for(var r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&(t=t.size,e.dc!=t&&(0==t?(e.ac=null,e.dc=0):(r=e.ac,e.ac=new Uint8Array(t),r&&e.ac.set(r.subarray(0,Math.min(t,e.dc))),e.dc=t)))},sc(){throw z.Hc},wc:(e,t,r,_)=>z.createNode(e,t,r,_),Nc(e,t,r){try{var _=ne(t,r)}catch(e){}if(_){if(16384==(61440&e.mode))for(var n in _.ac)throw new Q(55);if(n=_e(_.parent.id,_.name),j[n]===_)j[n]=_.rc;else for(n=j[n];n;){if(n.rc===_){n.rc=_.rc;break}n=n.rc}}delete e.parent.ac[e.name],t.ac[r]=e,e.name=r,t.ec=t.hc=e.parent.ec=e.parent.hc=Date.now()},Pc(e,t){delete e.ac[t],e.ec=e.hc=Date.now()},Oc(e,t){var r,_=ne(e,t);for(r in _.ac)throw new Q(55);delete e.ac[t],e.ec=e.hc=Date.now()},Ec:e=>[".","..",...Object.keys(e.ac)],zc:(e,t,r)=>((e=z.createNode(e,t,41471,0)).link=r,e),tc(e){if(40960!=(61440&e.mode))throw new Q(28);return e.link}},$b:{read(e,t,r,_,n){var s=e.node.ac;if(n>=e.node.dc)return 0;if(8<(e=Math.min(e.node.dc-n,_))&&s.subarray)t.set(s.subarray(n,n+e),r);else for(_=0;_<e;_++)t[r+_]=s[n+_];return e},write(e,t,r,_,n,s){if(t.buffer===f.buffer&&(s=!1),!_)return 0;if((e=e.node).hc=e.ec=Date.now(),t.subarray&&(!e.ac||e.ac.subarray)){if(s)return e.ac=t.subarray(r,r+_),e.dc=_;if(0===e.dc&&0===n)return e.ac=t.slice(r,r+_),e.dc=_;if(n+_<=e.dc)return e.ac.set(t.subarray(r,r+_),n),_}if(G(e,n+_),e.ac.subarray&&t.subarray)e.ac.set(t.subarray(r,r+_),n);else for(s=0;s<_;s++)e.ac[n+s]=t[r+s];return e.dc=Math.max(e.dc,n+_),_},ic(e,t,r){if(1===r?t+=e.position:2===r&&32768==(61440&e.node.mode)&&(t+=e.node.dc),0>t)throw new Q(28);return t},Fc(e,t,r){G(e.node,t+r),e.node.dc=Math.max(e.node.dc,t+r)},Kc(e,t,r,_,n){if(32768!=(61440&e.node.mode))throw new Q(43);if(e=e.node.ac,2&n||!e||e.buffer!==f.buffer){if(_=!0,x(),!(n=void 0))throw new Q(48);e&&((0<r||r+t<e.length)&&(e=e.subarray?e.subarray(r,r+t):Array.prototype.slice.call(e,r,r+t)),f.set(e,n))}else _=!1,n=e.byteOffset;return{nd:n,Yc:_}},Mc:(e,t,r,_)=>(z.$b.write(e,t,0,_,r,!1),0)}},$=null,q={},V=[],W=1,j=null,Z=!1,X=!0,J={},Q=class{name="ErrnoError";constructor(e){this.nc=e}},ee=class{uc={};node=null;get flags(){return this.uc.flags}set flags(e){this.uc.flags=e}get position(){return this.uc.position}set position(e){this.uc.position=e}},te=class{bc={};$b={};xc=null;constructor(e,t,r,_){e||=this,this.parent=e,this.lc=e.lc,this.id=W++,this.name=t,this.mode=r,this.yc=_,this.qc=this.hc=this.ec=Date.now()}get read(){return!(365&~this.mode)}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return!(146&~this.mode)}set write(e){e?this.mode|=146:this.mode&=-147}};function re(e,t={}){if(!e)throw new Q(44);t.Bc??(t.Bc=!0),"/"===e.charAt(0)||(e="//"+e);var r=0;e:for(;40>r;r++){e=e.split("/").filter(e=>!!e);for(var _=$,n="/",s=0;s<e.length;s++){var c=s===e.length-1;if(c&&t.parent)break;if("."!==e[s])if(".."===e[s])n=H(n),_=_.parent;else{n=S(n+"/"+e[s]);try{_=ne(_,e[s])}catch(e){if(44===e?.nc&&c&&t.Wc)return{path:n};throw e}if(!_.xc||c&&!t.Bc||(_=_.xc.root),40960==(61440&_.mode)&&(!c||t.Ac)){if(!_.bc.tc)throw new Q(52);"/"===(_=_.bc.tc(_)).charAt(0)||(_=H(n)+"/"+_),e=_+"/"+e.slice(s+1).join("/");continue e}}}return{path:n,node:_}}throw new Q(32)}function _e(e,t){for(var r=0,_=0;_<t.length;_++)r=(r<<5)-r+t.charCodeAt(_)|0;return(e+r>>>0)%j.length}function ne(e,t){var r=16384==(61440&e.mode)?(r=ae(e,"x"))?r:e.bc.sc?0:2:54;if(r)throw new Q(r);for(r=j[_e(e.id,t)];r;r=r.rc){var _=r.name;if(r.parent.id===e.id&&_===t)return r}return e.bc.sc(e,t)}function se(e,t,r,_){return t=_e((e=new te(e,t,r,_)).parent.id,e.name),e.rc=j[t],j[t]=e}function ce(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t}function ae(e,t){return X?0:!t.includes("r")||292&e.mode?t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0:2}function oe(e,t){if(16384!=(61440&e.mode))return 54;try{return ne(e,t),20}catch(e){}return ae(e,"wx")}function ie(e){if(!(e=V[e]))throw new Q(8);return e}function le(e,t=-1){if(e=Object.assign(new ee,e),-1==t)e:{for(t=0;4096>=t;t++)if(!V[t])break e;throw new Q(33)}return e.oc=t,V[t]=e}function ue(e,t){var r=void 0,_=r?null:e;if(r??=e.bc.kc,!r)throw new Q(63);r(_,t)}var fe={open(e){e.$b=q[e.node.yc].$b,e.$b.open?.(e)},ic(){throw new Q(70)}};function he(e,t){q[e]={$b:t}}function de(e,t){var r="/"===t;if(r&&$)throw new Q(10);if(!r&&t){var _=re(t,{Bc:!1});if(t=_.path,(_=_.node).xc)throw new Q(10);if(16384!=(61440&_.mode))throw new Q(54)}t={type:e,md:{},Lc:t,Vc:[]},(e=e.lc(t)).lc=t,t.root=e,r?$=e:_&&(_.xc=t,_.lc&&_.lc.Vc.push(t))}function ve(e,t,r){var _=re(e,{parent:!0}).node;if(!(e=e&&e.match(/([^\/]+|\/)\/*$/)[1]))throw new Q(28);if("."===e||".."===e)throw new Q(20);var n=oe(_,e);if(n)throw new Q(n);if(!_.bc.wc)throw new Q(63);return _.bc.wc(_,e,t,r)}function pe(e){return ve(e,16895,0)}function Ee(e,t,r){void 0===r&&(r=t,t=438),ve(e,8192|t,r)}function me(e,t){if(!((...e)=>{for(var t="",r=!1,_=e.length-1;-1<=_&&!r;_--){if("string"!=typeof(r=0<=_?e[_]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";t=r+"/"+t,r="/"===r.charAt(0)}return(r?"/":"")+(t=R(t.split("/").filter(e=>!!e),!r).join("/"))||"."})(e))throw new Q(44);var r=re(t,{parent:!0}).node;if(!r)throw new Q(44);var _=oe(r,t=t&&t.match(/([^\/]+|\/)\/*$/)[1]);if(_)throw new Q(_);if(!r.bc.zc)throw new Q(63);r.bc.zc(r,t,e)}function we(e,t,r=438){if(""===e)throw new Q(44);if("string"==typeof t){var _={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===_)throw Error(`Unknown file open mode: ${t}`);t=_}if(r=64&t?4095&r|32768:0,"object"==typeof e)_=e;else{var n=e.endsWith("/");_=(e=re(e,{Ac:!(131072&t),Wc:!0})).node,e=e.path}var c=!1;if(64&t)if(_){if(128&t)throw new Q(20)}else{if(n)throw new Q(31);_=ve(e,511|r,0),c=!0}if(!_)throw new Q(44);if(8192==(61440&_.mode)&&(t&=-513),65536&t&&16384!=(61440&_.mode))throw new Q(54);if(!c&&(n=_?40960==(61440&_.mode)?32:16384==(61440&_.mode)&&("r"!==ce(t)||576&t)?31:ae(_,ce(t)):44))throw new Q(n);if(512&t&&!c){if(16384==(61440&(n="string"==typeof(n=_)?re(n,{Ac:!0}).node:n).mode))throw new Q(31);if(32768!=(61440&n.mode))throw new Q(28);var a=ae(n,"w");if(a)throw new Q(a);ue(n,{size:0,timestamp:Date.now()})}t&=-131713;e:for(n=_;;){if(n===n.parent){n=n.lc.Lc;var o=o?"/"!==n[n.length-1]?`${n}/${o}`:n+o:n;break e}o=o?`${n.name}/${o}`:n.name,n=n.parent}return(o=le({node:_,path:o,flags:t,seekable:!0,position:0,$b:_.$b,Xc:[],error:!1})).$b.open&&o.$b.open(o),c&&(r&=511,ue(_="string"==typeof _?re(_,{Ac:!0}).node:_,{mode:4095&r|-4096&_.mode,ec:Date.now(),fd:void 0})),!s.logReadFiles||1&t||e in J||(J[e]=1),o}function Pe(e,t,r){if(null===e.oc)throw new Q(8);if(!e.seekable||!e.$b.ic)throw new Q(70);if(0!=r&&1!=r&&2!=r)throw new Q(28);e.position=e.$b.ic(e,t,r),e.Xc=[]}function ye(e,t,r){e=S("/dev/"+e);var _=((e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r})(!!t,!!r);ye.Jc??(ye.Jc=64);var n=ye.Jc++<<8;he(n,{open(e){e.seekable=!1},close(){r?.buffer?.length&&r(10)},read(e,r,_,n){for(var s=0,c=0;c<n;c++){try{var a=t()}catch(e){throw new Q(29)}if(void 0===a&&0===s)throw new Q(6);if(null==a)break;s++,r[_+c]=a}return s&&(e.node.qc=Date.now()),s},write(e,t,_,n){for(var s=0;s<n;s++)try{r(t[_+s])}catch(e){throw new Q(29)}return n&&(e.node.hc=e.node.ec=Date.now()),s}}),Ee(e,_,n)}var be=void 0;j=Array(4096),de(z,"/"),pe("/tmp"),pe("/home"),pe("/home/web_user"),function(){pe("/dev"),he(259,{read:()=>0,write:(e,t,r,_)=>_,ic:()=>0}),Ee("/dev/null",259),U(1280,M),U(1536,O),Ee("/dev/tty",1280),Ee("/dev/tty1",1536);var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(L(e),t=e.byteLength),e[--t]);ye("random",r),ye("urandom",r),pe("/dev/shm"),pe("/dev/shm/tmp")}(),function(){pe("/proc");var e=pe("/proc/self");pe("/proc/self/fd"),de({lc(){var t=se(e,"fd",16895,73);return t.$b={ic:z.$b.ic},t.bc={sc(e,t){var r=ie(e=+t);return(e={parent:null,lc:{Lc:"fake"},bc:{tc:()=>r.path},id:e+1}).parent=e},Ec:()=>Array.from(V.entries()).filter(([,e])=>e).map(([e])=>e.toString())},t}},"/proc/self/fd")}(),z.Hc=new Q(44),z.Hc.stack="<generic error, no stack>";var Ae,xe={b:function(e,t,r){be=r;try{var _=ie(e);switch(t){case 0:var n=I();if(0>n)break;for(;V[n];)n++;return function(e,t=-1){return e=le(e,t),e.$b?.gd?.(e),e}(_,n).oc;case 1:case 2:case 13:case 14:return 0;case 3:return _.flags;case 4:return n=I(),_.flags|=n,0;case 12:return n=I(),d[n+0>>1]=2,0}return-28}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},f:function(e,t,r){be=r;try{var _=ie(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return _.cc?0:-59;case 21505:if(!_.cc)return-59;if(_.cc.mc.Sc){e=[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var n=I();v[n>>2]=25856,v[n+4>>2]=5,v[n+8>>2]=191,v[n+12>>2]=35387;for(var s=0;32>s;s++)f[n+s+17]=e[s]||0}return 0;case 21506:case 21507:case 21508:if(!_.cc)return-59;if(_.cc.mc.Tc)for(n=I(),e=[],s=0;32>s;s++)e.push(f[n+s+17]);return 0;case 21519:return _.cc?(n=I(),v[n>>2]=0):-59;case 21520:return _.cc?-28:-59;case 21531:if(n=I(),!_.$b.Rc)throw new Q(59);return _.$b.Rc(_,t,n);case 21523:return _.cc?(_.cc.mc.Uc&&(s=[24,80],n=I(),d[n>>1]=s[0],d[n+2>>1]=s[1]),0):-59;default:return-28}}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},g:function(e,t,r,_){be=_;try{var n=t=t?K(h,t):"";if("/"===n.charAt(0))t=n;else{var s=-100===e?"/":ie(e).path;if(0==n.length)throw new Q(44);t=s+"/"+n}return we(t,r,_?I():0).oc}catch(e){if("ErrnoError"!==e.name)throw e;return-e.nc}},i:()=>x(""),h:e=>{var t=h.length;if(2147483648<(e>>>=0))return!1;for(var r=1;4>=r;r*=2){var _=t*(1+.2/r);_=Math.min(_,e+100663296);e:{_=(Math.min(2147483648,65536*Math.ceil(Math.max(e,_)/65536))-u.buffer.byteLength+65535)/65536|0;try{u.grow(_),P();var n=1;break e}catch(e){}n=void 0}if(n)return!0}return!1},a:function(e){try{var t=ie(e);if(null===t.oc)throw new Q(8);t.Cc&&(t.Cc=null);try{t.$b.close&&t.$b.close(t)}catch(e){throw e}finally{V[t.oc]=null}return t.oc=null,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},d:function(e,t,r,_){try{e:{var n=ie(e);e=t;for(var s,c=t=0;c<r;c++){var a=p[e>>2],o=p[e+4>>2];e+=8;var i=n,l=s,u=f;if(0>o||0>l)throw new Q(28);if(null===i.oc)throw new Q(8);if(1==(2097155&i.flags))throw new Q(8);if(16384==(61440&i.node.mode))throw new Q(31);if(!i.$b.read)throw new Q(28);var h=void 0!==l;if(h){if(!i.seekable)throw new Q(70)}else l=i.position;var d=i.$b.read(i,u,a,o,l);h||(i.position+=d);var v=d;if(0>v){var E=-1;break e}if(t+=v,v<o)break;void 0!==s&&(s+=v)}E=t}return p[_>>2]=E,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},e:function(e,t,r,_){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var n=ie(e);return Pe(n,t,r),E[_>>3]=BigInt(n.position),n.Cc&&0===t&&0===r&&(n.Cc=null),0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}},c:function(e,t,r,_){try{e:{var n=ie(e);e=t;for(var s,c=t=0;c<r;c++){var a=p[e>>2],o=p[e+4>>2];e+=8;var i=n,l=a,u=o,h=s,d=f;if(0>u||0>h)throw new Q(28);if(null===i.oc)throw new Q(8);if(!(2097155&i.flags))throw new Q(8);if(16384==(61440&i.node.mode))throw new Q(31);if(!i.$b.write)throw new Q(28);i.seekable&&1024&i.flags&&Pe(i,0,2);var v=void 0!==h;if(v){if(!i.seekable)throw new Q(70)}else h=i.position;var E=i.$b.write(i,d,l,u,h,void 0);v||(i.position+=E);var m=E;if(0>m){var w=-1;break e}if(t+=m,m<o)break;void 0!==s&&(s+=m)}w=t}return p[_>>2]=w,0}catch(e){if("ErrnoError"!==e.name)throw e;return e.nc}}};if(async function(){function e(e){return Ae=e.exports,u=Ae.j,P(),b--,s.monitorRunDependencies?.(b),0==b&&A&&(e=A,A=null,e()),Ae}b++,s.monitorRunDependencies?.(b);var t={a:xe};if(s.instantiateWasm)return new Promise(r=>{s.instantiateWasm(t,(t,_)=>{e(t),r(t.exports)})});y??=s.locateFile?s.locateFile("libphe.browser.wasm",o):o+"libphe.browser.wasm";try{var r=await async function(e){var t=y;if(!m&&"function"==typeof WebAssembly.instantiateStreaming)try{var r=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(r,e)}catch(e){l(`wasm streaming compile failed: ${e}`),l("falling back to ArrayBuffer instantiation")}return N(t,e)}(t);return e(r.instance)}catch(e){return _(e),Promise.reject(e)}}(),s._vsce_error_ctx_size=()=>(s._vsce_error_ctx_size=Ae.l)(),s._vsce_error_reset=e=>(s._vsce_error_reset=Ae.m)(e),s._vsce_error_status=e=>(s._vsce_error_status=Ae.n)(e),s._vsce_phe_server_release_random=e=>(s._vsce_phe_server_release_random=Ae.o)(e),s._vsce_phe_server_release_operation_random=e=>(s._vsce_phe_server_release_operation_random=Ae.p)(e),s._vsce_phe_server_new=()=>(s._vsce_phe_server_new=Ae.q)(),s._vsce_phe_server_delete=e=>(s._vsce_phe_server_delete=Ae.r)(e),s._vsce_phe_server_shallow_copy=e=>(s._vsce_phe_server_shallow_copy=Ae.s)(e),s._vsce_phe_server_use_random=(e,t)=>(s._vsce_phe_server_use_random=Ae.t)(e,t),s._vsce_phe_server_use_operation_random=(e,t)=>(s._vsce_phe_server_use_operation_random=Ae.u)(e,t),s._vsce_phe_server_setup_defaults=e=>(s._vsce_phe_server_setup_defaults=Ae.v)(e),s._vsce_phe_server_generate_server_key_pair=(e,t,r)=>(s._vsce_phe_server_generate_server_key_pair=Ae.w)(e,t,r),s._vsce_phe_server_enrollment_response_len=e=>(s._vsce_phe_server_enrollment_response_len=Ae.x)(e),s._vsce_phe_server_get_enrollment=(e,t,r,_)=>(s._vsce_phe_server_get_enrollment=Ae.y)(e,t,r,_),s._vsce_phe_server_verify_password_response_len=e=>(s._vsce_phe_server_verify_password_response_len=Ae.z)(e),s._vsce_phe_server_verify_password=(e,t,r,_,n)=>(s._vsce_phe_server_verify_password=Ae.A)(e,t,r,_,n),s._vsce_phe_server_update_token_len=e=>(s._vsce_phe_server_update_token_len=Ae.B)(e),s._vsce_phe_server_rotate_keys=(e,t,r,_,n)=>(s._vsce_phe_server_rotate_keys=Ae.C)(e,t,r,_,n),s._vsce_phe_client_release_random=e=>(s._vsce_phe_client_release_random=Ae.D)(e),s._vsce_phe_client_release_operation_random=e=>(s._vsce_phe_client_release_operation_random=Ae.E)(e),s._vsce_phe_client_new=()=>(s._vsce_phe_client_new=Ae.F)(),s._vsce_phe_client_delete=e=>(s._vsce_phe_client_delete=Ae.G)(e),s._vsce_phe_client_shallow_copy=e=>(s._vsce_phe_client_shallow_copy=Ae.H)(e),s._vsce_phe_client_use_random=(e,t)=>(s._vsce_phe_client_use_random=Ae.I)(e,t),s._vsce_phe_client_use_operation_random=(e,t)=>(s._vsce_phe_client_use_operation_random=Ae.J)(e,t),s._vsce_phe_client_setup_defaults=e=>(s._vsce_phe_client_setup_defaults=Ae.K)(e),s._vsce_phe_client_set_keys=(e,t,r)=>(s._vsce_phe_client_set_keys=Ae.L)(e,t,r),s._vsce_phe_client_generate_client_private_key=(e,t)=>(s._vsce_phe_client_generate_client_private_key=Ae.M)(e,t),s._vsce_phe_client_enrollment_record_len=e=>(s._vsce_phe_client_enrollment_record_len=Ae.N)(e),s._vsce_phe_client_enroll_account=(e,t,r,_,n)=>(s._vsce_phe_client_enroll_account=Ae.O)(e,t,r,_,n),s._vsce_phe_client_verify_password_request_len=e=>(s._vsce_phe_client_verify_password_request_len=Ae.P)(e),s._vsce_phe_client_create_verify_password_request=(e,t,r,_)=>(s._vsce_phe_client_create_verify_password_request=Ae.Q)(e,t,r,_),s._vsce_phe_client_check_response_and_decrypt=(e,t,r,_,n)=>(s._vsce_phe_client_check_response_and_decrypt=Ae.R)(e,t,r,_,n),s._vsce_phe_client_rotate_keys=(e,t,r,_)=>(s._vsce_phe_client_rotate_keys=Ae.S)(e,t,r,_),s._vsce_phe_client_update_enrollment_record=(e,t,r,_)=>(s._vsce_phe_client_update_enrollment_record=Ae.T)(e,t,r,_),s._vsce_phe_cipher_release_random=e=>(s._vsce_phe_cipher_release_random=Ae.U)(e),s._vsce_phe_cipher_new=()=>(s._vsce_phe_cipher_new=Ae.V)(),s._vsce_phe_cipher_delete=e=>(s._vsce_phe_cipher_delete=Ae.W)(e),s._vsce_phe_cipher_shallow_copy=e=>(s._vsce_phe_cipher_shallow_copy=Ae.X)(e),s._vsce_phe_cipher_use_random=(e,t)=>(s._vsce_phe_cipher_use_random=Ae.Y)(e,t),s._vsce_phe_cipher_setup_defaults=e=>(s._vsce_phe_cipher_setup_defaults=Ae.Z)(e),s._vsce_phe_cipher_encrypt_len=(e,t)=>(s._vsce_phe_cipher_encrypt_len=Ae._)(e,t),s._vsce_phe_cipher_decrypt_len=(e,t)=>(s._vsce_phe_cipher_decrypt_len=Ae.$)(e,t),s._vsce_phe_cipher_encrypt=(e,t,r,_)=>(s._vsce_phe_cipher_encrypt=Ae.aa)(e,t,r,_),s._vsce_phe_cipher_auth_encrypt=(e,t,r,_,n)=>(s._vsce_phe_cipher_auth_encrypt=Ae.ba)(e,t,r,_,n),s._vsce_phe_cipher_decrypt=(e,t,r,_)=>(s._vsce_phe_cipher_decrypt=Ae.ca)(e,t,r,_),s._vsce_phe_cipher_auth_decrypt=(e,t,r,_,n)=>(s._vsce_phe_cipher_auth_decrypt=Ae.da)(e,t,r,_,n),s._vsce_uokms_client_release_random=e=>(s._vsce_uokms_client_release_random=Ae.ea)(e),s._vsce_uokms_client_release_operation_random=e=>(s._vsce_uokms_client_release_operation_random=Ae.fa)(e),s._vsce_uokms_client_new=()=>(s._vsce_uokms_client_new=Ae.ga)(),s._vsce_uokms_client_delete=e=>(s._vsce_uokms_client_delete=Ae.ha)(e),s._vsce_uokms_client_shallow_copy=e=>(s._vsce_uokms_client_shallow_copy=Ae.ia)(e),s._vsce_uokms_client_use_random=(e,t)=>(s._vsce_uokms_client_use_random=Ae.ja)(e,t),s._vsce_uokms_client_use_operation_random=(e,t)=>(s._vsce_uokms_client_use_operation_random=Ae.ka)(e,t),s._vsce_uokms_client_setup_defaults=e=>(s._vsce_uokms_client_setup_defaults=Ae.la)(e),s._vsce_uokms_client_set_keys_oneparty=(e,t)=>(s._vsce_uokms_client_set_keys_oneparty=Ae.ma)(e,t),s._vsce_uokms_client_set_keys=(e,t,r)=>(s._vsce_uokms_client_set_keys=Ae.na)(e,t,r),s._vsce_uokms_client_generate_client_private_key=(e,t)=>(s._vsce_uokms_client_generate_client_private_key=Ae.oa)(e,t),s._vsce_uokms_client_generate_encrypt_wrap=(e,t,r,_)=>(s._vsce_uokms_client_generate_encrypt_wrap=Ae.pa)(e,t,r,_),s._vsce_uokms_client_decrypt_oneparty=(e,t,r,_)=>(s._vsce_uokms_client_decrypt_oneparty=Ae.qa)(e,t,r,_),s._vsce_uokms_client_generate_decrypt_request=(e,t,r,_)=>(s._vsce_uokms_client_generate_decrypt_request=Ae.ra)(e,t,r,_),s._vsce_uokms_client_process_decrypt_response=(e,t,r,_,n,c,a)=>(s._vsce_uokms_client_process_decrypt_response=Ae.sa)(e,t,r,_,n,c,a),s._vsce_uokms_client_rotate_keys_oneparty=(e,t,r)=>(s._vsce_uokms_client_rotate_keys_oneparty=Ae.ta)(e,t,r),s._vsce_uokms_client_rotate_keys=(e,t,r,_)=>(s._vsce_uokms_client_rotate_keys=Ae.ua)(e,t,r,_),s._vsce_uokms_client_generate_update_token_oneparty=(e,t)=>(s._vsce_uokms_client_generate_update_token_oneparty=Ae.va)(e,t),s._vsce_uokms_server_release_random=e=>(s._vsce_uokms_server_release_random=Ae.wa)(e),s._vsce_uokms_server_release_operation_random=e=>(s._vsce_uokms_server_release_operation_random=Ae.xa)(e),s._vsce_uokms_server_new=()=>(s._vsce_uokms_server_new=Ae.ya)(),s._vsce_uokms_server_delete=e=>(s._vsce_uokms_server_delete=Ae.za)(e),s._vsce_uokms_server_shallow_copy=e=>(s._vsce_uokms_server_shallow_copy=Ae.Aa)(e),s._vsce_uokms_server_use_random=(e,t)=>(s._vsce_uokms_server_use_random=Ae.Ba)(e,t),s._vsce_uokms_server_use_operation_random=(e,t)=>(s._vsce_uokms_server_use_operation_random=Ae.Ca)(e,t),s._vsce_uokms_server_setup_defaults=e=>(s._vsce_uokms_server_setup_defaults=Ae.Da)(e),s._vsce_uokms_server_generate_server_key_pair=(e,t,r)=>(s._vsce_uokms_server_generate_server_key_pair=Ae.Ea)(e,t,r),s._vsce_uokms_server_decrypt_response_len=e=>(s._vsce_uokms_server_decrypt_response_len=Ae.Fa)(e),s._vsce_uokms_server_process_decrypt_request=(e,t,r,_)=>(s._vsce_uokms_server_process_decrypt_request=Ae.Ga)(e,t,r,_),s._vsce_uokms_server_rotate_keys=(e,t,r,_,n)=>(s._vsce_uokms_server_rotate_keys=Ae.Ha)(e,t,r,_,n),s._vsce_uokms_wrap_rotation_release_operation_random=e=>(s._vsce_uokms_wrap_rotation_release_operation_random=Ae.Ia)(e),s._vsce_uokms_wrap_rotation_new=()=>(s._vsce_uokms_wrap_rotation_new=Ae.Ja)(),s._vsce_uokms_wrap_rotation_delete=e=>(s._vsce_uokms_wrap_rotation_delete=Ae.Ka)(e),s._vsce_uokms_wrap_rotation_shallow_copy=e=>(s._vsce_uokms_wrap_rotation_shallow_copy=Ae.La)(e),s._vsce_uokms_wrap_rotation_use_operation_random=(e,t)=>(s._vsce_uokms_wrap_rotation_use_operation_random=Ae.Ma)(e,t),s._vsce_uokms_wrap_rotation_setup_defaults=e=>(s._vsce_uokms_wrap_rotation_setup_defaults=Ae.Na)(e),s._vsce_uokms_wrap_rotation_set_update_token=(e,t)=>(s._vsce_uokms_wrap_rotation_set_update_token=Ae.Oa)(e,t),s._vsce_uokms_wrap_rotation_update_wrap=(e,t,r)=>(s._vsce_uokms_wrap_rotation_update_wrap=Ae.Pa)(e,t,r),s._vscf_impl_api=(e,t)=>(s._vscf_impl_api=Ae.Qa)(e,t),s._vscf_impl_tag=e=>(s._vscf_impl_tag=Ae.Ra)(e),s._vscf_impl_shallow_copy=e=>(s._vscf_impl_shallow_copy=Ae.Sa)(e),s._vscf_error_ctx_size=()=>(s._vscf_error_ctx_size=Ae.Ta)(),s._vscf_error_reset=e=>(s._vscf_error_reset=Ae.Ua)(e),s._vscf_error_status=e=>(s._vscf_error_status=Ae.Va)(e),s._vscf_sha512_alg_id=e=>(s._vscf_sha512_alg_id=Ae.Wa)(e),s._vscf_sha512_produce_alg_info=e=>(s._vscf_sha512_produce_alg_info=Ae.Xa)(e),s._vscf_sha512_restore_alg_info=(e,t)=>(s._vscf_sha512_restore_alg_info=Ae.Ya)(e,t),s._vscf_sha512_hash=(e,t)=>(s._vscf_sha512_hash=Ae.Za)(e,t),s._vscf_sha512_finish=(e,t)=>(s._vscf_sha512_finish=Ae._a)(e,t),s._vscf_sha512_start=e=>(s._vscf_sha512_start=Ae.$a)(e),s._vscf_sha512_update=(e,t)=>(s._vscf_sha512_update=Ae.ab)(e,t),s._vscf_sha512_new=()=>(s._vscf_sha512_new=Ae.bb)(),s._vscf_sha512_delete=e=>(s._vscf_sha512_delete=Ae.cb)(e),s._vscf_sha512_shallow_copy=e=>(s._vscf_sha512_shallow_copy=Ae.db)(e),s._vscf_ctr_drbg_setup_defaults=e=>(s._vscf_ctr_drbg_setup_defaults=Ae.eb)(e),s._vscf_ctr_drbg_enable_prediction_resistance=e=>(s._vscf_ctr_drbg_enable_prediction_resistance=Ae.fb)(e),s._vscf_ctr_drbg_set_reseed_interval=(e,t)=>(s._vscf_ctr_drbg_set_reseed_interval=Ae.gb)(e,t),s._vscf_ctr_drbg_set_entropy_len=(e,t)=>(s._vscf_ctr_drbg_set_entropy_len=Ae.hb)(e,t),s._vscf_ctr_drbg_random=(e,t,r)=>(s._vscf_ctr_drbg_random=Ae.ib)(e,t,r),s._vscf_ctr_drbg_reseed=e=>(s._vscf_ctr_drbg_reseed=Ae.jb)(e),s._vscf_ctr_drbg_use_entropy_source=(e,t)=>(s._vscf_ctr_drbg_use_entropy_source=Ae.kb)(e,t),s._vscf_ctr_drbg_release_entropy_source=e=>(s._vscf_ctr_drbg_release_entropy_source=Ae.lb)(e),s._vscf_ctr_drbg_new=()=>(s._vscf_ctr_drbg_new=Ae.mb)(),s._vscf_ctr_drbg_delete=e=>(s._vscf_ctr_drbg_delete=Ae.nb)(e),s._vscf_ctr_drbg_shallow_copy=e=>(s._vscf_ctr_drbg_shallow_copy=Ae.ob)(e),s._vscf_hmac_alg_id=e=>(s._vscf_hmac_alg_id=Ae.pb)(e),s._vscf_hmac_produce_alg_info=e=>(s._vscf_hmac_produce_alg_info=Ae.qb)(e),s._vscf_hmac_restore_alg_info=(e,t)=>(s._vscf_hmac_restore_alg_info=Ae.rb)(e,t),s._vscf_hmac_digest_len=e=>(s._vscf_hmac_digest_len=Ae.sb)(e),s._vscf_hmac_mac=(e,t,r,_)=>(s._vscf_hmac_mac=Ae.tb)(e,t,r,_),s._vscf_hmac_start=(e,t)=>(s._vscf_hmac_start=Ae.ub)(e,t),s._vscf_hmac_finish=(e,t)=>(s._vscf_hmac_finish=Ae.vb)(e,t),s._vscf_hmac_update=(e,t)=>(s._vscf_hmac_update=Ae.wb)(e,t),s._vscf_hmac_reset=e=>(s._vscf_hmac_reset=Ae.xb)(e),s._vscf_hmac_use_hash=(e,t)=>(s._vscf_hmac_use_hash=Ae.yb)(e,t),s._vscf_hmac_release_hash=e=>(s._vscf_hmac_release_hash=Ae.zb)(e),s._vscf_hmac_new=()=>(s._vscf_hmac_new=Ae.Ab)(),s._vscf_hmac_delete=e=>(s._vscf_hmac_delete=Ae.Bb)(e),s._vscf_hmac_shallow_copy=e=>(s._vscf_hmac_shallow_copy=Ae.Cb)(e),s._vscf_hkdf_alg_id=e=>(s._vscf_hkdf_alg_id=Ae.Db)(e),s._vscf_hkdf_produce_alg_info=e=>(s._vscf_hkdf_produce_alg_info=Ae.Eb)(e),s._vscf_hkdf_restore_alg_info=(e,t)=>(s._vscf_hkdf_restore_alg_info=Ae.Fb)(e,t),s._vscf_hkdf_derive=(e,t,r,_)=>(s._vscf_hkdf_derive=Ae.Gb)(e,t,r,_),s._vscf_hkdf_reset=(e,t,r)=>(s._vscf_hkdf_reset=Ae.Hb)(e,t,r),s._vscf_hkdf_set_info=(e,t)=>(s._vscf_hkdf_set_info=Ae.Ib)(e,t),s._vscf_hkdf_use_hash=(e,t)=>(s._vscf_hkdf_use_hash=Ae.Jb)(e,t),s._vscf_hkdf_release_hash=e=>(s._vscf_hkdf_release_hash=Ae.Kb)(e),s._vscf_hkdf_new=()=>(s._vscf_hkdf_new=Ae.Lb)(),s._vscf_hkdf_delete=e=>(s._vscf_hkdf_delete=Ae.Mb)(e),s._vscf_hkdf_shallow_copy=e=>(s._vscf_hkdf_shallow_copy=Ae.Nb)(e),s._vsc_data_ctx_size=()=>(s._vsc_data_ctx_size=Ae.Ob)(),s._vsc_data=(e,t,r)=>(s._vsc_data=Ae.Pb)(e,t,r),s._vsc_data_len=e=>(s._vsc_data_len=Ae.Qb)(e),s._vsc_data_bytes=e=>(s._vsc_data_bytes=Ae.Rb)(e),s._vsc_buffer_new=()=>(s._vsc_buffer_new=Ae.Sb)(),s._vsc_buffer_new_with_capacity=e=>(s._vsc_buffer_new_with_capacity=Ae.Tb)(e),s._vsc_buffer_delete=e=>(s._vsc_buffer_delete=Ae.Ub)(e),s._vsc_buffer_data=(e,t)=>(s._vsc_buffer_data=Ae.Vb)(e,t),s._vsc_buffer_make_secure=e=>(s._vsc_buffer_make_secure=Ae.Wb)(e),s._vsc_buffer_bytes=e=>(s._vsc_buffer_bytes=Ae.Xb)(e),s._vsc_buffer_len=e=>(s._vsc_buffer_len=Ae.Yb)(e),s._malloc=e=>(s._malloc=Ae.Zb)(e),s._free=e=>(s._free=Ae._b)(e),s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.pop()();return function e(){function r(){if(s.calledRun=!0,!w){var e,r;if(s.noFSInit||Z||(Z=!0,_??=s.stdin,e??=s.stdout,r??=s.stderr,_?ye("stdin",_):me("/dev/tty","/dev/stdin"),e?ye("stdout",null,e):me("/dev/tty","/dev/stdout"),r?ye("stderr",null,r):me("/dev/tty1","/dev/stderr"),we("/dev/stdin",0),we("/dev/stdout",1),we("/dev/stderr",1)),Ae.k(),X=!1,t(s),s.onRuntimeInitialized?.(),s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;){var _=s.postRun.shift();T.unshift(_)}g(T)}}if(0<b)A=e;else{if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)k();g(C),0<b?A=e:s.setStatus?(s.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>s.setStatus(""),1),r()},1)):r()}}(),c},e.exports=_,e.exports.default=_),l.exports;var e,r,_}var f,h,d,v,p,E,m,w,P,y,b,A={};function x(){if(f)return A;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return f=1,A.ensureNumber=e,A.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},A.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},A.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},A.ensureClass=function(e,r,_){if(!(r instanceof _))throw new TypeError(`'${e}' is not an instance of the class ${_.name}`);t(e,r.ctxPtr)},A.ensureNotNull=t,A.ensureImplementInterface=function(e,r,_,n,s){if(t(e,r.ctxPtr),!s.isImplemented(r.ctxPtr,n))throw new TypeError(`'${e}' does not implement interface '${_}'`)},A}var N,g,T,C,k,I,R,S,H,L,F,K,B,Y,U,D,M,O={};function G(){if(N)return O;function e(e,t){if(!("number"==typeof t||t instanceof Number))throw new TypeError(`'${e}' is not a number`);if(Number.isNaN(t))throw new TypeError(`'${e}' is NaN`);if(t===1/0)throw new TypeError(`'${e}' is Infinity`);if(t===-1/0)throw new TypeError(`'${e}' is -Infinity`)}function t(t,r){if(e(t,r),0==r)throw new TypeError(`'${t}' is NULL`)}return N=1,O.ensureNumber=e,O.ensureString=function(e,t){if(!("string"==typeof t||t instanceof String))throw new TypeError(`'${e}' is not a string`)},O.ensureBoolean=function(e,t){if("boolean"!=typeof t)throw new TypeError(`'${e}' is not a boolean`)},O.ensureByteArray=function(e,t){if(!(t instanceof Uint8Array))throw new TypeError(`'${e}' is not an Uint8Array`)},O.ensureClass=function(e,r,_){if(!(r instanceof _))throw new TypeError(`'${e}' is not an instance of the class ${_.name}`);t(e,r.ctxPtr)},O.ensureNotNull=t,O.ensureImplementInterface=function(e,r,_,n,s){if(t(e,r.ctxPtr),!s.isImplemented(r.ctxPtr,n))throw new TypeError(`'${e}' does not implement interface '${_}'`)},O}var z=function(){if(M)return D;M=1;const e=u(),t=_?r:(_=1,r=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="FoundationError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("This error should not be returned if assertions is enabled.");if(-2==e)throw new r("Can be used to define that not all context prerequisites are satisfied. Note, this error should not be returned if assertions is enabled.");if(-3==e)throw new r("Define that error code from one of third-party module was not handled. Note, this error should not be returned if assertions is enabled.");if(-101==e)throw new r("Buffer capacity is not enough to hold result.");if(-200==e)throw new r("Unsupported algorithm.");if(-201==e)throw new r("Authentication failed during decryption.");if(-202==e)throw new r("Attempt to read data out of buffer bounds.");if(-203==e)throw new r("ASN.1 encoded data is corrupted.");if(-204==e)throw new r("Attempt to read ASN.1 type that is bigger then requested C type.");if(-205==e)throw new r("ASN.1 representation of PKCS#1 public key is corrupted.");if(-206==e)throw new r("ASN.1 representation of PKCS#1 private key is corrupted.");if(-207==e)throw new r("ASN.1 representation of PKCS#8 public key is corrupted.");if(-208==e)throw new r("ASN.1 representation of PKCS#8 private key is corrupted.");if(-209==e)throw new r("Encrypted data is corrupted.");if(-210==e)throw new r("Underlying random operation returns error.");if(-211==e)throw new r("Generation of the private or secret key failed.");if(-212==e)throw new r("One of the entropy sources failed.");if(-213==e)throw new r("Requested data to be generated is too big.");if(-214==e)throw new r("Base64 encoded string contains invalid characters.");if(-215==e)throw new r("PEM data is corrupted.");if(-216==e)throw new r("Exchange key return zero.");if(-217==e)throw new r("Ed25519 public key is corrupted.");if(-218==e)throw new r("Ed25519 private key is corrupted.");if(-219==e)throw new r("CURVE25519 public key is corrupted.");if(-220==e)throw new r("CURVE25519 private key is corrupted.");if(-221==e)throw new r("Elliptic curve public key format is corrupted see RFC 5480.");if(-222==e)throw new r("Elliptic curve public key format is corrupted see RFC 5915.");if(-223==e)throw new r("ASN.1 representation of a public key is corrupted.");if(-224==e)throw new r("ASN.1 representation of a private key is corrupted.");if(-225==e)throw new r("Key algorithm does not accept given type of public key.");if(-226==e)throw new r("Key algorithm does not accept given type of private key.");if(-227==e)throw new r("Post-quantum Falcon-Sign public key is corrupted.");if(-228==e)throw new r("Post-quantum Falcon-Sign private key is corrupted.");if(-232==e)throw new r("Compound public key is corrupted.");if(-233==e)throw new r("Compound private key is corrupted.");if(-234==e)throw new r("Compound public hybrid key is corrupted.");if(-235==e)throw new r("Compound private hybrid key is corrupted.");if(-236==e)throw new r("ASN.1 AlgorithmIdentifer is corrupted.");if(-237==e)throw new r("ASN.1 AlgorithmIdentifer with ECParameters is corrupted.");if(-238==e)throw new r("ASN.1 AlgorithmIdentifer with CompoundKeyParams is corrupted.");if(-239==e)throw new r("ASN.1 AlgorithmIdentifer with HybridKeyParams is corrupted.");if(-240==e)throw new r("Post-quantum ML-KEM-768 public key is corrupted.");if(-241==e)throw new r("Post-quantum ML-KEM-768 private key is corrupted.");if(-242==e)throw new r("Post-quantum ML-DSA-65 public key is corrupted.");if(-243==e)throw new r("Post-quantum ML-DSA-65 private key is corrupted.");if(-301==e)throw new r("Decryption failed, because message info was not given explicitly, and was not part of an encrypted message.");if(-302==e)throw new r("Message Info is corrupted.");if(-303==e)throw new r("Recipient defined with id is not found within message info during data decryption.");if(-304==e)throw new r("Content encryption key can not be decrypted with a given private key.");if(-305==e)throw new r("Content encryption key can not be decrypted with a given password.");if(-306==e)throw new r("Custom parameter with a given key is not found within message info.");if(-307==e)throw new r("A custom parameter with a given key is found, but the requested value type does not correspond to the actual type.");if(-308==e)throw new r("Signature format is corrupted.");if(-309==e)throw new r("Message Info footer is corrupted.");if(-310==e)throw new r("Chunk cipher frame counter limit is reached, so no more chunks can be processed under the same key and nonce.");if(-311==e)throw new r("Content encryption key can not be decrypted with a given key encryption key (KEK).");if(-401==e)throw new r("Brainkey password length is out of range.");if(-402==e)throw new r("Brainkey number length should be 32 byte.");if(-403==e)throw new r("Brainkey point length should be 65 bytes.");if(-404==e)throw new r("Brainkey name is out of range.");if(-405==e)throw new r("Brainkey internal error.");if(-406==e)throw new r("Brainkey point is invalid.");if(-407==e)throw new r("Brainkey number buffer length capacity should be >= 32 byte.");if(-408==e)throw new r("Brainkey point buffer length capacity should be >= 32 byte.");if(-409==e)throw new r("Brainkey seed buffer length capacity should be >= 32 byte.");if(-410==e)throw new r("Brainkey identity secret is invalid.");if(-411==e)throw new r("KEM encapsulated key is invalid or does not correspond to the private key.");if(-501==e)throw new r("Invalid padding.");if(-601==e)throw new r("Protobuf error.");if(-701==e)throw new r("Session id doesnt match.");if(-702==e)throw new r("Epoch not found.");if(-703==e)throw new r("Wrong key type.");if(-704==e)throw new r("Invalid signature.");if(-705==e)throw new r("Ed25519 error.");if(-706==e)throw new r("Duplicate epoch.");if(-707==e)throw new r("Plain text too long.");throw new r("Unexpected status code:"+e)}}}return r}),l=s?n:(s=1,n=(e,t)=>class{static newAndTakeCContext(r){const _=e._vscf_impl_tag(r);switch(_){case t.FoundationImplTag.AES128_KW:return t.Aes128Kw.newAndTakeCContext(r);case t.FoundationImplTag.AES256_CBC:return t.Aes256Cbc.newAndTakeCContext(r);case t.FoundationImplTag.AES256_GCM:return t.Aes256Gcm.newAndTakeCContext(r);case t.FoundationImplTag.AES256_KW:return t.Aes256Kw.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_DESERIALIZER:return t.AlgInfoDerDeserializer.newAndTakeCContext(r);case t.FoundationImplTag.ALG_INFO_DER_SERIALIZER:return t.AlgInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ASN1RD:return t.Asn1rd.newAndTakeCContext(r);case t.FoundationImplTag.ASN1WR:return t.Asn1wr.newAndTakeCContext(r);case t.FoundationImplTag.CIPHER_ALG_INFO:return t.CipherAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG:return t.CompoundKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_KEY_ALG_INFO:return t.CompoundKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PRIVATE_KEY:return t.CompoundPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.COMPOUND_PUBLIC_KEY:return t.CompoundPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.CTR_DRBG:return t.CtrDrbg.newAndTakeCContext(r);case t.FoundationImplTag.CURVE25519:return t.Curve25519.newAndTakeCContext(r);case t.FoundationImplTag.ECC:return t.Ecc.newAndTakeCContext(r);case t.FoundationImplTag.ECC_ALG_INFO:return t.EccAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PRIVATE_KEY:return t.EccPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.ECC_PUBLIC_KEY:return t.EccPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.ED25519:return t.Ed25519.newAndTakeCContext(r);case t.FoundationImplTag.ENTROPY_ACCUMULATOR:return t.EntropyAccumulator.newAndTakeCContext(r);case t.FoundationImplTag.FAKE_RANDOM:return t.FakeRandom.newAndTakeCContext(r);case t.FoundationImplTag.FALCON:return t.Falcon.newAndTakeCContext(r);case t.FoundationImplTag.HASH_BASED_ALG_INFO:return t.HashBasedAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HKDF:return t.Hkdf.newAndTakeCContext(r);case t.FoundationImplTag.HMAC:return t.Hmac.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG:return t.HybridKeyAlg.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_KEY_ALG_INFO:return t.HybridKeyAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PRIVATE_KEY:return t.HybridPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.HYBRID_PUBLIC_KEY:return t.HybridPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.KDF1:return t.Kdf1.newAndTakeCContext(r);case t.FoundationImplTag.KDF2:return t.Kdf2.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_DESERIALIZER:return t.KeyAsn1Deserializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_ASN1_SERIALIZER:return t.KeyAsn1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.KEY_MATERIAL_RNG:return t.KeyMaterialRng.newAndTakeCContext(r);case t.FoundationImplTag.MESSAGE_INFO_DER_SERIALIZER:return t.MessageInfoDerSerializer.newAndTakeCContext(r);case t.FoundationImplTag.ML_DSA:return t.MlDsa.newAndTakeCContext(r);case t.FoundationImplTag.ML_KEM:return t.MlKem.newAndTakeCContext(r);case t.FoundationImplTag.PBE_ALG_INFO:return t.PbeAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBES2:return t.Pkcs5Pbes2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS5_PBKDF2:return t.Pkcs5Pbkdf2.newAndTakeCContext(r);case t.FoundationImplTag.PKCS8_SERIALIZER:return t.Pkcs8Serializer.newAndTakeCContext(r);case t.FoundationImplTag.RANDOM_PADDING:return t.RandomPadding.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PRIVATE_KEY:return t.RawPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RAW_PUBLIC_KEY:return t.RawPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA:return t.Rsa.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PRIVATE_KEY:return t.RsaPrivateKey.newAndTakeCContext(r);case t.FoundationImplTag.RSA_PUBLIC_KEY:return t.RsaPublicKey.newAndTakeCContext(r);case t.FoundationImplTag.SALTED_KDF_ALG_INFO:return t.SaltedKdfAlgInfo.newAndTakeCContext(r);case t.FoundationImplTag.SEC1_SERIALIZER:return t.Sec1Serializer.newAndTakeCContext(r);case t.FoundationImplTag.SEED_ENTROPY_SOURCE:return t.SeedEntropySource.newAndTakeCContext(r);case t.FoundationImplTag.SHA224:return t.Sha224.newAndTakeCContext(r);case t.FoundationImplTag.SHA256:return t.Sha256.newAndTakeCContext(r);case t.FoundationImplTag.SHA384:return t.Sha384.newAndTakeCContext(r);case t.FoundationImplTag.SHA512:return t.Sha512.newAndTakeCContext(r);case t.FoundationImplTag.SIMPLE_ALG_INFO:return t.SimpleAlgInfo.newAndTakeCContext(r);default:throw new Error("Unexpected implementation tag found: "+_)}}static newAndUseCContext(r){return new t.FoundationInterface.newAndTakeCContext(e._vscf_impl_shallow_copy(r))}static isImplemented(t,r){return 0!=e._vscf_impl_api(t,r)}}),f=a?c:(a=1,c=(e,t)=>Object.freeze({ALG:1,ALG_INFO:2,ALG_INFO_DESERIALIZER:3,ALG_INFO_SERIALIZER:4,ASN1_READER:5,ASN1_WRITER:6,AUTH_DECRYPT:7,AUTH_ENCRYPT:8,CIPHER:9,CIPHER_AUTH:10,CIPHER_AUTH_INFO:11,CIPHER_INFO:12,COMPUTE_SHARED_KEY:13,DECRYPT:14,ENCRYPT:15,ENTROPY_SOURCE:16,HASH:17,KDF:18,KEM:19,KEY:20,KEY_ALG:21,KEY_CIPHER:22,KEY_DESERIALIZER:23,KEY_SERIALIZER:24,KEY_SIGNER:25,KEY_WRAP:26,MAC:27,MESSAGE_INFO_FOOTER_SERIALIZER:28,MESSAGE_INFO_SERIALIZER:29,PADDING:30,PRIVATE_KEY:31,PUBLIC_KEY:32,RANDOM:33,SALTED_KDF:34})),A=i?o:(i=1,o=(e,t)=>Object.freeze({AES128_KW:1,AES256_CBC:2,AES256_GCM:3,AES256_KW:4,ALG_INFO_DER_DESERIALIZER:5,ALG_INFO_DER_SERIALIZER:6,ASN1RD:7,ASN1WR:8,CIPHER_ALG_INFO:9,COMPOUND_KEY_ALG:10,COMPOUND_KEY_ALG_INFO:11,COMPOUND_PRIVATE_KEY:12,COMPOUND_PUBLIC_KEY:13,CTR_DRBG:14,CURVE25519:15,ECC:16,ECC_ALG_INFO:17,ECC_PRIVATE_KEY:18,ECC_PUBLIC_KEY:19,ED25519:20,ENTROPY_ACCUMULATOR:21,FAKE_RANDOM:22,FALCON:23,HASH_BASED_ALG_INFO:24,HKDF:25,HMAC:26,HYBRID_KEY_ALG:27,HYBRID_KEY_ALG_INFO:28,HYBRID_PRIVATE_KEY:29,HYBRID_PUBLIC_KEY:30,KDF1:31,KDF2:32,KEY_ASN1_DESERIALIZER:33,KEY_ASN1_SERIALIZER:34,KEY_MATERIAL_RNG:35,MESSAGE_INFO_DER_SERIALIZER:36,ML_DSA:37,ML_KEM:38,PBE_ALG_INFO:39,PKCS5_PBES2:40,PKCS5_PBKDF2:41,PKCS8_SERIALIZER:42,RANDOM_PADDING:43,RAW_PRIVATE_KEY:44,RAW_PUBLIC_KEY:45,RSA:46,RSA_PRIVATE_KEY:47,RSA_PUBLIC_KEY:48,SALTED_KDF_ALG_INFO:49,SEC1_SERIALIZER:50,SEED_ENTROPY_SOURCE:51,SHA224:52,SHA256:53,SHA384:54,SHA512:55,SIMPLE_ALG_INFO:56})),N=function(){if(d)return h;d=1;const e=x();return h=(t,r)=>{class _{constructor(e){this.name="CtrDrbg",this.ctxPtr=void 0===e?t._vscf_ctr_drbg_new():e}static newAndUseCContext(e){return new _(t._vscf_ctr_drbg_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_ctr_drbg_delete(this.ctxPtr),this.ctxPtr=null)}set entropySource(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("entropySource",_,"Foundation.EntropySource",r.FoundationInterfaceTag.ENTROPY_SOURCE,r.FoundationInterface),t._vscf_ctr_drbg_release_entropy_source(this.ctxPtr),t._vscf_ctr_drbg_use_entropy_source(this.ctxPtr,_.ctxPtr)}static get RESEED_INTERVAL(){return 1e4}get RESEED_INTERVAL(){return 1e4}static get ENTROPY_LEN(){return 48}get ENTROPY_LEN(){return 48}random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("dataLen",_);const n=_,s=t._vsc_buffer_new_with_capacity(n);try{const e=t._vscf_ctr_drbg_random(this.ctxPtr,_,s);r.FoundationError.handleStatusCode(e);const n=t._vsc_buffer_bytes(s),c=t._vsc_buffer_len(s);return t.HEAPU8.slice(n,n+c)}finally{t._vsc_buffer_delete(s)}}reseed(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vscf_ctr_drbg_reseed(this.ctxPtr);r.FoundationError.handleStatusCode(_)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vscf_ctr_drbg_setup_defaults(this.ctxPtr);r.FoundationError.handleStatusCode(_)}enablePredictionResistance(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_ctr_drbg_enable_prediction_resistance(this.ctxPtr)}setReseedInterval(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("interval",r),t._vscf_ctr_drbg_set_reseed_interval(this.ctxPtr,r)}setEntropyLen(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("len",r),t._vscf_ctr_drbg_set_entropy_len(this.ctxPtr,r)}}return _}}(),O=function(){if(p)return v;p=1;const e=x();return v=(t,r)=>{class _{constructor(e){this.name="Hmac",this.ctxPtr=void 0===e?t._vscf_hmac_new():e}static newAndUseCContext(e){return new _(t._vscf_hmac_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hmac_delete(this.ctxPtr),this.ctxPtr=null)}set hash(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",_,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hmac_release_hash(this.ctxPtr),t._vscf_hmac_use_hash(this.ctxPtr,_.ctxPtr)}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_hmac_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_hmac_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}digestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hmac_digest_len(this.ctxPtr),r}mac(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r),e.ensureByteArray("data",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=_.length*_.BYTES_PER_ELEMENT,i=t._malloc(o);t.HEAP8.set(_,i);const l=t._vsc_data_ctx_size(),u=t._malloc(l);t._vsc_data(u,i,o);const f=this.digestLen(),h=t._vsc_buffer_new_with_capacity(f);try{t._vscf_hmac_mac(this.ctxPtr,a,u,h);const e=t._vsc_buffer_bytes(h),r=t._vsc_buffer_len(h);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(a),t._free(i),t._free(u),t._vsc_buffer_delete(h)}}start(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("key",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hmac_start(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hmac_update(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.digestLen(),_=t._vsc_buffer_new_with_capacity(r);try{t._vscf_hmac_finish(this.ctxPtr,_);const e=t._vsc_buffer_bytes(_),r=t._vsc_buffer_len(_);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(_)}}reset(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_hmac_reset(this.ctxPtr)}}return _}}(),z=function(){if(m)return E;m=1;const e=x();return E=(t,r)=>{class _{constructor(e){this.name="Hkdf",this.ctxPtr=void 0===e?t._vscf_hkdf_new():e}static newAndUseCContext(e){return new _(t._vscf_hkdf_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_hkdf_delete(this.ctxPtr),this.ctxPtr=null)}set hash(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("hash",_,"Foundation.Hash",r.FoundationInterfaceTag.HASH,r.FoundationInterface),t._vscf_hkdf_release_hash(this.ctxPtr),t._vscf_hkdf_use_hash(this.ctxPtr,_.ctxPtr)}static get HASH_COUNTER_MAX(){return 255}get HASH_COUNTER_MAX(){return 255}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_hkdf_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_hkdf_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_hkdf_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}derive(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r),e.ensureNumber("keyLen",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=_,i=t._vsc_buffer_new_with_capacity(o);try{t._vscf_hkdf_derive(this.ctxPtr,a,_,i);const e=t._vsc_buffer_bytes(i),r=t._vsc_buffer_len(i);return t.HEAPU8.slice(e,e+r)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}reset(r,_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("salt",r),e.ensureNumber("iterationCount",_);const n=r.length*r.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(r,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{t._vscf_hkdf_reset(this.ctxPtr,a,_)}finally{t._free(s),t._free(a)}}setInfo(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("info",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_hkdf_set_info(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}}return _}}(),$=function(){if(P)return w;P=1;const e=x();return w=(t,r)=>{class _{constructor(e){this.name="Sha512",this.ctxPtr=void 0===e?t._vscf_sha512_new():e}static newAndUseCContext(e){return new _(t._vscf_sha512_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vscf_sha512_delete(this.ctxPtr),this.ctxPtr=null)}static get DIGEST_LEN(){return 64}get DIGEST_LEN(){return 64}static get BLOCK_LEN(){return 128}get BLOCK_LEN(){return 128}algId(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vscf_sha512_alg_id(this.ctxPtr),r}produceAlgInfo(){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),_=t._vscf_sha512_produce_alg_info(this.ctxPtr),r.FoundationInterface.newAndTakeCContext(_)}restoreAlgInfo(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("algInfo",_,"Foundation.AlgInfo",r.FoundationInterfaceTag.ALG_INFO,r.FoundationInterface);const n=t._vscf_sha512_restore_alg_info(this.ctxPtr,_.ctxPtr);r.FoundationError.handleStatusCode(n)}static hash(r){e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);const a=this.DIGEST_LEN,o=t._vsc_buffer_new_with_capacity(a);try{t._vscf_sha512_hash(c,o);const e=t._vsc_buffer_bytes(o),r=t._vsc_buffer_len(o);return t.HEAPU8.slice(e,e+r)}finally{t._free(n),t._free(c),t._vsc_buffer_delete(o)}}hash(e){return _.hash(e)}start(){e.ensureNotNull("this.ctxPtr",this.ctxPtr),t._vscf_sha512_start(this.ctxPtr)}update(r){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("data",r);const _=r.length*r.BYTES_PER_ELEMENT,n=t._malloc(_);t.HEAP8.set(r,n);const s=t._vsc_data_ctx_size(),c=t._malloc(s);t._vsc_data(c,n,_);try{t._vscf_sha512_update(this.ctxPtr,c)}finally{t._free(n),t._free(c)}}finish(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const r=this.DIGEST_LEN,_=t._vsc_buffer_new_with_capacity(r);try{t._vscf_sha512_finish(this.ctxPtr,_);const e=t._vsc_buffer_bytes(_),r=t._vsc_buffer_len(_);return t.HEAPU8.slice(e,e+r)}finally{t._vsc_buffer_delete(_)}}}return _}}(),q=b?y:(b=1,y=(e,t)=>{class r extends Error{constructor(e){super(e),this.name="PheError",this.message=e}static handleStatusCode(e){if(0!=e){if(-1==e)throw new r("Success proof check failed.");if(-2==e)throw new r("Failure proof check failed.");if(-3==e)throw new r("RNG returned error.");if(-4==e)throw new r("Protobuf decode failed.");if(-5==e)throw new r("Invalid public key.");if(-6==e)throw new r("Invalid private key.");if(-7==e)throw new r("AES error occurred.");throw new r("Unexpected status code:"+e)}}}return r}),V=T?g:(T=1,G(),g=(e,t)=>class{static get PHE_POINT_LENGTH(){return 65}get PHE_POINT_LENGTH(){return 65}static get PHE_MAX_PASSWORD_LENGTH(){return 128}get PHE_MAX_PASSWORD_LENGTH(){return 128}static get PHE_SERVER_IDENTIFIER_LENGTH(){return 32}get PHE_SERVER_IDENTIFIER_LENGTH(){return 32}static get PHE_CLIENT_IDENTIFIER_LENGTH(){return 32}get PHE_CLIENT_IDENTIFIER_LENGTH(){return 32}static get PHE_ACCOUNT_KEY_LENGTH(){return 32}get PHE_ACCOUNT_KEY_LENGTH(){return 32}static get PHE_PRIVATE_KEY_LENGTH(){return 32}get PHE_PRIVATE_KEY_LENGTH(){return 32}static get PHE_PUBLIC_KEY_LENGTH(){return 65}get PHE_PUBLIC_KEY_LENGTH(){return 65}static get PHE_HASH_LEN(){return 32}get PHE_HASH_LEN(){return 32}static get PHE_MAX_ENCRYPT_LEN(){return 1048512}get PHE_MAX_ENCRYPT_LEN(){return 1048512}static get PHE_MAX_DECRYPT_LEN(){return 1048576}get PHE_MAX_DECRYPT_LEN(){return 1048576}static get PHE_MAX_AUTH_LEN(){return 1024}get PHE_MAX_AUTH_LEN(){return 1024}}),W=function(){if(k)return C;k=1;const e=G();return C=(t,r)=>{class _{constructor(e){this.name="PheServer",this.ctxPtr=void 0===e?t._vsce_phe_server_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_server_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_server_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_server_release_random(this.ctxPtr),t._vsce_phe_server_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_server_release_operation_random(this.ctxPtr),t._vsce_phe_server_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_server_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}generateServerKeyPair(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_),s=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,c=t._vsc_buffer_new_with_capacity(s);try{const e=t._vsce_phe_server_generate_server_key_pair(this.ctxPtr,n,c);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n),a=t.HEAPU8.slice(_,_+s),o=t._vsc_buffer_bytes(c),i=t._vsc_buffer_len(c);return{serverPrivateKey:a,serverPublicKey:t.HEAPU8.slice(o,o+i)}}finally{t._vsc_buffer_delete(n),t._vsc_buffer_delete(c)}}enrollmentResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_enrollment_response_len(this.ctxPtr),r}getEnrollment(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentResponseLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_server_get_enrollment(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}verifyPasswordResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_verify_password_response_len(this.ctxPtr),r}verifyPassword(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("serverPublicKey",n),e.ensureByteArray("verifyPasswordRequest",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.verifyPasswordResponseLen(),w=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_server_verify_password(this.ctxPtr,i,h,E,w);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(w),n=t._vsc_buffer_len(w);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(w)}}updateTokenLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_server_update_token_len(this.ctxPtr),r}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l),f=this.updateTokenLen(),h=t._vsc_buffer_new_with_capacity(f);try{const e=t._vsce_phe_server_rotate_keys(this.ctxPtr,a,i,u,h);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u),l=t.HEAPU8.slice(c,c+o),f=t._vsc_buffer_bytes(h),d=t._vsc_buffer_len(h);return{newServerPrivateKey:s,newServerPublicKey:l,updateToken:t.HEAPU8.slice(f,f+d)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u),t._vsc_buffer_delete(h)}}}return _}}(),j=function(){if(R)return I;R=1;const e=G();return I=(t,r)=>{class _{constructor(e){this.name="PheClient",this.ctxPtr=void 0===e?t._vsce_phe_client_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_client_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_client_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_client_release_random(this.ctxPtr),t._vsce_phe_client_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_client_release_operation_random(this.ctxPtr),t._vsce_phe_client_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_client_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setKeys(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);try{const e=t._vsce_phe_client_set_keys(this.ctxPtr,o,f);r.PheError.handleStatusCode(e)}finally{t._free(c),t._free(o),t._free(l),t._free(f)}}generateClientPrivateKey(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_phe_client_generate_client_private_key(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}enrollmentRecordLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_client_enrollment_record_len(this.ctxPtr),r}enrollAccount(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("enrollmentResponse",_),e.ensureByteArray("password",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentRecordLen(),d=t._vsc_buffer_new_with_capacity(h),v=r.PheCommon.PHE_ACCOUNT_KEY_LENGTH,p=t._vsc_buffer_new_with_capacity(v);try{const e=t._vsce_phe_client_enroll_account(this.ctxPtr,o,f,d,p);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(p),a=t._vsc_buffer_len(p);return{enrollmentRecord:s,accountKey:t.HEAPU8.slice(c,c+a)}}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d),t._vsc_buffer_delete(p)}}verifyPasswordRequestLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_phe_client_verify_password_request_len(this.ctxPtr),r}createVerifyPasswordRequest(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("password",_),e.ensureByteArray("enrollmentRecord",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.verifyPasswordRequestLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_client_create_verify_password_request(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}checkResponseAndDecrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("password",_),e.ensureByteArray("enrollmentRecord",n),e.ensureByteArray("verifyPasswordResponse",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=r.PheCommon.PHE_ACCOUNT_KEY_LENGTH,w=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_client_check_response_and_decrypt(this.ctxPtr,i,h,E,w);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(w),n=t._vsc_buffer_len(w);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(w)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_phe_client_rotate_keys(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{newClientPrivateKey:s,newServerPublicKey:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}updateEnrollmentRecord(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("enrollmentRecord",_),e.ensureByteArray("updateToken",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.enrollmentRecordLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_client_update_enrollment_record(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}}return _}}(),Z=function(){if(H)return S;H=1;const e=G();return S=(t,r)=>{class _{constructor(e){this.name="PheCipher",this.ctxPtr=void 0===e?t._vsce_phe_cipher_new():e}static newAndUseCContext(e){return new _(t._vsce_phe_cipher_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_phe_cipher_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_phe_cipher_release_random(this.ctxPtr),t._vsce_phe_cipher_use_random(this.ctxPtr,_.ctxPtr)}static get SALT_LEN(){return 32}get SALT_LEN(){return 32}static get KEY_LEN(){return 32}get KEY_LEN(){return 32}static get NONCE_LEN(){return 12}get NONCE_LEN(){return 12}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_phe_cipher_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}encryptLen(r){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("plainTextLen",r),_=t._vsce_phe_cipher_encrypt_len(this.ctxPtr,r),_}decryptLen(r){let _;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("cipherTextLen",r),_=t._vsce_phe_cipher_decrypt_len(this.ctxPtr,r),_}encrypt(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",_),e.ensureByteArray("accountKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.encryptLen(_.length),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_cipher_encrypt(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}decrypt(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("cipherText",_),e.ensureByteArray("accountKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.decryptLen(_.length),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_phe_cipher_decrypt(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}authEncrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("plainText",_),e.ensureByteArray("additionalData",n),e.ensureByteArray("accountKey",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.encryptLen(_.length),w=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_cipher_auth_encrypt(this.ctxPtr,i,h,E,w);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(w),n=t._vsc_buffer_len(w);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(w)}}authDecrypt(_,n,s){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("cipherText",_),e.ensureByteArray("additionalData",n),e.ensureByteArray("accountKey",s);const c=_.length*_.BYTES_PER_ELEMENT,a=t._malloc(c);t.HEAP8.set(_,a);const o=t._vsc_data_ctx_size(),i=t._malloc(o);t._vsc_data(i,a,c);const l=n.length*n.BYTES_PER_ELEMENT,u=t._malloc(l);t.HEAP8.set(n,u);const f=t._vsc_data_ctx_size(),h=t._malloc(f);t._vsc_data(h,u,l);const d=s.length*s.BYTES_PER_ELEMENT,v=t._malloc(d);t.HEAP8.set(s,v);const p=t._vsc_data_ctx_size(),E=t._malloc(p);t._vsc_data(E,v,d);const m=this.decryptLen(_.length),w=t._vsc_buffer_new_with_capacity(m);try{const e=t._vsce_phe_cipher_auth_decrypt(this.ctxPtr,i,h,E,w);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(w),n=t._vsc_buffer_len(w);return t.HEAPU8.slice(_,_+n)}finally{t._free(a),t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._vsc_buffer_delete(w)}}}return _}}(),X=function(){if(F)return L;F=1;const e=G();return L=(t,r)=>{class _{constructor(e){this.name="UokmsClient",this.ctxPtr=void 0===e?t._vsce_uokms_client_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_client_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_client_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_client_release_random(this.ctxPtr),t._vsce_uokms_client_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_client_release_operation_random(this.ctxPtr),t._vsce_uokms_client_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_client_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setKeysOneparty(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{const e=t._vsce_uokms_client_set_keys_oneparty(this.ctxPtr,a);r.PheError.handleStatusCode(e)}finally{t._free(s),t._free(a)}}setKeys(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("clientPrivateKey",_),e.ensureByteArray("serverPublicKey",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);try{const e=t._vsce_uokms_client_set_keys(this.ctxPtr,o,f);r.PheError.handleStatusCode(e)}finally{t._free(c),t._free(o),t._free(l),t._free(f)}}generateClientPrivateKey(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_uokms_client_generate_client_private_key(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}generateEncryptWrap(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureNumber("encryptionKeyLen",_);const n=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,s=t._vsc_buffer_new_with_capacity(n),c=_,a=t._vsc_buffer_new_with_capacity(c);try{const e=t._vsce_uokms_client_generate_encrypt_wrap(this.ctxPtr,s,_,a);r.PheError.handleStatusCode(e);const n=t._vsc_buffer_bytes(s),c=t._vsc_buffer_len(s),o=t.HEAPU8.slice(n,n+c),i=t._vsc_buffer_bytes(a),l=t._vsc_buffer_len(a);return{wrap:o,encryptionKey:t.HEAPU8.slice(i,i+l)}}finally{t._vsc_buffer_delete(s),t._vsc_buffer_delete(a)}}decryptOneparty(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_),e.ensureNumber("encryptionKeyLen",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n,l=t._vsc_buffer_new_with_capacity(i);try{const e=t._vsce_uokms_client_decrypt_oneparty(this.ctxPtr,o,n,l);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(l),s=t._vsc_buffer_len(l);return t.HEAPU8.slice(_,_+s)}finally{t._free(c),t._free(o),t._vsc_buffer_delete(l)}}generateDecryptRequest(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_uokms_client_generate_decrypt_request(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{deblindFactor:s,decryptRequest:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}processDecryptResponse(_,n,s,c,a){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_),e.ensureByteArray("decryptRequest",n),e.ensureByteArray("decryptResponse",s),e.ensureByteArray("deblindFactor",c),e.ensureNumber("encryptionKeyLen",a);const o=_.length*_.BYTES_PER_ELEMENT,i=t._malloc(o);t.HEAP8.set(_,i);const l=t._vsc_data_ctx_size(),u=t._malloc(l);t._vsc_data(u,i,o);const f=n.length*n.BYTES_PER_ELEMENT,h=t._malloc(f);t.HEAP8.set(n,h);const d=t._vsc_data_ctx_size(),v=t._malloc(d);t._vsc_data(v,h,f);const p=s.length*s.BYTES_PER_ELEMENT,E=t._malloc(p);t.HEAP8.set(s,E);const m=t._vsc_data_ctx_size(),w=t._malloc(m);t._vsc_data(w,E,p);const P=c.length*c.BYTES_PER_ELEMENT,y=t._malloc(P);t.HEAP8.set(c,y);const b=t._vsc_data_ctx_size(),A=t._malloc(b);t._vsc_data(A,y,P);const x=a,N=t._vsc_buffer_new_with_capacity(x);try{const e=t._vsce_uokms_client_process_decrypt_response(this.ctxPtr,u,v,w,A,a,N);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(N),n=t._vsc_buffer_len(N);return t.HEAPU8.slice(_,_+n)}finally{t._free(i),t._free(u),t._free(h),t._free(v),t._free(E),t._free(w),t._free(y),t._free(A),t._vsc_buffer_delete(N)}}rotateKeysOneparty(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o);try{const e=t._vsce_uokms_client_rotate_keys_oneparty(this.ctxPtr,a,i);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i);return t.HEAPU8.slice(_,_+n)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}generateUpdateTokenOneparty(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_);try{const e=t._vsce_uokms_client_generate_update_token_oneparty(this.ctxPtr,n);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n);return t.HEAPU8.slice(_,_+s)}finally{t._vsc_buffer_delete(n)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l);try{const e=t._vsce_uokms_client_rotate_keys(this.ctxPtr,a,i,u);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u);return{newClientPrivateKey:s,newServerPublicKey:t.HEAPU8.slice(c,c+o)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u)}}}return _}}(),J=function(){if(B)return K;B=1;const e=G();return K=(t,r)=>{class _{constructor(e){this.name="UokmsServer",this.ctxPtr=void 0===e?t._vsce_uokms_server_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_server_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_server_delete(this.ctxPtr),this.ctxPtr=null)}set random(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("random",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_server_release_random(this.ctxPtr),t._vsce_uokms_server_use_random(this.ctxPtr,_.ctxPtr)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_server_release_operation_random(this.ctxPtr),t._vsce_uokms_server_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_server_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}generateServerKeyPair(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,n=t._vsc_buffer_new_with_capacity(_),s=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,c=t._vsc_buffer_new_with_capacity(s);try{const e=t._vsce_uokms_server_generate_server_key_pair(this.ctxPtr,n,c);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(n),s=t._vsc_buffer_len(n),a=t.HEAPU8.slice(_,_+s),o=t._vsc_buffer_bytes(c),i=t._vsc_buffer_len(c);return{serverPrivateKey:a,serverPublicKey:t.HEAPU8.slice(o,o+i)}}finally{t._vsc_buffer_delete(n),t._vsc_buffer_delete(c)}}decryptResponseLen(){let r;return e.ensureNotNull("this.ctxPtr",this.ctxPtr),r=t._vsce_uokms_server_decrypt_response_len(this.ctxPtr),r}processDecryptRequest(_,n){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_),e.ensureByteArray("decryptRequest",n);const s=_.length*_.BYTES_PER_ELEMENT,c=t._malloc(s);t.HEAP8.set(_,c);const a=t._vsc_data_ctx_size(),o=t._malloc(a);t._vsc_data(o,c,s);const i=n.length*n.BYTES_PER_ELEMENT,l=t._malloc(i);t.HEAP8.set(n,l);const u=t._vsc_data_ctx_size(),f=t._malloc(u);t._vsc_data(f,l,i);const h=this.decryptResponseLen(),d=t._vsc_buffer_new_with_capacity(h);try{const e=t._vsce_uokms_server_process_decrypt_request(this.ctxPtr,o,f,d);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(d),n=t._vsc_buffer_len(d);return t.HEAPU8.slice(_,_+n)}finally{t._free(c),t._free(o),t._free(l),t._free(f),t._vsc_buffer_delete(d)}}rotateKeys(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("serverPrivateKey",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o),l=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,u=t._vsc_buffer_new_with_capacity(l),f=r.PheCommon.PHE_PRIVATE_KEY_LENGTH,h=t._vsc_buffer_new_with_capacity(f);try{const e=t._vsce_uokms_server_rotate_keys(this.ctxPtr,a,i,u,h);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i),s=t.HEAPU8.slice(_,_+n),c=t._vsc_buffer_bytes(u),o=t._vsc_buffer_len(u),l=t.HEAPU8.slice(c,c+o),f=t._vsc_buffer_bytes(h),d=t._vsc_buffer_len(h);return{newServerPrivateKey:s,newServerPublicKey:l,updateToken:t.HEAPU8.slice(f,f+d)}}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i),t._vsc_buffer_delete(u),t._vsc_buffer_delete(h)}}}return _}}(),Q=function(){if(U)return Y;U=1;const e=G();return Y=(t,r)=>{class _{constructor(e){this.name="UokmsWrapRotation",this.ctxPtr=void 0===e?t._vsce_uokms_wrap_rotation_new():e}static newAndUseCContext(e){return new _(t._vsce_uokms_wrap_rotation_shallow_copy(e))}static newAndTakeCContext(e){return new _(e)}delete(){void 0!==this.ctxPtr&&null!==this.ctxPtr&&(t._vsce_uokms_wrap_rotation_delete(this.ctxPtr),this.ctxPtr=null)}set operationRandom(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureImplementInterface("operationRandom",_,"Foundation.Random",r.FoundationInterfaceTag.RANDOM,r.FoundationInterface),t._vsce_uokms_wrap_rotation_release_operation_random(this.ctxPtr),t._vsce_uokms_wrap_rotation_use_operation_random(this.ctxPtr,_.ctxPtr)}setupDefaults(){e.ensureNotNull("this.ctxPtr",this.ctxPtr);const _=t._vsce_uokms_wrap_rotation_setup_defaults(this.ctxPtr);r.PheError.handleStatusCode(_)}setUpdateToken(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("updateToken",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);try{const e=t._vsce_uokms_wrap_rotation_set_update_token(this.ctxPtr,a);r.PheError.handleStatusCode(e)}finally{t._free(s),t._free(a)}}updateWrap(_){e.ensureNotNull("this.ctxPtr",this.ctxPtr),e.ensureByteArray("wrap",_);const n=_.length*_.BYTES_PER_ELEMENT,s=t._malloc(n);t.HEAP8.set(_,s);const c=t._vsc_data_ctx_size(),a=t._malloc(c);t._vsc_data(a,s,n);const o=r.PheCommon.PHE_PUBLIC_KEY_LENGTH,i=t._vsc_buffer_new_with_capacity(o);try{const e=t._vsce_uokms_wrap_rotation_update_wrap(this.ctxPtr,a,i);r.PheError.handleStatusCode(e);const _=t._vsc_buffer_bytes(i),n=t._vsc_buffer_len(i);return t.HEAPU8.slice(_,_+n)}finally{t._free(s),t._free(a),t._vsc_buffer_delete(i)}}}return _}}();return D=r=>new Promise((_,n)=>{e(r).then(e=>{const r={};r.FoundationError=t(e,r),r.FoundationInterface=l(e,r),r.FoundationInterfaceTag=f(e,r),r.FoundationImplTag=A(e,r),r.CtrDrbg=N(e,r),r.Hmac=O(e,r),r.Hkdf=z(e,r),r.Sha512=$(e,r),r.PheError=q(e,r),r.PheCommon=V(e,r),r.PheServer=W(e,r),r.PheClient=j(e,r),r.PheCipher=Z(e,r),r.UokmsClient=X(e,r),r.UokmsServer=J(e,r),r.UokmsWrapRotation=Q(e,r),_(r)}).catch(e=>{n(e)})})}(),$=e(z);export{$ as default};
Binary file
Binary file
Binary file