{"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/layers/support/mediaUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Overlay.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/OverlayContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/MediaLayerView2D.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/geometry/support/normalizeUtilsSync.js","webpack:///./node_modules/@arcgis/core/chunks/vec3f32.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/2d/engine/vectorTiles/decluttering/config.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/style/StyleDefinition.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js"],"names":["Number","POSITIVE_INFINITY","t","Math","PI","o","c","N","LN2","a","n","h","M","P","log","g","r","e","shaders","vertexShader","fragmentShader","attributes","Map","constructor","super","this","coords","extent","element","georeference","i","spatialReference","geometry","m","fromJSON","l","s","normalizedCoords","p","prototype","_","elementView","isWrapAround","_vertices","Float32Array","_handles","push","opacity","requestRender","loaded","ready","type","content","load","catch","getLogger","error","destroy","forEach","remove","texture","dispose","parent","dvsMat3","beforeRender","context","HTMLImageElement","HTMLVideoElement","naturalWidth","videoWidth","width","naturalHeight","videoHeight","height","paused","setData","y","gl","generateMipmap","f","pixelFormat","d","RGBA","dataType","UNSIGNED_BYTE","samplingMode","LINEAR","wrapMode","u","CLAMP_TO_EDGE","_createTransforms","updateDrawCoords","rings","x","set","getVAO","_vao","_geometryVbo","createVertex","DYNAMIC_DRAW","STATIC_DRAW","Uint16Array","w","tex","arguments","_localOrigin","_viewStateId","_dvsMat3","requiresDedicatedFBO","_updateMatrices","_updateOverlays","children","prepareRenderPasses","registerRenderPass","name","brushes","overlay","target","drawPhase","MAP","state","id","size","pixelRatio","resolution","rotation","viewpoint","displayMat3","v","j","targetGeometry","b","R","O","worldScreenWidth","isWrappable","abs","cos","sin","round","valid","toScreen","floor","C","D","I","toMap","bounds","_overlayContainer","_fetchQueue","_tileStrategy","_elementReferences","layer","elements","attach","handles","add","source","tiles","_updateTile","requestUpdate","container","addChild","tileInfoView","view","featuresTilingScheme","concurrency","process","_queryElements","cachePolicy","resampling","acquireTile","_acquireTile","releaseTile","_releaseTile","detach","removeAll","removeAllChildren","clear","supportsSpatialReference","moveStart","viewChange","moveEnd","update","mapPoint","reverse","canResume","clone","updatingHandles","addPromise","key","then","setElements","_acquireElements","_releaseElements","declaredClass","abort","getTileBounds","T","xmin","ymin","xmax","ymax","queryElements","uid","Set","projectedElement","get","delete","removeChild","readOnly","isReady","visible","has","Array","from","S","BYTE","UNSIGNED_SHORT","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","_quad","prepareState","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","stencilRef","draw","suspended","timeline","painter","begin","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","materialManager","getProgram","symbolizerParameters","_drawWithProgram","end","isCompiled","transformGrid","useProgram","_getUniformInfos","names","textures","U","getTextures","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","length","join","interpolation","isRendereredSource","spacing","nearest","defines","NEAREST","mips","bilinear","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","isSourceScaled","blendFunction","renderingOptions","computedOpacity","setSamplingProfile","bind","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","location","count","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","bufferLayouts","indexBuffer","setUniform4fv","bindVAO","drawElements","TRIANGLES","UNSIGNED_INT","FLOAT","GREATER","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","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","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","E","data","hittestAttributes","programSpec","L","POINTS","G","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","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","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","TEXTURE_2D","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","F","_seed","_allocDotDensityTexture","getFloat","REPEAT","MARKER","HEATMAP","PIE_CHART","A","_drawMarkers","_accumulateOutputTexture","_accumulateFramebuffer","_resolveGradientTexture","_tileQuad","_loadQualityProfile","_prepareAccumulatePass","_drawResolvePass","referenceScale","radius","isFieldActive","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","WEBGL2","shadingRate","RED","R32F","R16F","gradientHash","gradient","_prevGradientHash","resize","_qualityProfile","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","pattern","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","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","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","_renderGlyphRange","LABEL","mapAligned","LINE","TEXT","marker","line","fill","text","label","clip","stencil","bitmap","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","Float64Array","castPixelType","toLowerCase","getPlaneCount","addData","minValue","maxValue","getAsRGBA","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","getAsRGBAFloat","_fillFrom32Bit","updateStatistics","_calculateBandStatistics","clamp","createEmptyBand","extractBands","slice","reduce","min","MAX_VALUE","json","write","toJSON","maxX","minX","points","isArray","frameId","ceil","cut","paths","frameIds","linesIn","linesOut","xCut","closed","minPts","moveTo","lineTo","close","_pushLineIn","_pushLineOut","_prevSide","_side","_moveTo","_prevPt","_firstPt","_intersect","_lineTo","_checkClosingPt","lineIn","lineOut","_addPolyVertex","pop","Object","freeze","defineProperty","__proto__","create","fromValues","createView","zeros","ones","unitX","unitY","unitZ","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","Symbol","toStringTag","value","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","unitW","UNIT_W","_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","next","prev","Z","steiner","prevZ","nextZ","sort","deviation","flatten","vertices","holes","dimensions","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","fromPolygon","fromMapExtent","fromRect","vertexBuffers","getIndexBuffer","createIndex","getVertexBuffers","keys","parseFloat","_clip","stage","_handle","version","_invalidate","_destroyGL","mesh","_lastWidth","_lastHeight","_createMesh","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","doRender","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","render","afterRender","requireFBO","LABEL_ALPHA","DEBUG","setTransform","onAttach","onDetach","items","fromClipArea","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","mappedColor","find","pixelBlock","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","done","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","resources","flowStyle","animated","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","BACKGROUND","SYMBOL","CIRCLE","VISIBLE","NONE","LINE_CENTER","LEFT","CENTER","RIGHT","TOP","BOTTOM","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","UPPERCASE","LOWERCASE","HORIZONTAL","VERTICAL","backgroundLayoutDefinition","visibility","default","fillLayoutDefinition","lineLayoutDefinition","BUTT","MITER","symbolLayoutDefinition","minimum","circleLayoutDefinition","backgroundPaintDefinition","maximum","fillPaintDefinition","linePaintDefinition","symbolPaintDefinition","rasterPaintDefinition","circlePaintDefinition","stretchType","_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-370d0f26.7b68933c.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{_ as o}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Accessor.js\";import{isNone as e,unwrap as t,isSome as s}from\"../../core/maybe.js\";import{property as p}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as n}from\"../../core/accessorSupport/decorators/subclass.js\";import m from\"../../geometry/Polygon.js\";import{projectOrLoad as i}from\"../../geometry/projection.js\";import{fromExtent as c}from\"../../geometry/support/aaBoundingRect.js\";import{normalizeCentralMeridianSync as l}from\"../../geometry/support/normalizeUtilsSync.js\";let a=class extends r{constructor(o){super(o)}get bounds(){const o=this.coords;return e(o)?null:c(o.extent)}get coords(){const o=t(this.element.georeference)?.coords;return i(o,this.spatialReference).geometry}get normalizedCoords(){return m.fromJSON(l(this.coords))}get normalizedBounds(){return s(this.normalizedCoords)?c(this.normalizedCoords.extent):null}};o([p()],a.prototype,\"spatialReference\",void 0),o([p()],a.prototype,\"element\",void 0),o([p()],a.prototype,\"bounds\",null),o([p()],a.prototype,\"coords\",null),o([p()],a.prototype,\"normalizedCoords\",null),o([p()],a.prototype,\"normalizedBounds\",null),a=o([n(\"esri.layers.support.media.MediaElementView\")],a);export{a as MediaElementView};\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{on as t}from\"../../../../core/events.js\";import r from\"../../../../core/Logger.js\";import{isPowerOfTwo as s}from\"../../../../core/mathUtils.js\";import{isSome as i,isNone as o}from\"../../../../core/maybe.js\";import{watch as n,when as a,initial as h}from\"../../../../core/reactiveUtils.js\";import{DisplayObject as m}from\"../DisplayObject.js\";import{BufferObject as l}from\"../../../webgl/BufferObject.js\";import{PixelFormat as d,PixelType as c,TextureSamplingMode as p,TextureWrapMode as u,Usage as g}from\"../../../webgl/enums.js\";import{Texture as f}from\"../../../webgl/Texture.js\";import{VertexArrayObject as w}from\"../../../webgl/VertexArrayObject.js\";import y from\"../../../webgl/capabilities/isWebGL2Context.js\";class _ extends m{constructor(s){super(),this.elementView=s,this.isWrapAround=!1,this._vertices=new Float32Array(20),this._handles=[],this._handles.push(n((()=>this.elementView.element.opacity),(e=>this.opacity=e),h),n((()=>[this.elementView.coords]),(()=>{this.requestRender()}),h),a((()=>this.elementView.element.loaded),(()=>{const e=this.elementView.element;this.ready(),\"video\"===e.type&&i(e.content)&&this._handles.push(t(e.content,\"play\",(()=>this.requestRender())))}),h)),s.element.load().catch((t=>{r.getLogger(\"esri.views.2d.layers.MediaLayerView2D\").error(new e(\"element-load-error\",\"Element cannot be displayed\",{element:s,error:t}))}))}destroy(){this._handles.forEach((e=>e.remove())),this.texture?.dispose(),this.texture=null}get dvsMat3(){return this.parent.dvsMat3}beforeRender(e){const{context:t}=e,r=this.elementView.element.content;if(i(r)){const e=r instanceof HTMLImageElement,i=r instanceof HTMLVideoElement,o=e?r.naturalWidth:i?r.videoWidth:r.width,n=e?r.naturalHeight:i?r.videoHeight:r.height;this.texture?i&&!r.paused&&(this.texture.setData(r),this.requestRender(),(y(t.gl)||s(o)&&s(n))&&this.texture.generateMipmap()):(this.texture=new f(t,{pixelFormat:d.RGBA,dataType:c.UNSIGNED_BYTE,samplingMode:p.LINEAR,wrapMode:u.CLAMP_TO_EDGE,width:o,height:n},r),(y(t.gl)||s(o)&&s(n))&&this.texture.generateMipmap(),i&&!r.paused&&this.requestRender())}super.beforeRender(e)}_createTransforms(){return null}updateDrawCoords(e,t){const r=this.elementView.coords;if(o(r))return;const[s,i,n,a]=r.rings[0],h=this._vertices,{x:m,y:l}=e,d=0!==t;d?h.set([i[0]-m,i[1]-l,s[0]-m,s[1]-l,n[0]-m,n[1]-l,a[0]-m,a[1]-l,a[0]-m,a[1]-l,i[0]+t-m,i[1]-l,i[0]+t-m,i[1]-l,s[0]+t-m,s[1]-l,n[0]+t-m,n[1]-l,a[0]+t-m,a[1]-l]):h.set([i[0]-m,i[1]-l,s[0]-m,s[1]-l,n[0]-m,n[1]-l,a[0]-m,a[1]-l]),this.isWrapAround=d}getVAO(e,t,r){if(o(this.elementView.coords))return null;const s=this._vertices;if(this._vao)this._geometryVbo.setData(s);else{this._geometryVbo=l.createVertex(e,g.DYNAMIC_DRAW,s);const i=l.createVertex(e,g.STATIC_DRAW,new Uint16Array([0,0,0,1,1,0,1,1,1,1,0,0,0,0,0,1,1,0,1,1]));this._vao=new w(e,r,t,{geometry:this._geometryVbo,tex:i})}return this._vao}}export{_ 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}from\"../../../../core/maybe.js\";import{createScreenPoint as e}from\"../../../../core/screenUtils.js\";import{b as s,m as r,c as o,d as a,r as i}from\"../../../../chunks/mat3.js\";import{c as n}from\"../../../../chunks/mat3f32.js\";import{f as c}from\"../../../../chunks/vec2f32.js\";import{f as p}from\"../../../../chunks/vec3f32.js\";import{normalizeMapX as d}from\"../../../../geometry/support/normalizeUtils.js\";import{getInfo as l}from\"../../../../geometry/support/spatialReferenceUtils.js\";import{getWorldWidth as m}from\"../../viewpointUtils.js\";import{brushes as h}from\"../brushes.js\";import{WGLDrawPhase as f}from\"./enums.js\";import u from\"./WGLContainer.js\";class M extends u{constructor(){super(...arguments),this._localOrigin=e(0,0),this._viewStateId=-1,this._dvsMat3=n(),this.requiresDedicatedFBO=!1}get dvsMat3(){return this._dvsMat3}beforeRender(t){this._updateMatrices(t),this._updateOverlays(t,this.children);for(const e of this.children)e.beforeRender(t)}prepareRenderPasses(t){const e=t.registerRenderPass({name:\"overlay\",brushes:[h.overlay],target:()=>this.children,drawPhase:f.MAP});return[...super.prepareRenderPasses(t),e]}_updateMatrices(t){const{state:e}=t,{id:n,size:l,pixelRatio:m,resolution:h,rotation:f,viewpoint:u,displayMat3:M}=e;if(this._viewStateId===n)return;const v=Math.PI/180*f,_=m*l[0],w=m*l[1],{x:y,y:j}=u.targetGeometry,g=d(y,e.spatialReference);this._localOrigin.x=g,this._localOrigin.y=j;const b=h*_,R=h*w,O=s(this._dvsMat3);r(O,O,M),o(O,O,c(_/2,w/2)),a(O,O,p(_/b,-w/R,1)),i(O,O,-v),this._viewStateId=n}_updateOverlays(e,s){const{state:r}=e,{rotation:o,spatialReference:a,worldScreenWidth:i,size:n,viewpoint:c}=r,p=this._localOrigin;let d=0;if(a.isWrappable){const e=n[0],h=n[1],f=180/Math.PI*o,u=Math.abs(Math.cos(f)),M=Math.abs(Math.sin(f)),v=Math.round(e*u+h*M),[_,w]=l(a).valid,y=m(a),{x:j,y:g}=c.targetGeometry,b=[j,g],R=[0,0];r.toScreen(R,b);const O=[0,0];let P;P=v>i?.5*i:.5*v;const x=Math.floor((j+.5*y)/y),C=_+x*y,D=w+x*y,I=[R[0]+P,0];r.toMap(O,I),O[0]>D&&(d=y),I[0]=R[0]-P,r.toMap(O,I),O[0]_?r.updateDrawCoords(p,y):o>w&&sthis.layer.source),\"refresh\",(()=>{for(const e of this._tileStrategy.tiles)this._updateTile(e);this.requestUpdate()}))),this._overlayContainer=new g,this.container.addChild(this._overlayContainer),this._fetchQueue=new d({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t)}),this._tileStrategy=new y({cachePolicy:\"purge\",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.handles.removeAll(),this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear()}supportsSpatialReference(e){return!0}moveStart(){this.requestUpdate()}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e)}async hitTest(e,t){const s=[],r=[e.x,e.y];for(const l of this.elements){const t=i(l.georeference)?.coords;o(t)&&u(t.rings,r)&&s.push({type:\"media\",element:l,layer:this.layer,mapPoint:e})}return s.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){}_acquireTile(e){const t=new R(e.clone());return this._updateTile(t),t}_updateTile(e){this.updatingHandles.addPromise(this._fetchQueue.push(e.key).then((t=>{const[s,r]=e.setElements(t);this._acquireElements(e,s),this._releaseElements(e,r),this.requestUpdate()}),(e=>{n(e)||s.getLogger(this.declaredClass).error(e)})))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._releaseElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const s=this.layer.source;if(l(s))return[];this.view.featuresTilingScheme.getTileBounds(T,e,!0);const r=new j({xmin:T[0],ymin:T[1],xmax:T[2],ymax:T[3],spatialReference:this.view.spatialReference});return s.queryElements(r,t)}_acquireElements(e,t){const s=this.layer.source,i=this.view.spatialReference;if(!l(s))for(const o of t){r(this._elementReferences,o.uid,(()=>{const e=new p({element:o,spatialReference:i}),t=new f(e);return this._overlayContainer.addChild(t),this.elements.add(o),{tiles:new Set,projectedElement:e,overlay:t}})).tiles.add(e)}}_releaseElements(e,t){for(const s of t){const t=this._elementReferences.get(s.uid);t.tiles.delete(e),t.tiles.size||(this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.projectedElement.destroy(),this._elementReferences.delete(s.uid),this.elements.remove(s))}}};e([m()],w.prototype,\"_fetchQueue\",void 0),e([m()],w.prototype,\"layer\",void 0),e([m({readOnly:!0})],w.prototype,\"elements\",void 0),w=e([c(\"esri.views.2d.layers.MediaLayerView2D\")],w);const T=h();class R{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],s=new Set(this.elements);this.elements=e;for(const r of e)s.has(r)?s.delete(r):t.push(r);return this.isReady=!0,[t,Array.from(s)]}}const S=w;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\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*/\nimport{isNone as t}from\"../../core/maybe.js\";import{create as i}from\"./aaBoundingRect.js\";import{getBoundsXY as s}from\"./boundsUtils.js\";import{closeRings as n}from\"./coordsUtils.js\";import{isPoint as e,isMultipoint as h,isExtent as o,isPolygon as r,isPolyline as u}from\"./jsonUtils.js\";import{cutParams as m,updatePolyGeometry as x,offsetMagnitude as l}from\"./normalizeUtilsCommon.js\";import{getInfo as c,isWebMercator as a}from\"./spatialReferenceUtils.js\";function p(t){return _(t,!0)}function f(t){return _(t,!1)}function _(i,n){if(t(i))return null;const p=i.spatialReference,f=c(p),_=\"toJSON\"in i?i.toJSON():i;if(!f)return _;const I=a(p)?102100:4326,g=m[I].maxX,v=m[I].minX;if(e(_))return y(_,g,v);if(h(_))return _.points=_.points.map((t=>y(t,g,v))),_;if(o(_))return d(_,f);if(r(_)||u(_)){const t=s(S,_),i={xmin:t[0],ymin:t[1],xmax:t[2],ymax:t[3]},e=l(i.xmin,v)*(2*g),h=0===e?_:x(_,e);return i.xmin+=e,i.xmax+=e,i.xmax>g?P(h,g,n):i.xmint.extent));return s.length<2?s[0]||t:s.length>2?(t.xmin=i.valid[0],t.xmax=i.valid[1],t):{rings:s.map((t=>[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]))}}function y(t,i,s){if(Array.isArray(t)){const n=t[0];if(n>i){const s=l(n,i);t[0]=n+s*(-2*i)}else if(ni){const s=l(n,i);t.x+=s*(-2*i)}else if(n0;if(r>2*m){const t={xmin:hc||p?s.push(new C({xmin:x,ymin:n,xmax:m,ymax:e},[l]),new C({xmin:u,ymin:n,xmax:c,ymax:e},[a])):s.push(new C({xmin:x,ymin:n,xmax:c,ymax:e},[l]));return s}function g(t,i){const[s,n]=i.valid,e=2*n;let h,o=0;return t>n?(h=Math.ceil(Math.abs(t-n)/e),t-=h*e,o=h):t=t.xmin&&i<=t.xmax&&s>=t.ymin&&s<=t.ymax}function P(t,i,s=!0){const e=!u(t);if(e&&n(t),s){return(new T).cut(t,i)}const h=e?t.rings:t.paths,o=e?4:2,r=h.length,m=-2*i;for(let n=0;n=o){const i=[];for(const s of t)i.push([s[0]+m,s[1]]);h.push(i)}}return e?t.rings=h:t.paths=h,t}class C{constructor(t,i){this.extent=t,this.frameIds=i}}const S=i();class T{constructor(){this.linesIn=[],this.linesOut=[]}cut(t,i){let s;if(this.xCut=i,t.rings)this.closed=!0,s=t.rings,this.minPts=4;else{if(!t.paths)return null;this.closed=!1,s=t.paths,this.minPts=2}for(const e of s){if(!e||e.length=this.minPts&&s.push(e);const n=-2*this.xCut;for(const e of this.linesOut)if(e&&e.length>=this.minPts){for(const t of e)t[0]+=n;s.push(e)}return this.closed?t.rings=s:t.paths=s,t}moveTo(t){this._pushLineIn(),this._pushLineOut(),this._prevSide=this._side(t[0]),this._moveTo(t[0],t[1],this._prevSide),this._prevPt=t,this._firstPt=t}lineTo(t){const i=this._side(t[0]);if(i*this._prevSide==-1){const s=this._intersect(this._prevPt,t);this._lineTo(this.xCut,s,0),this._prevSide=0,this._lineTo(t[0],t[1],i)}else this._lineTo(t[0],t[1],i);this._prevSide=i,this._prevPt=t}close(){const t=this._firstPt,i=this._prevPt;t[0]===i[0]&&t[1]===i[1]||this.lineTo(t),this._checkClosingPt(this.lineIn),this._checkClosingPt(this.lineOut)}_moveTo(t,i,s){this.closed?(this.lineIn.push([s<=0?t:this.xCut,i]),this.lineOut.push([s>=0?t:this.xCut,i])):(s<=0&&this.lineIn.push([t,i]),s>=0&&this.lineOut.push([t,i]))}_lineTo(t,i,s){this.closed?(this._addPolyVertex(this.lineIn,s<=0?t:this.xCut,i),this._addPolyVertex(this.lineOut,s>=0?t:this.xCut,i)):s<0?(0===this._prevSide&&this._pushLineOut(),this.lineIn.push([t,i])):s>0?(0===this._prevSide&&this._pushLineIn(),this.lineOut.push([t,i])):this._prevSide<0?(this.lineIn.push([t,i]),this.lineOut.push([t,i])):this._prevSide>0&&(this.lineOut.push([t,i]),this.lineIn.push([t,i]))}_addPolyVertex(t,i,s){const n=t.length;n>1&&t[n-1][0]===i&&t[n-2][0]===i?t[n-1][1]=s:t.push([i,s])}_checkClosingPt(t){const i=t.length;i>3&&t[0][0]===this.xCut&&t[i-2][0]===this.xCut&&t[1][0]===this.xCut&&(t[0][1]=t[i-2][1],t.pop())}_side(t){return tthis.xCut?1:0}_intersect(t,i){const s=(this.xCut-t[0])/(i[0]-t[0]);return t[1]+s*(i[1]-t[1])}_pushLineIn(){this.lineIn&&this.lineIn.length>=this.minPts&&this.linesIn.push(this.lineIn),this.lineIn=[]}_pushLineOut(){this.lineOut&&this.lineOut.length>=this.minPts&&this.linesOut.push(this.lineOut),this.lineOut=[]}}export{T as CutVertical,f as normalizeCentralMeridianForDisplay,p as normalizeCentralMeridianSync};\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(3)}function t(n){const t=new Float32Array(3);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t}function r(n,t,r){const e=new Float32Array(3);return e[0]=n,e[1]=t,e[2]=r,e}function e(n,t){return new Float32Array(n,t,3)}function a(){return n()}function o(){return r(1,1,1)}function u(){return r(1,0,0)}function s(){return r(0,1,0)}function c(){return r(0,0,1)}const i=a(),f=o(),l=u(),_=s(),y=c(),w=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,ZEROS:i,ONES:f,UNIT_X:l,UNIT_Y:_,UNIT_Z:y},Symbol.toStringTag,{value:\"Module\"}));export{f as O,l as U,i as Z,t as a,e as b,n as c,s as d,c as e,r as f,_ as g,y as h,o,u,w 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*/\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*/\nconst o=!0,t=32,c=1.5,e=200;export{t as COLLISION_GRID_CELL_SIZE,c as DECLUTTER_BUDGET,o as DECLUTTER_TILES,e as FADE_DURATION};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{constructor(){super(...arguments),this._color=t(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:r},t){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255)}draw(t,e){const{context:i,requestRender:s}=t;this._initialized||this._initialize(i),!r(s)||this._solidProgram.isCompiled?(i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[e.rangeX,e.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO()):s()}_initialize(r){if(this._initialized)return!0;const t=_(r,s);if(!t)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,e,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{CapType as e,JoinType as t}from\"../../../../../symbols/cim/enums.js\";var a,i,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]=\"BACKGROUND\",e[e.FILL=1]=\"FILL\",e[e.LINE=2]=\"LINE\",e[e.SYMBOL=3]=\"SYMBOL\",e[e.CIRCLE=4]=\"CIRCLE\"}(a||(a={})),function(e){e[e.VISIBLE=0]=\"VISIBLE\",e[e.NONE=1]=\"NONE\"}(i||(i={})),function(e){e[e.POINT=0]=\"POINT\",e[e.LINE=1]=\"LINE\",e[e.LINE_CENTER=2]=\"LINE_CENTER\"}(n||(n={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\",e[e.AUTO=2]=\"AUTO\"}(l||(l={})),function(e){e[e.AUTO=0]=\"AUTO\",e[e.LEFT=1]=\"LEFT\",e[e.CENTER=2]=\"CENTER\",e[e.RIGHT=3]=\"RIGHT\"}(u||(u={})),function(e){e[e.CENTER=0]=\"CENTER\",e[e.LEFT=1]=\"LEFT\",e[e.RIGHT=2]=\"RIGHT\",e[e.TOP=3]=\"TOP\",e[e.BOTTOM=4]=\"BOTTOM\",e[e.TOP_LEFT=5]=\"TOP_LEFT\",e[e.TOP_RIGHT=6]=\"TOP_RIGHT\",e[e.BOTTOM_LEFT=7]=\"BOTTOM_LEFT\",e[e.BOTTOM_RIGHT=8]=\"BOTTOM_RIGHT\"}(m||(m={})),function(e){e[e.NONE=0]=\"NONE\",e[e.UPPERCASE=1]=\"UPPERCASE\",e[e.LOWERCASE=2]=\"LOWERCASE\"}(o||(o={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\"}(r||(r={})),function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.VERTICAL=1]=\"VERTICAL\"}(p||(p={}));class f{}f.backgroundLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.fillLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.lineLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"line-cap\":{type:\"enum\",values:[\"butt\",\"round\",\"square\"],default:e.BUTT},\"line-join\":{type:\"enum\",values:[\"bevel\",\"round\",\"miter\"],default:t.MITER},\"line-miter-limit\":{type:\"number\",default:2},\"line-round-limit\":{type:\"number\",default:1.05}},f.symbolLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"symbol-avoid-edges\":{type:\"boolean\",default:!1},\"symbol-placement\":{type:\"enum\",values:[\"point\",\"line\",\"line-center\"],default:n.POINT},\"symbol-sort-key\":{type:\"number\",default:-1},\"symbol-spacing\":{type:\"number\",minimum:1,default:250},\"icon-allow-overlap\":{type:\"boolean\",default:!1},\"icon-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"icon-ignore-placement\":{type:\"boolean\",default:!1},\"icon-image\":{type:\"string\"},\"icon-keep-upright\":{type:\"boolean\",default:!1},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-optional\":{type:\"boolean\",default:!1},\"icon-padding\":{type:\"number\",minimum:0,default:2},\"icon-rotate\":{type:\"number\",default:0},\"icon-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"icon-size\":{type:\"number\",minimum:0,default:1},\"text-allow-overlap\":{type:\"boolean\",default:!1},\"text-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"text-field\":{type:\"string\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"]},\"text-ignore-placement\":{type:\"boolean\",default:!1},\"text-justify\":{type:\"enum\",values:[\"auto\",\"left\",\"center\",\"right\"],default:u.CENTER},\"text-keep-upright\":{type:\"boolean\",default:!0},\"text-letter-spacing\":{type:\"number\",default:0},\"text-line-height\":{type:\"number\",default:1.2},\"text-max-angle\":{type:\"number\",minimum:0,default:45},\"text-max-width\":{type:\"number\",minimum:0,default:10},\"text-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-optional\":{type:\"boolean\",default:!1},\"text-padding\":{type:\"number\",minimum:0,default:2},\"text-rotate\":{type:\"number\",default:0},\"text-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"text-size\":{type:\"number\",minimum:0,default:16},\"text-transform\":{type:\"enum\",values:[\"none\",\"uppercase\",\"lowercase\"],default:o.NONE},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:[\"horizontal\",\"vertical\"],default:[p.HORIZONTAL]}},f.circleLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.backgroundPaintDefinition={\"background-color\":{type:\"color\",default:[0,0,0,1]},\"background-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"background-pattern\":{type:\"string\"}},f.fillPaintDefinition={\"fill-antialias\":{type:\"boolean\",default:!0},\"fill-color\":{type:\"color\",default:[0,0,0,1]},\"fill-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"fill-outline-color\":{type:\"color\",default:[0,0,0,0]},\"fill-pattern\":{type:\"string\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"fill-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.linePaintDefinition={\"line-blur\":{type:\"number\",minimum:0,default:0},\"line-color\":{type:\"color\",default:[0,0,0,1]},\"line-dasharray\":{type:\"array\",value:\"number\",default:[]},\"line-gap-width\":{type:\"number\",minimum:0,default:0},\"line-offset\":{type:\"number\",default:0},\"line-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"line-pattern\":{type:\"string\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"line-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"line-width\":{type:\"number\",minimum:0,default:1}},f.symbolPaintDefinition={\"icon-color\":{type:\"color\",default:[0,0,0,1]},\"icon-halo-blur\":{type:\"number\",minimum:0,default:0},\"icon-halo-color\":{type:\"color\",default:[0,0,0,0]},\"icon-halo-width\":{type:\"number\",minimum:0,default:0},\"icon-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"text-color\":{type:\"color\",default:[0,0,0,1]},\"text-halo-blur\":{type:\"number\",minimum:0,default:0},\"text-halo-color\":{type:\"color\",default:[0,0,0,0]},\"text-halo-width\":{type:\"number\",minimum:0,default:0},\"text-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.rasterPaintDefinition={\"raster-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-hue-rotate\":{type:\"number\",default:0},\"raster-brightness-min\":{type:\"number\",minimum:0,maximum:1,default:0},\"raster-brightness-max\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-saturation\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-contrast\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-fade-duration\":{type:\"number\",minimum:0,default:300}},f.circlePaintDefinition={\"circle-blur\":{type:\"number\",minimum:0,default:0},\"circle-color\":{type:\"color\",default:[0,0,0,1]},\"circle-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-radius\":{type:\"number\",minimum:0,default:5},\"circle-stroke-color\":{type:\"color\",default:[0,0,0,1]},\"circle-stroke-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-stroke-width\":{type:\"number\",minimum:0,default:0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"circle-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}};export{l as RotationAlignment,f as StyleDefinition,a as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,i as Visibility};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass a{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(a,r,t){}draw(a,r,t){}drawMany(a,r,t){for(const s of r)this.draw(a,s,t)}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{b as e,c as r,r as s,j as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n"],"sourceRoot":""}