UNPKG

@needle-tools/engine

Version:

Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.

543 lines • 7.51 MB
import { Texture as KI, WebGLRenderTarget as $E, RepeatWrapping as Gg, LinearFilter as hB, LinearMipMapLinearFilter as cB, FloatType as Ai, RGBAFormat as Ii, PlaneGeometry as FB, OrthographicCamera as gi, ShaderMaterial as UB, Scene as Bi, Mesh as Dg, EquirectangularReflectionMapping as Qi, Vector3 as qA, Quaternion as Ci, Color as Ei, Uniform$1 as ii, LinearSRGBColorSpace as Gi, Cache as KA, MirroredRepeatWrapping as Di, ClampToEdgeWrapping as Yi, NearestMipMapNearestFilter as wi, NearestFilter as Ni, MeshBasicMaterial as li, PMREMGenerator$1 as oi, cloneUniforms as Ji, cloneUniformsGroups as Ri, GLSL3 as Zi, Matrix4 as WI, UniformsLib as bi, Matrix3 as hi, MeshStandardMaterial as XI, DoubleSide as ci, FrontSide as Fi } from "./three.js"; var kI = (function() { var F = typeof document < "u" ? document.currentScript?.src : void 0; return typeof __filename < "u" && (F = F || __filename), (function(w) { w = w || {}; var J, G = w, c, M, h = new Promise((A, I) => { c = A, M = I; }), s = typeof window == "object", U = typeof WorkerGlobalScope < "u", H = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer"; G.expectedDataFileDownloads ??= 0, G.expectedDataFileDownloads++, (() => { var A = typeof ENVIRONMENT_IS_PTHREAD < "u" && ENVIRONMENT_IS_PTHREAD, I = typeof ENVIRONMENT_IS_WASM_WORKER < "u" && ENVIRONMENT_IS_WASM_WORKER; if (A || I) return; var g = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; function B(Q) { typeof window == "object" ? window.encodeURIComponent(window.location.pathname.substring(0, window.location.pathname.lastIndexOf("/")) + "/") : typeof process > "u" && typeof location < "u" && encodeURIComponent(location.pathname.substring(0, location.pathname.lastIndexOf("/")) + "/"); var E = "bin/JsMaterialXGenShader.data", i = "JsMaterialXGenShader.data", D = G.locateFile ? G.locateFile(i, "") : i, Y = Q.remote_package_size; function N(o, d, x, K) { if (g) { require("fs").readFile(o, (V, q) => { V ? K(V) : x(q.buffer); }); return; } G.dataFileDownloads ??= {}, fetch(o).catch((V) => Promise.reject(new Error(`Network Error: ${o}`, { cause: V }))).then((V) => { if (!V.ok) return Promise.reject(new Error(`${V.status}: ${V.url}`)); if (!V.body && V.arrayBuffer) return V.arrayBuffer().then(x); const q = V.body.getReader(), QA = () => q.read().then(S).catch((W) => Promise.reject(new Error(`Unexpected error while handling : ${V.url} ${W}`, { cause: W }))), r = [], JA = V.headers, y = Number(JA.get("Content-Length") ?? d); let a = 0; const S = ({ done: W, value: L }) => { if (W) { const AA = new Uint8Array(r.map((u) => u.length).reduce((u, bA) => u + bA, 0)); let EA = 0; for (const u of r) AA.set(u, EA), EA += u.length; x(AA.buffer); } else { r.push(L), a += L.length, G.dataFileDownloads[o] = { loaded: a, total: y }; let AA = 0, EA = 0; for (const u of Object.values(G.dataFileDownloads)) AA += u.loaded, EA += u.total; return G.setStatus?.(`Downloading data... (${AA}/${EA})`), QA(); } }; return G.setStatus?.("Downloading data..."), QA(); }); } function l(o) { console.error("package error:", o); } var R = null, Z = G.getPreloadedPackage ? G.getPreloadedPackage(D, Y) : null; Z || N(D, Y, (o) => { R ? (R(o), R = null) : Z = o; }, l); function b(o) { function d(QA, r) { if (!QA) throw r + new Error().stack; } o.FS_createPath("/", "libraries", !0, !0), o.FS_createPath("/libraries", "bxdf", !0, !0), o.FS_createPath("/libraries/bxdf", "genglsl", !0, !0), o.FS_createPath("/libraries/bxdf", "genmdl", !0, !0), o.FS_createPath("/libraries/bxdf", "lama", !0, !0), o.FS_createPath("/libraries/bxdf", "translation", !0, !0), o.FS_createPath("/libraries", "cmlib", !0, !0), o.FS_createPath("/libraries", "lights", !0, !0), o.FS_createPath("/libraries/lights", "genglsl", !0, !0), o.FS_createPath("/libraries/lights", "genmsl", !0, !0), o.FS_createPath("/libraries", "nprlib", !0, !0), o.FS_createPath("/libraries/nprlib", "genglsl", !0, !0), o.FS_createPath("/libraries/nprlib", "genmdl", !0, !0), o.FS_createPath("/libraries/nprlib", "genmsl", !0, !0), o.FS_createPath("/libraries/nprlib", "genosl", !0, !0), o.FS_createPath("/libraries", "pbrlib", !0, !0), o.FS_createPath("/libraries/pbrlib", "genglsl", !0, !0), o.FS_createPath("/libraries/pbrlib/genglsl", "lib", !0, !0), o.FS_createPath("/libraries/pbrlib", "genmdl", !0, !0), o.FS_createPath("/libraries/pbrlib", "genmsl", !0, !0), o.FS_createPath("/libraries/pbrlib", "genosl", !0, !0), o.FS_createPath("/libraries/pbrlib/genosl", "lib", !0, !0), o.FS_createPath("/libraries", "stdlib", !0, !0), o.FS_createPath("/libraries/stdlib", "genglsl", !0, !0), o.FS_createPath("/libraries/stdlib/genglsl", "lib", !0, !0), o.FS_createPath("/libraries/stdlib", "genmdl", !0, !0), o.FS_createPath("/libraries/stdlib", "genmsl", !0, !0), o.FS_createPath("/libraries/stdlib/genmsl", "lib", !0, !0), o.FS_createPath("/libraries/stdlib", "genosl", !0, !0), o.FS_createPath("/libraries/stdlib/genosl", "include", !0, !0), o.FS_createPath("/libraries/stdlib/genosl", "lib", !0, !0), o.FS_createPath("/libraries", "targets", !0, !0); function x(QA, r, JA) { this.start = QA, this.end = r, this.audio = JA; } x.prototype = { requests: {}, open: function(QA, r) { this.name = r, this.requests[r] = this, o.addRunDependency(`fp ${this.name}`); }, send: function() { }, onload: function() { var QA = this.byteArray.subarray(this.start, this.end); this.finish(QA); }, finish: function(QA) { var r = this; o.FS_createDataFile(this.name, null, QA, !0, !0, !0), o.removeRunDependency(`fp ${r.name}`), this.requests[this.name] = null; } }; for (var K = Q.files, V = 0; V < K.length; ++V) new x(K[V].start, K[V].end, K[V].audio || 0).open("GET", K[V].filename); function q(QA) { d(QA, "Loading data file failed."), d(QA.constructor.name === ArrayBuffer.name, "bad input to processPackageData"); var r = new Uint8Array(QA); x.prototype.byteArray = r; for (var JA = Q.files, y = 0; y < JA.length; ++y) x.prototype.requests[JA[y].filename].onload(); o.removeRunDependency("datafile_bin/JsMaterialXGenShader.data"); } o.addRunDependency("datafile_bin/JsMaterialXGenShader.data"), o.preloadResults ??= {}, o.preloadResults[E] = { fromCache: !1 }, Z ? (q(Z), Z = null) : R = q; } G.calledRun ? b(G) : (G.preRun ??= []).push(b); } B({ 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 X = Object.assign({}, G), O = "./this.program", BA = (A, I) => { throw I; }, $ = ""; function IA(A) { return G.locateFile ? G.locateFile(A, $) : $ + A; } var cA, CA; if (H) { var _ = require("fs"); require("path"), $ = __dirname + "/", CA = (A) => { A = GI(A) ? new URL(A) : A; var I = _.readFileSync(A); return I; }, cA = async (A, I = !0) => { A = GI(A) ? new URL(A) : A; var g = _.readFileSync(A, I ? void 0 : "utf8"); return g; }, !G.thisProgram && process.argv.length > 1 && (O = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2), BA = (A, I) => { throw process.exitCode = A, I; }; } else (s || U) && (U ? $ = self.location.href : typeof document < "u" && document.currentScript && ($ = document.currentScript.src), F && ($ = F), $.startsWith("blob:") ? $ = "" : $ = $.substr(0, $.replace(/[?#].*/, "").lastIndexOf("/") + 1), U && (CA = (A) => { var I = new XMLHttpRequest(); return I.open("GET", A, !1), I.responseType = "arraybuffer", I.send(null), new Uint8Array(I.response); }), cA = async (A) => { if (GI(A)) return new Promise((g, B) => { var Q = new XMLHttpRequest(); Q.open("GET", A, !0), Q.responseType = "arraybuffer", Q.onload = () => { if (Q.status == 200 || Q.status == 0 && Q.response) { g(Q.response); return; } B(Q.status); }, Q.onerror = B, Q.send(null); }); var I = await fetch(A, { credentials: "same-origin" }); if (I.ok) return I.arrayBuffer(); throw new Error(I.status + " : " + I.url); }); var lA = G.print || console.log.bind(console), YA = G.printErr || console.error.bind(console); Object.assign(G, X), X = null, G.arguments && G.arguments, G.thisProgram && (O = G.thisProgram); var kA = G.wasmBinary, e, CI = !1, EI, oA, ZA, UA, zA, j, n, wg, xI; function Ng() { var A = e.buffer; G.HEAP8 = oA = new Int8Array(A), G.HEAP16 = UA = new Int16Array(A), G.HEAPU8 = ZA = new Uint8Array(A), G.HEAPU16 = zA = new Uint16Array(A), G.HEAP32 = j = new Int32Array(A), G.HEAPU32 = n = new Uint32Array(A), G.HEAPF32 = wg = new Float32Array(A), G.HEAPF64 = xI = new Float64Array(A); } var lg = [], og = [], Jg = []; function XB() { if (G.preRun) for (typeof G.preRun == "function" && (G.preRun = [G.preRun]); G.preRun.length; ) sB(G.preRun.shift()); uI(lg); } function kB() { !G.noFSInit && !C.initialized && C.init(), C.ignorePermissions = !1, uI(og); } function dB() { if (G.postRun) for (typeof G.postRun == "function" && (G.postRun = [G.postRun]); G.postRun.length; ) mB(G.postRun.shift()); uI(Jg); } function sB(A) { lg.unshift(A); } function KB(A) { og.unshift(A); } function mB(A) { Jg.unshift(A); } var mA = 0, eA = null; function TI(A) { mA++, G.monitorRunDependencies?.(mA); } function iI(A) { if (mA--, G.monitorRunDependencies?.(mA), mA == 0 && eA) { var I = eA; eA = null, I(); } } function xA(A) { G.onAbort?.(A), A = "Aborted(" + A + ")", YA(A), CI = !0, A += ". Build with -sASSERTIONS for more info."; var I = new WebAssembly.RuntimeError(A); throw M(I), I; } var VB = "data:application/octet-stream;base64,", Rg = (A) => A.startsWith(VB), GI = (A) => A.startsWith("file://"); function LB() { var A = "JsMaterialXGenShader.wasm"; return Rg(A) ? A : IA(A); } var PI; function jB(A) { if (A == PI && kA) return new Uint8Array(kA); if (CA) return CA(A); throw "both async and sync fetching of the wasm failed"; } async function xB(A) { if (!kA) try { var I = await cA(A); return new Uint8Array(I); } catch { } return jB(A); } async function TB(A, I) { try { var g = await xB(A), B = await WebAssembly.instantiate(g, I); return B; } catch (Q) { YA(`failed to asynchronously prepare wasm: ${Q}`), xA(Q); } } async function PB(A, I, g) { if (!A && typeof WebAssembly.instantiateStreaming == "function" && !Rg(I) && !GI(I) && !H && typeof fetch == "function") try { var B = fetch(I, { credentials: "same-origin" }), Q = await WebAssembly.instantiateStreaming(B, g); return Q; } catch (E) { YA(`wasm streaming compile failed: ${E}`), YA("falling back to ArrayBuffer instantiation"); } return TB(I, g); } function uB() { return { a: YE }; } async function vB() { function A(Q, E) { return GA = Q.exports, e = GA._a, Ng(), sg = GA.cb, KB(GA.$a), iI(), GA; } TI(); function I(Q) { A(Q.instance); } var g = uB(); if (G.instantiateWasm) try { return G.instantiateWasm(g, A); } catch (Q) { YA(`Module.instantiateWasm callback failed with error: ${Q}`), M(Q); } PI ??= LB(); try { var B = await PB(kA, PI, g); return I(B), B; } catch (Q) { M(Q); return; } } var k, iA, fB = { 189824: () => { G.TreeIterator.prototype[Symbol.iterator] = function() { return this; }; }, 189908: () => { G.GraphIterator.prototype[Symbol.iterator] = function() { return this; }; }, 189993: () => { G.InheritanceIterator.prototype[Symbol.iterator] = function() { return this; }; } }; class Zg { name = "ExitStatus"; constructor(I) { this.message = `Program terminated with exit(${I})`, this.status = I; } } var uI = (A) => { for (; A.length > 0; ) A.shift()(G); }, bg = G.noExitRuntime || !0, v = (A) => zg(A), f = () => eg(), hg = typeof TextDecoder < "u" ? new TextDecoder() : void 0, TA = (A, I = 0, g = NaN) => { for (var B = I + g, Q = I; A[Q] && !(Q >= B); ) ++Q; if (Q - I > 16 && A.buffer && hg) return hg.decode(A.subarray(I, Q)); for (var E = ""; I < Q; ) { var i = A[I++]; if (!(i & 128)) { E += String.fromCharCode(i); continue; } var D = A[I++] & 63; if ((i & 224) == 192) { E += String.fromCharCode((i & 31) << 6 | D); continue; } var Y = A[I++] & 63; if ((i & 240) == 224 ? i = (i & 15) << 12 | D << 6 | Y : i = (i & 7) << 18 | D << 12 | Y << 6 | A[I++] & 63, i < 65536) E += String.fromCharCode(i); else { var N = i - 65536; E += String.fromCharCode(55296 | N >> 10, 56320 | N & 1023); } } return E; }, rA = (A, I) => A ? TA(ZA, A, I) : "", tB = (A, I, g, B) => xA(`Assertion failed: ${rA(A)}, at: ` + [I ? rA(I) : "unknown filename", g, B ? rA(B) : "unknown function"]), DI = [], YI = 0, pB = (A) => { var I = new vI(A); return I.get_caught() || (I.set_caught(!0), YI--), I.set_rethrown(!1), DI.push(I), Og(A), $g(A); }, SA = 0, nB = () => { T(0, 0); var A = DI.pop(); rg(A.excPtr), SA = 0; }; class vI { constructor(I) { this.excPtr = I, this.ptr = I - 24; } set_type(I) { n[this.ptr + 4 >> 2] = I; } get_type() { return n[this.ptr + 4 >> 2]; } set_destructor(I) { n[this.ptr + 8 >> 2] = I; } get_destructor() { return n[this.ptr + 8 >> 2]; } set_caught(I) { I = I ? 1 : 0, oA[this.ptr + 12] = I; } get_caught() { return oA[this.ptr + 12] != 0; } set_rethrown(I) { I = I ? 1 : 0, oA[this.ptr + 13] = I; } get_rethrown() { return oA[this.ptr + 13] != 0; } init(I, g) { this.set_adjusted_ptr(0), this.set_type(I), this.set_destructor(g); } set_adjusted_ptr(I) { n[this.ptr + 16 >> 2] = I; } get_adjusted_ptr() { return n[this.ptr + 16 >> 2]; } } var qB = (A) => { throw SA || (SA = A), SA; }, wI = (A) => qg(A), fI = (A) => { var I = SA; if (!I) return wI(0), 0; var g = new vI(I); g.set_adjusted_ptr(I); var B = g.get_type(); if (!B) return wI(0), I; for (var Q of A) { if (Q === 0 || Q === B) break; var E = g.ptr + 16; if (_g(Q, B, E)) return wI(Q), I; } return wI(B), I; }, zB = () => fI([]), eB = (A) => fI([A]), rB = (A, I) => fI([A, I]), OB = () => { var A = DI.pop(); A || xA("no exception to throw"); var I = A.excPtr; throw A.get_rethrown() || (DI.push(A), A.set_rethrown(!0), A.set_caught(!1), YI++), SA = I, SA; }, _B = (A, I, g) => { var B = new vI(A); throw B.init(I, g), SA = A, YI++, SA; }, $B = () => YI, NI = () => { var A = j[+RA.varargs >> 2]; return RA.varargs += 4, A; }, PA = NI, gA = { isAbs: (A) => A.charAt(0) === "/", splitPath: (A) => { var I = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; return I.exec(A).slice(1); }, normalizeArray: (A, I) => { for (var g = 0, B = A.length - 1; B >= 0; B--) { var Q = A[B]; Q === "." ? A.splice(B, 1) : Q === ".." ? (A.splice(B, 1), g++) : g && (A.splice(B, 1), g--); } if (I) for (; g; g--) A.unshift(".."); return A; }, normalize: (A) => { var I = gA.isAbs(A), g = A.substr(-1) === "/"; return A = gA.normalizeArray(A.split("/").filter((B) => !!B), !I).join("/"), !A && !I && (A = "."), A && g && (A += "/"), (I ? "/" : "") + A; }, dirname: (A) => { var I = gA.splitPath(A), g = I[0], B = I[1]; return !g && !B ? "." : (B && (B = B.substr(0, B.length - 1)), g + B); }, basename: (A) => { if (A === "/") return "/"; A = gA.normalize(A), A = A.replace(/\/$/, ""); var I = A.lastIndexOf("/"); return I === -1 ? A : A.substr(I + 1); }, join: (...A) => gA.normalize(A.join("/")), join2: (A, I) => gA.normalize(A + "/" + I) }, AQ = () => { if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (B) => crypto.getRandomValues(B); if (H) try { var A = require("crypto"), I = A.randomFillSync; if (I) return (B) => A.randomFillSync(B); var g = A.randomBytes; return (B) => (B.set(g(B.byteLength)), B); } catch { } xA("initRandomDevice"); }, cg = (A) => (cg = AQ())(A), uA = { resolve: (...A) => { for (var I = "", g = !1, B = A.length - 1; B >= -1 && !g; B--) { var Q = B >= 0 ? A[B] : C.cwd(); if (typeof Q != "string") throw new TypeError("Arguments to path.resolve must be strings"); if (!Q) return ""; I = Q + "/" + I, g = gA.isAbs(Q); } return I = gA.normalizeArray(I.split("/").filter((E) => !!E), !g).join("/"), (g ? "/" : "") + I || "."; }, relative: (A, I) => { A = uA.resolve(A).substr(1), I = uA.resolve(I).substr(1); function g(N) { for (var l = 0; l < N.length && N[l] === ""; l++) ; for (var R = N.length - 1; R >= 0 && N[R] === ""; R--) ; return l > R ? [] : N.slice(l, R - l + 1); } for (var B = g(A.split("/")), Q = g(I.split("/")), E = Math.min(B.length, Q.length), i = E, D = 0; D < E; D++) if (B[D] !== Q[D]) { i = D; break; } for (var Y = [], D = i; D < B.length; D++) Y.push(".."); return Y = Y.concat(Q.slice(i)), Y.join("/"); } }, tI = [], pI = (A) => { for (var I = 0, g = 0; g < A.length; ++g) { var B = A.charCodeAt(g); B <= 127 ? I++ : B <= 2047 ? I += 2 : B >= 55296 && B <= 57343 ? (I += 4, ++g) : I += 3; } return I; }, nI = (A, I, g, B) => { if (!(B > 0)) return 0; for (var Q = g, E = g + B - 1, i = 0; i < A.length; ++i) { var D = A.charCodeAt(i); if (D >= 55296 && D <= 57343) { var Y = A.charCodeAt(++i); D = 65536 + ((D & 1023) << 10) | Y & 1023; } if (D <= 127) { if (g >= E) break; I[g++] = D; } else if (D <= 2047) { if (g + 1 >= E) break; I[g++] = 192 | D >> 6, I[g++] = 128 | D & 63; } else if (D <= 65535) { if (g + 2 >= E) break; I[g++] = 224 | D >> 12, I[g++] = 128 | D >> 6 & 63, I[g++] = 128 | D & 63; } else { if (g + 3 >= E) break; I[g++] = 240 | D >> 18, I[g++] = 128 | D >> 12 & 63, I[g++] = 128 | D >> 6 & 63, I[g++] = 128 | D & 63; } } return I[g] = 0, g - Q; }; function Fg(A, I, g) { var B = pI(A) + 1, Q = new Array(B), E = nI(A, Q, 0, Q.length); return Q.length = E, Q; } var IQ = () => { if (!tI.length) { var A = null; if (H) { var I = 256, g = Buffer.alloc(I), B = 0, Q = process.stdin.fd; try { B = _.readSync(Q, g, 0, I); } catch (E) { if (E.toString().includes("EOF")) B = 0; else throw E; } B > 0 && (A = g.slice(0, B).toString("utf-8")); } else typeof window < "u" && typeof window.prompt == "function" && (A = window.prompt("Input: "), A !== null && (A += ` `)); if (!A) return null; tI = Fg(A); } return tI.shift(); }, VA = { ttys: [], init() { }, shutdown() { }, register(A, I) { VA.ttys[A] = { input: [], output: [], ops: I }, C.registerDevice(A, VA.stream_ops); }, stream_ops: { open(A) { var I = VA.ttys[A.node.rdev]; if (!I) throw new C.ErrnoError(43); A.tty = I, A.seekable = !1; }, close(A) { A.tty.ops.fsync(A.tty); }, fsync(A) { A.tty.ops.fsync(A.tty); }, read(A, I, g, B, Q) { if (!A.tty || !A.tty.ops.get_char) throw new C.ErrnoError(60); for (var E = 0, i = 0; i < B; i++) { var D; try { D = A.tty.ops.get_char(A.tty); } catch { throw new C.ErrnoError(29); } if (D === void 0 && E === 0) throw new C.ErrnoError(6); if (D == null) break; E++, I[g + i] = D; } return E && (A.node.atime = Date.now()), E; }, write(A, I, g, B, Q) { if (!A.tty || !A.tty.ops.put_char) throw new C.ErrnoError(60); try { for (var E = 0; E < B; E++) A.tty.ops.put_char(A.tty, I[g + E]); } catch { throw new C.ErrnoError(29); } return B && (A.node.mtime = A.node.ctime = Date.now()), E; } }, default_tty_ops: { get_char(A) { return IQ(); }, put_char(A, I) { I === null || I === 10 ? (lA(TA(A.output)), A.output = []) : I != 0 && A.output.push(I); }, fsync(A) { A.output && A.output.length > 0 && (lA(TA(A.output)), A.output = []); }, ioctl_tcgets(A) { 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(A, I, g) { return 0; }, ioctl_tiocgwinsz(A) { return [24, 80]; } }, default_tty1_ops: { put_char(A, I) { I === null || I === 10 ? (YA(TA(A.output)), A.output = []) : I != 0 && A.output.push(I); }, fsync(A) { A.output && A.output.length > 0 && (YA(TA(A.output)), A.output = []); } } }, gQ = (A, I) => Math.ceil(A / I) * I, Ug = (A) => { xA(); }, m = { ops_table: null, mount(A) { return m.createNode(null, "/", 16895, 0); }, createNode(A, I, g, B) { if (C.isBlkdev(g) || C.isFIFO(g)) throw new C.ErrnoError(63); m.ops_table ||= { dir: { node: { getattr: m.node_ops.getattr, setattr: m.node_ops.setattr, lookup: m.node_ops.lookup, mknod: m.node_ops.mknod, rename: m.node_ops.rename, unlink: m.node_ops.unlink, rmdir: m.node_ops.rmdir, readdir: m.node_ops.readdir, symlink: m.node_ops.symlink }, stream: { llseek: m.stream_ops.llseek } }, file: { node: { getattr: m.node_ops.getattr, setattr: m.node_ops.setattr }, stream: { llseek: m.stream_ops.llseek, read: m.stream_ops.read, write: m.stream_ops.write, allocate: m.stream_ops.allocate, mmap: m.stream_ops.mmap, msync: m.stream_ops.msync } }, link: { node: { getattr: m.node_ops.getattr, setattr: m.node_ops.setattr, readlink: m.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: m.node_ops.getattr, setatt