function _base64ToArrayBuffer(base64){for(var binary_string=atob(base64),len=binary_string.length,bytes=new Uint8Array(len),i=0;ithis.length)&&(this_len=this.length),this.substring(this_len-search.length,this_len)===search}),void 0!==console);function makeCustomConsole(){function postConsoleMessage(prefix,args){postMessage({target:"console-"+prefix,content:JSON.stringify(Array.prototype.slice.call(args))})}return{log:function(){postConsoleMessage("log",arguments)},debug:function(){postConsoleMessage("debug",arguments)},info:function(){postConsoleMessage("info",arguments)},warn:function(){postConsoleMessage("warn",arguments)},error:function(){postConsoleMessage("error",arguments)}}}(Module=Module||{}).preRun=Module.preRun||[],Module.preRun.push(function(){if(Module.FS_createFolder("/","fonts",!0,!0),self.subContent||(self.subContent=read_(self.subUrl)),self.availableFonts&&0!==self.availableFonts.length){for(var sections=parseAss(self.subContent),i=0;i>2];return HEAP32[DYNAMICTOP_PTR>>2]=ret+size+15&-16,ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:var bits;return"*"===type[type.length-1]?4:"i"===type[0]?(assert((bits=Number(type.substr(1)))%8==0,"getNativeTypeSize invalid bits "+bits+", type "+type),bits/8):0}}function warnOnce(text){warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[text]||(warnOnce.shown[text]=1,err(text))}function convertJsFunctionToWasm(func,sig){if("function"==typeof WebAssembly.Function){for(var typeNames={i:"i32",j:"i64",f:"f32",d:"f64"},type={parameters:[],results:"v"==sig[0]?[]:[typeNames[sig[0]]]},i=1;i>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,1<=+Math_abs(tempDouble=value)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){switch(type="*"===(type=type||"i8").charAt(type.length-1)?"i32":type){case"i1":case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}return null}Module.wasmBinary&&(wasmBinary=Module.wasmBinary),Module.noExitRuntime&&(noExitRuntime=Module.noExitRuntime),"object"!=typeof WebAssembly&&err("no native wasm support detected");var wasmTable=new WebAssembly.Table({initial:1011,maximum:1011,element:"anyfunc"}),ABORT=!1,EXITSTATUS=0;function assert(condition,text){condition||abort("Assertion failed: "+text)}function getCFunc(ident){var func=Module["_"+ident];return assert(func,"Cannot call unknown function "+ident+", make sure it is exported"),func}function ccall(ident,returnType,argTypes,args,opts){var toC={string:function(str){var len,ret=0;return null!=str&&0!==str&&(len=1+(str.length<<2),stringToUTF8(str,ret=stackAlloc(len),len)),ret},array:function(arr){var ret=stackAlloc(arr.length);return writeArrayToMemory(arr,ret),ret}};var ident=getCFunc(ident),cArgs=[],stack=0;if(args)for(var i=0;i>2]=0;for(stop=ret+size;ptr>0]=0}else if("i8"===singleType)slab.subarray||slab.slice?HEAPU8.set(slab,ret):HEAPU8.set(new Uint8Array(slab),ret);else for(var typeSize,previousType,i=0;i>10,56320|1023&u1)))):str+=String.fromCharCode(u0)}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(0>6}else{if(u<=65535){if(endIdx<=outIdx+2)break;outU8Array[outIdx++]=224|u>>12}else{if(endIdx<=outIdx+3)break;outU8Array[outIdx++]=240|u>>18,outU8Array[outIdx++]=128|u>>12&63}outU8Array[outIdx++]=128|u>>6&63}outU8Array[outIdx++]=128|63&u}}return outU8Array[outIdx]=0,outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){for(var len=0,i=0;i>0]=str.charCodeAt(i);dontAddNull||(HEAP8[buffer>>0]=0)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,WASM_PAGE_SIZE=65536;function alignUp(x,multiple){return 0>2]=DYNAMIC_BASE;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,Module.noFSInit||FS.init.initialized||FS.init(),TTY.init(),callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=!1,callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_min=Math.min,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(id){var callback;runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)&&(callback=dependenciesFulfilled,dependenciesFulfilled=null,callback())}function abort(what){throw Module.onAbort&&Module.onAbort(what),out(what+=""),err(what),ABORT=!0,EXITSTATUS=1,what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(what)}Module.preloadedImages={},Module.preloadedAudios={};var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):0===filename.indexOf(dataURIPrefix)}var tempDouble,tempI64,wasmBinaryFile="subtitles-octopus-worker.wasm";function getBinary(){try{if(wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(wasmBinaryFile);throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function fetchFile(path,options){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest;xhr.withCredentials=!0,xhr.open("GET",path,!0),xhr.responseType="arraybuffer",xhr.onerror=reject,xhr.onload=function(event){var packageData;200==xhr.status||304==xhr.status||206==xhr.status||0==xhr.status&&xhr.response?(packageData=xhr.response,resolve(packageData)):reject(xhr.statusText+" : "+xhr.responseURL)},xhr.send(null)})}function getBinaryPromise(){return wasmBinary||!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER||"function"!=typeof fetch?new Promise(function(resolve,reject){resolve(getBinary())}):fetchFile(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(response.ok)return response.arrayBuffer();throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}).catch(function(){return getBinary()})}function createWasm(){var info={env:asmLibraryArg,wasi_snapshot_preview1:asmLibraryArg};function receiveInstance(instance,module){instance=instance.exports;Module.asm=instance,removeRunDependency("wasm-instantiate")}function receiveInstantiatedSource(output){receiveInstance(output.instance)}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason),abort(reason)})}if(addRunDependency("wasm-instantiate"),Module.instantiateWasm)try{return Module.instantiateWasm(info,receiveInstance)}catch(e){return err("Module.instantiateWasm callback failed with error: "+e),!1}return wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||isDataURI(wasmBinaryFile)||"function"!=typeof fetch?instantiateArrayBuffer(receiveInstantiatedSource):fetchFile(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){return WebAssembly.instantiateStreaming(response,info).then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason),err("falling back to ArrayBuffer instantiation"),instantiateArrayBuffer(receiveInstantiatedSource)})}),{}}function _emscripten_set_main_loop_timing(mode,value){var setImmediates,emscriptenMainLoopMessageId;return Browser.mainLoop.timingMode=mode,Browser.mainLoop.timingValue=value,Browser.mainLoop.func?(0==mode?(Browser.mainLoop.scheduler=function(){var timeUntilNextTick=0|Math.max(0,Browser.mainLoop.tickStartTime+value-_emscripten_get_now());setTimeout(Browser.mainLoop.runner,timeUntilNextTick)},Browser.mainLoop.method="timeout"):1==mode?(Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF"):2==mode&&("undefined"==typeof setImmediate&&(setImmediates=[],emscriptenMainLoopMessageId="setimmediate",addEventListener("message",function(event){event.data!==emscriptenMainLoopMessageId&&event.data.target!==emscriptenMainLoopMessageId||(event.stopPropagation(),setImmediates.shift()())},!0),setImmediate=function(func){setImmediates.push(func),ENVIRONMENT_IS_WORKER?(void 0===Module.setImmediates&&(Module.setImmediates=[]),Module.setImmediates.push(func),postMessage({target:emscriptenMainLoopMessageId})):postMessage(emscriptenMainLoopMessageId,"*")}),Browser.mainLoop.scheduler=function(){setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"),0):1}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=func,Browser.mainLoop.arg=arg,browserIterationFunc=void 0!==arg?function(){Module.dynCall_vi(func,arg)}:function(){Module.dynCall_v(func)};var browserIterationFunc,thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){var start,blocker,remaining,next;if(!ABORT)return 0=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)},requestAnimationFrame:function(func){("function"==typeof requestAnimationFrame?requestAnimationFrame:Browser.fakeRequestAnimationFrame)(func)},safeCallback:function(func){return function(){if(!ABORT)return func.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){var callbacks;Browser.allowAsyncCallbacks=!0,0>2],HEAP32[SDL.screen>>2]=flags|=8388608),Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize:function(){var flags;"undefined"!=typeof SDL&&(flags=HEAPU32[SDL.screen>>2],HEAP32[SDL.screen>>2]=flags&=-8388609),Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions:function(canvas,wNative,hNative){wNative&&hNative?(canvas.widthNative=wNative,canvas.heightNative=hNative):(wNative=canvas.widthNative,hNative=canvas.heightNative);var factor,w=wNative,h=hNative;Module.forcedAspectRatio&&0>2]=value),value}function _clock_gettime(clk_id,tp){var now;if(0===clk_id)now=Date.now();else{if(1!==clk_id&&4!==clk_id||!_emscripten_get_now_is_monotonic)return ___setErrNo(28),-1;now=_emscripten_get_now()}return HEAP32[tp>>2]=now/1e3|0,HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0,0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}function ___map_file(pathname,size){return ___setErrNo(63),-1}var PATH={splitPath:function(filename){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){for(var up=0,i=parts.length-1;0<=i;i--){var last=parts[i];"."===last?parts.splice(i,1):".."===last?(parts.splice(i,1),up++):up&&(parts.splice(i,1),up--)}if(allowAboveRoot)for(;up;up--)parts.unshift("..");return parts},normalize:function(path){var isAbsolute="/"===path.charAt(0),trailingSlash="/"===path.substr(-1);return(path=(path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/"))||isAbsolute?path:".")&&trailingSlash&&(path+="/"),(isAbsolute?"/":"")+path},dirname:function(path){var path=PATH.splitPath(path),root=path[0],path=path[1];return root||path?root+(path=path&&path.substr(0,path.length-1)):"."},basename:function(path){var lastSlash;return"/"===path?"/":-1===(lastSlash=path.lastIndexOf("/"))?path:path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}},PATH_FS={resolve:function(){for(var resolvedPath="",resolvedAbsolute=!1,i=arguments.length-1;-1<=i&&!resolvedAbsolute;i--){var path=0<=i?arguments[i]:FS.cwd();if("string"!=typeof path)throw new TypeError("Arguments to path.resolve must be strings");if(!path)return"";resolvedPath=path+"/"+resolvedPath,resolvedAbsolute="/"===path.charAt(0)}return(resolvedAbsolute?"/":"")+(resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/"))||"."},relative:function(from,to){function trim(arr){for(var start=0;startnewSize)node.contents.length=newSize;else for(;node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(8>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash],FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node)FS.nameTable[hash]=node.name_next;else for(var current=FS.nameTable[hash];current;){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode)throw new FS.ErrnoError(errCode,parent);for(var errCode=FS.hashName(parent.id,name),node=FS.nameTable[errCode];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name)return node}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){parent=new FS.FSNode(parent,name,mode,rdev);return FS.hashAddNode(parent),parent},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return 32768==(61440&mode)},isDir:function(mode){return 16384==(61440&mode)},isLink:function(mode){return 40960==(61440&mode)},isChrdev:function(mode){return 8192==(61440&mode)},isBlkdev:function(mode){return 24576==(61440&mode)},isFIFO:function(mode){return 4096==(61440&mode)},isSocket:function(mode){return 49152==(49152&mode)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(void 0===flags)throw new Error("Unknown file open mode: "+str);return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][3&flag];return 512&flag&&(perms+="w"),perms},nodePermissions:function(node,perms){return FS.ignorePermissions||(-1===perms.indexOf("r")||292&node.mode)&&(-1===perms.indexOf("w")||146&node.mode)&&(-1===perms.indexOf("x")||73&node.mode)?0:2},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");return errCode||(dir.node_ops.lookup?0:2)},mayCreate:function(dir,name){try{FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}name=FS.nodePermissions(dir,"wx");if(name)return name;if(isdir){if(!FS.isDir(node.mode))return 54;if(FS.isRoot(node)||FS.getPath(node)===FS.cwd())return 10}else if(FS.isDir(node.mode))return 31;return 0},mayOpen:function(node,flags){return node?FS.isLink(node.mode)?32:FS.isDir(node.mode)&&("r"!==FS.flagsToPermissionString(flags)||512&flags)?31:FS.nodePermissions(node,FS.flagsToPermissionString(flags)):44},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start=fd_start||0;fd<=fd_end;fd++)if(!FS.streams[fd])return fd;throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){FS.FSStream||(FS.FSStream=function(){},FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var p,newStream=new FS.FSStream;for(p in stream)newStream[p]=stream[p];stream=newStream;fd_start=FS.nextfd(fd_start,fd_end);return stream.fd=fd_start,FS.streams[fd_start]=stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops,stream.stream_ops.open&&stream.stream_ops.open(stream)},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return 255&dev},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){for(var mounts=[],check=[mount];check.length;){var m=check.pop();mounts.push(m),check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){"function"==typeof populate&&(callback=populate,populate=!1),FS.syncFSRequests++,1=mounts.length&&doCallback(null)}mounts.forEach(function(mount){if(!mount.type.syncfs)return done(null);mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var node,root="/"===mountpoint,pseudo=!mountpoint;if(root&&FS.root)throw new FS.ErrnoError(10);if(!root&&!pseudo){pseudo=FS.lookupPath(mountpoint,{follow_mount:!1});if(mountpoint=pseudo.path,node=pseudo.node,FS.isMountpoint(node))throw new FS.ErrnoError(10);if(!FS.isDir(node.mode))throw new FS.ErrnoError(54)}pseudo={type:type,opts:opts,mountpoint:mountpoint,mounts:[]},opts=type.mount(pseudo);return(opts.mount=pseudo).root=opts,root?FS.root=opts:node&&(node.mounted=pseudo,node.mount)&&node.mount.mounts.push(pseudo),opts},unmount:function(mountpoint){mountpoint=FS.lookupPath(mountpoint,{follow_mount:!1});if(!FS.isMountpoint(mountpoint.node))throw new FS.ErrnoError(28);var mountpoint=mountpoint.node,mount=mountpoint.mounted,mounts=FS.getMounts(mount),mount=(Object.keys(FS.nameTable).forEach(function(hash){for(var current=FS.nameTable[hash];current;){var next=current.name_next;-1!==mounts.indexOf(current.mount)&&FS.destroyNode(current),current=next}}),mountpoint.mounted=null,mountpoint.mount.mounts.indexOf(mount));mountpoint.mount.mounts.splice(mount,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var parent=FS.lookupPath(path,{parent:!0}).node,path=PATH.basename(path);if(!path||"."===path||".."===path)throw new FS.ErrnoError(28);var errCode=FS.mayCreate(parent,path);if(errCode)throw new FS.ErrnoError(errCode);if(parent.node_ops.mknod)return parent.node_ops.mknod(parent,path,mode,dev);throw new FS.ErrnoError(63)},create:function(path,mode){return FS.mknod(path,mode=(mode=void 0!==mode?mode:438)&4095|32768,0)},mkdir:function(path,mode){return FS.mknod(path,mode=(mode=void 0!==mode?mode:511)&1023|16384,0)},mkdirTree:function(path,mode){for(var dirs=path.split("/"),d="",i=0;ithis.length-1||idx<0))return chunkOffset=idx%this.chunkSize,idx=idx/this.chunkSize|0,this.getter(idx)[chunkOffset]},LazyUint8Array.prototype.setDataGetter=function(getter){this.getter=getter},LazyUint8Array.prototype.cacheLength=function(){var xhr=new XMLHttpRequest;if(xhr.open("HEAD",url,!1),xhr.send(null),!(200<=xhr.status&&xhr.status<300||304===xhr.status))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var header,datalength=Number(xhr.getResponseHeader("Content-length")),hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&"bytes"===header,xhr=(header=xhr.getResponseHeader("Content-Encoding"))&&"gzip"===header,chunkSize=1048576,lazyArray=(hasByteServing||(chunkSize=datalength),this);lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize,end=(chunkNum+1)*chunkSize-1,end=Math.min(end,datalength-1);if(void 0===lazyArray.chunks[chunkNum]&&(lazyArray.chunks[chunkNum]=function(from,to){if(to=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice)for(var i=0;i>2]=stat.dev,HEAP32[buf+4>>2]=0,HEAP32[buf+8>>2]=stat.ino,HEAP32[buf+12>>2]=stat.mode,HEAP32[buf+16>>2]=stat.nlink,HEAP32[buf+20>>2]=stat.uid,HEAP32[buf+24>>2]=stat.gid,HEAP32[buf+28>>2]=stat.rdev,HEAP32[buf+32>>2]=0,tempI64=[stat.size>>>0,(tempDouble=stat.size,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1],HEAP32[buf+48>>2]=4096,HEAP32[buf+52>>2]=stat.blocks,HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0,HEAP32[buf+60>>2]=0,HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0,HEAP32[buf+68>>2]=0,HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0,HEAP32[buf+76>>2]=0,tempI64=[stat.ino>>>0,(tempDouble=stat.ino,1<=+Math_abs(tempDouble)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1],0},doMsync:function(addr,stream,len,flags,offset){addr=HEAPU8.slice(addr,addr+len);FS.msync(stream,addr,offset,len,flags)},doMkdir:function(path,mode){return"/"===(path=PATH.normalize(path))[path.length-1]&&(path=path.substr(0,path.length-1)),FS.mkdir(path,mode,0),0},doMknod:function(path,mode,dev){switch(61440&mode){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(path,mode,dev),0},doReadlink:function(path,buf,bufsize){var len,endChar;return bufsize<=0?-28:(path=FS.readlink(path),len=Math.min(bufsize,lengthBytesUTF8(path)),endChar=HEAP8[buf+len],stringToUTF8(path,buf,bufsize+1),HEAP8[buf+len]=endChar,len)},doAccess:function(path,amode){var perms;return-8&amode?-28:(path=FS.lookupPath(path,{follow:!0}).node)?(perms="",4&amode&&(perms+="r"),2&amode&&(perms+="w"),1&amode&&(perms+="x"),perms&&FS.nodePermissions(path,perms)?-2:0):-44},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);return suggest&&FS.close(suggest),FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){for(var ret=0,i=0;i>2],len=HEAP32[iov+(8*i+4)>>2],ptr=FS.read(stream,HEAP8,ptr,len,offset);if(ptr<0)return-1;if(ret+=ptr,ptr>2],len=HEAP32[iov+(8*i+4)>>2],ptr=FS.write(stream,HEAP8,ptr,len,offset);if(ptr<0)return-1;ret+=ptr}return ret},varargs:void 0,get:function(){return SYSCALLS.varargs+=4,HEAP32[SYSCALLS.varargs-4>>2]},getStr:function(ptr){return UTF8ToString(ptr)},getStreamFromFD:function(fd){fd=FS.getStream(fd);if(fd)return fd;throw new FS.ErrnoError(8)},get64:function(low,high){return low}};function ___syscall10(path){try{return path=SYSCALLS.getStr(path),FS.unlink(path),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall125(addr,len,size){return 0}function ___syscall15(path,mode){try{return path=SYSCALLS.getStr(path),FS.chmod(path,mode),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall183(buf,size){try{var cwd;return 0===size?-28:size>>0,1<=+Math_abs(tempDouble=id)?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1],tempI64=[280*(idx+1)>>>0,1<=+Math_abs(tempDouble=280*(idx+1))?0>>0:~~+Math_ceil((tempDouble-(~~tempDouble>>>0))/4294967296)>>>0:0],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1],HEAP16[dirp+pos+16>>1]=280,HEAP8[dirp+pos+18>>0]=type,stringToUTF8(name,dirp+pos+19,256),pos+=280,idx+=1}return FS.llseek(stream,280*idx,0),pos}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall221(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:return(arg=SYSCALLS.get())<0?-28:FS.open(stream.path,stream.flags,0,arg).fd;case 1:case 2:return 0;case 3:return stream.flags;case 4:var arg=SYSCALLS.get();return stream.flags|=arg,0;case 12:arg=SYSCALLS.get();return HEAP16[arg+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return ___setErrNo(28),-1;default:return-28}}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall3(fd,buf,count){try{var stream=SYSCALLS.getStreamFromFD(fd);return FS.read(stream,HEAP8,buf,count)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall33(path,amode){try{return path=SYSCALLS.getStr(path),SYSCALLS.doAccess(path,amode)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall38(old_path,new_path){try{return old_path=SYSCALLS.getStr(old_path),new_path=SYSCALLS.getStr(new_path),FS.rename(old_path,new_path),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall39(path,mode){try{return path=SYSCALLS.getStr(path),SYSCALLS.doMkdir(path,mode)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall40(path){try{return path=SYSCALLS.getStr(path),FS.rmdir(path),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall5(path,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path),mode=SYSCALLS.get();return FS.open(pathname,flags,mode).fd}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall54(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:return stream.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return stream.tty?0:-59;case 21519:return stream.tty?(argp=SYSCALLS.get(),HEAP32[argp>>2]=0):-59;case 21520:return stream.tty?-28:-59;case 21531:var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp);case 21523:case 21524:return stream.tty?0:-59;default:abort("bad ioctl syscall "+op)}}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall83(target,linkpath){try{return target=SYSCALLS.getStr(target),linkpath=SYSCALLS.getStr(linkpath),FS.symlink(target,linkpath),0}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall85(path,buf,bufsize){try{return path=SYSCALLS.getStr(path),SYSCALLS.doReadlink(path,buf,bufsize)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall9(oldpath,newpath){return-34}function syscallMunmap(addr,len){var info,stream;return-1===addr||0===len?-28:((info=SYSCALLS.mappings[addr])&&len===info.len&&(stream=FS.getStream(info.fd),SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset),FS.munmap(stream),SYSCALLS.mappings[addr]=null,info.allocated)&&_free(info.malloc),0)}function ___syscall91(addr,len){try{return syscallMunmap(addr,len)}catch(e){return void 0!==FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _abort(){abort()}function _emscripten_get_sbrk_ptr(){return 645200}var setjmpId=0;function _saveSetjmp(env,label,table,size){label|=0,table|=0,size|=0;var i=0;for(setjmpId=setjmpId+1|0,HEAP32[(env|=0)>>2]=setjmpId;(0|i)<(0|size);){if(0==(0|HEAP32[table+(i<<3)>>2]))return HEAP32[table+(i<<3)>>2]=setjmpId,HEAP32[table+(4+(i<<3))>>2]=label,HEAP32[table+(8+(i<<3))>>2]=0,setTempRet0(0|size),0|table;i=i+1|0}return table=0|_saveSetjmp(0|env,0|label,0|(table=0|_realloc(0|table,8*((size=2*size|0)+1|0)|0)),0|size),setTempRet0(0|size),0|table}function _testSetjmp(id,table,size){id|=0,table|=0,size|=0;for(var curr,i=0;(0|i)<(0|size)&&0!=(0|(curr=0|HEAP32[table+(i<<3)>>2]));){if((0|curr)==(0|id))return 0|HEAP32[table+(4+(i<<3))>>2];i=i+1|0}return 0}function _longjmp(env,value){throw _setThrew(env,value||1),"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function _emscripten_get_heap_size(){return HEAPU8.length}function emscripten_realloc_buffer(size){try{return wasmMemory.grow(size-buffer.byteLength+65535>>16),updateGlobalBufferAndViews(wasmMemory.buffer),1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();if(!(2147418112>2]=ret),ret}Module.requestFullscreen=function(lockPointer,resizeCanvas){Browser.requestFullscreen(lockPointer,resizeCanvas)},Module.requestAnimationFrame=function(func){Browser.requestAnimationFrame(func)},Module.setCanvasSize=function(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};var FSNode=function(parent,name,mode,rdev){this.parent=parent=parent||this,this.mount=parent.mount,this.mounted=null,this.id=FS.nextInode++,this.name=name,this.mode=mode,this.node_ops={},this.stream_ops={},this.rdev=rdev},readMode=365,writeMode=146,ASSERTIONS=(Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}}),FS.FSNode=FSNode,FS.staticInit(),Module.FS_createFolder=FS.createFolder,Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createLink=FS.createLink,Module.FS_createDevice=FS.createDevice,Module.FS_unlink=FS.unlink,!1);function intArrayFromString(stringy,dontAddNull,length){length=0>2]=allocateUTF8OnStack(thisProgram);for(var toLog,i=1;i>2)+i]=allocateUTF8OnStack(args[i-1]);HEAP32[(argv>>2)+argc]=0;try{exit(entryFunction(argc,argv),!0)}catch(e){e instanceof ExitStatus||("unwind"==e?noExitRuntime=!0:((toLog=e)&&"object"==typeof e&&e.stack&&(toLog=[e,e.stack]),err("exception thrown: "+toLog),quit_(1,e)))}finally{calledMain=!0}}function run(args){function doRun(){calledRun||(calledRun=!0,Module.calledRun=!0,ABORT)||(initRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),shouldRunNow&&callMain(args),postRun())}args=args||arguments_,0=ensureCache.size?(assert(0>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3}for(var i=0;iformat.length&&(parts=value.slice(format.length-1).join(","),(value=value.slice(0,format.length-1)).push(parts)),value=value.map(function(s){return s.trim()}),format)){for(tmp={},j=0;j 5 seconds. Assuming video was paused."),self.setIsPaused(!0)),self.lastCurrentTime+diff*self.rate)},self.setCurrentTime=function(currentTime){self.lastCurrentTime=currentTime,self.lastCurrentTimeReceivedAt=Date.now(),self.rafId||(self.nextIsRaf?self.fastRenderMode?self.rafId=self.requestAnimationFrame(self.fastRender):self.rafId=self.requestAnimationFrame(self.render):(self.fastRenderMode?self.fastRender():self.render(),setTimeout(function(){self.nextIsRaf=!1},20)))},self._isPaused=!0,self.getIsPaused=function(){return self._isPaused},self.setIsPaused=function(isPaused){isPaused!=self._isPaused&&((self._isPaused=isPaused)?self.rafId&&(clearTimeout(self.rafId),self.rafId=null):(self.lastCurrentTimeReceivedAt=Date.now(),self.fastRenderMode?self.rafId=self.requestAnimationFrame(self.fastRender):self.rafId=self.requestAnimationFrame(self.render)))},self.render=function(force){self.rafId=0,self.renderPending=!1;var startTime=performance.now(),renderResult=self.octObj.renderImage(self.getCurrentTime()+self.delay,self.changed);0==Module.getValue(self.changed,"i32")&&!force||(force=self.buildResult(renderResult),renderResult=performance.now()-startTime,postMessage({target:"canvas",op:"renderCanvas",time:Date.now(),spentTime:renderResult,canvases:force[0]},force[1])),self._isPaused||(self.rafId=self.requestAnimationFrame(self.render))},self.fastRender=function(force){self.rafId=0,self.renderPending=!1;var startTime=performance.now(),renderResult=self.octObj.renderImage(self.getCurrentTime()+self.delay,self.changed);if(0!=Module.getValue(self.changed,"i32")||force){for(var result=self.buildResult(renderResult),newTime=performance.now(),libassTime=newTime-startTime,promises=[],i=0;i>24&255,g=color>>16&255,b=color>>8&255,a=255-(255&color),result=new Uint8ClampedArray(4*w*h),bitmapPosition=0,resultPosition=0,y=0;y