diff --git a/public/latex/swiftlatexpdftex.js b/public/latex/swiftlatexpdftex.js index 44ca746e..59caa277 100644 --- a/public/latex/swiftlatexpdftex.js +++ b/public/latex/swiftlatexpdftex.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var Module={};let memlog=String();let texlive_endpoint="https://texlive.emaily.re";Module["print"]=function(a){memlog+=a+"\n"};Module["printErr"]=function(a){memlog+=a+"\n";console.warn(a)};Module["postRun"]=function(){dumpHeapMemory();self.postMessage({result:"ok"})};Module["onAbort"]=function(){memlog+="Engine crashed";self.postMessage({result:"failed",status:-254,log:memlog,cmd:"compile"});return};function _allocate(content){let res=_malloc(content.length);HEAPU8.set(new Uint8Array(content),res);return res}function dumpHeapMemory(){self.initmem=new Uint8Array(wasmMemory.buffer.byteLength);self.initmem.set(new Uint8Array(wasmMemory.buffer))}function restoreHeapMemory(){if(self.initmem)new Uint8Array(wasmMemory.buffer).set(self.initmem)}async function prepareFS(folder,path){if(!FS.analyzePath(path).exists)FS.mkdir(path);for await(const[name,handle]of folder.entries()){if(handle instanceof FileSystemDirectoryHandle){await prepareFS(handle,`${path}/${name}`)}}}async function prepareExecutionContext(){memlog=String();cleanupExecutionContext();const root=await self.navigator.storage.getDirectory();await prepareFS(root,"/")}function cleanupExecutionContext(){restoreHeapMemory();opfs404_cache.clear();opfsdir_cache.clear()}async function compileLaTeXRoutine(workdir,mainfile){let status=-253;try{await prepareExecutionContext();cwrap("setMainEntry","number",["string","string"])(workdir,mainfile);status=await ccall("compileLaTeX","number",[],[],{async:true});if(status!==0)throw new Error("Compilation failed");await ccall("compileBibtex","number",[],[],{async:true});const mainbasename=mainfile.split(".").slice(0,-1).join(".");const pdfurl=`${workdir}/${mainbasename}.pdf`;const pdfArrayBuffer=FS.readFile(pdfurl,{encoding:"binary"});self.postMessage({result:"ok",status,log:memlog,pdf:pdfArrayBuffer.buffer,cmd:"compile"},[pdfArrayBuffer.buffer])}catch(err){console.error(err);self.postMessage({result:"failed",status,log:`${memlog}\n${err}`,cmd:"compile"})}finally{cleanupExecutionContext()}}async function compileFormatRoutine(){let status=-253;try{await prepareExecutionContext();let status=_compileFormat();if(status!==0)throw new Error("Format compilation failed");const formatUrl=`/pdflatex.fmt`;const formatBuffer=FS.readFile(formatUrl,{encoding:"binary"});self.postMessage({result:"ok",status,log:memlog,format:formatBuffer.buffer,cmd:"compile"},[formatBuffer.buffer])}catch(err){console.error(err);self.postMessage({result:"failed",status,log:`${memlog}\n\n${err}`,cmd:"compile"})}finally{cleanupExecutionContext()}}function writeFileRecursive(filename,content,opfs){if(typeof content==="string"){content=(new TextEncoder).encode(content)}else if(content instanceof Uint8Array){}else{throw new Error("Invalid content type")}const c_content=_allocate(content);cwrap("wasmWriteFile","number",["string","number","number"])(filename,c_content,content.length);if(opfs){writeFileOpfsRecursive(filename,content).catch(console.error)}}async function writeFileOpfsRecursive(filename,content){let folder=await self.navigator.storage.getDirectory();const parts=filename.split("/").filter(Boolean);for(let i=0;i{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["R"]()}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("swiftlatexpdftex.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["Q"];updateMemoryViews();wasmTable=wasmExports["_"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}function __asyncjs__kpse_sync_file_js(cwd,name){return Asyncify.handleAsync(async()=>await kpse_sync_file_impl(cwd,name))}function __asyncjs__kpse_find_file_js(name){return Asyncify.handleAsync(async()=>await kpse_find_file_impl(name))}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetHEAPU8.set(wasmFSPreloadedFiles[index].fileData,buffer);var wasmFSPreloadedDirs=[];var __wasmfs_get_num_preloaded_dirs=()=>wasmFSPreloadedDirs.length;var wasmFSPreloadedFiles=[];var wasmFSPreloadingFlushed=false;var __wasmfs_get_num_preloaded_files=()=>{wasmFSPreloadingFlushed=true;return wasmFSPreloadedFiles.length};var __wasmfs_get_preloaded_child_path=(index,childNameBuffer)=>{var s=wasmFSPreloadedDirs[index].childName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,childNameBuffer,len)};var __wasmfs_get_preloaded_file_mode=index=>wasmFSPreloadedFiles[index].mode;var __wasmfs_get_preloaded_file_size=index=>wasmFSPreloadedFiles[index].fileData.length;var __wasmfs_get_preloaded_parent_path=(index,parentPathBuffer)=>{var s=wasmFSPreloadedDirs[index].parentPath;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,parentPathBuffer,len)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var __wasmfs_get_preloaded_path_name=(index,fileNameBuffer)=>{var s=wasmFSPreloadedFiles[index].pathName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,fileNameBuffer,len)};var __wasmfs_jsimpl_alloc_file=(backend,file)=>wasmFS$backends[backend].allocFile(file);var __wasmfs_jsimpl_free_file=(backend,file)=>wasmFS$backends[backend].freeFile(file);var __wasmfs_jsimpl_get_size=(backend,file)=>wasmFS$backends[backend].getSize(file);function __wasmfs_jsimpl_read(backend,file,buffer,length,offset){offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].read){return-28}return wasmFS$backends[backend].read(file,buffer,length,offset)}function __wasmfs_jsimpl_set_size(backend,file,size){size=bigintToI53Checked(size);return wasmFS$backends[backend].setSize(file,size)}function __wasmfs_jsimpl_write(backend,file,buffer,length,offset){offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].write){return-28}return wasmFS$backends[backend].write(file,buffer,length,offset)}var FS_stdin_getChar_buffer=[];var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var __wasmfs_stdin_get_char=()=>{var c=FS_stdin_getChar();if(typeof c==="number"){return c}return-1};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_out=str=>out(UTF8ToString(str));var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var _random_get=(buffer,size)=>{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTable;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var FS_mknod=(path,mode,dev)=>FS.handleError(withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);return __wasmfs_mknod(pathBuffer,mode,dev)}));var FS_create=(path,mode=438)=>{mode&=4095;mode|=32768;return FS_mknod(path,mode,0)};var FS_writeFile=(path,data)=>{var sp=stackSave();var pathBuffer=stringToUTF8OnStack(path);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);data=buf.slice(0,actualNumBytes)}var dataBuffer=_malloc(data.length);for(var i=0;i{var pathName=name?parent+"/"+name:parent;var mode=FS_getMode(canRead,canWrite);if(!wasmFSPreloadingFlushed){wasmFSPreloadedFiles.push({pathName,fileData,mode})}else{FS_create(pathName,mode);FS_writeFile(pathName,fileData)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_mkdir=(path,mode=511)=>FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_mkdir(buffer,mode)}));var FS_mkdirTree=(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;iwithStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_unlink(buffer)});var wasmFS$backends={};var wasmFSDevices={};var wasmFSDeviceStreams={};var FS={init(){FS.ensureErrnoError()},ErrnoError:null,handleError(returnValue){if(returnValue<0){throw new FS.ErrnoError(-returnValue)}return returnValue},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(code){this.errno=code;this.message="FS error";this.name="ErrnoError"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError},createDataFile(parent,name,fileData,canRead,canWrite,canOwn){FS_createDataFile(parent,name,fileData,canRead,canWrite,canOwn)},createPath(parent,path,canRead,canWrite){var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);if(!wasmFSPreloadingFlushed){wasmFSPreloadedDirs.push({parentPath:parent,childName:part})}else{FS.mkdir(current)}parent=current}return current},createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){return FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)},readFile(path,opts={}){opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var sp=stackSave();var buf=__wasmfs_read_file(stringToUTF8OnStack(path));stackRestore(sp);var length=readI53FromI64(buf);var ret=new Uint8Array(HEAPU8.subarray(buf+8,buf+8+length));if(opts.encoding==="utf8"){ret=UTF8ArrayToString(ret)}return ret},cwd:()=>UTF8ToString(__wasmfs_get_cwd()),analyzePath(path){var exists=!!FS.findObject(path);return{exists,object:{contents:exists?FS.readFile(path):null}}},mkdir:(path,mode)=>FS_mkdir(path,mode),mkdirTree:(path,mode)=>FS_mkdirTree(path,mode),rmdir:path=>FS.handleError(withStackSave(()=>__wasmfs_rmdir(stringToUTF8OnStack(path)))),open:(path,flags,mode=438)=>withStackSave(()=>{flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;var buffer=stringToUTF8OnStack(path);var fd=FS.handleError(__wasmfs_open(buffer,flags,mode));return{fd}}),create:(path,mode)=>FS_create(path,mode),close:stream=>FS.handleError(-__wasmfs_close(stream.fd)),unlink:path=>FS_unlink(path),chdir:path=>withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chdir(buffer)}),read(stream,buffer,offset,length,position){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);var bytesRead;if(seeking){bytesRead=__wasmfs_pread(stream.fd,dataBuffer,length,BigInt(position))}else{bytesRead=__wasmfs_read(stream.fd,dataBuffer,length)}bytesRead=FS.handleError(bytesRead);for(var i=0;iFS_writeFile(path,data),mmap:(stream,length,offset,prot,flags)=>{var buf=FS.handleError(__wasmfs_mmap(length,prot,flags,stream.fd,BigInt(offset)));return{ptr:buf,allocated:true}},msync:(stream,bufferPtr,offset,length,mmapFlags)=>{assert(offset===0);return FS.handleError(__wasmfs_msync(bufferPtr,length,mmapFlags))},munmap:(addr,length)=>FS.handleError(__wasmfs_munmap(addr,length)),symlink:(target,linkpath)=>withStackSave(()=>__wasmfs_symlink(stringToUTF8OnStack(target),stringToUTF8OnStack(linkpath))),readlink(path){var readBuffer=FS.handleError(withStackSave(()=>__wasmfs_readlink(stringToUTF8OnStack(path))));return UTF8ToString(readBuffer)},statBufToObject(statBuf){return{dev:HEAPU32[statBuf>>2],mode:HEAPU32[statBuf+4>>2],nlink:HEAPU32[statBuf+8>>2],uid:HEAPU32[statBuf+12>>2],gid:HEAPU32[statBuf+16>>2],rdev:HEAPU32[statBuf+20>>2],size:readI53FromI64(statBuf+24),blksize:HEAPU32[statBuf+32>>2],blocks:HEAPU32[statBuf+36>>2],atime:readI53FromI64(statBuf+40),mtime:readI53FromI64(statBuf+56),ctime:readI53FromI64(statBuf+72),ino:readI53FromU64(statBuf+88)}},stat(path){var statBuf=_malloc(96);FS.handleError(withStackSave(()=>__wasmfs_stat(stringToUTF8OnStack(path),statBuf)));var stats=FS.statBufToObject(statBuf);_free(statBuf);return stats},lstat(path){var statBuf=_malloc(96);FS.handleError(withStackSave(()=>__wasmfs_lstat(stringToUTF8OnStack(path),statBuf)));var stats=FS.statBufToObject(statBuf);_free(statBuf);return stats},chmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chmod(buffer,mode)}))},lchmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_lchmod(buffer,mode)}))},fchmod(fd,mode){return FS.handleError(__wasmfs_fchmod(fd,mode))},utime:(path,atime,mtime)=>FS.handleError(withStackSave(()=>__wasmfs_utime(stringToUTF8OnStack(path),atime,mtime))),truncate(path,len){return FS.handleError(withStackSave(()=>__wasmfs_truncate(stringToUTF8OnStack(path),BigInt(len))))},ftruncate(fd,len){return FS.handleError(__wasmfs_ftruncate(fd,BigInt(len)))},findObject(path){var result=withStackSave(()=>__wasmfs_identify(stringToUTF8OnStack(path)));if(result==44){return null}return{isFolder:result==31,isDevice:false}},readdir:path=>withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);var entries=[];var state=__wasmfs_readdir_start(pathBuffer);if(!state){throw new Error("No such directory")}var entry;while(entry=__wasmfs_readdir_get(state)){entries.push(UTF8ToString(entry))}__wasmfs_readdir_finish(state);return entries}),mount:(type,opts,mountpoint)=>{var backendPointer=type.createBackend(opts);return FS.handleError(withStackSave(()=>__wasmfs_mount(stringToUTF8OnStack(mountpoint),backendPointer)))},unmount:mountpoint=>FS.handleError(withStackSave(()=>__wasmfs_unmount(stringToUTF8OnStack(mountpoint)))),mknod:(path,mode,dev)=>FS_mknod(path,mode,dev),makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){var backendPointer=_wasmfs_create_jsimpl_backend();var definedOps={userRead:ops.read,userWrite:ops.write,allocFile:file=>{wasmFSDeviceStreams[file]={}},freeFile:file=>{wasmFSDeviceStreams[file]=undefined},getSize:file=>{},setSize:(file,size)=>0,read:(file,buffer,length,offset)=>{var bufferArray=Module.HEAP8.subarray(buffer,buffer+length);try{var bytesRead=definedOps.userRead(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}Module.HEAP8.set(bufferArray,buffer);return bytesRead},write:(file,buffer,length,offset)=>{var bufferArray=Module.HEAP8.subarray(buffer,buffer+length);try{var bytesWritten=definedOps.userWrite(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}Module.HEAP8.set(bufferArray,buffer);return bytesWritten}};wasmFS$backends[backendPointer]=definedOps;wasmFSDevices[dev]=backendPointer},createDevice(parent,name,input,output){if(typeof parent!="string"){throw new Error("Only string paths are accepted")}var path=PATH.join2(parent,name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i_wasmfs_create_file(stringToUTF8OnStack(path),mode,deviceBackend)))},rename(oldPath,newPath){return FS.handleError(withStackSave(()=>{var oldPathBuffer=stringToUTF8OnStack(oldPath);var newPathBuffer=stringToUTF8OnStack(newPath);return __wasmfs_rename(oldPathBuffer,newPathBuffer)}))},llseek(stream,offset,whence){return FS.handleError(__wasmfs_llseek(stream.fd,BigInt(offset),whence))}};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var FS_createPath=FS.createPath;FS.init();var wasmImports={a:___assert_fail,m:__asyncjs__kpse_find_file_js,n:__asyncjs__kpse_sync_file_js,O:__abort_js,q:__emscripten_runtime_keepalive_clear,I:__emscripten_throw_longjmp,K:__localtime_js,r:__setitimer_js,L:__tzset_js,D:__wasmfs_copy_preloaded_file_data,B:__wasmfs_get_num_preloaded_dirs,C:__wasmfs_get_num_preloaded_files,z:__wasmfs_get_preloaded_child_path,x:__wasmfs_get_preloaded_file_mode,E:__wasmfs_get_preloaded_file_size,A:__wasmfs_get_preloaded_parent_path,y:__wasmfs_get_preloaded_path_name,w:__wasmfs_jsimpl_alloc_file,l:__wasmfs_jsimpl_free_file,v:__wasmfs_jsimpl_get_size,u:__wasmfs_jsimpl_read,s:__wasmfs_jsimpl_set_size,t:__wasmfs_jsimpl_write,H:__wasmfs_stdin_get_char,g:_emscripten_date_now,j:_emscripten_err,G:_emscripten_out,J:_emscripten_resize_heap,M:_environ_get,N:_environ_sizes_get,o:_exit,P:invoke_i,i:invoke_ii,d:invoke_iii,k:invoke_iiii,b:invoke_iiiii,c:invoke_iiiiii,e:invoke_v,h:invoke_vi,f:invoke_vii,p:_proc_exit,F:_random_get};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["R"])();var _free=a0=>(_free=wasmExports["S"])(a0);var _compileLaTeX=Module["_compileLaTeX"]=()=>(_compileLaTeX=Module["_compileLaTeX"]=wasmExports["T"])();var _compileFormat=Module["_compileFormat"]=()=>(_compileFormat=Module["_compileFormat"]=wasmExports["U"])();var _compileBibtex=Module["_compileBibtex"]=()=>(_compileBibtex=Module["_compileBibtex"]=wasmExports["V"])();var _wasmWriteFile=Module["_wasmWriteFile"]=(a0,a1,a2)=>(_wasmWriteFile=Module["_wasmWriteFile"]=wasmExports["W"])(a0,a1,a2);var _setMainEntry=Module["_setMainEntry"]=(a0,a1)=>(_setMainEntry=Module["_setMainEntry"]=wasmExports["X"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Y"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Z"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports["$"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["aa"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["ba"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["ca"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["da"])();var __wasmfs_read_file=a0=>(__wasmfs_read_file=wasmExports["ea"])(a0);var __wasmfs_write_file=(a0,a1,a2)=>(__wasmfs_write_file=wasmExports["fa"])(a0,a1,a2);var __wasmfs_mkdir=(a0,a1)=>(__wasmfs_mkdir=wasmExports["ga"])(a0,a1);var __wasmfs_rmdir=a0=>(__wasmfs_rmdir=wasmExports["ha"])(a0);var __wasmfs_open=(a0,a1,a2)=>(__wasmfs_open=wasmExports["ia"])(a0,a1,a2);var __wasmfs_allocate=(a0,a1,a2)=>(__wasmfs_allocate=wasmExports["ja"])(a0,a1,a2);var __wasmfs_mknod=(a0,a1,a2)=>(__wasmfs_mknod=wasmExports["ka"])(a0,a1,a2);var __wasmfs_unlink=a0=>(__wasmfs_unlink=wasmExports["la"])(a0);var __wasmfs_chdir=a0=>(__wasmfs_chdir=wasmExports["ma"])(a0);var __wasmfs_symlink=(a0,a1)=>(__wasmfs_symlink=wasmExports["na"])(a0,a1);var __wasmfs_readlink=a0=>(__wasmfs_readlink=wasmExports["oa"])(a0);var __wasmfs_write=(a0,a1,a2)=>(__wasmfs_write=wasmExports["pa"])(a0,a1,a2);var __wasmfs_pwrite=(a0,a1,a2,a3)=>(__wasmfs_pwrite=wasmExports["qa"])(a0,a1,a2,a3);var __wasmfs_chmod=(a0,a1)=>(__wasmfs_chmod=wasmExports["ra"])(a0,a1);var __wasmfs_fchmod=(a0,a1)=>(__wasmfs_fchmod=wasmExports["sa"])(a0,a1);var __wasmfs_lchmod=(a0,a1)=>(__wasmfs_lchmod=wasmExports["ta"])(a0,a1);var __wasmfs_llseek=(a0,a1,a2)=>(__wasmfs_llseek=wasmExports["ua"])(a0,a1,a2);var __wasmfs_rename=(a0,a1)=>(__wasmfs_rename=wasmExports["va"])(a0,a1);var __wasmfs_read=(a0,a1,a2)=>(__wasmfs_read=wasmExports["wa"])(a0,a1,a2);var __wasmfs_pread=(a0,a1,a2,a3)=>(__wasmfs_pread=wasmExports["xa"])(a0,a1,a2,a3);var __wasmfs_truncate=(a0,a1)=>(__wasmfs_truncate=wasmExports["ya"])(a0,a1);var __wasmfs_ftruncate=(a0,a1)=>(__wasmfs_ftruncate=wasmExports["za"])(a0,a1);var __wasmfs_close=a0=>(__wasmfs_close=wasmExports["Aa"])(a0);var __wasmfs_mmap=(a0,a1,a2,a3,a4)=>(__wasmfs_mmap=wasmExports["Ba"])(a0,a1,a2,a3,a4);var __wasmfs_msync=(a0,a1,a2)=>(__wasmfs_msync=wasmExports["Ca"])(a0,a1,a2);var __wasmfs_munmap=(a0,a1)=>(__wasmfs_munmap=wasmExports["Da"])(a0,a1);var __wasmfs_utime=(a0,a1,a2)=>(__wasmfs_utime=wasmExports["Ea"])(a0,a1,a2);var __wasmfs_stat=(a0,a1)=>(__wasmfs_stat=wasmExports["Fa"])(a0,a1);var __wasmfs_lstat=(a0,a1)=>(__wasmfs_lstat=wasmExports["Ga"])(a0,a1);var __wasmfs_mount=(a0,a1)=>(__wasmfs_mount=wasmExports["Ha"])(a0,a1);var __wasmfs_unmount=a0=>(__wasmfs_unmount=wasmExports["Ia"])(a0);var __wasmfs_identify=a0=>(__wasmfs_identify=wasmExports["Ja"])(a0);var __wasmfs_readdir_start=a0=>(__wasmfs_readdir_start=wasmExports["Ka"])(a0);var __wasmfs_readdir_get=a0=>(__wasmfs_readdir_get=wasmExports["La"])(a0);var __wasmfs_readdir_finish=a0=>(__wasmfs_readdir_finish=wasmExports["Ma"])(a0);var __wasmfs_get_cwd=()=>(__wasmfs_get_cwd=wasmExports["Na"])();var _wasmfs_create_jsimpl_backend=()=>(_wasmfs_create_jsimpl_backend=wasmExports["Oa"])();var _wasmfs_create_file=(a0,a1,a2)=>(_wasmfs_create_file=wasmExports["Pa"])(a0,a1,a2);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["Qa"])(a0,a1,a2);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["Ra"])(a0,a1,a2,a3,a4,a5);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["Sa"])(a0,a1);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["Ta"])(a0,a1,a2,a3);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["Ua"])(a0,a1,a2,a3,a4);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["Va"])(a0,a1);var dynCall_v=Module["dynCall_v"]=a0=>(dynCall_v=Module["dynCall_v"]=wasmExports["Wa"])(a0);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["Xa"])(a0,a1,a2);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["Ya"])(a0);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["Za"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["_a"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["$a"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["ab"])();function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["cwrap"]=cwrap;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDataFile"]=FS_createDataFile;function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"];if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var Module={};let memlog=String();Module["print"]=function(a){memlog+=a+"\n"};Module["printErr"]=function(a){memlog+=a+"\n";console.warn(a)};Module["postRun"]=function(){dumpHeapMemory();self.postMessage({result:"ok"})};Module["onAbort"]=function(){memlog+="Engine crashed";self.postMessage({result:"failed",status:-254,log:memlog,cmd:"compile"});return};function _allocate(content){let res=_malloc(content.length);HEAPU8.set(new Uint8Array(content),res);return res}function dumpHeapMemory(){self.initmem=new Uint8Array(wasmMemory.buffer.byteLength);self.initmem.set(new Uint8Array(wasmMemory.buffer))}function restoreHeapMemory(){if(self.initmem)new Uint8Array(wasmMemory.buffer).set(self.initmem)}async function prepareFS(folder,path){if(!FS.analyzePath(path).exists)FS.mkdir(path);for await(const[name,handle]of folder.entries()){if(handle instanceof FileSystemDirectoryHandle){await prepareFS(handle,`${path}/${name}`)}}}async function prepareExecutionContext(){memlog=String();cleanupExecutionContext();const root=await self.navigator.storage.getDirectory();await prepareFS(root,"/")}function cleanupExecutionContext(){restoreHeapMemory();opfs404_cache.clear();opfsdir_cache.clear()}async function compileLaTeXRoutine(workdir,mainfile){let status=-253;try{await prepareExecutionContext();cwrap("setMainEntry","number",["string","string"])(workdir,mainfile);status=await ccall("compileLaTeX","number",[],[],{async:true});if(status!==0)throw new Error("Compilation failed");await ccall("compileBibtex","number",[],[],{async:true});const mainbasename=mainfile.split(".").slice(0,-1).join(".");const pdfurl=`${workdir}/${mainbasename}.pdf`;const pdfArrayBuffer=FS.readFile(pdfurl,{encoding:"binary"});self.postMessage({result:"ok",status,log:memlog,pdf:pdfArrayBuffer.buffer,cmd:"compile"},[pdfArrayBuffer.buffer])}catch(err){console.error(err);self.postMessage({result:"failed",status,log:`${memlog}\n${err}`,cmd:"compile"})}finally{cleanupExecutionContext()}}async function compileFormatRoutine(){let status=-253;try{await prepareExecutionContext();let status=_compileFormat();if(status!==0)throw new Error("Format compilation failed");const formatUrl=`/pdflatex.fmt`;const formatBuffer=FS.readFile(formatUrl,{encoding:"binary"});self.postMessage({result:"ok",status,log:memlog,format:formatBuffer.buffer,cmd:"compile"},[formatBuffer.buffer])}catch(err){console.error(err);self.postMessage({result:"failed",status,log:`${memlog}\n\n${err}`,cmd:"compile"})}finally{cleanupExecutionContext()}}function writeFileRecursive(filename,content,opfs){if(typeof content==="string"){content=(new TextEncoder).encode(content)}else if(content instanceof Uint8Array){}else{throw new Error("Invalid content type")}const c_content=_allocate(content);cwrap("wasmWriteFile","number",["string","number","number"])(filename,c_content,content.length);if(opfs){writeFileOpfsRecursive(filename,content).catch(console.error)}}async function writeFileOpfsRecursive(filename,content){let folder=await self.navigator.storage.getDirectory();const parts=filename.split("/").filter(Boolean);for(let i=0;i{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;var isFileURI=filename=>filename.startsWith("file://");function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["R"]()}function preMain(){}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var wasmBinaryFile;function findWasmBinary(){return locateFile("swiftlatexpdftex.wasm")}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmMemory=wasmExports["Q"];updateMemoryViews();wasmTable=wasmExports["_"];removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}function __asyncjs__kpse_sync_file_js(cwd,name){return Asyncify.handleAsync(async()=>await kpse_sync_file_impl(cwd,name))}function __asyncjs__kpse_find_file_js(name){return Asyncify.handleAsync(async()=>await kpse_find_file_impl(name))}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var __abort_js=()=>abort("");var runtimeKeepaliveCounter=0;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var timers={};var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var maybeExit=()=>{if(!keepRuntimeAlive()){try{_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{func();maybeExit()}catch(e){handleException(e)}};var _emscripten_get_now=()=>performance.now();var __setitimer_js=(which,timeout_ms)=>{if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetHEAPU8.set(wasmFSPreloadedFiles[index].fileData,buffer);var wasmFSPreloadedDirs=[];var __wasmfs_get_num_preloaded_dirs=()=>wasmFSPreloadedDirs.length;var wasmFSPreloadedFiles=[];var wasmFSPreloadingFlushed=false;var __wasmfs_get_num_preloaded_files=()=>{wasmFSPreloadingFlushed=true;return wasmFSPreloadedFiles.length};var __wasmfs_get_preloaded_child_path=(index,childNameBuffer)=>{var s=wasmFSPreloadedDirs[index].childName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,childNameBuffer,len)};var __wasmfs_get_preloaded_file_mode=index=>wasmFSPreloadedFiles[index].mode;var __wasmfs_get_preloaded_file_size=index=>wasmFSPreloadedFiles[index].fileData.length;var __wasmfs_get_preloaded_parent_path=(index,parentPathBuffer)=>{var s=wasmFSPreloadedDirs[index].parentPath;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,parentPathBuffer,len)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var __wasmfs_get_preloaded_path_name=(index,fileNameBuffer)=>{var s=wasmFSPreloadedFiles[index].pathName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,fileNameBuffer,len)};var __wasmfs_jsimpl_alloc_file=(backend,file)=>wasmFS$backends[backend].allocFile(file);var __wasmfs_jsimpl_free_file=(backend,file)=>wasmFS$backends[backend].freeFile(file);var __wasmfs_jsimpl_get_size=(backend,file)=>wasmFS$backends[backend].getSize(file);function __wasmfs_jsimpl_read(backend,file,buffer,length,offset){offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].read){return-28}return wasmFS$backends[backend].read(file,buffer,length,offset)}function __wasmfs_jsimpl_set_size(backend,file,size){size=bigintToI53Checked(size);return wasmFS$backends[backend].setSize(file,size)}function __wasmfs_jsimpl_write(backend,file,buffer,length,offset){offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].write){return-28}return wasmFS$backends[backend].write(file,buffer,length,offset)}var FS_stdin_getChar_buffer=[];var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var __wasmfs_stdin_get_char=()=>{var c=FS_stdin_getChar();if(typeof c==="number"){return c}return-1};var _emscripten_date_now=()=>Date.now();var _emscripten_err=str=>err(UTF8ToString(str));var _emscripten_out=str=>out(UTF8ToString(str));var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var _random_get=(buffer,size)=>{randomFill(HEAPU8.subarray(buffer,buffer+size));return 0};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTable;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var readI53FromI64=ptr=>HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296;var readI53FromU64=ptr=>HEAPU32[ptr>>2]+HEAPU32[ptr+4>>2]*4294967296;var FS_mknod=(path,mode,dev)=>FS.handleError(withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);return __wasmfs_mknod(pathBuffer,mode,dev)}));var FS_create=(path,mode=438)=>{mode&=4095;mode|=32768;return FS_mknod(path,mode,0)};var FS_writeFile=(path,data)=>{var sp=stackSave();var pathBuffer=stringToUTF8OnStack(path);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);data=buf.slice(0,actualNumBytes)}var dataBuffer=_malloc(data.length);for(var i=0;i{var pathName=name?parent+"/"+name:parent;var mode=FS_getMode(canRead,canWrite);if(!wasmFSPreloadingFlushed){wasmFSPreloadedFiles.push({pathName,fileData,mode})}else{FS_create(pathName,mode);FS_writeFile(pathName,fileData)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};asyncLoad.isAsync=true;var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url).then(processData,onerror)}else{processData(url)}};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_mkdir=(path,mode=511)=>FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_mkdir(buffer,mode)}));var FS_mkdirTree=(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;iwithStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_unlink(buffer)});var wasmFS$backends={};var wasmFSDevices={};var wasmFSDeviceStreams={};var FS={init(){FS.ensureErrnoError()},ErrnoError:null,handleError(returnValue){if(returnValue<0){throw new FS.ErrnoError(-returnValue)}return returnValue},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(code){this.errno=code;this.message="FS error";this.name="ErrnoError"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError},createDataFile(parent,name,fileData,canRead,canWrite,canOwn){FS_createDataFile(parent,name,fileData,canRead,canWrite,canOwn)},createPath(parent,path,canRead,canWrite){var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);if(!wasmFSPreloadingFlushed){wasmFSPreloadedDirs.push({parentPath:parent,childName:part})}else{FS.mkdir(current)}parent=current}return current},createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){return FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)},readFile(path,opts={}){opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var sp=stackSave();var buf=__wasmfs_read_file(stringToUTF8OnStack(path));stackRestore(sp);var length=readI53FromI64(buf);var ret=new Uint8Array(HEAPU8.subarray(buf+8,buf+8+length));if(opts.encoding==="utf8"){ret=UTF8ArrayToString(ret)}return ret},cwd:()=>UTF8ToString(__wasmfs_get_cwd()),analyzePath(path){var exists=!!FS.findObject(path);return{exists,object:{contents:exists?FS.readFile(path):null}}},mkdir:(path,mode)=>FS_mkdir(path,mode),mkdirTree:(path,mode)=>FS_mkdirTree(path,mode),rmdir:path=>FS.handleError(withStackSave(()=>__wasmfs_rmdir(stringToUTF8OnStack(path)))),open:(path,flags,mode=438)=>withStackSave(()=>{flags=typeof flags=="string"?FS_modeStringToFlags(flags):flags;var buffer=stringToUTF8OnStack(path);var fd=FS.handleError(__wasmfs_open(buffer,flags,mode));return{fd}}),create:(path,mode)=>FS_create(path,mode),close:stream=>FS.handleError(-__wasmfs_close(stream.fd)),unlink:path=>FS_unlink(path),chdir:path=>withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chdir(buffer)}),read(stream,buffer,offset,length,position){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);var bytesRead;if(seeking){bytesRead=__wasmfs_pread(stream.fd,dataBuffer,length,BigInt(position))}else{bytesRead=__wasmfs_read(stream.fd,dataBuffer,length)}bytesRead=FS.handleError(bytesRead);for(var i=0;iFS_writeFile(path,data),mmap:(stream,length,offset,prot,flags)=>{var buf=FS.handleError(__wasmfs_mmap(length,prot,flags,stream.fd,BigInt(offset)));return{ptr:buf,allocated:true}},msync:(stream,bufferPtr,offset,length,mmapFlags)=>{assert(offset===0);return FS.handleError(__wasmfs_msync(bufferPtr,length,mmapFlags))},munmap:(addr,length)=>FS.handleError(__wasmfs_munmap(addr,length)),symlink:(target,linkpath)=>withStackSave(()=>__wasmfs_symlink(stringToUTF8OnStack(target),stringToUTF8OnStack(linkpath))),readlink(path){var readBuffer=FS.handleError(withStackSave(()=>__wasmfs_readlink(stringToUTF8OnStack(path))));return UTF8ToString(readBuffer)},statBufToObject(statBuf){return{dev:HEAPU32[statBuf>>2],mode:HEAPU32[statBuf+4>>2],nlink:HEAPU32[statBuf+8>>2],uid:HEAPU32[statBuf+12>>2],gid:HEAPU32[statBuf+16>>2],rdev:HEAPU32[statBuf+20>>2],size:readI53FromI64(statBuf+24),blksize:HEAPU32[statBuf+32>>2],blocks:HEAPU32[statBuf+36>>2],atime:readI53FromI64(statBuf+40),mtime:readI53FromI64(statBuf+56),ctime:readI53FromI64(statBuf+72),ino:readI53FromU64(statBuf+88)}},stat(path){var statBuf=_malloc(96);FS.handleError(withStackSave(()=>__wasmfs_stat(stringToUTF8OnStack(path),statBuf)));var stats=FS.statBufToObject(statBuf);_free(statBuf);return stats},lstat(path){var statBuf=_malloc(96);FS.handleError(withStackSave(()=>__wasmfs_lstat(stringToUTF8OnStack(path),statBuf)));var stats=FS.statBufToObject(statBuf);_free(statBuf);return stats},chmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chmod(buffer,mode)}))},lchmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_lchmod(buffer,mode)}))},fchmod(fd,mode){return FS.handleError(__wasmfs_fchmod(fd,mode))},utime:(path,atime,mtime)=>FS.handleError(withStackSave(()=>__wasmfs_utime(stringToUTF8OnStack(path),atime,mtime))),truncate(path,len){return FS.handleError(withStackSave(()=>__wasmfs_truncate(stringToUTF8OnStack(path),BigInt(len))))},ftruncate(fd,len){return FS.handleError(__wasmfs_ftruncate(fd,BigInt(len)))},findObject(path){var result=withStackSave(()=>__wasmfs_identify(stringToUTF8OnStack(path)));if(result==44){return null}return{isFolder:result==31,isDevice:false}},readdir:path=>withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);var entries=[];var state=__wasmfs_readdir_start(pathBuffer);if(!state){throw new Error("No such directory")}var entry;while(entry=__wasmfs_readdir_get(state)){entries.push(UTF8ToString(entry))}__wasmfs_readdir_finish(state);return entries}),mount:(type,opts,mountpoint)=>{var backendPointer=type.createBackend(opts);return FS.handleError(withStackSave(()=>__wasmfs_mount(stringToUTF8OnStack(mountpoint),backendPointer)))},unmount:mountpoint=>FS.handleError(withStackSave(()=>__wasmfs_unmount(stringToUTF8OnStack(mountpoint)))),mknod:(path,mode,dev)=>FS_mknod(path,mode,dev),makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){var backendPointer=_wasmfs_create_jsimpl_backend();var definedOps={userRead:ops.read,userWrite:ops.write,allocFile:file=>{wasmFSDeviceStreams[file]={}},freeFile:file=>{wasmFSDeviceStreams[file]=undefined},getSize:file=>{},setSize:(file,size)=>0,read:(file,buffer,length,offset)=>{var bufferArray=Module.HEAP8.subarray(buffer,buffer+length);try{var bytesRead=definedOps.userRead(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}Module.HEAP8.set(bufferArray,buffer);return bytesRead},write:(file,buffer,length,offset)=>{var bufferArray=Module.HEAP8.subarray(buffer,buffer+length);try{var bytesWritten=definedOps.userWrite(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}Module.HEAP8.set(bufferArray,buffer);return bytesWritten}};wasmFS$backends[backendPointer]=definedOps;wasmFSDevices[dev]=backendPointer},createDevice(parent,name,input,output){if(typeof parent!="string"){throw new Error("Only string paths are accepted")}var path=PATH.join2(parent,name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i_wasmfs_create_file(stringToUTF8OnStack(path),mode,deviceBackend)))},rename(oldPath,newPath){return FS.handleError(withStackSave(()=>{var oldPathBuffer=stringToUTF8OnStack(oldPath);var newPathBuffer=stringToUTF8OnStack(newPath);return __wasmfs_rename(oldPathBuffer,newPathBuffer)}))},llseek(stream,offset,whence){return FS.handleError(__wasmfs_llseek(stream.fd,BigInt(offset),whence))}};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){HEAPU32[ptr>>2]=stack;HEAPU32[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);HEAP32[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=HEAP32[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var FS_createPath=FS.createPath;FS.init();var wasmImports={a:___assert_fail,m:__asyncjs__kpse_find_file_js,n:__asyncjs__kpse_sync_file_js,O:__abort_js,q:__emscripten_runtime_keepalive_clear,I:__emscripten_throw_longjmp,K:__localtime_js,r:__setitimer_js,L:__tzset_js,D:__wasmfs_copy_preloaded_file_data,B:__wasmfs_get_num_preloaded_dirs,C:__wasmfs_get_num_preloaded_files,z:__wasmfs_get_preloaded_child_path,x:__wasmfs_get_preloaded_file_mode,E:__wasmfs_get_preloaded_file_size,A:__wasmfs_get_preloaded_parent_path,y:__wasmfs_get_preloaded_path_name,w:__wasmfs_jsimpl_alloc_file,l:__wasmfs_jsimpl_free_file,v:__wasmfs_jsimpl_get_size,u:__wasmfs_jsimpl_read,s:__wasmfs_jsimpl_set_size,t:__wasmfs_jsimpl_write,H:__wasmfs_stdin_get_char,g:_emscripten_date_now,j:_emscripten_err,G:_emscripten_out,J:_emscripten_resize_heap,M:_environ_get,N:_environ_sizes_get,o:_exit,P:invoke_i,i:invoke_ii,d:invoke_iii,k:invoke_iiii,b:invoke_iiiii,c:invoke_iiiiii,e:invoke_v,h:invoke_vi,f:invoke_vii,p:_proc_exit,F:_random_get};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["R"])();var _free=a0=>(_free=wasmExports["S"])(a0);var _compileLaTeX=Module["_compileLaTeX"]=()=>(_compileLaTeX=Module["_compileLaTeX"]=wasmExports["T"])();var _compileFormat=Module["_compileFormat"]=()=>(_compileFormat=Module["_compileFormat"]=wasmExports["U"])();var _compileBibtex=Module["_compileBibtex"]=()=>(_compileBibtex=Module["_compileBibtex"]=wasmExports["V"])();var _wasmWriteFile=Module["_wasmWriteFile"]=(a0,a1,a2)=>(_wasmWriteFile=Module["_wasmWriteFile"]=wasmExports["W"])(a0,a1,a2);var _setMainEntry=Module["_setMainEntry"]=(a0,a1)=>(_setMainEntry=Module["_setMainEntry"]=wasmExports["X"])(a0,a1);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["Y"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["Z"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports["$"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["aa"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["ba"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["ca"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["da"])();var __wasmfs_read_file=a0=>(__wasmfs_read_file=wasmExports["ea"])(a0);var __wasmfs_write_file=(a0,a1,a2)=>(__wasmfs_write_file=wasmExports["fa"])(a0,a1,a2);var __wasmfs_mkdir=(a0,a1)=>(__wasmfs_mkdir=wasmExports["ga"])(a0,a1);var __wasmfs_rmdir=a0=>(__wasmfs_rmdir=wasmExports["ha"])(a0);var __wasmfs_open=(a0,a1,a2)=>(__wasmfs_open=wasmExports["ia"])(a0,a1,a2);var __wasmfs_allocate=(a0,a1,a2)=>(__wasmfs_allocate=wasmExports["ja"])(a0,a1,a2);var __wasmfs_mknod=(a0,a1,a2)=>(__wasmfs_mknod=wasmExports["ka"])(a0,a1,a2);var __wasmfs_unlink=a0=>(__wasmfs_unlink=wasmExports["la"])(a0);var __wasmfs_chdir=a0=>(__wasmfs_chdir=wasmExports["ma"])(a0);var __wasmfs_symlink=(a0,a1)=>(__wasmfs_symlink=wasmExports["na"])(a0,a1);var __wasmfs_readlink=a0=>(__wasmfs_readlink=wasmExports["oa"])(a0);var __wasmfs_write=(a0,a1,a2)=>(__wasmfs_write=wasmExports["pa"])(a0,a1,a2);var __wasmfs_pwrite=(a0,a1,a2,a3)=>(__wasmfs_pwrite=wasmExports["qa"])(a0,a1,a2,a3);var __wasmfs_chmod=(a0,a1)=>(__wasmfs_chmod=wasmExports["ra"])(a0,a1);var __wasmfs_fchmod=(a0,a1)=>(__wasmfs_fchmod=wasmExports["sa"])(a0,a1);var __wasmfs_lchmod=(a0,a1)=>(__wasmfs_lchmod=wasmExports["ta"])(a0,a1);var __wasmfs_llseek=(a0,a1,a2)=>(__wasmfs_llseek=wasmExports["ua"])(a0,a1,a2);var __wasmfs_rename=(a0,a1)=>(__wasmfs_rename=wasmExports["va"])(a0,a1);var __wasmfs_read=(a0,a1,a2)=>(__wasmfs_read=wasmExports["wa"])(a0,a1,a2);var __wasmfs_pread=(a0,a1,a2,a3)=>(__wasmfs_pread=wasmExports["xa"])(a0,a1,a2,a3);var __wasmfs_truncate=(a0,a1)=>(__wasmfs_truncate=wasmExports["ya"])(a0,a1);var __wasmfs_ftruncate=(a0,a1)=>(__wasmfs_ftruncate=wasmExports["za"])(a0,a1);var __wasmfs_close=a0=>(__wasmfs_close=wasmExports["Aa"])(a0);var __wasmfs_mmap=(a0,a1,a2,a3,a4)=>(__wasmfs_mmap=wasmExports["Ba"])(a0,a1,a2,a3,a4);var __wasmfs_msync=(a0,a1,a2)=>(__wasmfs_msync=wasmExports["Ca"])(a0,a1,a2);var __wasmfs_munmap=(a0,a1)=>(__wasmfs_munmap=wasmExports["Da"])(a0,a1);var __wasmfs_utime=(a0,a1,a2)=>(__wasmfs_utime=wasmExports["Ea"])(a0,a1,a2);var __wasmfs_stat=(a0,a1)=>(__wasmfs_stat=wasmExports["Fa"])(a0,a1);var __wasmfs_lstat=(a0,a1)=>(__wasmfs_lstat=wasmExports["Ga"])(a0,a1);var __wasmfs_mount=(a0,a1)=>(__wasmfs_mount=wasmExports["Ha"])(a0,a1);var __wasmfs_unmount=a0=>(__wasmfs_unmount=wasmExports["Ia"])(a0);var __wasmfs_identify=a0=>(__wasmfs_identify=wasmExports["Ja"])(a0);var __wasmfs_readdir_start=a0=>(__wasmfs_readdir_start=wasmExports["Ka"])(a0);var __wasmfs_readdir_get=a0=>(__wasmfs_readdir_get=wasmExports["La"])(a0);var __wasmfs_readdir_finish=a0=>(__wasmfs_readdir_finish=wasmExports["Ma"])(a0);var __wasmfs_get_cwd=()=>(__wasmfs_get_cwd=wasmExports["Na"])();var _wasmfs_create_jsimpl_backend=()=>(_wasmfs_create_jsimpl_backend=wasmExports["Oa"])();var _wasmfs_create_file=(a0,a1,a2)=>(_wasmfs_create_file=wasmExports["Pa"])(a0,a1,a2);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["Qa"])(a0,a1,a2);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["Ra"])(a0,a1,a2,a3,a4,a5);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["Sa"])(a0,a1);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["Ta"])(a0,a1,a2,a3);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["Ua"])(a0,a1,a2,a3,a4);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["Va"])(a0,a1);var dynCall_v=Module["dynCall_v"]=a0=>(dynCall_v=Module["dynCall_v"]=wasmExports["Wa"])(a0);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["Xa"])(a0,a1,a2);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["Ya"])(a0);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["Za"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["_a"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["$a"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["ab"])();function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["cwrap"]=cwrap;Module["FS_createPreloadedFile"]=FS_createPreloadedFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDataFile"]=FS_createDataFile;function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"];if(!noInitialRun)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); diff --git a/src/services/latex/index.ts b/src/services/latex/index.ts index 1db33605..0a089db1 100644 --- a/src/services/latex/index.ts +++ b/src/services/latex/index.ts @@ -5,6 +5,7 @@ import type { WorkspaceProj } from '../workspace-proj'; let activeProject: string | null = null; let activeEngine: PdfTeXEngine | null = null; +let texlive_endpoint = 'https://texlive.emaily.re/'; export async function compile(project: WorkspaceProj): Promise { let progress: typeof Toast.Handle | undefined; @@ -27,6 +28,7 @@ export async function compile(project: WorkspaceProj): Promise { activeEngine?.closeWorker(); activeEngine = new PdfTeXEngine(); await activeEngine.loadEngine(); + activeEngine.setTexliveEndpoint(texlive_endpoint); activeProject = project.uuid; }