import { c as c2 } from "./chunk-H2VOWDMO.js"; import { H, t as t2 } from "./chunk-3OFVLRSL.js"; import { r as r2 } from "./chunk-RWQH5X3O.js"; import { c } from "./chunk-2TIUKVZN.js"; import { r, t } from "./chunk-YXWMMD76.js"; // node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js var e = ["layout", "centroid", "smooth", "case", "mat2x2", "mat2x3", "mat2x4", "mat3x2", "mat3x3", "mat3x4", "mat4x2", "mat4x3", "mat4x4", "uint", "uvec2", "uvec3", "uvec4", "samplerCubeShadow", "sampler2DArray", "sampler2DArrayShadow", "isampler2D", "isampler3D", "isamplerCube", "isampler2DArray", "usampler2D", "usampler3D", "usamplerCube", "usampler2DArray", "coherent", "restrict", "readonly", "writeonly", "resource", "atomic_uint", "noperspective", "patch", "sample", "subroutine", "common", "partition", "active", "filter", "image1D", "image2D", "image3D", "imageCube", "iimage1D", "iimage2D", "iimage3D", "iimageCube", "uimage1D", "uimage2D", "uimage3D", "uimageCube", "image1DArray", "image2DArray", "iimage1DArray", "iimage2DArray", "uimage1DArray", "uimage2DArray", "image1DShadow", "image2DShadow", "image1DArrayShadow", "image2DArrayShadow", "imageBuffer", "iimageBuffer", "uimageBuffer", "sampler1DArray", "sampler1DArrayShadow", "isampler1D", "isampler1DArray", "usampler1D", "usampler1DArray", "isampler2DRect", "usampler2DRect", "samplerBuffer", "isamplerBuffer", "usamplerBuffer", "sampler2DMS", "isampler2DMS", "usampler2DMS", "sampler2DMSArray", "isampler2DMSArray", "usampler2DMSArray", "trunc", "round", "roundEven", "isnan", "isinf", "floatBitsToInt", "floatBitsToUint", "intBitsToFloat", "uintBitsToFloat", "packSnorm2x16", "unpackSnorm2x16", "packUnorm2x16", "unpackUnorm2x16", "packHalf2x16", "unpackHalf2x16", "outerProduct", "transpose", "determinant", "inverse", "texture", "textureSize", "textureProj", "textureLod", "textureOffset", "texelFetch", "texelFetchOffset", "textureProjOffset", "textureLodOffset", "textureProjLod", "textureProjLodOffset", "textureGrad", "textureGradOffset", "textureProjGrad", "textureProjGradOffset"]; // node_modules/@arcgis/core/views/webgl/testUtils.js var e2 = { enableCache: false }; // node_modules/@arcgis/core/chunks/builtins.js var e3; var r3 = { exports: {} }; void 0 !== (e3 = ["precision", "highp", "mediump", "lowp", "attribute", "const", "uniform", "varying", "break", "continue", "do", "for", "while", "if", "else", "in", "out", "inout", "float", "int", "void", "bool", "true", "false", "discard", "return", "mat2", "mat3", "mat4", "vec2", "vec3", "vec4", "ivec2", "ivec3", "ivec4", "bvec2", "bvec3", "bvec4", "sampler1D", "sampler2D", "sampler3D", "samplerCube", "sampler1DShadow", "sampler2DShadow", "struct", "asm", "class", "union", "enum", "typedef", "template", "this", "packed", "goto", "switch", "default", "inline", "noinline", "volatile", "public", "static", "extern", "external", "interface", "long", "short", "double", "half", "fixed", "unsigned", "input", "output", "hvec2", "hvec3", "hvec4", "dvec2", "dvec3", "dvec4", "fvec2", "fvec3", "fvec4", "sampler2DRect", "sampler3DRect", "sampler2DRectShadow", "sizeof", "cast", "namespace", "using"]) && (r3.exports = e3); var t3 = r3.exports; var o; var l = { exports: {} }; o = l, function(e6) { var r4 = ["<<=", ">>=", "++", "--", "<<", ">>", "<=", ">=", "==", "!=", "&&", "||", "+=", "-=", "*=", "/=", "%=", "&=", "^^", "^=", "|=", "(", ")", "[", "]", ".", "!", "~", "*", "/", "%", "+", "-", "<", ">", "&", "^", "|", "?", ":", "=", ",", ";", "{", "}"]; void 0 !== r4 && (o.exports = r4); }(); var a = l.exports; var g = { exports: {} }; !function(e6) { !function(r4) { var t4 = function() { return ["abs", "acos", "all", "any", "asin", "atan", "ceil", "clamp", "cos", "cross", "dFdx", "dFdy", "degrees", "distance", "dot", "equal", "exp", "exp2", "faceforward", "floor", "fract", "gl_BackColor", "gl_BackLightModelProduct", "gl_BackLightProduct", "gl_BackMaterial", "gl_BackSecondaryColor", "gl_ClipPlane", "gl_ClipVertex", "gl_Color", "gl_DepthRange", "gl_DepthRangeParameters", "gl_EyePlaneQ", "gl_EyePlaneR", "gl_EyePlaneS", "gl_EyePlaneT", "gl_Fog", "gl_FogCoord", "gl_FogFragCoord", "gl_FogParameters", "gl_FragColor", "gl_FragCoord", "gl_FragData", "gl_FragDepth", "gl_FragDepthEXT", "gl_FrontColor", "gl_FrontFacing", "gl_FrontLightModelProduct", "gl_FrontLightProduct", "gl_FrontMaterial", "gl_FrontSecondaryColor", "gl_LightModel", "gl_LightModelParameters", "gl_LightModelProducts", "gl_LightProducts", "gl_LightSource", "gl_LightSourceParameters", "gl_MaterialParameters", "gl_MaxClipPlanes", "gl_MaxCombinedTextureImageUnits", "gl_MaxDrawBuffers", "gl_MaxFragmentUniformComponents", "gl_MaxLights", "gl_MaxTextureCoords", "gl_MaxTextureImageUnits", "gl_MaxTextureUnits", "gl_MaxVaryingFloats", "gl_MaxVertexAttribs", "gl_MaxVertexTextureImageUnits", "gl_MaxVertexUniformComponents", "gl_ModelViewMatrix", "gl_ModelViewMatrixInverse", "gl_ModelViewMatrixInverseTranspose", "gl_ModelViewMatrixTranspose", "gl_ModelViewProjectionMatrix", "gl_ModelViewProjectionMatrixInverse", "gl_ModelViewProjectionMatrixInverseTranspose", "gl_ModelViewProjectionMatrixTranspose", "gl_MultiTexCoord0", "gl_MultiTexCoord1", "gl_MultiTexCoord2", "gl_MultiTexCoord3", "gl_MultiTexCoord4", "gl_MultiTexCoord5", "gl_MultiTexCoord6", "gl_MultiTexCoord7", "gl_Normal", "gl_NormalMatrix", "gl_NormalScale", "gl_ObjectPlaneQ", "gl_ObjectPlaneR", "gl_ObjectPlaneS", "gl_ObjectPlaneT", "gl_Point", "gl_PointCoord", "gl_PointParameters", "gl_PointSize", "gl_Position", "gl_ProjectionMatrix", "gl_ProjectionMatrixInverse", "gl_ProjectionMatrixInverseTranspose", "gl_ProjectionMatrixTranspose", "gl_SecondaryColor", "gl_TexCoord", "gl_TextureEnvColor", "gl_TextureMatrix", "gl_TextureMatrixInverse", "gl_TextureMatrixInverseTranspose", "gl_TextureMatrixTranspose", "gl_Vertex", "greaterThan", "greaterThanEqual", "inversesqrt", "length", "lessThan", "lessThanEqual", "log", "log2", "matrixCompMult", "max", "min", "mix", "mod", "normalize", "not", "notEqual", "pow", "radians", "reflect", "refract", "sign", "sin", "smoothstep", "sqrt", "step", "tan", "texture2D", "texture2DLod", "texture2DProj", "texture2DProjLod", "textureCube", "textureCubeLod", "texture2DLodEXT", "texture2DProjLodEXT", "textureCubeLodEXT", "texture2DGradEXT", "texture2DProjGradEXT", "textureCubeGradEXT", "textureSize", "texelFetch"]; }(); void 0 !== t4 && (e6.exports = t4); }(); }(g); var i = g.exports; // node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js var s = 999; var c3 = 9999; var p = 0; var u = 1; var d = 2; var f = 3; var l2 = 4; var h = 5; var y = 6; var w = 7; var g2 = 8; var m = 9; var b = 10; var k = 11; var E = ["block-comment", "line-comment", "preprocessor", "operator", "integer", "float", "ident", "builtin", "keyword", "whitespace", "eof", "integer"]; function _() { var t4, e6, a3, r4 = 0, _3 = 0, v2 = s, j2 = [], x2 = [], D2 = 1, R2 = 0, T2 = 0, A2 = false, G2 = false, S2 = ""; return function(t5) { return x2 = [], null !== t5 ? F2(t5.replace ? t5.replace(/\r\n/g, "\n") : t5) : L2(); }; function X2(t5) { t5.length && x2.push({ type: E[v2], data: t5, position: T2, line: D2, column: R2 }); } function F2(e7) { var n; for (r4 = 0, a3 = (S2 += e7).length; t4 = S2[r4], r4 < a3; ) { switch (n = r4, v2) { case p: r4 = V(); break; case u: r4 = P(); break; case d: r4 = M2(); break; case f: r4 = O(); break; case l2: r4 = z(); break; case k: r4 = $(); break; case h: r4 = I(); break; case c3: r4 = U(); break; case m: r4 = H3(); break; case s: r4 = C2(); } if (n !== r4) if ("\n" === S2[n]) R2 = 0, ++D2; else ++R2; } return _3 += r4, S2 = S2.slice(r4), x2; } function L2(t5) { return j2.length && X2(j2.join("")), v2 = b, X2("(eof)"), x2; } function C2() { return j2 = j2.length ? [] : j2, "/" === e6 && "*" === t4 ? (T2 = _3 + r4 - 1, v2 = p, e6 = t4, r4 + 1) : "/" === e6 && "/" === t4 ? (T2 = _3 + r4 - 1, v2 = u, e6 = t4, r4 + 1) : "#" === t4 ? (v2 = d, T2 = _3 + r4, r4) : /\s/.test(t4) ? (v2 = m, T2 = _3 + r4, r4) : (A2 = /\d/.test(t4), G2 = /[^\w_]/.test(t4), T2 = _3 + r4, v2 = A2 ? l2 : G2 ? f : c3, r4); } function H3() { return /[^\s]/g.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1); } function M2() { return "\r" !== t4 && "\n" !== t4 || "\\" === e6 ? (j2.push(t4), e6 = t4, r4 + 1) : (X2(j2.join("")), v2 = s, r4); } function P() { return M2(); } function V() { return "/" === t4 && "*" === e6 ? (j2.push(t4), X2(j2.join("")), v2 = s, r4 + 1) : (j2.push(t4), e6 = t4, r4 + 1); } function O() { if ("." === e6 && /\d/.test(t4)) return v2 = h, r4; if ("/" === e6 && "*" === t4) return v2 = p, r4; if ("/" === e6 && "/" === t4) return v2 = u, r4; if ("." === t4 && j2.length) { for (; N(j2); ) ; return v2 = h, r4; } if (";" === t4 || ")" === t4 || "(" === t4) { if (j2.length) for (; N(j2); ) ; return X2(t4), v2 = s, r4 + 1; } var a4 = 2 === j2.length && "=" !== t4; if (/[\w_\d\s]/.test(t4) || a4) { for (; N(j2); ) ; return v2 = s, r4; } return j2.push(t4), e6 = t4, r4 + 1; } function N(t5) { for (var e7, a4, r5 = 0; ; ) { if (e7 = a.indexOf(t5.slice(0, t5.length + r5).join("")), a4 = a[e7], -1 === e7) { if (r5-- + t5.length > 0) continue; a4 = t5.slice(0, 1).join(""); } return X2(a4), T2 += a4.length, (j2 = j2.slice(a4.length)).length; } } function $() { return /[^a-fA-F0-9]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1); } function z() { return "." === t4 || /[eE]/.test(t4) ? (j2.push(t4), v2 = h, e6 = t4, r4 + 1) : "x" === t4 && 1 === j2.length && "0" === j2[0] ? (v2 = k, j2.push(t4), e6 = t4, r4 + 1) : /[^\d]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1); } function I() { return "f" === t4 && (j2.push(t4), e6 = t4, r4 += 1), /[eE]/.test(t4) || "-" === t4 && /[eE]/.test(e6) ? (j2.push(t4), e6 = t4, r4 + 1) : /[^\d]/.test(t4) ? (X2(j2.join("")), v2 = s, r4) : (j2.push(t4), e6 = t4, r4 + 1); } function U() { if (/[^\d\w_]/.test(t4)) { var a4 = j2.join(""); return v2 = t3.indexOf(a4) > -1 ? g2 : i.indexOf(a4) > -1 ? w : y, X2(j2.join("")), v2 = s, r4; } return j2.push(t4), e6 = t4, r4 + 1; } } function v(t4) { var e6 = _(), a3 = []; return a3 = (a3 = a3.concat(e6(t4))).concat(e6(null)); } function j(t4) { return v(t4); } function x(t4) { return t4.map((t5) => "eof" !== t5.type ? t5.data : "").join(""); } var D = ["GL_OES_standard_derivatives", "GL_EXT_frag_depth", "GL_EXT_draw_buffers", "GL_EXT_shader_texture_lod"]; function R(t4, e6 = "100", a3 = "300 es") { const r4 = /^\s*\#version\s+([0-9]+(\s+[a-zA-Z]+)?)\s*/; for (const n of t4) if ("preprocessor" === n.type) { const t5 = r4.exec(n.data); if (t5) { const r5 = t5[1].replace(/\s\s+/g, " "); if (r5 === a3) return r5; if (r5 === e6) return n.data = "#version " + a3, e6; throw new Error("unknown glsl version: " + r5); } } return t4.splice(0, 0, { type: "preprocessor", data: "#version " + a3 }, { type: "whitespace", data: "\n" }), null; } function T(t4, e6) { for (let a3 = e6 - 1; a3 >= 0; a3--) { const e7 = t4[a3]; if ("whitespace" !== e7.type && "block-comment" !== e7.type) { if ("keyword" !== e7.type) break; if ("attribute" === e7.data || "in" === e7.data) return true; } } return false; } function A(t4, e6, a3, r4) { r4 = r4 || a3; for (const n of t4) if ("ident" === n.type && n.data === a3) { r4 in e6 ? e6[r4]++ : e6[r4] = 0; return A(t4, e6, r4 + "_" + e6[r4], r4); } return a3; } function G(t4, e6, a3 = "afterVersion") { function r4(t5, e7) { for (let a4 = e7; a4 < t5.length; a4++) { const e8 = t5[a4]; if ("operator" === e8.type && ";" === e8.data) return a4; } return null; } function n(t5) { let e7 = -1, n2 = 0, o3 = -1; for (let i3 = 0; i3 < t5.length; i3++) { const s3 = t5[i3]; if ("preprocessor" === s3.type && (s3.data.match(/\#(if|ifdef|ifndef)\s+.+/) ? ++n2 : s3.data.match(/\#endif\s*.*/) && --n2), "afterVersion" !== a3 && "afterPrecision" !== a3 || "preprocessor" === s3.type && /^#version/.test(s3.data) && (o3 = Math.max(o3, i3)), "afterPrecision" === a3 && "keyword" === s3.type && "precision" === s3.data) { const e8 = r4(t5, i3); if (null === e8) throw new Error("precision statement not followed by any semicolons!"); o3 = Math.max(o3, e8); } e7 < o3 && 0 === n2 && (e7 = i3); } return e7 + 1; } const o2 = { data: "\n", type: "whitespace" }, i2 = (e7) => e7 < t4.length && /[^\r\n]$/.test(t4[e7].data); let s2 = n(t4); i2(s2 - 1) && t4.splice(s2++, 0, o2); for (const c5 of e6) t4.splice(s2++, 0, c5); i2(s2 - 1) && i2(s2) && t4.splice(s2, 0, o2); } function S(t4, e6, a3, r4 = "lowp") { G(t4, [{ type: "keyword", data: "out" }, { type: "whitespace", data: " " }, { type: "keyword", data: r4 }, { type: "whitespace", data: " " }, { type: "keyword", data: a3 }, { type: "whitespace", data: " " }, { type: "ident", data: e6 }, { type: "operator", data: ";" }], "afterPrecision"); } function X(t4, e6, a3, r4, n = "lowp") { G(t4, [{ type: "keyword", data: "layout" }, { type: "operator", data: "(" }, { type: "keyword", data: "location" }, { type: "whitespace", data: " " }, { type: "operator", data: "=" }, { type: "whitespace", data: " " }, { type: "integer", data: r4.toString() }, { type: "operator", data: ")" }, { type: "whitespace", data: " " }, { type: "keyword", data: "out" }, { type: "whitespace", data: " " }, { type: "keyword", data: n }, { type: "whitespace", data: " " }, { type: "keyword", data: a3 }, { type: "whitespace", data: " " }, { type: "ident", data: e6 }, { type: "operator", data: ";" }], "afterPrecision"); } function F(t4, e6) { let a3, r4, n = -1; for (let o2 = e6; o2 < t4.length; o2++) { const e7 = t4[o2]; if ("operator" === e7.type && ("[" === e7.data && (a3 = o2), "]" === e7.data)) { r4 = o2; break; } "integer" === e7.type && (n = parseInt(e7.data, 10)); } return a3 && r4 && t4.splice(a3, r4 - a3 + 1), n; } function L(r4, n) { const o2 = H2(r4); if (r(o2)) return o2; const i2 = j(r4); if ("300 es" === R(i2, "100", "300 es")) return r4; let s2 = null, c5 = null; const p2 = {}, u2 = {}; for (let t4 = 0; t4 < i2.length; ++t4) { const r5 = i2[t4]; switch (r5.type) { case "keyword": n === H.VERTEX_SHADER && "attribute" === r5.data ? r5.data = "in" : "varying" === r5.data && (r5.data = n === H.VERTEX_SHADER ? "out" : "in"); break; case "builtin": if (/^texture(2D|Cube)(Proj)?(Lod|Grad)?(EXT)?$/.test(r5.data.trim()) && (r5.data = r5.data.replace(/(2D|Cube|EXT)/g, "")), n === H.FRAGMENT_SHADER && "gl_FragColor" === r5.data && (s2 || (s2 = A(i2, p2, "fragColor"), S(i2, s2, "vec4")), r5.data = s2), n === H.FRAGMENT_SHADER && "gl_FragData" === r5.data) { const e6 = F(i2, t4 + 1), a3 = A(i2, p2, "fragData"); X(i2, a3, "vec4", e6, "mediump"), r5.data = a3; } else n === H.FRAGMENT_SHADER && "gl_FragDepthEXT" === r5.data && (c5 || (c5 = A(i2, p2, "gl_FragDepth")), r5.data = c5); break; case "ident": if (e.includes(r5.data)) { if (n === H.VERTEX_SHADER && T(i2, t4)) throw new Error("attribute in vertex shader uses a name that is a reserved word in glsl 300 es"); r5.data in u2 || (u2[r5.data] = A(i2, p2, r5.data)), r5.data = u2[r5.data]; } } } for (let t4 = i2.length - 1; t4 >= 0; --t4) { const e6 = i2[t4]; if ("preprocessor" === e6.type) { const a3 = e6.data.match(/\#extension\s+(.*)\:/); if (a3 && a3[1] && D.includes(a3[1].trim())) { const e7 = i2[t4 + 1]; i2.splice(t4, e7 && "whitespace" === e7.type ? 2 : 1); } const r5 = e6.data.match(/\#ifdef\s+(.*)/); r5 && r5[1] && D.includes(r5[1].trim()) && (e6.data = "#if 1"); const n2 = e6.data.match(/\#ifndef\s+(.*)/); n2 && n2[1] && D.includes(n2[1].trim()) && (e6.data = "#if 0"); } } return M(r4, x(i2)); } var C = /* @__PURE__ */ new Map(); function H2(t4) { return e2.enableCache ? C.get(t4) : null; } function M(t4, e6) { return e2.enableCache && C.set(t4, e6), e6; } // node_modules/@arcgis/core/views/webgl/Program.js var a2 = 4294967295; var h2 = class { constructor(t4, o2, i2, a3, h3 = /* @__PURE__ */ new Map()) { this._context = t4, this._locations = a3, this._uniformBlockBindings = h3, this._refCount = 1, this._compiled = false, this._nameToUniformLocation = {}, this._nameToUniform1 = {}, this._nameToUniform1v = /* @__PURE__ */ new Map(), this._nameToUniform2 = /* @__PURE__ */ new Map(), this._nameToUniform3 = /* @__PURE__ */ new Map(), this._nameToUniform4 = /* @__PURE__ */ new Map(), this._nameToUniformMatrix3 = /* @__PURE__ */ new Map(), this._nameToUniformMatrix4 = /* @__PURE__ */ new Map(), t4 || console.error("RenderingContext isn't initialized!"), 0 === o2.length && console.error("Shaders source should not be empty!"), this._context.type === r2.WEBGL2 && (o2 = L(o2, H.VERTEX_SHADER), i2 = L(i2, H.FRAGMENT_SHADER)), this._vShader = f2(this._context, H.VERTEX_SHADER, o2), this._fShader = f2(this._context, H.FRAGMENT_SHADER, i2), this._vShader && this._fShader || console.error("Error loading shaders!"), this._context.instanceCounter.increment(t2.Shader, this), c2() && (this.vertexShader = o2, this.fragmentShader = i2); } get glName() { if (r(this._glName)) return this._glName; if (t(this._vShader)) return null; const t4 = this._context.gl, r4 = t4.createProgram(); if (t4.attachShader(r4, this._vShader), t4.attachShader(r4, this._fShader), this._locations.forEach((o2, i2) => t4.bindAttribLocation(r4, o2, i2)), t4.linkProgram(r4), c2() && !t4.getProgramParameter(r4, t4.LINK_STATUS) && console.error(`Could not link shader validated: ${t4.getProgramParameter(r4, t4.VALIDATE_STATUS)}, gl error ${t4.getError()}, vertex: ${t4.getShaderParameter(this._vShader, t4.COMPILE_STATUS)}, fragment: ${t4.getShaderParameter(this._fShader, t4.COMPILE_STATUS)}, info log: ${t4.getProgramInfoLog(r4)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`), this._context.type === r2.WEBGL2) { const o2 = t4; for (const [t5, i2] of this._uniformBlockBindings) { const e6 = o2.getUniformBlockIndex(r4, t5); e6 < a2 && o2.uniformBlockBinding(r4, e6, i2); } } return this._glName = r4, this._context.instanceCounter.increment(t2.Program, this), r4; } get hasGLName() { return r(this._glName); } get isCompiled() { if (this._compiled) return true; const t4 = this._context.gl.getExtension("KHR_parallel_shader_compile"); return null == t4 ? (this._compiled = true, true) : (this._compiled = !!this._context.gl.getProgramParameter(this.glName, t4.COMPLETION_STATUS_KHR), this._compiled); } dispose() { if (--this._refCount > 0) return; const t4 = this._context.gl; this._vShader && (t4.deleteShader(this._vShader), this._vShader = null, this._context.instanceCounter.decrement(t2.Shader, this)), this._fShader && (t4.deleteShader(this._fShader), this._fShader = null), this._glName && (t4.deleteProgram(this._glName), this._glName = null, this._context.instanceCounter.decrement(t2.Program, this)); } ref() { ++this._refCount; } _getUniformLocation(t4) { return void 0 === this._nameToUniformLocation[t4] && (++l3.numUniforms, this._nameToUniformLocation[t4] = this._context.gl.getUniformLocation(this.glName, t4)), this._nameToUniformLocation[t4]; } hasUniform(t4) { return null !== this._getUniformLocation(t4); } setUniform1i(t4, o2) { const i2 = this._nameToUniform1[t4]; void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1i(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2); } setUniform1iv(t4, o2) { g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1iv(this._getUniformLocation(t4), o2); } setUniform2iv(t4, o2) { g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2iv(this._getUniformLocation(t4), o2); } setUniform3iv(t4, o2) { g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3iv(this._getUniformLocation(t4), o2); } setUniform4iv(t4, o2) { g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4iv(this._getUniformLocation(t4), o2); } setUniform1f(t4, o2) { const i2 = this._nameToUniform1[t4]; void 0 !== i2 && o2 === i2 || (this._context.gl.uniform1f(this._getUniformLocation(t4), o2), this._nameToUniform1[t4] = o2); } setUniform1fv(t4, o2) { g3(this._nameToUniform1v, t4, o2) && this._context.gl.uniform1fv(this._getUniformLocation(t4), o2); } setUniform2f(t4, o2, i2) { const e6 = this._nameToUniform2.get(t4); void 0 === e6 ? (this._context.gl.uniform2f(this._getUniformLocation(t4), o2, i2), this._nameToUniform2.set(t4, [o2, i2])) : o2 === e6[0] && i2 === e6[1] || (this._context.gl.uniform2f(this._getUniformLocation(t4), o2, i2), e6[0] = o2, e6[1] = i2); } setUniform2fv(t4, o2) { g3(this._nameToUniform2, t4, o2) && this._context.gl.uniform2fv(this._getUniformLocation(t4), o2); } setUniform3f(t4, o2, i2, e6) { const n = this._nameToUniform3.get(t4); void 0 === n ? (this._context.gl.uniform3f(this._getUniformLocation(t4), o2, i2, e6), this._nameToUniform3[t4] = [o2, i2, e6]) : o2 === n[0] && i2 === n[1] && e6 === n[2] || (this._context.gl.uniform3f(this._getUniformLocation(t4), o2, i2, e6), n[0] = o2, n[1] = i2, n[2] = e6); } setUniform3fv(t4, o2) { g3(this._nameToUniform3, t4, o2) && this._context.gl.uniform3fv(this._getUniformLocation(t4), o2); } setUniform4f(t4, o2, i2, e6, n) { const r4 = this._nameToUniform4.get(t4); void 0 === r4 ? (this._context.gl.uniform4f(this._getUniformLocation(t4), o2, i2, e6, n), this._nameToUniform4.set(t4, [o2, i2, e6, n])) : void 0 !== r4 && o2 === r4[0] && i2 === r4[1] && e6 === r4[2] && n === r4[3] || (this._context.gl.uniform4f(this._getUniformLocation(t4), o2, i2, e6, n), r4[0] = o2, r4[1] = i2, r4[2] = e6, r4[3] = n); } setUniform4fv(t4, o2) { g3(this._nameToUniform4, t4, o2) && this._context.gl.uniform4fv(this._getUniformLocation(t4), o2); } setUniformMatrix3fv(t4, o2, i2 = false) { g3(this._nameToUniformMatrix3, t4, o2) && this._context.gl.uniformMatrix3fv(this._getUniformLocation(t4), i2, o2); } setUniformMatrix4fv(t4, o2, i2 = false) { g3(this._nameToUniformMatrix4, t4, o2) && this._context.gl.uniformMatrix4fv(this._getUniformLocation(t4), i2, o2); } stop() { } }; function f2(t4, o2, i2) { const n = t4.gl, s2 = n.createShader(o2); return n.shaderSource(s2, i2), n.compileShader(s2), c2() && !n.getShaderParameter(s2, n.COMPILE_STATUS) && (console.error("Compile error in ".concat(o2 === H.VERTEX_SHADER ? "vertex" : "fragment", " shader")), console.error(n.getShaderInfoLog(s2)), console.error(_2(i2))), l3.enabled && (l3.compiledLOC += i2.match(/\n/g).length + 1), s2; } function _2(t4) { let o2 = 2; return t4.replace(/\n/g, () => "\n" + c4(o2++) + ":"); } function c4(t4) { return t4 >= 1e3 ? t4.toString() : (" " + t4).slice(-3); } function g3(o2, i2, e6) { const n = o2.get(i2); return n ? c(n, e6) : (o2.set(i2, Array.from(e6)), true); } var l3 = { compiledLOC: 0, numUniforms: 0, enabled: false }; // node_modules/@arcgis/core/views/webgl/ShaderCompiler.js var e4 = class { constructor(e6) { this._readFile = e6; } resolveIncludes(e6) { return this._resolve(e6); } _resolve(e6, t4 = /* @__PURE__ */ new Map()) { if (t4.has(e6)) return t4.get(e6); const r4 = this._read(e6); if (!r4) throw new Error(`cannot find shader file ${e6}`); const s2 = /^[^\S\n]*#include\s+<(\S+)>[^\S\n]?/gm; let n = s2.exec(r4); const l4 = []; for (; null != n; ) l4.push({ path: n[1], start: n.index, length: n[0].length }), n = s2.exec(r4); let a3 = 0, h3 = ""; return l4.forEach((e7) => { h3 += r4.slice(a3, e7.start), h3 += t4.has(e7.path) ? "" : this._resolve(e7.path, t4), a3 = e7.start + e7.length; }), h3 += r4.slice(a3), t4.set(e6, h3), h3; } _read(e6) { return this._readFile(e6); } }; // node_modules/@arcgis/core/views/webgl/ProgramTemplate.js function e5(e6, t4, a3 = "") { return new h2(e6, a3 + t4.shaders.vertexShader, a3 + t4.shaders.fragmentShader, t4.attributes); } export { h2 as h, e4 as e, e5 as e2 }; //# sourceMappingURL=chunk-JBMHQ5RK.js.map