Move to makefile for AVIF

This commit is contained in:
Surma
2020-08-03 11:44:17 +01:00
committed by Ingvar Stepanyan
parent 2edb8cbd7e
commit ee99cf6e0b
24 changed files with 1387 additions and 47 deletions

67
codecs/avif/Makefile Normal file
View File

@ -0,0 +1,67 @@
CODEC_DIR = node_modules/libavif
CODEC_OUT_RELATIVE = build/libavif.a
CODEC_OUT := $(addprefix $(CODEC_DIR)/, $(CODEC_OUT_RELATIVE))
LIBAOM_RELATIVE = ./ext/aom/build.libavif/
LIBAOM_DIR := $(addprefix $(CODEC_DIR)/, $(LIBAOM_RELATIVE))
LIBAOM_OUT_RELATIVE = ./libaom.a
LIBAOM_OUT := $(addprefix $(LIBAOM_DIR)/, $(LIBAOM_OUT_RELATIVE))
OUT_JS = enc/avif_enc.js dec/avif_dec.js
OUT_WASM = $(OUT_JS:.js=.wasm)
.PHONY: all clean
all: $(OUT_JS)
%.js: %.cpp $(LIBAOM_OUT) $(CODEC_OUT)
$(CXX) \
-I $(CODEC_DIR)/include \
${CXXFLAGS} \
${LDFLAGS} \
--bind \
--closure 1 \
-s ALLOW_MEMORY_GROWTH=1 \
-s MODULARIZE=1 \
-s 'EXPORT_NAME="$(basename $(@F))"' \
-o $@ \
$+
$(LIBAOM_OUT): $(LIBAOM_DIR)
export CFLAGS="-w $(CFLAGS)" && \
mkdir -p $(LIBAOM_DIR) && \
cd $(LIBAOM_DIR) && \
emcmake cmake \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_CCACHE=0 \
-DAOM_TARGET_CPU=generic \
-DENABLE_DOCS=0 \
-DENABLE_TESTS=0 \
-DCONFIG_ACCOUNTING=1 \
-DCONFIG_INSPECTION=0 \
-DCONFIG_MULTITHREAD=0 \
-DCONFIG_RUNTIME_CPU_DETECT=0 \
-DCONFIG_WEBM_IO=0 \
../ && \
$(MAKE)
$(LIBAOM_DIR):
cd $(CODEC_DIR)/ext && \
git clone -b v1.0.0-errata1-avif --depth 1 https://aomedia.googlesource.com/aom aom
$(CODEC_OUT): $(LIBAOM_OUT)
export CFLAGS="-w $(CFLAGS)" && \
mkdir -p $(CODEC_DIR)/build && \
cd $(CODEC_DIR)/build && \
emcmake cmake \
DCMAKE_BUILD_TYPE=Release \
-DAVIF_CODEC_AOM=1 \
-DAVIF_LOCAL_AOM=1 \
../ && \
$(MAKE)
clean:
$(RM) $(OUT_JS) $(OUT_WASM)
$(RM) -rf $(LIBAOM_OUT)
$(RM) -rf $(CODEC_OUT)

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

111
codecs/avif/enc/avif_enc.js Normal file
View File

@ -0,0 +1,111 @@
var avif_enc = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(avif_enc) {
avif_enc = avif_enc || {};
var f;f||(f=typeof avif_enc !== 'undefined' ? avif_enc : {});var aa,ba;f.ready=new Promise(function(a,b){aa=a;ba=b});var ca={},m;for(m in f)f.hasOwnProperty(m)&&(ca[m]=f[m]);var da=!1,r=!1,ea=!1,fa=!1;da="object"===typeof window;r="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!da&&!ea&&!r;var v="",ha,ia,ja,ka;
if(ea)v=r?require("path").dirname(v)+"/":__dirname+"/",ha=function(a,b){ja||(ja=require("fs"));ka||(ka=require("path"));a=ka.normalize(a);return ja.readFileSync(a,b?null:"utf8")},ia=function(a){a=ha(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(a){throw a;}),process.on("unhandledRejection",y),f.inspect=function(){return"[Emscripten Module object]"};else if(fa)"undefined"!=
typeof read&&(ha=function(a){return read(a)}),ia=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(da||r)r?v=self.location.href:document.currentScript&&(v=document.currentScript.src),_scriptDir&&(v=_scriptDir),0!==v.indexOf("blob:")?v=v.substr(0,
v.lastIndexOf("/")+1):v="",ha=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},r&&(ia=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var la=f.print||console.log.bind(console),z=f.printErr||console.warn.bind(console);for(m in ca)ca.hasOwnProperty(m)&&(f[m]=ca[m]);ca=null;var ma=0,na;f.wasmBinary&&(na=f.wasmBinary);var noExitRuntime;f.noExitRuntime&&(noExitRuntime=f.noExitRuntime);
"object"!==typeof WebAssembly&&y("no native wasm support detected");var A,pa=new WebAssembly.Table({initial:2101,maximum:2101,element:"anyfunc"}),qa=!1;function assert(a,b){a||y("Assertion failed: "+b)}var ra="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function C(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&ra)return ra.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|h:(e&7)<<18|g<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}
function sa(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var g=0;g<a.length;++g){var h=a.charCodeAt(g);if(55296<=h&&57343>=h){var k=a.charCodeAt(++g);h=65536+((h&1023)<<10)|k&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}
function ta(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32<c-a&&ua)return ua.decode(D.subarray(a,c));c=0;for(d="";;){var e=E[a+2*c>>1];if(0==e||c==b/2)return d;++c;d+=String.fromCharCode(e)}}
function xa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e)E[b>>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var e=F[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function Aa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var g=a.charCodeAt(e);if(55296<=g&&57343>=g){var h=a.charCodeAt(++e);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}var G,H,D,E,wa,F,I,Ca,Da;
function Ea(a){G=a;f.HEAP8=H=new Int8Array(a);f.HEAP16=E=new Int16Array(a);f.HEAP32=F=new Int32Array(a);f.HEAPU8=D=new Uint8Array(a);f.HEAPU16=wa=new Uint16Array(a);f.HEAPU32=I=new Uint32Array(a);f.HEAPF32=Ca=new Float32Array(a);f.HEAPF64=Da=new Float64Array(a)}var Fa=f.INITIAL_MEMORY||16777216;f.wasmMemory?A=f.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[206060]=6067280;
function Ga(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(f);else{var c=b.nb;"number"===typeof c?void 0===b.Va?f.dynCall_v(c):f.dynCall_vi(c,b.Va):c(void 0===b.Va?null:b.Va)}}}var Ha=[],Ia=[],Ja=[],Ka=[];function La(){var a=f.preRun.shift();Ha.unshift(a)}var Ma=Math.abs,Na=Math.ceil,Oa=Math.floor,Pa=Math.min,J=0,Qa=null,Ra=null;f.preloadedImages={};f.preloadedAudios={};
function y(a){if(f.onAbort)f.onAbort(a);z(a);qa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Sa(a){var b=K;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Ta(){return Sa("data:application/octet-stream;base64,")}var K="avif_enc.wasm";if(!Ta()){var Ua=K;K=f.locateFile?f.locateFile(Ua,v):v+Ua}
function Va(){try{if(na)return new Uint8Array(na);if(ia)return ia(K);throw"both async and sync fetching of the wasm failed";}catch(a){y(a)}}function Wa(){return na||!da&&!r||"function"!==typeof fetch||Sa("file://")?new Promise(function(a){a(Va())}):fetch(K,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+K+"'";return a.arrayBuffer()}).catch(function(){return Va()})}var L,Xa;Ia.push({nb:function(){Ya()}});function Za(){return 0<Za.Sa}
function $a(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}function ab(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=$a(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function bb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function cb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function db(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=$a(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var eb=[];function fb(a,b){eb[a]={input:[],output:[],Ra:b};gb(a,hb)}
var hb={open:function(a){var b=eb[a.node.rdev];if(!b)throw new M(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Ra.flush(a.tty)},flush:function(a){a.tty.Ra.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Ra.gb)throw new M(60);for(var e=0,g=0;g<d;g++){try{var h=a.tty.Ra.gb(a.tty)}catch(k){throw new M(29);}if(void 0===h&&0===e)throw new M(6);if(null===h||void 0===h)break;e++;b[c+g]=h}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.tty||!a.tty.Ra.Xa)throw new M(60);
try{for(var e=0;e<d;e++)a.tty.Ra.Xa(a.tty,b[c+e])}catch(g){throw new M(29);}d&&(a.node.timestamp=Date.now());return e}},ib={gb:function(a){if(!a.input.length){var b=null;if(ea){var c=Buffer.Sa?Buffer.Sa(256):new Buffer(256),d=0;try{d=ja.readSync(process.stdin.fd,c,0,256,null)}catch(e){if(-1!=e.toString().indexOf("EOF"))d=0;else throw e;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==
typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;c=Array(ta(b)+1);b=sa(b,c,0,c.length);c.length=b;a.input=c}return a.input.shift()},Xa:function(a,b){null===b||10===b?(la(C(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(la(C(a.output,0)),a.output=[])}},jb={Xa:function(a,b){null===b||10===b?(z(C(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(z(C(a.output,0)),a.output=[])}},N={Ja:null,
Na:function(){return N.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new M(63);N.Ja||(N.Ja={dir:{node:{Oa:N.Ga.Oa,La:N.Ga.La,lookup:N.Ga.lookup,Ta:N.Ga.Ta,rename:N.Ga.rename,unlink:N.Ga.unlink,rmdir:N.Ga.rmdir,readdir:N.Ga.readdir,symlink:N.Ga.symlink},stream:{Pa:N.Ha.Pa}},file:{node:{Oa:N.Ga.Oa,La:N.Ga.La},stream:{Pa:N.Ha.Pa,read:N.Ha.read,write:N.Ha.write,$a:N.Ha.$a,hb:N.Ha.hb,jb:N.Ha.jb}},link:{node:{Oa:N.Ga.Oa,La:N.Ga.La,readlink:N.Ga.readlink},
stream:{}},ab:{node:{Oa:N.Ga.Oa,La:N.Ga.La},stream:kb}});c=lb(a,b,c,d);16384===(c.mode&61440)?(c.Ga=N.Ja.dir.node,c.Ha=N.Ja.dir.stream,c.Fa={}):32768===(c.mode&61440)?(c.Ga=N.Ja.file.node,c.Ha=N.Ja.file.stream,c.Ia=0,c.Fa=null):40960===(c.mode&61440)?(c.Ga=N.Ja.link.node,c.Ha=N.Ja.link.stream):8192===(c.mode&61440)&&(c.Ga=N.Ja.ab.node,c.Ha=N.Ja.ab.stream);c.timestamp=Date.now();a&&(a.Fa[b]=c);return c},Eb:function(a){if(a.Fa&&a.Fa.subarray){for(var b=[],c=0;c<a.Ia;++c)b.push(a.Fa[c]);return b}return a.Fa},
Fb:function(a){return a.Fa?a.Fa.subarray?a.Fa.subarray(0,a.Ia):new Uint8Array(a.Fa):new Uint8Array(0)},bb:function(a,b){var c=a.Fa?a.Fa.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Fa,a.Fa=new Uint8Array(b),0<a.Ia&&a.Fa.set(c.subarray(0,a.Ia),0))},xb:function(a,b){if(a.Ia!=b)if(0==b)a.Fa=null,a.Ia=0;else{if(!a.Fa||a.Fa.subarray){var c=a.Fa;a.Fa=new Uint8Array(b);c&&a.Fa.set(c.subarray(0,Math.min(b,a.Ia)))}else if(a.Fa||(a.Fa=[]),a.Fa.length>b)a.Fa.length=b;
else for(;a.Fa.length<b;)a.Fa.push(0);a.Ia=b}},Ga:{Oa:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Ia:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.lb=4096;b.blocks=Math.ceil(b.size/b.lb);return b},La:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&
(a.timestamp=b.timestamp);void 0!==b.size&&N.xb(a,b.size)},lookup:function(){throw mb[44];},Ta:function(a,b,c,d){return N.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=nb(b,c)}catch(g){}if(d)for(var e in d.Fa)throw new M(55);}delete a.parent.Fa[a.name];a.name=c;b.Fa[c]=a;a.parent=b},unlink:function(a,b){delete a.Fa[b]},rmdir:function(a,b){var c=nb(a,b),d;for(d in c.Fa)throw new M(55);delete a.Fa[b]},readdir:function(a){var b=[".",".."],c;for(c in a.Fa)a.Fa.hasOwnProperty(c)&&
b.push(c);return b},symlink:function(a,b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new M(28);return a.link}},Ha:{read:function(a,b,c,d,e){var g=a.node.Fa;if(e>=a.node.Ia)return 0;a=Math.min(a.node.Ia-e,d);if(8<a&&g.subarray)b.set(g.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=g[e+d];return a},write:function(a,b,c,d,e,g){b.buffer===H.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.Fa||a.Fa.subarray)){if(g)return a.Fa=
b.subarray(c,c+d),a.Ia=d;if(0===a.Ia&&0===e)return a.Fa=b.slice(c,c+d),a.Ia=d;if(e+d<=a.Ia)return a.Fa.set(b.subarray(c,c+d),e),d}N.bb(a,e+d);if(a.Fa.subarray&&b.subarray)a.Fa.set(b.subarray(c,c+d),e);else for(g=0;g<d;g++)a.Fa[e+g]=b[c+g];a.Ia=Math.max(a.Ia,e+d);return d},Pa:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Ia);if(0>b)throw new M(28);return b},$a:function(a,b,c){N.bb(a.node,b+c);a.node.Ia=Math.max(a.node.Ia,b+c)},hb:function(a,b,c,d,e,g){assert(0===
b);if(32768!==(a.node.mode&61440))throw new M(43);a=a.node.Fa;if(g&2||a.buffer!==G){if(0<d||d+c<a.length)a.subarray?a=a.subarray(d,d+c):a=Array.prototype.slice.call(a,d,d+c);d=!0;g=16384*Math.ceil(c/16384);for(b=ob(g);c<g;)H[b+c++]=0;c=b;if(!c)throw new M(48);H.set(a,c)}else d=!1,c=a.byteOffset;return{Jb:c,Db:d}},jb:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new M(43);if(e&2)return 0;N.Ha.write(a,b,0,d,c,!1);return 0}}},pb=null,qb={},rb=[],sb=1,tb=null,ub=!0,vb={},M=null,mb={};
function O(a,b){a=db("/",a);b=b||{};if(!a)return{path:"",node:null};var c={fb:!0,Ya:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.Ya)throw new M(32);a=$a(a.split("/").filter(function(h){return!!h}),!1);var e=pb;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;e=nb(e,a[d]);c=ab(c+"/"+a[d]);e.Ua&&(!g||g&&b.fb)&&(e=e.Ua.root);if(!g||b.eb)for(g=0;40960===(e.mode&61440);)if(e=wb(c),c=db(bb(c),e),e=O(c,{Ya:b.Ya}).node,40<g++)throw new M(32);}return{path:c,node:e}}
function xb(a){for(var b;;){if(a===a.parent)return a=a.Na.ib,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function yb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%tb.length}function nb(a,b){var c;if(c=(c=zb(a,"x"))?c:a.Ga.lookup?0:2)throw new M(c,a);for(c=tb[yb(a.id,b)];c;c=c.ub){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ga.lookup(a,b)}
function lb(a,b,c,d){a=new Ab(a,b,c,d);b=yb(a.parent.id,a.name);a.ub=tb[b];return tb[b]=a}var Bb={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};function Cb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function zb(a,b){if(ub)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0}
function Db(a,b){try{return nb(a,b),20}catch(c){}return zb(a,"wx")}function Eb(){var a=4096;for(var b=0;b<=a;b++)if(!rb[b])return b;throw new M(33);}function Fb(a){Gb||(Gb=function(){},Gb.prototype={});var b=new Gb,c;for(c in a)b[c]=a[c];a=b;b=Eb();a.fd=b;return rb[b]=a}var kb={open:function(a){a.Ha=qb[a.node.rdev].Ha;a.Ha.open&&a.Ha.open(a)},Pa:function(){throw new M(70);}};function gb(a,b){qb[a]={Ha:b}}
function Hb(a,b){var c="/"===b,d=!b;if(c&&pb)throw new M(10);if(!c&&!d){var e=O(b,{fb:!1});b=e.path;e=e.node;if(e.Ua)throw new M(10);if(16384!==(e.mode&61440))throw new M(54);}b={type:a,Ib:{},ib:b,tb:[]};a=a.Na(b);a.Na=b;b.root=a;c?pb=a:e&&(e.Ua=b,e.Na&&e.Na.tb.push(b))}function Ib(a,b,c){var d=O(a,{parent:!0}).node;a=cb(a);if(!a||"."===a||".."===a)throw new M(28);var e=Db(d,a);if(e)throw new M(e);if(!d.Ga.Ta)throw new M(63);return d.Ga.Ta(d,a,b,c)}function Q(a){Ib(a,16895,0)}
function Jb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Ib(a,b|8192,c)}function Kb(a,b){if(!db(a))throw new M(44);var c=O(b,{parent:!0}).node;if(!c)throw new M(44);b=cb(b);var d=Db(c,b);if(d)throw new M(d);if(!c.Ga.symlink)throw new M(63);c.Ga.symlink(c,b,a)}function wb(a){a=O(a).node;if(!a)throw new M(44);if(!a.Ga.readlink)throw new M(28);return db(xb(a.parent),a.Ga.readlink(a))}
function Lb(a,b,c){if(""===a)throw new M(44);if("string"===typeof b){var d=Bb[b];if("undefined"===typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var e=a;else{a=ab(a);try{e=O(a,{eb:!(b&131072)}).node}catch(h){}}d=!1;if(b&64)if(e){if(b&128)throw new M(20);}else e=Ib(a,c,0),d=!0;if(!e)throw new M(44);8192===(e.mode&61440)&&(b&=-513);if(b&65536&&16384!==(e.mode&61440))throw new M(54);if(!d&&(c=e?40960===(e.mode&61440)?32:
16384===(e.mode&61440)&&("r"!==Cb(b)||b&512)?31:zb(e,Cb(b)):44))throw new M(c);if(b&512){c=e;var g;"string"===typeof c?g=O(c,{eb:!0}).node:g=c;if(!g.Ga.La)throw new M(63);if(16384===(g.mode&61440))throw new M(31);if(32768!==(g.mode&61440))throw new M(28);if(c=zb(g,"w"))throw new M(c);g.Ga.La(g,{size:0,timestamp:Date.now()})}b&=-131713;e=Fb({node:e,path:xb(e),flags:b,seekable:!0,position:0,Ha:e.Ha,Cb:[],error:!1});e.Ha.open&&e.Ha.open(e);!f.logReadFiles||b&1||(Mb||(Mb={}),a in Mb||(Mb[a]=1,z("FS.trackingDelegate error on read file: "+
a)));try{vb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),vb.onOpenFile(a,g))}catch(h){z("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+h.message)}return e}function Nb(a,b,c){if(null===a.fd)throw new M(8);if(!a.seekable||!a.Ha.Pa)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.Ha.Pa(a,b,c);a.Cb=[]}
function Ob(){M||(M=function(a,b){this.node=b;this.yb=function(c){this.Qa=c};this.yb(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(function(a){mb[a]=new M(a);mb[a].stack="<generic error, no stack>"}))}var Pb;function Qb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function Rb(a,b,c){a=ab("/dev/"+a);var d=Qb(!!b,!!c);Sb||(Sb=64);var e=Sb++<<8|0;gb(e,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,k,l){for(var n=0,p=0;p<l;p++){try{var t=b()}catch(u){throw new M(29);}if(void 0===t&&0===n)throw new M(6);if(null===t||void 0===t)break;n++;h[k+p]=t}n&&(g.node.timestamp=Date.now());return n},write:function(g,h,k,l){for(var n=0;n<l;n++)try{c(h[k+n])}catch(p){throw new M(29);}l&&(g.node.timestamp=Date.now());return n}});
Jb(a,d,e)}var Sb,Tb={},Gb,Mb,Ub=void 0;function Vb(){Ub+=4;return F[Ub-4>>2]}function Wb(a){a=rb[a];if(!a)throw new M(8);return a}var Xb={};function Yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Zb(a){return this.fromWireType(I[a>>2])}var $b={},R={},ac={};function bc(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}
function cc(a,b){a=bc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function dc(a){var b=Error,c=cc(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}
var ec=void 0;function fc(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new ec("Mismatched type converter count");for(var l=0;l<a.length;++l)S(a[l],k[l])}a.forEach(function(k){ac[k]=b});var e=Array(b.length),g=[],h=0;b.forEach(function(k,l){R.hasOwnProperty(k)?e[l]=R[k]:(g.push(k),$b.hasOwnProperty(k)||($b[k]=[]),$b[k].push(function(){e[l]=R[k];++h;h===g.length&&d(e)}))});0===g.length&&d(e)}
function hc(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var ic=void 0;function T(a){for(var b="";D[a];)b+=ic[D[a++]];return b}var jc=void 0;function U(a){throw new jc(a);}
function S(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||U('type "'+d+'" must have a positive integer typeid pointer');if(R.hasOwnProperty(a)){if(c.rb)return;U("Cannot register type '"+d+"' twice")}R[a]=b;delete ac[a];$b.hasOwnProperty(a)&&(b=$b[a],delete $b[a],b.forEach(function(e){e()}))}var kc=[],V=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function lc(a){4<a&&0===--V[a].Za&&(V[a]=void 0,kc.push(a))}function mc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=kc.length?kc.pop():V.length;V[b]={Za:1,value:a};return b}}function nc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function oc(a,b){switch(b){case 2:return function(c){return this.fromWireType(Ca[c>>2])};case 3:return function(c){return this.fromWireType(Da[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function pc(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=cc(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function qc(a,b){var c=f;if(void 0===c[a].Ka){var d=c[a];c[a]=function(){c[a].Ka.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Ka+")!");return c[a].Ka[arguments.length].apply(this,arguments)};c[a].Ka=[];c[a].Ka[d.kb]=d}}
function rc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].Ka&&void 0!==f[a].Ka[c])&&U("Cannot register public name '"+a+"' twice"),qc(a,a),f.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].Ka[c]=b):(f[a]=b,void 0!==c&&(f[a].Hb=c))}function sc(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function tc(a,b){a=T(a);var c=f["dynCall_"+a];for(var d=[],e=1;e<a.length;++e)d.push("a"+e);e="return function dynCall_"+(a+"_"+b)+"("+d.join(", ")+") {\n";e+=" return dynCall(rawFunction"+(d.length?", ":"")+d.join(", ")+");\n";c=(new Function("dynCall","rawFunction",e+"};\n"))(c,b);"function"!==typeof c&&U("unknown function pointer with signature "+a+": "+b);return c}var uc=void 0;function vc(a){a=wc(a);var b=T(a);W(a);return b}
function xc(a,b){function c(g){e[g]||R[g]||(ac[g]?ac[g].forEach(c):(d.push(g),e[g]=!0))}var d=[],e={};b.forEach(c);throw new uc(a+": "+d.map(vc).join([", "]));}function yc(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return D[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return wa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}
function Ab(a,b,c,d){a||(a=this);this.parent=a;this.Na=a.Na;this.Ua=null;this.id=sb++;this.name=b;this.mode=c;this.Ga={};this.Ha={};this.rdev=d}Object.defineProperties(Ab.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Ob();tb=Array(4096);Hb(N,"/");Q("/tmp");Q("/home");Q("/home/web_user");
(function(){Q("/dev");gb(259,{read:function(){return 0},write:function(d,e,g,h){return h}});Jb("/dev/null",259);fb(1280,ib);fb(1536,jb);Jb("/dev/tty",1280);Jb("/dev/tty1",1536);if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);var b=function(){crypto.getRandomValues(a);return a[0]}}else if(ea)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){y("random_device")});Rb("random",b);Rb("urandom",b);Q("/dev/shm");
Q("/dev/shm/tmp")})();Q("/proc");Q("/proc/self");Q("/proc/self/fd");Hb({Na:function(){var a=lb("/proc/self","fd",16895,73);a.Ga={lookup:function(b,c){var d=rb[+c];if(!d)throw new M(8);b={parent:null,Na:{ib:"fake"},Ga:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");ec=f.InternalError=dc("InternalError");for(var zc=Array(256),Ac=0;256>Ac;++Ac)zc[Ac]=String.fromCharCode(Ac);ic=zc;jc=f.BindingError=dc("BindingError");
f.count_emval_handles=function(){for(var a=0,b=5;b<V.length;++b)void 0!==V[b]&&++a;return a};f.get_first_emval=function(){for(var a=5;a<V.length;++a)if(void 0!==V[a])return V[a];return null};uc=f.UnboundTypeError=dc("UnboundTypeError");
var Mc={x:function(a){return ob(a)},w:function(a){"uncaught_exception"in Za?Za.Sa++:Za.Sa=1;throw a;},J:function(a,b,c){Ub=c;try{var d=Wb(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var e=Vb();return F[e>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=e=Vb();if(!d.Ha.sb)throw new M(59);return d.Ha.sb(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:y("bad ioctl syscall "+
b)}}catch(g){return"undefined"!==typeof Tb&&g instanceof M||y(g),-g.Qa}},L:function(a,b,c){Ub=c;try{var d=a?C(D,a,void 0):"",e=Vb();return Lb(d,b,e).fd}catch(g){return"undefined"!==typeof Tb&&g instanceof M||y(g),-g.Qa}},K:function(a){var b=Xb[a];delete Xb[a];var c=b.vb,d=b.wb,e=b.cb,g=e.map(function(h){return h.qb}).concat(e.map(function(h){return h.Ab}));fc([a],g,function(h){var k={};e.forEach(function(l,n){var p=h[n],t=l.ob,u=l.pb,w=h[n+e.length],q=l.zb,B=l.Bb;k[l.mb]={read:function(x){return p.fromWireType(t(u,
x))},write:function(x,P){var oa=[];q(B,x,w.toWireType(oa,P));Yb(oa)}}});return[{name:b.name,fromWireType:function(l){var n={},p;for(p in k)n[p]=k[p].read(l);d(l);return n},toWireType:function(l,n){for(var p in k)if(!(p in n))throw new TypeError('Missing field: "'+p+'"');var t=c();for(p in k)k[p].write(t,n[p]);null!==l&&l.push(d,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Ma:d}]})},N:function(a,b,c,d,e){var g=hc(c);b=T(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,
k){return k?d:e},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var k=H;else if(2===c)k=E;else if(4===c)k=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Ma:null})},M:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(c){var d=V[c].value;lc(c);return d},toWireType:function(c,d){return mc(d)},argPackAdvance:8,readValueFromPointer:Zb,Ma:null})},s:function(a,b,c){c=hc(c);b=T(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,
e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+nc(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:oc(b,c),Ma:null})},p:function(a,b,c,d,e,g){var h=sc(b,c);a=T(a);e=tc(d,e);rc(a,function(){xc("Cannot call "+a+" due to unbound types",h)},b-1);fc([],h,function(k){var l=[k[0],null].concat(k.slice(1)),n=k=a,p=e,t=l.length;2>t&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var u=null!==l[1]&&!1,w=!1,
q=1;q<l.length;++q)if(null!==l[q]&&void 0===l[q].Ma){w=!0;break}var B="void"!==l[0].name,x="",P="";for(q=0;q<t-2;++q)x+=(0!==q?", ":"")+"arg"+q,P+=(0!==q?", ":"")+"arg"+q+"Wired";n="return function "+bc(n)+"("+x+") {\nif (arguments.length !== "+(t-2)+") {\nthrowBindingError('function "+n+" called with ' + arguments.length + ' arguments, expected "+(t-2)+" args!');\n}\n";w&&(n+="var destructors = [];\n");var oa=w?"destructors":"null";x="throwBindingError invoker fn runDestructors retType classParam".split(" ");
p=[U,p,g,Yb,l[0],l[1]];u&&(n+="var thisWired = classParam.toWireType("+oa+", this);\n");for(q=0;q<t-2;++q)n+="var arg"+q+"Wired = argType"+q+".toWireType("+oa+", arg"+q+"); // "+l[q+2].name+"\n",x.push("argType"+q),p.push(l[q+2]);u&&(P="thisWired"+(0<P.length?", ":"")+P);n+=(B?"var rv = ":"")+"invoker(fn"+(0<P.length?", ":"")+P+");\n";if(w)n+="runDestructors(destructors);\n";else for(q=u?1:2;q<l.length;++q)t=1===q?"thisWired":"arg"+(q-2)+"Wired",null!==l[q].Ma&&(n+=t+"_dtor("+t+"); // "+l[q].name+
"\n",x.push(t+"_dtor"),p.push(l[q].Ma));B&&(n+="var ret = retType.fromWireType(rv);\nreturn ret;\n");x.push(n+"}\n");l=pc(x).apply(null,p);q=b-1;if(!f.hasOwnProperty(k))throw new ec("Replacing nonexistant public symbol");void 0!==f[k].Ka&&void 0!==q?f[k].Ka[q]=l:(f[k]=l,f[k].kb=q);return[]})},i:function(a,b,c,d,e){function g(n){return n}b=T(b);-1===e&&(e=4294967295);var h=hc(c);if(0===d){var k=32-8*c;g=function(n){return n<<k>>>k}}var l=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(n,
p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+nc(p)+'" to '+this.name);if(p<d||p>e)throw new TypeError('Passing a number "'+nc(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+e+"]!");return l?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:yc(b,h,0!==d),Ma:null})},f:function(a,b,c){function d(g){g>>=2;var h=I;return new e(G,h[g+1],h[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,
Uint32Array,Float32Array,Float64Array][b];c=T(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{rb:!0})},t:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var e=I[d>>2];if(c)for(var g=d+4,h=0;h<=e;++h){var k=d+4+h;if(h==e||0==D[k]){g=g?C(D,g,k-g):"";if(void 0===l)var l=g;else l+=String.fromCharCode(0),l+=g;g=k+1}}else{l=Array(e);for(h=0;h<e;++h)l[h]=String.fromCharCode(D[d+4+h]);l=l.join("")}W(d);return l},toWireType:function(d,e){e instanceof
ArrayBuffer&&(e=new Uint8Array(e));var g="string"===typeof e;g||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||U("Cannot pass non-string to std::string");var h=(c&&g?function(){return ta(e)}:function(){return e.length})(),k=ob(4+h+1);I[k>>2]=h;if(c&&g)sa(e,D,k+4,h+1);else if(g)for(g=0;g<h;++g){var l=e.charCodeAt(g);255<l&&(W(k),U("String has UTF-16 code units that do not fit in 8 bits"));D[k+4+g]=l}else for(g=0;g<h;++g)D[k+4+g]=e[g];null!==d&&d.push(W,k);return k},
argPackAdvance:8,readValueFromPointer:Zb,Ma:function(d){W(d)}})},o:function(a,b,c){c=T(c);if(2===b){var d=va;var e=xa;var g=ya;var h=function(){return wa};var k=1}else 4===b&&(d=za,e=Aa,g=Ba,h=function(){return I},k=2);S(a,{name:c,fromWireType:function(l){for(var n=I[l>>2],p=h(),t,u=l+4,w=0;w<=n;++w){var q=l+4+w*b;if(w==n||0==p[q>>k])u=d(u,q-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=q+b}W(l);return t},toWireType:function(l,n){"string"!==typeof n&&U("Cannot pass non-string to C++ string type "+
c);var p=g(n),t=ob(4+p+b);I[t>>2]=p>>k;e(n,t+4,p+b);null!==l&&l.push(W,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Ma:function(l){W(l)}})},O:function(a,b,c,d,e,g){Xb[a]={name:T(b),vb:tc(c,d),wb:tc(e,g),cb:[]}},F:function(a,b,c,d,e,g,h,k,l,n){Xb[a].cb.push({mb:T(b),qb:c,ob:tc(d,e),pb:g,Ab:h,zb:tc(k,l),Bb:n})},u:function(a,b){b=T(b);S(a,{Gb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},v:lc,y:function(a){4<a&&(V[a].Za+=1)},P:function(a,b){var c=R[a];void 0===
c&&U("_emval_take_value has unknown type "+vc(a));a=c.readValueFromPointer(b);return mc(a)},H:function(){y()},d:function(a,b){X(a,b||1);throw"longjmp";},G:function(a,b,c){D.copyWithin(a,b,b+c)},j:function(a){a>>>=0;var b=D.length;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0<d%65536&&(d+=65536-d%65536);a:{try{A.grow(Math.min(2147483648,d)-G.byteLength+65535>>>16);Ea(A.buffer);var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1},
r:function(a){try{var b=Wb(a);if(null===b.fd)throw new M(8);b.Wa&&(b.Wa=null);try{b.Ha.close&&b.Ha.close(b)}catch(c){throw c;}finally{rb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof Tb&&c instanceof M||y(c),c.Qa}},I:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g<c;g++){var h=F[b+(8*g+4)>>2],k=e,l=F[b+8*g>>2],n=h,p=void 0,t=H;if(0>n||0>p)throw new M(28);if(null===k.fd)throw new M(8);if(1===(k.flags&2097155))throw new M(8);if(16384===(k.node.mode&61440))throw new M(31);if(!k.Ha.read)throw new M(28);
var u="undefined"!==typeof p;if(!u)p=k.position;else if(!k.seekable)throw new M(70);var w=k.Ha.read(k,t,l,n,p);u||(k.position+=w);var q=w;if(0>q){var B=-1;break a}a+=q;if(q<h)break}B=a}F[d>>2]=B;return 0}catch(x){return"undefined"!==typeof Tb&&x instanceof M||y(x),x.Qa}},C:function(a,b,c,d,e){try{var g=Wb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Nb(g,a,d);Xa=[g.position>>>0,(L=g.position,1<=+Ma(L)?0<L?(Pa(+Oa(L/4294967296),4294967295)|0)>>>0:~~+Na((L-+(~~L>>>
0))/4294967296)>>>0:0)];F[e>>2]=Xa[0];F[e+4>>2]=Xa[1];g.Wa&&0===a&&0===d&&(g.Wa=null);return 0}catch(h){return"undefined"!==typeof Tb&&h instanceof M||y(h),h.Qa}},q:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g<c;g++){var h=e,k=F[b+8*g>>2],l=F[b+(8*g+4)>>2],n=void 0,p=H;if(0>l||0>n)throw new M(28);if(null===h.fd)throw new M(8);if(0===(h.flags&2097155))throw new M(8);if(16384===(h.node.mode&61440))throw new M(31);if(!h.Ha.write)throw new M(28);h.seekable&&h.flags&1024&&Nb(h,0,2);var t="undefined"!==
typeof n;if(!t)n=h.position;else if(!h.seekable)throw new M(70);var u=h.Ha.write(h,p,k,l,n,void 0);t||(h.position+=u);try{if(h.path&&vb.onWriteToFile)vb.onWriteToFile(h.path)}catch(B){z("FS.trackingDelegate['onWriteToFile']('"+h.path+"') threw an exception: "+B.message)}var w=u;if(0>w){var q=-1;break a}a+=w}q=a}F[d>>2]=q;return 0}catch(B){return"undefined"!==typeof Tb&&B instanceof M||y(B),B.Qa}},a:function(){return ma|0},l:Bc,e:Cc,D:Dc,n:Ec,A:Fc,z:Gc,B:Hc,E:Ic,k:Jc,m:Kc,c:Lc,memory:A,g:function(a){a=
+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},h:function(a){a=+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},b:function(a){ma=a|0},table:pa};
(function(){function a(e){f.asm=e.exports;J--;f.monitorRunDependencies&&f.monitorRunDependencies(J);0==J&&(null!==Qa&&(clearInterval(Qa),Qa=null),Ra&&(e=Ra,Ra=null,e()))}function b(e){a(e.instance)}function c(e){return Wa().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){z("failed to asynchronously prepare wasm: "+g);y(g)})}var d={a:Mc};J++;f.monitorRunDependencies&&f.monitorRunDependencies(J);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return z("Module.instantiateWasm callback failed with error: "+
e),!1}(function(){if(na||"function"!==typeof WebAssembly.instantiateStreaming||Ta()||Sa("file://")||"function"!==typeof fetch)return c(b);fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){z("wasm streaming compile failed: "+g);z("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var Ya=f.___wasm_call_ctors=function(){return(Ya=f.___wasm_call_ctors=f.asm.Q).apply(null,arguments)},ob=f._malloc=function(){return(ob=f._malloc=f.asm.R).apply(null,arguments)},W=f._free=function(){return(W=f._free=f.asm.S).apply(null,arguments)},wc=f.___getTypeName=function(){return(wc=f.___getTypeName=f.asm.T).apply(null,arguments)};f.___embind_register_native_and_builtin_types=function(){return(f.___embind_register_native_and_builtin_types=f.asm.U).apply(null,arguments)};
f.___errno_location=function(){return(f.___errno_location=f.asm.V).apply(null,arguments)};
var X=f._setThrew=function(){return(X=f._setThrew=f.asm.W).apply(null,arguments)},Y=f.stackSave=function(){return(Y=f.stackSave=f.asm.X).apply(null,arguments)},Z=f.stackRestore=function(){return(Z=f.stackRestore=f.asm.Y).apply(null,arguments)},Nc=f.dynCall_v=function(){return(Nc=f.dynCall_v=f.asm.Z).apply(null,arguments)},Oc=f.dynCall_vi=function(){return(Oc=f.dynCall_vi=f.asm._).apply(null,arguments)},Pc=f.dynCall_vii=function(){return(Pc=f.dynCall_vii=f.asm.$).apply(null,arguments)};
f.dynCall_viii=function(){return(f.dynCall_viii=f.asm.aa).apply(null,arguments)};var Qc=f.dynCall_viiii=function(){return(Qc=f.dynCall_viiii=f.asm.ba).apply(null,arguments)},Rc=f.dynCall_ii=function(){return(Rc=f.dynCall_ii=f.asm.ca).apply(null,arguments)},Sc=f.dynCall_iii=function(){return(Sc=f.dynCall_iii=f.asm.da).apply(null,arguments)};f.dynCall_iiii=function(){return(f.dynCall_iiii=f.asm.ea).apply(null,arguments)};
var Tc=f.dynCall_iiiii=function(){return(Tc=f.dynCall_iiiii=f.asm.fa).apply(null,arguments)},Uc=f.dynCall_iiiiiiiii=function(){return(Uc=f.dynCall_iiiiiiiii=f.asm.ga).apply(null,arguments)},Vc=f.dynCall_iiiijj=function(){return(Vc=f.dynCall_iiiijj=f.asm.ha).apply(null,arguments)},Wc=f.dynCall_ij=function(){return(Wc=f.dynCall_ij=f.asm.ia).apply(null,arguments)},Xc=f.dynCall_jjij=function(){return(Xc=f.dynCall_jjij=f.asm.ja).apply(null,arguments)};
f.dynCall_i=function(){return(f.dynCall_i=f.asm.ka).apply(null,arguments)};f.dynCall_iiiiii=function(){return(f.dynCall_iiiiii=f.asm.la).apply(null,arguments)};f.dynCall_viiiii=function(){return(f.dynCall_viiiii=f.asm.ma).apply(null,arguments)};f.dynCall_viiiiii=function(){return(f.dynCall_viiiiii=f.asm.na).apply(null,arguments)};f.dynCall_viiiiiiii=function(){return(f.dynCall_viiiiiiii=f.asm.oa).apply(null,arguments)};
f.dynCall_viiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiii=f.asm.pa).apply(null,arguments)};f.dynCall_viiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiii=f.asm.qa).apply(null,arguments)};f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.ra).apply(null,arguments)};f.dynCall_iiiiiiiiiiiiiiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiiiiiiiiiiiiiii=f.asm.sa).apply(null,arguments)};f.dynCall_iiiiiiiiii=function(){return(f.dynCall_iiiiiiiiii=f.asm.ta).apply(null,arguments)};
f.dynCall_iiiiiii=function(){return(f.dynCall_iiiiiii=f.asm.ua).apply(null,arguments)};f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.va).apply(null,arguments)};f.dynCall_iiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiii=f.asm.wa).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.xa).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.ya).apply(null,arguments)};
f.dynCall_viiiiiiiiii=function(){return(f.dynCall_viiiiiiiiii=f.asm.za).apply(null,arguments)};f.dynCall_viiiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiiii=f.asm.Aa).apply(null,arguments)};f.dynCall_jiiiiiii=function(){return(f.dynCall_jiiiiiii=f.asm.Ba).apply(null,arguments)};f.dynCall_ff=function(){return(f.dynCall_ff=f.asm.Ca).apply(null,arguments)};f.dynCall_jiiiiii=function(){return(f.dynCall_jiiiiii=f.asm.Da).apply(null,arguments)};
f.dynCall_iiijii=function(){return(f.dynCall_iiijii=f.asm.Ea).apply(null,arguments)};function Kc(a,b,c){var d=Y();try{Pc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function Lc(a,b,c,d,e){var g=Y();try{Qc(a,b,c,d,e)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Cc(a,b,c){var d=Y();try{return Sc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function Jc(a,b){var c=Y();try{Oc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}
function Ic(a){var b=Y();try{Nc(a)}catch(c){Z(b);if(c!==c+0&&"longjmp"!==c)throw c;X(1,0)}}function Bc(a,b){var c=Y();try{return Rc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function Dc(a,b,c,d,e){var g=Y();try{return Tc(a,b,c,d,e)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Ec(a,b,c,d,e,g,h,k,l){var n=Y();try{return Uc(a,b,c,d,e,g,h,k,l)}catch(p){Z(n);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}
function Hc(a,b,c,d,e,g){var h=Y();try{return Xc(a,b,c,d,e,g)}catch(k){Z(h);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function Fc(a,b,c,d,e,g,h,k){var l=Y();try{return Vc(a,b,c,d,e,g,h,k)}catch(n){Z(l);if(n!==n+0&&"longjmp"!==n)throw n;X(1,0)}}function Gc(a,b,c){var d=Y();try{return Wc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}var Yc;Ra=function Zc(){Yc||$c();Yc||(Ra=Zc)};
function $c(){function a(){if(!Yc&&(Yc=!0,f.calledRun=!0,!qa)){f.noFSInit||Pb||(Pb=!0,Ob(),f.stdin=f.stdin,f.stdout=f.stdout,f.stderr=f.stderr,f.stdin?Rb("stdin",f.stdin):Kb("/dev/tty","/dev/stdin"),f.stdout?Rb("stdout",null,f.stdout):Kb("/dev/tty","/dev/stdout"),f.stderr?Rb("stderr",null,f.stderr):Kb("/dev/tty1","/dev/stderr"),Lb("/dev/stdin","r"),Lb("/dev/stdout","w"),Lb("/dev/stderr","w"));Ga(Ia);ub=!1;Ga(Ja);aa(f);if(f.onRuntimeInitialized)f.onRuntimeInitialized();if(f.postRun)for("function"==
typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;){var b=f.postRun.shift();Ka.unshift(b)}Ga(Ka)}}if(!(0<J)){if(f.preRun)for("function"==typeof f.preRun&&(f.preRun=[f.preRun]);f.preRun.length;)La();Ga(Ha);0<J||(f.setStatus?(f.setStatus("Running..."),setTimeout(function(){setTimeout(function(){f.setStatus("")},1);a()},1)):a())}}f.run=$c;if(f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);0<f.preInit.length;)f.preInit.pop()();noExitRuntime=!0;$c();
return avif_enc.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = avif_enc;
else if (typeof define === 'function' && define['amd'])
define([], function() { return avif_enc; });
else if (typeof exports === 'object')
exports["avif_enc"] = avif_enc;

Binary file not shown.

1203
codecs/avif/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +1,15 @@
{
"name": "avif_enc",
"name": "avif",
"scripts": {
"install": "napa",
"build": "docker run --rm -v $(pwd):/src trzeci/emscripten-upstream ./build.sh"
"build": "../build-cpp.sh"
},
"napa": {
"libavif": "AOMediaCodec/libavif#v0.5.4"
},
"napa-config": {
"cache": false
},
"devDependencies": {
"napa": "3.0.0"
}

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -1,4 +1,4 @@
FROM emscripten/emsdk:1.39.19
FROM emscripten/emsdk:1.40.0
RUN apt-get update && apt-get install -qqy autoconf libtool pkg-config
ENV CFLAGS "-Os -flto"
ENV CXXFLAGS "${CFLAGS} -std=c++17"