{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/BitmapContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushRasterBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushOverlay.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushDotDensity.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushVectorField.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/chunks/vec4f32.js","webpack:///./node_modules/@arcgis/core/views/webgl/ProgramTemplate.js","webpack:///./node_modules/@arcgis/core/views/layers/RefreshableLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/ImageryBitmapSource.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/testUtils.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/chunks/earcut.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/BaseDynamicLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/viewStateUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/ExportStrategy.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/@arcgis/core/views/webgl/rasterUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/Bitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/decluttering/config.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/style/StyleDefinition.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js"],"names":["Number","POSITIVE_INFINITY","t","Math","PI","o","c","N","LN2","a","n","h","M","P","log","g","r","e","shaders","vertexShader","fragmentShader","attributes","Map","s","this","children","some","blendFunction","prepareRenderPasses","registerRenderPass","name","brushes","bitmap","target","drawPhase","MAP","super","geometry","BYTE","m","UNSIGNED_SHORT","constructor","arguments","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","i","EQUAL","stencilRef","draw","suspended","timeline","painter","requestRender","begin","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","l","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","d","f","isCompiled","_","transformGrid","width","b","height","opacity","S","w","useProgram","x","y","_getUniformInfos","names","textures","U","getTextures","j","u","I","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","p","length","join","has","get","set","interpolation","push","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","state","resolution","pixelRatio","round","rotation","isSourceScaled","renderingOptions","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","location","count","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","getVAO","bufferLayouts","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","TRIANGLES","size","UNSIGNED_INT","FLOAT","tex","GREATER","isReady","dvsMat3","isWrapAround","texture","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","v","load","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","key","level","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","map","findIndex","strides","max","divisor","normalized","offset","stride","UNSIGNED_BYTE","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","E","data","T","hittestAttributes","programSpec","L","POINTS","G","O","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","D","R","indexCount","indexFrom","Uint32Array","BYTES_PER_ELEMENT","_drawFills","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","rendererSchema","_createDotDensityMesh","dotSize","window","devicePixelRatio","getViewport","dotScale","colors","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","clear","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","TEXTURE_2D","pixelFormat","RGBA","dataType","wrapMode","CLAMP_TO_EDGE","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","createVertex","STATIC_DRAW","F","_seed","_allocDotDensityTexture","Float32Array","getFloat","REPEAT","MARKER","HEATMAP","PIE_CHART","A","_drawMarkers","getLogger","_accumulateOutputTexture","_accumulateFramebuffer","_resolveGradientTexture","_tileQuad","_loadQualityProfile","_prepareAccumulatePass","_drawResolvePass","referenceScale","radius","isFieldActive","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","WEBGL2","shadingRate","RED","R32F","R16F","gradientHash","gradient","_prevGradientHash","resize","setData","_qualityProfile","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","error","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","HITTEST","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","forEach","_renderGlyphRange","LABEL","mapAligned","abs","floor","LINE","TEXT","marker","line","fill","text","label","clip","stencil","overlay","raster","rasterVF","flow","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","heatmap","pieChart","beaufort_ft","beaufort_m","beaufort_km","beaufort_mi","beaufort_kn","classified_arrow","ocean_current_m","ocean_current_kn","single_arrow","wind_speed","magdir","scalar","validPixelCount","updateVectorFieldVAO","vaoData","_drawScalars","vao","elementCount","_drawTriangles","dataRange","rotationType","style","symbolPercentRange","_getSymbolSize","symbolTileSize","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","slice","Object","freeze","defineProperty","__proto__","create","clone","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","value","initialize","handles","add","layer","doRefresh","dataChanged","catch","declaredClass","prototype","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","Uint16Array","_count","unbind","pixelBlock","extent","originalPixelBlock","render","filter","getAsRGBA","createImageData","putImageData","getRenderedRasterPixels","renderedRasterPixels","Uint8Array","buffer","enableCache","exports","replace","column","q","X","test","indexOf","concat","match","toString","parseInt","VERTEX_SHADER","trim","FRAGMENT_SHADER","_context","_locations","_uniformBlockBindings","_refCount","_compiled","_nameToUniformLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","console","_vShader","_fShader","instanceCounter","increment","Shader","_glName","createProgram","attachShader","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getError","getShaderParameter","COMPILE_STATUS","getProgramInfoLog","getUniformBlockIndex","uniformBlockBinding","Program","getExtension","glName","COMPLETION_STATUS_KHR","deleteShader","decrement","deleteProgram","ref","_getUniformLocation","numUniforms","getUniformLocation","hasUniform","uniform1i","uniform1iv","setUniform2iv","uniform2iv","setUniform3iv","uniform3iv","setUniform4iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","setUniform3f","uniform3f","setUniform3fv","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","stop","createShader","shaderSource","compileShader","getShaderInfoLog","enabled","compiledLOC","Array","from","next","prev","Z","steiner","prevZ","nextZ","sort","min","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","xmin","ymin","xmax","ymax","fromPolygon","fromMapExtent","fromRect","toScreen","destroy","vertexBuffers","getIndexBuffer","createIndex","getVertexBuffers","keys","reduce","parseFloat","_clip","stage","_handle","version","_invalidate","ready","_destroyGL","mesh","remove","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","doRender","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","DEBUG","setTransform","onAttach","onDetach","items","fromClipArea","update","strategy","notifyChange","attach","_bitmapContainer","container","addChild","fetchSource","fetchBitmapData","requestUpdate","detach","removeChild","removeAllChildren","moveStart","viewChange","moveEnd","fetchImage","isUpdating","updating","updateRequested","cos","sin","imageMaxWidth","imageMaxHeight","imageRotationSupported","imageNormalizationSupported","hidpi","_imagePromise","bitmaps","async","stationary","destroyed","spatialReference","worldScreenWidth","valid","paddedViewState","center","_singleExport","_tiledExport","then","fadeOut","fadeIn","updateExports","visible","invalidateTexture","signal","_export","scales","getTileCoverage","getTileBounds","Promise","all","background","bitBlit","blend","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","imagery","particles","streamlines","reproject","util","split","pixelType","pixels","getAsRGBAFloat","RGBA32F","flipped","offsets","coefficients","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","bandCount","u_minOutput","outMin","u_maxOutput","outMax","u_minCutOff","minCutOff","u_maxCutOff","maxCutOff","u_factor","factor","u_useGamma","useGamma","u_gamma","gamma","u_gammaCorrection","gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","minValue","u_maxValue","maxValue","ACTIVE_UNIFORMS","getActiveUniform","info","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FLOAT_MAT3","FLOAT_MAT4","INT","BOOL","INT_VEC2","BOOL_VEC2","INT_VEC3","BOOL_VEC3","INT_VEC4","BOOL_VEC4","requestRenderOnSourceChangedEnabled","_textureInvalidated","_height","_source","_width","_texture","sourceWidth","sourceHeight","HTMLImageElement","naturalHeight","naturalWidth","toScreenNoRotation","hasMipmap","generateMipmap","setSamplingMode","_visualState","time","displayData","resources","flowStyle","animated","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","BACKGROUND","SYMBOL","CIRCLE","VISIBLE","NONE","LINE_CENTER","LEFT","CENTER","RIGHT","TOP","BOTTOM","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","UPPERCASE","LOWERCASE","HORIZONTAL","VERTICAL","backgroundLayoutDefinition","visibility","default","fillLayoutDefinition","lineLayoutDefinition","BUTT","MITER","symbolLayoutDefinition","minimum","circleLayoutDefinition","backgroundPaintDefinition","maximum","fillPaintDefinition","linePaintDefinition","symbolPaintDefinition","rasterPaintDefinition","circlePaintDefinition","stretchType","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","_isBandIdschanged","_getTextureSamplingMethod","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","bandIds","_colormap"],"mappings":"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","file":"js/chunk-ae0f5952.ac386de2.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst n=Number.POSITIVE_INFINITY,t=Math.PI,r=2*t,u=t/2,o=128/t,e=t/128,c=256/360,f=t/180,i=1.414213562,I=1/i,N=1/Math.LN2;function a(n,t){return(n%=t)>=0?n:n+t}function h(n){return a(n*o,256)}function M(n){return a(n*c,256)}function P(n){return Math.log(n)*N}function T(n){return n*n}function b(n,t,r){return n*(1-r)+t*r}function g(n,t,r){return n>=t&&n<=r||n>=r&&n<=t}export{e as C_256_TO_RAD,r as C_2PI,c as C_DEG_TO_256,f as C_DEG_TO_RAD,n as C_INFINITY,t as C_PI,u as C_PI_BY_2,o as C_RAD_TO_256,i as C_SQRT2,I as C_SQRT2_INV,g as between,M as degToByte,b as interpolate,P as log2,a as positiveMod,h as radToByte,T as sqr};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as r}from\"./sources/resolver.js\";const e={shaders:{vertexShader:r(\"background/background.vert\"),fragmentShader:r(\"background/background.frag\")},attributes:new Map([[\"a_pos\",0]])};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{brushes as e}from\"./brushes.js\";import{WGLDrawPhase as r}from\"./webgl/enums.js\";import s from\"./webgl/WGLContainer.js\";class t extends s{get requiresDedicatedFBO(){return this.children.some((e=>\"additive\"===e.blendFunction))}prepareRenderPasses(s){const t=s.registerRenderPass({name:\"bitmap\",brushes:[e.bitmap],target:()=>this.children,drawPhase:r.MAP});return[...super.prepareRenderPasses(s),t]}}export{t as BitmapContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";const r={geometry:[new o(\"a_pos\",2,e.BYTE,0,2)]},t={geometry:[new o(\"a_pos\",2,e.BYTE,0,4),new o(\"a_tex\",2,e.BYTE,2,4)]},m={geometry:[new o(\"a_pos\",2,e.UNSIGNED_SHORT,0,4)]};export{r as Pos2b,m as Pos2us,t as PosTex2b};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{hasSource as t}from\"./RasterBitmap.js\";import r from\"../webgl/VertexStream.js\";import s from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as a,CompareFunction as i}from\"../../../webgl/enums.js\";import{setTextures as o,getCommonUniforms as n,setUniforms as h,getColormapUniforms as l,getStretchUniforms as c,getShadedReliefUniforms as p,getUniformLocationInfos as d,getBasicGridUniforms as u}from\"../../../webgl/rasterUtils.js\";class m extends s{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(i.EQUAL,t.stencilRef,255)}draw(e,r){if(!t(r)||r.suspended)return;const{timeline:s,context:a,painter:i,requestRender:o}=e;s.begin(this.name);const n=!a.capabilities.textureFloat?.textureFloatLinear;r.updateTexture(e);const h=this._getShaderVariations(r,n),l=i.materialManager.getProgram(this._desc[r.symbolizerParameters.type],h);this._drawWithProgram(a,l,r,o),s.end(this.name)}_drawWithProgram(t,s,a,i,d=1,m=[0,0],f=!1){if(this._quad||(this._quad=new r(t,[0,0,1,0,0,1,1,1])),e(i)&&!s.isCompiled)return void i();const{symbolizerParameters:_,transformGrid:g,width:b,height:P,opacity:S}=a,w=_.type;t.useProgram(s);const x=this._getShaderVariations(a),y=this._getUniformInfos(w,t,s,x),{names:M,textures:U}=a.getTextures();o(t,s,M,U);const j=u(d,m),I=n(g,[b,P],[a.source.width,a.source.height],S,f);if(h(s,y,{u_coordScale:a.coordScale,u_dvsMat3:a.transforms.dvs,...j,...I}),_.colormap){const{colormap:e,colormapOffset:t}=_,r=l(e,t);h(s,y,r)}if(\"stretch\"===_.type){const e=c(_);h(s,y,e)}else if(\"hillshade\"===_.type){const e=p(_);h(s,y,e)}this._quad.draw()}_getUniformInfos(e,t,r,s){const a=s.length>0?e+\"-\"+s.join(\"-\"):e;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=d(t,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(e,t=!1){const r=[],{interpolation:s}=e,{type:a,colormap:i}=e.symbolizerParameters;return\"cubic\"===s?r.push(\"bicubic\"):\"bilinear\"===s&&\"stretch\"===a&&null!=i?(r.push(\"bilinear\"),r.push(\"nnedge\")):t&&\"bilinear\"===s&&r.push(\"bilinear\"),e.isRendereredSource?r.push(\"noop\"):i&&r.push(\"applyColormap\"),e.transformGrid&&(r.push(\"applyProjection\"),1===e.transformGrid.spacing[0]&&r.push(\"lookupProjection\")),r}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import i from\"../VertexStream.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as n,BlendFactor as r,CompareFunction as a}from\"../../../../webgl/enums.js\";const o={nearest:{defines:[],samplingMode:n.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:n.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:n.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:n.LINEAR_MIPMAP_LINEAR,mips:!0}},d=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,s=t.resolution/t.pixelRatio/i.resolution,n=Math.round(e.pixelRatio)!==e.pixelRatio,r=s>1.05||s<.95;return i.rotation||r||n||t.isSourceScaled||t.rotation?o.bilinear:o.nearest}return o[i.samplingMode]};class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(r.ONE,r.ONE,r.ONE,r.ONE):e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(s,n){const{context:r,renderingOptions:a,painter:o,requestRender:m}=s;if(!n.source)return;const c=d(s,n,a),l=o.materialManager.getProgram(this._desc,c.defines);if(e(m)&&!l.isCompiled)return void m();s.timeline.begin(this.name),this._quad||(this._quad=new i(r,[0,0,1,0,0,1,1,1]));const{coordScale:p,computedOpacity:u,transforms:f}=n;n.setSamplingProfile(c),n.bind(s.context,t),r.useProgram(l),l.setUniformMatrix3fv(\"u_dvsMat3\",f.dvs),l.setUniform1i(\"u_texture\",t),l.setUniform2fv(\"u_coordScale\",p),l.setUniform1f(\"u_opacity\",u),this._quad.draw(),s.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as r,isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as s}from\"../Utils.js\";import o from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as a,CompareFunction as m,DataType as n,PrimitiveType as p}from\"../../../../webgl/enums.js\";import{createProgram as l}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>s(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT}]});class f extends o{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(m.ALWAYS,0,255)}draw(e,s){const{context:o,state:a,requestRender:m}=e,f=c(),d=s.getVAO(o,a,f.attributes,f.bufferLayouts);r(d.indexBuffer)||(this._program||(this._program=l(o,i)),!t(m)||this._program.isCompiled?(o.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),o.bindVAO(d),o.drawElements(p.TRIANGLES,d.indexBuffer.size,n.UNSIGNED_INT,0),o.bindVAO()):m())}}export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{BlendFactor as o,CompareFunction as n,DataType as a,PrimitiveType as i}from\"../../../../webgl/enums.js\";const u=()=>r(\"overlay\",{geometry:[{location:0,name:\"a_pos\",count:2,type:a.FLOAT}],tex:[{location:1,name:\"a_uv\",count:2,type:a.UNSIGNED_SHORT}]});class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"overlay/overlay\",fsPath:\"overlay/overlay\",attributes:new Map([[\"a_pos\",0],[\"a_uv\",1]])}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setBlendFunctionSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(r,s){const{context:o,painter:n,requestRender:a}=r;if(!s.isReady)return;const{computedOpacity:m,dvsMat3:c,isWrapAround:d,texture:l}=s;r.timeline.begin(this.name);const p=n.materialManager.getProgram(this._desc);if(e(a)&&!p.isCompiled)return void a();const f=u(),_=s.getVAO(o,f.bufferLayouts,f.attributes);if(!_)return;o.bindVAO(_),o.useProgram(p),o.bindTexture(l,t),p.setUniformMatrix3fv(\"u_dvsMat3\",c),p.setUniform1i(\"u_texture\",t),p.setUniform1f(\"u_opacity\",m);const y=d?10:4;o.drawArrays(i.TRIANGLE_STRIP,0,y),o.bindVAO(),r.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{MIN_MAX_ZOOM_PRECISION_FACTOR as i,TEXTURE_BINDING_ATTRIBUTE_DATA_0 as s,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as o,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r,TEXTURE_BINDING_ATTRIBUTE_DATA_4 as n,TEXTURE_BINDING_ATTRIBUTE_DATA_5 as m}from\"../definitions.js\";import u from\"./WGLBrush.js\";import{MaterialKeyBase as v}from\"../materialKey/MaterialKey.js\";import{BlendFactor as f,CompareFunction as l}from\"../../../../webgl/enums.js\";class p extends u{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e,i){i&&i.includes(\"hittest\")?t.setBlendFunctionSeparate(f.ONE,f.ONE,f.ONE,f.ONE):t.setBlendFunctionSeparate(f.ONE,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(l.EQUAL,e.stencilRef,255)}draw(e,i,s){const o=this.getGeometryType();i.commit(e);const a=i.getGeometry(o);t(a)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),a.forEachCommand((t=>{const o=v.load(t.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(e,i,t,s)})))}_setSharedUniforms(t,u,v){const{displayLevel:f,pixelRatio:l,state:p,passOptions:c}=u;e(c)&&\"hittest\"===c.type&&(t.setUniform2fv(\"u_hittestPos\",c.position),t.setUniform1f(\"u_hittestDist\",c.distance)),t.setUniform1f(\"u_pixelRatio\",l),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",p.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(f*i)),t.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r),t.setUniform1i(\"u_attributeData4\",n),t.setUniform1i(\"u_attributeData5\",m)}_setSizeVVUniforms(t,e,i,s){if(t.vvSizeMinMaxValue&&e.setUniform4fv(\"u_vvSizeMinMaxValue\",i.vvSizeMinMaxValue),t.vvSizeScaleStops&&e.setUniform1f(\"u_vvSizeScaleStopsValue\",i.vvSizeScaleStopsValue),t.vvSizeFieldStops){const t=i.getSizeVVFieldStops(s.key.level);e.setUniform1fv(\"u_vvSizeFieldStopsValues\",t.values),e.setUniform1fv(\"u_vvSizeFieldStopsSizes\",t.sizes)}t.vvSizeUnitValue&&e.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",i.vvSizeUnitValueToPixelsRatio)}_setColorAndOpacityVVUniforms(t,e,i){t.vvColor&&(e.setUniform1fv(\"u_vvColorValues\",i.vvColorValues),e.setUniform4fv(\"u_vvColors\",i.vvColors)),t.vvOpacity&&(e.setUniform1fv(\"u_vvOpacityValues\",i.vvOpacityValues),e.setUniform1fv(\"u_vvOpacities\",i.vvOpacities))}_setRotationVVUniforms(t,e,i){t.vvRotation&&e.setUniform1f(\"u_vvRotationType\",\"geographic\"===i.vvMaterialParameters.vvRotationType?0:1)}_getTriangleDesc(t,e,i=[\"a_pos\"]){const s=e.bufferLayouts.geometry,o=i.map((t=>s.findIndex((e=>e.name===t)))),a=`${t}-${o.join(\"-\")}`;let r=this._computeDesc.get(a);if(!r){const t=e.strides,i=e.strides.geometry,n=new Map(e.attributes),m=s.map((t=>({...t}))),u=Math.max(...e.attributes.values()),v={geometry:m};let f=0;for(const e of o){const t=s[e];v.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),v.geometry.push({count:t.count,name:t.name+\"2\",divisor:t.divisor,normalized:t.normalized,offset:2*i+t.offset,stride:i,type:t.type}),n.set(t.name+\"1\",u+ ++f),n.set(t.name+\"2\",u+ ++f)}r={bufferLayouts:v,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,unwrapOr as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as o,WGLSymbologyType as r}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import i from\"./WGLGeometryBrush.js\";import{FillMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as s}from\"../techniques/utils.js\";import{PrimitiveType as m,DataType as l}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:l.SHORT},{location:1,name:\"a_id\",count:3,type:l.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:l.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:l.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:l.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:l.SHORT},{location:6,name:\"a_aux3\",count:4,type:l.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:l.UNSIGNED_SHORT}]};switch(e.symbologyType){case r.SIMPLE:case r.OUTLINE_FILL_SIMPLE:t.geometry.splice(7,1),t.geometry.splice(4,1)}return{shader:\"materials/fill\",vertexLayout:t}}class c extends i{dispose(){}getGeometryType(){return o.FILL}supportsSymbology(e){return e!==r.DOT_DENSITY}drawGeometry(o,r,i,l){const{context:c,painter:y,rendererInfo:p,requiredLevel:_,passOptions:f,requestRender:d}=o,E=n.load(i.materialKey),S=s(E.data),g=e(f)&&\"hittest\"===f.type,N=y.materialManager,{shader:T,vertexLayout:I,hittestAttributes:U}=t(S.programSpec,u(E));let x=m.TRIANGLES,L=a(E.data,I);g&&(L=this._getTriangleDesc(i.materialKey,L,U),x=m.POINTS);const{attributes:h,bufferLayouts:G}=L,O=N.getMaterialProgram(o,E,T,h,l);if(e(d)&&!g&&!O.isCompiled)return void d();if(c.useProgram(O),this._setSharedUniforms(O,o,r),O.setUniform2f(\"u_tileOffset\",512*r.key.col,512*r.key.row),E.textureBinding){y.textureManager.bindTextures(c,O,E);const e=1/2**(_-r.key.level);O.setUniform1f(\"u_zoomFactor\",e)}const b=1/o.pixelRatio;O.setUniform1f(\"u_blur\",b),O.setUniform1f(\"u_antialiasing\",b),this._setSizeVVUniforms(E,O,p,r),this._setColorAndOpacityVVUniforms(E,O,p);const D=i.target.getVAO(c,G,h,g);let R=i.indexCount,j=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;g&&(R/=3,j/=3),c.bindVAO(D),this._drawFills(o,r,O,x,R,j)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,l.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e,isSome as t,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as s,TEXTURE_BINDING_RENDERER_1 as i,TILE_SIZE as n}from\"../definitions.js\";import{WGLGeometryType as d,WGLSymbologyType as a}from\"../enums.js\";import l from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as _}from\"../techniques/utils.js\";import{BufferObject as u}from\"../../../../webgl/BufferObject.js\";import{DataType as m,PrimitiveType as h,TextureType as c,PixelFormat as f,PixelType as T,TextureSamplingMode as p,TextureWrapMode as x,TargetType as w,DepthStencilTargetType as D,RenderbufferFormat as g,Usage as y}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as E}from\"../../../../webgl/Renderbuffer.js\";import{Texture as b}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as F}from\"../../../../webgl/VertexArrayObject.js\";class O extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([s,i]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){super.dispose(),this._disposeTextures(),this._dotFBO=e(this._dotFBO),this._dotVAO=e(this._dotVAO)}getGeometryType(){return d.FILL}supportsSymbology(e){return e===a.DOT_DENSITY}_drawFills(e,o,r,s,i,n){const{passOptions:d}=e;if(t(d)&&\"hittest\"===d.type)super._drawFills(e,o,r,s,i,n);else{const t=this._drawDotLocations(e,o,r,i,n);this._drawDotDensity(e,o,t)}}_drawDotDensity(e,o,r){const{context:s,painter:i,rendererInfo:n,requestRender:d}=e,a=i.materialManager.getProgram(this._dotDesc);if(t(d)&&!a.isCompiled)return void d();const{rendererSchema:l}=n;_(l,\"dot-density\");const u=this._createDotDensityMesh(s,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:m.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});s.setStencilTestEnabled(!0),s.useProgram(a),a.setUniform1f(\"u_tileZoomFactor\",1),a.setUniform1i(\"u_texture\",this._dotSamplers[0]),a.setUniform1f(\"u_dotSize\",Math.max(l.dotSize,1)),a.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(a,e,o),s.bindTexture(r,this._dotSamplers[0]),s.bindVAO(u),s.drawArrays(h.POINTS,0,262144)}_drawDotLocations(e,t,o,r,s){const{context:i,rendererInfo:d,requiredLevel:a}=e,l=i.getViewport(),{rendererSchema:u}=d;_(u,\"dot-density\");const{dotScale:c,colors:f,activeDots:T,backgroundColor:p,dotValue:x}=u;i.setViewport(0,0,512,512);const w=i.getBoundFramebufferObject(),D=this._createFBO(i);i.bindFramebuffer(D),i.setClearColor(0,0,0,0),i.clear(i.gl.COLOR_BUFFER_BIT|i.gl.STENCIL_BUFFER_BIT),i.setStencilTestEnabled(!1);const g=1/2**(a-t.key.level),y=n,S=y*window.devicePixelRatio*y*window.devicePixelRatio,E=1/g*(1/g),b=c?e.state.scale/c:1;return o.setUniform1f(\"u_tileZoomFactor\",g),o.setUniform1f(\"u_tileDotsOverArea\",S/(n*window.devicePixelRatio*n*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",f),o.setUniform4fv(\"u_isActive\",T),o.setUniform4fv(\"u_dotBackgroundColor\",p),o.setUniform1f(\"u_dotValue\",Math.max(1,x*b*E)),this._bindDotDensityTextures(i,o,d,y),i.drawElements(h.TRIANGLES,r,m.UNSIGNED_INT,s),i.setViewport(l.x,l.y,l.width,l.height),i.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(o(this._dotFBO)){const t=512,o=512,r={target:c.TEXTURE_2D,pixelFormat:f.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:x.CLAMP_TO_EDGE,width:t,height:o},s={colorTarget:w.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},i=new E(e,{width:t,height:o,internalFormat:g.DEPTH_STENCIL});this._dotFBO=new S(e,s,r,i)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;es?2:1,I=e.drawPhase===a.HITTEST,R=this._programOptions;R.id=I,R.pattern=x;const k=v.getMaterialProgram(c,g,R);if(!r(_)||I||k.isCompiled){if(c.bindVAO(this._vao),c.useProgram(k),x){const t=L.getMosaicItemPosition(M,!0);if(r(t)){const{tl:e,br:o,page:s}=t;w=o[0]-e[0],A=o[1]-e[1];const a=L.getPageSize(s);r(a)&&(L.bind(c,f.LINEAR,s,i),k.setUniform4f(\"u_tlbr\",e[0],e[1],o[0],o[1]),k.setUniform2fv(\"u_mosaicSize\",a),k.setUniform1i(\"u_texture\",i))}k.setUniform1f(\"u_opacity\",y)}else this._color[0]=j*b[0],this._color[1]=j*b[1],this._color[2]=j*b[2],this._color[3]=j,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",h.z||0),I){const t=n(p+1);k.setUniform4fv(\"u_id\",t)}for(const r of o){if(k.setUniform1f(\"u_coord_range\",r.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),x){const e=Math.max(2**(Math.round(d)-r.key.level),1),o=P*r.width*e,i=o/t(w),s=o/t(A);this._patternMatrix[0]=i,this._patternMatrix[4]=s,k.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}c.setStencilFunction(l.EQUAL,r.stencilRef,255),c.drawArrays(u.TRIANGLE_STRIP,0,4)}}else _()}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{d as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as r}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import a from\"./WGLBrush.js\";import{CompareFunction as s,PrimitiveType as o,DataType as l}from\"../../../../webgl/enums.js\";class c extends a{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(a,c){const{context:m,displayLevel:f,requiredLevel:u,state:d,drawPhase:p,painter:y,spriteMosaic:g,styleLayerUID:v,requestRender:E}=a;if(!c.some((e=>e.layerData.get(v)?.circleIndexCount??!1)))return;const M=a.styleLayer,T=M.circleMaterial,x=y.vectorTilesMaterialManager,I=1.2,U=M.getPaintValue(\"circle-translate\",f),_=M.getPaintValue(\"circle-translate-anchor\",f),h=p===i.HITTEST,L=this._programOptions;L.id=h;const R=x.getMaterialProgram(m,T,L);if(!h&&e(E)&&!R.isCompiled)return void E();m.useProgram(R),R.setUniformMatrix3fv(\"u_displayMat3\",_===r.VIEWPORT?d.displayMat3:d.displayViewMat3),R.setUniform2fv(\"u_circleTranslation\",U),R.setUniform1f(\"u_depth\",M.z),R.setUniform1f(\"u_antialiasingWidth\",I);let S=-1;if(h){const e=n(v+1);R.setUniform4fv(\"u_id\",e)}for(const e of c){if(!e.layerData.has(v))continue;e.key.level!==S&&(S=e.key.level,T.setDataUniforms(R,f,M,S,g));const r=e.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(m);const i=r.circleVertexArrayObject;t(i)||(m.bindVAO(i),R.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u!==e.key.level?m.setStencilFunction(s.EQUAL,e.stencilRef,255):m.setStencilFunction(s.GREATER,255,255),m.drawElements(o.TRIANGLES,r.circleIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),e.triangleCount+=r.circleIndexCount/3)}}}export{c as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as n}from\"../definitions.js\";import{WGLDrawPhase as a}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as l,CompareFunction as f,PrimitiveType as u,DataType as d}from\"../../../../webgl/enums.js\";const c=1/65536;class m extends s{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:n,spriteMosaic:s,styleLayerUID:l}=t;let f=!1;for(const a of e)if(a.layerData.has(l)){const t=a.layerData.get(l);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,d=u.getPaintProperty(\"fill-pattern\"),c=void 0!==d,m=c&&d.isDataDriven;let p;if(c&&!m){const t=d.getValue(i);p=s.getMosaicItemPosition(t,!0)}const y=!c&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!c){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!t?.isDataDriven&&!e?.isDataDriven){const t=u.getPaintValue(\"fill-color\",i);_=u.getPaintValue(\"fill-opacity\",i)*t[3],_>=1&&(g=!1)}}if(g&&\"opaque\"===n)return;let E;r===a.HITTEST&&(E=o(l+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==n)&&this._drawFill(t,l,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==n&&!P&&this._drawOutline(t,l,u,e,v,M,E)}_drawFill(o,s,m,p,y,g,_,E,v,M){if(_&&!v&&t(E))return;const{context:P,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:h,spriteMosaic:D,requestRender:S}=o,R=m.fillMaterial,N=x.vectorTilesMaterialManager,w=h>n?2:1,L=U===a.HITTEST,A=this._fillProgramOptions;A.id=L,A.pattern=_;const C=N.getMaterialProgram(P,R,A);if(e(S)&&!L&&!C.isCompiled)return void S();if(P.useProgram(C),e(E)){const{page:t}=E,i=D.getPageSize(t);e(i)&&(D.bind(P,l.LINEAR,t,r),C.setUniform2fv(\"u_mosaicSize\",i),C.setUniform1i(\"u_texture\",r))}C.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),C.setUniform2fv(\"u_fillTranslation\",y),C.setUniform1f(\"u_depth\",m.z+c),L&&C.setUniform4fv(\"u_id\",M);let V=-1;for(const i of p){if(!i.layerData.has(s))continue;i.key.level!==V&&(V=i.key.level,R.setDataUniforms(C,I,m,V,D));const n=i.layerData.get(s);if(!n.fillIndexCount)continue;n.prepareForRendering(P);const a=n.fillVertexArrayObject;if(!t(a)){if(P.bindVAO(a),C.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),P.setStencilFunction(f.EQUAL,i.stencilRef,255),_){const t=Math.max(2**(Math.round(I)-i.key.level),1),e=i.rangeX/(w*i.width*t);C.setUniform1f(\"u_patternFactor\",e)}if(v){const t=n.patternMap;if(!t)continue;for(const[i,n]of t){const t=D.getPageSize(i);e(t)&&(D.bind(P,l.LINEAR,i,r),C.setUniform2fv(\"u_mosaicSize\",t),C.setUniform1i(\"u_texture\",r),P.drawElements(u.TRIANGLES,n[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else P.drawElements(u.TRIANGLES,n.fillIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.fillIndexStart);i.triangleCount+=n.fillIndexCount/3}}}_drawOutline(r,n,o,s,l,m,p){const{context:y,displayLevel:g,state:_,drawPhase:E,painter:v,pixelRatio:M,spriteMosaic:P,requestRender:I}=r,T=o.outlineMaterial,U=v.vectorTilesMaterialManager,x=.75/M,h=E===a.HITTEST,D=this._outlineProgramOptions;D.id=h;const S=U.getMaterialProgram(y,T,D);if(e(I)&&!h&&!S.isCompiled)return void I();y.useProgram(S),S.setUniformMatrix3fv(\"u_displayMat3\",m===i.VIEWPORT?_.displayMat3:_.displayViewMat3),S.setUniform2fv(\"u_fillTranslation\",l),S.setUniform1f(\"u_depth\",o.z+c),S.setUniform1f(\"u_outline_width\",x),h&&S.setUniform4fv(\"u_id\",p);let R=-1;for(const e of s){if(!e.layerData.has(n))continue;e.key.level!==R&&(R=e.key.level,T.setDataUniforms(S,g,o,R,P));const i=e.layerData.get(n);if(i.prepareForRendering(y),!i.outlineIndexCount)continue;const r=i.outlineVertexArrayObject;t(r)||(y.bindVAO(r),S.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),y.setStencilFunction(f.EQUAL,e.stencilRef,255),y.drawElements(u.TRIANGLES,i.outlineIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.outlineIndexStart),e.triangleCount+=i.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import o from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as l,PrimitiveType as f,DataType as m}from\"../../../../webgl/enums.js\";class u extends o{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(o,u){const{context:c,displayLevel:d,state:p,drawPhase:g,painter:y,pixelRatio:E,spriteMosaic:M,styleLayerUID:_,requestRender:v}=o;if(!u.some((e=>e.layerData.get(_)?.lineIndexCount??!1)))return;const U=o.styleLayer,I=U.lineMaterial,P=y.vectorTilesMaterialManager,x=U.getPaintValue(\"line-translate\",d),T=U.getPaintValue(\"line-translate-anchor\",d),S=U.getPaintProperty(\"line-pattern\"),D=void 0!==S,L=D&&S.isDataDriven;let N,R;if(D&&!L){const e=S.getValue(d);N=M.getMosaicItemPosition(e)}let V=!1;if(!D){const e=U.getPaintProperty(\"line-dasharray\");if(R=void 0!==e,V=R&&e.isDataDriven,R&&!V){const t=e.getValue(d),i=U.getDashKey(t,U.getLayoutValue(\"line-cap\",d));N=M.getMosaicItemPosition(i)}}const h=1/E,A=g===r.HITTEST,j=this._programOptions;j.id=A,j.pattern=D,j.sdf=R;const w=P.getMaterialProgram(c,I,j);if(e(v)&&!A&&!w.isCompiled)return void v();if(c.useProgram(w),w.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),w.setUniformMatrix3fv(\"u_displayMat3\",T===i.VIEWPORT?p.displayMat3:p.displayViewMat3),w.setUniform2fv(\"u_lineTranslation\",x),w.setUniform1f(\"u_depth\",U.z),w.setUniform1f(\"u_antialiasing\",h),A){const e=a(_+1);w.setUniform4fv(\"u_id\",e)}if(N&&e(N)){const{page:t}=N,i=M.getPageSize(t);e(i)&&(M.bind(c,s.LINEAR,t,n),w.setUniform2fv(\"u_mosaicSize\",i),w.setUniform1i(\"u_texture\",n))}let b=-1;for(const i of u){if(!i.layerData.has(_))continue;i.key.level!==b&&(b=i.key.level,I.setDataUniforms(w,d,U,b,M));const r=2**(d-b)/E;w.setUniform1f(\"u_zoomFactor\",r);const a=i.layerData.get(_);if(!a.lineIndexCount)continue;a.prepareForRendering(c);const o=a.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),w.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),L||V){const t=a.patternMap;if(!t)continue;for(const[i,r]of t){const t=M.getPageSize(i);e(t)&&(M.bind(c,s.LINEAR,i,n),w.setUniform2fv(\"u_mosaicSize\",t),w.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,r[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r[0]))}}else c.drawElements(f.TRIANGLES,a.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.lineIndexStart);i.triangleCount+=a.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{c as i,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as r}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as s,SymbolPlacement as n,TranslateAnchor as o}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as l,VTL_TEXTURE_BINDING_UNIT_GLYPHS as f}from\"../definitions.js\";import{WGLDrawPhase as u}from\"../enums.js\";import{degToByte as m}from\"../GeometryUtils.js\";import{u32to4Xu8 as p}from\"../number.js\";import c from\"./WGLBrush.js\";import{TextureSamplingMode as d,CompareFunction as g,PrimitiveType as y,DataType as _}from\"../../../../webgl/enums.js\";const h=1/65536;class M extends c{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let s;i===u.HITTEST&&(s=p(a+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(i,a,f,p){const{context:c,displayLevel:d,drawPhase:g,painter:y,spriteMosaic:_,state:h,styleLayerUID:M,requestRender:P}=i,T=a.iconMaterial,U=y.vectorTilesMaterialManager;let E,x=!1;for(const e of f)if(e.layerData.has(M)&&(E=e.layerData.get(M),E.iconPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const v=a.getPaintValue(\"icon-translate\",d),I=a.getPaintValue(\"icon-translate-anchor\",d);let S=a.getLayoutValue(\"icon-rotation-alignment\",d);S===s.AUTO&&(S=a.getLayoutValue(\"symbol-placement\",d)===n.POINT?s.VIEWPORT:s.MAP);const D=S===s.MAP,V=a.getLayoutValue(\"icon-keep-upright\",d)&&D,R=E.isIconSDF,w=g===u.HITTEST,A=this._iconProgramOptions;A.id=w,A.sdf=R;const L=U.getMaterialProgram(c,T,A);if(e(P)&&!w&&!L.isCompiled)return void P();c.useProgram(L),L.setUniformMatrix3fv(\"u_displayViewMat3\",S===s.MAP?h.displayViewMat3:h.displayMat3),L.setUniformMatrix3fv(\"u_displayMat3\",I===o.VIEWPORT?h.displayMat3:h.displayViewMat3),L.setUniform2fv(\"u_iconTranslation\",v),L.setUniform1f(\"u_depth\",a.z),L.setUniform1f(\"u_mapRotation\",m(h.rotation)),L.setUniform1f(\"u_keepUpright\",V?1:0),L.setUniform1f(\"u_level\",10*d),L.setUniform1i(\"u_texture\",l),L.setUniform1f(\"u_fadeDuration\",r/1e3),w&&L.setUniform4fv(\"u_id\",p);let O=-1;for(const e of f){if(!e.layerData.has(M))continue;if(e.key.level!==O&&(O=e.key.level,T.setDataUniforms(L,d,a,O,_)),E=e.layerData.get(M),0===E.iconPerPageElementsMap.size)continue;E.prepareForRendering(c),E.updateOpacityInfo();const r=E.iconVertexArrayObject;if(!t(r)){c.bindVAO(r),L.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),L.setUniform1f(\"u_time\",(performance.now()-E.lastOpacityUpdate)/1e3);for(const[t,a]of E.iconPerPageElementsMap)this._renderIconRange(i,L,a,t,e)}}}_renderIconRange(e,t,i,a,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(a)/4,this._spritesTextureSize[1]=n.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,d.LINEAR,a,l),s.setStencilTestEnabled(!0),s.setStencilFunction(g.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(y.TRIANGLES,i[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(i,l,p,c){const{context:d,displayLevel:y,drawPhase:_,glyphMosaic:M,painter:P,pixelRatio:T,spriteMosaic:U,state:E,styleLayerUID:x,requestRender:v}=i,I=l.textMaterial,S=P.vectorTilesMaterialManager;let D,V=!1;for(const e of p)if(e.layerData.has(x)&&(D=e.layerData.get(x),D.glyphPerPageElementsMap.size>0)){V=!0;break}if(!V)return;const R=l.getPaintProperty(\"text-opacity\");if(R&&!R.isDataDriven&&0===R.getValue(y))return;const w=l.getPaintProperty(\"text-color\"),A=!w||w.isDataDriven||w.getValue(y)[3]>0,L=l.getPaintProperty(\"text-halo-width\"),O=l.getPaintProperty(\"text-halo-color\"),N=(!L||L.isDataDriven||L.getValue(y)>0)&&(!O||O.isDataDriven||O.getValue(y)[3]>0);if(!A&&!N)return;const b=24/8;let z=l.getLayoutValue(\"text-rotation-alignment\",y);z===s.AUTO&&(z=l.getLayoutValue(\"symbol-placement\",y)===n.POINT?s.VIEWPORT:s.MAP);const k=z===s.MAP,j=l.getLayoutValue(\"text-keep-upright\",y)&&k,G=_===u.HITTEST,W=.8*b/T;this._glyphTextureSize||(this._glyphTextureSize=a(M.width/4,M.height/4));const C=l.getPaintValue(\"text-translate\",y),F=l.getPaintValue(\"text-translate-anchor\",y),B=this._sdfProgramOptions;B.id=G;const H=S.getMaterialProgram(d,I,B);if(e(v)&&!G&&!H.isCompiled)return void v();d.useProgram(H),H.setUniformMatrix3fv(\"u_displayViewMat3\",z===s.MAP?E.displayViewMat3:E.displayMat3),H.setUniformMatrix3fv(\"u_displayMat3\",F===o.VIEWPORT?E.displayMat3:E.displayViewMat3),H.setUniform2fv(\"u_textTranslation\",C),H.setUniform1f(\"u_depth\",l.z+h),H.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),H.setUniform1f(\"u_mapRotation\",m(E.rotation)),H.setUniform1f(\"u_keepUpright\",j?1:0),H.setUniform1f(\"u_level\",10*y),H.setUniform1i(\"u_texture\",f),H.setUniform1f(\"u_antialiasingWidth\",W),H.setUniform1f(\"u_fadeDuration\",r/1e3),G&&H.setUniform4fv(\"u_id\",c);let Y=-1;for(const e of p){if(!e.layerData.has(x))continue;if(e.key.level!==Y&&(Y=e.key.level,I.setDataUniforms(H,y,l,Y,U)),D=e.layerData.get(x),0===D.glyphPerPageElementsMap.size)continue;D.prepareForRendering(d),D.updateOpacityInfo();const i=D.textVertexArrayObject;if(t(i))continue;d.bindVAO(i),H.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(g.GREATER,255,255),d.setStencilWriteMask(0);const a=(performance.now()-D.lastOpacityUpdate)/1e3;H.setUniform1f(\"u_time\",a),D.glyphPerPageElementsMap.forEach(((t,i)=>{this._renderGlyphRange(d,t,i,M,H,N,A,e)}))}}_renderGlyphRange(e,t,i,a,r,s,n,o){a.bind(e,d.LINEAR,i,f),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3),n&&(r.setUniform1f(\"u_halo\",0),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{M as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,CompareFunction as i,PrimitiveType as s}from\"../../../../webgl/enums.js\";const m=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:r.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:r.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:r.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:8,name:\"a_texCoords\",count:2,type:r.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return t.LABEL}supportsSymbology(e){return!0}drawGeometry(t,o,a,l){const{context:u,painter:p,state:c,rendererInfo:d,passOptions:f,requestRender:y}=t,_=n.load(a.materialKey),E=e(f)&&\"hittest\"===f.type,N=_.mapAligned?1:0;if(!N&&Math.abs(o.key.level-Math.round(100*t.displayLevel)/100)>=1)return;const{bufferLayouts:S,attributes:U}=m(_),T=p.materialManager.getMaterialProgram(t,_,\"materials/label\",U,l);if(e(y)&&!E&&!T.isCompiled)return void y();t.context.setStencilFunction(i.EQUAL,0,255),u.useProgram(T),this._setSharedUniforms(T,t,o),p.textureManager.bindTextures(u,T,_);const g=1===N?c.displayViewMat3:c.displayMat3;this._setSizeVVUniforms(_,T,d,o),T.setUniform1f(\"u_mapRotation\",Math.floor(c.rotation/360*254)),T.setUniform1f(\"u_mapAligned\",N),T.setUniformMatrix3fv(\"u_displayMat3\",g),T.setUniform1f(\"u_opacity\",1),T.setUniform2fv(\"u_screenSize\",t.state.size),T.setUniform1f(\"u_isHalo\",1);const G=a.target.getVAO(u,S,U),I=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;u.bindVAO(G),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),T.setUniform1f(\"u_isHalo\",0),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),u.setStencilTestEnabled(!0),u.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:r.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:r.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:r.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:r.BYTE},{location:7,name:\"a_aux\",count:2,type:r.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:r.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return t.LINE}supportsSymbology(e){return!0}drawGeometry(t,o,a,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:y,requestRender:d}=t,_=n.load(a.materialKey),f=e(y)&&\"hittest\"===y.type;let E=s(_),N=i.TRIANGLES;f&&(E=this._getTriangleDesc(a.materialKey,E),N=i.POINTS);const{attributes:g,bufferLayouts:S}=E,T=c.materialManager.getMaterialProgram(t,_,\"materials/line\",g,m);if(e(d)&&!f&&!T.isCompiled)return void d();const U=1/t.pixelRatio,G=0;l.useProgram(T),this._setSharedUniforms(T,t,o),_.textureBinding&&c.textureManager.bindTextures(l,T,_);const I=2**(p-o.key.level);T.setUniform1f(\"u_zoomFactor\",I),T.setUniform1f(\"u_blur\",G+U),T.setUniform1f(\"u_antialiasing\",U),this._setSizeVVUniforms(_,T,u,o),this._setColorAndOpacityVVUniforms(_,T,u),l.setFaceCullingEnabled(!1);const b=a.target.getVAO(l,S,g,f);let x=a.indexCount,D=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;f&&(x/=3,D/=3),l.bindVAO(b),l.drawElements(N,x,r.UNSIGNED_INT,D)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{TextMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{DataType as n,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT},{location:1,name:\"a_id\",count:4,type:n.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:n.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:n.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:n.SHORT},{location:8,name:\"a_texCoords\",count:2,type:n.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.TEXT}supportsSymbology(t){return!0}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:y,passOptions:d,requestRender:_}=e,c=r.load(a.materialKey),f=t(d)&&\"hittest\"===d.type,{bufferLayouts:E,attributes:N}=s(c),S=p.materialManager.getMaterialProgram(e,c,\"materials/text\",N,m);if(t(_)&&!f&&!S.isCompiled)return void _();l.useProgram(S);let T=i.TRIANGLES;f&&(T=i.POINTS),this._setSharedUniforms(S,e,o),p.textureManager.bindTextures(l,S,c),S.setUniformMatrix3fv(\"u_displayMat3\",y.displayMat3),S.setUniformMatrix3fv(\"u_displayViewMat3\",y.displayViewMat3),this._setSizeVVUniforms(c,S,u,o),this._setColorAndOpacityVVUniforms(c,S,u),this._setRotationVVUniforms(c,S,u),S.setUniform1f(\"u_isHalo\",1);const U=a.target.getVAO(l,E,N),x=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(U),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,x),S.setUniform1f(\"u_isHalo\",0),l.drawElements(T,a.indexCount,n.UNSIGNED_INT,x)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./flow/BrushFlow.js\";import s from\"./imagery/BrushRasterBitmap.js\";import e from\"./imagery/BrushVectorField.js\";import o from\"./webgl/brushes/BrushBitmap.js\";import l from\"./webgl/brushes/BrushClip.js\";import t from\"./webgl/brushes/BrushOverlay.js\";import m from\"./webgl/brushes/WGLBrushDotDensity.js\";import i from\"./webgl/brushes/WGLBrushHeatmap.js\";import b from\"./webgl/brushes/WGLBrushInfo.js\";import h from\"./webgl/brushes/WGLBrushPieChart.js\";import u from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as p}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as f}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as B}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as L}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as a}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import g from\"./webgl/brushes/WGLGeometryBrushFill.js\";import j from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import w from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import n from\"./webgl/brushes/WGLGeometryBrushText.js\";const W={marker:G,line:w,fill:g,text:n,label:j,clip:l,stencil:u,bitmap:o,overlay:t,raster:s,rasterVF:e,flow:r,tileInfo:b,vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a,dotDensity:m,heatmap:i,pieChart:h},y={vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a};export{W as brushes,y as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as t}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as r,StencilOperation as s,CompareFunction as o,PrimitiveType as n,DataType as i}from\"../../../webgl/enums.js\";const l=new Float32Array([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),c={beaufort_ft:l,beaufort_m:l,beaufort_km:l,beaufort_mi:l,beaufort_kn:new Float32Array([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:new Float32Array([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:new Float32Array([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:new Float32Array([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),single_arrow:new Float32Array([0,92/255,230/255,1]),wind_speed:new Float32Array([0,0,0,1])};class m extends a{constructor(){super(...arguments),this._desc={magdir:{vsPath:\"raster/magdir\",fsPath:\"raster/magdir\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])},scalar:{vsPath:\"raster/scalar\",fsPath:\"raster/scalar\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])}}}dispose(){}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(s.KEEP,s.KEEP,s.REPLACE),e.setStencilFunction(o.EQUAL,t.stencilRef,255)}draw(t,a){if(e(a.source)||0===a.source.validPixelCount)return;const{timeline:r}=t;if(r.begin(this.name),a.updateVectorFieldVAO(t),\"scalar\"===t.renderPass){const e=a.vaoData.scalar;e&&this._drawScalars(t,a,e.vao,e.elementCount)}else{const e=a.vaoData.magdir;e&&this._drawTriangles(t,a,e.vao,e.elementCount)}r.end(this.name)}_drawTriangles(e,a,r,s){const{context:o,painter:l,requestRender:m}=e,{symbolizerParameters:d}=a,f=d.dataRange?[\"dataRange\"]:[];\"geographic\"===d.rotationType&&f.push(\"rotationGeographic\");const u=l.materialManager.getProgram(this._desc.magdir,f);if(t(m)&&!u.isCompiled)return void m();o.useProgram(u);const{coordScale:_,opacity:g,transforms:p}=a;u.setUniform2fv(\"u_coordScale\",_),u.setUniform1f(\"u_opacity\",g),u.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs);const{style:y,dataRange:v,rotation:b,symbolPercentRange:S}=d;u.setUniform4fv(\"u_colors\",c[y]||c.single_arrow),u.setUniform2fv(\"u_dataRange\",v),u.setUniform1f(\"u_rotation\",b),u.setUniform2fv(\"u_symbolPercentRange\",S);const h=this._getSymbolSize(e,a);u.setUniform2fv(\"u_symbolSize\",h),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_drawScalars(e,a,r,s){const{context:o,painter:l,requestRender:c}=e,{symbolizerParameters:m}=a,d=[];\"wind_speed\"===m.style?d.push(\"innerCircle\"):m.dataRange&&d.push(\"dataRange\"),\"geographic\"===m.rotationType&&d.push(\"rotationGeographic\");const f=l.materialManager.getProgram(this._desc.scalar,d);if(t(c)&&!f.isCompiled)return void c();o.useProgram(f);const{coordScale:u,opacity:_,transforms:g}=a;f.setUniform2fv(\"u_coordScale\",u),f.setUniform1f(\"u_opacity\",_),f.setUniformMatrix3fv(\"u_dvsMat3\",g.dvs);const{dataRange:p,symbolPercentRange:y}=m;f.setUniform2fv(\"u_dataRange\",p),f.setUniform2fv(\"u_symbolPercentRange\",y);const v=this._getSymbolSize(e,a);f.setUniform2fv(\"u_symbolSize\",v),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_getSymbolSize(e,t){const a=t.key?2**(e.displayLevel-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:r}=t.symbolizerParameters;return[r/(Math.round((t.width-t.offset[0])/r)*r)/a,r/(Math.round((t.height-t.offset[1])/r)*r)/a]}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.readFile=e}resolveIncludes(e){return this._resolve(e)}_resolve(e,t=new Map){if(t.has(e))return t.get(e);const r=this._read(e);if(!r)throw new Error(`cannot find shader file ${e}`);const s=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm;let n=s.exec(r);const l=[];for(;null!=n;)l.push({path:n[1],start:n.index,length:n[0].length}),n=s.exec(r);let a=0,h=\"\";return l.forEach((e=>{h+=r.slice(a,e.start),h+=t.has(e.path)?\"\":this._resolve(e.path,t),a=e.start+e.length})),h+=r.slice(a),t.set(e,h),h}_read(e){return this.readFile(e)}}export{e as ShaderCompiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function t(n){const t=new Float32Array(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(n,t,r,e){const a=new Float32Array(4);return a[0]=n,a[1]=t,a[2]=r,a[3]=e,a}function e(n,t){return new Float32Array(n,t,4)}function a(){return n()}function o(){return r(1,1,1,1)}function u(){return r(1,0,0,0)}function s(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function i(){return r(0,0,0,1)}const f=a(),l=o(),_=u(),y=s(),w=c(),N=i(),O=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,UNIT_W:N},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,t as a,e as b,n as c,s as d,c as e,r as f,i as g,y as h,w as i,N as j,o,u,O as v,a as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Program as r}from\"./Program.js\";function e(e,t,a=\"\"){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Logger.js\";import{isAbortError as s}from\"../../core/promiseUtils.js\";import{on as o}from\"../../core/reactiveUtils.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";const i=i=>{let c=class extends i{initialize(){this.handles.add(o((()=>this.layer),\"refresh\",(r=>{this.doRefresh(r.dataChanged).catch((r=>{s(r)||e.getLogger(this.declaredClass).error(r)}))})),\"RefreshableLayerView\")}};return r([t()],c.prototype,\"layer\",void 0),c=r([a(\"esri.layers.mixins.RefreshableLayerView\")],c),c};export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as e}from\"./sources/resolver.js\";const r={shaders:{vertexShader:e(\"tileInfo/tileInfo.vert\"),fragmentShader:e(\"tileInfo/tileInfo.frag\")},attributes:new Map([[\"a_pos\",0]])};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as n}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as a,PrimitiveType as l,Usage as u,TextureType as m,PixelFormat as _,PixelType as f,TextureSamplingMode as h,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as g}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as d}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class x extends i{constructor(){super(...arguments),this._color=e(1,0,0,1)}dispose(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null}prepareState({context:t}){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(e,r){const{context:i,requestRender:o}=e;if(!r.isReady)return;if(this._loadWGLResources(i),t(o)&&(!this._outlineProgram.isCompiled||!this._tileInfoProgram.isCompiled))return void o();i.bindVAO(this._outlineVertexArrayObject),i.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(l.LINE_STRIP,0,4);const s=this._getTexture(i,r);s?(i.bindVAO(this._tileInfoVertexArrayObject),i.useProgram(this._tileInfoProgram),i.bindTexture(s,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",s.descriptor.width,s.descriptor.height),i.drawArrays(l.TRIANGLE_STRIP,0,4),i.bindVAO()):i.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const e=g(t,o),i=g(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),l=n.createVertex(t,u.STATIC_DRAW,a),m=new p(t,o.attributes,r,{geometry:l}),_=new Int8Array([0,0,1,0,0,1,1,1]),f=n.createVertex(t,u.STATIC_DRAW,_),h=new p(t,s.attributes,r,{geometry:f});this._outlineProgram=e,this._tileInfoProgram=i,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=h}_getTexture(t,e){if(e.texture&&e.triangleCountReportedInDebug===e.triangleCount)return e.texture;e.triangleCountReportedInDebug=e.triangleCount,this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",`${A}`),this._canvas.setAttribute(\"height\",`${b}`),this._canvas.setAttribute(\"style\",\"display:none\"));const r=e.triangleCount;let i=e.key.id;e.triangleCount>0&&(i+=`, ${r}`);const o=this._canvas,s=o.getContext(\"2d\");return s.font=\"24px sans-serif\",s.textAlign=\"left\",s.textBaseline=\"top\",s.clearRect(0,0,A,b),r>1e5?(s.fillStyle=\"red\",s.fillRect(0,0,A,b),s.fillStyle=\"black\"):(s.clearRect(0,0,A,b),s.fillStyle=\"blue\"),s.fillText(i,0,0),e.texture=new d(t,{target:m.TEXTURE_2D,pixelFormat:_.RGBA,dataType:f.UNSIGNED_BYTE,samplingMode:h.NEAREST,wrapMode:c.CLAMP_TO_EDGE},o),e.texture}}export{x as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{BufferObject as t}from\"../../../webgl/BufferObject.js\";import{Usage as e,DataType as r,PrimitiveType as s}from\"../../../webgl/enums.js\";import{VertexArrayObject as i}from\"../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";class n{constructor(s,n){this.rctx=s,this._vertexBuffer=t.createVertex(s,e.STATIC_DRAW,new Uint16Array(n)),this._vao=new i(s,new Map([[\"a_position\",0]]),{geometry:[new o(\"a_position\",2,r.SHORT,0,4)]},{geometry:this._vertexBuffer}),this._count=n.length/2}bind(){this.rctx.bindVAO(this._vao)}unbind(){this.rctx.bindVAO(null)}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../core/maybe.js\";class i{constructor(e,t,i){this.pixelBlock=e,this.extent=t,this.originalPixelBlock=i}get width(){return e(this.pixelBlock)?this.pixelBlock.width:0}get height(){return e(this.pixelBlock)?this.pixelBlock.height:0}render(e){const i=this.pixelBlock;if(t(i))return;const l=this.filter({pixelBlock:i});if(t(l.pixelBlock))return;const r=l.pixelBlock.getAsRGBA(),o=e.createImageData(l.pixelBlock.width,l.pixelBlock.height);o.data.set(r),e.putImageData(o,0,0)}getRenderedRasterPixels(){const e=this.filter({pixelBlock:this.pixelBlock});return t(e.pixelBlock)?null:{width:e.pixelBlock.width,height:e.pixelBlock.height,renderedRasterPixels:new Uint8Array(e.pixelBlock.getAsRGBA().buffer)}}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e=[\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"];export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={enableCache:!1};export{e as shaderTranspiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isSome as e}from\"../../core/maybe.js\";import{ShaderType as t}from\"./enums.js\";import r from\"./reservedWordsGLSL3.js\";import{shaderTranspiler as a}from\"./testUtils.js\";var o,n={exports:{}};void 0!==(o=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"])&&(n.exports=o);const i=n.exports;var l,s={exports:{}};l=s,function(e){var t=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"];void 0!==t&&(l.exports=t)}();const c=s.exports;var d={exports:{}};!function(e){!function(t){var r=function(){return[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]}();void 0!==r&&(e.exports=r)}()}(d);const u=d.exports;var g=999,p=9999,f=0,_=1,h=2,x=3,m=4,y=5,w=6,M=7,v=8,T=9,b=10,P=11,E=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function C(){var e,t,r,a=0,o=0,n=g,l=[],s=[],d=1,C=0,k=0,j=!1,D=!1,F=\"\";return function(e){return s=[],null!==e?S(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):R()};function L(e){e.length&&s.push({type:E[n],data:e,position:k,line:d,column:C})}function S(t){var i;for(a=0,r=(F+=t).length;e=F[a],a0)continue;r=e.slice(0,1).join(\"\")}return L(r),k+=r.length,(l=l.slice(r.length)).length}}function q(){return/[^a-fA-F0-9]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function B(){return\".\"===e||/[eE]/.test(e)?(l.push(e),n=y,t=e,a+1):\"x\"===e&&1===l.length&&\"0\"===l[0]?(n=P,l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function H(){return\"f\"===e&&(l.push(e),t=e,a+=1),/[eE]/.test(e)||\"-\"===e&&/[eE]/.test(t)?(l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function N(){if(/[^\\d\\w_]/.test(e)){var r=l.join(\"\");return n=i.indexOf(r)>-1?v:u.indexOf(r)>-1?M:w,L(l.join(\"\")),n=g,a}return l.push(e),t=e,a+1}}function k(e){var t=C(),r=[];return r=(r=r.concat(t(e))).concat(t(null))}function j(e){return k(e)}function D(e){return e.map((e=>\"eof\"!==e.type?e.data:\"\")).join(\"\")}const F=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function L(e,t=\"100\",r=\"300 es\"){const a=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const o of e)if(\"preprocessor\"===o.type){const e=a.exec(o.data);if(e){const a=e[1].replace(/\\s\\s+/g,\" \");if(a===r)return a;if(a===t)return o.data=\"#version \"+r,t;throw new Error(\"unknown glsl version: \"+a)}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+r},{type:\"whitespace\",data:\"\\n\"}),null}function S(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if(\"whitespace\"!==t.type&&\"block-comment\"!==t.type){if(\"keyword\"!==t.type)break;if(\"attribute\"===t.data||\"in\"===t.data)return!0}}return!1}function R(e,t,r,a){a=a||r;for(const o of e)if(\"ident\"===o.type&&o.data===r){a in t?t[a]++:t[a]=0;return R(e,t,a+\"_\"+t[a],a)}return r}function V(e,t,r=\"afterVersion\"){function a(e,t){for(let r=t;rt=0;--e){const t=i[e];if(\"preprocessor\"===t.type){const r=t.data.match(/\\#extension\\s+(.*)\\:/);if(r&&r[1]&&F.includes(r[1].trim())){const t=i[e+1];i.splice(e,t&&\"whitespace\"===t.type?2:1)}const a=t.data.match(/\\#ifdef\\s+(.*)/);a&&a[1]&&F.includes(a[1].trim())&&(t.data=\"#if 1\");const o=t.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&F.includes(o[1].trim())&&(t.data=\"#if 0\")}}return q(a,D(i))}const O=new Map;function U(e){return a.enableCache?O.get(e):null}function q(e,t){return a.enableCache&&O.set(e,t),t}export{I as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{update as t}from\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{isSome as o,isNone as i}from\"../../core/maybe.js\";import{webglValidateShadersEnabled as e}from\"./checkWebGLError.js\";import{ContextType as n}from\"./context-util.js\";import{ShaderType as r,ResourceType as s}from\"./enums.js\";import{transpileShader as m}from\"./ShaderTranspiler.js\";const a=4294967295;class h{constructor(t,o,i,a,h=new Map){this._context=t,this._locations=a,this._uniformBlockBindings=h,this._refCount=1,this._compiled=!1,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,t||console.error(\"RenderingContext isn't initialized!\"),0===o.length&&console.error(\"Shaders source should not be empty!\"),this._context.type===n.WEBGL2&&(o=m(o,r.VERTEX_SHADER),i=m(i,r.FRAGMENT_SHADER)),this._vShader=f(this._context,r.VERTEX_SHADER,o),this._fShader=f(this._context,r.FRAGMENT_SHADER,i),this._vShader&&this._fShader||console.error(\"Error loading shaders!\"),this._context.instanceCounter.increment(s.Shader,this),e()&&(this.vertexShader=o,this.fragmentShader=i)}get glName(){if(o(this._glName))return this._glName;if(i(this._vShader))return null;const t=this._context.gl,r=t.createProgram();if(t.attachShader(r,this._vShader),t.attachShader(r,this._fShader),this._locations.forEach(((o,i)=>t.bindAttribLocation(r,o,i))),t.linkProgram(r),e()&&!t.getProgramParameter(r,t.LINK_STATUS)&&console.error(`Could not link shader\\nvalidated: ${t.getProgramParameter(r,t.VALIDATE_STATUS)}, gl error ${t.getError()}, vertex: ${t.getShaderParameter(this._vShader,t.COMPILE_STATUS)}, fragment: ${t.getShaderParameter(this._fShader,t.COMPILE_STATUS)}, info log: ${t.getProgramInfoLog(r)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`),this._context.type===n.WEBGL2){const o=t;for(const[t,i]of this._uniformBlockBindings){const e=o.getUniformBlockIndex(r,t);e0)return;const t=this._context.gl;this._vShader&&(t.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(s.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(s.Program,this))}ref(){++this._refCount}_getUniformLocation(t){return void 0===this._nameToUniformLocation[t]&&(++l.numUniforms,this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this.glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this._getUniformLocation(t)}setUniform1i(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1i(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1iv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1iv(this._getUniformLocation(t),o)}setUniform2iv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2iv(this._getUniformLocation(t),o)}setUniform3iv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3iv(this._getUniformLocation(t),o)}setUniform4iv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4iv(this._getUniformLocation(t),o)}setUniform1f(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1f(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1fv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1fv(this._getUniformLocation(t),o)}setUniform2f(t,o,i){const e=this._nameToUniform2.get(t);void 0===e?(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),this._nameToUniform2.set(t,[o,i])):o===e[0]&&i===e[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),e[0]=o,e[1]=i)}setUniform2fv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2fv(this._getUniformLocation(t),o)}setUniform3f(t,o,i,e){const n=this._nameToUniform3.get(t);void 0===n?(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),this._nameToUniform3[t]=[o,i,e]):o===n[0]&&i===n[1]&&e===n[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),n[0]=o,n[1]=i,n[2]=e)}setUniform3fv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3fv(this._getUniformLocation(t),o)}setUniform4f(t,o,i,e,n){const r=this._nameToUniform4.get(t);void 0===r?(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),this._nameToUniform4.set(t,[o,i,e,n])):void 0!==r&&o===r[0]&&i===r[1]&&e===r[2]&&n===r[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),r[0]=o,r[1]=i,r[2]=e,r[3]=n)}setUniform4fv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4fv(this._getUniformLocation(t),o)}setUniformMatrix3fv(t,o,i=!1){g(this._nameToUniformMatrix3,t,o)&&this._context.gl.uniformMatrix3fv(this._getUniformLocation(t),i,o)}setUniformMatrix4fv(t,o,i=!1){g(this._nameToUniformMatrix4,t,o)&&this._context.gl.uniformMatrix4fv(this._getUniformLocation(t),i,o)}stop(){}}function f(t,o,i){const n=t.gl,s=n.createShader(o);return n.shaderSource(s,i),n.compileShader(s),e()&&!n.getShaderParameter(s,n.COMPILE_STATUS)&&(console.error(\"Compile error in \".concat(o===r.VERTEX_SHADER?\"vertex\":\"fragment\",\" shader\")),console.error(n.getShaderInfoLog(s)),console.error(_(i))),l.enabled&&(l.compiledLOC+=i.match(/\\n/g).length+1),s}function _(t){let o=2;return t.replace(/\\n/g,(()=>\"\\n\"+c(o++)+\":\"))}function c(t){return t>=1e3?t.toString():(\" \"+t).slice(-3)}function g(o,i,e){const n=o.get(i);return n?t(n,e):(o.set(i,Array.from(e)),!0)}const l={compiledLOC:0,numUniforms:0,enabled:!1};export{h as Program,l as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nvar e,n,t,r={exports:{}};e=r,n=function(){function e(e,t,x){x=x||2;var i,u,v,o,y,p,a,l=t&&t.length,h=l?t[0]*x:e.length,s=n(e,0,h,x,!0),c=[];if(!s||s.next===s.prev)return c;if(l&&(s=f(e,t,s,x)),e.length>80*x){i=v=e[0],u=o=e[1];for(var Z=x;Zv&&(v=y),p>o&&(o=p);a=0!==(a=Math.max(v-i,o-u))?1/a:0}return r(s,c,x,i,u,a),c}function n(e,n,t,r,x){var i,u;if(x===E(e,n,t,r)>0)for(i=n;i=n;i-=r)u=B(i,e[i],e[i+1],u);if(u&&M(u,u.next)){var v=u.next;C(u),u=v}return u}function t(e,n){if(!e)return e;n||(n=e);var t,r=e;do{if(t=!1,r.steiner||!M(r,r.next)&&0!==w(r.prev,r,r.next))r=r.next;else{var x=r.prev;if(C(r),(r=n=x)===r.next)break;t=!0}}while(t||r!==n);return n}function r(e,n,f,o,y,p,a){if(e){!a&&p&&h(e,o,y,p);for(var l,s,c=e;e.prev!==e.next;)if(l=e.prev,s=e.next,p?i(e,o,y,p):x(e))n.push(l.i/f),n.push(e.i/f),n.push(s.i/f),C(e),e=s.next,c=s.next;else if((e=s)===c){a?1===a?r(e=u(t(e),n,f),n,f,o,y,p,2):2===a&&v(e,n,f,o,y,p):r(t(e),n,f,o,y,p,1);break}}}function x(e){var n=e.prev,t=e,r=e.next;if(w(n,t,r)>=0)return!1;for(var x=e.next.next;x!==e.prev;){if(g(n.x,n.y,t.x,t.y,r.x,r.y,x.x,x.y)&&w(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function i(e,n,t,r){var x=e.prev,i=e,u=e.next;if(w(x,i,u)>=0)return!1;for(var v=x.xi.x?x.x>u.x?x.x:u.x:i.x>u.x?i.x:u.x,y=x.y>i.y?x.y>u.y?x.y:u.y:i.y>u.y?i.y:u.y,p=c(v,f,n,t,r),a=c(o,y,n,t,r),l=e.prevZ,h=e.nextZ;l&&l.z>=p&&h&&h.z<=a;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;if(l=l.prevZ,h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;l&&l.z>=p;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;h&&h.z<=a;){if(h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function u(e,n,r){var x=e;do{var i=x.prev,u=x.next.next;!M(i,u)&&z(i,x,x.next,u)&&j(i,u)&&j(u,i)&&(n.push(i.i/r),n.push(x.i/r),n.push(u.i/r),C(x),C(x.next),x=e=u),x=x.next}while(x!==e);return t(x)}function v(e,n,x,i,u,v){var f=e;do{for(var o=f.next.next;o!==f.prev;){if(f.i!==o.i&&d(f,o)){var y=A(f,o);return f=t(f,f.next),y=t(y,y.next),r(f,n,x,i,u,v),void r(y,n,x,i,u,v)}o=o.next}f=f.next}while(f!==e)}function f(e,r,x,i){var u,v,f,y=[];for(u=0,v=r.length;u=r.next.y&&r.next.y!==r.y){var v=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(v<=x&&v>u){if(u=v,v===x){if(i===r.y)return r;if(i===r.next.y)return r.next}t=r.x=r.x&&r.x>=y&&x!==r.x&&g(it.x||r.x===t.x&&l(t,r)))&&(t=r,a=f)),r=r.next}while(r!==o);return t}function l(e,n){return w(e.prev,e,n.prev)<0&&w(n.next,e,e.next)<0}function h(e,n,t,r){var x=e;do{null===x.z&&(x.z=c(x.x,x.y,n,t,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,s(x)}function s(e){var n,t,r,x,i,u,v,f,o=1;do{for(t=e,e=null,i=null,u=0;t;){for(u++,r=t,v=0,n=0;n0||f>0&&r;)0!==v&&(0===f||!r||t.z<=r.z)?(x=t,t=t.nextZ,v--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;t=r}i.nextZ=null,o*=2}while(u>1);return e}function c(e,n,t,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-t)*x)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-r)*x)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function Z(e){var n=e,t=e;do{(n.x=0&&(e-u)*(r-v)-(t-u)*(n-v)>=0&&(t-u)*(i-v)-(x-u)*(r-v)>=0}function d(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!k(e,n)&&(j(e,n)&&j(n,e)&&q(e,n)&&(w(e.prev,e,n.prev)||w(e,n.prev,n))||M(e,n)&&w(e.prev,e,e.next)>0&&w(n.prev,n,n.next)>0)}function w(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function M(e,n){return e.x===n.x&&e.y===n.y}function z(e,n,t,r){var x=m(w(e,n,t)),i=m(w(e,n,r)),u=m(w(t,r,e)),v=m(w(t,r,n));return x!==i&&u!==v||!(0!==x||!b(e,t,n))||!(0!==i||!b(e,r,n))||!(0!==u||!b(t,e,r))||!(0!==v||!b(t,n,r))}function b(e,n,t){return n.x<=Math.max(e.x,t.x)&&n.x>=Math.min(e.x,t.x)&&n.y<=Math.max(e.y,t.y)&&n.y>=Math.min(e.y,t.y)}function m(e){return e>0?1:e<0?-1:0}function k(e,n){var t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&z(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function j(e,n){return w(e.prev,e,e.next)<0?w(e,n,e.next)>=0&&w(e,e.prev,n)>=0:w(e,n,e.prev)<0||w(e,e.next,n)<0}function q(e,n){var t=e,r=!1,x=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&x<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(r=!r),t=t.next}while(t!==e);return r}function A(e,n){var t=new D(e.i,e.x,e.y),r=new D(n.i,n.x,n.y),x=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=x,x.prev=t,r.next=t,t.prev=r,i.next=r,r.prev=i,r}function B(e,n,t,r){var x=new D(e,n,t);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function C(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function D(e,n,t){this.i=e,this.x=n,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(e,n,t,r){for(var x=0,i=n,u=t-r;i0&&(r+=e[x-1].length,t.holes.push(r))}return t},e},void 0!==(t=n())&&(e.exports=t);const x=r.exports;export{x as e};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{e as o}from\"../../../../chunks/earcut.js\";import{a as s}from\"../../../../chunks/vec2.js\";import{a as n}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as i,convertFromPolygon as c}from\"../../../../layers/graphics/featureConversionUtils.js\";import a from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as f}from\"./number.js\";import{BufferObject as h}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as m,Usage as u,DataType as y}from\"../../../webgl/enums.js\";const x=t.getLogger(\"esri.views.2d.engine.webgl.Mesh2D\"),g=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return y.UNSIGNED_BYTE;case 2:return y.UNSIGNED_SHORT;case 4:return y.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},p=(e,t,r,o)=>{let s=0;for(let n=1;n0:s<0},l=({coords:e,lengths:t},r)=>{const s=[];for(let n=0,i=0;n({...r,[o]:h.createVertex(e,t,this.vertices[o])})),{})),this._cache.vertexBuffers}}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{isSome as r,isNone as s}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import a from\"./Mesh2D.js\";import{VertexArrayObject as c}from\"../../../webgl/VertexArrayObject.js\";const n=e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),m=t=>parseFloat(t)/100;class p extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=i((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new p(t,e)}_destroyGL(){r(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),r(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,i){const[o,h]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===h||(this._lastWidth=o,this._lastHeight=h,this._destroyGL()),s(this._cache.vao)){const s=this._createMesh(e,this._clip),o=s.getIndexBuffer(t),h=s.getVertexBuffers(t);this._cache.mesh=s,this._cache.vao=new c(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:o()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?m(e.left)*r:e.left,o=\"string\"==typeof e.right?m(e.right)*r:e.right,h=\"string\"==typeof e.top?m(e.top)*s:e.top,a=\"string\"==typeof e.bottom?m(e.bottom)*s:e.bottom,c=i,n=h;return{x:c,y:n,width:Math.max(r-o-c,0),height:Math.max(s-a-n,0)}}_createMesh(e,r){switch(r.type){case\"rect\":return a.fromRect(this._createScreenRect(e,r));case\"path\":return a.fromPath(r);case\"geometry\":return a.fromGeometry(e,r);default:return n.error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),a.fromRect({x:0,y:0,width:1,height:1})}}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{brushes as t}from\"../brushes.js\";import{Container as i}from\"../Container.js\";import n from\"./ClippingInfo.js\";import{WGLDrawPhase as o}from\"./enums.js\";class a extends i{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}_createTransforms(){return{dvs:s()}}doRender(e){const r=this.createRenderParams(e),{painter:s,globalOpacity:t,profiler:i,drawPhase:n}=r,a=n===o.LABEL||n===o.HIGHLIGHT?1:t*this.computedOpacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(r),s.compositeLayer(r,a),i.recordContainerEnd()}renderChildren(r){e(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(r.painter));for(const e of this.children)e.beforeRender(r);for(const e of this._renderPasses)try{e.render(r)}catch(s){}for(const e of this.children)e.afterRender(r)}createRenderParams(e){return e.requireFBO=this.requiresDedicatedFBO,e}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[t.clip],target:()=>this._clippingInfos,drawPhase:o.MAP|o.LABEL|o.LABEL_ALPHA|o.DEBUG|o.HIGHLIGHT})]}updateTransforms(e){for(const r of this.children)r.setTransform(e)}onAttach(){super.onAttach(),this._updateClippingInfo()}onDetach(){super.onDetach(),this._updateClippingInfo()}_updateClippingInfo(){if(r(this._clippingInfos)&&(this._clippingInfos.forEach((e=>e.destroy())),this._clippingInfos=null),!this.stage)return;const e=this._clips;r(e)&&e.length&&(this._clippingInfos=e.items.map((e=>n.fromClipArea(this.stage,e)))),this.requestRender()}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../../chunks/tslib.es6.js\";import e from\"../../../core/Logger.js\";import{isAbortError as r}from\"../../../core/promiseUtils.js\";import{property as s}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as i}from\"../../../core/accessorSupport/decorators/subclass.js\";import{BitmapContainer as a}from\"../engine/BitmapContainer.js\";import{LayerView2DMixin as o}from\"./LayerView2D.js\";import p from\"./support/ExportStrategy.js\";import n from\"../../layers/LayerView.js\";import m from\"../../layers/RefreshableLayerView.js\";const h=e.getLogger(\"esri.views.2d.layers.BaseDynamicLayerView2D\");let c=class extends(m(o(n))){update(t){this.strategy.update(t).catch((t=>{r(t)||h.error(t)})),this.notifyChange(\"updating\")}attach(){this._bitmapContainer=new a,this.container.addChild(this._bitmapContainer),this.strategy=new p({container:this._bitmapContainer,fetchSource:this.fetchBitmapData.bind(this),requestUpdate:this.requestUpdate.bind(this)})}detach(){this.strategy.destroy(),this.strategy=null,this.container.removeChild(this._bitmapContainer),this._bitmapContainer.removeAllChildren()}moveStart(){}viewChange(){}moveEnd(){this.requestUpdate()}fetchBitmapData(t,e,r){return this.layer.fetchImage(t,e,r)}async doRefresh(){this.requestUpdate()}isUpdating(){return this.strategy.updating||this.updateRequested}};t([s()],c.prototype,\"strategy\",void 0),t([s()],c.prototype,\"updating\",void 0),c=t([i(\"esri.views.2d.layers.BaseDynamicLayerView2D\")],c);const d=c;export{d as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst t=Math.PI/180;function n(n){return n*t}function o(t,n,o){const{resolution:r,size:u}=o;return t[0]=r*(Math.round(n[0]/r)+u[0]%2*.5),t[1]=r*(Math.round(n[1]/r)+u[1]%2*.5),t}function r(t,o){const r=n(o.rotation),u=Math.abs(Math.cos(r)),a=Math.abs(Math.sin(r)),[s,c]=o.size;return t[0]=Math.round(c*a+s*u),t[1]=Math.round(c*u+s*a),t}function u(t,n,o,r){const[u,a]=n,[s,c]=r,i=.5*o;return t[0]=u-i*s,t[1]=a-i*c,t[2]=u+i*s,t[3]=a+i*c,t}function a(t,n){const[o,r,u,a]=t,[s,c,i,e]=n;return!(o>i||ue||a{if(!t.stationary||this.destroyed)return null;const i=t.state,o=p(i.spatialReference),r=this.hidpi?t.pixelRatio:1,s=this.imageNormalizationSupported&&i.worldScreenWidth&&i.worldScreenWidththis.imageMaxWidth||Math.floor(g[1]*r)>this.imageMaxHeight,n=o&&(i.extent.xmino.valid[1]),l=!this.imageNormalizationSupported&&n,d=!a&&!l,h=this.imageRotationSupported?i.rotation:0;if(d){const t=s?i.paddedViewState.center:i.center;this._imagePromise=this._singleExport(i,g,t,i.resolution,h,r,e)}else{let t=Math.min(this.imageMaxWidth,this.imageMaxHeight);l&&(t=Math.min(i.worldScreenWidth,t)),this._imagePromise=this._tiledExport(i,t,r,e)}return this._imagePromise.then((async t=>{if(this._imagePromise=null,!this.destroyed){this.bitmaps=t??[];for(const e of this.container.children)t.includes(e)||e.fadeOut().then((()=>{e.remove()}));for(const e of t)this.container.addChild(e),e.fadeIn()}})).catch((t=>{throw this._imagePromise=null,t}))}),5e3)}destroy(){this.bitmaps=[]}get updating(){return!this.destroyed&&null!==this._imagePromise}updateExports(t){for(const e of this.container.children){if(!e.visible||!e.stage)return;t(e),e.invalidateTexture(),e.requestRender()}}async _export(t,e,i,o,r,s){const a=await this.fetchSource(t,Math.floor(e*r),Math.floor(i*r),{rotation:o,pixelRatio:r,signal:s}),p=new d(a,\"additive\");return p.x=t.xmin,p.y=t.ymax,p.resolution=t.width/e,p.rotation=o,p.pixelRatio=r,p}async _singleExport(t,e,i,o,r,a,p){l(u,i,o,e);const n=new s(u[0],u[1],u[2],u[3],t.spatialReference);return[await this._export(n,e[0],e[1],r,a,p)]}_tiledExport(t,e,i,o){const r=n.create({size:e,spatialReference:t.spatialReference,scales:[t.scale]}),a=new h(r),p=a.getTileCoverage(t);if(!p)return null;const m=[];return p.forEach(((r,p,n,l)=>{f.set(r,p,n,l),a.getTileBounds(u,f);const d=new s(u[0],u[1],u[2],u[3],t.spatialReference);m.push(this._export(d,e,e,0,i,o))})),Promise.all(m)}};t([o()],y.prototype,\"_imagePromise\",void 0),t([o()],y.prototype,\"bitmaps\",void 0),t([o()],y.prototype,\"container\",void 0),t([o()],y.prototype,\"fetchSource\",void 0),t([o()],y.prototype,\"hidpi\",void 0),t([o()],y.prototype,\"imageMaxWidth\",void 0),t([o()],y.prototype,\"imageMaxHeight\",void 0),t([o()],y.prototype,\"imageRotationSupported\",void 0),t([o()],y.prototype,\"imageNormalizationSupported\",void 0),t([o()],y.prototype,\"requestUpdate\",void 0),t([o()],y.prototype,\"updating\",null),y=t([r(\"esri.views.2d.layers.support.ExportStrategy\")],y);const S=y;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos, 0.0, 1.0);\\nv_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(in vec3 c) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\nreturn (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\nreturn (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(vividLight(Cb.r, Cs.r),\\nvividLight(Cb.g, Cs.g),\\nvividLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_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\\ngl_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\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn 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\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},heatmap:{heatmapResolve:{\"heatmapResolve.frag\":\"precision highp float;\\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 4.0\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform sampler2D u_texture;\\nuniform sampler2D u_gradient;\\nuniform vec2 u_densityMinAndInvRange;\\nuniform float u_densityNormalization;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 data = texture2D(u_texture, v_uv);\\nfloat density = data.r * COMPRESSION_FACTOR;\\ndensity *= u_densityNormalization;\\ndensity = (density - u_densityMinAndInvRange.x) * u_densityMinAndInvRange.y;\\nvec4 color = texture2D(u_gradient, vec2(density, 0.5));\\ngl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"heatmapResolve.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nvarying vec2 v_uv;\\nconst float UV_TO_TILE_SPACE = 512.;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos * UV_TO_TILE_SPACE, 1.)).xy, 1., 1.);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_texture;\\nmediump float gauss1(mediump vec2 dir) {\\nreturn exp(-dot(dir, dir) / (2.0 * u_sigma * u_sigma));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\nreturn u_channelSelector * sample;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\nmediump float w = gauss1(i * u_direction.xy);\\ntot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\nweight += w;\\n}\\nvoid main(void) {\\nmediump float tot = 0.0;\\nmediump float weight = 0.0;\\naccumGauss1(-5.0, tot, weight);\\naccumGauss1(-4.0, tot, weight);\\naccumGauss1(-3.0, tot, weight);\\naccumGauss1(-2.0, tot, weight);\\naccumGauss1(-1.0, tot, weight);\\naccumGauss1(0.0, tot, weight);\\naccumGauss1(1.0, tot, weight);\\naccumGauss1(2.0, tot, weight);\\naccumGauss1(3.0, tot, weight);\\naccumGauss1(4.0, tot, weight);\\naccumGauss1(5.0, tot, weight);\\ngl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\nmediump float y = texture2D(u_texture, v_texcoord)[3];\\nconst mediump float y0 = 0.5;\\nmediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * u_sigma);\\nmediump float d = (y - y0) / m0;\\nreturn d;\\n}\\nmediump vec4 shade(mediump float d) {\\nmediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\nmappedDistance = clamp(mappedDistance, 0.0, 1.0);\\nreturn texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\nmediump float d = estimateDistance();\\ngl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_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_overlayTexture;\\nuniform bool u_maskEnabled;\\nuniform bool u_overlayEnabled;\\nvarying mediump vec2 v_texCoord;\\nconst lowp float barrelFactor = 1.1;\\nlowp vec2 barrel(lowp vec2 uv) {\\nlowp vec2 uvn = uv * 2.0 - 1.0;\\nif (uvn.x == 0.0 && uvn.y == 0.0) {\\nreturn vec2(0.5, 0.5);\\n}\\nlowp float theta = atan(uvn.y, uvn.x);\\nlowp float r = pow(length(uvn), barrelFactor);\\nreturn r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\nlowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\ncolor = (color + (1.0 - color.a) * u_background);\\nlowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\ncolor *= mask;\\nlowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\ngl_FragColor = overlayColor + (1.0 - overlayColor.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec4 u_drawPos;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\nv_texCoord = a_pos;\\ngl_Position = vec4(u_drawPos.xy + vec2(a_pos - 0.5) * u_drawPos.zw, 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 sampler2D u_attributeData4;\\nuniform highp sampler2D u_attributeData5;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec3 id) {\\nhighp vec3 texel = unpackDisplayIdTexel(id);\\nhighp float size = float(u_attributeTextureSize);\\nhighp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256);\\nhighp float col = mod(u32, size);\\nhighp float row = (u32 - col) / size;\\nhighp float u = col / size;\\nhighp float v = row / size;\\nreturn vec2(u, v);\\n}\\nhighp vec2 getAttributeDataTextureCoords(in highp vec3 id) {\\nreturn (getAttributeDataCoords(id) * 2.0) - 1.0 + (.5 / vec2(u_attributeTextureSize));\\n}\\nhighp vec4 getAttributeData0(in highp vec3 id) {\\nvec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData3, coords);\\n}\\nhighp vec4 getAttributeData4(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData4, coords);\\n}\\nhighp vec4 getAttributeData5(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData5, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\nbool isMagic = v.x == 255.0 && v.y == 255.0;\\nif (isMagic) {\\nreturn NAN_MAGIC_NUMBER;\\n}\\nreturn (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"barycentric.glsl\":\"float inTriangle(vec3 bary) {\\nvec3 absBary = abs(bary);\\nreturn step((absBary.x + absBary.y + absBary.z), 1.05);\\n}\\nvec3 xyToBarycentric(in vec2 pos, in vec2 v0, in vec2 v1, in vec2 v2) {\\nmat3 xyToBarycentricMat3 = mat3(\\nv1.x * v2.y - v2.x * v1.y, v2.x * v0.y - v0.x * v2.y, v0.x * v1.y - v1.x * v0.y,\\nv1.y - v2.y, v2.y - v0.y, v0.y - v1.y,\\nv2.x - v1.x, v0.x - v2.x, v1.x - v0.x\\n);\\nfloat A2 = v0.x * (v1.y - v2.y) + v1.x * (v2.y - v0.y) + v2.x * (v0.y - v1.y);\\nreturn (1. / A2) * xyToBarycentricMat3 * vec3(1., pos);\\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 C_RAD_TO_DEG = 180.0 / 3.141592654;\\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.00001;\\nconst float EPSILON_HITTEST = 0.05;\\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;\\nconst int BITSET_GENERIC_LOCK_COLOR = 1;\\nconst int BITSET_GENERIC_CONSIDER_ALPHA_ONLY = 4;\\nconst int BITSET_MARKER_ALIGNMENT_MAP = 0;\\nconst int BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE = 2;\\nconst int BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY = 3;\\nconst int BITSET_TYPE_FILL_OUTLINE = 0;\\nconst int BITSET_FILL_RANDOM_PATTERN_OFFSET = 2;\\nconst int BITSET_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#include \\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_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 highp vec3 v_id;\\nvarying lowp vec4 v_color;\\nvarying lowp float v_opacity;\\nvarying mediump vec4 v_aux1;\\n#ifdef PATTERN\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvarying lowp float v_isOutline;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_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 PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nlowp vec4 drawLine() {\\nfloat v_lineWidth = v_aux1.x;\\nvec2 v_normal = v_aux1.yz;\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineWidth,\\nv_opacity,\\nv_id\\n);\\nreturn shadeLine(inputs);\\n}\\n#endif\\nlowp vec4 drawFill() {\\nlowp vec4 out_color = vec4(0.);\\n#ifdef HITTEST\\nout_color = v_color;\\n#elif defined(PATTERN)\\nmediump vec4 v_tlbr = v_aux1;\\nmediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\nmediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\nlowp vec4 color = texture2D(u_texture, samplePos);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nout_color = v_opacity * v_color * color;\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY && !defined(HIGHLIGHT)\\nvec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\nvec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\nvec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\nvec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\nvec4 isPositive0 = step(0.0, difference0);\\nvec4 isPositive1 = step(0.0, difference1);\\nfloat weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\nfloat lessThanEqZero = step(weightSum, 0.0);\\nfloat greaterThanZero = 1.0 - lessThanEqZero ;\\nfloat divisor = (weightSum + lessThanEqZero);\\nvec4 weights0 = difference0 * isPositive0 / divisor;\\nvec4 weights1 = difference1 * isPositive1 / divisor;\\nvec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\nvec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\nfloat diffMax = max(max4(difference0), max4(difference1));\\nfloat lessThanZero = step(diffMax, 0.0);\\nfloat greaterOrEqZero = 1.0 - lessThanZero;\\nvec4 isMax0 = step(diffMax, difference0);\\nvec4 isMax1 = step(diffMax, difference1);\\nvec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\nvec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\nout_color = preEffectColor;\\n#else\\nout_color = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\nout_color.a = 1.0;\\n#endif\\nreturn out_color;\\n}\\nvoid main() {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#include \\n#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_aux2;\\nattribute vec4 a_aux3;\\n#ifndef SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\nattribute vec4 a_aux1;\\nattribute vec2 a_zoomRange;\\n#else\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#endif\\n#endif\\nuniform vec2 u_tileOffset;\\n#include \\n#include \\n#include \\n#include \\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nvoid drawLine(out lowp vec4 out_color, out highp vec3 out_pos) {\\nLineData outputs = buildLine(\\nout_pos,\\na_id,\\na_pos,\\na_color,\\n(a_aux3.xy - 128.) / 16.,\\n(a_aux3.zw - 128.) / 16.,\\n0.,\\na_aux2.z / 16.,\\na_bitset,\\nvec4(0.),\\nvec2(0.),\\na_aux2.w / 16.\\n);\\nv_id = outputs.id;\\nv_opacity = outputs.opacity;\\nv_aux1 = vec4(outputs.lineHalfWidth, outputs.normal, 0.);\\nout_color = outputs.color;\\n}\\n#endif\\nvoid drawFill(out lowp vec4 out_color, out highp vec3 out_pos) {\\nfloat a_bitSet = a_bitset;\\nout_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nmat3 tileToTileNormalized = mat3( 2. / 512., 0., 0.,\\n0., -2. / 512., 0.,\\n-1., 1., 1. );\\nout_pos = tileToTileNormalized * vec3((a_pos * FILL_POSITION_PRECISION), 1.);\\n#else\\nout_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n#endif\\n#ifdef PATTERN\\nvec4 a_tlbr = a_aux1;\\nfloat a_width = a_aux2.x;\\nfloat a_height = a_aux2.y;\\nvec2 a_offset = a_aux2.zw;\\nvec2 a_scale = a_aux3.xy;\\nfloat a_angle = a_aux3.z;\\nvec2 scale = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_scale;\\nfloat width = u_zoomFactor * a_width * scale.x;\\nfloat height = u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (getBit(a_bitset, BITSET_FILL_RANDOM_PATTERN_OFFSET) > 0.5) {\\nfloat id = rgba2float(vec4(a_id, 0.0));\\ndx = rand(vec2(id, 0.0));\\ndy = rand(vec2(0.0, id));\\n}\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\ndx, dy, 1);\\nvec2 tileOffset = vec2(u_tileOffset.x * cosA - u_tileOffset.y * sinA, u_tileOffset.x * sinA + u_tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, vec2(a_aux2.x, a_aux2.y));\\nvec2 symbolOffset = (a_offset - tileOffset) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\nv_sampleAlphaOnly = getBit(a_bitset, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\nvec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\nfloat size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\nv_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\nv_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\nv_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n}\\n#ifdef HITTEST\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nhittestFill(out_color, out_pos);\\ngl_PointSize = 1.0;\\n}\\n#elif defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\nv_isOutline = getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE);\\nif (v_isOutline > 0.5) {\\ndrawLine(out_color, out_pos);\\n} else {\\ndrawFill(out_color, out_pos);\\n}\\n}\\n#else\\n#define draw drawFill\\n#endif\\nvoid main()\\n{\\nINIT;\\nhighp vec3 pos = vec3(0.);\\nhighp vec4 color = vec4(0.);\\ndraw(color, pos);\\nv_color = color;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestFill(\\nout lowp vec4 out_color,\\nout highp vec3 out_pos\\n) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * FILL_POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * FILL_POSITION_PRECISION, 1.);\\nfloat hittestDist = u_hittestDist;\\nfloat dist = distPointTriangle(u_hittestPos, pos.xy, pos1.xy, pos2.xy);\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist < 0. || dist >= hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist == 0. ? (1. / 255.) : 0.);\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\nfloat projectScalar(vec2 a, vec2 b) {\\nreturn dot(a, normalize(b));\\n}\\nfloat distPointSegment(vec2 p0, vec2 p1, vec2 p2) {\\nvec2 L = p2 - p1;\\nvec2 A = p0 - p1;\\nfloat projAL = projectScalar(A, L);\\nfloat t = clamp(projAL / length(L), 0., 1.);\\nreturn distance(p0, p1 + t * (p2 - p1));\\n}\\nvoid hittestMarker(out lowp vec4 out_color, out highp vec3 out_pos, in highp vec3 pos, float size) {\\nfloat dist = distance(pos, vec3(u_hittestPos, 1.));\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif ((dist - size) > u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, (dist - size) < 0. ? (1. / 255.) : 0.);\\n}\\nfloat intersectPointTriangleBary(vec2 p, vec2 a, vec2 b, vec2 c) {\\nreturn inTriangle(xyToBarycentric(p, a, b, c));\\n}\\nfloat distPointTriangle(vec2 p, vec2 a, vec2 b, vec2 c) {\\nvec2 ba = b - a;\\nvec2 ca = c - a;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_HITTEST && crossProduct > -EPSILON_HITTEST;\\nif (isParallel) {\\nreturn -1.;\\n}\\nif (intersectPointTriangleBary(p.xy, a, b, c) == 1.) {\\nreturn 0.;\\n}\\nfloat distAB = distPointSegment(p, a, b);\\nfloat distBC = distPointSegment(p, b, c);\\nfloat distCA = distPointSegment(p, c, a);\\nreturn min(min(distAB, distBC), distCA);\\n}\\n#endif\"},icon:{\"common.glsl\":\"#include \\nuniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nuniform lowp sampler2D u_texture;\\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\\n#ifdef SDF\\nvec4 getColor(vec2 v_size, vec2 v_tex) {\\nlowp vec4 fillPixelColor = v_color;\\nfloat d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\nfloat size = max(v_size.x, v_size.y);\\nfloat dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\nfillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\nfloat outlineWidth = v_outlineWidth;\\n#ifdef HIGHLIGHT\\noutlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n#endif\\nif (outlineWidth > 0.25) {\\nlowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\nfloat clampedOutlineSize = min(outlineWidth, size);\\noutlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\nreturn v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n}\\nreturn v_opacity * fillPixelColor;\\n}\\n#else\\nvec4 getColor(vec2 _v_size, vec2 v_tex) {\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\n}\\n#endif\",heatmapAccumulate:{\"common.glsl\":\"varying lowp vec4 v_hittestResult;\\nvarying mediump vec2 v_offsetFromCenter;\\nvarying highp float v_fieldValue;\",\"heatmapAccumulate.frag\":\"precision mediump float;\\n#include \\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 0.25\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform lowp sampler2D u_texture;\\nvoid main() {\\n#ifdef HITTEST\\ngl_FragColor = v_hittestResult;\\n#else\\nfloat radius = length(v_offsetFromCenter);\\nfloat shapeWeight = step(radius, 1.0);\\nfloat oneMinusRadiusSquared = 1.0 - radius * radius;\\nfloat kernelWeight = oneMinusRadiusSquared * oneMinusRadiusSquared;\\ngl_FragColor = vec4(shapeWeight * kernelWeight * v_fieldValue * COMPRESSION_FACTOR);\\n#endif\\n}\",\"heatmapAccumulate.vert\":\"precision highp float;\\nattribute vec2 a_vertexOffset;\\nvec4 a_color = vec4(0.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\nuniform float u_radius;\\nuniform float u_isFieldActive;\\nconst float TILE_TO_CLIP_SPACE = 2.0 / 512.0;\\n#include \\n#include \\n#include \\nvoid main() {\\nfloat filterFlags = getFilterFlags();\\n#ifdef HITTEST\\nhighp vec4 out_hittestResult = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nhittestMarker(out_hittestResult, out_pos, pos, u_radius);\\nv_hittestResult = out_hittestResult;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(a_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\nv_offsetFromCenter = sign(a_vertexOffset);\\nv_fieldValue = getAttributeData2(a_id).x * u_isFieldActive + 1.0 - u_isFieldActive;\\nvec3 centerPos = vec3(a_pos * POSITION_PRECISION * TILE_TO_CLIP_SPACE - 1.0, 1.0);\\nvec3 vertexPos = centerPos + vec3(v_offsetFromCenter, 0.0) * u_radius * TILE_TO_CLIP_SPACE;\\ngl_Position = vec4(clip(a_color, vertexPos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_vertexOffset1;\\nattribute vec2 a_vertexOffset2;\\nattribute vec2 a_texCoords1;\\nattribute vec2 a_texCoords2;\\nvec2 getTextureCoords(in vec3 bary, in vec2 texCoords0, in vec2 texCoords1, in vec2 texCoords2) {\\nreturn texCoords0 * bary.x + texCoords1 * bary.y + texCoords2 * bary.z;\\n}\\nvoid hittestIcon(\\ninout lowp vec4 out_color,\\nout highp vec3 out_pos,\\nin vec3 pos,\\nin vec3 offset,\\nin vec2 size,\\nin float scaleFactor,\\nin float isMapAligned\\n) {\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 posBase = u_viewMat3 * u_tileMat3 * pos;\\nvec3 offset1 = scaleFactor * vec3(a_vertexOffset1 / 16.0, 0.);\\nvec3 offset2 = scaleFactor * vec3(a_vertexOffset2 / 16.0, 0.);\\nvec2 pos0 = (posBase + getMatrixNoDisplay(isMapAligned) * offset).xy;\\nvec2 pos1 = (posBase + getMatrixNoDisplay(isMapAligned) * offset1).xy;\\nvec2 pos2 = (posBase + getMatrixNoDisplay(isMapAligned) * offset2).xy;\\nvec3 bary0 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary1 = xyToBarycentric(u_hittestPos + vec2(0., -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary2 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary3 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary4 = xyToBarycentric(u_hittestPos, pos0, pos1, pos2);\\nvec3 bary5 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary6 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec3 bary7 = xyToBarycentric(u_hittestPos + vec2(0., u_hittestDist), pos0, pos1, pos2);\\nvec3 bary8 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec2 tex0 = a_texCoords / u_mosaicSize;\\nvec2 tex1 = a_texCoords1 / u_mosaicSize;\\nvec2 tex2 = a_texCoords2 / u_mosaicSize;\\nfloat alphaSum = 0.;\\nalphaSum += inTriangle(bary0) * getColor(size, getTextureCoords(bary0, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary1) * getColor(size, getTextureCoords(bary1, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary2) * getColor(size, getTextureCoords(bary2, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary3) * getColor(size, getTextureCoords(bary3, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary4) * getColor(size, getTextureCoords(bary4, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary5) * getColor(size, getTextureCoords(bary5, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary6) * getColor(size, getTextureCoords(bary6, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary7) * getColor(size, getTextureCoords(bary7, tex0, tex1, tex2)).a;\\nout_pos.z += step(alphaSum, .05) * 2.0;\\nout_color = vec4(1. / 255., 0., 0., alphaSum / 255.);\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\nvoid main()\\n{\\n#ifdef HITTEST\\nvec4 color = v_color;\\n#else\\nvec4 color = getColor(v_sizeTex.xy, v_sizeTex.zw);\\n#endif\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\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 vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\nfloat getMarkerScaleFactor(inout vec2 size, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat f = getSize(size.y) / size.y;\\nfloat sizeFactor = size.y / referenceSize;\\nreturn getSize(referenceSize) / referenceSize;\\n#else\\nreturn 1.;\\n#endif\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec2 size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec3 offset = vec3(a_vertexOffset / 16.0, 0.);\\nfloat outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nfloat referenceSize = a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0;\\nfloat scaleSymbolProportionally = getBit(a_bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\nfloat scaleFactor = getMarkerScaleFactor(size, referenceSize);\\nsize.xy *= scaleFactor;\\noffset.xy *= scaleFactor;\\noutlineSize *= scaleSymbolProportionally * (scaleFactor - 1.0) + 1.0;\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nfloat filterFlags = getFilterFlags();\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getMatrix(isMapAligned) * getRotation() * offset;\\nv_sizeTex = vec4(size.xy, v_tex.xy);\\n#ifdef SDF\\nv_isThin = getBit(a_bitSet, BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE);\\n#ifdef VV_COLOR\\nv_overridingOutlineColor = v_isThin;\\n#else\\nv_overridingOutlineColor = 0.0;\\n#endif\\nv_outlineWidth = min(outlineSize, max(max(size.x, size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nhighp vec4 out_color = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nhittestIcon(out_color, out_pos, pos, offset, size, scaleFactor, isMapAligned);\\nv_color = out_color;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\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_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\nfloat glyphAngle = angle * 360.0 / 254.0;\\nfloat mapAngle = u_mapRotation * 360.0 / 254.0;\\nfloat diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\nfloat z = 0.0;\\nz += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_currentZoom)));\\nz += u_mapAligned * 2.0 * step(90.0, diffAngle);\\nz += 2.0 * (1.0 - step(u_currentZoom, maxZoom));\\nreturn z;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat groupMinZoom = getMinZoom();\\nfloat glyphMinZoom = a_glyphData.x;\\nfloat glyphMaxZoom = a_glyphData.y;\\nfloat glyphAngle = a_glyphData.z;\\nfloat a_minZoom = max(groupMinZoom, glyphMinZoom);\\nfloat a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\nvec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\nfloat a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\nfloat fontSize = a_texAndSize.z;\\nfloat haloSize = a_texAndSize.w * OUTLINE_SCALE;\\nvec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nfloat halfSize = getSize(a_refSymbolSize) / 2.0;\\nfloat animation = pow(getAnimationState(), vec4(2.0)).r;\\nv_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\nvec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\nvec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\nvec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\ngl_Position = vec4(v_pos, 1.0);\\n#ifdef DEBUG\\nv_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 vec3 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\n#ifdef PATTERN\\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\\n#ifdef SDF\\nvarying mediump float v_lineWidthRatio;\\n#endif\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestLine(out lowp vec4 out_color, out highp vec3 out_pos, float halfWidth) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * POSITION_PRECISION, 1.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat dist = min(distPointSegment(u_hittestPos, pos.xy, pos1.xy),\\ndistPointSegment(u_hittestPos, pos.xy, pos2.xy)) - halfWidth;\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist >= u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist <= 0. ? (1. / 255.) : 0.);\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = v_color;\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr,\\nv_patternSize,\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance,\\n#endif\\n#endif\\nv_id\\n);\\ngl_FragColor = shadeLine(inputs);\\n}\\n#endif\",\"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;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid draw() {\\nfloat aa = 0.5 * u_antialiasing;\\nfloat a_halfWidth = a_accumulatedDistanceAndHalfWidth.y / 16.;\\nfloat a_cimHalfWidth = a_aux.x / 16. ;\\nvec2 a_offset = a_offsetAndNormal.xy / 16.;\\nfloat baseWidth = getBaseLineHalfWidth(a_halfWidth, a_cimHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nhighp vec3 pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestLine(v_color, pos, halfWidth);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#else\\nvoid draw()\\n{\\nhighp vec3 pos = vec3(0.);\\nLineData outputs = buildLine(\\npos,\\na_id,\\na_pos,\\na_color,\\na_offsetAndNormal.xy / 16.,\\na_offsetAndNormal.zw / 16.,\\na_accumulatedDistanceAndHalfWidth.x,\\na_accumulatedDistanceAndHalfWidth.y / 16.,\\na_segmentDirection.w,\\na_tlbr,\\na_segmentDirection.xy / 16.,\\na_aux.x / 16.\\n);\\nv_id = outputs.id;\\nv_color = outputs.color;\\nv_normal = outputs.normal;\\nv_lineHalfWidth = outputs.lineHalfWidth;\\nv_opacity = outputs.opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr = outputs.tlbr;\\nv_patternSize = outputs.patternSize;\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio = outputs.lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance = outputs.accumulatedDistance;\\n#endif\\n#endif\\ngl_Position = vec4(clip(outputs.color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#endif\\nvoid main() {\\nINIT;\\ndraw();\\n}\"},pie:{\"pie.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nuniform lowp vec4 u_colors[NUMBER_OF_FIELDS];\\nuniform lowp vec4 u_defaultColor;\\nuniform lowp vec4 u_othersColor;\\nuniform lowp vec4 u_outlineColor;\\nuniform float u_donutRatio;\\nuniform float u_sectorThreshold;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nlowp vec4 getSectorColor(in int index, in vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\n#if __VERSION__ == 300\\nmediump int colorIndex = int(filteredSectorToColorId[index].y);\\nreturn u_colors[colorIndex];\\n#else\\nmediump int colorIndex;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == index) {\\ncolorIndex = int(filteredSectorToColorId[i].y);\\n}\\n}\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == colorIndex) {\\nreturn u_colors[i];\\n}\\n}\\nreturn u_colors[NUMBER_OF_FIELDS - 1];\\n#endif\\n}\\nconst int OTHER_SECTOR_ID = 255;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor() {\\nfloat angle = 90.0 - C_RAD_TO_DEG * atan2(v_offset.y, v_offset.x);\\nif (angle < 0.0) {\\nangle += 360.0;\\n} else if (angle > 360.0) {\\nangle = mod(angle, 360.0);\\n}\\nint numOfEntries = int(v_numOfEntries);\\nfloat maxSectorAngle = v_maxSectorAngle;\\nlowp vec4 fillColor = (maxSectorAngle > 0.0 || u_sectorThreshold > 0.0) ? u_othersColor : u_defaultColor;\\nlowp vec4 prevColor = vec4(0.0);\\nlowp vec4 nextColor = vec4(0.0);\\nfloat startSectorAngle = 0.0;\\nfloat endSectorAngle = 0.0;\\nif (angle < maxSectorAngle) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nstartSectorAngle = endSectorAngle;\\nendSectorAngle = v_filteredSectorToColorId[index].x;\\nif (endSectorAngle > angle) {\\nfillColor = getSectorColor(index, v_filteredSectorToColorId);\\nprevColor = u_sectorThreshold != 0.0 && index == 0 && abs(360.0 - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index > 0 ? index - 1 : numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = u_sectorThreshold != 0.0 && abs(endSectorAngle - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index < numOfEntries - 1 ? index + 1 : 0, v_filteredSectorToColorId);\\nbreak;\\n}\\nif (index == numOfEntries - 1) {\\nbreak;\\n}\\n}\\n} else {\\nprevColor = getSectorColor(numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = getSectorColor(0, v_filteredSectorToColorId);\\nstartSectorAngle = maxSectorAngle;\\nendSectorAngle = 360.0;\\n}\\nlowp vec4 outlineColor = u_outlineColor;\\nfloat offset = length(v_offset);\\nfloat distanceSize = offset * v_size;\\nif (startSectorAngle != 0.0 || endSectorAngle != 360.0) {\\nfloat distanceToStartSector = (angle - startSectorAngle);\\nfloat distanceToEndSector = (endSectorAngle - angle);\\nfloat sectorThreshold = 0.6;\\nfloat beginSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToStartSector * offset);\\nfloat endSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToEndSector * offset);\\nif (endSectorAlpha > 0.0) {\\nfillColor = mix(nextColor, fillColor, endSectorAlpha);\\n} else if (beginSectorAlpha > 0.0) {\\nfillColor = mix(prevColor, fillColor, beginSectorAlpha);\\n}\\n}\\nfloat donutSize = u_donutRatio * (v_size - v_outlineWidth);\\nfloat endOfDonut = donutSize - v_outlineWidth;\\nfloat aaThreshold = 0.75;\\nfloat innerCircleAlpha = endOfDonut - aaThreshold > 0.0 ? smoothstep(endOfDonut - aaThreshold, endOfDonut + aaThreshold, distanceSize) : 1.0;\\nfloat outerCircleAlpha = 1.0 - smoothstep(v_size - aaThreshold, v_size + aaThreshold , distanceSize);\\nfloat circleAlpha = innerCircleAlpha * outerCircleAlpha;\\nfloat startOfOutline = v_size - v_outlineWidth;\\nif (startOfOutline > 0.0 && v_outlineWidth > 0.25) {\\nfloat outlineFactor = smoothstep(startOfOutline - aaThreshold, startOfOutline + aaThreshold, distanceSize);\\nfloat innerLineFactor = donutSize - aaThreshold > 0.0 ? 1.0 - smoothstep(donutSize - aaThreshold, donutSize + aaThreshold , distanceSize) : 0.0;\\nfillColor = mix(fillColor, outlineColor, innerLineFactor + outlineFactor);\\n}\\nreturn v_opacity * circleAlpha * fillColor;\\n}\\n#endif\\nvoid main()\\n{\\nvec4 color = getColor();\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"pie.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 vec2 a_bitSetAndDistRatio;\\nattribute vec2 a_zoomRange;\\nuniform float u_outlineWidth;\\nuniform mediump float u_sectorThreshold;\\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nint filter(in float sectorAngle,\\nin int currentIndex,\\ninout FilteredChartInfo filteredInfo,\\ninout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\nif (sectorAngle > u_sectorThreshold * 360.0) {\\nfilteredInfo.endSectorAngle += sectorAngle;\\n#if __VERSION__ == 300\\nfilteredSectorToColorId[filteredInfo.colorId] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; i++) {\\nif (i == filteredInfo.colorId) {\\nfilteredSectorToColorId[i] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n}\\n}\\n#endif\\n++filteredInfo.colorId;\\n}\\nreturn 0;\\n}\\nint filterValues(inout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS],\\ninout FilteredChartInfo filteredInfo,\\nin float sectorAngles[NUMBER_OF_FIELDS]) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nfloat sectorValue = sectorAngles[index];\\nfilter(sectorValue, index, filteredInfo, filteredSectorToColorId);\\n}\\nreturn filteredInfo.colorId;\\n}\\n#include \\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\nvec2 outSize = baseSize;\\n#ifdef VV_SIZE\\nfloat r = 0.5 * getSize(referenceSize) / referenceSize;\\noutSize.xy *= r;\\noffset.xy *= r;\\nfloat scaleSymbolProportionally = getBit(bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\noutlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\nreturn outSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nvec3 offset = vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nfloat filterNaNValues(in float value) {\\nreturn value != NAN_MAGIC_NUMBER ? value : 0.0;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat outlineSize = u_outlineWidth;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 size = getMarkerSize(a_offset, a_size, outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nfloat filterFlags = getFilterFlags();\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getOffset(a_offset, a_bitSet);\\nv_offset = sign(a_texCoords - 0.5);\\nv_size = max(size.x, size.y);\\nv_outlineWidth = outlineSize;\\nfloat attributeData[10];\\nvec4 attributeData0 = getAttributeData3(a_id);\\nattributeData[0] = filterNaNValues(attributeData0.x);\\nattributeData[1] = filterNaNValues(attributeData0.y);\\nattributeData[2] = filterNaNValues(attributeData0.z);\\nattributeData[3] = filterNaNValues(attributeData0.w);\\n#if (NUMBER_OF_FIELDS > 4)\\nvec4 attributeData1 = getAttributeData4(a_id);\\nattributeData[4] = filterNaNValues(attributeData1.x);\\nattributeData[5] = filterNaNValues(attributeData1.y);\\nattributeData[6] = filterNaNValues(attributeData1.z);\\nattributeData[7] = filterNaNValues(attributeData1.w);\\n#endif\\n#if (NUMBER_OF_FIELDS > 8)\\nvec4 attributeData2 = getAttributeData5(a_id);\\nattributeData[8] = filterNaNValues(attributeData2.x);\\nattributeData[9] = filterNaNValues(attributeData2.y);\\n#endif\\nfloat sum = 0.0;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsum += attributeData[i];\\n}\\nfloat sectorAngles[NUMBER_OF_FIELDS];\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsectorAngles[i] = 360.0 * attributeData[i] / sum;\\n}\\nvec2 filteredSectorToColorId[NUMBER_OF_FIELDS];\\nFilteredChartInfo filteredInfo = FilteredChartInfo(0.0, 0);\\nint numOfEntries = filterValues(filteredSectorToColorId, filteredInfo, sectorAngles);\\nv_numOfEntries = float(numOfEntries);\\nv_maxSectorAngle = filteredInfo.endSectorAngle;\\n#if __VERSION__ == 300\\nv_filteredSectorToColorId = filteredSectorToColorId;\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == numOfEntries) {\\nbreak;\\n}\\nv_filteredSectorToColorId[i] = filteredSectorToColorId[i];\\n}\\n#endif\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.0);\\nv_color = vec4(0.0);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * pos, v_size);\\ngl_PointSize = 1.0;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},shared:{line:{\"common.glsl\":\"#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nmediump vec4 tlbr;\\nmediump vec2 patternSize;\\n#endif\\n#ifdef SDF\\nmediump float lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nhighp float accumulatedDistance;\\n#endif\\n#endif\\nhighp vec3 id;\\n};\",\"line.frag\":\"uniform lowp float u_blur;\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && !defined(HIGHLIGHT)\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\nuniform highp float u_pixelRatio;\\n#endif\\n#endif\\n#if defined(SDF) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.25 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nmediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\nfloat dist = d * line.lineHalfWidth;\\nreturn line.opacity * clamp(0.5 - dist, 0.0, 1.0) * line.color;\\n}\\n#elif defined(PATTERN) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float lineHalfWidth = line.lineHalfWidth;\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * lineHalfWidth / line.patternSize.y;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexY, relativeTexX));\\nlowp vec4 color = texture2D(u_texture, texCoord);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nreturn line.opacity * line.color * color;\\n}\\n#else\\nlowp vec4 getLineColor(LineData line) {\\nreturn line.opacity * line.color;\\n}\\n#endif\\nvec4 shadeLine(LineData line)\\n{\\nmediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(line.lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nmediump float fragDist = length(line.normal) * line.lineHalfWidth;\\nlowp float alpha = clamp(thinLineFactor * (line.lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\nlowp vec4 out_color = getLineColor(line) * alpha;\\n#ifdef HIGHLIGHT\\nout_color.a = step(1.0 / 255.0, out_color.a);\\n#endif\\n#ifdef ID\\nif (out_color.a < 1.0 / 255.0) {\\ndiscard;\\n}\\nout_color = vec4(line.id, 0.0);\\n#endif\\nreturn out_color;\\n}\",\"line.vert\":\"float getBaseLineHalfWidth(in float lineHalfWidth, in float referenceHalfWidth) {\\n#ifdef VV_SIZE\\nfloat refLineWidth = 2.0 * referenceHalfWidth;\\nreturn 0.5 * (lineHalfWidth / max(referenceHalfWidth, EPSILON)) * getSize(refLineWidth);\\n#else\\nreturn lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\nfloat halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\nhalfWidth = max(halfWidth, 2.0);\\n#endif\\nreturn halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\nfloat thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nreturn thinLineFactor * halfWidth * offset;\\n}\\nLineData buildLine(\\nout vec3 out_pos,\\nin vec3 in_id,\\nin vec2 in_pos,\\nin vec4 in_color,\\nin vec2 in_offset,\\nin vec2 in_normal,\\nin float in_accumulatedDist,\\nin float in_lineHalfWidth,\\nin float in_bitSet,\\nin vec4 in_tlbr,\\nin vec2 in_segmentDirection,\\nin float in_referenceHalfWidth\\n)\\n{\\nfloat aa = 0.5 * u_antialiasing;\\nfloat baseWidth = getBaseLineHalfWidth(in_lineHalfWidth, in_referenceHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nfloat z = 2.0 * step(baseWidth, 0.0);\\nvec2 dist = getDist(in_offset, halfWidth);\\nvec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\nvec3 pos = u_dvsMat3 * vec3(in_pos * POSITION_PRECISION, 1.0) + offset;\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nfloat opacity = getOpacity();\\n#ifdef SDF\\nconst float SDF_PATTERN_HALF_WIDTH = 15.5;\\nfloat scaleDash = getBit(in_bitSet, BITSET_LINE_SCALE_DASH);\\nfloat lineWidthRatio = (scaleDash * max(halfWidth - 0.55 * u_antialiasing, 0.25) + (1.0 - scaleDash)) / SDF_PATTERN_HALF_WIDTH;\\n#endif\\n#endif\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nv_sampleAlphaOnly = getBit(in_bitSet, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#endif\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nin_tlbr / u_mosaicSize.xyxy,\\nvec2(in_tlbr.z - in_tlbr.x, in_tlbr.w - in_tlbr.y),\\n#endif\\n#ifdef SDF\\nlineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nin_accumulatedDist * u_zoomFactor + dot(in_segmentDirection, dist),\\n#endif\\n#endif\\nnorm(in_id)\\n);\\n}\"}},\"symbologyTypeUtils.glsl\":\"#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_SIMPLE || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\n#endif\",text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec3 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;\",\"hittest.glsl\":\"#include \",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor()\\n{\\nfloat SDF_CUTOFF = (2.0 / 8.0);\\nfloat SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\nlowp float dist = texture2D(u_texture, v_tex).a;\\nmediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\nedge /= 2.0;\\n#endif\\nlowp float aa = v_antialiasingWidth;\\nlowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\nreturn alpha * v_color * v_opacity;\\n}\\n#endif\\nvoid main()\\n{\\ngl_FragColor = getColor();\\n}\",\"text.vert\":\"precision highp float;\\n#include \\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_zoomRange;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, inout float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat r = getSize(referenceSize) / referenceSize;\\nbaseSize *= r;\\noffset.xy *= r;\\nreturn baseSize;\\n#endif\\nreturn baseSize;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_referenceSize = a_aux.z * a_aux.z / 256.0;\\nfloat a_bitSet = a_aux.w;\\nfloat a_fontSize = a_texFontSize.z;\\nvec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat fontSize = getTextSize(a_offset, a_fontSize, a_referenceSize);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nvec3 offset = getRotation() * vec3(a_offset, 0.0);\\nmat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\nv_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nv_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0)\\n+ u_tileMat3 * offset, fontSize / 2.);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#endif\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\nreturn floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\nfloat offset = pow(2.0, float(bitIndex));\\nreturn mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\nreturn getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\nreturn getBit(bitset, 0);\\n}\\nhighp vec3 unpackDisplayIdTexel(in highp vec3 bitset) {\\nfloat isAggregate = getBit(bitset.b, 7);\\nreturn (1.0 - isAggregate) * bitset + isAggregate * (vec3(bitset.rgb) - vec3(0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\nfloat r = mod(rshift(u32, 0), 255.0);\\nfloat g = mod(rshift(u32, 8), 255.0);\\nfloat b = mod(rshift(u32, 16), 255.0);\\nfloat a = mod(rshift(u32, 24), 255.0);\\nreturn vec4(r, g, b, a);\\n}\\nvec3 norm(in vec3 v) {\\nreturn v /= 255.0;\\n}\\nvec4 norm(in vec4 v) {\\nreturn v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\nreturn max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\nreturn (bytes - 127.0) / 127.0;\\n}\\nhighp float rand(in vec2 co) {\\nhighp float a = 12.9898;\\nhighp float b = 78.233;\\nhighp float c = 43758.5453;\\nhighp float dt = dot(co, vec2(a,b));\\nhighp float sn = mod(dt, 3.14);\\nreturn fract(sin(sn) * c);\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec3 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp mat3 u_tileMat3;\\nuniform highp mat3 u_viewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_currentZoom;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef SUPPORTS_TEXTURE_FLOAT\\ntarget.rgba = getAttributeData2(a_id);\\n#else\\nvec4 data0 = getAttributeData2(a_id);\\nvec4 data1 = getAttributeData3(a_id);\\ntarget.r = u88VVToFloat(data0.rg * 255.0);\\ntarget.g = u88VVToFloat(data0.ba * 255.0);\\ntarget.b = u88VVToFloat(data1.rg * 255.0);\\ntarget.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\\nfloat isColorLocked = getBit(a_bitSet, index);\\nreturn getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\nreturn a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\nreturn getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\nreturn 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\nreturn getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\nreturn in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\nreturn getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\nreturn mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\nreturn ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\nreturn getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\nreturn getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\nvec4 data0 = getAttributeData0(a_id) * 255.0;\\nreturn data0.g;\\n}\\nmat3 getMatrixNoDisplay(float isMapAligned) {\\nreturn isMapAligned * u_viewMat3 * u_tileMat3 + (1.0 - isMapAligned) * u_tileMat3;\\n}\\nmat3 getMatrix(float isMapAligned) {\\nreturn isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 clip(inout vec4 color, inout vec3 pos, in float filterFlags, in vec2 minMaxZoom) {\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\npos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n#if !defined(HIGHLIGHT_ALL)\\npos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n#endif\\npos.z += 2.0 * (step(minMaxZoom.y, u_currentZoom) + (1.0 - step(minMaxZoom.x, u_currentZoom)));\\nreturn pos;\\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) {\\nreturn (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nfloat interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\ninterpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\nreturn 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) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nif (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\nreturn u_vvSizeFieldStopsSizes[0];\\n}\\nfor (int i = 1; i < VV_SIZE_N; ++i) {\\nif (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\nfloat f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\nreturn mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n}\\n}\\nreturn u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nreturn u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\nif (isNan(opacityValue)) {\\nreturn 1.0;\\n}\\nif (opacityValue <= u_vvOpacityValues[0]) {\\nreturn u_vvOpacities[0];\\n}\\nfor (int i = 1; i < VV_OPACITY_N; ++i) {\\nif (u_vvOpacityValues[i] >= opacityValue) {\\nfloat f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\nreturn mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n}\\n}\\nreturn u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat4(1, 0, 0, 0,\\n0, 1, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat4(cosA, sinA, 0, 0,\\n-sinA, cosA, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat3(1, 0, 0,\\n0, 1, 0,\\n0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * -rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat3(cosA, -sinA, 0,\\nsinA, cosA, 0,\\n0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\nif (isNan(colorValue) || isColorLocked == 1.0) {\\nreturn fallback;\\n}\\nif (colorValue <= u_vvColorValues[0]) {\\nreturn u_vvColors[0];\\n}\\nfor (int i = 1; i < VV_COLOR_N; ++i) {\\nif (u_vvColorValues[i] >= colorValue) {\\nfloat f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\nreturn mix(u_vvColors[i-1], u_vvColors[i], f);\\n}\\n}\\nreturn u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nreturn getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\nreturn u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\nfloat outSize = getVVStopsSize(vvSize, size);\\nreturn isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\nreturn getVVUnitValue(vvSize, size);\\n#else\\nreturn size;\\n#endif\\n}\"},overlay:{overlay:{\"overlay.frag\":\"precision lowp float;\\nuniform lowp sampler2D u_texture;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_texture, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"overlay.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_uv;\\nuniform highp mat3 u_dvsMat3;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nmediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(pos.xy, 0.0, 1.0);\\n}\"}},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_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) {\\nfloat mirrorFactor = 1.2 - factor;\\nreturn mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\ngl_FragColor = u_bloomStrength * (\\nlerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\nlerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\nlerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\nlerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\nlerpBloomFactor(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) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = float(SIGMA);\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_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() {\\nvec4 texel = texture2D(u_texture, v_uv);\\nvec3 luma = vec3(0.299, 0.587, 0.114);\\nfloat v = dot(texel.xyz, luma);\\nvec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\nfloat alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\ngl_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) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = u_sigma;\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_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) {\\nfloat samples[10];\\nsamples[0] = -0.08;\\nsamples[1] = -0.05;\\nsamples[2] = -0.03;\\nsamples[3] = -0.02;\\nsamples[4] = -0.01;\\nsamples[5] = 0.01;\\nsamples[6] = 0.02;\\nsamples[7] = 0.03;\\nsamples[8] = 0.05;\\nsamples[9] = 0.08;\\nvec2 dir = 0.5 - v_uv;\\nfloat dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\ndir = dir / dist;\\nvec4 color = texture2D(u_colorTexture,v_uv);\\nvec4 sum = color;\\nfor (int i = 0; i < 10; i++) {\\nsum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n}\\nsum *= 1.0 / 11.0;\\nfloat t = dist * sampleStrength;\\nt = clamp(t, 0.0, 1.0);\\ngl_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() {\\nvec4 minColor = texture2D(u_minColor, vec2(0.5));\\nvec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\nvec4 color = texture2D(u_texture, v_uv);\\nvec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\nvec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\nvec3 colorUnpremultiply = color.rgb / color.a;\\nvec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\ngl_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() {\\nvec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\nvec2 onePixel = vec2(1.0) / u_srcResolution;\\nvec2 uv = (srcPixel + 0.5) / u_srcResolution;\\nvec4 minColor = vec4(1.0);\\nvec4 maxColor = vec4(0.0);\\nfor (int y = 0; y < CELL_SIZE; ++y) {\\nfor (int x = 0; x < CELL_SIZE; ++x) {\\nvec2 offset = uv + vec2(x, y) * onePixel;\\nminColor = min(minColor, texture2D(u_minTexture, offset));\\nmaxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n}\\n}\\ngl_FragData[0] = minColor;\\ngl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nuniform vec2 u_shadowOffset;\\nuniform highp mat3 u_displayViewMat3;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec3 offset = u_displayViewMat3 * vec3(u_shadowOffset, 0.0);\\nvec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\nvec4 blurColor = texture2D(u_blurTexture, v_uv - offset.xy / 2.0);\\ngl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\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() {\\nG[0] = g0,\\nG[1] = g1,\\nG[2] = g2,\\nG[3] = g3,\\nG[4] = g4,\\nG[5] = g5,\\nG[6] = g6,\\nG[7] = g7,\\nG[8] = g8;\\nmat3 I;\\nfloat cnv[9];\\nvec3 sample;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 9; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nfloat M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\nfloat S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\ngl_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() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\ngl_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() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nvec4 color = texture2D(u_colorTexture, v_uv);\\ngl_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() {\\nvec4 color = texture2D(u_colorTexture, v_uv);\\nvec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\nfloat a = color.a;\\ngl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_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;\\nuniform lowp float u_opacity;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\nvec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\nfloat alpha = u_opacity * color.a;\\ngl_FragColor = vec4(alpha * color.rgb, alpha);\\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{\\nv_texcoord = a_pos;\\ngl_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_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\\n#ifdef BILINEAR\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\nvec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\ntargetLocation = projectPixelLocation(targetLocation);\\n#endif\\nreturn targetLocation;\\n}\\nbool isOutside(vec2 coords){\\nif (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\nreturn true;\\n} else {\\nreturn false;\\n}\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\nvec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\nvec4 color = texture2D(u_image, pixelLocation);\\n#endif\\nreturn color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\nvec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\nfloat maxI = 255.0;\\nfloat mid = 128.0;\\nfloat c = u_contrastOffset;\\nfloat b = u_brightnessOffset;\\nvec4 v;\\nif (c > 0.0 && c < 100.0) {\\nv = (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) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n} else if (c == 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\nv = (sign(v) + 1.0) / 2.0;\\n} else if (c == -100.0) {\\nv = vec4(mid, mid, mid, currentPixel.a);\\n}\\nreturn 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#ifdef LOOKUP_PROJECTION\\nvec4 pv = texture2D(u_transformGrid, coords);\\nreturn vec2(pv.r, pv.g);\\n#endif\\nvec2 index_image = floor(coords * u_targetImageSize);\\nvec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\nvec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\nvec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\nvec2 srcLocation;\\nvec2 transform_location = index_transform + oneTransformPixel * 0.5;\\nif (pos.s <= pos.t) {\\nvec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\nvec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n} else {\\nvec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\nvec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n}\\nreturn srcLocation;\\n}\"},flow:{\"getFadeOpacity.glsl\":\"uniform float u_decayRate;\\nuniform float u_fadeToZero;\\nfloat getFadeOpacity(float x) {\\nfloat cutOff = mix(0.0, exp(-u_decayRate), u_fadeToZero);\\nreturn (exp(-u_decayRate * x) - cutOff) / (1.0 - cutOff);\\n}\",\"getFragmentColor.glsl\":\"vec4 getFragmentColor(vec4 color, float dist, float size, float featheringSize) {\\nfloat featheringStart = clamp(0.5 - featheringSize / size, 0.0, 0.5);\\nif (dist > featheringStart) {\\ncolor *= 1.0 - (dist - featheringStart) / (0.5 - featheringStart);\\n}\\nreturn color;\\n}\",imagery:{\"imagery.frag\":\"precision highp float;\\nvarying vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform float u_Min;\\nuniform float u_Max;\\nuniform float u_featheringSize;\\n#include \\nfloat getIntensity(float v) {\\nreturn u_Min + v * (u_Max - u_Min);\\n}\\nvoid main(void) {\\nvec4 sampled = texture2D(u_texture, v_texcoord);\\nfloat intensity = getIntensity(sampled.r);\\ngl_FragColor = getColor(intensity);\\ngl_FragColor.a *= getOpacity(sampled.r);\\ngl_FragColor.a *= sampled.a;\\ngl_FragColor.rgb *= gl_FragColor.a;\\n}\",\"imagery.vert\":\"attribute vec2 a_position;\\nattribute vec2 a_texcoord;\\nuniform mat3 u_dvsMat3;\\nvarying vec2 v_texcoord;\\nvoid main(void) {\\nvec2 xy = (u_dvsMat3 * vec3(a_position, 1.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},particles:{\"particles.frag\":\"precision highp float;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\ngl_FragColor = getFragmentColor(v_color, length(v_texcoord - 0.5), v_size, u_featheringSize);\\n}\",\"particles.vert\":\"attribute vec4 a_xyts0;\\nattribute vec4 a_xyts1;\\nattribute vec4 a_typeIdDurationSeed;\\nattribute vec4 a_extrudeInfo;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nvec2 position0 = a_xyts0.xy;\\nfloat t0 = a_xyts0.z;\\nfloat speed0 = a_xyts0.w;\\nvec2 position1 = a_xyts1.xy;\\nfloat t1 = a_xyts1.z;\\nfloat speed1 = a_xyts1.w;\\nfloat type = a_typeIdDurationSeed.x;\\nfloat id = a_typeIdDurationSeed.y;\\nfloat duration = a_typeIdDurationSeed.z;\\nfloat seed = a_typeIdDurationSeed.w;\\nvec2 e0 = a_extrudeInfo.xy;\\nvec2 e1 = a_extrudeInfo.zw;\\nfloat animationPeriod = duration + u_trailLength;\\nfloat scaledTime = u_time * u_flowSpeed;\\nfloat randomizedTime = scaledTime + seed * animationPeriod;\\nfloat t = mod(randomizedTime, animationPeriod);\\nfloat fUnclamped = (t - t0) / (t1 - t0);\\nfloat f = clamp(fUnclamped, 0.0, 1.0);\\nfloat clampedTime = mix(t0, t1, f);\\nfloat speed = mix(speed0, speed1, f);\\nvec2 extrude;\\nvec2 position;\\nfloat fadeOpacity;\\nfloat introOpacity;\\nif (type == 2.0) {\\nif (fUnclamped < 0.0 || (fUnclamped > 1.0 && t1 != duration)) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nvec2 ortho = mix(e0, e1, f);\\nvec2 parallel;\\nparallel = normalize(position1 - position0) * 0.5;\\nif (id == 1.0) {\\nextrude = ortho;\\nv_texcoord = vec2(0.5, 0.0);\\n} else if (id == 2.0) {\\nextrude = -ortho;\\nv_texcoord = vec2(0.5, 1.0);\\n} else if (id == 3.0) {\\nextrude = ortho + parallel;\\nv_texcoord = vec2(1.0, 0.0);\\n} else if (id == 4.0) {\\nextrude = -ortho + parallel;\\nv_texcoord = vec2(1.0, 1.0);\\n}\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else {\\nif (fUnclamped < 0.0) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nif (id == 1.0) {\\nextrude = e0;\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 2.0) {\\nextrude = -e0;\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 3.0) {\\nextrude = mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else if (id == 4.0) {\\nextrude = -mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n}\\n}\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(extrude * v_size, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_color.a *= fadeOpacity;\\nv_color.a *= mix(1.0, introOpacity, u_introFade);\\nv_color.rgb *= v_color.a;\\n}\"},streamlines:{\"streamlines.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_size;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nfloat t = mod(v_timeSeed * (v_totalTime + u_trailLength) + u_time * u_flowSpeed, v_totalTime + u_trailLength) - v_time;\\nvec4 color = v_color * step(0.0, t) * getFadeOpacity(t / u_trailLength);\\ncolor *= mix(1.0, 1.0 - exp(-v_time), u_introFade);\\ngl_FragColor = getFragmentColor(color, length((v_side + 1.0) / 2.0 - 0.5), v_size, u_featheringSize);\\n}\",\"streamlines.vert\":\"attribute vec3 a_positionAndSide;\\nattribute vec3 a_timeInfo;\\nattribute vec2 a_extrude;\\nattribute float a_speed;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_side;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\nvec4 lineColor = getColor(a_speed);\\nfloat lineOpacity = getOpacity(a_speed);\\nfloat lineSize = getSize(a_speed);\\nvec2 position = a_positionAndSide.xy;\\nv_side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineSize, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_color = lineColor;\\nv_color.a *= lineOpacity;\\nv_color.rgb *= v_color.a;\\nv_size = lineSize;\\n}\"},\"vv.glsl\":\"#define MAX_STOPS 8\\n#ifdef VV_COLOR\\nuniform float u_color_stops[MAX_STOPS];\\nuniform vec4 u_color_values[MAX_STOPS];\\nuniform int u_color_count;\\n#else\\nuniform vec4 u_color;\\n#endif\\n#ifdef VV_OPACITY\\nuniform float u_opacity_stops[MAX_STOPS];\\nuniform float u_opacity_values[MAX_STOPS];\\nuniform int u_opacity_count;\\n#else\\nuniform float u_opacity;\\n#endif\\n#ifdef VV_SIZE\\nuniform float u_size_stops[MAX_STOPS];\\nuniform float u_size_values[MAX_STOPS];\\nuniform int u_size_count;\\n#else\\nuniform float u_size;\\n#endif\\nuniform float u_featheringOffset;\\nvec4 getColor(float x) {\\n#ifdef VV_COLOR\\nvec4 color = u_color_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_color_count) {\\nbreak;\\n}\\nfloat x1 = u_color_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_color_stops[i];\\nvec4 y2 = u_color_values[i];\\nif (x < x2) {\\nvec4 y1 = u_color_values[i - 1];\\ncolor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\ncolor = y2;\\n}\\n}\\n}\\n#else\\nvec4 color = u_color;\\n#endif\\nreturn color;\\n}\\nfloat getOpacity(float x) {\\n#ifdef VV_OPACITY\\nfloat opacity = u_opacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_opacity_count) {\\nbreak;\\n}\\nfloat x1 = u_opacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_opacity_stops[i];\\nfloat y2 = u_opacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_opacity_values[i - 1];\\nopacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nopacity = y2;\\n}\\n}\\n}\\n#else\\nfloat opacity = u_opacity;\\n#endif\\nreturn opacity;\\n}\\nfloat getSize(float x) {\\n#ifdef VV_SIZE\\nfloat size = u_size_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_size_count) {\\nbreak;\\n}\\nfloat x1 = u_size_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_size_stops[i];\\nfloat y2 = u_size_values[i];\\nif (x < x2) {\\nfloat y1 = u_size_values[i - 1];\\nsize = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nsize = y2;\\n}\\n}\\n}\\n#else\\nfloat size = u_size;\\n#endif\\nreturn size + 2.0 * u_featheringSize * u_featheringOffset;\\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){\\nif (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) {\\nreturn 0.0;\\n}\\nelse {\\nreturn e;\\n}\\n}\\nvec3 rgb2hsv(vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn 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) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn 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) {\\nval = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\nvec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\nvec3 hsv = rgb2hsv(rgb.xyz);\\nhsv.z = hillshade;\\nreturn vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nif (currentPixel.a == 0.0) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec2 axy = vec2(-1.0, -1.0);\\nvec2 bxy = vec2(0.0, -1.0);\\nvec2 cxy = vec2(1.0, -1.0);\\nvec2 dxy = vec2(-1.0, 0.0);\\nvec2 fxy = vec2(1.0, 0.0);\\nvec2 gxy = vec2(-1.0, 1.0);\\nvec2 hxy = vec2(0.0, 1.0);\\nvec2 ixy = vec2(1.0, 1.0);\\nvec2 onePixel = 1.0 / u_srcImageSize;\\nif (pixelLocation.s < onePixel.s) {\\naxy[0] = 1.0;\\ndxy[0] = 1.0;\\ngxy[0] = 1.0;\\n}\\nif (pixelLocation.t < onePixel.t) {\\naxy[1] = 1.0;\\nbxy[1] = 1.0;\\ncxy[1] = 1.0;\\n}\\nif (pixelLocation.s > 1.0 - onePixel.s) {\\ncxy[0] = -1.0;\\nfxy[0] = -1.0;\\nixy[0] = -1.0;\\n}\\nif (pixelLocation.t > 1.0 - onePixel.t) {\\ngxy[1] = -1.0;\\nhxy[1] = -1.0;\\nixy[1] = -1.0;\\n}\\nvec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\nvec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\nvec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\nvec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\nvec4 ve = texture2D(u_image, pixelLocation);\\nvec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\nvec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\nvec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\nvec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\nfloat dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\nfloat dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\nfloat dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\nfloat hillshade = 0.0;\\nif (u_hillshadeType == 0){\\nfloat cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\nfloat z = (u_cosZs[0] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = z;\\n} else {\\nfor (int k = 0; k < 6; k++) {\\nfloat cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\nfloat z = (u_cosZs[k] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = hillshade + z * u_weights[k];\\nif (k == 5) break;\\n}\\n}\\nfloat alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_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{\\nv_texcoord = a_pos;\\ngl_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) {\\nfloat clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\nvec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\nvec4 color = texture2D(u_colormap, clrPosition);\\nvec4 result = vec4(color.rgb, color.a * currentPixel.a);\\nreturn result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nvec4 result = colorize(currentPixel, 1.0);\\ngl_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{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},magdir:{\"magdir.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nuniform lowp float u_opacity;\\nvoid main() {\\ngl_FragColor = v_color * u_opacity;\\n}\",\"magdir.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nuniform float u_rotation;\\nuniform vec4 u_colors[12];\\nvarying vec4 v_color;\\nvoid main()\\n{\\nfloat angle = a_offset.y + u_rotation;\\n#ifndef ROTATION_GEOGRAPHIC\\nangle = 3.14159265359 * 2.0 - angle - 3.14159265359 / 2.0;\\n#endif\\nvec2 offset = vec2(cos(angle), sin(angle)) * a_offset.x;\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 pos = a_pos + offset * sizePercentage * u_symbolSize;\\nv_color = u_colors[int(a_vv.x)];\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},reproject:{\"reproject.frag\":\"precision mediump float;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n}\",\"reproject.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_position;\\ngl_Position = vec4(2.0 * (a_position - 0.5), 0.0, 1.0);\\n}\"},scalar:{\"scalar.frag\":\"precision mediump float;\\nuniform lowp float u_opacity;\\nvarying vec2 v_pos;\\nconst vec4 outlineColor = vec4(0.2, 0.2, 0.2, 1.0);\\nconst float outlineSize = 0.02;\\nconst float innerRadius = 0.25;\\nconst float outerRadius = 0.42;\\nconst float innerSquareLength = 0.15;\\nvoid main() {\\nmediump float dist = length(v_pos);\\nmediump float fillalpha1 = smoothstep(outerRadius, outerRadius + outlineSize, dist);\\nfillalpha1 *= (1.0-smoothstep(outerRadius + outlineSize, outerRadius + 0.1 + outlineSize, dist));\\n#ifdef INNER_CIRCLE\\nmediump float fillalpha2 = smoothstep(innerRadius, innerRadius + outlineSize, dist);\\nfillalpha2 *= (1.0-smoothstep(innerRadius + outlineSize, innerRadius + 0.1 + outlineSize, dist));\\n#else\\nmediump float fillalpha2 = (abs(v_pos.x) < innerSquareLength ? 1.0 : 0.0) * (abs(v_pos.y) < innerSquareLength ? 1.0 : 0.0);\\n#endif\\ngl_FragColor = (fillalpha2 + fillalpha1) * outlineColor * u_opacity;\\n}\",\"scalar.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nvarying vec2 v_pos;\\nvoid main()\\n{\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 size = u_symbolSize * sizePercentage;\\nvec2 pos = a_pos + a_offset * size;\\nv_pos = a_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(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) {\\nif (val >= maxCutOff) {\\nreturn maxOutput;\\n} else if (val <= minCutOff) {\\nreturn minOutput;\\n}\\nfloat stretchedVal;\\nif (useGamma) {\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\nif (gamma > 1.0) {\\ntempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n}\\nstretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n} else {\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n}\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\nreturn;\\n#endif\\nif (u_bandCount == 1) {\\nfloat 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\\nvec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\ngl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n} else {\\nfloat 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]);\\nfloat 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]);\\nfloat 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]);\\ngl_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{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\ngl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nuniform mat3 u_worldExtent;\\nvoid main() {\\ngl_Position = vec4(u_worldExtent * vec3(a_pos, 1.0), 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\nlowp vec4 color = texture2D(u_texture, v_tex);\\ngl_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() {\\nmediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\nvec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\nv_tex = a_pos;\\n}\"},util:{\"atan2.glsl\":\"float atan2(in float y, in float x) {\\nfloat t0, t1, t2, t3, t4;\\nt3 = abs(x);\\nt1 = abs(y);\\nt0 = max(t3, t1);\\nt1 = min(t3, t1);\\nt3 = 1.0 / t0;\\nt3 = t1 * t3;\\nt4 = t3 * t3;\\nt0 = - 0.013480470;\\nt0 = t0 * t4 + 0.057477314;\\nt0 = t0 * t4 - 0.121239071;\\nt0 = t0 * t4 + 0.195635925;\\nt0 = t0 * t4 - 0.332994597;\\nt0 = t0 * t4 + 0.999995630;\\nt3 = t0 * t3;\\nt3 = (abs(y) > abs(x)) ? 1.570796327 - t3 : t3;\\nt3 = x < 0.0 ? 3.141592654 - t3 : t3;\\nt3 = y < 0.0 ? -t3 : t3;\\nreturn t3;\\n}\",\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n255.0 / (256.0),\\n255.0 / (256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n);\\nfloat rgba2float(vec4 rgba) {\\nreturn dot(rgba, rgba2float_factors);\\n}\"}};export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./shaderRepository.js\";import{ShaderCompiler as e}from\"../../../../../webgl/ShaderCompiler.js\";function o(e){let o=r;return e.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new e(o);function n(r){return t.resolveIncludes(r)}export{n as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Z as e}from\"../../chunks/vec2f64.js\";import{ContextType as t}from\"./context-util.js\";import{PixelType as n,TextureType as a,PixelFormat as r,SizedPixelFormat as i,TextureSamplingMode as o,TextureWrapMode as s,TargetType as u,DepthStencilTargetType as f,UniformType as m}from\"./enums.js\";import{FramebufferObject as c}from\"./FramebufferObject.js\";import{Texture as l}from\"./Texture.js\";function _(e,u,f=\"nearest\",m=!1){const c=!(m&&\"u8\"===u.pixelType),_=c?n.FLOAT:n.UNSIGNED_BYTE,p=null==u.pixels||0===u.pixels.length?null:c?u.getAsRGBAFloat():u.getAsRGBA(),E=e.capabilities.textureFloat?.textureFloatLinear,T={width:u.width,height:u.height,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2&&c?i.RGBA32F:r.RGBA,samplingMode:!E||\"bilinear\"!==f&&\"cubic\"!==f?o.NEAREST:o.LINEAR,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1};return new l(e,T,p)}function p(e,t,i,m){const _=m?n.UNSIGNED_BYTE:n.FLOAT,p={width:t,height:i,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:r.RGBA,samplingMode:o.NEAREST,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},E=new l(e,p);return new c(e,{colorTarget:u.TEXTURE,depthStencilTarget:f.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i},E)}function E(e,u){const{spacing:f,offsets:m,coefficients:c,size:[_,p]}=u,E=f[0]>1,T={width:E?4*_:_,height:p,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2?i.RGBA32F:r.RGBA,dataType:n.FLOAT,samplingMode:o.NEAREST,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},g=new Float32Array(E?_*p*16:2*m.length);if(E)for(let t=0,n=0;t{const r=t.get(a)||t.get(a+\"[0]\");r&&G(e,a,n[a],r)}))}function U(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,r)=>{t.setUniform1i(n,r),e.bindTexture(a[r],r)})))}function G(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case m.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case m.FLOAT_VEC2:e.setUniform2fv(t,n);break;case m.FLOAT_VEC3:e.setUniform3fv(t,n);break;case m.FLOAT_VEC4:e.setUniform4fv(t,n);break;case m.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case m.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case m.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case m.BOOL:e.setUniform1i(t,n?1:0);break;case m.INT_VEC2:case m.BOOL_VEC2:e.setUniform2iv(t,n);break;case m.INT_VEC3:case m.BOOL_VEC3:e.setUniform3iv(t,n);break;case m.INT_VEC4:case m.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{T as createColormapTexture,p as createFrameBuffer,_ as createRasterTexture,E as createTransformTexture,h as getBasicGridUniforms,A as getColormapUniforms,g as getCommonUniforms,O as getShadedReliefUniforms,d as getStretchUniforms,F as getUniformLocationInfos,U as setTextures,R as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../core/maybe.js\";import{b as e,c as i,r as s,j as r,m as h}from\"../../../chunks/mat3.js\";import{c as n}from\"../../../chunks/mat3f32.js\";import{f as o}from\"../../../chunks/vec2f32.js\";import{DisplayObject as u}from\"./DisplayObject.js\";import a from\"./ImageryBitmapSource.js\";import{TextureType as d,PixelFormat as c,PixelType as l,TextureWrapMode as _}from\"../../webgl/enums.js\";import{Texture as x}from\"../../webgl/Texture.js\";function m(t){return t&&\"render\"in t}function g(t){return t&&!(\"render\"in t)}function p(t){const e=document.createElement(\"canvas\");return e.width=t.width,e.height=t.height,t.render(e.getContext(\"2d\")),e}function f(t,e,i){const s={target:d.TEXTURE_2D,pixelFormat:c.RGBA,internalFormat:c.RGBA,dataType:l.UNSIGNED_BYTE,wrapMode:_.CLAMP_TO_EDGE};return e&&i&&(s.width=e,s.height=i),new x(t,s)}class v extends u{constructor(t=null,e,i=!0){super(),this.requestRenderOnSourceChangedEnabled=i,this._textureInvalidated=!0,this.stencilRef=0,this.coordScale=[1,1],this._height=void 0,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this._width=void 0,this.x=0,this.y=0,this.blendFunction=e,this.source=t,this.requestRender=this.requestRender.bind(this)}destroy(){this._texture&&(this._texture.dispose(),this._texture=null)}get isSourceScaled(){return this.width!==this.sourceWidth||this.height!==this.sourceHeight}get height(){return void 0!==this._height?this._height:this.sourceHeight}set height(t){this._height=t}get source(){return this._source}set source(t){this._source=t,this.invalidateTexture()}get sourceHeight(){return this._source instanceof HTMLImageElement?this._source.naturalHeight:this._source.height}get sourceWidth(){return this._source instanceof HTMLImageElement?this._source.naturalWidth:this._source.width}get width(){return void 0!==this._width?this._width:this.sourceWidth}set width(t){this._width=t}beforeRender(t){super.beforeRender(t),this.updateTexture(t.context)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRenderOnSourceChangedEnabled&&this.requestRender())}_createTransforms(){return{dvs:n()}}setTransform(t){const n=e(this.transforms.dvs),[u,a]=t.toScreenNoRotation([0,0],[this.x,this.y]),d=this.resolution/this.pixelRatio/t.resolution,c=d*this.width,l=d*this.height,_=Math.PI*this.rotation/180;i(n,n,o(u,a)),i(n,n,o(c/2,l/2)),s(n,n,-_),i(n,n,o(-c/2,-l/2)),r(n,n,o(c,l)),h(this.transforms.dvs,t.displayViewMat3,n)}setSamplingProfile(t){this._texture&&(t.mips&&!this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._texture.setSamplingMode(t.samplingMode))}bind(t,e){this._texture&&t.bindTexture(this._texture,e)}updateTexture(e){if(!this.stage)return this._texture?.dispose(),void(this._texture=null);if(!this._textureInvalidated)return;this._textureInvalidated=!1,this._texture||(this.source?this._texture=f(e,this.sourceWidth,this.sourceHeight):this._texture=f(e));const i=this.source;if(i){if(this._texture.resize(this.sourceWidth,this.sourceHeight),m(i))if(i instanceof a){const e=i.getRenderedRasterPixels();this._texture.setData(t(e)?e.renderedRasterPixels:null)}else this._texture.setData(p(i));else g(i)&&this._texture.setData(i);this.ready()}else this._texture.setData(null)}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}}export{v as Bitmap,m as isImageSource,p as rasterize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as r}from\"../../../webgl/enums.js\";class i extends a{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:s(),displayViewMat3:s()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(r.EQUAL,0,255)}draw(s,a){const{requestRender:r}=s,{displayData:i}=a;if(t(i))return;if(\"loaded\"===i.state.name&&i.attach(s),\"attached\"!==i.state.name)return;const o=i.state.resources;o.ready||!e(r)?(this._visualState.time=s.time/1e3,this._visualState.dvsMat3=a.transforms.dvs,this._visualState.displayViewMat3=s.state.displayViewMat3,i.flowStyle.render(s,this._visualState,o),i.flowStyle.animated&&e(r)&&r()):r()}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst o=!0,t=32,c=1.5,e=200;export{t as COLLISION_GRID_CELL_SIZE,c as DECLUTTER_BUDGET,o as DECLUTTER_TILES,e as FADE_DURATION};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{constructor(){super(...arguments),this._color=t(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:r},t){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255)}draw(t,e){const{context:i,requestRender:s}=t;this._initialized||this._initialize(i),!r(s)||this._solidProgram.isCompiled?(i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[e.rangeX,e.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO()):s()}_initialize(r){if(this._initialized)return!0;const t=_(r,s);if(!t)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,e,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{CapType as e,JoinType as t}from\"../../../../../symbols/cim/enums.js\";var a,i,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]=\"BACKGROUND\",e[e.FILL=1]=\"FILL\",e[e.LINE=2]=\"LINE\",e[e.SYMBOL=3]=\"SYMBOL\",e[e.CIRCLE=4]=\"CIRCLE\"}(a||(a={})),function(e){e[e.VISIBLE=0]=\"VISIBLE\",e[e.NONE=1]=\"NONE\"}(i||(i={})),function(e){e[e.POINT=0]=\"POINT\",e[e.LINE=1]=\"LINE\",e[e.LINE_CENTER=2]=\"LINE_CENTER\"}(n||(n={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\",e[e.AUTO=2]=\"AUTO\"}(l||(l={})),function(e){e[e.AUTO=0]=\"AUTO\",e[e.LEFT=1]=\"LEFT\",e[e.CENTER=2]=\"CENTER\",e[e.RIGHT=3]=\"RIGHT\"}(u||(u={})),function(e){e[e.CENTER=0]=\"CENTER\",e[e.LEFT=1]=\"LEFT\",e[e.RIGHT=2]=\"RIGHT\",e[e.TOP=3]=\"TOP\",e[e.BOTTOM=4]=\"BOTTOM\",e[e.TOP_LEFT=5]=\"TOP_LEFT\",e[e.TOP_RIGHT=6]=\"TOP_RIGHT\",e[e.BOTTOM_LEFT=7]=\"BOTTOM_LEFT\",e[e.BOTTOM_RIGHT=8]=\"BOTTOM_RIGHT\"}(m||(m={})),function(e){e[e.NONE=0]=\"NONE\",e[e.UPPERCASE=1]=\"UPPERCASE\",e[e.LOWERCASE=2]=\"LOWERCASE\"}(o||(o={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\"}(r||(r={})),function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.VERTICAL=1]=\"VERTICAL\"}(p||(p={}));class f{}f.backgroundLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.fillLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.lineLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"line-cap\":{type:\"enum\",values:[\"butt\",\"round\",\"square\"],default:e.BUTT},\"line-join\":{type:\"enum\",values:[\"bevel\",\"round\",\"miter\"],default:t.MITER},\"line-miter-limit\":{type:\"number\",default:2},\"line-round-limit\":{type:\"number\",default:1.05}},f.symbolLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"symbol-avoid-edges\":{type:\"boolean\",default:!1},\"symbol-placement\":{type:\"enum\",values:[\"point\",\"line\",\"line-center\"],default:n.POINT},\"symbol-sort-key\":{type:\"number\",default:-1},\"symbol-spacing\":{type:\"number\",minimum:1,default:250},\"icon-allow-overlap\":{type:\"boolean\",default:!1},\"icon-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"icon-ignore-placement\":{type:\"boolean\",default:!1},\"icon-image\":{type:\"string\"},\"icon-keep-upright\":{type:\"boolean\",default:!1},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-optional\":{type:\"boolean\",default:!1},\"icon-padding\":{type:\"number\",minimum:0,default:2},\"icon-rotate\":{type:\"number\",default:0},\"icon-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"icon-size\":{type:\"number\",minimum:0,default:1},\"text-allow-overlap\":{type:\"boolean\",default:!1},\"text-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"text-field\":{type:\"string\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"]},\"text-ignore-placement\":{type:\"boolean\",default:!1},\"text-justify\":{type:\"enum\",values:[\"auto\",\"left\",\"center\",\"right\"],default:u.CENTER},\"text-keep-upright\":{type:\"boolean\",default:!0},\"text-letter-spacing\":{type:\"number\",default:0},\"text-line-height\":{type:\"number\",default:1.2},\"text-max-angle\":{type:\"number\",minimum:0,default:45},\"text-max-width\":{type:\"number\",minimum:0,default:10},\"text-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-optional\":{type:\"boolean\",default:!1},\"text-padding\":{type:\"number\",minimum:0,default:2},\"text-rotate\":{type:\"number\",default:0},\"text-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"text-size\":{type:\"number\",minimum:0,default:16},\"text-transform\":{type:\"enum\",values:[\"none\",\"uppercase\",\"lowercase\"],default:o.NONE},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:[\"horizontal\",\"vertical\"],default:[p.HORIZONTAL]}},f.circleLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.backgroundPaintDefinition={\"background-color\":{type:\"color\",default:[0,0,0,1]},\"background-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"background-pattern\":{type:\"string\"}},f.fillPaintDefinition={\"fill-antialias\":{type:\"boolean\",default:!0},\"fill-color\":{type:\"color\",default:[0,0,0,1]},\"fill-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"fill-outline-color\":{type:\"color\",default:[0,0,0,0]},\"fill-pattern\":{type:\"string\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"fill-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.linePaintDefinition={\"line-blur\":{type:\"number\",minimum:0,default:0},\"line-color\":{type:\"color\",default:[0,0,0,1]},\"line-dasharray\":{type:\"array\",value:\"number\",default:[]},\"line-gap-width\":{type:\"number\",minimum:0,default:0},\"line-offset\":{type:\"number\",default:0},\"line-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"line-pattern\":{type:\"string\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"line-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"line-width\":{type:\"number\",minimum:0,default:1}},f.symbolPaintDefinition={\"icon-color\":{type:\"color\",default:[0,0,0,1]},\"icon-halo-blur\":{type:\"number\",minimum:0,default:0},\"icon-halo-color\":{type:\"color\",default:[0,0,0,0]},\"icon-halo-width\":{type:\"number\",minimum:0,default:0},\"icon-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"text-color\":{type:\"color\",default:[0,0,0,1]},\"text-halo-blur\":{type:\"number\",minimum:0,default:0},\"text-halo-color\":{type:\"color\",default:[0,0,0,0]},\"text-halo-width\":{type:\"number\",minimum:0,default:0},\"text-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.rasterPaintDefinition={\"raster-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-hue-rotate\":{type:\"number\",default:0},\"raster-brightness-min\":{type:\"number\",minimum:0,maximum:1,default:0},\"raster-brightness-max\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-saturation\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-contrast\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-fade-duration\":{type:\"number\",minimum:0,default:300}},f.circlePaintDefinition={\"circle-blur\":{type:\"number\",minimum:0,default:0},\"circle-color\":{type:\"color\",default:[0,0,0,1]},\"circle-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-radius\":{type:\"number\",minimum:0,default:5},\"circle-stroke-color\":{type:\"color\",default:[0,0,0,1]},\"circle-stroke-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-stroke-width\":{type:\"number\",minimum:0,default:0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"circle-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}};export{l as RotationAlignment,f as StyleDefinition,a as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,i as Visibility};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass a{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(a,r,t){}draw(a,r,t){}drawMany(a,r,t){for(const s of r)this.draw(a,s,t)}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{b as e,c as r,r as s,j as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n"],"sourceRoot":""}