{"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/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/layers/support/PixelBlock.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/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/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/layers/support/rasterFunctions/pixelUtils.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/flow/BrushFlow.js","webpack:///./node_modules/@arcgis/core/views/layers/GroupLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/GroupLayerView2D.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/webgl/GroupContainer.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","geometry","BYTE","m","UNSIGNED_SHORT","s","constructor","super","arguments","this","_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","name","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","blendFunction","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","target","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","drawPhase","HITTEST","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","some","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","MAP","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","bitmap","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","pixelType","mask","maskIsAlpha","pixels","statistics","getPixelArrayConstructor","Uint8Array","Uint16Array","Float64Array","castPixelType","toLowerCase","getPlaneCount","addData","minValue","maxValue","getAsRGBA","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","getAsRGBAFloat","_fillFrom32Bit","updateStatistics","_calculateBandStatistics","clamp","createEmptyBand","extractBands","clone","slice","reduce","min","MAX_VALUE","json","write","prototype","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","Object","freeze","defineProperty","__proto__","create","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","value","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","_count","unbind","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","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","parseFloat","_clip","stage","_handle","version","_invalidate","ready","_destroyGL","mesh","remove","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","children","clips","_updateClippingInfo","doRender","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","prepareRenderPasses","beforeRender","render","afterRender","requireFBO","requiresDedicatedFBO","registerRenderPass","brushes","LABEL_ALPHA","DEBUG","setTransform","onAttach","onDetach","items","fromClipArea","declaredClass","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","mappedColor","find","pixelBlock","extent","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","done","delete","ceil","cols","rows","offsets_x","offsets_y","offsets_xi","offsets_yi","gridWidth","coefficients","isNaN","atan2","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","RGBA32F","flipped","offsets","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","u_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","_visualState","time","displayData","attach","resources","flowStyle","animated","layerViews","_allLayerViewVisibility","visible","initialize","handles","add","on","_layerViewsChangeHandler","layer","visibilityMode","_applyVisibility","_applyExclusiveVisibility","added","toArray","removed","moved","_set","_get","updatingProgress","isUpdating","updating","_hasLayerViewVisibleOverrides","_isOverridden","_findLayerViewForLayer","_firstVisibleOnLayerOrder","layers","getItemAt","cast","readOnly","container","_updateStageChildren","detach","removeAllChildren","update","moveStart","viewChange","moveEnd","addChildAt","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","_prevFBO","_getFbo","getRenderTarget","setRenderTarget","setClearDepth","DEPTH_BUFFER_BIT","processRender","releaseFbo","blitTexture","blendMode","effects","computedEffects","acquireFbo","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","_textureInvalidated","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","_source","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","invalidateTexture","_isBandIdschanged","setSamplingMode","_getTextureSamplingMethod","toScreenNoRotation","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","bandIds","_colormap"],"mappings":"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","file":"js/chunk-7e39cb04.ddbaa595.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{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*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import e from\"../../core/Error.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import l from\"../../core/Logger.js\";import{isNone as r}from\"../../core/maybe.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{cast as o}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";var n;const p=l.getLogger(\"esri.layers.support.PixelBlock\");let c=n=class extends s{constructor(t){super(t),this.width=null,this.height=null,this.pixelType=\"f32\",this.validPixelCount=null,this.mask=null,this.maskIsAlpha=!1,this.pixels=null,this.statistics=null}static createEmptyBand(t,e){return new(n.getPixelArrayConstructor(t))(e)}static getPixelArrayConstructor(t){let e;switch(t){case\"u1\":case\"u2\":case\"u4\":case\"u8\":e=Uint8Array;break;case\"u16\":e=Uint16Array;break;case\"u32\":e=Uint32Array;break;case\"s8\":e=Int8Array;break;case\"s16\":e=Int16Array;break;case\"s32\":e=Int32Array;break;case\"f32\":case\"c64\":case\"c128\":case\"unknown\":e=Float32Array;break;case\"f64\":e=Float64Array}return e}castPixelType(t){if(!t)return\"f32\";let e=t.toLowerCase();return[\"u1\",\"u2\",\"u4\"].includes(e)?e=\"u8\":[\"unknown\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"].includes(e)||(e=\"f32\"),e}getPlaneCount(){return this.pixels&&this.pixels.length}addData(t){if(!t.pixels||t.pixels.length!==this.width*this.height)throw new e(\"pixelblock:invalid-or-missing-pixels\",\"add data requires valid pixels array that has same length defined by pixel block width * height\");this.pixels||(this.pixels=[]),this.statistics||(this.statistics=[]),this.pixels.push(t.pixels),this.statistics.push(t.statistics||{minValue:null,maxValue:null})}getAsRGBA(){const t=new ArrayBuffer(this.width*this.height*4);switch(this.pixelType){case\"s8\":case\"s16\":case\"u16\":case\"s32\":case\"u32\":case\"f32\":case\"f64\":this._fillFromNon8Bit(t);break;default:this._fillFrom8Bit(t)}return new Uint8ClampedArray(t)}getAsRGBAFloat(){const t=new Float32Array(this.width*this.height*4);return this._fillFrom32Bit(t),t}updateStatistics(){this.statistics=this.pixels.map((t=>this._calculateBandStatistics(t,this.mask)));const t=this.mask;let e=0;if(t)for(let s=0;si?i:ht>=this.pixels.length)),i=e===t.length&&!t.some(((t,e)=>t!==e));return s||i?this:new n({pixelType:this.pixelType,width:this.width,height:this.height,mask:this.mask,validPixelCount:this.validPixelCount,maskIsAlpha:this.maskIsAlpha,pixels:t.map((t=>this.pixels[t])),statistics:this.statistics&&t.map((t=>this.statistics[t]))})}clone(){const t=new n({width:this.width,height:this.height,pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});let e;this.mask&&(this.mask instanceof Uint8Array?t.mask=new Uint8Array(this.mask):t.mask=this.mask.slice(0));const s=n.getPixelArrayConstructor(this.pixelType);if(this.pixels&&this.pixels.length>0){t.pixels=[];const i=this.pixels[0].slice;for(e=0;e=3?(r=i[1],a=i[2]):2===i.length&&(r=i[1]);const h=new Uint32Array(t),n=this.width*this.height;if(l.length===n)if(e&&e.length===n)if(s)for(o=0;o0)a=i.map((t=>t.minValue)).reduce(((t,e)=>Math.min(t,e))),o=i.map((t=>t.maxValue-t.minValue)).reduce(((t,e)=>Math.max(t,e))),r=255/o;else{let t=255;\"s8\"===l?(a=-128,t=127):\"u16\"===l?t=65535:\"s16\"===l?(a=-32768,t=32767):\"u32\"===l?t=4294967295:\"s32\"===l?(a=-2147483648,t=2147483647):\"f32\"===l?(a=-34e38,t=34e38):\"f64\"===l&&(a=-Number.MAX_VALUE,t=Number.MAX_VALUE),r=255/(t-a)}const h=new Uint32Array(t),n=this.width*this.height;let c,u,m,x,f;if(c=u=m=e[0],c.length!==n)return p.error(\"getAsRGBA()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");if(e.length>=2)if(u=e[1],e.length>=3&&(m=e[2]),s&&s.length===n)for(x=0;x=3?(l=e[1],r=e[2]):2===e.length&&(l=e[1]);const o=this.width*this.height;if(i.length!==o)return p.error(\"getAsRGBAFloat()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");let h=0;if(s&&s.length===o)for(a=0;ai?a:i);else for(r=0;ri?a:i;return{minValue:s,maxValue:i}}};t([a({json:{write:!0}})],c.prototype,\"width\",void 0),t([a({json:{write:!0}})],c.prototype,\"height\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixelType\",void 0),t([o(\"pixelType\")],c.prototype,\"castPixelType\",null),t([a({json:{write:!0}})],c.prototype,\"validPixelCount\",void 0),t([a({json:{write:!0}})],c.prototype,\"mask\",void 0),t([a({json:{write:!0}})],c.prototype,\"maskIsAlpha\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixels\",void 0),t([a({json:{write:!0}})],c.prototype,\"statistics\",void 0),c=n=t([h(\"esri.layers.support.PixelBlock\")],c);const u=c;export{u 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{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*/\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{isSome as t,isNone as e}from\"../../../core/maybe.js\";import n from\"../PixelBlock.js\";function i(e){return t(e)&&\"esri.layers.support.PixelBlock\"===e.declaredClass&&e.pixels&&e.pixels.length>0}function l(t,e){if(!e?.length||!i(t))return t;const l=t.pixels.length;return e&&e.some((t=>t>=l))||1===l&&1===e.length&&0===e[0]?t:l!==e.length||e.some(((t,e)=>t!==e))?new n({pixelType:t.pixelType,width:t.width,height:t.height,mask:t.mask,validPixelCount:t.validPixelCount,maskIsAlpha:t.maskIsAlpha,pixels:e.map((e=>t.pixels[e])),statistics:t.statistics&&e.map((e=>t.statistics[e]))}):t}function o(t){if(!t)return;const e=t.colormap;if(!e||0===e.length)return;const n=e.sort(((t,e)=>t[0]-e[0]));let i=0;n[0][0]<0&&(i=n[0][0]);const l=Math.max(256,n[n.length-1][0]-i+1),o=new Uint8Array(4*l),r=[];let s,a=0,h=0;const f=5===n[0].length;if(l>65536)return n.forEach((t=>{r[t[0]-i]=f?t.slice(1):t.slice(1).concat([255])})),{indexed2DColormap:r,offset:i,alphaSpecified:f};if(t.fillUnspecified)for(s=n[h],a=s[0]-i;ac?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]));else{for(o=new Uint8Array(r),u=0;uc?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]);n.mask=o}else if(o)for(u=0;ua)));const u=[];let p,x,m;if(h)if(null==o)for(f=0;f1;){if(f===c.value){d=!0;break}f>c.value?u=m:p=m,m=Math.floor((u+p)/2),c=e[Math.floor(m)]}d||(f===e[u].value?(c=e[u],d=!0):f===e[p].value?(c=e[p],d=!0):fe[u].value&&(ft.pixelBlock));if(!i||e(i.pixelBlock))return null;const l=(i.extent.xmax-i.extent.xmin)/i.pixelBlock.width,o=(i.extent.ymax-i.extent.ymin)/i.pixelBlock.height,r=.01*Math.min(l,o),s=t.sort(((t,e)=>Math.abs(t.extent.ymax-e.extent.ymax)>r?e.extent.ymax-t.extent.ymax:Math.abs(t.extent.xmin-e.extent.xmin)>r?t.extent.xmin-e.extent.xmin:0)),a=Math.min.apply(null,s.map((t=>t.extent.xmin))),h=Math.min.apply(null,s.map((t=>t.extent.ymin))),f=Math.max.apply(null,s.map((t=>t.extent.xmax))),c=Math.max.apply(null,s.map((t=>t.extent.ymax))),p={x:Math.round((n.xmin-a)/l),y:Math.round((c-n.ymax)/o)},x={width:Math.round((f-a)/l),height:Math.round((c-h)/o)},m={width:Math.round((n.xmax-n.xmin)/l),height:Math.round((n.ymax-n.ymin)/o)};if(Math.round(x.width/i.pixelBlock.width)*Math.round(x.height/i.pixelBlock.height)!==s.length||p.x<0||p.y<0||x.widtht.pixelBlock)),x,{clipOffset:p,clipSize:m})}}function c(t,e,n,i,l,o){const{width:r,height:s}=n.block,{x:a,y:f}=n.offset,{width:c,height:u}=n.mosaic,p=h(r,s,i,l,a,f,c,u);let x=0,m=0;if(o){const t=o.hasGCSSShiftTransform?360:o.halfWorldWidth,e=r*o.resolutionX,n=o.startX+i*e,l=n+e;nt?m=o.rightPadding:n>=t&&(x=o.leftMargin-o.rightPadding,m=0)}if(p.xmax-=m,\"number\"!=typeof e)for(let h=p.ymin;hi(t)));if(e(u))return null;const x=a?a.width:o.width,m=a?a.height:o.height,d=u.width,y=u.height,g=o.width/d,w=o.height/y,k={offset:s||{x:0,y:0},mosaic:a||o,block:{width:d,height:y}},M=u.pixelType,A=n.getPixelArrayConstructor(M),U=u.pixels.length,C=[];let T,S;for(let t=0;te(t)||t.mask&&t.mask.length>0))){B=new Uint8Array(x*m);for(let e=0;et(e)));if(e(s))return null;const a=l.some((e=>!t(e)||!!e.mask)),{width:h,height:f}=o,c=a?new Uint8Array(h*f):null,{blockWidths:u}=r,p=[],x=s.getPlaneCount(),m=n.getPixelArrayConstructor(s.pixelType);if(a)for(let t=0,e=0;tl||h>o)return t;if(0===r&&0===s&&a===l&&h===o)return t;t.mask||(t.mask=new Uint8Array(l*o));const f=t.mask;for(let i=0;i=h||e=a?0:1}return t.updateStatistics(),t}function m(t){if(!i(t))return null;const e=t.clone(),{width:n,height:l,pixels:o,mask:r}=t,s=o[0],a=e.pixels[0];for(let i=2;ie&&(n=o.value,e=i),o=l.next();return n}function y(t,e,n){if(0===n)return;const i=t.get(e);1===i?t.delete(e):t.set(e,i-1)}function g(t,e,n){0!==n&&t.set(e,t.has(e)?t.get(e)+1:1)}function w(t,e,l){let{x:o,y:r}=e;const{width:s,height:a}=l;if(0===o&&0===r&&a===t.height&&s===t.width)return t;const{width:h,height:f}=t,c=Math.max(0,r),u=Math.max(0,o),p=Math.min(o+s,h),x=Math.min(r+a,f);if(p<0||x<0||!i(t))return null;o=Math.max(0,-o),r=Math.max(0,-r);const{pixels:m,mask:d}=t,y=s*a,g=m.length,w=[];for(let i=0;i{const i=t instanceof Float32Array||t instanceof Float64Array?0:.5;for(let l=0;l 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{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*/\nimport{_ as i}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Collection.js\";import{castForReferenceSetter as s,referenceSetter as r}from\"../../core/collectionUtils.js\";import{isNone as t}from\"../../core/maybe.js\";import{watch as l,sync as a}from\"../../core/reactiveUtils.js\";import{property as y}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import h from\"./LayerView.js\";let p=class extends h{constructor(i){super(i),this.type=\"group\",this.layerViews=new e}_allLayerViewVisibility(i){this.layerViews.forEach((e=>{e.visible=i}))}initialize(){this.handles.add([this.layerViews.on(\"change\",(i=>this._layerViewsChangeHandler(i))),l((()=>this.layer.visibilityMode),(()=>this._applyVisibility((()=>this._allLayerViewVisibility(this.visible)),(()=>this._applyExclusiveVisibility(null)))),a),l((()=>this.visible),(i=>{this._applyVisibility((()=>this._allLayerViewVisibility(i)),(()=>{}))}),a)],\"grouplayerview\"),this._layerViewsChangeHandler({target:null,added:this.layerViews.toArray(),removed:[],moved:[]})}set layerViews(i){this._set(\"layerViews\",r(i,this._get(\"layerViews\")))}get updatingProgress(){return 0===this.layerViews.length?1:this.layerViews.reduce(((i,e)=>i+e.updatingProgress),0)/this.layerViews.length}isUpdating(){return this.layerViews.some((i=>i.updating))}_hasLayerViewVisibleOverrides(){return this.layerViews.some((i=>i._isOverridden(\"visible\")))}_findLayerViewForLayer(i){return i&&this.layerViews.find((e=>e.layer===i))}_firstVisibleOnLayerOrder(){const i=this.layer.layers.find((i=>this._findLayerViewForLayer(i)?.visible));return i&&this._findLayerViewForLayer(i)}_applyExclusiveVisibility(i){t(i)&&(i=this._firstVisibleOnLayerOrder(),t(i)&&this.layerViews.length>0&&(i=this._findLayerViewForLayer(this.layer.layers.getItemAt(0)))),this.layerViews.forEach((e=>{e.visible=e===i}))}_layerViewsChangeHandler(i){this.handles.remove(\"grouplayerview:visible\"),this.handles.add(this.layerViews.map((i=>l((()=>i.visible),(e=>this._applyVisibility((()=>{e!==this.visible&&(i.visible=this.visible)}),(()=>this._applyExclusiveVisibility(e?i:null)))),a))).toArray(),\"grouplayerview:visible\");const e=i.added[i.added.length-1];this._applyVisibility((()=>this._allLayerViewVisibility(this.visible)),(()=>this._applyExclusiveVisibility(e?.visible?e:null)))}_applyVisibility(i,e){this._hasLayerViewVisibleOverrides()&&(\"inherited\"===this.layer?.visibilityMode?i():\"exclusive\"===this.layer?.visibilityMode&&e())}};i([y({cast:s})],p.prototype,\"layerViews\",null),i([y({readOnly:!0})],p.prototype,\"updatingProgress\",null),i([y()],p.prototype,\"view\",void 0),p=i([o(\"esri.views.layers.GroupLayerView\")],p);const n=p;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{_ as e}from\"../../../chunks/tslib.es6.js\";import\"../../../core/Logger.js\";import\"../../../core/accessorSupport/ensureType.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/set.js\";import{subclass as r}from\"../../../core/accessorSupport/decorators/subclass.js\";import{GroupContainer as s}from\"../engine/webgl/GroupContainer.js\";import{LayerView2DMixin as t}from\"./LayerView2D.js\";import o from\"../../layers/GroupLayerView.js\";let a=class extends(t(o)){constructor(){super(...arguments),this.container=new s}attach(){this._updateStageChildren(),this.handles.add(this.layerViews.on(\"after-changes\",(()=>this._updateStageChildren())),\"grouplayerview2d\")}detach(){this.handles.remove(\"grouplayerview2d\"),this.container.removeAllChildren()}update(e){}moveStart(){}viewChange(){}moveEnd(){}_updateStageChildren(){this.container.removeAllChildren(),this.layerViews.forEach(((e,r)=>this.container.addChildAt(e.container,r)))}};a=e([r(\"esri.views.2d.layers.GroupLayerView2D\")],a);const i=a;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 e from\"./WGLContainer.js\";import{TextureSamplingMode as t}from\"../../../webgl/enums.js\";class r extends e{constructor(){super(...arguments),this.requiresDedicatedFBO=!1}dispose(){}doRender(e){const r=this.createRenderParams(e),{context:s,painter:o,profiler:n}=r;this._prevFBO=s.getBoundFramebufferObject(),n.recordContainerStart(this.name);const i=this._getFbo(r),a=o.getRenderTarget();s.bindFramebuffer(i),o.setRenderTarget(i),s.setDepthWriteEnabled(!0),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.setClearDepth(1),s.clear(s.gl.COLOR_BUFFER_BIT|s.gl.DEPTH_BUFFER_BIT),s.setDepthWriteEnabled(!1);for(const t of this.children)t.beforeRender(e);for(const t of this.children)t.processRender(r);for(const t of this.children)t.afterRender(e);o.setRenderTarget(a),o.releaseFbo(i),s.bindFramebuffer(this._prevFBO),o.beforeRenderLayer(r,this._clippingInfos?255:0,this.computedOpacity),s.setStencilTestEnabled(!1),s.setStencilWriteMask(0),o.blitTexture(s,i.colorTexture,t.NEAREST),o.compositeLayer(r,this.computedOpacity),n.recordContainerEnd()}createRenderParams(e){return{...super.createRenderParams(e),blendMode:this.blendMode,effects:this.computedEffects,globalOpacity:1}}_getFbo(e){const{context:t,painter:r}=e,{width:s,height:o}=t.getViewport();return r.acquireFbo(s,o)}}export{r as GroupContainer};\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":""}