UNPKG

@needle-tools/materialx

Version:

MaterialX material support for three.js and Needle Engine – render physically based MaterialX shaders in the browser via WebAssembly

10 lines (8 loc) 169 kB
var MaterialX = (function() { var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined; if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename; return ( function(MaterialX) { MaterialX = MaterialX || {}; var moduleRtn; var Module=MaterialX;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});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){}Module["expectedDataFileDownloads"]??=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="bin/JsMaterialXGenShader.data";var REMOTE_PACKAGE_BASE="JsMaterialXGenShader.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(isNode){require("fs").readFile(packageName,(err,contents)=>{if(err){errback(err)}else{callback(contents.buffer)}});return}Module["dataFileDownloads"]??={};fetch(packageName).catch(cause=>Promise.reject(new Error(`Network Error: ${packageName}`,{cause}))).then(response=>{if(!response.ok){return Promise.reject(new Error(`${response.status}: ${response.url}`))}if(!response.body&&response.arrayBuffer){return response.arrayBuffer().then(callback)}const reader=response.body.getReader();const iterate=()=>reader.read().then(handleChunk).catch(cause=>Promise.reject(new Error(`Unexpected error while handling : ${response.url} ${cause}`,{cause})));const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")??packageSize);let loaded=0;const handleChunk=({done,value})=>{if(!done){chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]?.(`Downloading data... (${totalLoaded}/${totalSize})`);return iterate()}else{const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}callback(packageData.buffer)}};Module["setStatus"]?.("Downloading data...");return iterate()})}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,data=>{if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(Module){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","libraries",true,true);Module["FS_createPath"]("/libraries","bxdf",true,true);Module["FS_createPath"]("/libraries/bxdf","genglsl",true,true);Module["FS_createPath"]("/libraries/bxdf","genmdl",true,true);Module["FS_createPath"]("/libraries/bxdf","lama",true,true);Module["FS_createPath"]("/libraries/bxdf","translation",true,true);Module["FS_createPath"]("/libraries","cmlib",true,true);Module["FS_createPath"]("/libraries","lights",true,true);Module["FS_createPath"]("/libraries/lights","genglsl",true,true);Module["FS_createPath"]("/libraries/lights","genmsl",true,true);Module["FS_createPath"]("/libraries","nprlib",true,true);Module["FS_createPath"]("/libraries/nprlib","genglsl",true,true);Module["FS_createPath"]("/libraries/nprlib","genmdl",true,true);Module["FS_createPath"]("/libraries/nprlib","genmsl",true,true);Module["FS_createPath"]("/libraries/nprlib","genosl",true,true);Module["FS_createPath"]("/libraries","pbrlib",true,true);Module["FS_createPath"]("/libraries/pbrlib","genglsl",true,true);Module["FS_createPath"]("/libraries/pbrlib/genglsl","lib",true,true);Module["FS_createPath"]("/libraries/pbrlib","genmdl",true,true);Module["FS_createPath"]("/libraries/pbrlib","genmsl",true,true);Module["FS_createPath"]("/libraries/pbrlib","genosl",true,true);Module["FS_createPath"]("/libraries/pbrlib/genosl","lib",true,true);Module["FS_createPath"]("/libraries","stdlib",true,true);Module["FS_createPath"]("/libraries/stdlib","genglsl",true,true);Module["FS_createPath"]("/libraries/stdlib/genglsl","lib",true,true);Module["FS_createPath"]("/libraries/stdlib","genmdl",true,true);Module["FS_createPath"]("/libraries/stdlib","genmsl",true,true);Module["FS_createPath"]("/libraries/stdlib/genmsl","lib",true,true);Module["FS_createPath"]("/libraries/stdlib","genosl",true,true);Module["FS_createPath"]("/libraries/stdlib/genosl","include",true,true);Module["FS_createPath"]("/libraries/stdlib/genosl","lib",true,true);Module["FS_createPath"]("/libraries","targets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i<files.length;++i){new DataRequest(files[i]["start"],files[i]["end"],files[i]["audio"]||0).open("GET",files[i]["filename"])}function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);DataRequest.prototype.byteArray=byteArray;var files=metadata["files"];for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_bin/JsMaterialXGenShader.data")}Module["addRunDependency"]("datafile_bin/JsMaterialXGenShader.data");Module["preloadResults"]??={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS(Module)}else{(Module["preRun"]??=[]).push(runWithFS)}}loadPackage({files:[{filename:"/libraries/CMakeLists.txt",start:0,end:1923},{filename:"/libraries/README.md",start:1923,end:6916},{filename:"/libraries/bxdf/disney_principled.mtlx",start:6916,end:14224},{filename:"/libraries/bxdf/genglsl/gltf_pbr.mtlx",start:14224,end:29039},{filename:"/libraries/bxdf/genglsl/open_pbr_surface.mtlx",start:29039,end:60246},{filename:"/libraries/bxdf/genglsl/standard_surface.mtlx",start:60246,end:78019},{filename:"/libraries/bxdf/genmdl/open_pbr_surface.mtlx",start:78019,end:109045},{filename:"/libraries/bxdf/gltf_pbr.mtlx",start:109045,end:153938},{filename:"/libraries/bxdf/lama/lama_add.mtlx",start:153938,end:156592},{filename:"/libraries/bxdf/lama/lama_conductor.mtlx",start:156592,end:164592},{filename:"/libraries/bxdf/lama/lama_dielectric.mtlx",start:164592,end:175511},{filename:"/libraries/bxdf/lama/lama_diffuse.mtlx",start:175511,end:178457},{filename:"/libraries/bxdf/lama/lama_emission.mtlx",start:178457,end:179206},{filename:"/libraries/bxdf/lama/lama_generalized_schlick.mtlx",start:179206,end:191060},{filename:"/libraries/bxdf/lama/lama_iridescence.mtlx",start:191060,end:197023},{filename:"/libraries/bxdf/lama/lama_layer.mtlx",start:197023,end:198767},{filename:"/libraries/bxdf/lama/lama_mix.mtlx",start:198767,end:200854},{filename:"/libraries/bxdf/lama/lama_sheen.mtlx",start:200854,end:202977},{filename:"/libraries/bxdf/lama/lama_sss.mtlx",start:202977,end:209752},{filename:"/libraries/bxdf/lama/lama_surface.mtlx",start:209752,end:211420},{filename:"/libraries/bxdf/lama/lama_translucent.mtlx",start:211420,end:213057},{filename:"/libraries/bxdf/open_pbr_surface.mtlx",start:213057,end:254343},{filename:"/libraries/bxdf/standard_surface.mtlx",start:254343,end:282426},{filename:"/libraries/bxdf/translation/open_pbr_to_standard_surface.mtlx",start:282426,end:299893},{filename:"/libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx",start:299893,end:310073},{filename:"/libraries/bxdf/translation/standard_surface_to_open_pbr.mtlx",start:310073,end:325182},{filename:"/libraries/bxdf/translation/standard_surface_to_usd.mtlx",start:325182,end:331063},{filename:"/libraries/bxdf/usd_preview_surface.mtlx",start:331063,end:354055},{filename:"/libraries/cmlib/cmlib_defs.mtlx",start:354055,end:358901},{filename:"/libraries/cmlib/cmlib_ng.mtlx",start:358901,end:376376},{filename:"/libraries/lights/genglsl/lights_genglsl_impl.mtlx",start:376376,end:376980},{filename:"/libraries/lights/genglsl/mx_directional_light.glsl",start:376980,end:377161},{filename:"/libraries/lights/genglsl/mx_point_light.glsl",start:377161,end:377531},{filename:"/libraries/lights/genglsl/mx_spot_light.glsl",start:377531,end:378155},{filename:"/libraries/lights/genmsl/lights_genmsl_impl.mtlx",start:378155,end:378756},{filename:"/libraries/lights/genmsl/mx_directional_light.metal",start:378756,end:378943},{filename:"/libraries/lights/genmsl/mx_point_light.metal",start:378943,end:379319},{filename:"/libraries/lights/genmsl/mx_spot_light.metal",start:379319,end:379949},{filename:"/libraries/lights/lights_defs.mtlx",start:379949,end:382361},{filename:"/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx",start:382361,end:383025},{filename:"/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx",start:383025,end:383787},{filename:"/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx",start:383787,end:384448},{filename:"/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx",start:384448,end:385146},{filename:"/libraries/nprlib/nprlib_defs.mtlx",start:385146,end:387781},{filename:"/libraries/nprlib/nprlib_ng.mtlx",start:387781,end:392630},{filename:"/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl",start:392630,end:393047},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl",start:393047,end:395841},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl",start:395841,end:396076},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl",start:396076,end:397162},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl",start:397162,end:397534},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl",start:397534,end:399881},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl",start:399881,end:402873},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl",start:402873,end:410337},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl",start:410337,end:417090},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl",start:417090,end:433540},{filename:"/libraries/pbrlib/genglsl/lib/mx_shadow.glsl",start:433540,end:434296},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl",start:434296,end:434467},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl",start:434467,end:434978},{filename:"/libraries/pbrlib/genglsl/mx_add_bsdf.glsl",start:434978,end:435560},{filename:"/libraries/pbrlib/genglsl/mx_add_edf.glsl",start:435560,end:435700},{filename:"/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl",start:435700,end:435928},{filename:"/libraries/pbrlib/genglsl/mx_artistic_ior.glsl",start:435928,end:436501},{filename:"/libraries/pbrlib/genglsl/mx_blackbody.glsl",start:436501,end:438237},{filename:"/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl",start:438237,end:439284},{filename:"/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl",start:439284,end:448292},{filename:"/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl",start:448292,end:450049},{filename:"/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl",start:450049,end:452691},{filename:"/libraries/pbrlib/genglsl/mx_displacement_float.glsl",start:452691,end:452836},{filename:"/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl",start:452836,end:452976},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl",start:452976,end:456145},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl",start:456145,end:456657},{filename:"/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl",start:456657,end:456907},{filename:"/libraries/pbrlib/genglsl/mx_layer_vdf.glsl",start:456907,end:457139},{filename:"/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl",start:457139,end:457405},{filename:"/libraries/pbrlib/genglsl/mx_mix_edf.glsl",start:457405,end:457571},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl",start:457571,end:457824},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl",start:457824,end:458082},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl",start:458082,end:458235},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl",start:458235,end:458388},{filename:"/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl",start:458388,end:459763},{filename:"/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl",start:459763,end:460208},{filename:"/libraries/pbrlib/genglsl/mx_roughness_dual.glsl",start:460208,end:460476},{filename:"/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl",start:460476,end:462562},{filename:"/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl",start:462562,end:463615},{filename:"/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl",start:463615,end:464341},{filename:"/libraries/pbrlib/genglsl/mx_uniform_edf.glsl",start:464341,end:464549},{filename:"/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx",start:464549,end:470654},{filename:"/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx",start:470654,end:482039},{filename:"/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx",start:482039,end:482306},{filename:"/libraries/pbrlib/genosl/lib/mx_microfacet.osl",start:482306,end:484038},{filename:"/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl",start:484038,end:484409},{filename:"/libraries/pbrlib/genosl/mx_artistic_ior.osl",start:484409,end:485001},{filename:"/libraries/pbrlib/genosl/mx_blackbody.osl",start:485001,end:486773},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl",start:486773,end:487465},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl",start:487465,end:487822},{filename:"/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl",start:487822,end:488372},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl",start:488372,end:489011},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl",start:489011,end:489281},{filename:"/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl",start:489281,end:489732},{filename:"/libraries/pbrlib/genosl/mx_roughness_dual.osl",start:489732,end:490028},{filename:"/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl",start:490028,end:490356},{filename:"/libraries/pbrlib/genosl/mx_surface.osl",start:490356,end:490557},{filename:"/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx",start:490557,end:496402},{filename:"/libraries/pbrlib/pbrlib_defs.mtlx",start:496402,end:520720},{filename:"/libraries/pbrlib/pbrlib_ng.mtlx",start:520720,end:521514},{filename:"/libraries/stdlib/genglsl/lib/mx_geometry.glsl",start:521514,end:522875},{filename:"/libraries/stdlib/genglsl/lib/mx_hextile.glsl",start:522875,end:527376},{filename:"/libraries/stdlib/genglsl/lib/mx_hsv.glsl",start:527376,end:530855},{filename:"/libraries/stdlib/genglsl/lib/mx_math.glsl",start:530855,end:531490},{filename:"/libraries/stdlib/genglsl/lib/mx_noise.glsl",start:531490,end:554429},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl",start:554429,end:554545},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl",start:554545,end:554681},{filename:"/libraries/stdlib/genglsl/mx_aastep.glsl",start:554681,end:554881},{filename:"/libraries/stdlib/genglsl/mx_burn_color3.glsl",start:554881,end:555166},{filename:"/libraries/stdlib/genglsl/mx_burn_color4.glsl",start:555166,end:555507},{filename:"/libraries/stdlib/genglsl/mx_burn_float.glsl",start:555507,end:555730},{filename:"/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl",start:555730,end:555867},{filename:"/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl",start:555867,end:556004},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl",start:556004,end:556211},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl",start:556211,end:556487},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl",start:556487,end:556771},{filename:"/libraries/stdlib/genglsl/mx_disjointover_color4.glsl",start:556771,end:557365},{filename:"/libraries/stdlib/genglsl/mx_dodge_color3.glsl",start:557365,end:557655},{filename:"/libraries/stdlib/genglsl/mx_dodge_color4.glsl",start:557655,end:558004},{filename:"/libraries/stdlib/genglsl/mx_dodge_float.glsl",start:558004,end:558226},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_float.glsl",start:558226,end:558498},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl",start:558498,end:558768},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl",start:558768,end:559038},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl",start:559038,end:559308},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_float.glsl",start:559308,end:559580},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl",start:559580,end:559850},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl",start:559850,end:560120},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl",start:560120,end:560390},{filename:"/libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl",start:560390,end:561343},{filename:"/libraries/stdlib/genglsl/mx_hextiledimage.glsl",start:561343,end:564493},{filename:"/libraries/stdlib/genglsl/mx_hextilednormalmap.glsl",start:564493,end:566999},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl",start:566999,end:567113},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl",start:567113,end:567242},{filename:"/libraries/stdlib/genglsl/mx_image_color3.glsl",start:567242,end:567632},{filename:"/libraries/stdlib/genglsl/mx_image_color4.glsl",start:567632,end:568018},{filename:"/libraries/stdlib/genglsl/mx_image_float.glsl",start:568018,end:568407},{filename:"/libraries/stdlib/genglsl/mx_image_vector2.glsl",start:568407,end:568797},{filename:"/libraries/stdlib/genglsl/mx_image_vector3.glsl",start:568797,end:569188},{filename:"/libraries/stdlib/genglsl/mx_image_vector4.glsl",start:569188,end:569575},{filename:"/libraries/stdlib/genglsl/mx_luminance_color3.glsl",start:569575,end:569689},{filename:"/libraries/stdlib/genglsl/mx_luminance_color4.glsl",start:569689,end:569820},{filename:"/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl",start:569820,end:570054},{filename:"/libraries/stdlib/genglsl/mx_noise2d_float.glsl",start:570054,end:570264},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl",start:570264,end:570475},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl",start:570475,end:570683},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl",start:570683,end:570958},{filename:"/libraries/stdlib/genglsl/mx_noise3d_float.glsl",start:570958,end:571168},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl",start:571168,end:571379},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl",start:571379,end:571587},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl",start:571587,end:571866},{filename:"/libraries/stdlib/genglsl/mx_normalmap.glsl",start:571866,end:572364},{filename:"/libraries/stdlib/genglsl/mx_premult_color4.glsl",start:572364,end:572461},{filename:"/libraries/stdlib/genglsl/mx_ramplr_float.glsl",start:572461,end:572612},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl",start:572612,end:572762},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl",start:572762,end:572912},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl",start:572912,end:573062},{filename:"/libraries/stdlib/genglsl/mx_ramptb_float.glsl",start:573062,end:573213},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl",start:573213,end:573363},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl",start:573363,end:573513},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl",start:573513,end:573663},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl",start:573663,end:573777},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl",start:573777,end:573906},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector2.glsl",start:573906,end:574164},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector3.glsl",start:574164,end:575065},{filename:"/libraries/stdlib/genglsl/mx_smoothstep_float.glsl",start:575065,end:575290},{filename:"/libraries/stdlib/genglsl/mx_splitlr_float.glsl",start:575290,end:575483},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl",start:575483,end:575675},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl",start:575675,end:575867},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl",start:575867,end:576059},{filename:"/libraries/stdlib/genglsl/mx_splittb_float.glsl",start:576059,end:576252},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector2.glsl",start:576252,end:576444},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector3.glsl",start:576444,end:576636},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector4.glsl",start:576636,end:576828},{filename:"/libraries/stdlib/genglsl/mx_surface_unlit.glsl",start:576828,end:577120},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl",start:577120,end:577261},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl",start:577261,end:577403},{filename:"/libraries/stdlib/genglsl/mx_unpremult_color4.glsl",start:577403,end:577502},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl",start:577502,end:577686},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl",start:577686,end:577870},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl",start:577870,end:578054},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl",start:578054,end:578238},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl",start:578238,end:578422},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl",start:578422,end:578606},{filename:"/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx",start:578606,end:655400},{filename:"/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx",start:655400,end:749690},{filename:"/libraries/stdlib/genmsl/lib/mx_math.metal",start:749690,end:753979},{filename:"/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal",start:753979,end:754988},{filename:"/libraries/stdlib/genmsl/lib/mx_texture.metal",start:754988,end:755726},{filename:"/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx",start:755726,end:765452},{filename:"/libraries/stdlib/genosl/include/color4.h",start:765452,end:771290},{filename:"/libraries/stdlib/genosl/include/matrix33.h",start:771290,end:773910},{filename:"/libraries/stdlib/genosl/include/mx_funcs.h",start:773910,end:795701},{filename:"/libraries/stdlib/genosl/include/vector2.h",start:795701,end:801367},{filename:"/libraries/stdlib/genosl/include/vector4.h",start:801367,end:810365},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv.osl",start:810365,end:810432},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl",start:810432,end:810528},{filename:"/libraries/stdlib/genosl/lib/vector4_extra_ops.osl",start:810528,end:811402},{filename:"/libraries/stdlib/genosl/mx_burn_color3.osl",start:811402,end:811655},{filename:"/libraries/stdlib/genosl/mx_burn_color4.osl",start:811655,end:811993},{filename:"/libraries/stdlib/genosl/mx_burn_float.osl",start:811993,end:812210},{filename:"/libraries/stdlib/genosl/mx_cellnoise2d_float.osl",start:812210,end:812327},{filename:"/libraries/stdlib/genosl/mx_cellnoise3d_float.osl",start:812327,end:812429},{filename:"/libraries/stdlib/genosl/mx_creatematrix.osl",start:812429,end:813334},{filename:"/libraries/stdlib/genosl/mx_disjointover_color4.osl",start:813334,end:813912},{filename:"/libraries/stdlib/genosl/mx_dodge_color3.osl",start:813912,end:814170},{filename:"/libraries/stdlib/genosl/mx_dodge_color4.osl",start:814170,end:814517},{filename:"/libraries/stdlib/genosl/mx_dodge_float.osl",start:814517,end:814724},{filename:"/libraries/stdlib/genosl/mx_fractal2d_float.osl",start:814724,end:814970},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector2.osl",start:814970,end:815224},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector3.osl",start:815224,end:815475},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector4.osl",start:815475,end:815729},{filename:"/libraries/stdlib/genosl/mx_fractal3d_float.osl",start:815729,end:815960},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector2.osl",start:815960,end:816199},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector3.osl",start:816199,end:816435},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector4.osl",start:816435,end:816674},{filename:"/libraries/stdlib/genosl/mx_frame_float.osl",start:816674,end:816843},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color3.osl",start:816843,end:816939},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color4.osl",start:816939,end:817170},{filename:"/libraries/stdlib/genosl/mx_geomcolor_float.osl",start:817170,end:817265},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl",start:817265,end:817416},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color3.osl",start:817416,end:817569},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color4.osl",start:817569,end:817937},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_float.osl",start:817937,end:818111},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_integer.osl",start:818111,end:818262},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_string.osl",start:818262,end:818418},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl",start:818418,end:818684},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl",start:818684,end:818840},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl",start:818840,end:819158},{filename:"/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl",start:819158,end:820132},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl",start:820132,end:820237},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl",start:820237,end:820359},{filename:"/libraries/stdlib/genosl/mx_image_color3.osl",start:820359,end:821304},{filename:"/libraries/stdlib/genosl/mx_image_color4.osl",start:821304,end:822427},{filename:"/libraries/stdlib/genosl/mx_image_float.osl",start:822427,end:823290},{filename:"/libraries/stdlib/genosl/mx_image_vector2.osl",start:823290,end:824205},{filename:"/libraries/stdlib/genosl/mx_image_vector3.osl",start:824205,end:825023},{filename:"/libraries/stdlib/genosl/mx_image_vector4.osl",start:825023,end:826066},{filename:"/libraries/stdlib/genosl/mx_luminance_color3.osl",start:826066,end:826178},{filename:"/libraries/stdlib/genosl/mx_luminance_color4.osl",start:826178,end:826310},{filename:"/libraries/stdlib/genosl/mx_mix_surfaceshader.osl",start:826310,end:826552},{filename:"/libraries/stdlib/genosl/mx_noise2d_float.osl",start:826552,end:826746},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector2.osl",start:826746,end:826951},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector3.osl",start:826951,end:827150},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector4.osl",start:827150,end:827355},{filename:"/libraries/stdlib/genosl/mx_noise3d_float.osl",start:827355,end:827534},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector2.osl",start:827534,end:827724},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector3.osl",start:827724,end:827908},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector4.osl",start:827908,end:828098},{filename:"/libraries/stdlib/genosl/mx_normalmap.osl",start:828098,end:829010},{filename:"/libraries/stdlib/genosl/mx_premult_color4.osl",start:829010,end:829112},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl",start:829112,end:829217},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl",start:829217,end:829339},{filename:"/libraries/stdlib/genosl/mx_rotate_vector2.osl",start:829339,end:829600},{filename:"/libraries/stdlib/genosl/mx_rotate_vector3.osl",start:829600,end:830670},{filename:"/libraries/stdlib/genosl/mx_surface_unlit.osl",start:830670,end:831084},{filename:"/libraries/stdlib/genosl/mx_surfacematerial.osl",start:831084,end:831367},{filename:"/libraries/stdlib/genosl/mx_time_float.osl",start:831367,end:831545},{filename:"/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl",start:831545,end:831731},{filename:"/libraries/stdlib/genosl/mx_unpremult_color4.osl",start:831731,end:831835},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_float.osl",start:831835,end:831995},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl",start:831995,end:832161},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl",start:832161,end:832326},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_float.osl",start:832326,end:832485},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl",start:832485,end:832650},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl",start:832650,end:832814},{filename:"/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx",start:832814,end:909860},{filename:"/libraries/stdlib/stdlib_defs.mtlx",start:909860,end:1187069},{filename:"/libraries/stdlib/stdlib_ng.mtlx",start:1187069,end:1509715},{filename:"/libraries/targets/essl.mtlx",start:1509715,end:1510177},{filename:"/libraries/targets/genglsl.mtlx",start:1510177,end:1510630},{filename:"/libraries/targets/genmdl.mtlx",start:1510630,end:1511082},{filename:"/libraries/targets/genmsl.mtlx",start:1511082,end:1511552},{filename:"/libraries/targets/genosl.mtlx",start:1511552,end:1512004}],remote_package_size:1512004})})();var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{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);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(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(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;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;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)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="JsMaterialXGenShader.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;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"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){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;wasmMemory=wasmExports["_a"];updateMemoryViews();wasmTable=wasmExports["cb"];addOnInit(wasmExports["$a"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}var tempDouble;var tempI64;var ASM_CONSTS={189824:()=>{Module["TreeIterator"]["prototype"][Symbol.iterator]=function(){return this}},189908:()=>{Module["GraphIterator"]["prototype"][Symbol.iterator]=function(){return this}},189993:()=>{Module["InheritanceIterator"]["prototype"][Symbol.iterator]=function(){return this}}};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 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<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>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 exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);var ___cxa_find_matching_catch_4=(arg0,arg1)=>findMatchingCatch([arg0,arg1]);var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;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.substr(-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.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);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).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=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<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=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};function 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 TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.atime=Date.now()}return bytesRead},write(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(60)}try{for(var i=0;i<length;i++){stream.tty.ops.put_char(stream.tty,buffer[offset+i])}}catch(e){throw new FS.ErrnoError(29)}if(length){stream.node.mtime=stream.node.ctime=Date.now()}return i}},default_tty_ops:{get_char(tty){return FS_stdin_getChar()},put_char(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){nod