{"version":3,"sources":["webpack:///./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/GeometryUtils.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/BrushClip.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/brushes.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/Programs.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/raster/BrushRasterBitmap.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/vectorTiles/shaders/sources/resolver.js","webpack:///./node_modules/arcgis-js-api/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js"],"names":[],"mappings":"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","file":"js/chunk-763af8b2.f18c9a33.js","sourcesContent":["// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],(function(n,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={background:{\"background.frag\":\"#ifdef PATTERN\\nuniform lowp float u_opacity;\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform sampler2D u_texture;\\nvarying mediump vec2 v_tileTextureCoord;\\n#else\\nuniform lowp vec4 u_color;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main() {\\n#ifdef PATTERN\\n mediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\n mediump vec2 samplePos = mix(u_pattern_tl, u_pattern_br, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = u_opacity * color;\\n#else\\n gl_FragColor = u_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"background.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_coord_range;\\nuniform mediump float u_depth;\\n#ifdef PATTERN\\nuniform mediump mat3 u_pattern_matrix;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\nvoid main() {\\n gl_Position = vec4((u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0)).xy, u_depth, 1.0);\\n#ifdef PATTERN\\n v_tileTextureCoord = (u_pattern_matrix * vec3(a_pos, 1.0)).xy;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n}\"},circle:{\"circle.frag\":\"precision lowp float;\\nvarying lowp vec4 v_color;\\nvarying lowp vec4 v_stroke_color;\\nvarying mediump float v_blur;\\nvarying mediump float v_stroke_width;\\nvarying mediump float v_radius;\\nvarying mediump vec2 v_offset;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n mediump float dist = length(v_offset);\\n mediump float alpha = smoothstep(0.0, -v_blur, dist - 1.0);\\n lowp float color_mix_ratio = v_stroke_width < 0.01 ? 0.0 : smoothstep(-v_blur, 0.0, dist - v_radius / (v_radius + v_stroke_width));\\n gl_FragColor = alpha * mix(v_color, v_stroke_color, color_mix_ratio);\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"circle.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec4 a_color;\\nattribute vec4 a_stroke_color;\\nattribute vec4 a_data;\\nconst float sizePrecision = 0.25;\\nconst float blurPrecision = 0.03125;\\nvarying lowp vec4 v_color;\\nvarying lowp vec4 v_stroke_color;\\nvarying mediump float v_blur;\\nvarying mediump float v_stroke_width;\\nvarying mediump float v_radius;\\nvarying mediump vec2 v_offset;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump vec2 u_circleTranslation;\\nuniform mediump float u_depth;\\nuniform mediump float u_radius;\\nuniform lowp vec4 u_color;\\nuniform mediump float u_blur;\\nuniform mediump float u_stroke_width;\\nuniform lowp vec4 u_stroke_color;\\nuniform mediump float u_antialiasingWidth;\\nvoid main()\\n{\\n v_color = a_color * u_color;\\n v_stroke_color = a_stroke_color * u_stroke_color;\\n v_stroke_width = a_data[1] * sizePrecision * u_stroke_width;\\n v_radius = a_data[2] * u_radius;\\n v_blur = max(a_data[0] * blurPrecision + u_blur, u_antialiasingWidth / (v_radius + v_stroke_width));\\n mediump vec2 offset = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n v_offset = offset;\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos * 0.5, 1.0) + u_displayMat3 * vec3((v_radius + v_stroke_width) * offset + u_circleTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},fill:{\"fill.frag\":\"precision lowp float;\\n#ifdef PATTERN\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform lowp sampler2D u_texture;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nvec4 mixColors(vec4 color1, vec4 color2) {\\n float compositeAlpha = color2.a + color1.a * (1.0 - color2.a);\\n vec3 compositeColor = color2.rgb + color1.rgb * (1.0 - color2.a);\\n return vec4(compositeColor, compositeAlpha);\\n}\\nvoid main()\\n{\\n#ifdef PATTERN\\n mediump vec2 normalizedTextureCoord = fract(v_tileTextureCoord);\\n mediump vec2 samplePos = mix(u_pattern_tl, u_pattern_br, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = v_color[3] * color;\\n#else\\n gl_FragColor = v_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"fill.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_fillTranslation;\\n#ifdef PATTERN\\nuniform mediump mat3 u_pattern_matrix;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nuniform lowp vec4 u_color;\\nvarying lowp vec4 v_color;\\nvoid main()\\n{\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n#ifdef PATTERN\\n v_tileTextureCoord = (u_pattern_matrix * vec3(a_pos, 1.0)).xy;\\n#endif\\n vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayMat3 * vec3(u_fillTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},icon:{\"icon.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_texture;\\n#ifdef SDF\\nuniform lowp vec4 u_color;\\nuniform lowp vec4 u_outlineColor;\\nuniform mediump float u_outlineSize;\\n#endif\\nvarying mediump vec2 v_tex;\\nvarying lowp float v_opacity;\\nvarying mediump vec2 v_size;\\nvarying lowp vec4 v_color;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\n#include \\nvec4 mixColors(vec4 color1, vec4 color2) {\\n float compositeAlpha = color2.a + color1.a * (1.0 - color2.a);\\n vec3 compositeColor = color2.rgb + color1.rgb * (1.0 - color2.a);\\n return vec4(compositeColor, compositeAlpha);\\n}\\nvoid main()\\n{\\n#ifdef SDF\\n lowp vec4 fillPixelColor = v_color;\\n float d = rgba2float(texture2D(u_texture, v_tex)) - 0.5;\\n const float sofetEdgeRatio = 0.248062016;\\n float size = max(v_size.x, v_size.y);\\n float dist = d * sofetEdgeRatio * size;\\n fillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\n if (u_outlineSize > 0.25) {\\n lowp vec4 outlinePixelColor = u_outlineColor;\\n const float outlineLimitRatio = (16.0 / 86.0);\\n float clampedOutlineSize = sofetEdgeRatio * min(u_outlineSize, outlineLimitRatio * max(v_size.x, v_size.y));\\n outlinePixelColor *= clamp(0.5 - (abs(dist) - clampedOutlineSize), 0.0, 1.0);\\n gl_FragColor = v_opacity * mixColors(fillPixelColor, outlinePixelColor);\\n }\\n else {\\n gl_FragColor = v_opacity * fillPixelColor;\\n }\\n#else\\n lowp vec4 texColor = texture2D(u_texture, v_tex);\\n gl_FragColor = v_opacity * texColor;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"icon.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_texAngleRange;\\nattribute vec4 a_levelInfo;\\nattribute float a_opacityInfo;\\n#ifdef DD\\nattribute vec4 a_color;\\nattribute mediump float a_size;\\n#endif\\nuniform lowp vec4 u_color;\\nuniform mediump float u_size;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_iconTranslation;\\nuniform vec2 u_mosaicSize;\\nuniform mediump float u_depth;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_level;\\nuniform lowp float u_keepUpright;\\nuniform mediump float u_opacity;\\nuniform mediump float u_fadeDuration;\\nvarying mediump vec2 v_tex;\\nvarying lowp float v_opacity;\\nvarying mediump vec2 v_size;\\nconst float C_OFFSET_PRECISION = 1.0 / 8.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float tileCoordRatio = 1.0 / 8.0;\\nuniform highp float u_time;\\nvoid main()\\n{\\n float modded = mod(a_opacityInfo, 128.0);\\n float targetOpacity = (a_opacityInfo - modded) / 128.0;\\n float startOpacity = modded / 127.0;\\n float interpolatedOpacity = clamp(startOpacity + 2.0 * (targetOpacity - 0.5) * u_time / u_fadeDuration, 0.0, 1.0);\\n v_opacity = u_opacity * interpolatedOpacity;\\n mediump float a_angle = a_levelInfo[1];\\n mediump float a_minLevel = a_levelInfo[2];\\n mediump float a_maxLevel = a_levelInfo[3];\\n mediump vec2 a_tex = a_texAngleRange.xy;\\n mediump float delta_z = 0.0;\\n mediump float rotated = mod(a_angle + u_mapRotation, 256.0);\\n delta_z += (1.0 - step(u_keepUpright, 0.0)) * step(64.0, rotated) * (1.0 - step(192.0, rotated));\\n delta_z += 1.0 - step(a_minLevel, u_level);\\n delta_z += step(a_maxLevel, u_level);\\n delta_z += step(v_opacity, 0.0);\\n vec2 offset = C_OFFSET_PRECISION * a_vertexOffset;\\n v_size = abs(offset);\\n#ifdef SDF\\n offset = (120.0 / 86.0) * offset;\\n#endif\\n#ifdef DD\\n mediump float icon_size = a_size * u_size;\\n#else\\n mediump float icon_size = u_size;\\n#endif\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayViewMat3 * vec3(icon_size * offset, 0.0) + u_displayMat3 * vec3(u_iconTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth + delta_z, 1.0);\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_tex = a_tex.xy / u_mosaicSize;\\n v_opacity *= v_color.w;\\n}\"},line:{\"line.frag\":\"varying mediump vec2 v_normal;\\nvarying highp float v_accumulatedDistance;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp vec4 v_color;\\nvarying mediump float v_blur;\\n#ifdef PATTERN\\nuniform mediump vec2 u_pattern_tl;\\nuniform mediump vec2 u_pattern_br;\\nuniform mediump vec2 u_spriteSize;\\nuniform sampler2D u_texture;\\nconst mediump float tileCoordRatio = 8.0;\\n#else\\nvarying mediump vec2 v_dasharray;\\n#endif\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n mediump float fragDist = length(v_normal) * v_lineHalfWidth;\\n lowp float alpha = clamp((v_lineHalfWidth - fragDist) / v_blur, 0.0, 1.0);\\n#ifdef PATTERN\\n mediump float relativeTexX = mod((v_accumulatedDistance + v_normal.x * v_lineHalfWidth * tileCoordRatio) / u_spriteSize.x, 1.0);\\n mediump float relativeTexY = 0.5 + (v_normal.y * v_lineHalfWidth / u_spriteSize.y);\\n mediump vec2 texCoord = mix(u_pattern_tl, u_pattern_br, vec2(relativeTexX, relativeTexY));\\n lowp vec4 color = texture2D(u_texture, texCoord);\\n gl_FragColor = alpha * v_color[3] * color;\\n#else\\n lowp float dashPos = mod(v_accumulatedDistance, v_dasharray.x + v_dasharray.y);\\n lowp float dashAlpha = clamp(min(dashPos, v_dasharray.x - dashPos) + 0.5, 0.0, 1.0);\\n dashAlpha = max(sign(-v_dasharray.y), dashAlpha);\\n alpha *= dashAlpha;\\n gl_FragColor = alpha * v_color;\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"line.vert\":\"attribute vec2 a_pos;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistance;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_lineTranslation;\\nuniform mediump float u_blur;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_depth;\\nvarying mediump vec2 v_normal;\\nvarying highp float v_accumulatedDistance;\\nconst float scale = 1.0 / 31.0;\\n#ifdef DD\\nattribute vec4 a_color;\\nattribute mediump float a_width;\\n#endif\\nuniform lowp vec4 u_color;\\nuniform mediump float u_width;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nvarying lowp vec4 v_color;\\nvarying mediump float v_lineHalfWidth;\\nvarying mediump float v_blur;\\n#ifndef PATTERN\\nuniform mediump vec2 u_dasharray;\\nvarying mediump vec2 v_dasharray;\\n#endif\\nvoid main()\\n{\\n v_normal = a_offsetAndNormal.zw * scale;\\n#ifdef DD\\n v_lineHalfWidth = a_width * u_width;\\n#else\\n v_lineHalfWidth = u_width;\\n#endif\\n v_lineHalfWidth += u_antialiasing;\\n v_lineHalfWidth *= 0.5;\\n#ifndef PATTERN\\n#ifdef DD\\n v_dasharray = u_dasharray * a_width;\\n#else\\n v_dasharray = u_dasharray * u_width;\\n#endif\\n#endif\\n mediump vec2 dist = v_lineHalfWidth * scale * a_offsetAndNormal.xy;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayViewMat3 * vec3(dist, 0.0) + u_displayMat3 * vec3(u_lineTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n v_accumulatedDistance = a_accumulatedDistance.x;\\n v_blur = u_blur + u_antialiasing;\\n #ifdef DD\\n v_color = a_color * u_color;\\n #else\\n v_color = u_color;\\n #endif\\n #ifdef ID\\n v_id = u_id / 255.0;\\n #endif\\n}\"},outline:{\"outline.frag\":\"varying lowp vec4 v_color;\\nvarying mediump vec2 v_normal;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n lowp float dist = abs(v_normal.y);\\n lowp float alpha = smoothstep(1.0, 0.0, dist);\\n gl_FragColor = alpha * v_color;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"outline.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_xnormal;\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nuniform lowp vec4 u_color;\\nvarying lowp vec4 v_color;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform mediump vec2 u_fillTranslation;\\nuniform mediump float u_depth;\\nuniform mediump float u_outline_width;\\nvarying lowp vec2 v_normal;\\nconst float scale = 1.0 / 15.0;\\nvoid main()\\n{\\n#ifdef DD\\n v_color = a_color * u_color;\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_normal = a_xnormal;\\n mediump vec2 dist = u_outline_width * scale * a_offset;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + u_displayMat3 * vec3(dist + u_fillTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth, 1.0);\\n}\"},text:{\"text.frag\":\"uniform lowp sampler2D u_texture;\\nuniform mediump float u_edgeDistance;\\nvarying lowp vec2 v_tex;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying mediump float v_edgeWidth;\\nvarying mediump float v_edgeDistance;\\n#ifdef ID\\nvarying mediump vec4 v_id;\\n#endif\\nvoid main()\\n{\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n mediump float alpha = smoothstep(v_edgeDistance - v_edgeWidth, v_edgeDistance + v_edgeWidth, dist) * v_opacity;\\n gl_FragColor = alpha * v_color;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"text.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_vertexOffset;\\nattribute vec4 a_texAngleRange;\\nattribute vec4 a_levelInfo;\\nattribute float a_opacityInfo;\\nuniform lowp vec4 u_color;\\n#ifdef DD\\nattribute vec4 a_color;\\n#endif\\nvarying lowp vec4 v_color;\\nuniform mediump float u_size;\\n#ifdef DD\\nattribute mediump float a_size;\\n#endif\\nvarying mediump float v_size;\\n#ifdef ID\\nuniform mediump vec4 u_id;\\nvarying mediump vec4 v_id;\\n#endif\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform mediump vec2 u_textTranslation;\\nuniform vec2 u_mosaicSize;\\nuniform mediump float u_depth;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_level;\\nuniform lowp float u_keepUpright;\\nuniform mediump float u_opacity;\\nuniform mediump float u_fadeDuration;\\nvarying lowp vec2 v_tex;\\nvarying lowp float v_opacity;\\nconst float offsetPrecision = 1.0 / 8.0;\\nconst mediump float edgePos = 0.75;\\nuniform mediump float u_edgeDistance;\\nuniform mediump float u_edgeBlur;\\nuniform mediump float u_antialiasingWidth;\\nvarying mediump float v_edgeDistance;\\nvarying mediump float v_edgeWidth;\\nuniform lowp float u_halo;\\nconst float sdfFontScale = 1.0 / 24.0;\\nuniform highp float u_time;\\nvoid main()\\n{\\n float modded = mod(a_opacityInfo, 128.0);\\n float targetOpacity = (a_opacityInfo - modded) / 128.0;\\n float startOpacity = modded / 127.0;\\n float interpolatedOpacity = clamp(startOpacity + 2.0 * (targetOpacity - 0.5) * u_time / u_fadeDuration, 0.0, 1.0);\\n v_opacity = u_opacity * interpolatedOpacity;\\n mediump float a_angle = a_levelInfo[1];\\n mediump float a_minLevel = a_levelInfo[2];\\n mediump float a_maxLevel = a_levelInfo[3];\\n mediump vec2 a_tex = a_texAngleRange.xy;\\n mediump float a_visMinAngle = a_texAngleRange.z;\\n mediump float a_visMaxAngle = a_texAngleRange.w;\\n mediump float delta_z = 0.0;\\n mediump float angle = mod(a_angle + u_mapRotation, 256.0);\\n if (a_visMinAngle < a_visMaxAngle)\\n {\\n delta_z += (1.0 - step(u_keepUpright, 0.0)) * (step(a_visMaxAngle, angle) + (1.0 - step(a_visMinAngle, angle)));\\n }\\n else\\n {\\n delta_z += (1.0 - step(u_keepUpright, 0.0)) * (step(a_visMaxAngle, angle) * (1.0 - step(a_visMinAngle, angle)));\\n }\\n delta_z += 1.0 - step(a_minLevel, u_level);\\n delta_z += step(a_maxLevel, u_level);\\n delta_z += step(v_opacity, 0.0);\\n v_tex = a_tex.xy / u_mosaicSize;\\n#ifdef DD\\n if (u_halo > 0.5)\\n {\\n v_color = u_color;\\n }\\n else\\n {\\n v_color = a_color * u_color;\\n }\\n#else\\n v_color = u_color;\\n#endif\\n#ifdef DD\\n v_size = a_size * u_size;\\n#else\\n v_size = u_size;\\n#endif\\n#ifdef ID\\n v_id = u_id / 255.0;\\n#endif\\n v_edgeDistance = edgePos - u_edgeDistance / v_size;\\n v_edgeWidth = (u_antialiasingWidth + u_edgeBlur) / v_size;\\n mediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0) + sdfFontScale * u_displayViewMat3 * vec3(offsetPrecision * v_size * a_vertexOffset, 0.0) + u_displayMat3 * vec3(u_textTranslation, 0.0);\\n gl_Position = vec4(pos.xy, u_depth + delta_z, 1.0);\\n}\"},util:{\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n 255.0 / (256.0),\\n 255.0 / (256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n );\\nfloat rgba2float(vec4 rgba) {\\n return dot(rgba, rgba2float_factors);\\n}\"}}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../webgl\"],(function(t,e,r){\"use strict\";return function(){function t(t,e){this.rctx=t,this._vertexBuffer=r.BufferObject.createVertex(t,35044,new Uint16Array(e)),this._vao=new r.VertexArrayObject(t,{a_position:0},{geometry:[{name:\"a_position\",count:2,type:5122,offset:0,stride:4,normalized:!1}]},{geometry:this._vertexBuffer})}return t.prototype.bind=function(){this._vao.bind()},t.prototype.unbind=function(){this._vao.unbind()},t.prototype.dispose=function(){this._vao.dispose(!1),this._vertexBuffer.dispose()},t.prototype.draw=function(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(5,0,4)},t}()}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../webgl\",\"../definitions\",\"./WGLBrush\"],(function(e,t,i,r,n,s){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.prepareState=function(e,t,i){var r=e.context,n=i&&-1!==i.indexOf(\"id\");r.setBlendingEnabled(!n),r.setBlendFunctionSeparate(1,771,1,771),r.setColorMask(!0,!0,!0,!0),r.setStencilWriteMask(0),r.setStencilTestEnabled(!0),r.setStencilFunction(514,t.stencilRef,255)},t.prototype.draw=function(e,t,i){var r=this;if(t.commitChanges(e),t.visible){var n=this.getGeometryType(),s=t.getDisplayList(),a=t.getGeometry(n);a&&s&&(e.timeline.begin(this.name),s.byType(n,(function(n){r.drawGeometry(e,t,n,a,i)})),e.timeline.end(this.name))}},t.prototype._getVAO=function(e,t,i,n){return n.vao||(n.vao=new r.VertexArrayObject(e,i,t,n.vertexBufferMap,n.indexBuffer)),n.vao},t.prototype._setSharedUniforms=function(e,t,i){e.setUniform1f(\"u_pixelRatio\",t.pixelRatio),e.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),e.setUniformMatrix3fv(\"u_displayViewMat3\",t.state.displayViewMat3),e.setUniformMatrix4fv(\"u_insideEffectMat4\",t.rendererInfo.insideEffect),e.setUniformMatrix4fv(\"u_outsideEffectMat4\",t.rendererInfo.outsideEffect),e.setUniform1fv(\"u_insideOpacities\",t.rendererInfo.insideOpacities),e.setUniform1fv(\"u_outsideOpacities\",t.rendererInfo.outsideOpacities),e.setUniform1i(\"u_attributeTextureSize\",t.attributeView.size),e.setUniform1i(\"u_attributeData0\",n.TEXTURE_BINDING_ATTRIBUTE_DATA_0),e.setUniform1i(\"u_attributeData1\",n.TEXTURE_BINDING_ATTRIBUTE_DATA_1),e.setUniform1i(\"u_attributeData2\",n.TEXTURE_BINDING_ATTRIBUTE_DATA_2),e.setUniform1i(\"u_attributeData3\",n.TEXTURE_BINDING_ATTRIBUTE_DATA_3)},t}(s.default);t.default=a}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/maybe\",\"../../../../../core/libs/gl-matrix-2/mat3f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],(function(t,e,r,i,a,o,l,n,s,u){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WGLBrushVTLFill=void 0;var f=[1,1,1,1],_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=o.vec4f32.create(),e._outlineColor=o.vec4f32.create(),e._fillProgramOptions={id:!1,dd:!1,pattern:!1},e._outlineProgramOptions={id:!1,dd:!1},e._patternMatrix=a.mat3f32.create(),e}return r.__extends(e,t),e.prototype.dispose=function(){},e.prototype.drawMany=function(t,e){var r=t.displayLevel,i=t.drawPhase,a=t.renderPass,o=t.styleLayerId,l=t.styleLayer,u=l.getPaintValue(\"fill-pattern\",r),_=l.hasDataDrivenColor?f:l.getPaintValue(\"fill-color\",r),d=l.hasDataDrivenOpacity?1:l.getPaintValue(\"fill-opacity\",r),v=d*_[3],h=void 0!==u||v<1||l.hasDataDrivenFill;if(!h||\"opaque\"!==a){var c;this._color[0]=v*_[0],this._color[1]=v*_[1],this._color[2]=v*_[2],this._color[3]=v,i===n.WGLDrawPhase.HITTEST&&(c=s.u32to4Xu8(o+1));var p=l.getPaintValue(\"fill-translate\",r),m=l.getPaintValue(\"fill-translate-anchor\",r);this._drawFill(t,o,l,e,p,m,u,h,c),this._drawOutline(t,o,l,e,p,m,u,c,d)}},e.prototype._drawFill=function(t,e,r,a,o,s,u,f,_){var d=t.context,v=t.displayLevel,h=t.drawPhase,c=t.pixelRatio,p=t.renderPass,m=t.spriteMosaic,g=t.state;if(f||\"translucent\"!==p){var P,y=void 0!==u,T=c>l.VTL_HIGH_RES_CUTOFF?2:1,x=r.hasDataDrivenFill,M=t.painter.getVectorTileProgramCach(),U=h===n.WGLDrawPhase.HITTEST,C=(U?1:0)<<2|(x?1:0)<<1|(y?1:0),D=this._fillProgramOptions;D.id=U,D.dd=x,D.pattern=y;var E=M.getProgram(1,C,D);if(d.bindProgram(E),y){if(!(P=m.getMosaicItemPosition(u,!0)))return void d.bindProgram();E.setUniform2f(\"u_pattern_tl\",P.tl[0],P.tl[1]),E.setUniform2f(\"u_pattern_br\",P.br[0],P.br[1]),E.setUniform1i(\"u_texture\",l.VTL_TEXTURE_BINDING_UNIT_SPRITES),m.bind(d,9729,P.page,l.VTL_TEXTURE_BINDING_UNIT_SPRITES)}E.setUniformMatrix3fv(\"u_displayMat3\",1===s?g.displayMat3:g.displayViewMat3),E.setUniform2fv(\"u_fillTranslation\",o),E.setUniform1f(\"u_depth\",r.z+1/65536),E.setUniform4fv(\"u_color\",this._color),U&&E.setUniform4fv(\"u_id\",_);for(var I=0,V=a;I 1.0) {\\n color = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n }\\n return color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\n float lbase = lumv3(cbase);\\n float llum = lumv3(clum);\\n float ldiff = llum - lbase;\\n vec3 color = cbase + vec3(ldiff);\\n return clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\n float minbase = minv3(cbase);\\n float sbase = satv3(cbase);\\n float ssat = satv3(csat);\\n vec3 color;\\n if (sbase > 0.0) {\\n color = (cbase - minbase) * ssat / sbase;\\n } else {\\n color = vec3(0.0);\\n }\\n return setLum(color, clum);\\n}\\nvoid main() {\\n vec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\n gl_FragColor = src * u_opacity;\\n#else\\n vec4 dst = texture2D(u_backbufferTexture, v_uv);\\n vec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\n vec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\n float as = u_opacity * src.a;\\n float ab = dst.a;\\n #ifdef DESTINATION_OVER\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n #endif\\n #ifdef SOURCE_IN\\n vec4 color = vec4(as * Cs * ab, as * ab);\\n vec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\n gl_FragColor = color + fadeColor;\\n #endif\\n #ifdef DESTINATION_IN\\n vec4 color = vec4(ab * Cb * as, ab * as);\\n vec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\n gl_FragColor = color + fadeColor;\\n #endif\\n #ifdef SOURCE_OUT\\n gl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n #endif\\n #ifdef DESTINATION_OUT\\n gl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n #endif\\n #ifdef SOURCE_ATOP\\n gl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n #endif\\n #ifdef DESTINATION_ATOP\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n #endif\\n #ifdef XOR\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\n as * (1.0 - ab) + ab * (1.0 - as));\\n #endif\\n #ifdef MULTIPLY\\n gl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SCREEN\\n gl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef OVERLAY\\n vec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef DARKEN\\n gl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef LIGHTER\\n gl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n #endif\\n #ifdef LIGHTEN\\n gl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR_DODGE\\n vec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR_BURN\\n vec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef HARD_LIGHT\\n vec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SOFT_LIGHT\\n vec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef DIFFERENCE\\n gl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef EXCLUSION\\n vec3 f = Cs + Cb - 2.0 * Cs * Cb;\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef INVERT\\n gl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n #endif\\n #ifdef VIVID_LIGHT\\n vec3 f = vec3(vividLight(Cb.r, Cs.r),\\n vividLight(Cb.g, Cs.g),\\n vividLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef HUE\\n vec3 f = setLumSat(Cs,Cb,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SATURATION\\n vec3 f = setLumSat(Cb,Cs,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR\\n vec3 f = setLum(Cs,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef LUMINOSITY\\n vec3 f = setLum(Cb,Cs);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef PLUS\\n gl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n #endif\\n #ifdef MINUS\\n gl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n #endif\\n #ifdef AVERAGE\\n vec3 f = (Cb + Cs) / 2.0;\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef REFLECT\\n vec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\n reflectBlend(Cb.g, Cs.g),\\n reflectBlend(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\n gl_Position = vec4(a_position , 0.0, 1.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\n float b = 1.0 / 6.0;\\n float v2 = v * v;\\n float v3 = v2 * v;\\n float w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\n float w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\n float w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\n float w3 = b * v3;\\n return vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\n vec4 w = computeWeights(v);\\n float g0 = w.x + w.y;\\n float g1 = w.z + w.w;\\n float h0 = 1.0 - (w.y / g0) + v;\\n float h1 = 1.0 + (w.w / g1) - v;\\n return vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 eX = vec2(1.0 / texSize.x, 0.0);\\n vec2 eY = vec2(0.0, 1.0 / texSize.y);\\n vec2 texel = coords * texSize - 0.5;\\n vec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\n vec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\n vec2 coords10 = coords + hgX.x * eX;\\n vec2 coords00 = coords - hgX.y * eX;\\n vec2 coords11 = coords10 + hgY.x * eY;\\n vec2 coords01 = coords00 + hgY.x * eY;\\n coords10 = coords10 - hgY.y * eY;\\n coords00 = coords00 - hgY.y * eY;\\n vec4 color00 = texture2D(sampler, coords00);\\n vec4 color10 = texture2D(sampler, coords10);\\n vec4 color01 = texture2D(sampler, coords01);\\n vec4 color11 = texture2D(sampler, coords11);\\n color00 = mix(color00, color01, hgY.z);\\n color10 = mix(color10, color11, hgY.z);\\n color00 = mix(color00, color10, hgX.z);\\n return color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 texelStart = floor(coords * texSize);\\n vec2 coord0 = texelStart / texSize;\\n vec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\n vec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\n vec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\n vec4 color0 = texture2D(sampler, coord0);\\n vec4 color1 = texture2D(sampler, coord1);\\n vec4 color2 = texture2D(sampler, coord2);\\n vec4 color3 = texture2D(sampler, coord3);\\n vec2 blend = fract(coords * texSize);\\n vec4 color01 = mix(color0, color1, blend.x);\\n vec4 color23 = mix(color2, color3, blend.x);\\n return mix(color01, color23, blend.y);\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\n vec2 invSize = 1.0 / texSize;\\n vec2 texel = coords * texSize;\\n vec2 texel_i = floor(texel);\\n vec2 texel_frac = fract(texel);\\n vec4 colorP = texture2D(sampler, texel_i * invSize);\\n vec4 colorP1 = vec4(colorP);\\n vec4 colorP2 = vec4(colorP);\\n vec4 colorP3 = vec4(colorP);\\n vec4 colorP4 = vec4(colorP);\\n vec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\n vec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\n vec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\n vec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\n if (colorC == colorA && colorC != colorD && colorA != colorB) {\\n colorP1 = colorA;\\n }\\n if (colorA == colorB && colorA != colorC && colorB != colorD) {\\n colorP2 = colorB;\\n }\\n if (colorD == colorC && colorD != colorB && colorC != colorA) {\\n colorP3 = colorC;\\n }\\n if (colorB == colorD && colorB != colorA && colorD != colorC) {\\n colorP4 = colorD;\\n }\\n vec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\n vec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\n return mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n vec4 data0 = texture2D(u_maskTexture, v_texcoord);\\n float flags = data0.r * 255.0;\\n float groupMinZoom = data0.g * 255.0;\\n float isVisible = getFilterBit(flags, 0);\\n float wouldClip = step(groupMinZoom, u_zoomLevel);\\n float direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\n float dt = u_timeDelta / max(u_animationTime, 0.0001);\\n vec4 nextState = vec4(texel + direction * dt);\\n gl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n gl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_texture;\\nmediump vec4 gauss4(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas * u_sigmas));\\n}\\nmediump float gauss1(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas[3] * u_sigmas[3]));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\n return u_channelSelector * sample;\\n}\\nvoid accumGauss4(mediump float i, inout mediump vec4 tot, inout mediump vec4 weight) {\\n mediump vec4 w = gauss4(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw)) * w;\\n weight += w;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\n mediump float w = gauss1(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\n weight += w;\\n}\\nvoid main(void) {\\n mediump float tot = 0.0;\\n mediump float weight = 0.0;\\n accumGauss1(-4.0, tot, weight);\\n accumGauss1(-3.0, tot, weight);\\n accumGauss1(-2.0, tot, weight);\\n accumGauss1(-1.0, tot, weight);\\n accumGauss1(0.0, tot, weight);\\n accumGauss1(1.0, tot, weight);\\n accumGauss1(2.0, tot, weight);\\n accumGauss1(3.0, tot, weight);\\n accumGauss1(4.0, tot, weight);\\n gl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\n mediump float sigma = u_sigmas[3];\\n mediump float y = texture2D(u_texture, v_texcoord)[3];\\n const mediump float y0 = 0.5;\\n mediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * sigma);\\n mediump float d = (y - y0) / m0;\\n return d;\\n}\\nmediump vec4 shade(mediump float d) {\\n mediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\n mappedDistance = clamp(mappedDistance, 0.0, 1.0);\\n return texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\n mediump float d = estimateDistance();\\n gl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\n gl_Position = vec4(a_position, 0.0, 1.0);\\n v_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlyTexture;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\n lowp vec4 color = texture2D(u_readbackTexture, v_texCoord);\\n color = color + (1.0 - color.a) * u_background;\\n lowp vec4 mask_color = texture2D(u_maskTexture, v_texCoord);\\n lowp float gray = 1.0 - dot(mask_color, vec4(0.3, 0.59, 0.11, 0));\\n color *= gray;\\n lowp vec4 overley_color = texture2D(u_overlyTexture, v_texCoord);\\n overley_color.rgb *= overley_color.a;\\n gl_FragColor = overley_color + (1.0 - overley_color.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec2 u_drawPos;\\nuniform mediump float u_width;\\nuniform mediump float u_height;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\n v_texCoord = a_pos;\\n vec2 coord = u_drawPos + vec2(a_pos - 0.5) * vec2(u_width, u_height);\\n gl_Position = vec4(coord, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec4 id) {\\n highp vec4 texel = unpackDisplayIdTexel(id);\\n highp float size = float(u_attributeTextureSize);\\n highp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256 + int(texel.a) * 256 * 256 * 256);\\n highp float col = mod(u32, size);\\n highp float row = (u32 - col) / size;\\n highp float u = col / size;\\n highp float v = row / size;\\n return vec2(u, v);\\n}\\nhighp vec4 getAttributeData0(in highp vec4 id) {\\n vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData3, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\n bool isMagic = v.x == 255.0 && v.y == 255.0;\\n if (isMagic) {\\n return NAN_MAGIC_NUMBER;\\n }\\n return (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float SIGNED_BYTE_TO_UNSIGNED = 128.0;\\nconst float POSITION_PRECISION = 1.0 / 8.0;\\nconst float FILL_POSITION_PRECISION = 1.0 / 1.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float EXTRUDE_SCALE_PLACEMENT_PADDING = 1.0 / 4.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.0000001;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\",\"effects.glsl\":\"uniform highp mat4 u_insideEffectMat4[ MAX_FILTER_COUNT ];\\nuniform highp mat4 u_outsideEffectMat4[ MAX_FILTER_COUNT ];\\nuniform highp float u_insideOpacities[ MAX_FILTER_COUNT ];\\nuniform highp float u_outsideOpacities[ MAX_FILTER_COUNT ];\\nvec4 getEffectColor(in vec4 color, in float filterFlags) {\\n vec4 rgbw = vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n for (int i = 1; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n rgbw = u_insideEffectMat4[ i ] * (bit * rgbw) + u_outsideEffectMat4[ i ] * ((1.0 - bit) * rgbw);\\n a = u_insideOpacities[ i ] * (bit * a) + u_outsideOpacities[ i ] * ((1.0 - bit) * a);\\n }\\n return vec4(rgbw.rgb * a, a);\\n}\\nvec3 applyFilter(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n vec4 rgbw = vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n for (int i = 0; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n rgbw = u_insideEffectMat4[ i ] * (bit * rgbw) + u_outsideEffectMat4[ i ] * ((1.0 - bit) * rgbw);\\n a = u_insideOpacities[ i ] * (bit * a) + u_outsideOpacities[ i ] * ((1.0 - bit) * a);\\n }\\n color.rgb = rgbw.rgb * a;\\n color.a = a;\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef HIGHLIGHT\\n pos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n return pos;\\n}\\nvec3 applyFilterLabels(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n float bit = getFilterBit(filterFlags, 0);\\n pos.z += 2.0 * (1.0 - bit);\\n#ifndef OUTSIDE_LABELS_VISIBLE\\n for (int i = 1; i < EFFECT_COUNT + 1; i++) {\\n float bit = getFilterBit(filterFlags, i);\\n pos.z += 2.0 * (1.0 - bit);\\n }\\n#endif\\n return pos;\\n}\",fill:{\"common.glsl\":\"#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying highp float v_flags;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef DOT_DENSITY\\nvarying highp vec2 v_dotTextureCoords;\\nvarying highp vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include \\n#include \\n#include \\n#ifdef DOT_DENSITY\\n#include \\n#endif\\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\nvoid main() {\\n#ifdef ID\\n gl_FragColor = v_id;\\n#elif defined(PATTERN)\\n mediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\n mediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = v_opacity * v_color * color;\\n#elif defined(DOT_DENSITY) && !defined(HIGHLIGHT)\\n vec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\n vec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\n vec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\n vec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\n vec4 isPositive0 = step(0.0, difference0);\\n vec4 isPositive1 = step(0.0, difference1);\\n float weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\n float lessThanEqZero = step(weightSum, 0.0);\\n float greaterThanZero = 1.0 - lessThanEqZero ;\\n float divisor = (weightSum + lessThanEqZero);\\n vec4 weights0 = difference0 * isPositive0 / divisor;\\n vec4 weights1 = difference1 * isPositive1 / divisor;\\n vec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\n vec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\n float diffMax = max(max4(difference0), max4(difference1));\\n float lessThanZero = step(diffMax, 0.0);\\n float greaterOrEqZero = 1.0 - lessThanZero;\\n vec4 isMax0 = step(diffMax, difference0);\\n vec4 isMax1 = step(diffMax, difference1);\\n vec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\n vec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\n gl_FragColor = getEffectColor(preEffectColor, v_flags);\\n#else\\n gl_FragColor = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = 1.0;\\n#endif\\n}\",\"fill.vert\":\"precision highp float;\\n#ifdef DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec4 a_aux3 = vec4(0.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_aux1;\\nattribute vec2 a_aux2;\\nattribute vec4 a_aux3;\\n#endif\\n#include \\n#include \\n#ifdef DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\n return featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_aux3.a;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n v_flags = getFilterFlags();\\n#ifdef PATTERN\\n vec2 aux2 = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_aux2;\\n float width = u_zoomFactor * a_aux1.x * aux2.x;\\n float height = u_zoomFactor * a_aux1.y * aux2.y;\\n float angle = C_256_TO_RAD * a_aux3.z;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n mat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n -sinA / width, cosA / height, 0,\\n 0, 0, 1);\\n vec2 symbolOffset = (a_aux1.zw - SIGNED_BYTE_TO_UNSIGNED) / vec2(width, height);\\n v_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n#elif defined(DOT_DENSITY)\\n vec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\n vec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\n float size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\n v_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\n v_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\n v_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_flags), 1.0);\\n}\"},icon:{\"common.glsl\":\"uniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying highp float v_filters;\\nvarying lowp float v_opacity;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying mediump float v_overridingOutlineColor;\\nvarying mediump float v_isThin;\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n vec2 v_size = v_sizeTex.xy;\\n vec2 v_tex = v_sizeTex.zw;\\n#ifdef SDF\\n lowp vec4 fillPixelColor = v_color;\\n float d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\n float size = max(v_size.x, v_size.y);\\n float dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\n fillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\n float outlineWidth = v_outlineWidth;\\n #ifdef HIGHLIGHT\\n outlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n #endif\\n if (outlineWidth > 0.25) {\\n lowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\n float clampedOutlineSize = min(outlineWidth, size);\\n outlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\n gl_FragColor = v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n }\\n else {\\n gl_FragColor = v_opacity * fillPixelColor;\\n }\\n#else\\n lowp vec4 texColor = texture2D(u_texture, v_tex);\\n gl_FragColor = v_opacity * getEffectColor(texColor, v_filters);\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"icon.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec4 a_bitSetAndDistRatio;\\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\n#ifdef VV_SIZE\\n float r = getSize(baseSize.y) / referenceSize;\\n baseSize.xy *= r;\\n offset.xy *= r;\\n float scaleSymbolProportionally = getBit(bitSet, 3);\\n outlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\n return baseSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\n float isMapAligned = getBit(a_bitSet, 0);\\n vec3 offset = getRotation() * vec3(in_offset, 0.0);\\n return getMatrix(isMapAligned) * offset;\\n}\\nvoid main()\\n{\\n INIT;\\n vec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\n vec2 a_offset = a_vertexOffset / 16.0;\\n float a_outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\n float a_bitSet = a_bitSetAndDistRatio.z;\\n vec2 v_size = getMarkerSize(a_offset, a_size, a_outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\n vec2 v_tex = a_texCoords / u_mosaicSize;\\n v_color = getColor(a_color, a_bitSet, 1);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_filters = getFilterFlags();\\n v_pos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0) + getOffset(a_offset, a_bitSet);\\n v_sizeTex = vec4(v_size.xy, v_tex.xy);\\n#ifdef SDF\\n v_isThin = getBit(a_bitSet, 2);\\n #ifdef VV_COLOR\\n v_overridingOutlineColor = v_isThin;\\n #else\\n v_overridingOutlineColor = 0.0;\\n #endif\\n v_outlineWidth = min(a_outlineSize, max(max(v_size.x, v_size.y) - 0.99, 0.0));\\n v_outlineColor = getEffectColor(a_outlineColor, v_filters);\\n v_distRatio = a_bitSetAndDistRatio.w / 126.0;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_filters), 1.0);\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_mapAligned;\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"#include \",\"label.vert\":\"precision highp float;\\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_glyphData;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nuniform float u_zoomLevel;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\n float glyphAngle = angle * 360.0 / 254.0;\\n float mapAngle = u_mapRotation * 360.0 / 254.0;\\n float diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\n float z = 0.0;\\n z += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_zoomLevel)));\\n z += u_mapAligned * 2.0 * step(90.0, diffAngle);\\n z += 2.0 * (1.0 - step(u_zoomLevel, maxZoom));\\n return z;\\n}\\nvoid main()\\n{\\n INIT;\\n float groupMinZoom = getMinZoom();\\n float glyphMinZoom = a_glyphData.x;\\n float glyphMaxZoom = a_glyphData.y;\\n float glyphAngle = a_glyphData.z;\\n float a_minZoom = max(groupMinZoom, glyphMinZoom);\\n float a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\n vec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\n float a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\n float fontSize = a_texAndSize.z;\\n float haloSize = a_texAndSize.w * OUTLINE_SCALE;\\n vec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\n vec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\n float z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n float halfSize = getSize(a_refSymbolSize) / 2.0;\\n float animation = pow(getAnimationState(), vec4(2.0)).r;\\n v_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\n v_opacity = 1.0;\\n v_tex = a_texCoords / u_mosaicSize;\\n v_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n vec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\n vec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\n vec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\n gl_Position = vec4(applyFilterLabels(v_color, v_pos, getFilterFlags()), 1.0);\\n#ifdef DEBUG\\n v_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\nvarying highp vec3 v_pos;\\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\nuniform lowp float u_blur;\\nuniform mediump float u_zoomFactor;\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\n#endif\\n#ifdef SDF\\nconst float sdfPatternHalfWidth = 15.5;\\nconst float widthFactor = 2.0;\\n#endif\\nvoid main()\\n{\\n mediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(v_lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n mediump float fragDist = length(v_normal) * v_lineHalfWidth;\\n lowp float alpha = clamp(thinLineFactor * (v_lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n mediump float lineHalfWidth = widthFactor * v_lineHalfWidth;\\n mediump float lineWidthRatio = lineHalfWidth / sdfPatternHalfWidth;\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * lineHalfWidth) / (lineWidthRatio * v_patternSize.x), 1.0);\\n mediump float relativeTexY = 0.5 + 0.5 * v_normal.y;\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexX, relativeTexY));\\n mediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\n float dist = d * lineHalfWidth;\\n lowp vec4 fillPixelColor = v_opacity * alpha * clamp(0.5 - dist, 0.0, 1.0) * v_color;\\n gl_FragColor = fillPixelColor;\\n#elif defined(PATTERN) && !defined(HIGHLIGHT)\\n mediump float lineHalfWidth = v_lineHalfWidth;\\n mediump float adjustedPatternWidth = v_patternSize.x * 2.0 * lineHalfWidth / v_patternSize.y;\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * lineHalfWidth) / adjustedPatternWidth, 1.0);\\n mediump float relativeTexY = 0.5 + 0.5 * v_normal.y;\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexY, relativeTexX));\\n lowp vec4 color = texture2D(u_texture, texCoord);\\n gl_FragColor = v_opacity * alpha * v_color * color;\\n#else\\n gl_FragColor = v_opacity * alpha * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"line.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\n#include \\n#include \\nconst float SCALE = 1.0 / 31.0;\\nconst float WIDTH_SCALE = 1.0 / 1024.0;\\nfloat getBaseLineHalfWidth(in float in_lineHalfWidth) {\\n#ifdef VV_SIZE\\n float referenceHalfWidth = a_aux.x * WIDTH_SCALE;\\n float lineWidth = 2.0 * in_lineHalfWidth;\\n return 0.5 * (in_lineHalfWidth / referenceHalfWidth) * getSize(lineWidth);\\n#else\\n return in_lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\n float halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\n halfWidth = max(halfWidth, 2.0);\\n#endif\\n return halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\n float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n thinLineFactor *= 2.0;\\n#endif\\n return thinLineFactor * halfWidth * offset * SCALE;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_segmentDirection.w;\\n float a_accumulatedDist = a_accumulatedDistanceAndHalfWidth.x;\\n float a_lineHalfWidth = a_accumulatedDistanceAndHalfWidth.y * WIDTH_SCALE;\\n float aa = 0.5 * u_antialiasing;\\n vec2 a_offset = a_offsetAndNormal.xy;\\n float baseWidth = getBaseLineHalfWidth(a_lineHalfWidth);\\n float halfWidth = getLineHalfWidth(baseWidth, aa);\\n float z = 2.0 * step(baseWidth, 0.0);\\n vec2 dist = getDist(a_offset, halfWidth);\\n vec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\n vec3 pos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0) + offset;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity();\\n v_lineHalfWidth = halfWidth;\\n v_id = norm(a_id);\\n v_normal = a_offsetAndNormal.zw * SCALE;\\n v_pos = vec3(pos.xy, z);\\n#ifdef PATTERN\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n v_patternSize = vec2(a_tlbr.z - a_tlbr.x, a_tlbr.w - a_tlbr.y);\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\n v_accumulatedDistance = a_accumulatedDist + dot(SCALE * a_segmentDirection.xy, dist / u_zoomFactor);\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec4 v_id;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec2 v_tex;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n float SDF_CUTOFF = (2.0 / 8.0);\\n float SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n mediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\n edge /= 2.0;\\n#endif\\n lowp float aa = v_antialiasingWidth;\\n lowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\n gl_FragColor = alpha * v_color * v_opacity;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"text.vert\":\"precision highp float;\\n#include \\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, in float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\n float ratio = baseSize / referenceSize;\\n baseSize = ratio * getSize(baseSize);\\n#endif\\n return baseSize;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_aux.w;\\n float a_fontSize = a_texFontSize.z;\\n vec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\n vec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\n float fontSize = getTextSize(a_offset, a_fontSize, a_aux.z * a_aux.z / 256.0);\\n float scaleFactor = fontSize / a_fontSize;\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n vec3 offset = getRotation() * vec3(scaleFactor * a_offset, 0.0);\\n mat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\n v_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_tex = a_texCoords / u_mosaicSize;\\n v_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\n v_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\n return floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\n float offset = pow(2.0, float(bitIndex));\\n return mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\n return getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\n return getBit(bitset, 0);\\n}\\nhighp vec4 unpackDisplayIdTexel(in highp vec4 bitset) {\\n float isAggregate = getBit(bitset.a, 7);\\n return (1.0 - isAggregate) * bitset + isAggregate * (vec4(bitset.rgba) - vec4(0.0, 0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\n float r = mod(rshift(u32, 0), 255.0);\\n float g = mod(rshift(u32, 8), 255.0);\\n float b = mod(rshift(u32, 16), 255.0);\\n float a = mod(rshift(u32, 24), 255.0);\\n return vec4(r, g, b, a);\\n}\\nvec4 norm(in vec4 v) {\\n return v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\n return max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\n return (bytes - 127.0) / 127.0;\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec4 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef OES_TEXTURE_FLOAT\\n target.rgba = getAttributeData2(a_id);\\n#else\\n vec4 data0 = getAttributeData2(a_id);\\n vec4 data1 = getAttributeData3(a_id);\\n target.r = u88VVToFloat(data0.rg * 255.0);\\n target.g = u88VVToFloat(data0.ba * 255.0);\\n target.b = u88VVToFloat(data1.rg * 255.0);\\n target.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n #define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n #define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\n float isColorLocked = getBit(a_bitSet, index);\\n return getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\n return a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\n return getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\n return 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\n return getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\n return in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\n return getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\n return mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\n return ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\n return getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\n return getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\n vec4 data0 = getAttributeData0(a_id) * 255.0;\\n return data0.g;\\n}\\nmat3 getMatrix(float isMapAligned) {\\n return isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n #define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n #define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\n return (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n float interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\n interpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\n return u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n if (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\n return u_vvSizeFieldStopsSizes[0];\\n }\\n for (int i = 1; i < VV_SIZE_N; ++i) {\\n if (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\n float f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\n return mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n }\\n }\\n return u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n return u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\n if (isNan(opacityValue)) {\\n return 1.0;\\n }\\n if (opacityValue <= u_vvOpacityValues[0]) {\\n return u_vvOpacities[0];\\n }\\n for (int i = 1; i < VV_OPACITY_N; ++i) {\\n if (u_vvOpacityValues[i] >= opacityValue) {\\n float f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\n return mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n }\\n }\\n return u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat4(1, 0, 0, 0,\\n 0, 1, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat4(cosA, sinA, 0, 0,\\n -sinA, cosA, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat3(1, 0, 0,\\n 0, 1, 0,\\n 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * -rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat3(cosA, -sinA, 0,\\n sinA, cosA, 0,\\n 0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\n if (isNan(colorValue) || isColorLocked == 1.0) {\\n return fallback;\\n }\\n if (colorValue <= u_vvColorValues[0]) {\\n return u_vvColors[0];\\n }\\n for (int i = 1; i < VV_COLOR_N; ++i) {\\n if (u_vvColorValues[i] >= colorValue) {\\n float f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\n return mix(u_vvColors[i-1], u_vvColors[i], f);\\n }\\n }\\n return u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\n return getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\n return u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\n float outSize = getVVStopsSize(vvSize, size);\\n return isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\n return getVVUnitValue(vvSize, size);\\n#else\\n return size;\\n#endif\\n}\"},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_uv);\\n}\"},bloom:{composite:{\"composite.frag\":\"precision mediump float;\\nvarying vec2 v_uv;\\nuniform sampler2D u_blurTexture1;\\nuniform sampler2D u_blurTexture2;\\nuniform sampler2D u_blurTexture3;\\nuniform sampler2D u_blurTexture4;\\nuniform sampler2D u_blurTexture5;\\nuniform float u_bloomStrength;\\nuniform float u_bloomRadius;\\nuniform float u_bloomFactors[NUMMIPS];\\nuniform vec3 u_bloomTintColors[NUMMIPS];\\nfloat lerpBloomFactor(const in float factor) {\\n float mirrorFactor = 1.2 - factor;\\n return mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\n gl_FragColor = u_bloomStrength * (\\n lerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\n lerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\n lerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\n lerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\n lerpBloomFactor(u_bloomFactors[4]) * vec4(u_bloomTintColors[4], 1.0) * texture2D(u_blurTexture5, v_uv)\\n );\\n}\"},gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\n#define SIGMA RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\n return 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\n vec2 invSize = 1.0 / u_texSize;\\n float fSigma = float(SIGMA);\\n float weightSum = gaussianPdf(0.0, fSigma);\\n vec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\n for (int i = 1; i < KERNEL_RADIUS; i ++) {\\n float x = float(i);\\n float w = gaussianPdf(x, fSigma);\\n vec2 uvOffset = u_direction * invSize * x;\\n vec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\n vec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\n pixelColorSum += (sample1 + sample2) * w;\\n weightSum += 2.0 * w;\\n }\\n gl_FragColor = pixelColorSum /weightSum;\\n}\"},luminosityHighPass:{\"luminosityHighPass.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nuniform vec3 u_defaultColor;\\nuniform float u_defaultOpacity;\\nuniform float u_luminosityThreshold;\\nuniform float u_smoothWidth;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 texel = texture2D(u_texture, v_uv);\\n vec3 luma = vec3(0.299, 0.587, 0.114);\\n float v = dot(texel.xyz, luma);\\n vec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\n float alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\n gl_FragColor = mix(outputColor, texel, alpha);\\n}\"}},blur:{gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nuniform float u_sigma;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\n return 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\n vec2 invSize = 1.0 / u_texSize;\\n float fSigma = u_sigma;\\n float weightSum = gaussianPdf(0.0, fSigma);\\n vec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\n for (int i = 1; i < KERNEL_RADIUS; i ++) {\\n float x = float(i);\\n float w = gaussianPdf(x, fSigma);\\n vec2 uvOffset = u_direction * invSize * x;\\n vec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\n vec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\n pixelColorSum += (sample1 + sample2) * w;\\n weightSum += 2.0 * w;\\n }\\n gl_FragColor = pixelColorSum /weightSum;\\n}\"},\"radial-blur\":{\"radial-blur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nconst float sampleDist = 1.0;\\nconst float sampleStrength = 2.2;\\nvoid main(void) {\\n float samples[10];\\n samples[0] = -0.08;\\n samples[1] = -0.05;\\n samples[2] = -0.03;\\n samples[3] = -0.02;\\n samples[4] = -0.01;\\n samples[5] = 0.01;\\n samples[6] = 0.02;\\n samples[7] = 0.03;\\n samples[8] = 0.05;\\n samples[9] = 0.08;\\n vec2 dir = 0.5 - v_uv;\\n float dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\n dir = dir / dist;\\n vec4 color = texture2D(u_colorTexture,v_uv);\\n vec4 sum = color;\\n for (int i = 0; i < 10; i++) {\\n sum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n }\\n sum *= 1.0 / 11.0;\\n float t = dist * sampleStrength;\\n t = clamp(t, 0.0, 1.0);\\n gl_FragColor = mix(color, sum, t);\\n}\"}},dra:{\"dra.frag\":\"precision mediump float;\\nuniform sampler2D u_minColor;\\nuniform sampler2D u_maxColor;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 minColor = texture2D(u_minColor, vec2(0.5));\\n vec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\n vec4 color = texture2D(u_texture, v_uv);\\n vec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\n vec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\n vec3 colorUnpremultiply = color.rgb / color.a;\\n vec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\n gl_FragColor = vec4(color.a * (colorUnpremultiply - minColorUnpremultiply) / range, color.a);\\n}\",\"min-max\":{\"min-max.frag\":\"#extension GL_EXT_draw_buffers : require\\nprecision mediump float;\\n#define CELL_SIZE 2\\nuniform sampler2D u_minTexture;\\nuniform sampler2D u_maxTexture;\\nuniform vec2 u_srcResolution;\\nuniform vec2 u_dstResolution;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\n vec2 onePixel = vec2(1.0) / u_srcResolution;\\n vec2 uv = (srcPixel + 0.5) / u_srcResolution;\\n vec4 minColor = vec4(1.0);\\n vec4 maxColor = vec4(0.0);\\n for (int y = 0; y < CELL_SIZE; ++y) {\\n for (int x = 0; x < CELL_SIZE; ++x) {\\n vec2 offset = uv + vec2(x, y) * onePixel;\\n minColor = min(minColor, texture2D(u_minTexture, offset));\\n maxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n }\\n }\\n gl_FragData[0] = minColor;\\n gl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\n vec4 blurColor = texture2D(u_blurTexture, v_uv);\\n gl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\n}\"},\"drop-shadow.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp vec2 u_offset;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec3 offset = u_displayViewMat3 * vec3(u_offset, 0.0);\\n gl_Position = vec4(a_position, 0.0, 1.0) + vec4(offset, 0.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"},\"edge-detect\":{\"frei-chen\":{\"frei-chen.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nvarying vec2 v_uv;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[9];\\nconst mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );\\nconst mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );\\nconst mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );\\nconst mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );\\nconst mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );\\nconst mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );\\nconst mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );\\nconst mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );\\nconst mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );\\nvoid main() {\\n G[0] = g0,\\n G[1] = g1,\\n G[2] = g2,\\n G[3] = g3,\\n G[4] = g4,\\n G[5] = g5,\\n G[6] = g6,\\n G[7] = g7,\\n G[8] = g8;\\n mat3 I;\\n float cnv[9];\\n vec3 sample;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 9; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n float M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\n float S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\n gl_FragColor = vec4(vec3(sqrt(M / S)), texture2D(u_colorTexture, v_uv).a);\\n}\"},sobel:{\"sobel.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 );\\nvoid main() {\\n mat3 I;\\n float cnv[2];\\n vec3 sample;\\n G[0] = g0;\\n G[1] = g1;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 2; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n gl_FragColor = vec4(vec3(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1])), texture2D(u_colorTexture, v_uv).a);\\n}\"}},\"edge-enhance\":{\"edge-enhance.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 0.0, -1.0, 1.0, 0.0, -1.0, 1.0, 0.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0 );\\nvoid main() {\\n mat3 I;\\n float cnv[2];\\n vec3 sample;\\n G[0] = g0;\\n G[1] = g1;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 2; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n vec4 color = texture2D(u_colorTexture, v_uv);\\n gl_FragColor = vec4(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1]) * color);\\n}\"},filterEffect:{\"filterEffect.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform mat4 u_coefficients;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 color = texture2D(u_colorTexture, v_uv);\\n vec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n gl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\n gl_Position = vec4(a_position, 0.0, 1.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"}},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\n vec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\n vec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\n gl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},common:{\"common.glsl\":\"uniform sampler2D u_image;\\nuniform int u_bandCount;\\nuniform bool u_isFloatTexture;\\nuniform bool u_flipY;\\nuniform float u_opacity;\\nuniform int u_resampling;\\nuniform vec2 u_srcImageSize;\\n#ifdef APPLY_PROJECTION\\n#include \\n#endif\\n#ifdef BICUBIC\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\n vec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\n targetLocation = projectPixelLocation(targetLocation);\\n#endif\\n return targetLocation;\\n}\\nbool isOutside(vec2 coords){\\n if (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\n return true;\\n } else {\\n return false;\\n }\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\n vec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#else\\n vec4 color = texture2D(u_image, pixelLocation);\\n#endif\\n return color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\n vec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\n float maxI = 255.0;\\n float mid = 128.0;\\n float c = u_contrastOffset;\\n float b = u_brightnessOffset;\\n vec4 v;\\n if (c > 0.0 && c < 100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\\n } else if (c <= 0.0 && c > -100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n } else if (c == 100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\n v = (sign(v) + 1.0) / 2.0;\\n } else if (c == -100.0) {\\n v = vec4(mid, mid, mid, currentPixel.a);\\n }\\n return vec4(v.r / 255.0, v.g / 255.0, v.b / 255.0, currentPixel.a);\\n}\",\"projection.glsl\":\"uniform sampler2D u_transformGrid;\\nuniform vec2 u_transformSpacing;\\nuniform vec2 u_transformGridSize;\\nuniform vec2 u_targetImageSize;\\nvec2 projectPixelLocation(vec2 coords) {\\n vec2 index_image = floor(coords * u_targetImageSize);\\n vec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\n vec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\n vec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\n vec2 srcLocation;\\n vec2 transform_location = index_transform + oneTransformPixel * 0.5;\\n if (pos.s <= pos.t) {\\n vec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\n vec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\n srcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\n srcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n } else {\\n vec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\n vec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\n srcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\n srcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n }\\n return srcLocation;\\n}\"},hillshade:{\"hillshade.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform int u_hillshadeType;\\nuniform float u_sinZcosAs[6];\\nuniform float u_sinZsinAs[6];\\nuniform float u_cosZs[6];\\nuniform float u_weights[6];\\nuniform vec2 u_factor;\\nuniform float u_minValue;\\nuniform float u_maxValue;\\n#include \\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\\n if (a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0) {\\n return 0.0;\\n }\\n else {\\n return e;\\n }\\n}\\nvec3 rgb2hsv(vec3 c) {\\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n float d = q.x - min(q.w, q.y);\\n float e = 1.0e-10;\\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec4 overlay(float val, float minValue, float maxValue, float hillshade) {\\n val = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\n vec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\n vec3 hsv = rgb2hsv(rgb.xyz);\\n hsv.z = hillshade;\\n return vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n if (currentPixel.a == 0.0) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec2 axy = vec2(-1.0, -1.0);\\n vec2 bxy = vec2(0.0, -1.0);\\n vec2 cxy = vec2(1.0, -1.0);\\n vec2 dxy = vec2(-1.0, 0.0);\\n vec2 fxy = vec2(1.0, 0.0);\\n vec2 gxy = vec2(-1.0, 1.0);\\n vec2 hxy = vec2(0.0, 1.0);\\n vec2 ixy = vec2(1.0, 1.0);\\n vec2 onePixel = 1.0 / u_srcImageSize;\\n if (pixelLocation.s < onePixel.s) {\\n axy[0] = 1.0;\\n dxy[0] = 1.0;\\n gxy[0] = 1.0;\\n }\\n if (pixelLocation.t < onePixel.t) {\\n axy[1] = 1.0;\\n bxy[1] = 1.0;\\n cxy[1] = 1.0;\\n }\\n if (pixelLocation.s > 1.0 - onePixel.s) {\\n cxy[0] = -1.0;\\n fxy[0] = -1.0;\\n ixy[0] = -1.0;\\n }\\n if (pixelLocation.t > 1.0 - onePixel.t) {\\n gxy[1] = -1.0;\\n hxy[1] = -1.0;\\n ixy[1] = -1.0;\\n }\\n vec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\n vec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\n vec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\n vec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\n vec4 ve = texture2D(u_image, pixelLocation);\\n vec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\n vec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\n vec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\n vec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\n float dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\n float dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\n float dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\n float hillshade = 0.0;\\n if (u_hillshadeType == 0){\\n\\t float cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\n float z = (u_cosZs[0] + cosDelta) / dzd;\\n if (z < 0.0) z = 0.0;\\n\\t hillshade = z;\\n } else {\\n\\t for (int k = 0; k < 6; k++) {\\n\\t\\t float cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\n\\t\\t float z = (u_cosZs[k] + cosDelta) / dzd;\\n\\t\\t if (z < 0.0) z = 0.0;\\n hillshade = hillshade + z * u_weights[k];\\n\\t\\t if (k == 5) break;\\n }\\n }\\n float alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\n gl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\n gl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\n}\",\"hillshade.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},lut:{\"colorize.glsl\":\"uniform sampler2D u_colormap;\\nuniform float u_colormapOffset;\\nuniform float u_colormapMaxIndex;\\nvec4 colorize(vec4 currentPixel, float scaleFactor) {\\n float clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\n vec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\n vec4 color = texture2D(u_colormap, clrPosition);\\n vec4 result = vec4(color.rgb, color.a * currentPixel.a);\\n return result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n vec4 result = colorize(currentPixel, 1.0);\\n gl_FragColor = vec4(result.xyz, 1.0) * result.a * u_opacity;\\n}\",\"lut.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos * u_scale + u_offset;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform bool u_useGamma;\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\n#include \\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool useGamma, float gamma, float gammaCorrection) {\\n if (val >= maxCutOff) {\\n return maxOutput;\\n } else if (val <= minCutOff) {\\n return minOutput;\\n }\\n float stretchedVal;\\n if (useGamma) {\\n \\tfloat tempf = 1.0;\\n\\t float outRange = maxOutput - minOutput;\\n\\t float relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\n\\t if (gamma > 1.0) {\\n tempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n }\\n stretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n } else {\\n stretchedVal = minOutput + (val - minCutOff) * factor;\\n }\\n return stretchedVal;\\n}\\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n if (currentPixel.a == 0.0) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n if (u_bandCount == 1) {\\n float grayVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n#ifdef APPLY_COLORMAP\\n vec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\n gl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\n gl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n } else {\\n float redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n float greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], u_useGamma, u_gamma[1], u_gammaCorrection[1]);\\n float blueVal = stretchOneValue(currentPixel.b, u_minCutOff[2], u_maxCutOff[2], u_minOutput, u_maxOutput, u_factor[2], u_useGamma, u_gamma[2], u_gammaCorrection[2]);\\n gl_FragColor = vec4(redVal, greenVal, blueVal, 1.0) * currentPixel.a * u_opacity;\\n }\\n}\",\"stretch.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos * u_scale + u_offset;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nvoid main() {\\n gl_Position = vec4(a_pos, 0.0, 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\n lowp vec4 color = texture2D(u_texture, v_tex);\\n gl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\n mediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\n vec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\n gl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n v_tex = a_pos;\\n}\"},util:{\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n 255.0 / (256.0),\\n 255.0 / (256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n );\\nfloat rgba2float(vec4 rgba) {\\n return dot(rgba, rgba2float_factors);\\n}\"}}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],(function(_,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.between=e.interpolate=e.sqr=e.log2=e.degToByte=e.radToByte=e.positiveMod=e.C_SQRT2_INV=e.C_SQRT2=e.C_DEG_TO_RAD=e.C_DEG_TO_256=e.C_256_TO_RAD=e.C_RAD_TO_256=e.C_PI_BY_2=e.C_2PI=e.C_PI=e.C_INFINITY=void 0,e.C_INFINITY=Number.POSITIVE_INFINITY,e.C_PI=Math.PI,e.C_2PI=2*e.C_PI,e.C_PI_BY_2=e.C_PI/2,e.C_RAD_TO_256=128/e.C_PI,e.C_256_TO_RAD=e.C_PI/128,e.C_DEG_TO_256=256/360,e.C_DEG_TO_RAD=e.C_PI/180,e.C_SQRT2=1.414213562,e.C_SQRT2_INV=1/e.C_SQRT2;var t=1/Math.LN2;function n(_,e){return(_%=e)>=0?_:_+e}e.positiveMod=n,e.radToByte=function(_){return n(_*e.C_RAD_TO_256,256)},e.degToByte=function(_){return n(_*e.C_DEG_TO_256,256)},e.log2=function(_){return Math.log(_)*t},e.sqr=function(_){return _*_},e.interpolate=function(_,e,t){return _*(1-t)+e*t},e.between=function(_,e,t){return _>=e&&_<=t||_>=t&&_<=e}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../Utils\",\"./WGLBrush\",\"../shaders/BackgroundPrograms\",\"../../../../webgl/programUtils\"],(function(t,e,r,o,s,a,i,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._color=o.vec4f32.fromValues(0,1,0,1),e}return r.__extends(e,t),e.prototype.dispose=function(){this._program&&this._program.dispose()},e.prototype.prepareState=function(t){var e=t.context;e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setFaceCullingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(7680,7680,7681),e.setStencilWriteMask(255),e.setStencilFunction(519,0,255)},e.prototype.draw=function(t,e){var r=t.context,o=t.state;this._program||(this._program=n.createProgram(r,i.background));var a=this._program,l=s.createProgramDescriptor(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:5122}]}),c=e.getVAO(r,o,l.attributes,l.bufferLayouts);r.bindProgram(this._program),a.setUniform2fv(\"u_coord_range\",[1,1]),a.setUniform4fv(\"u_color\",this._color),a.setUniformMatrix3fv(\"u_dvsMat3\",o.displayMat3),r.bindVAO(c),r.drawElements(4,c.indexBuffer.size,5125,0),r.bindVAO()},e}(a.default);e.default=l}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/maybe\",\"../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],(function(e,t,r,a,i,n,s,o,l,u){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WGLBrushVTLLine=t.C_DEG_TO_RAD=void 0,t.C_DEG_TO_RAD=Math.PI/180;var _=[1,1,1,1],f=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._color=n.vec4f32.create(),t._dashArray=i.vec2f32.create(),t._programOptions={id:!1,dd:!1,pattern:!1},t}return r.__extends(t,e),t.prototype.dispose=function(){},t.prototype.drawMany=function(e,t){var r=e.context,i=e.displayLevel,n=e.state,u=e.drawPhase,f=e.styleLayerId,d=e.styleLayer,c=e.painter.getVectorTileProgramCach(),h=d.getPaintValue(\"line-translate\",i),p=d.getPaintValue(\"line-translate-anchor\",i),v=d.getPaintValue(\"line-pattern\",i),m=void 0!==v,y=1/e.pixelRatio,g=d.getPaintValue(\"line-blur\",i),T=d.hasDataDrivenColor?_:d.getPaintValue(\"line-color\",i),U=d.hasDataDrivenOpacity?1:d.getPaintValue(\"line-opacity\",i),P=d.hasDataDrivenWidth?1:d.getPaintValue(\"line-width\",i),V=U*T[3];this._color[0]=V*T[0],this._color[1]=V*T[1],this._color[2]=V*T[2],this._color[3]=V;var D,b=d.hasDataDrivenLine,E=u===o.WGLDrawPhase.HITTEST;E&&(D=l.u32to4Xu8(f+1));var I=(E?1:0)<<2|(b?1:0)<<1|(m?1:0),L=this._programOptions;L.id=E,L.dd=b,L.pattern=m;var M=c.getProgram(3,I,L);if(r.bindProgram(M),M.setUniformMatrix3fv(\"u_displayViewMat3\",n.displayViewMat3),M.setUniformMatrix3fv(\"u_displayMat3\",1===p?n.displayMat3:n.displayViewMat3),M.setUniform2fv(\"u_lineTranslation\",h),M.setUniform1f(\"u_depth\",d.z),M.setUniform1f(\"u_blur\",g),M.setUniform1f(\"u_antialiasing\",y),M.setUniform4fv(\"u_color\",this._color),M.setUniform1f(\"u_width\",P),E&&M.setUniform4fv(\"u_id\",D),m){var x=e.spriteMosaic,R=x.getMosaicItemPosition(v,!0);R&&(x.bind(r,9729,R.page,s.VTL_TEXTURE_BINDING_UNIT_SPRITES),M.setUniform2f(\"u_pattern_tl\",R.tl[0],R.br[1]),M.setUniform2f(\"u_pattern_br\",R.br[0],R.tl[1]),M.setUniform2f(\"u_spriteSize\",8*R.size[0],R.size[1]),M.setUniform1i(\"u_texture\",s.VTL_TEXTURE_BINDING_UNIT_SPRITES))}else{var w=d.getPaintValue(\"line-dasharray\",i);w.length<2&&(w=[1,-1]);this._dashArray[0]=8*w[0],this._dashArray[1]=8*w[1],M.setUniform2fv(\"u_dasharray\",this._dashArray)}for(var A=0,S=t;A=1)){var y=function(e){return o.createProgramDescriptor(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:5121,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:5121},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:5121},{location:6,name:\"a_glyphData\",count:4,type:5121},{location:7,name:\"a_vertexOffset\",count:2,type:5122},{location:8,name:\"a_texCoords\",count:2,type:5123}]})}(v),S=y.bufferLayouts,_=y.attributes,M=s.materialManager.getMaterialProgram(e,v,\"materials/label\",_,n),z=this._getVAO(l,S,_,i);e.context.setStencilFunction(514,0,255),l.bindProgram(M),l.bindVAO(z),this._setSharedUniforms(M,e,t),s.textureManager.bindTextures(l,M,v);var U=1===c?u.displayViewMat3:u.displayMat3;if(v.vvSizeMinMaxValue&&M.setUniform4fv(\"u_vvSizeMinMaxValue\",f.vvSizeMinMaxValue),v.vvSizeScaleStops&&M.setUniform1f(\"u_vvSizeScaleStopsValue\",f.vvSizeScaleStopsValue),v.vvSizeFieldStops){var x=f.getSizeVVFieldStops(t.key.level);M.setUniform1fv(\"u_vvSizeFieldStopsValues\",x.values),M.setUniform1fv(\"u_vvSizeFieldStopsSizes\",x.sizes)}v.vvSizeUnitValue&&M.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",f.vvSizeUnitValueToPixelsRatio),M.setUniform1f(\"u_mapRotation\",Math.floor(u.rotation/360*254)),M.setUniform1f(\"u_mapAligned\",c),M.setUniformMatrix3fv(\"u_displayMat3\",U),M.setUniform1f(\"u_opacity\",1),M.setUniform1f(\"u_zoomLevel\",Math.round(10*e.displayLevel)),M.setUniform2fv(\"u_screenSize\",e.state.size),M.setUniform1f(\"u_isHalo\",1),l.drawElements(4,m,5125,Uint32Array.BYTES_PER_ELEMENT*d),M.setUniform1f(\"u_isHalo\",0),l.drawElements(4,m,5125,Uint32Array.BYTES_PER_ELEMENT*d),l.bindVAO(null),l.setStencilTestEnabled(!0),l.setBlendingEnabled(!0)}},t}(n.default);t.default=l}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],(function(e,t,i,a,o,n,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return a.WGLGeometryType.LINE},t.prototype.drawGeometry=function(e,t,i,a,n){var l=e.context,u=e.painter,s=e.rendererInfo,v=e.requiredLevel,c=i.indexFrom,f=i.indexCount,m=i.materialKey,p=r.LineMaterialKey.load(m),d=function(e){return o.createProgramDescriptor(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:5120},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:5123},{location:5,name:\"a_tlbr\",count:4,type:5123},{location:6,name:\"a_segmentDirection\",count:4,type:5120},{location:7,name:\"a_aux\",count:2,type:5123}]})}(p),y=d.bufferLayouts,_=d.attributes,S=u.materialManager.getMaterialProgram(e,p,\"materials/line\",_,n),U=this._getVAO(l,y,_,a),V=1/e.pixelRatio;l.bindProgram(S),l.bindVAO(U),this._setSharedUniforms(S,e,t),p.textureBinding&&u.textureManager.bindTextures(l,S,p);var z=Math.pow(2,v-t.key.level)/e.pixelRatio;if(S.setUniform1f(\"u_zoomFactor\",z),S.setUniform1f(\"u_blur\",0+V),S.setUniform1f(\"u_antialiasing\",V),p.vvSizeMinMaxValue&&S.setUniform4fv(\"u_vvSizeMinMaxValue\",s.vvSizeMinMaxValue),p.vvSizeScaleStops&&S.setUniform1f(\"u_vvSizeScaleStopsValue\",s.vvSizeScaleStopsValue),p.vvSizeFieldStops){var x=s.getSizeVVFieldStops(t.key.level);S.setUniform1fv(\"u_vvSizeFieldStopsValues\",x.values),S.setUniform1fv(\"u_vvSizeFieldStopsSizes\",x.sizes)}p.vvSizeUnitValue&&S.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",s.vvSizeUnitValueToPixelsRatio),p.vvColor&&(S.setUniform1fv(\"u_vvColorValues\",s.vvColorValues),S.setUniform4fv(\"u_vvColors\",s.vvColors)),p.vvOpacity&&(S.setUniform1fv(\"u_vvOpacityValues\",s.vvOpacityValues),S.setUniform1fv(\"u_vvOpacities\",s.vvOpacities)),l.setFaceCullingEnabled(!0),l.setFrontFace(2305),l.setCullFace(1029),l.drawElements(4,f,5125,Uint32Array.BYTES_PER_ELEMENT*c),l.setFaceCullingEnabled(!1),l.bindVAO(null)},t}(n.default);t.default=l}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\",\"./shaderRepository\"],(function(e,r,n,o){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.resolveIncludes=void 0;var t=new n.ShaderCompiler((function(e){var r=o.default;return e.split(\"/\").forEach((function(e){r&&(r=r[e])})),r}));r.resolveIncludes=function(e){return t.resolveIncludes(e)}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"./webgl/brushes/BrushBitmap\",\"./webgl/brushes/BrushClip\",\"./webgl/brushes/WGLBrushInfo\",\"./webgl/brushes/WGLBrushStencil\",\"./webgl/brushes/WGLBrushVTLBackground\",\"./webgl/brushes/WGLBrushVTLCircle\",\"./webgl/brushes/WGLBrushVTLFill\",\"./webgl/brushes/WGLBrushVTLLine\",\"./webgl/brushes/WGLBrushVTLSymbol\",\"./webgl/brushes/WGLGeometryBrushFill\",\"./webgl/brushes/WGLGeometryBrushLabel\",\"./webgl/brushes/WGLGeometryBrushLine\",\"./webgl/brushes/WGLGeometryBrushMarker\",\"./webgl/brushes/WGLGeometryBrushText\",\"./webgl/brushes/raster/BrushRasterBitmap\"],(function(e,r,l,s,u,t,h,L,b,B,i,G,a,o,W,g,n){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.vtlBrushes=r.brushes=void 0,r.brushes={marker:W.default,line:o.default,fill:G.default,text:g.default,label:a.default,clip:s.default,stencil:t.default,bitmap:l.default,raster:n.default,tileInfo:u.default,vtlBackground:h.WGLBrushVTLBackground,vtlFill:b.WGLBrushVTLFill,vtlLine:B.WGLBrushVTLLine,vtlCircle:L.WGLBrushVTLCircle,vtlSymbol:i.WGLBrushVTLSymbol},r.vtlBrushes={vtlBackground:h.WGLBrushVTLBackground,vtlFill:b.WGLBrushVTLFill,vtlLine:B.WGLBrushVTLLine,vtlCircle:L.WGLBrushVTLCircle,vtlSymbol:i.WGLBrushVTLSymbol}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/maybe\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../enums\",\"../number\",\"./WGLBrush\"],(function(r,e,t,a,i,o,s,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WGLBrushVTLCircle=void 0;var l=[1,1,1,1],c=function(r){function e(){var e=null!==r&&r.apply(this,arguments)||this;return e._color=i.vec4f32.create(),e._strokeColor=i.vec4f32.create(),e._programOptions={id:!1},e}return t.__extends(e,r),e.prototype.dispose=function(){},e.prototype.drawMany=function(r,e){var t=r.context,i=r.state,n=r.drawPhase,c=r.styleLayerId,u=r.displayLevel,f=r.styleLayer,d=r.painter.getVectorTileProgramCach(),h=f.hasDataDrivenRadius?1:f.getPaintValue(\"circle-radius\",u),_=f.hasDataDrivenColor?l:f.getPaintValue(\"circle-color\",u),v=f.hasDataDrivenOpacity?1:f.getPaintValue(\"circle-opacity\",u),p=f.hasDataDrivenStrokeWidth?1:f.getPaintValue(\"circle-stroke-width\",u),m=f.hasDataDrivenStrokeColor?l:f.getPaintValue(\"circle-stroke-color\",u),y=f.hasDataDrivenStrokeOpacity?1:f.getPaintValue(\"circle-stroke-opacity\",u),g=f.hasDataDrivenBlur?0:f.getPaintValue(\"circle-blur\",u),D=v*_[3];this._color[0]=D*_[0],this._color[1]=D*_[1],this._color[2]=D*_[2],this._color[3]=D,D=y*m[3],this._strokeColor[0]=D*m[0],this._strokeColor[1]=D*m[1],this._strokeColor[2]=D*m[2],this._strokeColor[3]=D;var P=f.getPaintValue(\"circle-translate\",u),V=f.getPaintValue(\"circle-translate-anchor\",u),k=n===o.WGLDrawPhase.HITTEST,C=k?1:0,U=this._programOptions;U.id=k;var b=d.getProgram(5,C,U);if(t.bindProgram(b),b.setUniformMatrix3fv(\"u_displayMat3\",1===V?i.displayMat3:i.displayViewMat3),b.setUniform2fv(\"u_circleTranslation\",P),b.setUniform1f(\"u_depth\",f.z),b.setUniform1f(\"u_radius\",h),b.setUniform4fv(\"u_color\",this._color),b.setUniform1f(\"u_blur\",g),b.setUniform1f(\"u_stroke_width\",p),b.setUniform4fv(\"u_stroke_color\",this._strokeColor),b.setUniform1f(\"u_antialiasingWidth\",1.2),k){var x=s.u32to4Xu8(c+1);b.setUniform4fv(\"u_id\",x)}for(var L=0,M=e;L1.05||r<.95;return n.rotation||o||a||t.isSourceScaled||t.rotation?s.bilinear:s.nearest}return s[i.samplingMode]}(e,t,a),u=o.materialManager.getProgram(e,this._desc,d.defines);t.updateTexture(e),t.setSamplingProfile(d),t.bind(e,n.TEXTURE_BINDING_BITMAP),i.bindProgram(u),u.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),u.setUniform1i(\"u_texture\",n.TEXTURE_BINDING_BITMAP),u.setUniform2fv(\"u_coordScale\",t.coordScale),this._quad.draw(),e.timeline.end(this.name)}},t}(a.default);t.default=o}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../webgl\",\"./sources/resolver\"],(function(e,r,n,t){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.text=r.line=r.icon=r.outline=r.fill=r.circle=r.background=void 0;var a=function(e){return n.glslifyDefineMap({ID:e.id,PATTERN:e.pattern})};r.background={name:\"background\",shaders:function(e){return{vertexShader:a(e)+t.resolveIncludes(\"background/background.vert\"),fragmentShader:a(e)+t.resolveIncludes(\"background/background.frag\")}},attributes:{a_pos:0}};var l=function(e){return n.glslifyDefineMap({ID:e.id})};r.circle={name:\"circle\",shaders:function(e){return{vertexShader:l(e)+t.resolveIncludes(\"circle/circle.vert\"),fragmentShader:l(e)+t.resolveIncludes(\"circle/circle.frag\")}},attributes:{a_pos:0,a_color:1,a_stroke_color:2,a_data:3}};var i=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,PATTERN:e.pattern})};r.fill={name:\"fill\",shaders:function(e){return{vertexShader:i(e)+t.resolveIncludes(\"fill/fill.vert\"),fragmentShader:i(e)+t.resolveIncludes(\"fill/fill.frag\")}},attributes:{a_pos:0,a_color:1}};var o=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd})};r.outline={name:\"outline\",shaders:function(e){return{vertexShader:o(e)+t.resolveIncludes(\"outline/outline.vert\"),fragmentShader:o(e)+t.resolveIncludes(\"outline/outline.frag\")}},attributes:{a_pos:0,a_offset:1,a_xnormal:2,a_color:3}};var s=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,SDF:e.sdf})};r.icon={name:\"icon\",shaders:function(e){return{vertexShader:s(e)+t.resolveIncludes(\"icon/icon.vert\"),fragmentShader:s(e)+t.resolveIncludes(\"icon/icon.frag\")}},attributes:{a_pos:0,a_vertexOffset:1,a_texAngleRange:2,a_levelInfo:3,a_color:4,a_size:5,a_opacityInfo:6}};var c=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd,PATTERN:e.pattern})};r.line={name:\"line\",shaders:function(e){return{vertexShader:c(e)+t.resolveIncludes(\"line/line.vert\"),fragmentShader:c(e)+t.resolveIncludes(\"line/line.frag\")}},attributes:{a_pos:0,a_offsetAndNormal:1,a_accumulatedDistance:2,a_color:3,a_width:4}};var u=function(e){return n.glslifyDefineMap({ID:e.id,DD:e.dd})};r.text={name:\"text\",shaders:function(e){return{vertexShader:u(e)+t.resolveIncludes(\"text/text.vert\"),fragmentShader:u(e)+t.resolveIncludes(\"text/text.frag\")}},attributes:{a_pos:0,a_vertexOffset:1,a_texAngleRange:2,a_levelInfo:3,a_color:4,a_size:5,a_opacityInfo:6}}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/libs/gl-matrix-2/mat3f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"../../vectorTiles/shaders/Programs\",\"../definitions\",\"../enums\",\"../number\",\"./WGLBrush\"],(function(t,r,e,o,i,a,s,n,_,u,c){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.WGLBrushVTLBackground=void 0;var f=function(t){function r(){var r=null!==t&&t.apply(this,arguments)||this;return r._color=i.vec4f32.fromValues(1,0,0,1),r._patternMatrix=o.mat3f32.create(),r._programOptions={id:!1,pattern:!1},r}return e.__extends(r,t),r.prototype.dispose=function(){this._program&&(this._program.dispose(),this._program=null),this._vao&&(this._vao.dispose(),this._vao=null)},r.prototype.drawMany=function(t,r){var e=t.context,o=t.styleLayerId;this._loadWGLResources(e);var i,a=t.displayLevel,s=t.styleLayer,c=t.painter.getVectorTileProgramCach(),f=s.getPaintValue(\"background-color\",a),l=s.getPaintValue(\"background-opacity\",a),d=s.getPaintValue(\"background-pattern\",a),p=void 0!==d,m=f[3]*l,h=1|window.devicePixelRatio,g=t.spriteMosaic,v=h>n.VTL_HIGH_RES_CUTOFF?2:1,b=t.drawPhase===_.WGLDrawPhase.HITTEST,y=(b?1:0)<<1|(p?1:0),T=this._programOptions;T.id=b,T.pattern=p;var x=c.getProgram(0,y,T);if(e.bindVAO(this._vao),e.bindProgram(x),p){if(!(i=g.getMosaicItemPosition(d,!0)))return;x.setUniform1f(\"u_opacity\",l),x.setUniform2f(\"u_pattern_tl\",i.tl[0],i.tl[1]),x.setUniform2f(\"u_pattern_br\",i.br[0],i.br[1]),x.setUniform1i(\"u_texture\",n.VTL_TEXTURE_BINDING_UNIT_SPRITES),g.bind(e,9729,i.page,n.VTL_TEXTURE_BINDING_UNIT_SPRITES)}else this._color[0]=m*f[0],this._color[1]=m*f[1],this._color[2]=m*f[2],this._color[3]=m,x.setUniform4fv(\"u_color\",this._color);if(x.setUniform1f(\"u_depth\",s.z||0),b){var P=u.u32to4Xu8(o+1);x.setUniform4fv(\"u_id\",P)}for(var U=0,L=r;U0?t+\"-\"+s.join(\"-\"):t;if(this._rendererUniformInfos.has(i))return this._rendererUniformInfos.get(i);var o=a.getUniformLocationInfos(e,r);return this._rendererUniformInfos.set(i,o),o},e.prototype.getShaderVariations=function(t){var e=[];return\"cubic\"===t.interpolation&&e.push(\"bicubic\"),t.symbolizerParameters.colormap&&e.push(\"applyColormap\"),t.transformGrid&&e.push(\"applyProjection\"),e},e}(i.default);e.default=o}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../../../webgl\",\"./WGLBrush\",\"../shaders/BackgroundPrograms\"],(function(e,t,r,i,s,o,a){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._color=i.vec4f32.fromValues(1,0,0,1),t._initialized=!1,t}return r.__extends(t,e),t.prototype.dispose=function(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)},t.prototype.prepareState=function(e,t){var r=e.context;r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(7680,7680,7681),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(1032,516,t.stencilRef,255)},t.prototype.draw=function(e,t){var r=e.context;this._initialized||this._initialize(r),r.bindVAO(this._solidVertexArrayObject),r.bindProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",t.coordRange),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),r.drawArrays(5,0,4),r.bindVAO()},t.prototype._initialize=function(e){if(this._initialized)return!0;var t=s.createProgram(e,a.background);if(!t)return!1;var r=new Int8Array([0,0,1,0,0,1,1,1]),i=s.BufferObject.createVertex(e,35044,r),o=new s.VertexArrayObject(e,a.background.attributes,{geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},{geometry:i});return this._solidProgram=t,this._solidVertexArrayObject=o,this._initialized=!0,!0},t}(o.default);t.default=n}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/maybe\",\"../../../../../core/libs/gl-matrix-2/vec2f32\",\"../../../../../core/libs/gl-matrix-2/vec4f32\",\"../../vectorTiles/decluttering/config\",\"../definitions\",\"../enums\",\"../GeometryUtils\",\"../number\",\"./WGLBrush\"],(function(e,t,a,i,r,o,n,s,l,f,u,c){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.WGLBrushVTLSymbol=void 0;var _=[1,1,1,1],d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._iconProgramOptions={id:!1,dd:!1,sdf:!1},t._sdfProgramOptions={id:!1,dd:!1},t._spritesTextureSize=r.vec2f32.create(),t._haloColor=o.vec4f32.create(),t._sdfColor=o.vec4f32.create(),t._color=o.vec4f32.create(),t}return a.__extends(t,e),t.prototype.dispose=function(){},t.prototype.drawMany=function(e,t){var a,i=e.drawPhase,r=e.styleLayerId,o=e.styleLayer;i===l.WGLDrawPhase.HITTEST&&(a=u.u32to4Xu8(r+1)),this._drawIcons(e,o,t,a),this._drawText(e,o,t,a)},t.prototype._drawIcons=function(e,t,a,r){for(var o,u=this,c=e.context,d=e.displayLevel,h=e.drawPhase,p=e.painter,m=e.state,g=e.styleLayerId,y=!1,v=0,U=a;v0){y=!0;break}}if(y){var T=t.hasDataDrivenIconSize?1:t.getLayoutValue(\"icon-size\",d),P=t.hasDataDrivenIconColor?_:t.getPaintValue(\"icon-color\",d),x=t.hasDataDrivenIconOpacity?1:t.getPaintValue(\"icon-opacity\",d),E=t.getPaintValue(\"icon-translate\",d),D=t.getPaintValue(\"icon-translate-anchor\",d),V=p.getVectorTileProgramCach(),M=P[3]*x;this._color[0]=M*P[0],this._color[1]=M*P[1],this._color[2]=M*P[2],this._color[3]=M;var I=t.getLayoutValue(\"icon-rotation-alignment\",d);2===I&&(I=1===t.getLayoutValue(\"symbol-placement\",d)?0:1);var S=o.isIconSDF,L=t.hasDataDrivenIcon,w=h===l.WGLDrawPhase.HITTEST,b=(w?1:0)<<2|(L?1:0)<<1|(S?1:0),z=this._iconProgramOptions;z.id=w,z.dd=L,z.sdf=S;var C=V.getProgram(4,b,z);if(c.bindProgram(C),S){var R=t.getPaintValue(\"icon-halo-color\",d),N=t.getPaintValue(\"icon-halo-width\",d);C.setUniform4f(\"u_outlineColor\",R[0],R[1],R[2],R[3]),C.setUniform1f(\"u_outlineSize\",N)}C.setUniformMatrix3fv(\"u_displayViewMat3\",0===I?m.displayViewMat3:m.displayMat3),C.setUniformMatrix3fv(\"u_displayMat3\",1===D?m.displayMat3:m.displayViewMat3),C.setUniform2fv(\"u_iconTranslation\",E),C.setUniform1f(\"u_depth\",t.z),C.setUniform1f(\"u_mapRotation\",f.degToByte(m.rotation)),C.setUniform1f(\"u_keepUpright\",0),C.setUniform1f(\"u_level\",10*d),C.setUniform1i(\"u_texture\",s.VTL_TEXTURE_BINDING_UNIT_SPRITES),C.setUniform1f(\"u_size\",T),C.setUniform4fv(\"u_color\",this._color),C.setUniform1f(\"u_opacity\",1),C.setUniform1f(\"u_fadeDuration\",n.FADE_DURATION/1e3),w&&C.setUniform4fv(\"u_id\",r);for(var O=function(t){if(!t.layerData[g])return\"continue\";if(0===(o=t.layerData[g]).iconPerPageElementsMap.size)return\"continue\";o.prepareForRendering(c,V),o.updateOpacityInfo();var a=o.iconVertexArrayObject;if(i.isNone(a))return\"continue\";c.bindVAO(a),C.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),C.setUniform1f(\"u_time\",(performance.now()-o.lastOpacityUpdate)/1e3),o.iconPerPageElementsMap.forEach((function(a,i){u._renderIconRange(e,C,a,i,t)}))},G=0,B=a;G0){T=!0;break}}if(T){var E=t.getLayoutValue(\"text-rotation-alignment\",h);2===E&&(E=1===t.getLayoutValue(\"symbol-placement\",h)?0:1);var D=0===E,V=t.getLayoutValue(\"text-keep-upright\",h)&&D,M=p===l.WGLDrawPhase.HITTEST,I=.8*3/y,S=t.hasDataDrivenTextSize?1:t.getLayoutValue(\"text-size\",h),L=t.hasDataDrivenTextColor?_:t.getPaintValue(\"text-color\",h),w=t.hasDataDrivenTextOpacity?1:t.getPaintValue(\"text-opacity\",h),b=t.getPaintValue(\"text-halo-color\",h),z=t.getPaintValue(\"text-halo-width\",h),C=3*t.getPaintValue(\"text-halo-blur\",h),R=3*z,N=g.getVectorTileProgramCach(),O=L[3]*w;this._sdfColor[0]=O*L[0],this._sdfColor[1]=O*L[1],this._sdfColor[2]=O*L[2],this._sdfColor[3]=O;var G=b[3]*w;this._haloColor[0]=G*b[0],this._haloColor[1]=G*b[1],this._haloColor[2]=G*b[2],this._haloColor[3]=G,this._glyphTextureSize||(this._glyphTextureSize=r.vec2f32.fromValues(m.width/4,m.height/4));var B=t.getPaintValue(\"text-translate\",h),A=t.getPaintValue(\"text-translate-anchor\",h),W=t.hasDataDrivenText,k=(M?1:0)<<1|(W?1:0),F=this._sdfProgramOptions;F.id=M,F.dd=W;var H=N.getProgram(6,k,F);d.bindProgram(H),H.setUniformMatrix3fv(\"u_displayViewMat3\",0===E?v.displayViewMat3:v.displayMat3),H.setUniformMatrix3fv(\"u_displayMat3\",1===A?v.displayMat3:v.displayViewMat3),H.setUniform2fv(\"u_textTranslation\",B),H.setUniform1f(\"u_depth\",t.z+1/65536),H.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),H.setUniform1f(\"u_mapRotation\",f.degToByte(v.rotation)),H.setUniform1f(\"u_keepUpright\",V?1:0),H.setUniform1f(\"u_level\",10*h),H.setUniform1i(\"u_texture\",s.VTL_TEXTURE_BINDING_UNIT_GLYPHS),H.setUniform1f(\"u_size\",S),H.setUniform1f(\"u_antialiasingWidth\",I),H.setUniform1f(\"u_opacity\",1),H.setUniform1f(\"u_fadeDuration\",n.FADE_DURATION/1e3),M&&H.setUniform4fv(\"u_id\",o);for(var X=function(e){if(!e.layerData[U])return\"continue\";if(0===(u=e.layerData[U]).glyphPerPageElementsMap.size)return\"continue\";u.prepareForRendering(d,N),u.updateOpacityInfo();var t=u.textVertexArrayObject;if(i.isNone(t))return\"continue\";d.bindVAO(t),H.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(516,255,255),d.setStencilWriteMask(0);var a=(performance.now()-u.lastOpacityUpdate)/1e3;H.setUniform1f(\"u_time\",a),u.glyphPerPageElementsMap.forEach((function(t,a){c._renderGlyphRange(d,t,a,m,H,b[3],z,C,R,e)}))},Y=0,j=a;Y0&&n>0&&(r.setUniform4fv(\"u_color\",this._haloColor),r.setUniform1f(\"u_halo\",1),r.setUniform1f(\"u_edgeDistance\",f),r.setUniform1f(\"u_edgeBlur\",l),e.drawElements(4,t[1],5125,Uint32Array.BYTES_PER_ELEMENT*t[0]),u.triangleCount+=t[1]/3),this._sdfColor[3]>0&&(r.setUniform4fv(\"u_color\",this._sdfColor),r.setUniform1f(\"u_halo\",0),r.setUniform1f(\"u_edgeDistance\",0),r.setUniform1f(\"u_edgeBlur\",0),e.drawElements(4,t[1],5125,Uint32Array.BYTES_PER_ELEMENT*t[0]),u.triangleCount+=t[1]/3)},t}(c.default);t.WGLBrushVTLSymbol=d}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],(function(e,t,i,a,o,n,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.__extends(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return a.WGLGeometryType.MARKER},t.prototype.drawGeometry=function(e,t,i,a,n){var v=e.context,l=e.painter,s=e.rendererInfo,u=e.state,p=i.indexCount,f=i.indexFrom,c=i.materialKey,m=r.MarkerMaterialKey.load(c),d=function(e){return o.createProgramDescriptor(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_vertexOffset\",count:2,type:5122},{location:2,name:\"a_texCoords\",count:2,type:5123},{location:3,name:\"a_bitSetAndDistRatio\",count:4,type:5121},{location:4,name:\"a_id\",count:4,type:5121},{location:5,name:\"a_color\",count:4,type:5121,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:5121,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:5121}]})}(m),y=d.bufferLayouts,S=d.attributes,_=l.materialManager.getMaterialProgram(e,m,\"materials/icon\",S,n),M=this._getVAO(v,y,S,a);v.bindProgram(_),v.bindVAO(M),m.textureBinding&&l.textureManager.bindTextures(v,_,m),this._setSharedUniforms(_,e,t);var V=m.vvRotation?u.displayViewMat3:u.displayMat3;if(_.setUniformMatrix3fv(\"u_displayMat3\",V),m.vvSizeMinMaxValue&&_.setUniform4fv(\"u_vvSizeMinMaxValue\",s.vvSizeMinMaxValue),m.vvSizeScaleStops&&_.setUniform1f(\"u_vvSizeScaleStopsValue\",s.vvSizeScaleStopsValue),m.vvSizeFieldStops){var z=s.getSizeVVFieldStops(t.key.level);_.setUniform1fv(\"u_vvSizeFieldStopsValues\",z.values),_.setUniform1fv(\"u_vvSizeFieldStopsSizes\",z.sizes)}m.vvSizeUnitValue&&_.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",s.vvSizeUnitValueToPixelsRatio),m.vvColor&&(_.setUniform1fv(\"u_vvColorValues\",s.vvColorValues),_.setUniform4fv(\"u_vvColors\",s.vvColors)),m.vvOpacity&&(_.setUniform1fv(\"u_vvOpacityValues\",s.vvOpacityValues),_.setUniform1fv(\"u_vvOpacities\",s.vvOpacities)),m.vvRotation&&_.setUniform1f(\"u_vvRotationType\",\"geographic\"===s.vvMaterialParameters.vvRotationType?0:1),v.drawElements(4,p,5125,Uint32Array.BYTES_PER_ELEMENT*f),v.bindVAO(null)},t}(n.default);t.default=v}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],(function(e,t,a,i,o,r,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a.__extends(t,e),t.prototype.dispose=function(){},t.prototype.getGeometryType=function(){return i.WGLGeometryType.TEXT},t.prototype.drawGeometry=function(e,t,a,i,r){var l=e.context,s=e.painter,v=e.rendererInfo,u=e.state,f=a.indexCount,p=a.indexFrom,m=a.materialKey,c=n.TextMaterialKey.load(m),y=function(e){return o.createProgramDescriptor(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:5121,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:5121},{location:5,name:\"a_aux\",count:4,type:5120},{location:6,name:\"a_vertexOffset\",count:2,type:5122},{location:7,name:\"a_texCoords\",count:2,type:5123}]})}(c),d=y.bufferLayouts,_=y.attributes,S=s.materialManager.getMaterialProgram(e,c,\"materials/text\",_,r),M=this._getVAO(l,d,_,i);if(l.bindProgram(S),l.bindVAO(M),this._setSharedUniforms(S,e,t),s.textureManager.bindTextures(l,S,c),S.setUniformMatrix3fv(\"u_displayMat3\",u.displayMat3),S.setUniformMatrix3fv(\"u_displayViewMat3\",u.displayViewMat3),c.vvSizeMinMaxValue&&S.setUniform4fv(\"u_vvSizeMinMaxValue\",v.vvSizeMinMaxValue),c.vvSizeScaleStops&&S.setUniform1f(\"u_vvSizeScaleStopsValue\",v.vvSizeScaleStopsValue),c.vvSizeFieldStops){var U=v.getSizeVVFieldStops(t.key.level);S.setUniform1fv(\"u_vvSizeFieldStopsValues\",U.values),S.setUniform1fv(\"u_vvSizeFieldStopsSizes\",U.sizes)}c.vvSizeUnitValue&&S.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",v.vvSizeUnitValueToPixelsRatio),c.vvColor&&(S.setUniform1fv(\"u_vvColorValues\",v.vvColorValues),S.setUniform4fv(\"u_vvColors\",v.vvColors)),c.vvOpacity&&(S.setUniform1fv(\"u_vvOpacityValues\",v.vvOpacityValues),S.setUniform1fv(\"u_vvOpacities\",v.vvOpacities)),c.vvRotation&&S.setUniform1f(\"u_vvRotationType\",\"geographic\"===v.vvMaterialParameters.vvRotationType?0:1),S.setUniform1f(\"u_isHalo\",1),l.drawElements(4,f,5125,Uint32Array.BYTES_PER_ELEMENT*p),S.setUniform1f(\"u_isHalo\",0),l.drawElements(4,f,5125,Uint32Array.BYTES_PER_ELEMENT*p),l.bindVAO(null)},t}(r.default);t.default=l}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\"],(function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=function(){function t(){this.name=this.constructor.name||\"UnnamedBrush\"}return t.prototype.prepareState=function(t,e,r){},t.prototype.draw=function(t,e,r){},t.prototype.drawMany=function(t,e,r){for(var n=0,o=e;n0&&(i+=\", \"+r);var n=this._canvas,a=n.getContext(\"2d\");return a.font=\"24px sans-serif\",a.textAlign=\"left\",a.textBaseline=\"top\",a.clearRect(0,0,300,32),r>1e5?(a.fillStyle=\"red\",a.fillRect(0,0,300,32),a.fillStyle=\"black\"):(a.clearRect(0,0,300,32),a.fillStyle=\"blue\"),a.fillText(i,0,0),e.texture=new o.Texture(t,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071},n),e.texture},e}(n.default);e.default=l}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"../../../../../webgl\",\"./shaderRepository\"],(function(e,r,n,o){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.resolveIncludes=void 0;var t=new n.ShaderCompiler((function(e){var r=o.default;return e.split(\"/\").forEach((function(e){r&&(r=r[e])})),r}));r.resolveIncludes=function(e){return t.resolveIncludes(e)}}));","// COPYRIGHT © 2020 Esri\n//\n// All rights reserved under the copyright laws of the United States\n// and applicable international laws, treaties, and conventions.\n//\n// This material is licensed for use under the Esri Master License\n// Agreement (MLA), and is bound by the terms of that agreement.\n// You may redistribute and use this code without modification,\n// provided you adhere to the terms of the MLA and include this\n// copyright notice.\n//\n// See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english\n//\n// For additional information, contact:\n// Environmental Systems Research Institute, Inc.\n// Attn: Contracts and Legal Services Department\n// 380 New York Street\n// Redlands, California, USA 92373\n// USA\n//\n// email: contracts@esri.com\n//\n// See http://js.arcgis.com/4.17/esri/copyright.txt for details.\n\ndefine([\"require\",\"exports\",\"tslib\",\"../../../../../core/RandomLCG\",\"../../../../webgl\",\"../definitions\",\"../enums\",\"../Utils\",\"./WGLGeometryBrush\",\"../materialKey/MaterialKey\"],(function(e,t,o,r,i,a,n,s,u,l){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var d=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._dotTextureSize=0,t._dotTextures=null,t._dotSamplers=new Int32Array([a.TEXTURE_BINDING_RENDERER_0,a.TEXTURE_BINDING_RENDERER_1]),t}return o.__extends(t,e),t.prototype.dispose=function(){this._disposeTextures()},t.prototype.getGeometryType=function(){return n.WGLGeometryType.FILL},t.prototype.drawGeometry=function(e,t,r,i,n){var u=e.context,d=e.painter,_=e.rendererInfo,c=e.requiredLevel,p=r.indexCount,f=r.indexFrom,v=r.materialKey,y=l.FillMaterialKey.load(v),m=function(e){return s.createProgramDescriptor(e.data,{geometry:o.__spreadArrays([{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121}],e.dotDensity?[]:[{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_tlbr\",count:4,type:5123},{location:4,name:\"a_aux1\",count:4,type:5121},{location:5,name:\"a_aux2\",count:2,type:5123},{location:6,name:\"a_aux3\",count:4,type:5121}],e.dotDensity?[{location:2,name:\"a_inverseArea\",count:1,type:5126}]:[])})}(y),x=m.bufferLayouts,T=m.attributes,h=d.materialManager.getMaterialProgram(e,y,\"materials/fill\",T,n),D=this._getVAO(u,x,T,i);if(u.bindProgram(h),u.bindVAO(D),this._setSharedUniforms(h,e,t),y.textureBinding){d.textureManager.bindTextures(u,h,y);var E=1/Math.pow(2,c-t.key.level)/e.pixelRatio;h.setUniform1f(\"u_zoomFactor\",E)}if(y.vvColor&&(h.setUniform1fv(\"u_vvColorValues\",_.vvColorValues),h.setUniform4fv(\"u_vvColors\",_.vvColors)),y.vvOpacity&&(h.setUniform1fv(\"u_vvOpacityValues\",_.vvOpacityValues),h.setUniform1fv(\"u_vvOpacities\",_.vvOpacities)),y.dotDensity){var g=a.TILE_SIZE/_.ddDotSize,w=g*window.devicePixelRatio*g*window.devicePixelRatio,U=1/(E=1/Math.pow(2,c-t.key.level))*(1/E),R=_.ddDotScale?e.state.scale/_.ddDotScale:1;h.setUniform1f(\"u_tileZoomFactor\",E),h.setUniform1f(\"u_tileDotsOverArea\",w/(a.TILE_SIZE*window.devicePixelRatio*a.TILE_SIZE*window.devicePixelRatio)),h.setUniformMatrix4fv(\"u_dotColors\",_.ddColors),h.setUniform4fv(\"u_isActive\",_.ddActiveDots),h.setUniform4fv(\"u_dotBackgroundColor\",_.ddBackgroundColor),h.setUniform1f(\"u_dotValue\",Math.max(1,_.ddDotValue*R*U)),this._bindDotDensityTextures(u,h,_,g)}u.drawElements(4,p,5125,Uint32Array.BYTES_PER_ELEMENT*f),u.bindVAO(null)},t.prototype._disposeTextures=function(){if(this._dotTextures){for(var e=0;e