@opengis/gis 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -798,7 +798,7 @@ uniform ${z} ${N} u_${F};
798
798
  `),Ce=ye.concat(oi.prelude.vertexSource,w.vertexSource,r.vertexSource).join(`
799
799
  `);br(z)||(be=function(Fe){return Fe.replace(/\bin\s/g,"varying ").replace("out highp vec4 fragColor;","").replace(/fragColor/g,"gl_FragColor").replace(/texture\(/g,"texture2D(")}(be),Ce=function(Fe){return Fe.replace(/\bin\s/g,"attribute ").replace(/\bout\s/g,"varying ").replace(/texture\(/g,"texture2D(")}(Ce));const we=z.createShader(z.FRAGMENT_SHADER);if(z.isContextLost())return void(this.failedToCreate=!0);if(z.shaderSource(we,be),z.compileShader(we),!z.getShaderParameter(we,z.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${z.getShaderInfoLog(we)}`);z.attachShader(this.program,we);const Re=z.createShader(z.VERTEX_SHADER);if(z.isContextLost())return void(this.failedToCreate=!0);if(z.shaderSource(Re,Ce),z.compileShader(Re),!z.getShaderParameter(Re,z.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${z.getShaderInfoLog(Re)}`);z.attachShader(this.program,Re),this.attributes={};const We={};this.numAttributes=Z.length;for(let Fe=0;Fe<this.numAttributes;Fe++)Z[Fe]&&(z.bindAttribLocation(this.program,Fe,Z[Fe]),this.attributes[Z[Fe]]=Fe);if(z.linkProgram(this.program),!z.getProgramParameter(this.program,z.LINK_STATUS))throw new Error(`Program failed to link: ${z.getProgramInfoLog(this.program)}`);z.deleteShader(Re),z.deleteShader(we);for(let Fe=0;Fe<_e.length;Fe++){const Ne=_e[Fe];if(Ne&&!We[Ne]){const je=z.getUniformLocation(this.program,Ne);je&&(We[Ne]=je)}}this.fixedUniforms=l(e,We),this.terrainUniforms=((Fe,Ne)=>({u_depth:new o.bH(Fe,Ne.u_depth),u_terrain:new o.bH(Fe,Ne.u_terrain),u_terrain_dim:new o.b8(Fe,Ne.u_terrain_dim),u_terrain_matrix:new o.bJ(Fe,Ne.u_terrain_matrix),u_terrain_unpack:new o.bK(Fe,Ne.u_terrain_unpack),u_terrain_exaggeration:new o.b8(Fe,Ne.u_terrain_exaggeration)}))(e,We),this.projectionUniforms=((Fe,Ne)=>({u_projection_matrix:new o.bJ(Fe,Ne.u_projection_matrix),u_projection_tile_mercator_coords:new o.bK(Fe,Ne.u_projection_tile_mercator_coords),u_projection_clipping_plane:new o.bK(Fe,Ne.u_projection_clipping_plane),u_projection_transition:new o.b8(Fe,Ne.u_projection_transition),u_projection_fallback_matrix:new o.bJ(Fe,Ne.u_projection_fallback_matrix)}))(e,We),this.binderUniforms=a?a.getUniforms(e,We):[]}draw(e,r,a,l,d,g,w,A,I,z,N,F,Z,J,oe,ne,se,pe,_e){const ye=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(a),e.setStencilMode(l),e.setColorMode(d),e.setCullFace(g),A){e.activeTexture.set(ye.TEXTURE2),ye.bindTexture(ye.TEXTURE_2D,A.depthTexture),e.activeTexture.set(ye.TEXTURE3),ye.bindTexture(ye.TEXTURE_2D,A.texture);for(const Ce in this.terrainUniforms)this.terrainUniforms[Ce].set(A[Ce])}if(I)for(const Ce in I)this.projectionUniforms[ta[Ce]].set(I[Ce]);if(w)for(const Ce in this.fixedUniforms)this.fixedUniforms[Ce].set(w[Ce]);ne&&ne.setUniforms(e,this.binderUniforms,J,{zoom:oe});let be=0;switch(r){case ye.LINES:be=2;break;case ye.TRIANGLES:be=3;break;case ye.LINE_STRIP:be=1}for(const Ce of Z.get()){const we=Ce.vaos||(Ce.vaos={});(we[z]||(we[z]=new Sh)).bind(e,this,N,ne?ne.getPaintVertexBuffers():[],F,Ce.vertexOffset,se,pe,_e),ye.drawElements(r,Ce.primitiveLength*be,ye.UNSIGNED_SHORT,Ce.primitiveOffset*be*2)}}}function ia(h,e,r){const a=1/o.az(r,1,e.transform.tileZoom),l=Math.pow(2,r.tileID.overscaledZ),d=r.tileSize*Math.pow(2,e.transform.tileZoom)/l,g=d*(r.tileID.canonical.x+r.tileID.wrap*l),w=d*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[a,h.fromScale,h.toScale],u_fade:h.t,u_pixel_coord_upper:[g>>16,w>>16],u_pixel_coord_lower:[65535&g,65535&w]}}const na=(h,e,r,a)=>{const l=h.style.light,d=l.properties.get("position"),g=[d.x,d.y,d.z],w=o.bN();l.properties.get("anchor")==="viewport"&&o.bO(w,h.transform.bearingInRadians),o.bP(g,g,w);const A=h.transform.transformLightDirection(g),I=l.properties.get("color");return{u_lightpos:g,u_lightpos_globe:A,u_lightintensity:l.properties.get("intensity"),u_lightcolor:[I.r,I.g,I.b],u_vertical_gradient:+e,u_opacity:r,u_fill_translate:a}},bn=(h,e,r,a,l,d,g)=>o.e(na(h,e,r,a),ia(d,h,g),{u_height_factor:-Math.pow(2,l.overscaledZ)/g.tileSize/8}),vc=(h,e,r,a)=>o.e(ia(e,h,r),{u_fill_translate:a}),il=(h,e)=>({u_world:h,u_fill_translate:e}),hs=(h,e,r,a,l)=>o.e(vc(h,e,r,l),{u_world:a}),ds=(h,e,r,a,l)=>{const d=h.transform;let g,w,A=0;if(r.paint.get("circle-pitch-alignment")==="map"){const I=o.az(e,1,d.zoom);g=!0,w=[I,I],A=I/(o.Z*Math.pow(2,e.tileID.overscaledZ))*2*Math.PI*l}else g=!1,w=d.pixelsToGLUnits;return{u_camera_to_center_distance:d.cameraToCenterDistance,u_scale_with_map:+(r.paint.get("circle-pitch-scale")==="map"),u_pitch_with_map:+g,u_device_pixel_ratio:h.pixelRatio,u_extrude_scale:w,u_globe_extrude_scale:A,u_translate:a}},kh=h=>({u_pixel_extrude_scale:[1/h.width,1/h.height]}),oa=h=>({u_viewport_size:[h.width,h.height]}),xc=(h,e=1)=>({u_color:h,u_overlay:0,u_overlay_scale:e}),_o=(h,e,r,a)=>{const l=o.az(h,1,e)/(o.Z*Math.pow(2,h.tileID.overscaledZ))*2*Math.PI*a;return{u_extrude_scale:o.az(h,1,e),u_intensity:r,u_globe_extrude_scale:l}},bc=(h,e,r,a)=>{const l=o.K();o.bQ(l,0,h.width,h.height,0,0,1);const d=h.context.gl;return{u_matrix:l,u_world:[d.drawingBufferWidth,d.drawingBufferHeight],u_image:r,u_color_ramp:a,u_opacity:e.paint.get("heatmap-opacity")}},wc=(h,e,r)=>{const a=r.paint.get("hillshade-accent-color");let l;switch(r.paint.get("hillshade-method")){case"basic":l=4;break;case"combined":l=1;break;case"igor":l=2;break;case"multidirectional":l=3;break;default:l=0}const d=r.getIlluminationProperties();for(let g=0;g<d.directionRadians.length;g++)r.paint.get("hillshade-illumination-anchor")==="viewport"&&(d.directionRadians[g]+=h.transform.bearingInRadians);return{u_image:0,u_latrange:Sc(0,e.tileID),u_exaggeration:r.paint.get("hillshade-exaggeration"),u_altitudes:d.altitudeRadians,u_azimuths:d.directionRadians,u_accent:a,u_method:l,u_highlights:d.highlightColor,u_shadows:d.shadowColor}},Ch=(h,e)=>{const r=e.stride,a=o.K();return o.bQ(a,0,o.Z,-8192,0,0,1),o.L(a,a,[0,-8192,0]),{u_matrix:a,u_image:1,u_dimension:[r,r],u_zoom:h.overscaledZ,u_unpack:e.getUnpackVector()}};function Sc(h,e){const r=Math.pow(2,e.canonical.z),a=e.canonical.y;return[new o.$(0,a/r).toLngLat().lat,new o.$(0,(a+1)/r).toLngLat().lat]}const ps=(h,e,r,a)=>{const l=h.transform;return{u_translation:Qn(h,e,r),u_ratio:a/o.az(e,1,l.zoom),u_device_pixel_ratio:h.pixelRatio,u_units_to_pixels:[1/l.pixelsToGLUnits[0],1/l.pixelsToGLUnits[1]]}},Ac=(h,e,r,a,l)=>o.e(ps(h,e,r,a),{u_image:0,u_image_height:l}),kc=(h,e,r,a,l)=>{const d=h.transform,g=nl(e,d);return{u_translation:Qn(h,e,r),u_texsize:e.imageAtlasTexture.size,u_ratio:a/o.az(e,1,d.zoom),u_device_pixel_ratio:h.pixelRatio,u_image:0,u_scale:[g,l.fromScale,l.toScale],u_fade:l.t,u_units_to_pixels:[1/d.pixelsToGLUnits[0],1/d.pixelsToGLUnits[1]]}},Cc=(h,e,r,a,l,d)=>{const g=h.lineAtlas,w=nl(e,h.transform),A=r.layout.get("line-cap")==="round",I=g.getDash(l.from,A),z=g.getDash(l.to,A),N=I.width*d.fromScale,F=z.width*d.toScale;return o.e(ps(h,e,r,a),{u_patternscale_a:[w/N,-I.height/2],u_patternscale_b:[w/F,-z.height/2],u_sdfgamma:g.width/(256*Math.min(N,F)*h.pixelRatio)/2,u_image:0,u_tex_y_a:I.y,u_tex_y_b:z.y,u_mix:d.t})};function nl(h,e){return 1/o.az(h,1,e.tileZoom)}function Qn(h,e,r){return o.aA(h.transform,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}const Tc=(h,e,r,a,l)=>{return{u_tl_parent:h,u_scale_parent:e,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(g=a.paint.get("raster-saturation"),g>0?1-1/(1.001-g):-g),u_contrast_factor:(d=a.paint.get("raster-contrast"),d>0?1/(1-d):1+d),u_spin_weights:Ec(a.paint.get("raster-hue-rotate")),u_coords_top:[l[0].x,l[0].y,l[1].x,l[1].y],u_coords_bottom:[l[3].x,l[3].y,l[2].x,l[2].y]};var d,g};function Ec(h){h*=Math.PI/180;const e=Math.sin(h),r=Math.cos(h);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}const Ro=(h,e,r,a,l,d,g,w,A,I,z,N,F)=>{const Z=g.transform;return{u_is_size_zoom_constant:+(h==="constant"||h==="source"),u_is_size_feature_constant:+(h==="constant"||h==="camera"),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:Z.cameraToCenterDistance,u_pitch:Z.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:Z.width/Z.height,u_fade_change:g.options.fadeDuration?g.symbolFadeChange:1,u_label_plane_matrix:w,u_coord_matrix:A,u_is_text:+z,u_pitch_with_map:+a,u_is_along_line:l,u_is_variable_anchor:d,u_texsize:N,u_texture:0,u_translation:I,u_pitched_scale:F}},Pc=(h,e,r,a,l,d,g,w,A,I,z,N,F,Z)=>{const J=g.transform;return o.e(Ro(h,e,r,a,l,d,g,w,A,I,z,N,Z),{u_gamma_scale:a?Math.cos(J.pitch*Math.PI/180)*J.cameraToCenterDistance:1,u_device_pixel_ratio:g.pixelRatio,u_is_halo:1})},sa=(h,e,r,a,l,d,g,w,A,I,z,N,F)=>o.e(Pc(h,e,r,a,l,d,g,w,A,I,!0,z,0,F),{u_texsize_icon:N,u_texture_icon:1}),Th=(h,e)=>({u_opacity:h,u_color:e}),Eh=(h,e,r,a,l)=>o.e(function(d,g,w,A){const I=w.imageManager.getPattern(d.from.toString()),z=w.imageManager.getPattern(d.to.toString()),{width:N,height:F}=w.imageManager.getPixelSize(),Z=Math.pow(2,A.tileID.overscaledZ),J=A.tileSize*Math.pow(2,w.transform.tileZoom)/Z,oe=J*(A.tileID.canonical.x+A.tileID.wrap*Z),ne=J*A.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:I.tl,u_pattern_br_a:I.br,u_pattern_tl_b:z.tl,u_pattern_br_b:z.br,u_texsize:[N,F],u_mix:g.t,u_pattern_size_a:I.displaySize,u_pattern_size_b:z.displaySize,u_scale_a:g.fromScale,u_scale_b:g.toScale,u_tile_units_to_pixels:1/o.az(A,1,w.transform.tileZoom),u_pixel_coord_upper:[oe>>16,ne>>16],u_pixel_coord_lower:[65535&oe,65535&ne]}}(r,l,e,a),{u_opacity:h}),ol=(h,e)=>{},Ic={fillExtrusion:(h,e)=>({u_lightpos:new o.bL(h,e.u_lightpos),u_lightpos_globe:new o.bL(h,e.u_lightpos_globe),u_lightintensity:new o.b8(h,e.u_lightintensity),u_lightcolor:new o.bL(h,e.u_lightcolor),u_vertical_gradient:new o.b8(h,e.u_vertical_gradient),u_opacity:new o.b8(h,e.u_opacity),u_fill_translate:new o.bM(h,e.u_fill_translate)}),fillExtrusionPattern:(h,e)=>({u_lightpos:new o.bL(h,e.u_lightpos),u_lightpos_globe:new o.bL(h,e.u_lightpos_globe),u_lightintensity:new o.b8(h,e.u_lightintensity),u_lightcolor:new o.bL(h,e.u_lightcolor),u_vertical_gradient:new o.b8(h,e.u_vertical_gradient),u_height_factor:new o.b8(h,e.u_height_factor),u_opacity:new o.b8(h,e.u_opacity),u_fill_translate:new o.bM(h,e.u_fill_translate),u_image:new o.bH(h,e.u_image),u_texsize:new o.bM(h,e.u_texsize),u_pixel_coord_upper:new o.bM(h,e.u_pixel_coord_upper),u_pixel_coord_lower:new o.bM(h,e.u_pixel_coord_lower),u_scale:new o.bL(h,e.u_scale),u_fade:new o.b8(h,e.u_fade)}),fill:(h,e)=>({u_fill_translate:new o.bM(h,e.u_fill_translate)}),fillPattern:(h,e)=>({u_image:new o.bH(h,e.u_image),u_texsize:new o.bM(h,e.u_texsize),u_pixel_coord_upper:new o.bM(h,e.u_pixel_coord_upper),u_pixel_coord_lower:new o.bM(h,e.u_pixel_coord_lower),u_scale:new o.bL(h,e.u_scale),u_fade:new o.b8(h,e.u_fade),u_fill_translate:new o.bM(h,e.u_fill_translate)}),fillOutline:(h,e)=>({u_world:new o.bM(h,e.u_world),u_fill_translate:new o.bM(h,e.u_fill_translate)}),fillOutlinePattern:(h,e)=>({u_world:new o.bM(h,e.u_world),u_image:new o.bH(h,e.u_image),u_texsize:new o.bM(h,e.u_texsize),u_pixel_coord_upper:new o.bM(h,e.u_pixel_coord_upper),u_pixel_coord_lower:new o.bM(h,e.u_pixel_coord_lower),u_scale:new o.bL(h,e.u_scale),u_fade:new o.b8(h,e.u_fade),u_fill_translate:new o.bM(h,e.u_fill_translate)}),circle:(h,e)=>({u_camera_to_center_distance:new o.b8(h,e.u_camera_to_center_distance),u_scale_with_map:new o.bH(h,e.u_scale_with_map),u_pitch_with_map:new o.bH(h,e.u_pitch_with_map),u_extrude_scale:new o.bM(h,e.u_extrude_scale),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_globe_extrude_scale:new o.b8(h,e.u_globe_extrude_scale),u_translate:new o.bM(h,e.u_translate)}),collisionBox:(h,e)=>({u_pixel_extrude_scale:new o.bM(h,e.u_pixel_extrude_scale)}),collisionCircle:(h,e)=>({u_viewport_size:new o.bM(h,e.u_viewport_size)}),debug:(h,e)=>({u_color:new o.bI(h,e.u_color),u_overlay:new o.bH(h,e.u_overlay),u_overlay_scale:new o.b8(h,e.u_overlay_scale)}),depth:ol,clippingMask:ol,heatmap:(h,e)=>({u_extrude_scale:new o.b8(h,e.u_extrude_scale),u_intensity:new o.b8(h,e.u_intensity),u_globe_extrude_scale:new o.b8(h,e.u_globe_extrude_scale)}),heatmapTexture:(h,e)=>({u_matrix:new o.bJ(h,e.u_matrix),u_world:new o.bM(h,e.u_world),u_image:new o.bH(h,e.u_image),u_color_ramp:new o.bH(h,e.u_color_ramp),u_opacity:new o.b8(h,e.u_opacity)}),hillshade:(h,e)=>({u_image:new o.bH(h,e.u_image),u_latrange:new o.bM(h,e.u_latrange),u_exaggeration:new o.b8(h,e.u_exaggeration),u_altitudes:new o.bS(h,e.u_altitudes),u_azimuths:new o.bS(h,e.u_azimuths),u_accent:new o.bI(h,e.u_accent),u_method:new o.bH(h,e.u_method),u_shadows:new o.bR(h,e.u_shadows),u_highlights:new o.bR(h,e.u_highlights)}),hillshadePrepare:(h,e)=>({u_matrix:new o.bJ(h,e.u_matrix),u_image:new o.bH(h,e.u_image),u_dimension:new o.bM(h,e.u_dimension),u_zoom:new o.b8(h,e.u_zoom),u_unpack:new o.bK(h,e.u_unpack)}),line:(h,e)=>({u_translation:new o.bM(h,e.u_translation),u_ratio:new o.b8(h,e.u_ratio),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_units_to_pixels:new o.bM(h,e.u_units_to_pixels)}),lineGradient:(h,e)=>({u_translation:new o.bM(h,e.u_translation),u_ratio:new o.b8(h,e.u_ratio),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_units_to_pixels:new o.bM(h,e.u_units_to_pixels),u_image:new o.bH(h,e.u_image),u_image_height:new o.b8(h,e.u_image_height)}),linePattern:(h,e)=>({u_translation:new o.bM(h,e.u_translation),u_texsize:new o.bM(h,e.u_texsize),u_ratio:new o.b8(h,e.u_ratio),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_image:new o.bH(h,e.u_image),u_units_to_pixels:new o.bM(h,e.u_units_to_pixels),u_scale:new o.bL(h,e.u_scale),u_fade:new o.b8(h,e.u_fade)}),lineSDF:(h,e)=>({u_translation:new o.bM(h,e.u_translation),u_ratio:new o.b8(h,e.u_ratio),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_units_to_pixels:new o.bM(h,e.u_units_to_pixels),u_patternscale_a:new o.bM(h,e.u_patternscale_a),u_patternscale_b:new o.bM(h,e.u_patternscale_b),u_sdfgamma:new o.b8(h,e.u_sdfgamma),u_image:new o.bH(h,e.u_image),u_tex_y_a:new o.b8(h,e.u_tex_y_a),u_tex_y_b:new o.b8(h,e.u_tex_y_b),u_mix:new o.b8(h,e.u_mix)}),raster:(h,e)=>({u_tl_parent:new o.bM(h,e.u_tl_parent),u_scale_parent:new o.b8(h,e.u_scale_parent),u_buffer_scale:new o.b8(h,e.u_buffer_scale),u_fade_t:new o.b8(h,e.u_fade_t),u_opacity:new o.b8(h,e.u_opacity),u_image0:new o.bH(h,e.u_image0),u_image1:new o.bH(h,e.u_image1),u_brightness_low:new o.b8(h,e.u_brightness_low),u_brightness_high:new o.b8(h,e.u_brightness_high),u_saturation_factor:new o.b8(h,e.u_saturation_factor),u_contrast_factor:new o.b8(h,e.u_contrast_factor),u_spin_weights:new o.bL(h,e.u_spin_weights),u_coords_top:new o.bK(h,e.u_coords_top),u_coords_bottom:new o.bK(h,e.u_coords_bottom)}),symbolIcon:(h,e)=>({u_is_size_zoom_constant:new o.bH(h,e.u_is_size_zoom_constant),u_is_size_feature_constant:new o.bH(h,e.u_is_size_feature_constant),u_size_t:new o.b8(h,e.u_size_t),u_size:new o.b8(h,e.u_size),u_camera_to_center_distance:new o.b8(h,e.u_camera_to_center_distance),u_pitch:new o.b8(h,e.u_pitch),u_rotate_symbol:new o.bH(h,e.u_rotate_symbol),u_aspect_ratio:new o.b8(h,e.u_aspect_ratio),u_fade_change:new o.b8(h,e.u_fade_change),u_label_plane_matrix:new o.bJ(h,e.u_label_plane_matrix),u_coord_matrix:new o.bJ(h,e.u_coord_matrix),u_is_text:new o.bH(h,e.u_is_text),u_pitch_with_map:new o.bH(h,e.u_pitch_with_map),u_is_along_line:new o.bH(h,e.u_is_along_line),u_is_variable_anchor:new o.bH(h,e.u_is_variable_anchor),u_texsize:new o.bM(h,e.u_texsize),u_texture:new o.bH(h,e.u_texture),u_translation:new o.bM(h,e.u_translation),u_pitched_scale:new o.b8(h,e.u_pitched_scale)}),symbolSDF:(h,e)=>({u_is_size_zoom_constant:new o.bH(h,e.u_is_size_zoom_constant),u_is_size_feature_constant:new o.bH(h,e.u_is_size_feature_constant),u_size_t:new o.b8(h,e.u_size_t),u_size:new o.b8(h,e.u_size),u_camera_to_center_distance:new o.b8(h,e.u_camera_to_center_distance),u_pitch:new o.b8(h,e.u_pitch),u_rotate_symbol:new o.bH(h,e.u_rotate_symbol),u_aspect_ratio:new o.b8(h,e.u_aspect_ratio),u_fade_change:new o.b8(h,e.u_fade_change),u_label_plane_matrix:new o.bJ(h,e.u_label_plane_matrix),u_coord_matrix:new o.bJ(h,e.u_coord_matrix),u_is_text:new o.bH(h,e.u_is_text),u_pitch_with_map:new o.bH(h,e.u_pitch_with_map),u_is_along_line:new o.bH(h,e.u_is_along_line),u_is_variable_anchor:new o.bH(h,e.u_is_variable_anchor),u_texsize:new o.bM(h,e.u_texsize),u_texture:new o.bH(h,e.u_texture),u_gamma_scale:new o.b8(h,e.u_gamma_scale),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_is_halo:new o.bH(h,e.u_is_halo),u_translation:new o.bM(h,e.u_translation),u_pitched_scale:new o.b8(h,e.u_pitched_scale)}),symbolTextAndIcon:(h,e)=>({u_is_size_zoom_constant:new o.bH(h,e.u_is_size_zoom_constant),u_is_size_feature_constant:new o.bH(h,e.u_is_size_feature_constant),u_size_t:new o.b8(h,e.u_size_t),u_size:new o.b8(h,e.u_size),u_camera_to_center_distance:new o.b8(h,e.u_camera_to_center_distance),u_pitch:new o.b8(h,e.u_pitch),u_rotate_symbol:new o.bH(h,e.u_rotate_symbol),u_aspect_ratio:new o.b8(h,e.u_aspect_ratio),u_fade_change:new o.b8(h,e.u_fade_change),u_label_plane_matrix:new o.bJ(h,e.u_label_plane_matrix),u_coord_matrix:new o.bJ(h,e.u_coord_matrix),u_is_text:new o.bH(h,e.u_is_text),u_pitch_with_map:new o.bH(h,e.u_pitch_with_map),u_is_along_line:new o.bH(h,e.u_is_along_line),u_is_variable_anchor:new o.bH(h,e.u_is_variable_anchor),u_texsize:new o.bM(h,e.u_texsize),u_texsize_icon:new o.bM(h,e.u_texsize_icon),u_texture:new o.bH(h,e.u_texture),u_texture_icon:new o.bH(h,e.u_texture_icon),u_gamma_scale:new o.b8(h,e.u_gamma_scale),u_device_pixel_ratio:new o.b8(h,e.u_device_pixel_ratio),u_is_halo:new o.bH(h,e.u_is_halo),u_translation:new o.bM(h,e.u_translation),u_pitched_scale:new o.b8(h,e.u_pitched_scale)}),background:(h,e)=>({u_opacity:new o.b8(h,e.u_opacity),u_color:new o.bI(h,e.u_color)}),backgroundPattern:(h,e)=>({u_opacity:new o.b8(h,e.u_opacity),u_image:new o.bH(h,e.u_image),u_pattern_tl_a:new o.bM(h,e.u_pattern_tl_a),u_pattern_br_a:new o.bM(h,e.u_pattern_br_a),u_pattern_tl_b:new o.bM(h,e.u_pattern_tl_b),u_pattern_br_b:new o.bM(h,e.u_pattern_br_b),u_texsize:new o.bM(h,e.u_texsize),u_mix:new o.b8(h,e.u_mix),u_pattern_size_a:new o.bM(h,e.u_pattern_size_a),u_pattern_size_b:new o.bM(h,e.u_pattern_size_b),u_scale_a:new o.b8(h,e.u_scale_a),u_scale_b:new o.b8(h,e.u_scale_b),u_pixel_coord_upper:new o.bM(h,e.u_pixel_coord_upper),u_pixel_coord_lower:new o.bM(h,e.u_pixel_coord_lower),u_tile_units_to_pixels:new o.b8(h,e.u_tile_units_to_pixels)}),terrain:(h,e)=>({u_texture:new o.bH(h,e.u_texture),u_ele_delta:new o.b8(h,e.u_ele_delta),u_fog_matrix:new o.bJ(h,e.u_fog_matrix),u_fog_color:new o.bI(h,e.u_fog_color),u_fog_ground_blend:new o.b8(h,e.u_fog_ground_blend),u_fog_ground_blend_opacity:new o.b8(h,e.u_fog_ground_blend_opacity),u_horizon_color:new o.bI(h,e.u_horizon_color),u_horizon_fog_blend:new o.b8(h,e.u_horizon_fog_blend),u_is_globe_mode:new o.b8(h,e.u_is_globe_mode)}),terrainDepth:(h,e)=>({u_ele_delta:new o.b8(h,e.u_ele_delta)}),terrainCoords:(h,e)=>({u_texture:new o.bH(h,e.u_texture),u_terrain_coords_id:new o.b8(h,e.u_terrain_coords_id),u_ele_delta:new o.b8(h,e.u_ele_delta)}),projectionErrorMeasurement:(h,e)=>({u_input:new o.b8(h,e.u_input),u_output_expected:new o.b8(h,e.u_output_expected)}),atmosphere:(h,e)=>({u_sun_pos:new o.bL(h,e.u_sun_pos),u_atmosphere_blend:new o.b8(h,e.u_atmosphere_blend),u_globe_position:new o.bL(h,e.u_globe_position),u_globe_radius:new o.b8(h,e.u_globe_radius),u_inv_proj_matrix:new o.bJ(h,e.u_inv_proj_matrix)}),sky:(h,e)=>({u_sky_color:new o.bI(h,e.u_sky_color),u_horizon_color:new o.bI(h,e.u_horizon_color),u_horizon:new o.bM(h,e.u_horizon),u_horizon_normal:new o.bM(h,e.u_horizon_normal),u_sky_horizon_blend:new o.b8(h,e.u_sky_horizon_blend),u_sky_blend:new o.b8(h,e.u_sky_blend)})};class Mc{constructor(e,r,a){this.context=e;const l=e.gl;this.buffer=l.createBuffer(),this.dynamicDraw=!!a,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),l.bufferData(l.ELEMENT_ARRAY_BUFFER,r.arrayBuffer,this.dynamicDraw?l.DYNAMIC_DRAW:l.STATIC_DRAW),this.dynamicDraw||delete r.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){const r=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),r.bufferSubData(r.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const sl={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Lc{constructor(e,r,a,l){this.length=r.length,this.attributes=a,this.itemSize=r.bytesPerElement,this.dynamicDraw=l,this.context=e;const d=e.gl;this.buffer=d.createBuffer(),e.bindVertexBuffer.set(this.buffer),d.bufferData(d.ARRAY_BUFFER,r.arrayBuffer,this.dynamicDraw?d.DYNAMIC_DRAW:d.STATIC_DRAW),this.dynamicDraw||delete r.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);const r=this.context.gl;this.bind(),r.bufferSubData(r.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,r){for(let a=0;a<this.attributes.length;a++){const l=r.attributes[this.attributes[a].name];l!==void 0&&e.enableVertexAttribArray(l)}}setVertexAttribPointers(e,r,a){for(let l=0;l<this.attributes.length;l++){const d=this.attributes[l],g=r.attributes[d.name];g!==void 0&&e.vertexAttribPointer(g,d.components,e[sl[d.type]],!1,this.itemSize,d.offset+this.itemSize*(a||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class lr{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class zn extends lr{getDefault(){return o.b7.transparent}set(e){const r=this.current;(e.r!==r.r||e.g!==r.g||e.b!==r.b||e.a!==r.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class al extends lr{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class ll extends lr{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class cl extends lr{getDefault(){return[!0,!0,!0,!0]}set(e){const r=this.current;(e[0]!==r[0]||e[1]!==r[1]||e[2]!==r[2]||e[3]!==r[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class Rc extends lr{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class ul extends lr{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class vo extends lr{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){const r=this.current;(e.func!==r.func||e.ref!==r.ref||e.mask!==r.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class hl extends lr{getDefault(){const e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){const r=this.current;(e[0]!==r[0]||e[1]!==r[1]||e[2]!==r[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class Ph extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;e?r.enable(r.STENCIL_TEST):r.disable(r.STENCIL_TEST),this.current=e,this.dirty=!1}}class Ih extends lr{getDefault(){return[0,1]}set(e){const r=this.current;(e[0]!==r[0]||e[1]!==r[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class Mh extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;e?r.enable(r.DEPTH_TEST):r.disable(r.DEPTH_TEST),this.current=e,this.dirty=!1}}class Lh extends lr{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class Dc extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;e?r.enable(r.BLEND):r.disable(r.BLEND),this.current=e,this.dirty=!1}}class Rh extends lr{getDefault(){const e=this.gl;return[e.ONE,e.ZERO]}set(e){const r=this.current;(e[0]!==r[0]||e[1]!==r[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class zc extends lr{getDefault(){return o.b7.transparent}set(e){const r=this.current;(e.r!==r.r||e.g!==r.g||e.b!==r.b||e.a!==r.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class aa extends lr{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class la extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;e?r.enable(r.CULL_FACE):r.disable(r.CULL_FACE),this.current=e,this.dirty=!1}}class ca extends lr{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class dl extends lr{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class xo extends lr{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class ua extends lr{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class Do extends lr{getDefault(){const e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){const r=this.current;(e[0]!==r[0]||e[1]!==r[1]||e[2]!==r[2]||e[3]!==r[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class Xi extends lr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.bindFramebuffer(r.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class Bc extends lr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.bindRenderbuffer(r.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Vc extends lr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.bindTexture(r.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class pl extends lr{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.bindBuffer(r.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class bo extends lr{getDefault(){return null}set(e){const r=this.gl;r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class ha extends lr{getDefault(){return null}set(e){var r;if(e===this.current&&!this.dirty)return;const a=this.gl;br(a)?a.bindVertexArray(e):(r=a.getExtension("OES_vertex_array_object"))===null||r===void 0||r.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class da extends lr{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.pixelStorei(r.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class fs extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class pa extends lr{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const r=this.gl;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class fa extends lr{constructor(e,r){super(e),this.context=e,this.parent=r}getDefault(){return null}}class zo extends fa{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const r=this.gl;r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class Bo extends fa{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const r=this.gl;r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Oc extends fa{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const r=this.gl;r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,e),this.current=e,this.dirty=!1}}const ma="Framebuffer is not complete";class $t{constructor(e,r,a,l,d){this.context=e,this.width=r,this.height=a;const g=e.gl,w=this.framebuffer=g.createFramebuffer();if(this.colorAttachment=new zo(e,w),l)this.depthAttachment=d?new Oc(e,w):new Bo(e,w);else if(d)throw new Error("Stencil cannot be set without depth");if(g.checkFramebufferStatus(g.FRAMEBUFFER)!==g.FRAMEBUFFER_COMPLETE)throw new Error(ma)}destroy(){const e=this.context.gl,r=this.colorAttachment.get();if(r&&e.deleteTexture(r),this.depthAttachment){const a=this.depthAttachment.get();a&&e.deleteRenderbuffer(a)}e.deleteFramebuffer(this.framebuffer)}}class ga{constructor(e){var r,a;if(this.gl=e,this.clearColor=new zn(this),this.clearDepth=new al(this),this.clearStencil=new ll(this),this.colorMask=new cl(this),this.depthMask=new Rc(this),this.stencilMask=new ul(this),this.stencilFunc=new vo(this),this.stencilOp=new hl(this),this.stencilTest=new Ph(this),this.depthRange=new Ih(this),this.depthTest=new Mh(this),this.depthFunc=new Lh(this),this.blend=new Dc(this),this.blendFunc=new Rh(this),this.blendColor=new zc(this),this.blendEquation=new aa(this),this.cullFace=new la(this),this.cullFaceSide=new ca(this),this.frontFace=new dl(this),this.program=new xo(this),this.activeTexture=new ua(this),this.viewport=new Do(this),this.bindFramebuffer=new Xi(this),this.bindRenderbuffer=new Bc(this),this.bindTexture=new Vc(this),this.bindVertexBuffer=new pl(this),this.bindElementBuffer=new bo(this),this.bindVertexArray=new ha(this),this.pixelStoreUnpack=new da(this),this.pixelStoreUnpackPremultiplyAlpha=new fs(this),this.pixelStoreUnpackFlipY=new pa(this),this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),br(e)){this.HALF_FLOAT=e.HALF_FLOAT;const l=e.getExtension("EXT_color_buffer_half_float");this.RGBA16F=(r=e.RGBA16F)!==null&&r!==void 0?r:l==null?void 0:l.RGBA16F_EXT,this.RGB16F=(a=e.RGB16F)!==null&&a!==void 0?a:l==null?void 0:l.RGB16F_EXT,e.getExtension("EXT_color_buffer_float")}else{e.getExtension("EXT_color_buffer_half_float"),e.getExtension("OES_texture_half_float_linear");const l=e.getExtension("OES_texture_half_float");this.HALF_FLOAT=l==null?void 0:l.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,r){return new Mc(this,e,r)}createVertexBuffer(e,r,a){return new Lc(this,e,r,a)}createRenderbuffer(e,r,a){const l=this.gl,d=l.createRenderbuffer();return this.bindRenderbuffer.set(d),l.renderbufferStorage(l.RENDERBUFFER,e,r,a),this.bindRenderbuffer.set(null),d}createFramebuffer(e,r,a,l){return new $t(this,e,r,a,l)}clear({color:e,depth:r,stencil:a}){const l=this.gl;let d=0;e&&(d|=l.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),r!==void 0&&(d|=l.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),a!==void 0&&(d|=l.STENCIL_BUFFER_BIT,this.clearStencil.set(a),this.stencilMask.set(255)),l.clear(d)}setCullFace(e){e.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){o.bE(e.blendFunction,Ye.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){var e;return br(this.gl)?this.gl.createVertexArray():(e=this.gl.getExtension("OES_vertex_array_object"))===null||e===void 0?void 0:e.createVertexArrayOES()}deleteVertexArray(e){var r;return br(this.gl)?this.gl.deleteVertexArray(e):(r=this.gl.getExtension("OES_vertex_array_object"))===null||r===void 0?void 0:r.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}let ya;function fl(h,e,r,a,l){const d=h.context,g=h.transform,w=d.gl,A=h.useProgram("collisionBox"),I=[];let z=0,N=0;for(let se=0;se<a.length;se++){const pe=a[se],_e=e.getTile(pe).getBucket(r);if(!_e)continue;const ye=l?_e.textCollisionBox:_e.iconCollisionBox,be=_e.collisionCircleArray;be.length>0&&(I.push({circleArray:be,circleOffset:N,coord:pe}),z+=be.length/4,N=z),ye&&A.draw(d,w.LINES,ot.disabled,pt.disabled,h.colorModeForRenderPass(),ht.disabled,kh(h.transform),h.style.map.terrain&&h.style.map.terrain.getTerrainData(pe),g.getProjectionData({overscaledTileID:pe,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),r.id,ye.layoutVertexBuffer,ye.indexBuffer,ye.segments,null,h.transform.zoom,null,null,ye.collisionVertexBuffer)}if(!l||!I.length)return;const F=h.useProgram("collisionCircle"),Z=new o.bT;Z.resize(4*z),Z._trim();let J=0;for(const se of I)for(let pe=0;pe<se.circleArray.length/4;pe++){const _e=4*pe,ye=se.circleArray[_e+0],be=se.circleArray[_e+1],Ce=se.circleArray[_e+2],we=se.circleArray[_e+3];Z.emplace(J++,ye,be,Ce,we,0),Z.emplace(J++,ye,be,Ce,we,1),Z.emplace(J++,ye,be,Ce,we,2),Z.emplace(J++,ye,be,Ce,we,3)}(!ya||ya.length<2*z)&&(ya=function(se){const pe=2*se,_e=new o.bV;_e.resize(pe),_e._trim();for(let ye=0;ye<pe;ye++){const be=6*ye;_e.uint16[be+0]=4*ye+0,_e.uint16[be+1]=4*ye+1,_e.uint16[be+2]=4*ye+2,_e.uint16[be+3]=4*ye+2,_e.uint16[be+4]=4*ye+3,_e.uint16[be+5]=4*ye+0}return _e}(z));const oe=d.createIndexBuffer(ya,!0),ne=d.createVertexBuffer(Z,o.bU.members,!0);for(const se of I){const pe=oa(h.transform);F.draw(d,w.TRIANGLES,ot.disabled,pt.disabled,h.colorModeForRenderPass(),ht.disabled,pe,h.style.map.terrain&&h.style.map.terrain.getTerrainData(se.coord),null,r.id,ne,oe,o.aJ.simpleSegment(0,2*se.circleOffset,se.circleArray.length,se.circleArray.length/2),null,h.transform.zoom,null,null,null)}ne.destroy(),oe.destroy()}const ms=o.ad(new Float32Array(16));function Dh(h,e,r,a,l,d){const{horizontalAlign:g,verticalAlign:w}=o.aE(h);return new o.P((-(g-.5)*e/l+a[0])*d,(-(w-.5)*r/l+a[1])*d)}function zh(h,e,r,a,l,d){const g=e.tileAnchorPoint.add(new o.P(e.translation[0],e.translation[1]));if(e.pitchWithMap){let w=a.mult(d);r||(w=w.rotate(-l));const A=g.add(w);return Ue(A.x,A.y,e.pitchedLabelPlaneMatrix,e.getElevation).point}if(r){const w=mr(e.tileAnchorPoint.x+1,e.tileAnchorPoint.y,e).point.sub(h),A=Math.atan(w.y/w.x)+(w.x<0?Math.PI:0);return h.add(a.rotate(A))}return h.add(a)}function Fc(h,e,r,a,l,d,g,w,A,I,z,N){const F=h.text.placedSymbolArray,Z=h.text.dynamicLayoutVertexArray,J=h.icon.dynamicLayoutVertexArray,oe={};Z.clear();for(let ne=0;ne<F.length;ne++){const se=F.get(ne),pe=se.hidden||!se.crossTileID||h.allowVerticalPlacement&&!se.placedOrientation?null:a[se.crossTileID];if(pe){const _e=new o.P(se.anchorX,se.anchorY),ye={getElevation:N,width:l.width,height:l.height,pitchedLabelPlaneMatrix:d,pitchWithMap:r,transform:l,tileAnchorPoint:_e,translation:I,unwrappedTileID:z},be=r?Gt(_e.x,_e.y,ye):mr(_e.x,_e.y,ye),Ce=cr(l.cameraToCenterDistance,be.signedDistanceFromCamera);let we=o.am(h.textSizeData,w,se)*Ce/o.ay;r&&(we*=h.tilePixelRatio/g);const{width:Re,height:We,anchor:Fe,textOffset:Ne,textBoxScale:je}=pe,mt=Dh(Fe,Re,We,Ne,je,we),dt=l.getPitchedTextCorrection(_e.x+I[0],_e.y+I[1],z),tt=zh(be.point,ye,e,mt,-l.bearingInRadians,dt),kt=h.allowVerticalPlacement&&se.placedOrientation===o.al.vertical?Math.PI/2:0;for(let Xt=0;Xt<se.numGlyphs;Xt++)o.as(Z,tt,kt);A&&se.associatedIconIndex>=0&&(oe[se.associatedIconIndex]={shiftedAnchor:tt,angle:kt})}else Li(se.numGlyphs,Z)}if(A){J.clear();const ne=h.icon.placedSymbolArray;for(let se=0;se<ne.length;se++){const pe=ne.get(se);if(pe.hidden)Li(pe.numGlyphs,J);else{const _e=oe[se];if(_e)for(let ye=0;ye<pe.numGlyphs;ye++)o.as(J,_e.shiftedAnchor,_e.angle);else Li(pe.numGlyphs,J)}}h.icon.dynamicLayoutVertexBuffer.updateData(J)}h.text.dynamicLayoutVertexBuffer.updateData(Z)}function Bh(h,e,r){return r.iconsInText&&e?"symbolTextAndIcon":h?"symbolSDF":"symbolIcon"}function _a(h,e,r,a,l,d,g,w,A,I,z,N,F){const Z=h.context,J=Z.gl,oe=h.transform,ne=w==="map",se=A==="map",pe=w!=="viewport"&&r.layout.get("symbol-placement")!=="point",_e=ne&&!se&&!pe,ye=!r.layout.get("symbol-sort-key").isConstant();let be=!1;const Ce=h.getDepthModeForSublayer(0,ot.ReadOnly),we=r._unevaluatedLayout.hasValue("text-variable-anchor")||r._unevaluatedLayout.hasValue("text-variable-anchor-offset"),Re=[],We=oe.getCircleRadiusCorrection();for(const Fe of a){const Ne=e.getTile(Fe),je=Ne.getBucket(r);if(!je)continue;const mt=l?je.text:je.icon;if(!mt||!mt.segments.get().length||!mt.hasVisibleVertices)continue;const dt=mt.programConfigurations.get(r.id),tt=l||je.sdfIcons,kt=l?je.textSizeData:je.iconSizeData,Xt=se||oe.pitch!==0,nr=h.useProgram(Bh(tt,l,je),dt),Lr=o.ak(kt,oe.zoom),_r=h.style.map.terrain&&h.style.map.terrain.getTerrainData(Fe);let Rr,Dr,wr,ur,Qr=[0,0],ci=null;if(l)Dr=Ne.glyphAtlasTexture,wr=J.LINEAR,Rr=Ne.glyphAtlasTexture.size,je.iconsInText&&(Qr=Ne.imageAtlasTexture.size,ci=Ne.imageAtlasTexture,ur=Xt||h.options.rotating||h.options.zooming||kt.kind==="composite"||kt.kind==="camera"?J.LINEAR:J.NEAREST);else{const Wr=r.layout.get("icon-size").constantOr(0)!==1||je.iconsNeedLinear;Dr=Ne.imageAtlasTexture,wr=tt||h.options.rotating||h.options.zooming||Wr||Xt?J.LINEAR:J.NEAREST,Rr=Ne.imageAtlasTexture.size}const vi=o.az(Ne,1,h.transform.zoom),hr=It(ne,h.transform,vi),$n=o.K();o.an($n,hr);const An=jt(se,ne,h.transform,vi),eo=o.aA(oe,Ne,d,g),Ao=oe.getProjectionData({overscaledTileID:Fe,applyGlobeMatrix:!F,applyTerrainMatrix:!0}),Is=we&&je.hasTextData(),to=r.layout.get("icon-text-fit")!=="none"&&Is&&je.hasIconData();if(pe){const Wr=h.style.map.terrain?(Pi,Cr)=>h.style.map.terrain.getElevation(Fe,Pi,Cr):null,Zr=r.layout.get("text-rotation-alignment")==="map";sr(je,h,l,hr,$n,se,I,Zr,Fe.toUnwrapped(),oe.width,oe.height,eo,Wr)}const ko=l&&we||to,qi=pe||ko?ms:se?hr:h.transform.clipSpaceToPixelsMatrix,ro=tt&&r.paint.get(l?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let Vn;Vn=tt?je.iconsInText?sa(kt.kind,Lr,_e,se,pe,ko,h,qi,An,eo,Rr,Qr,We):Pc(kt.kind,Lr,_e,se,pe,ko,h,qi,An,eo,l,Rr,0,We):Ro(kt.kind,Lr,_e,se,pe,ko,h,qi,An,eo,l,Rr,We);const io={program:nr,buffers:mt,uniformValues:Vn,projectionData:Ao,atlasTexture:Dr,atlasTextureIcon:ci,atlasInterpolation:wr,atlasInterpolationIcon:ur,isSDF:tt,hasHalo:ro};if(ye&&je.canOverlap){be=!0;const Wr=mt.segments.get();for(const Zr of Wr)Re.push({segments:new o.aJ([Zr]),sortKey:Zr.sortKey,state:io,terrainData:_r})}else Re.push({segments:mt.segments,sortKey:0,state:io,terrainData:_r})}be&&Re.sort((Fe,Ne)=>Fe.sortKey-Ne.sortKey);for(const Fe of Re){const Ne=Fe.state;if(Z.activeTexture.set(J.TEXTURE0),Ne.atlasTexture.bind(Ne.atlasInterpolation,J.CLAMP_TO_EDGE),Ne.atlasTextureIcon&&(Z.activeTexture.set(J.TEXTURE1),Ne.atlasTextureIcon&&Ne.atlasTextureIcon.bind(Ne.atlasInterpolationIcon,J.CLAMP_TO_EDGE)),Ne.isSDF){const je=Ne.uniformValues;Ne.hasHalo&&(je.u_is_halo=1,gs(Ne.buffers,Fe.segments,r,h,Ne.program,Ce,z,N,je,Ne.projectionData,Fe.terrainData)),je.u_is_halo=0}gs(Ne.buffers,Fe.segments,r,h,Ne.program,Ce,z,N,Ne.uniformValues,Ne.projectionData,Fe.terrainData)}}function gs(h,e,r,a,l,d,g,w,A,I,z){const N=a.context;l.draw(N,N.gl.TRIANGLES,d,g,w,ht.backCCW,A,z,I,r.id,h.layoutVertexBuffer,h.indexBuffer,e,r.paint,a.transform.zoom,h.programConfigurations.get(r.id),h.dynamicLayoutVertexBuffer,h.opacityVertexBuffer)}function va(h,e,r,a,l){const d=h.context,g=d.gl,w=pt.disabled,A=new Ye([g.ONE,g.ONE],o.b7.transparent,[!0,!0,!0,!0]),I=e.getBucket(r);if(!I)return;const z=a.key;let N=r.heatmapFbos.get(z);N||(N=xa(d,e.tileSize,e.tileSize),r.heatmapFbos.set(z,N)),d.bindFramebuffer.set(N.framebuffer),d.viewport.set([0,0,e.tileSize,e.tileSize]),d.clear({color:o.b7.transparent});const F=I.programConfigurations.get(r.id),Z=h.useProgram("heatmap",F,!l),J=h.transform.getProjectionData({overscaledTileID:e.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),oe=h.style.map.terrain.getTerrainData(a);Z.draw(d,g.TRIANGLES,ot.disabled,w,A,ht.disabled,_o(e,h.transform.zoom,r.paint.get("heatmap-intensity"),1),oe,J,r.id,I.layoutVertexBuffer,I.indexBuffer,I.segments,r.paint,h.transform.zoom,F)}function ml(h,e,r,a,l){const d=h.context,g=d.gl,w=h.transform;d.setColorMode(h.colorModeForRenderPass());const A=gl(d,e),I=r.key,z=e.heatmapFbos.get(I);if(!z)return;d.activeTexture.set(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,z.colorAttachment.get()),d.activeTexture.set(g.TEXTURE1),A.bind(g.LINEAR,g.CLAMP_TO_EDGE);const N=w.getProjectionData({overscaledTileID:r,applyTerrainMatrix:l,applyGlobeMatrix:!a});h.useProgram("heatmapTexture").draw(d,g.TRIANGLES,ot.disabled,pt.disabled,h.colorModeForRenderPass(),ht.disabled,bc(h,e,0,1),null,N,e.id,h.rasterBoundsBuffer,h.quadTriangleIndexBuffer,h.rasterBoundsSegments,e.paint,w.zoom),z.destroy(),e.heatmapFbos.delete(I)}function xa(h,e,r){var a,l;const d=h.gl,g=d.createTexture();d.bindTexture(d.TEXTURE_2D,g),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR);const w=(a=h.HALF_FLOAT)!==null&&a!==void 0?a:d.UNSIGNED_BYTE,A=(l=h.RGBA16F)!==null&&l!==void 0?l:d.RGBA;d.texImage2D(d.TEXTURE_2D,0,A,e,r,0,d.RGBA,w,null);const I=h.createFramebuffer(e,r,!1,!1);return I.colorAttachment.set(g),I}function gl(h,e){return e.colorRampTexture||(e.colorRampTexture=new rt(h,e.colorRamp,h.gl.RGBA)),e.colorRampTexture}function ys(h,e,r,a,l){if(!r||!a||!a.imageAtlas)return;const d=a.imageAtlas.patternPositions;let g=d[r.to.toString()],w=d[r.from.toString()];if(!g&&w&&(g=w),!w&&g&&(w=g),!g||!w){const A=l.getPaintProperty(e);g=d[A],w=d[A]}g&&w&&h.setConstantPatternPositions(g,w)}function _s(h,e,r,a,l,d,g,w){const A=h.context.gl,I="fill-pattern",z=r.paint.get(I),N=z&&z.constantOr(1),F=r.getCrossfadeParameters();let Z,J,oe,ne,se;const pe=h.transform,_e=r.paint.get("fill-translate"),ye=r.paint.get("fill-translate-anchor");g?(J=N&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",Z=A.LINES):(J=N?"fillPattern":"fill",Z=A.TRIANGLES);const be=z.constantOr(null);for(const Ce of a){const we=e.getTile(Ce);if(N&&!we.patternsLoaded())continue;const Re=we.getBucket(r);if(!Re)continue;const We=Re.programConfigurations.get(r.id),Fe=h.useProgram(J,We),Ne=h.style.map.terrain&&h.style.map.terrain.getTerrainData(Ce);N&&(h.context.activeTexture.set(A.TEXTURE0),we.imageAtlasTexture.bind(A.LINEAR,A.CLAMP_TO_EDGE),We.updatePaintBuffers(F)),ys(We,I,be,we,r);const je=pe.getProjectionData({overscaledTileID:Ce,applyGlobeMatrix:!w,applyTerrainMatrix:!0}),mt=o.aA(pe,we,_e,ye);if(g){ne=Re.indexBuffer2,se=Re.segments2;const tt=[A.drawingBufferWidth,A.drawingBufferHeight];oe=J==="fillOutlinePattern"&&N?hs(h,F,we,tt,mt):il(tt,mt)}else ne=Re.indexBuffer,se=Re.segments,oe=N?vc(h,F,we,mt):{u_fill_translate:mt};const dt=h.stencilModeForClipping(Ce);Fe.draw(h.context,Z,l,dt,d,ht.backCCW,oe,Ne,je,r.id,Re.layoutVertexBuffer,ne,se,r.paint,h.transform.zoom,We)}}function vs(h,e,r,a,l,d,g,w){const A=h.context,I=A.gl,z="fill-extrusion-pattern",N=r.paint.get(z),F=N.constantOr(1),Z=r.getCrossfadeParameters(),J=r.paint.get("fill-extrusion-opacity"),oe=N.constantOr(null),ne=h.transform;for(const se of a){const pe=e.getTile(se),_e=pe.getBucket(r);if(!_e)continue;const ye=h.style.map.terrain&&h.style.map.terrain.getTerrainData(se),be=_e.programConfigurations.get(r.id),Ce=h.useProgram(F?"fillExtrusionPattern":"fillExtrusion",be);F&&(h.context.activeTexture.set(I.TEXTURE0),pe.imageAtlasTexture.bind(I.LINEAR,I.CLAMP_TO_EDGE),be.updatePaintBuffers(Z));const we=ne.getProjectionData({overscaledTileID:se,applyGlobeMatrix:!w,applyTerrainMatrix:!0});ys(be,z,oe,pe,r);const Re=o.aA(ne,pe,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),We=r.paint.get("fill-extrusion-vertical-gradient"),Fe=F?bn(h,We,J,Re,se,Z,pe):na(h,We,J,Re);Ce.draw(A,A.gl.TRIANGLES,l,d,g,ht.backCCW,Fe,ye,we,r.id,_e.layoutVertexBuffer,_e.indexBuffer,_e.segments,r.paint,h.transform.zoom,be,h.style.map.terrain&&_e.centroidVertexBuffer)}}function yl(h,e,r,a,l,d,g,w,A){var I;const z=h.style.projection,N=h.context,F=h.transform,Z=N.gl,J=[`#define NUM_ILLUMINATION_SOURCES ${r.paint.get("hillshade-highlight-color").values.length}`],oe=h.useProgram("hillshade",null,!1,J),ne=!h.options.moving;for(const se of a){const pe=e.getTile(se),_e=pe.fbo;if(!_e)continue;const ye=z.getMeshFromTileID(N,se.canonical,w,!0,"raster"),be=(I=h.style.map.terrain)===null||I===void 0?void 0:I.getTerrainData(se);N.activeTexture.set(Z.TEXTURE0),Z.bindTexture(Z.TEXTURE_2D,_e.colorAttachment.get());const Ce=F.getProjectionData({overscaledTileID:se,aligned:ne,applyGlobeMatrix:!A,applyTerrainMatrix:!0});oe.draw(N,Z.TRIANGLES,d,l[se.overscaledZ],g,ht.backCCW,wc(h,pe,r),be,Ce,r.id,ye.vertexBuffer,ye.indexBuffer,ye.segments)}}const xs=[new o.P(0,0),new o.P(o.Z,0),new o.P(o.Z,o.Z),new o.P(0,o.Z)];function ba(h,e,r,a,l,d,g,w,A=!1,I=!1){const z=a[a.length-1].overscaledZ,N=h.context,F=N.gl,Z=h.useProgram("raster"),J=h.transform,oe=h.style.projection,ne=h.colorModeForRenderPass(),se=!h.options.moving;for(const pe of a){const _e=h.getDepthModeForSublayer(pe.overscaledZ-z,r.paint.get("raster-opacity")===1?ot.ReadWrite:ot.ReadOnly,F.LESS),ye=e.getTile(pe);ye.registerFadeDuration(r.paint.get("raster-fade-duration"));const be=e.findLoadedParent(pe,0),Ce=e.findLoadedSibling(pe),we=Nc(ye,be||Ce||null,e,r,h.transform,h.style.map.terrain);let Re,We;const Fe=r.paint.get("raster-resampling")==="nearest"?F.NEAREST:F.LINEAR;N.activeTexture.set(F.TEXTURE0),ye.texture.bind(Fe,F.CLAMP_TO_EDGE,F.LINEAR_MIPMAP_NEAREST),N.activeTexture.set(F.TEXTURE1),be?(be.texture.bind(Fe,F.CLAMP_TO_EDGE,F.LINEAR_MIPMAP_NEAREST),Re=Math.pow(2,be.tileID.overscaledZ-ye.tileID.overscaledZ),We=[ye.tileID.canonical.x*Re%1,ye.tileID.canonical.y*Re%1]):ye.texture.bind(Fe,F.CLAMP_TO_EDGE,F.LINEAR_MIPMAP_NEAREST),ye.texture.useMipmap&&N.extTextureFilterAnisotropic&&h.transform.pitch>20&&F.texParameterf(F.TEXTURE_2D,N.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,N.extTextureFilterAnisotropicMax);const Ne=h.style.map.terrain&&h.style.map.terrain.getTerrainData(pe),je=J.getProjectionData({overscaledTileID:pe,aligned:se,applyGlobeMatrix:!I,applyTerrainMatrix:!0}),mt=Tc(We||[0,0],Re||1,we,r,w),dt=oe.getMeshFromTileID(N,pe.canonical,d,g,"raster");Z.draw(N,F.TRIANGLES,_e,l?l[pe.overscaledZ]:pt.disabled,ne,A?ht.frontCCW:ht.backCCW,mt,Ne,je,r.id,dt.vertexBuffer,dt.indexBuffer,dt.segments)}}function Nc(h,e,r,a,l,d){const g=a.paint.get("raster-fade-duration");if(!d&&g>0){const w=L.now(),A=(w-h.timeAdded)/g,I=e?(w-e.timeAdded)/g:-1,z=r.getSource(),N=Pe(l,{tileSize:z.tileSize,roundZoom:z.roundZoom}),F=!e||Math.abs(e.tileID.overscaledZ-N)>Math.abs(h.tileID.overscaledZ-N),Z=F&&h.refreshedUponExpiration?1:o.ae(F?A:1-I,0,1);return h.refreshedUponExpiration&&A>=1&&(h.refreshedUponExpiration=!1),e?{opacity:1,mix:1-Z}:{opacity:Z,mix:0}}return{opacity:1,mix:0}}const wa=new o.b7(1,0,0,1),_l=new o.b7(0,1,0,1),qc=new o.b7(0,0,1,1),Uc=new o.b7(1,0,1,1),Sa=new o.b7(0,1,1,1);function Aa(h,e,r,a){bs(h,0,e+r/2,h.transform.width,r,a)}function jc(h,e,r,a){bs(h,e-r/2,0,r,h.transform.height,a)}function bs(h,e,r,a,l,d){const g=h.context,w=g.gl;w.enable(w.SCISSOR_TEST),w.scissor(e*h.pixelRatio,r*h.pixelRatio,a*h.pixelRatio,l*h.pixelRatio),g.clear({color:d}),w.disable(w.SCISSOR_TEST)}function qr(h,e,r){const a=h.context,l=a.gl,d=h.useProgram("debug"),g=ot.disabled,w=pt.disabled,A=h.colorModeForRenderPass(),I="$debug",z=h.style.map.terrain&&h.style.map.terrain.getTerrainData(r);a.activeTexture.set(l.TEXTURE0);const N=e.getTileByID(r.key).latestRawTileData,F=Math.floor((N&&N.byteLength||0)/1024),Z=e.getTile(r).tileSize,J=512/Math.min(Z,512)*(r.overscaledZ/h.transform.zoom)*.5;let oe=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(oe+=` => ${r.overscaledZ}`),function(se,pe){se.initDebugOverlayCanvas();const _e=se.debugOverlayCanvas,ye=se.context.gl,be=se.debugOverlayCanvas.getContext("2d");be.clearRect(0,0,_e.width,_e.height),be.shadowColor="white",be.shadowBlur=2,be.lineWidth=1.5,be.strokeStyle="white",be.textBaseline="top",be.font="bold 36px Open Sans, sans-serif",be.fillText(pe,5,5),be.strokeText(pe,5,5),se.debugOverlayTexture.update(_e),se.debugOverlayTexture.bind(ye.LINEAR,ye.CLAMP_TO_EDGE)}(h,`${oe} ${F}kB`);const ne=h.transform.getProjectionData({overscaledTileID:r,applyGlobeMatrix:!0,applyTerrainMatrix:!0});d.draw(a,l.TRIANGLES,g,w,Ye.alphaBlended,ht.disabled,xc(o.b7.transparent,J),null,ne,I,h.debugBuffer,h.quadTriangleIndexBuffer,h.debugSegments),d.draw(a,l.LINE_STRIP,g,w,A,ht.disabled,xc(o.b7.red),z,ne,I,h.debugBuffer,h.tileBorderIndexBuffer,h.debugSegments)}function Yn(h,e,r,a){const{isRenderingGlobe:l}=a,d=h.context,g=d.gl,w=h.transform,A=h.colorModeForRenderPass(),I=h.getDepthModeFor3D(),z=h.useProgram("terrain");d.bindFramebuffer.set(null),d.viewport.set([0,0,h.width,h.height]);for(const N of r){const F=e.getTerrainMesh(N.tileID),Z=h.renderToTexture.getTexture(N),J=e.getTerrainData(N.tileID);d.activeTexture.set(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,Z.texture);const oe=e.getMeshFrameDelta(w.zoom),ne=w.calculateFogMatrix(N.tileID.toUnwrapped()),se=Ah(oe,ne,h.style.sky,w.pitch,l),pe=w.getProjectionData({overscaledTileID:N.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});z.draw(d,g.TRIANGLES,I,pt.disabled,A,ht.backCCW,se,J,pe,"terrain",F.vertexBuffer,F.indexBuffer,F.segments)}}function Ni(h,e){if(!e.mesh){const r=new o.aI;r.emplaceBack(-1,-1),r.emplaceBack(1,-1),r.emplaceBack(1,1),r.emplaceBack(-1,1);const a=new o.aK;a.emplaceBack(0,1,2),a.emplaceBack(0,2,3),e.mesh=new Mn(h.createVertexBuffer(r,si.members),h.createIndexBuffer(a),o.aJ.simpleSegment(0,0,r.length,a.length))}return e.mesh}class vl{constructor(e,r){this.context=new ga(e),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:o.ad(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=Te.maxUnderzooming+Te.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Jn}resize(e,r,a){if(this.width=Math.floor(e*a),this.height=Math.floor(r*a),this.pixelRatio=a,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const l of this.style._order)this.style._layers[l].resize()}setup(){const e=this.context,r=new o.aI;r.emplaceBack(0,0),r.emplaceBack(o.Z,0),r.emplaceBack(0,o.Z),r.emplaceBack(o.Z,o.Z),this.tileExtentBuffer=e.createVertexBuffer(r,si.members),this.tileExtentSegments=o.aJ.simpleSegment(0,0,4,2);const a=new o.aI;a.emplaceBack(0,0),a.emplaceBack(o.Z,0),a.emplaceBack(0,o.Z),a.emplaceBack(o.Z,o.Z),this.debugBuffer=e.createVertexBuffer(a,si.members),this.debugSegments=o.aJ.simpleSegment(0,0,4,5);const l=new o.b_;l.emplaceBack(0,0,0,0),l.emplaceBack(o.Z,0,o.Z,0),l.emplaceBack(0,o.Z,0,o.Z),l.emplaceBack(o.Z,o.Z,o.Z,o.Z),this.rasterBoundsBuffer=e.createVertexBuffer(l,wh.members),this.rasterBoundsSegments=o.aJ.simpleSegment(0,0,4,2);const d=new o.aI;d.emplaceBack(0,0),d.emplaceBack(o.Z,0),d.emplaceBack(0,o.Z),d.emplaceBack(o.Z,o.Z),this.rasterBoundsBufferPosOnly=e.createVertexBuffer(d,si.members),this.rasterBoundsSegmentsPosOnly=o.aJ.simpleSegment(0,0,4,5);const g=new o.aI;g.emplaceBack(0,0),g.emplaceBack(1,0),g.emplaceBack(0,1),g.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(g,si.members),this.viewportSegments=o.aJ.simpleSegment(0,0,4,2);const w=new o.b$;w.emplaceBack(0),w.emplaceBack(1),w.emplaceBack(3),w.emplaceBack(2),w.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(w);const A=new o.aK;A.emplaceBack(1,0,2),A.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(A);const I=this.context.gl;this.stencilClearMode=new pt({func:I.ALWAYS,mask:0},0,255,I.ZERO,I.ZERO,I.ZERO),this.tileExtentMesh=new Mn(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){const e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=o.K();o.bQ(a,0,this.width,this.height,0,0,1),o.M(a,a,[r.drawingBufferWidth,r.drawingBufferHeight,0]);const l={mainMatrix:a,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:a};this.useProgram("clippingMask",null,!0).draw(e,r.TRIANGLES,ot.disabled,this.stencilClearMode,Ye.disabled,ht.disabled,null,null,l,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,r,a){if(this.currentStencilSource===e.source||!e.isTileClipped()||!r||!r.length)return;this.currentStencilSource=e.source,this.nextStencilID+r.length>256&&this.clearStencil();const l=this.context;l.setColorMode(Ye.disabled),l.setDepthMode(ot.disabled);const d={};for(const g of r)d[g.key]=this.nextStencilID++;this._renderTileMasks(d,r,a,!0),this._renderTileMasks(d,r,a,!1),this._tileClippingMaskIDs=d}_renderTileMasks(e,r,a,l){const d=this.context,g=d.gl,w=this.style.projection,A=this.transform,I=this.useProgram("clippingMask");for(const z of r){const N=e[z.key],F=this.style.map.terrain&&this.style.map.terrain.getTerrainData(z),Z=w.getMeshFromTileID(this.context,z.canonical,l,!0,"stencil"),J=A.getProjectionData({overscaledTileID:z,applyGlobeMatrix:!a,applyTerrainMatrix:!0});I.draw(d,g.TRIANGLES,ot.disabled,new pt({func:g.ALWAYS,mask:0},N,255,g.KEEP,g.KEEP,g.REPLACE),Ye.disabled,a?ht.disabled:ht.backCCW,null,F,J,"$clipping",Z.vertexBuffer,Z.indexBuffer,Z.segments)}}_renderTilesDepthBuffer(){const e=this.context,r=e.gl,a=this.style.projection,l=this.transform,d=this.useProgram("depth"),g=this.getDepthModeFor3D(),w=Ae(l,{tileSize:l.tileSize});for(const A of w){const I=this.style.map.terrain&&this.style.map.terrain.getTerrainData(A),z=a.getMeshFromTileID(this.context,A.canonical,!0,!0,"raster"),N=l.getProjectionData({overscaledTileID:A,applyGlobeMatrix:!0,applyTerrainMatrix:!0});d.draw(e,r.TRIANGLES,g,pt.disabled,Ye.disabled,ht.backCCW,null,I,N,"$clipping",z.vertexBuffer,z.indexBuffer,z.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,r=this.context.gl;return new pt({func:r.NOTEQUAL,mask:255},e,255,r.KEEP,r.KEEP,r.REPLACE)}stencilModeForClipping(e){const r=this.context.gl;return new pt({func:r.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,r.KEEP,r.KEEP,r.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(e){const r=this.context.gl,a=e.sort((g,w)=>w.overscaledZ-g.overscaledZ),l=a[a.length-1].overscaledZ,d=a[0].overscaledZ-l+1;if(d>1){this.currentStencilSource=void 0,this.nextStencilID+d>256&&this.clearStencil();const g={};for(let w=0;w<d;w++)g[w+l]=new pt({func:r.GEQUAL,mask:255},w+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=d,[g,a]}return[{[l]:pt.disabled},a]}stencilConfigForOverlapTwoPass(e){const r=this.context.gl,a=e.sort((g,w)=>w.overscaledZ-g.overscaledZ),l=a[a.length-1].overscaledZ,d=a[0].overscaledZ-l+1;if(this.clearStencil(),d>1){const g={},w={};for(let A=0;A<d;A++)g[A+l]=new pt({func:r.GREATER,mask:255},d+1+A,255,r.KEEP,r.KEEP,r.REPLACE),w[A+l]=new pt({func:r.GREATER,mask:255},1+A,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID=2*d+1,[g,w,a]}return this.nextStencilID=3,[{[l]:new pt({func:r.GREATER,mask:255},2,255,r.KEEP,r.KEEP,r.REPLACE)},{[l]:new pt({func:r.GREATER,mask:255},1,255,r.KEEP,r.KEEP,r.REPLACE)},a]}colorModeForRenderPass(){const e=this.context.gl;return this._showOverdrawInspector?new Ye([e.CONSTANT_COLOR,e.ONE],new o.b7(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass==="opaque"?Ye.unblended:Ye.alphaBlended}getDepthModeForSublayer(e,r,a){if(!this.opaquePassEnabledForLayer())return ot.disabled;const l=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new ot(a||this.context.gl.LEQUAL,r,[l,l])}getDepthModeFor3D(){return new ot(this.context.gl.LEQUAL,ot.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,r){var a,l;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(L.now()),this.imageManager.beginFrame();const d=this.style._order,g=this.style.sourceCaches,w={},A={},I={},z={isRenderingToTexture:!1,isRenderingGlobe:((a=e.projection)===null||a===void 0?void 0:a.transitionState)>0};for(const F in g){const Z=g[F];Z.used&&Z.prepare(this.context),w[F]=Z.getVisibleCoordinates(!1),A[F]=w[F].slice().reverse(),I[F]=Z.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let F=0;F<d.length;F++)if(this.style._layers[d[F]].is3D()){this.opaquePassCutoff=F;break}this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass="offscreen";for(const F of d){const Z=this.style._layers[F];if(!Z.hasOffscreenPass()||Z.isHidden(this.transform.zoom))continue;const J=A[Z.source];(Z.type==="custom"||J.length)&&this.renderLayer(this,g[Z.source],Z,J,z)}if((l=this.style.projection)===null||l===void 0||l.updateGPUdependent({context:this.context,useProgram:F=>this.useProgram(F)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?o.b7.black:o.b7.transparent,depth:1}),this.clearStencil(),this.style.sky&&function(F,Z){const J=F.context,oe=J.gl,ne=((Ce,we,Re)=>{const We=Math.cos(we.rollInRadians),Fe=Math.sin(we.rollInRadians),Ne=ke(we),je=we.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:Ce.properties.get("sky-color"),u_horizon_color:Ce.properties.get("horizon-color"),u_horizon:[(we.width/2-Ne*Fe)*Re,(we.height/2+Ne*We)*Re],u_horizon_normal:[-Fe,We],u_sky_horizon_blend:Ce.properties.get("sky-horizon-blend")*we.height/2*Re,u_sky_blend:je}})(Z,F.style.map.transform,F.pixelRatio),se=new ot(oe.LEQUAL,ot.ReadWrite,[0,1]),pe=pt.disabled,_e=F.colorModeForRenderPass(),ye=F.useProgram("sky"),be=Ni(J,Z);ye.draw(J,oe.TRIANGLES,se,pe,_e,ht.disabled,ne,null,void 0,"sky",be.vertexBuffer,be.indexBuffer,be.segments)}(this,this.style.sky),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=d.length-1;this.currentLayer>=0;this.currentLayer--){const F=this.style._layers[d[this.currentLayer]],Z=g[F.source],J=w[F.source];this._renderTileClippingMasks(F,J,!1),this.renderLayer(this,Z,F,J,z)}this.renderPass="translucent";let N=!1;for(this.currentLayer=0;this.currentLayer<d.length;this.currentLayer++){const F=this.style._layers[d[this.currentLayer]],Z=g[F.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(F,z))continue;this.opaquePassEnabledForLayer()||N||(N=!0,z.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());const J=(F.type==="symbol"?I:A)[F.source];this._renderTileClippingMasks(F,w[F.source],!!this.renderToTexture),this.renderLayer(this,Z,F,J,z)}if(z.isRenderingGlobe&&function(F,Z,J){const oe=F.context,ne=oe.gl,se=F.useProgram("atmosphere"),pe=new ot(ne.LEQUAL,ot.ReadOnly,[0,1]),_e=F.transform,ye=function(je,mt){const dt=je.properties.get("position"),tt=[-dt.x,-dt.y,-dt.z],kt=o.ad(new Float64Array(16));return je.properties.get("anchor")==="map"&&(o.a_(kt,kt,mt.rollInRadians),o.a$(kt,kt,-mt.pitchInRadians),o.a_(kt,kt,mt.bearingInRadians),o.a$(kt,kt,mt.center.lat*Math.PI/180),o.bp(kt,kt,-mt.center.lng*Math.PI/180)),o.bZ(tt,tt,kt),tt}(J,F.transform),be=_e.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),Ce=Z.properties.get("atmosphere-blend")*be.projectionTransition;if(Ce===0)return;const we=mo(_e.worldSize,_e.center.lat),Re=_e.inverseProjectionMatrix,We=new Float64Array(4);We[3]=1,o.at(We,We,_e.modelViewProjectionMatrix),We[0]/=We[3],We[1]/=We[3],We[2]/=We[3],We[3]=1,o.at(We,We,Re),We[0]/=We[3],We[1]/=We[3],We[2]/=We[3],We[3]=1;const Fe=((je,mt,dt,tt,kt)=>({u_sun_pos:je,u_atmosphere_blend:mt,u_globe_position:dt,u_globe_radius:tt,u_inv_proj_matrix:kt}))(ye,Ce,[We[0],We[1],We[2]],we,Re),Ne=Ni(oe,Z);se.draw(oe,ne.TRIANGLES,pe,pt.disabled,Ye.alphaBlended,ht.disabled,Fe,null,null,"atmosphere",Ne.vertexBuffer,Ne.indexBuffer,Ne.segments)}(this,this.style.sky,this.style.light),this.options.showTileBoundaries){const F=function(Z,J){let oe=null;const ne=Object.values(Z._layers).flatMap(ye=>ye.source&&!ye.isHidden(J)?[Z.sourceCaches[ye.source]]:[]),se=ne.filter(ye=>ye.getSource().type==="vector"),pe=ne.filter(ye=>ye.getSource().type!=="vector"),_e=ye=>{(!oe||oe.getSource().maxzoom<ye.getSource().maxzoom)&&(oe=ye)};return se.forEach(ye=>_e(ye)),oe||pe.forEach(ye=>_e(ye)),oe}(this.style,this.transform.zoom);F&&function(Z,J,oe){for(let ne=0;ne<oe.length;ne++)qr(Z,J,oe[ne])}(this,F,F.getVisibleCoordinates())}this.options.showPadding&&function(F){const Z=F.transform.padding;Aa(F,F.transform.height-(Z.top||0),3,wa),Aa(F,Z.bottom||0,3,_l),jc(F,Z.left||0,3,qc),jc(F,F.transform.width-(Z.right||0),3,Uc);const J=F.transform.centerPoint;(function(oe,ne,se,pe){bs(oe,ne-1,se-10,2,20,pe),bs(oe,ne-10,se-1,20,2,pe)})(F,J.x,F.transform.height-J.y,Sa)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;const r=this.terrainFacilitator.matrix,a=this.transform.modelViewProjectionMatrix;let l=this.terrainFacilitator.dirty;l||(l=e?!o.c0(r,a):!o.c1(r,a)),l||(l=this.style.map.terrain.sourceCache.anyTilesAfterTime(this.terrainFacilitator.renderTime)),l&&(o.c2(r,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(d,g){const w=d.context,A=w.gl,I=d.transform,z=Ye.unblended,N=new ot(A.LEQUAL,ot.ReadWrite,[0,1]),F=g.sourceCache.getRenderableTiles(),Z=d.useProgram("terrainDepth");w.bindFramebuffer.set(g.getFramebuffer("depth").framebuffer),w.viewport.set([0,0,d.width/devicePixelRatio,d.height/devicePixelRatio]),w.clear({color:o.b7.transparent,depth:1});for(const J of F){const oe=g.getTerrainMesh(J.tileID),ne=g.getTerrainData(J.tileID),se=I.getProjectionData({overscaledTileID:J.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),pe={u_ele_delta:g.getMeshFrameDelta(I.zoom)};Z.draw(w,A.TRIANGLES,N,pt.disabled,z,ht.backCCW,pe,ne,se,"terrain",oe.vertexBuffer,oe.indexBuffer,oe.segments)}w.bindFramebuffer.set(null),w.viewport.set([0,0,d.width,d.height])}(this,this.style.map.terrain),function(d,g){const w=d.context,A=w.gl,I=d.transform,z=Ye.unblended,N=new ot(A.LEQUAL,ot.ReadWrite,[0,1]),F=g.getCoordsTexture(),Z=g.sourceCache.getRenderableTiles(),J=d.useProgram("terrainCoords");w.bindFramebuffer.set(g.getFramebuffer("coords").framebuffer),w.viewport.set([0,0,d.width/devicePixelRatio,d.height/devicePixelRatio]),w.clear({color:o.b7.transparent,depth:1}),g.coordsIndex=[];for(const oe of Z){const ne=g.getTerrainMesh(oe.tileID),se=g.getTerrainData(oe.tileID);w.activeTexture.set(A.TEXTURE0),A.bindTexture(A.TEXTURE_2D,F.texture);const pe={u_terrain_coords_id:(255-g.coordsIndex.length)/255,u_texture:0,u_ele_delta:g.getMeshFrameDelta(I.zoom)},_e=I.getProjectionData({overscaledTileID:oe.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});J.draw(w,A.TRIANGLES,N,pt.disabled,z,ht.backCCW,pe,se,_e,"terrain",ne.vertexBuffer,ne.indexBuffer,ne.segments),g.coordsIndex.push(oe.tileID.key)}w.bindFramebuffer.set(null),w.viewport.set([0,0,d.width,d.height])}(this,this.style.map.terrain))}renderLayer(e,r,a,l,d){a.isHidden(this.transform.zoom)||(a.type==="background"||a.type==="custom"||(l||[]).length)&&(this.id=a.id,o.c3(a)?function(g,w,A,I,z,N){if(g.renderPass!=="translucent")return;const{isRenderingToTexture:F}=N,Z=pt.disabled,J=g.colorModeForRenderPass();(A._unevaluatedLayout.hasValue("text-variable-anchor")||A._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(oe,ne,se,pe,_e,ye,be,Ce,we){const Re=ne.transform,We=ne.style.map.terrain,Fe=_e==="map",Ne=ye==="map";for(const je of oe){const mt=pe.getTile(je),dt=mt.getBucket(se);if(!dt||!dt.text||!dt.text.segments.get().length)continue;const tt=o.ak(dt.textSizeData,Re.zoom),kt=o.az(mt,1,ne.transform.zoom),Xt=It(Fe,ne.transform,kt),nr=se.layout.get("icon-text-fit")!=="none"&&dt.hasIconData();if(tt){const Lr=Math.pow(2,Re.zoom-mt.tileID.overscaledZ),_r=We?(Rr,Dr)=>We.getElevation(je,Rr,Dr):null;Fc(dt,Fe,Ne,we,Re,Xt,Lr,tt,nr,o.aA(Re,mt,be,Ce),je.toUnwrapped(),_r)}}}(I,g,A,w,A.layout.get("text-rotation-alignment"),A.layout.get("text-pitch-alignment"),A.paint.get("text-translate"),A.paint.get("text-translate-anchor"),z),A.paint.get("icon-opacity").constantOr(1)!==0&&_a(g,w,A,I,!1,A.paint.get("icon-translate"),A.paint.get("icon-translate-anchor"),A.layout.get("icon-rotation-alignment"),A.layout.get("icon-pitch-alignment"),A.layout.get("icon-keep-upright"),Z,J,F),A.paint.get("text-opacity").constantOr(1)!==0&&_a(g,w,A,I,!0,A.paint.get("text-translate"),A.paint.get("text-translate-anchor"),A.layout.get("text-rotation-alignment"),A.layout.get("text-pitch-alignment"),A.layout.get("text-keep-upright"),Z,J,F),w.map.showCollisionBoxes&&(fl(g,w,A,I,!0),fl(g,w,A,I,!1))}(e,r,a,l,this.style.placement.variableOffsets,d):o.c4(a)?function(g,w,A,I,z){if(g.renderPass!=="translucent")return;const{isRenderingToTexture:N}=z,F=A.paint.get("circle-opacity"),Z=A.paint.get("circle-stroke-width"),J=A.paint.get("circle-stroke-opacity"),oe=!A.layout.get("circle-sort-key").isConstant();if(F.constantOr(1)===0&&(Z.constantOr(1)===0||J.constantOr(1)===0))return;const ne=g.context,se=ne.gl,pe=g.transform,_e=g.getDepthModeForSublayer(0,ot.ReadOnly),ye=pt.disabled,be=g.colorModeForRenderPass(),Ce=[],we=pe.getCircleRadiusCorrection();for(let Re=0;Re<I.length;Re++){const We=I[Re],Fe=w.getTile(We),Ne=Fe.getBucket(A);if(!Ne)continue;const je=A.paint.get("circle-translate"),mt=A.paint.get("circle-translate-anchor"),dt=o.aA(pe,Fe,je,mt),tt=Ne.programConfigurations.get(A.id),kt=g.useProgram("circle",tt),Xt=Ne.layoutVertexBuffer,nr=Ne.indexBuffer,Lr=g.style.map.terrain&&g.style.map.terrain.getTerrainData(We),_r={programConfiguration:tt,program:kt,layoutVertexBuffer:Xt,indexBuffer:nr,uniformValues:ds(g,Fe,A,dt,we),terrainData:Lr,projectionData:pe.getProjectionData({overscaledTileID:We,applyGlobeMatrix:!N,applyTerrainMatrix:!0})};if(oe){const Rr=Ne.segments.get();for(const Dr of Rr)Ce.push({segments:new o.aJ([Dr]),sortKey:Dr.sortKey,state:_r})}else Ce.push({segments:Ne.segments,sortKey:0,state:_r})}oe&&Ce.sort((Re,We)=>Re.sortKey-We.sortKey);for(const Re of Ce){const{programConfiguration:We,program:Fe,layoutVertexBuffer:Ne,indexBuffer:je,uniformValues:mt,terrainData:dt,projectionData:tt}=Re.state;Fe.draw(ne,se.TRIANGLES,_e,ye,be,ht.backCCW,mt,dt,tt,A.id,Ne,je,Re.segments,A.paint,g.transform.zoom,We)}}(e,r,a,l,d):o.c5(a)?function(g,w,A,I,z){if(A.paint.get("heatmap-opacity")===0)return;const N=g.context,{isRenderingToTexture:F,isRenderingGlobe:Z}=z;if(g.style.map.terrain){for(const J of I){const oe=w.getTile(J);w.hasRenderableParent(J)||(g.renderPass==="offscreen"?va(g,oe,A,J,Z):g.renderPass==="translucent"&&ml(g,A,J,F,Z))}N.viewport.set([0,0,g.width,g.height])}else g.renderPass==="offscreen"?function(J,oe,ne,se){const pe=J.context,_e=pe.gl,ye=J.transform,be=pt.disabled,Ce=new Ye([_e.ONE,_e.ONE],o.b7.transparent,[!0,!0,!0,!0]);(function(we,Re,We){const Fe=we.gl;we.activeTexture.set(Fe.TEXTURE1),we.viewport.set([0,0,Re.width/4,Re.height/4]);let Ne=We.heatmapFbos.get(o.bW);Ne?(Fe.bindTexture(Fe.TEXTURE_2D,Ne.colorAttachment.get()),we.bindFramebuffer.set(Ne.framebuffer)):(Ne=xa(we,Re.width/4,Re.height/4),We.heatmapFbos.set(o.bW,Ne))})(pe,J,ne),pe.clear({color:o.b7.transparent});for(let we=0;we<se.length;we++){const Re=se[we];if(oe.hasRenderableParent(Re))continue;const We=oe.getTile(Re),Fe=We.getBucket(ne);if(!Fe)continue;const Ne=Fe.programConfigurations.get(ne.id),je=J.useProgram("heatmap",Ne),mt=ye.getProjectionData({overscaledTileID:Re,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),dt=ye.getCircleRadiusCorrection();je.draw(pe,_e.TRIANGLES,ot.disabled,be,Ce,ht.backCCW,_o(We,ye.zoom,ne.paint.get("heatmap-intensity"),dt),null,mt,ne.id,Fe.layoutVertexBuffer,Fe.indexBuffer,Fe.segments,ne.paint,ye.zoom,Ne)}pe.viewport.set([0,0,J.width,J.height])}(g,w,A,I):g.renderPass==="translucent"&&function(J,oe){const ne=J.context,se=ne.gl;ne.setColorMode(J.colorModeForRenderPass());const pe=oe.heatmapFbos.get(o.bW);pe&&(ne.activeTexture.set(se.TEXTURE0),se.bindTexture(se.TEXTURE_2D,pe.colorAttachment.get()),ne.activeTexture.set(se.TEXTURE1),gl(ne,oe).bind(se.LINEAR,se.CLAMP_TO_EDGE),J.useProgram("heatmapTexture").draw(ne,se.TRIANGLES,ot.disabled,pt.disabled,J.colorModeForRenderPass(),ht.disabled,bc(J,oe,0,1),null,null,oe.id,J.viewportBuffer,J.quadTriangleIndexBuffer,J.viewportSegments,oe.paint,J.transform.zoom))}(g,A)}(e,r,a,l,d):o.c6(a)?function(g,w,A,I,z){if(g.renderPass!=="translucent")return;const{isRenderingToTexture:N}=z,F=A.paint.get("line-opacity"),Z=A.paint.get("line-width");if(F.constantOr(1)===0||Z.constantOr(1)===0)return;const J=g.getDepthModeForSublayer(0,ot.ReadOnly),oe=g.colorModeForRenderPass(),ne=A.paint.get("line-dasharray"),se=A.paint.get("line-pattern"),pe=se.constantOr(1),_e=A.paint.get("line-gradient"),ye=A.getCrossfadeParameters(),be=pe?"linePattern":ne?"lineSDF":_e?"lineGradient":"line",Ce=g.context,we=Ce.gl,Re=g.transform;let We=!0;for(const Fe of I){const Ne=w.getTile(Fe);if(pe&&!Ne.patternsLoaded())continue;const je=Ne.getBucket(A);if(!je)continue;const mt=je.programConfigurations.get(A.id),dt=g.context.program.get(),tt=g.useProgram(be,mt),kt=We||tt.program!==dt,Xt=g.style.map.terrain&&g.style.map.terrain.getTerrainData(Fe),nr=se.constantOr(null);if(nr&&Ne.imageAtlas){const wr=Ne.imageAtlas,ur=wr.patternPositions[nr.to.toString()],Qr=wr.patternPositions[nr.from.toString()];ur&&Qr&&mt.setConstantPatternPositions(ur,Qr)}const Lr=Re.getProjectionData({overscaledTileID:Fe,applyGlobeMatrix:!N,applyTerrainMatrix:!0}),_r=Re.getPixelScale(),Rr=pe?kc(g,Ne,A,_r,ye):ne?Cc(g,Ne,A,_r,ne,ye):_e?Ac(g,Ne,A,_r,je.lineClipsArray.length):ps(g,Ne,A,_r);if(pe)Ce.activeTexture.set(we.TEXTURE0),Ne.imageAtlasTexture.bind(we.LINEAR,we.CLAMP_TO_EDGE),mt.updatePaintBuffers(ye);else if(ne&&(kt||g.lineAtlas.dirty))Ce.activeTexture.set(we.TEXTURE0),g.lineAtlas.bind(Ce);else if(_e){const wr=je.gradients[A.id];let ur=wr.texture;if(A.gradientVersion!==wr.version){let Qr=256;if(A.stepInterpolant){const ci=w.getSource().maxzoom,vi=Fe.canonical.z===ci?Math.ceil(1<<g.transform.maxZoom-Fe.canonical.z):1;Qr=o.ae(o.bX(je.maxLineLength/o.Z*1024*vi),256,Ce.maxTextureSize)}wr.gradient=o.bY({expression:A.gradientExpression(),evaluationKey:"lineProgress",resolution:Qr,image:wr.gradient||void 0,clips:je.lineClipsArray}),wr.texture?wr.texture.update(wr.gradient):wr.texture=new rt(Ce,wr.gradient,we.RGBA),wr.version=A.gradientVersion,ur=wr.texture}Ce.activeTexture.set(we.TEXTURE0),ur.bind(A.stepInterpolant?we.NEAREST:we.LINEAR,we.CLAMP_TO_EDGE)}const Dr=g.stencilModeForClipping(Fe);tt.draw(Ce,we.TRIANGLES,J,Dr,oe,ht.disabled,Rr,Xt,Lr,A.id,je.layoutVertexBuffer,je.indexBuffer,je.segments,A.paint,g.transform.zoom,mt,je.layoutVertexBuffer2),We=!1}}(e,r,a,l,d):o.c7(a)?function(g,w,A,I,z){const N=A.paint.get("fill-color"),F=A.paint.get("fill-opacity");if(F.constantOr(1)===0)return;const{isRenderingToTexture:Z}=z,J=g.colorModeForRenderPass(),oe=A.paint.get("fill-pattern"),ne=g.opaquePassEnabledForLayer()&&!oe.constantOr(1)&&N.constantOr(o.b7.transparent).a===1&&F.constantOr(0)===1?"opaque":"translucent";if(g.renderPass===ne){const se=g.getDepthModeForSublayer(1,g.renderPass==="opaque"?ot.ReadWrite:ot.ReadOnly);_s(g,w,A,I,se,J,!1,Z)}if(g.renderPass==="translucent"&&A.paint.get("fill-antialias")){const se=g.getDepthModeForSublayer(A.getPaintProperty("fill-outline-color")?2:0,ot.ReadOnly);_s(g,w,A,I,se,J,!0,Z)}}(e,r,a,l,d):o.c8(a)?function(g,w,A,I,z){const N=A.paint.get("fill-extrusion-opacity");if(N===0)return;const{isRenderingToTexture:F}=z;if(g.renderPass==="translucent"){const Z=new ot(g.context.gl.LEQUAL,ot.ReadWrite,g.depthRangeFor3D);if(N!==1||A.paint.get("fill-extrusion-pattern").constantOr(1))vs(g,w,A,I,Z,pt.disabled,Ye.disabled,F),vs(g,w,A,I,Z,g.stencilModeFor3D(),g.colorModeForRenderPass(),F);else{const J=g.colorModeForRenderPass();vs(g,w,A,I,Z,pt.disabled,J,F)}}}(e,r,a,l,d):o.c9(a)?function(g,w,A,I,z){if(g.renderPass!=="offscreen"&&g.renderPass!=="translucent")return;const{isRenderingToTexture:N}=z,F=g.context,Z=g.style.projection.useSubdivision,J=g.getDepthModeForSublayer(0,ot.ReadOnly),oe=g.colorModeForRenderPass();if(g.renderPass==="offscreen")(function(ne,se,pe,_e,ye,be,Ce){const we=ne.context,Re=we.gl;for(const We of pe){const Fe=se.getTile(We),Ne=Fe.dem;if(!Ne||!Ne.data||!Fe.needsHillshadePrepare)continue;const je=Ne.dim,mt=Ne.stride,dt=Ne.getPixels();if(we.activeTexture.set(Re.TEXTURE1),we.pixelStoreUnpackPremultiplyAlpha.set(!1),Fe.demTexture=Fe.demTexture||ne.getTileTexture(mt),Fe.demTexture){const kt=Fe.demTexture;kt.update(dt,{premultiply:!1}),kt.bind(Re.NEAREST,Re.CLAMP_TO_EDGE)}else Fe.demTexture=new rt(we,dt,Re.RGBA,{premultiply:!1}),Fe.demTexture.bind(Re.NEAREST,Re.CLAMP_TO_EDGE);we.activeTexture.set(Re.TEXTURE0);let tt=Fe.fbo;if(!tt){const kt=new rt(we,{width:je,height:je,data:null},Re.RGBA);kt.bind(Re.LINEAR,Re.CLAMP_TO_EDGE),tt=Fe.fbo=we.createFramebuffer(je,je,!0,!1),tt.colorAttachment.set(kt.texture)}we.bindFramebuffer.set(tt.framebuffer),we.viewport.set([0,0,je,je]),ne.useProgram("hillshadePrepare").draw(we,Re.TRIANGLES,ye,be,Ce,ht.disabled,Ch(Fe.tileID,Ne),null,null,_e.id,ne.rasterBoundsBuffer,ne.quadTriangleIndexBuffer,ne.rasterBoundsSegments),Fe.needsHillshadePrepare=!1}})(g,w,I,A,J,pt.disabled,oe),F.viewport.set([0,0,g.width,g.height]);else if(g.renderPass==="translucent")if(Z){const[ne,se,pe]=g.stencilConfigForOverlapTwoPass(I);yl(g,w,A,pe,ne,J,oe,!1,N),yl(g,w,A,pe,se,J,oe,!0,N)}else{const[ne,se]=g.getStencilConfigForOverlapAndUpdateStencilID(I);yl(g,w,A,se,ne,J,oe,!1,N)}}(e,r,a,l,d):o.ca(a)?function(g,w,A,I,z){if(g.renderPass!=="translucent"||A.paint.get("raster-opacity")===0||!I.length)return;const{isRenderingToTexture:N}=z,F=w.getSource(),Z=g.style.projection.useSubdivision;if(F instanceof zt)ba(g,w,A,I,null,!1,!1,F.tileCoords,F.flippedWindingOrder,N);else if(Z){const[J,oe,ne]=g.stencilConfigForOverlapTwoPass(I);ba(g,w,A,ne,J,!1,!0,xs,!1,N),ba(g,w,A,ne,oe,!0,!0,xs,!1,N)}else{const[J,oe]=g.getStencilConfigForOverlapAndUpdateStencilID(I);ba(g,w,A,oe,J,!1,!0,xs,!1,N)}}(e,r,a,l,d):o.cb(a)?function(g,w,A,I,z){const N=A.paint.get("background-color"),F=A.paint.get("background-opacity");if(F===0)return;const{isRenderingToTexture:Z}=z,J=g.context,oe=J.gl,ne=g.style.projection,se=g.transform,pe=se.tileSize,_e=A.paint.get("background-pattern");if(g.isPatternMissing(_e))return;const ye=!_e&&N.a===1&&F===1&&g.opaquePassEnabledForLayer()?"opaque":"translucent";if(g.renderPass!==ye)return;const be=pt.disabled,Ce=g.getDepthModeForSublayer(0,ye==="opaque"?ot.ReadWrite:ot.ReadOnly),we=g.colorModeForRenderPass(),Re=g.useProgram(_e?"backgroundPattern":"background"),We=I||Ae(se,{tileSize:pe,terrain:g.style.map.terrain});_e&&(J.activeTexture.set(oe.TEXTURE0),g.imageManager.bind(g.context));const Fe=A.getCrossfadeParameters();for(const Ne of We){const je=se.getProjectionData({overscaledTileID:Ne,applyGlobeMatrix:!Z,applyTerrainMatrix:!0}),mt=_e?Eh(F,g,_e,{tileID:Ne,tileSize:pe},Fe):Th(F,N),dt=g.style.map.terrain&&g.style.map.terrain.getTerrainData(Ne),tt=ne.getMeshFromTileID(J,Ne.canonical,!1,!0,"raster");Re.draw(J,oe.TRIANGLES,Ce,be,we,ht.backCCW,mt,dt,je,A.id,tt.vertexBuffer,tt.indexBuffer,tt.segments)}}(e,0,a,l,d):o.cc(a)&&function(g,w,A,I){const{isRenderingGlobe:z}=I,N=g.context,F=A.implementation,Z=g.style.projection,J=g.transform,oe=J.getProjectionDataForCustomLayer(z),ne={farZ:J.farZ,nearZ:J.nearZ,fov:J.fov*Math.PI/180,modelViewProjectionMatrix:J.modelViewProjectionMatrix,projectionMatrix:J.projectionMatrix,shaderData:{variantName:Z.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793;
800
800
  uniform mat4 u_projection_matrix;
801
- ${Z.shaderPreludeCode.vertexSource}`,define:Z.shaderDefine},defaultProjectionData:oe},se=F.renderingMode?F.renderingMode:"2d";if(g.renderPass==="offscreen"){const pe=F.prerender;pe&&(g.setCustomLayerDefaults(),N.setColorMode(g.colorModeForRenderPass()),pe.call(F,N.gl,ne),N.setDirty(),g.setBaseState())}else if(g.renderPass==="translucent"){g.setCustomLayerDefaults(),N.setColorMode(g.colorModeForRenderPass()),N.setStencilMode(pt.disabled);const pe=se==="3d"?g.getDepthModeFor3D():g.getDepthModeForSublayer(0,ot.ReadOnly);N.setDepthMode(pe),F.render(N.gl,ne),N.setDirty(),g.setBaseState(),N.bindFramebuffer.set(null)}}(e,0,a,d))}saveTileTexture(e){const r=this._tileTextures[e.size[0]];r?r.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){const r=this._tileTextures[e];return r&&r.length>0?r.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;const r=this.imageManager.getPattern(e.from.toString()),a=this.imageManager.getPattern(e.to.toString());return!r||!a}useProgram(e,r,a=!1,l=[]){this.cache=this.cache||{};const d=!!this.style.map.terrain,g=this.style.projection,w=a?oi.projectionMercator:g.shaderPreludeCode,A=a?Ln:g.shaderDefine,I=e+(r?r.cacheKey:"")+`/${a?Nt:g.shaderVariantName}`+(this._showOverdrawInspector?"/overdraw":"")+(d?"/terrain":"")+(l?`/${l.join("/")}`:"");return this.cache[I]||(this.cache[I]=new ra(this.context,oi[e],r,Ic[e],this._showOverdrawInspector,d,w,A,l)),this.cache[I]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new rt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:e,drawingBufferHeight:r}=this.context.gl;return this.width!==e||this.height!==r}}function ws(h,e){let r,a=!1,l=null,d=null;const g=()=>{l=null,a&&(h.apply(d,r),l=setTimeout(g,e),a=!1)};return(...w)=>(a=!0,d=this,r=w,l||g(),l)}class xl{constructor(e){this._getCurrentHash=()=>{const r=window.location.hash.replace("#","");if(this._hashName){let a;return r.split("&").map(l=>l.split("=")).forEach(l=>{l[0]===this._hashName&&(a=l)}),(a&&a[1]||"").split("/")}return r.split("/")},this._onHashChange=()=>{const r=this._getCurrentHash();if(!this._isValidHash(r))return!1;const a=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(r[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+r[2],+r[1]],zoom:+r[0],bearing:a,pitch:+(r[4]||0)}),!0},this._updateHashUnthrottled=()=>{const r=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,r)},this._removeHash=()=>{const r=this._getCurrentHash();if(r.length===0)return;const a=r.join("/");let l=a;l.split("&").length>0&&(l=l.split("&")[0]),this._hashName&&(l=`${this._hashName}=${a}`);let d=window.location.hash.replace(l,"");d.startsWith("#&")?d=d.slice(0,1)+d.slice(2):d==="#"&&(d="");let g=window.location.href.replace(/(#.+)?$/,d);g=g.replace("&&","&"),window.history.replaceState(window.history.state,null,g)},this._updateHash=ws(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){const r=this._map.getCenter(),a=Math.round(100*this._map.getZoom())/100,l=Math.ceil((a*Math.LN2+Math.log(512/360/.5))/Math.LN10),d=Math.pow(10,l),g=Math.round(r.lng*d)/d,w=Math.round(r.lat*d)/d,A=this._map.getBearing(),I=this._map.getPitch();let z="";if(z+=e?`/${g}/${w}/${a}`:`${a}/${w}/${g}`,(A||I)&&(z+="/"+Math.round(10*A)/10),I&&(z+=`/${Math.round(I)}`),this._hashName){const N=this._hashName;let F=!1;const Z=window.location.hash.slice(1).split("&").map(J=>{const oe=J.split("=")[0];return oe===N?(F=!0,`${oe}=${z}`):J}).filter(J=>J);return F||Z.push(`${N}=${z}`),`#${Z.join("&")}`}return`#${z}`}_isValidHash(e){if(e.length<3||e.some(isNaN))return!1;try{new o.Q(+e[2],+e[1])}catch{return!1}const r=+e[0],a=+(e[3]||0),l=+(e[4]||0);return r>=this._map.getMinZoom()&&r<=this._map.getMaxZoom()&&a>=-180&&a<=180&&l>=this._map.getMinPitch()&&l<=this._map.getMaxPitch()}}const wn={linearity:.3,easing:o.cd(0,0,.3,1)},bl=o.e({deceleration:2500,maxSpeed:1400},wn),Ss=o.e({deceleration:20,maxSpeed:1400},wn),wl=o.e({deceleration:1e3,maxSpeed:360},wn),Hc=o.e({deceleration:1e3,maxSpeed:90},wn),Wc=o.e({deceleration:1e3,maxSpeed:360},wn);class Zc{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:L.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,r=L.now();for(;e.length>0&&r-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const r={zoom:0,bearing:0,pitch:0,roll:0,pan:new o.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:d}of this._inertiaBuffer)r.zoom+=d.zoomDelta||0,r.bearing+=d.bearingDelta||0,r.pitch+=d.pitchDelta||0,r.roll+=d.rollDelta||0,d.panDelta&&r.pan._add(d.panDelta),d.around&&(r.around=d.around),d.pinchAround&&(r.pinchAround=d.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,l={};if(r.pan.mag()){const d=Oo(r.pan.mag(),a,o.e({},bl,e||{})),g=r.pan.mult(d.amount/r.pan.mag()),w=this._map.cameraHelper.handlePanInertia(g,this._map.transform);l.center=w.easingCenter,l.offset=w.easingOffset,Vo(l,d)}if(r.zoom){const d=Oo(r.zoom,a,Ss);l.zoom=this._map.transform.zoom+d.amount,Vo(l,d)}if(r.bearing){const d=Oo(r.bearing,a,wl);l.bearing=this._map.transform.bearing+o.ae(d.amount,-179,179),Vo(l,d)}if(r.pitch){const d=Oo(r.pitch,a,Hc);l.pitch=this._map.transform.pitch+d.amount,Vo(l,d)}if(r.roll){const d=Oo(r.roll,a,Wc);l.roll=this._map.transform.roll+o.ae(d.amount,-179,179),Vo(l,d)}if(l.zoom||l.bearing){const d=r.pinchAround===void 0?r.around:r.pinchAround;l.around=d?this._map.unproject(d):this._map.getCenter()}return this.clear(),o.e(l,{noMoveStart:!0})}}function Vo(h,e){(!h.duration||h.duration<e.duration)&&(h.duration=e.duration,h.easing=e.easing)}function Oo(h,e,r){const{maxSpeed:a,linearity:l,deceleration:d}=r,g=o.ae(h*l/(e/1e3),-a,a),w=Math.abs(g)/(d*l);return{easing:r.easing,duration:1e3*w,amount:g*(w/2)}}class Xr extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a,l={}){a=a instanceof MouseEvent?a:new MouseEvent(e,a);const d=C.mousePos(r.getCanvas(),a),g=r.unproject(d);super(e,o.e({point:d,lngLat:g,originalEvent:a},l)),this._defaultPrevented=!1,this.target=r}}class Fo extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a){const l=e==="touchend"?a.changedTouches:a.touches,d=C.touchPos(r.getCanvasContainer(),l),g=d.map(A=>r.unproject(A)),w=d.reduce((A,I,z,N)=>A.add(I.div(N.length)),new o.P(0,0));super(e,{points:d,point:w,lngLats:g,lngLat:r.unproject(w),originalEvent:a}),this._defaultPrevented=!1}}class Sl extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a){super(e,{originalEvent:a}),this._defaultPrevented=!1}}class Kc{constructor(e,r){this._map=e,this._clickTolerance=r.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Sl(e.type,this._map,e))}mousedown(e,r){return this._mousedownPos=r,this._firePreventable(new Xr(e.type,this._map,e))}mouseup(e){this._map.fire(new Xr(e.type,this._map,e))}click(e,r){this._mousedownPos&&this._mousedownPos.dist(r)>=this._clickTolerance||this._map.fire(new Xr(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Xr(e.type,this._map,e))}mouseover(e){this._map.fire(new Xr(e.type,this._map,e))}mouseout(e){this._map.fire(new Xr(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Fo(e.type,this._map,e))}touchmove(e){this._map.fire(new Fo(e.type,this._map,e))}touchend(e){this._map.fire(new Fo(e.type,this._map,e))}touchcancel(e){this._map.fire(new Fo(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Gc{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Xr(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Xr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Xr(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class No{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(o.P.convert(e),this._map.terrain)}}class Al{constructor(e,r){this._map=e,this._tr=new No(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,r){this.isEnabled()&&e.shiftKey&&e.button===0&&(C.disableDrag(),this._startPos=this._lastPos=r,this._active=!0)}mousemoveWindow(e,r){if(!this._active)return;const a=r;if(this._lastPos.equals(a)||!this._box&&a.dist(this._startPos)<this._clickTolerance)return;const l=this._startPos;this._lastPos=a,this._box||(this._box=C.create("div","maplibregl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair"),this._fireEvent("boxzoomstart",e));const d=Math.min(l.x,a.x),g=Math.max(l.x,a.x),w=Math.min(l.y,a.y),A=Math.max(l.y,a.y);C.setTransform(this._box,`translate(${d}px,${w}px)`),this._box.style.width=g-d+"px",this._box.style.height=A-w+"px"}mouseupWindow(e,r){if(!this._active||e.button!==0)return;const a=this._startPos,l=r;if(this.reset(),C.suppressClick(),a.x!==l.x||a.y!==l.y)return this._map.fire(new o.l("boxzoomend",{originalEvent:e})),{cameraAnimation:d=>d.fitScreenCoordinates(a,l,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(C.remove(this._box),this._box=null),C.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new o.l(e,{originalEvent:r}))}}function ka(h,e){if(h.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${h.length}, points ${e.length}`);const r={};for(let a=0;a<h.length;a++)r[h[a].identifier]=e[a];return r}class Jc{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,r,a){(this.centroid||a.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),a.length===this.numTouches&&(this.centroid=function(l){const d=new o.P(0,0);for(const g of l)d._add(g);return d.div(l.length)}(r),this.touches=ka(a,r)))}touchmove(e,r,a){if(this.aborted||!this.centroid)return;const l=ka(a,r);for(const d in this.touches){const g=l[d];(!g||g.dist(this.touches[d])>30)&&(this.aborted=!0)}}touchend(e,r,a){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),a.length===0){const l=!this.aborted&&this.centroid;if(this.reset(),l)return l}}}class qo{constructor(e){this.singleTap=new Jc(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,r,a){this.singleTap.touchstart(e,r,a)}touchmove(e,r,a){this.singleTap.touchmove(e,r,a)}touchend(e,r,a){const l=this.singleTap.touchend(e,r,a);if(l){const d=e.timeStamp-this.lastTime<500,g=!this.lastTap||this.lastTap.dist(l)<30;if(d&&g||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=l,this.count===this.numTaps)return this.reset(),l}}}class Xc{constructor(e){this._tr=new No(e),this._zoomIn=new qo({numTouches:1,numTaps:2}),this._zoomOut=new qo({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,r,a){this._zoomIn.touchstart(e,r,a),this._zoomOut.touchstart(e,r,a)}touchmove(e,r,a){this._zoomIn.touchmove(e,r,a),this._zoomOut.touchmove(e,r,a)}touchend(e,r,a){const l=this._zoomIn.touchend(e,r,a),d=this._zoomOut.touchend(e,r,a),g=this._tr;return l?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:g.zoom+1,around:g.unproject(l)},{originalEvent:e})}):d?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:g.zoom-1,around:g.unproject(d)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ai{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){const r=this._moveFunction(...e);if(r.bearingDelta||r.pitchDelta||r.rollDelta||r.around||r.panDelta)return this._active=!0,r}dragStart(e,r){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(r)?r[0]:r,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,r){if(!this.isEnabled())return;const a=this._lastPoint;if(!a)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);const l=Array.isArray(r)?r[0]:r;return!this._moved&&l.dist(a)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=l,this._move(a,l))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&C.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}const ln={0:1,2:2};class Uo{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){const r=C.mouseButton(e);this._eventButton=r}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(r,a){const l=ln[a];return r.buttons===void 0||(r.buttons&l)!==l}(e,this._eventButton)}isValidEndEvent(e){return C.mouseButton(e)===this._eventButton}}class cn{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}class jo{constructor(e=new Uo({checkCorrectEvent:()=>!0}),r=new cn){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=r}_executeRelevantHandler(e,r,a){return e instanceof MouseEvent?r(e):typeof TouchEvent<"u"&&e instanceof TouchEvent?a(e):void 0}startMove(e){this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.startMove(r),r=>this.oneFingerTouchMoveStateManager.startMove(r))}endMove(e){this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.endMove(r),r=>this.oneFingerTouchMoveStateManager.endMove(r))}isValidStartEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidStartEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidStartEvent(r))}isValidMoveEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidMoveEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(r))}isValidEndEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidEndEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidEndEvent(r))}}const Ca=h=>{h.mousedown=h.dragStart,h.mousemoveWindow=h.dragMove,h.mouseup=h.dragEnd,h.contextmenu=e=>{e.preventDefault()}};class Vh{constructor(e,r){this._clickTolerance=e.clickTolerance||1,this._map=r,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new o.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,r,a){return this._calculateTransform(e,r,a)}touchmove(e,r,a){if(this._active){if(!this._shouldBePrevented(a.length))return e.preventDefault(),this._calculateTransform(e,r,a);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,r,a){this._calculateTransform(e,r,a),this._active&&this._shouldBePrevented(a.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,a){a.length>0&&(this._active=!0);const l=ka(a,r),d=new o.P(0,0),g=new o.P(0,0);let w=0;for(const I in l){const z=l[I],N=this._touches[I];N&&(d._add(z),g._add(z.sub(N)),w++,l[I]=z)}if(this._touches=l,this._shouldBePrevented(w)||!g.mag())return;const A=g.div(w);return this._sum._add(A),this._sum.mag()<this._clickTolerance?void 0:{around:d.div(w),panDelta:A}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class kl{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,r,a){this._firstTwoTouches||a.length<2||(this._firstTwoTouches=[a[0].identifier,a[1].identifier],this._start([r[0],r[1]]))}touchmove(e,r,a){if(!this._firstTwoTouches)return;e.preventDefault();const[l,d]=this._firstTwoTouches,g=Ta(a,r,l),w=Ta(a,r,d);if(!g||!w)return;const A=this._aroundCenter?null:g.add(w).div(2);return this._move([g,w],A,e)}touchend(e,r,a){if(!this._firstTwoTouches)return;const[l,d]=this._firstTwoTouches,g=Ta(a,r,l),w=Ta(a,r,d);g&&w||(this._active&&C.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around==="center"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function Ta(h,e,r){for(let a=0;a<h.length;a++)if(h[a].identifier===r)return e[a]}function Cl(h,e){return Math.log(h/e)/Math.LN2}class Ho extends kl{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,r){const a=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(Cl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Cl(this._distance,a),pinchAround:r}}}function Sn(h,e){return 180*h.angleWith(e)/Math.PI}class bt extends kl{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,r,a){const l=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Sn(this._vector,l),pinchAround:r}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());const r=25/(Math.PI*this._minDiameter)*360,a=Sn(e,this._startVector);return Math.abs(a)<r}}function Ea(h){return Math.abs(h.y)>Math.abs(h.x)}class Pa extends kl{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,r,a){super.touchstart(e,r,a),this._currentTouchCount=a.length}_start(e){this._lastPoints=e,Ea(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,r,a){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const l=e[0].sub(this._lastPoints[0]),d=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(l,d,a.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(l.y+d.y)/2*-.5}):void 0}gestureBeginsVertically(e,r,a){if(this._valid!==void 0)return this._valid;const l=e.mag()>=2,d=r.mag()>=2;if(!l&&!d)return;if(!l||!d)return this._firstMove===void 0&&(this._firstMove=a),a-this._firstMove<100&&void 0;const g=e.y>0==r.y>0;return Ea(e)&&Ea(r)&&g}}const Qc={panStep:100,bearingStep:15,pitchStep:10};class Wo{constructor(e){this._tr=new No(e);const r=Qc;this._panStep=r.panStep,this._bearingStep=r.bearingStep,this._pitchStep=r.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let r=0,a=0,l=0,d=0,g=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?a=-1:(e.preventDefault(),d=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),d=1);break;case 38:e.shiftKey?l=1:(e.preventDefault(),g=-1);break;case 40:e.shiftKey?l=-1:(e.preventDefault(),g=1);break;default:return}return this._rotationDisabled&&(a=0,l=0),{cameraAnimation:w=>{const A=this._tr;w.easeTo({duration:300,easeId:"keyboardHandler",easing:As,zoom:r?Math.round(A.zoom)+r*(e.shiftKey?2:1):A.zoom,bearing:A.bearing+a*this._bearingStep,pitch:A.pitch+l*this._pitchStep,offset:[-d*this._panStep,-g*this._panStep],center:A.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function As(h){return h*(2-h)}const Tl=4.000244140625;class er{constructor(e,r){this._onTimeout=a=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(a)},this._map=e,this._tr=new No(e),this._triggerRenderFrame=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let r=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const a=L.now(),l=a-(this._lastWheelEventTime||0);this._lastWheelEventTime=a,r!==0&&r%Tl==0?this._type="wheel":r!==0&&Math.abs(r)<4?this._type="trackpad":l>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(l*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=C.mousePos(this._map.getCanvas(),e),a=this._tr;this._aroundPoint=this._aroundCenter?a.transform.locationToScreenPoint(o.Q.convert(a.center)):r,this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const e=this._tr.transform;if(typeof this._lastExpectedZoom=="number"){const w=e.zoom-this._lastExpectedZoom;typeof this._startZoom=="number"&&(this._startZoom+=w),typeof this._targetZoom=="number"&&(this._targetZoom+=w)}if(this._delta!==0){const w=this._type==="wheel"&&Math.abs(this._delta)>Tl?this._wheelZoomRate:this._defaultZoomRate;let A=2/(1+Math.exp(-Math.abs(this._delta*w)));this._delta<0&&A!==0&&(A=1/A);const I=typeof this._targetZoom!="number"?e.scale:o.ac(this._targetZoom);this._targetZoom=e.getConstrained(e.getCameraLngLat(),o.ah(I*A)).zoom,this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const r=typeof this._targetZoom!="number"?e.zoom:this._targetZoom,a=this._startZoom,l=this._easing;let d,g=!1;if(this._type==="wheel"&&a&&l){const w=L.now()-this._lastWheelEventTime,A=Math.min((w+5)/200,1),I=l(A);d=o.B.number(a,r,I),A<1?this._frameId||(this._frameId=!0):g=!0}else d=r,g=!0;return this._active=!0,g&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=d,{noInertia:!0,needsRenderFrame:!g,zoomDelta:d-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=o.cf;if(this._prevEase){const a=this._prevEase,l=(L.now()-a.start)/a.duration,d=a.easing(l+.01)-a.easing(l),g=.27/Math.sqrt(d*d+1e-4)*.01,w=Math.sqrt(.0729-g*g);r=o.cd(g,w,.25,1)}return this._prevEase={start:L.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Ia{constructor(e,r){this._clickZoom=e,this._tapZoom=r}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Oh{constructor(e){this._tr=new No(e),this.reset()}reset(){this._active=!1}dblclick(e,r){return e.preventDefault(),{cameraAnimation:a=>{a.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(r)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class El{constructor(){this._tap=new qo({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,r,a){if(!this._swipePoint)if(this._tapTime){const l=r[0],d=e.timeStamp-this._tapTime<500,g=this._tapPoint.dist(l)<30;d&&g?a.length>0&&(this._swipePoint=l,this._swipeTouch=a[0].identifier):this.reset()}else this._tap.touchstart(e,r,a)}touchmove(e,r,a){if(this._tapTime){if(this._swipePoint){if(a[0].identifier!==this._swipeTouch)return;const l=r[0],d=l.y-this._swipePoint.y;return this._swipePoint=l,e.preventDefault(),this._active=!0,{zoomDelta:d/128}}}else this._tap.touchmove(e,r,a)}touchend(e,r,a){if(this._tapTime)this._swipePoint&&a.length===0&&this.reset();else{const l=this._tap.touchend(e,r,a);l&&(this._tapTime=e.timeStamp,this._tapPoint=l)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Yc{constructor(e,r,a){this._el=e,this._mousePan=r,this._touchPan=a}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class $c{constructor(e,r,a,l){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=r,this._mousePitch=a,this._mouseRoll=l}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class Pl{constructor(e,r,a,l){this._el=e,this._touchZoom=r,this._touchRotate=a,this._tapDragZoom=l,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ma{constructor(e,r){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=e,this._options=r,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=C.create("div","maplibregl-cooperative-gesture-screen",e);let r=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(r=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const a=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),l=document.createElement("div");l.className="maplibregl-desktop-message",l.textContent=r,this._container.appendChild(l);const d=document.createElement("div");d.className="maplibregl-mobile-message",d.textContent=a,this._container.appendChild(d),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(C.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new o.l("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const ks=h=>h.zoom||h.drag||h.roll||h.pitch||h.rotate;class Fh extends o.l{}function La(h){return h.panDelta&&h.panDelta.mag()||h.zoomDelta||h.bearingDelta||h.pitchDelta||h.rollDelta}class Nh{constructor(e,r){this.handleWindowEvent=l=>{this.handleEvent(l,`${l.type}Window`)},this.handleEvent=(l,d)=>{if(l.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const g=l.type==="renderFrame"?void 0:l,w={needsRenderFrame:!1},A={},I={};for(const{handlerName:F,handler:Z,allowed:J}of this._handlers){if(!Z.isEnabled())continue;let oe;if(this._blockedByActive(I,J,F))Z.reset();else if(Z[d||l.type]){if(o.cg(l,d||l.type)){const ne=C.mousePos(this._map.getCanvas(),l);oe=Z[d||l.type](l,ne)}else if(o.ch(l,d||l.type)){const ne=this._getMapTouches(l.touches),se=C.touchPos(this._map.getCanvas(),ne);oe=Z[d||l.type](l,se,ne)}else o.ci(d||l.type)||(oe=Z[d||l.type](l));this.mergeHandlerResult(w,A,oe,F,g),oe&&oe.needsRenderFrame&&this._triggerRenderFrame()}(oe||Z.isActive())&&(I[F]=Z)}const z={};for(const F in this._previousActiveHandlers)I[F]||(z[F]=g);this._previousActiveHandlers=I,(Object.keys(z).length||La(w))&&(this._changes.push([w,A,z]),this._triggerRenderFrame()),(Object.keys(I).length||La(w))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:N}=w;N&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],N(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Zc(e),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r);const a=this._el;this._listeners=[[a,"touchstart",{passive:!0}],[a,"touchmove",{passive:!1}],[a,"touchend",void 0],[a,"touchcancel",void 0],[a,"mousedown",void 0],[a,"mousemove",void 0],[a,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[a,"mouseover",void 0],[a,"mouseout",void 0],[a,"dblclick",void 0],[a,"click",void 0],[a,"keydown",{capture:!1}],[a,"keyup",void 0],[a,"wheel",{passive:!1}],[a,"contextmenu",void 0],[window,"blur",void 0]];for(const[l,d,g]of this._listeners)C.addEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,g)}destroy(){for(const[e,r,a]of this._listeners)C.removeEventListener(e,r,e===document?this.handleWindowEvent:this.handleEvent,a)}_addDefaultHandlers(e){const r=this._map,a=r.getCanvasContainer();this._add("mapEvent",new Kc(r,e));const l=r.boxZoom=new Al(r,e);this._add("boxZoom",l),e.interactive&&e.boxZoom&&l.enable();const d=r.cooperativeGestures=new Ma(r,e.cooperativeGestures);this._add("cooperativeGestures",d),e.cooperativeGestures&&d.enable();const g=new Xc(r),w=new Oh(r);r.doubleClickZoom=new Ia(w,g),this._add("tapZoom",g),this._add("clickZoom",w),e.interactive&&e.doubleClickZoom&&r.doubleClickZoom.enable();const A=new El;this._add("tapDragZoom",A);const I=r.touchPitch=new Pa(r);this._add("touchPitch",I),e.interactive&&e.touchPitch&&r.touchPitch.enable(e.touchPitch);const z=()=>r.project(r.getCenter()),N=function({enable:ye,clickTolerance:be,aroundCenter:Ce=!0,minPixelCenterThreshold:we=100,rotateDegreesPerPixelMoved:Re=.8},We){const Fe=new Uo({checkCorrectEvent:Ne=>C.mouseButton(Ne)===0&&Ne.ctrlKey||C.mouseButton(Ne)===2&&!Ne.ctrlKey});return new Ai({clickTolerance:be,move:(Ne,je)=>{const mt=We();if(Ce&&Math.abs(mt.y-Ne.y)>we)return{bearingDelta:o.ce(new o.P(Ne.x,je.y),je,mt)};let dt=(je.x-Ne.x)*Re;return Ce&&je.y<mt.y&&(dt=-dt),{bearingDelta:dt}},moveStateManager:Fe,enable:ye,assignEvents:Ca})}(e,z),F=function({enable:ye,clickTolerance:be,pitchDegreesPerPixelMoved:Ce=-.5}){const we=new Uo({checkCorrectEvent:Re=>C.mouseButton(Re)===0&&Re.ctrlKey||C.mouseButton(Re)===2});return new Ai({clickTolerance:be,move:(Re,We)=>({pitchDelta:(We.y-Re.y)*Ce}),moveStateManager:we,enable:ye,assignEvents:Ca})}(e),Z=function({enable:ye,clickTolerance:be,rollDegreesPerPixelMoved:Ce=.3},we){const Re=new Uo({checkCorrectEvent:We=>C.mouseButton(We)===2&&We.ctrlKey});return new Ai({clickTolerance:be,move:(We,Fe)=>{const Ne=we();let je=(Fe.x-We.x)*Ce;return Fe.y<Ne.y&&(je=-je),{rollDelta:je}},moveStateManager:Re,enable:ye,assignEvents:Ca})}(e,z);r.dragRotate=new $c(e,N,F,Z),this._add("mouseRotate",N,["mousePitch"]),this._add("mousePitch",F,["mouseRotate","mouseRoll"]),this._add("mouseRoll",Z,["mousePitch"]),e.interactive&&e.dragRotate&&r.dragRotate.enable();const J=function({enable:ye,clickTolerance:be}){const Ce=new Uo({checkCorrectEvent:we=>C.mouseButton(we)===0&&!we.ctrlKey});return new Ai({clickTolerance:be,move:(we,Re)=>({around:Re,panDelta:Re.sub(we)}),activateOnStart:!0,moveStateManager:Ce,enable:ye,assignEvents:Ca})}(e),oe=new Vh(e,r);r.dragPan=new Yc(a,J,oe),this._add("mousePan",J),this._add("touchPan",oe,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&r.dragPan.enable(e.dragPan);const ne=new bt,se=new Ho;r.touchZoomRotate=new Pl(a,se,ne,A),this._add("touchRotate",ne,["touchPan","touchZoom"]),this._add("touchZoom",se,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&r.touchZoomRotate.enable(e.touchZoomRotate);const pe=r.scrollZoom=new er(r,()=>this._triggerRenderFrame());this._add("scrollZoom",pe,["mousePan"]),e.interactive&&e.scrollZoom&&r.scrollZoom.enable(e.scrollZoom);const _e=r.keyboard=new Wo(r);this._add("keyboard",_e),e.interactive&&e.keyboard&&r.keyboard.enable(),this._add("blockableMapEvent",new Gc(r))}_add(e,r,a){this._handlers.push({handlerName:e,handler:r,allowed:a}),this._handlersById[e]=r}stop(e){if(!this._updatingCamera){for(const{handler:r}of this._handlers)r.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!ks(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,r,a){for(const l in e)if(l!==a&&(!r||r.indexOf(l)<0))return!0;return!1}_getMapTouches(e){const r=[];for(const a of e)this._el.contains(a.target)&&r.push(a);return r}mergeHandlerResult(e,r,a,l,d){if(!a)return;o.e(e,a);const g={handlerName:l,originalEvent:a.originalEvent||d};a.zoomDelta!==void 0&&(r.zoom=g),a.panDelta!==void 0&&(r.drag=g),a.rollDelta!==void 0&&(r.roll=g),a.pitchDelta!==void 0&&(r.pitch=g),a.bearingDelta!==void 0&&(r.rotate=g)}_applyChanges(){const e={},r={},a={};for(const[l,d,g]of this._changes)l.panDelta&&(e.panDelta=(e.panDelta||new o.P(0,0))._add(l.panDelta)),l.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+l.zoomDelta),l.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+l.bearingDelta),l.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+l.pitchDelta),l.rollDelta&&(e.rollDelta=(e.rollDelta||0)+l.rollDelta),l.around!==void 0&&(e.around=l.around),l.pinchAround!==void 0&&(e.pinchAround=l.pinchAround),l.noInertia&&(e.noInertia=l.noInertia),o.e(r,d),o.e(a,g);this._updateMapTransform(e,r,a),this._changes=[]}_updateMapTransform(e,r,a){const l=this._map,d=l._getTransformForUpdate(),g=l.terrain;if(!(La(e)||g&&this._terrainMovement))return this._fireEvents(r,a,!0);l._stop(!0);let{panDelta:w,zoomDelta:A,bearingDelta:I,pitchDelta:z,rollDelta:N,around:F,pinchAround:Z}=e;Z!==void 0&&(F=Z),F=F||l.transform.centerPoint,g&&!d.isPointOnMapSurface(F)&&(F=d.centerPoint);const J={panDelta:w,zoomDelta:A,rollDelta:N,pitchDelta:z,bearingDelta:I,around:F};this._map.cameraHelper.useGlobeControls&&!d.isPointOnMapSurface(F)&&(F=d.centerPoint);const oe=F.distSqr(d.centerPoint)<.01?d.center:d.screenPointToLocation(w?F.sub(w):F);g?(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(J,d),this._terrainMovement||!r.drag&&!r.zoom?r.drag&&this._terrainMovement?d.setCenter(d.screenPointToLocation(d.centerPoint.sub(w))):this._map.cameraHelper.handleMapControlsPan(J,d,oe):(this._terrainMovement=!0,this._map._elevationFreeze=!0,this._map.cameraHelper.handleMapControlsPan(J,d,oe))):(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(J,d),this._map.cameraHelper.handleMapControlsPan(J,d,oe)),l._applyUpdatedTransform(d),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(r,a,!0)}_fireEvents(e,r,a){const l=ks(this._eventsInProgress),d=ks(e),g={};for(const N in e){const{originalEvent:F}=e[N];this._eventsInProgress[N]||(g[`${N}start`]=F),this._eventsInProgress[N]=e[N]}!l&&d&&this._fireEvent("movestart",d.originalEvent);for(const N in g)this._fireEvent(N,g[N]);d&&this._fireEvent("move",d.originalEvent);for(const N in e){const{originalEvent:F}=e[N];this._fireEvent(N,F)}const w={};let A;for(const N in this._eventsInProgress){const{handlerName:F,originalEvent:Z}=this._eventsInProgress[N];this._handlersById[F].isActive()||(delete this._eventsInProgress[N],A=r[F]||Z,w[`${N}end`]=A)}for(const N in w)this._fireEvent(N,w[N]);const I=ks(this._eventsInProgress),z=(l||d)&&!I;if(z&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const N=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&N.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(N)}if(a&&z){this._updatingCamera=!0;const N=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),F=Z=>Z!==0&&-this._bearingSnap<Z&&Z<this._bearingSnap;!N||!N.essential&&L.prefersReducedMotion?(this._map.fire(new o.l("moveend",{originalEvent:A})),F(this._map.getBearing())&&this._map.resetNorth()):(F(N.bearing||this._map.getBearing())&&(N.bearing=0),N.freezeElevation=!0,this._map.easeTo(N,{originalEvent:A})),this._updatingCamera=!1}}_fireEvent(e,r){this._map.fire(new o.l(e,r?{originalEvent:r}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(e=>{delete this._frameId,this.handleEvent(new Fh("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class qh extends o.E{constructor(e,r,a){super(),this._renderFrameCallback=()=>{const l=Math.min((L.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(l)),l<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=a.bearingSnap,this.cameraHelper=r,this.on("moveend",()=>{delete this._requestedCameraState})}migrateProjection(e,r){e.apply(this.transform),this.transform=e,this.cameraHelper=r}getCenter(){return new o.Q(this.transform.center.lng,this.transform.center.lat)}setCenter(e,r){return this.jumpTo({center:e},r)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,r){return this.jumpTo({elevation:e},r),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,r,a){return e=o.P.convert(e).mult(-1),this.panTo(this.transform.center,o.e({offset:e},r),a)}panTo(e,r,a){return this.easeTo(o.e({center:e},r),a)}getZoom(){return this.transform.zoom}setZoom(e,r){return this.jumpTo({zoom:e},r),this}zoomTo(e,r,a){return this.easeTo(o.e({zoom:e},r),a)}zoomIn(e,r){return this.zoomTo(this.getZoom()+1,e,r),this}zoomOut(e,r){return this.zoomTo(this.getZoom()-1,e,r),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,r){return e!=this.transform.fov&&(this.transform.setFov(e),this.fire(new o.l("movestart",r)).fire(new o.l("move",r)).fire(new o.l("moveend",r))),this}getBearing(){return this.transform.bearing}setBearing(e,r){return this.jumpTo({bearing:e},r),this}getPadding(){return this.transform.padding}setPadding(e,r){return this.jumpTo({padding:e},r),this}rotateTo(e,r,a){return this.easeTo(o.e({bearing:e},r),a)}resetNorth(e,r){return this.rotateTo(0,o.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(o.e({bearing:0,pitch:0,roll:0,duration:1e3},e),r),this}snapToNorth(e,r){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,r):this}getPitch(){return this.transform.pitch}setPitch(e,r){return this.jumpTo({pitch:e},r),this}getRoll(){return this.transform.roll}setRoll(e,r){return this.jumpTo({roll:e},r),this}cameraForBounds(e,r){e=it.convert(e).adjustAntiMeridian();const a=r&&r.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),a,r)}_cameraForBoxAndBearing(e,r,a,l){const d={top:0,bottom:0,right:0,left:0};if(typeof(l=o.e({padding:d,offset:[0,0],maxZoom:this.transform.maxZoom},l)).padding=="number"){const I=l.padding;l.padding={top:I,bottom:I,right:I,left:I}}const g=o.e(d,l.padding);l.padding=g;const w=this.transform,A=new it(e,r);return this.cameraHelper.cameraForBoxAndBearing(l,g,A,a,w)}fitBounds(e,r,a){return this._fitInternal(this.cameraForBounds(e,r),r,a)}fitScreenCoordinates(e,r,a,l,d){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(o.P.convert(e)),this.transform.screenPointToLocation(o.P.convert(r)),a,l),l,d)}_fitInternal(e,r,a){return e?(delete(r=o.e(e,r)).padding,r.linear?this.easeTo(r,a):this.flyTo(r,a)):this}jumpTo(e,r){this.stop();const a=this._getTransformForUpdate();let l=!1,d=!1,g=!1;const w=a.zoom;this.cameraHelper.handleJumpToCenterZoom(a,e);const A=a.zoom!==w;return"elevation"in e&&a.elevation!==+e.elevation&&a.setElevation(+e.elevation),"bearing"in e&&a.bearing!==+e.bearing&&(l=!0,a.setBearing(+e.bearing)),"pitch"in e&&a.pitch!==+e.pitch&&(d=!0,a.setPitch(+e.pitch)),"roll"in e&&a.roll!==+e.roll&&(g=!0,a.setRoll(+e.roll)),e.padding==null||a.isPaddingEqual(e.padding)||a.setPadding(e.padding),this._applyUpdatedTransform(a),this.fire(new o.l("movestart",r)).fire(new o.l("move",r)),A&&this.fire(new o.l("zoomstart",r)).fire(new o.l("zoom",r)).fire(new o.l("zoomend",r)),l&&this.fire(new o.l("rotatestart",r)).fire(new o.l("rotate",r)).fire(new o.l("rotateend",r)),d&&this.fire(new o.l("pitchstart",r)).fire(new o.l("pitch",r)).fire(new o.l("pitchend",r)),g&&this.fire(new o.l("rollstart",r)).fire(new o.l("roll",r)).fire(new o.l("rollend",r)),this.fire(new o.l("moveend",r))}calculateCameraOptionsFromTo(e,r,a,l=0){const d=o.$.fromLngLat(e,r),g=o.$.fromLngLat(a,l),w=g.x-d.x,A=g.y-d.y,I=g.z-d.z,z=Math.hypot(w,A,I);if(z===0)throw new Error("Can't calculate camera options with same From and To");const N=Math.hypot(w,A),F=o.ah(this.transform.cameraToCenterDistance/z/this.transform.tileSize),Z=180*Math.atan2(w,-A)/Math.PI;let J=180*Math.acos(N/z)/Math.PI;return J=I<0?90-J:90+J,{center:g.toLngLat(),elevation:l,zoom:F,pitch:J,bearing:Z}}calculateCameraOptionsFromCameraLngLatAltRotation(e,r,a,l,d){const g=this.transform.calculateCenterFromCameraLngLatAlt(e,r,a,l);return{center:g.center,elevation:g.elevation,zoom:g.zoom,bearing:a,pitch:l,roll:d}}easeTo(e,r){this._stop(!1,e.easeId),((e=o.e({offset:[0,0],duration:500,easing:o.cf},e)).animate===!1||!e.essential&&L.prefersReducedMotion)&&(e.duration=0);const a=this._getTransformForUpdate(),l=this.getBearing(),d=a.pitch,g=a.roll,w="bearing"in e?this._normalizeBearing(e.bearing,l):l,A="pitch"in e?+e.pitch:d,I="roll"in e?this._normalizeBearing(e.roll,g):g,z="padding"in e?e.padding:a.padding,N=o.P.convert(e.offset);let F,Z;e.around&&(F=o.Q.convert(e.around),Z=a.locationToScreenPoint(F));const J={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},oe=this.cameraHelper.handleEaseTo(a,{bearing:w,pitch:A,roll:I,padding:z,around:F,aroundPoint:Z,offsetAsPoint:N,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating=this._rotating||l!==w,this._pitching=this._pitching||A!==d,this._rolling=this._rolling||I!==g,this._padding=!a.isPaddingEqual(z),this._zooming=this._zooming||oe.isZooming,this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,J),this.terrain&&this._prepareElevation(oe.elevationCenter),this._ease(ne=>{oe.easeFunc(ne),this.terrain&&!e.freezeElevation&&this._updateElevation(ne),this._applyUpdatedTransform(a),this._fireMoveEvents(r)},ne=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,ne)},e),this}_prepareEase(e,r,a={}){this._moving=!0,r||a.moving||this.fire(new o.l("movestart",e)),this._zooming&&!a.zooming&&this.fire(new o.l("zoomstart",e)),this._rotating&&!a.rotating&&this.fire(new o.l("rotatestart",e)),this._pitching&&!a.pitching&&this.fire(new o.l("pitchstart",e)),this._rolling&&!a.rolling&&this.fire(new o.l("rollstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));const r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){const a=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(a-(r-(a*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.setElevation(o.B.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};const r=e.getCameraLngLat(),a=e.getCameraAltitude(),l=this.terrain?this.terrain.getElevationForLngLatZoom(r,e.zoom):0;if(a<l){const d=this.calculateCameraOptionsFromTo(r,l,e.center,e.elevation);return{pitch:d.pitch,zoom:d.zoom}}return{}}_applyUpdatedTransform(e){const r=[];if(r.push(l=>this._elevateCameraIfInsideTerrain(l)),this.transformCameraUpdate&&r.push(l=>this.transformCameraUpdate(l)),!r.length)return;const a=e.clone();for(const l of r){const d=a.clone(),{center:g,zoom:w,roll:A,pitch:I,bearing:z,elevation:N}=l(d);g&&d.setCenter(g),N!==void 0&&d.setElevation(N),w!==void 0&&d.setZoom(w),A!==void 0&&d.setRoll(A),I!==void 0&&d.setPitch(I),z!==void 0&&d.setBearing(z),a.apply(d)}this.transform.apply(a)}_fireMoveEvents(e){this.fire(new o.l("move",e)),this._zooming&&this.fire(new o.l("zoom",e)),this._rotating&&this.fire(new o.l("rotate",e)),this._pitching&&this.fire(new o.l("pitch",e)),this._rolling&&this.fire(new o.l("roll",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;const a=this._zooming,l=this._rotating,d=this._pitching,g=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,a&&this.fire(new o.l("zoomend",e)),l&&this.fire(new o.l("rotateend",e)),d&&this.fire(new o.l("pitchend",e)),g&&this.fire(new o.l("rollend",e)),this.fire(new o.l("moveend",e))}flyTo(e,r){if(!e.essential&&L.prefersReducedMotion){const je=o.O(e,["center","zoom","bearing","pitch","roll","elevation"]);return this.jumpTo(je,r)}this.stop(),e=o.e({offset:[0,0],speed:1.2,curve:1.42,easing:o.cf},e);const a=this._getTransformForUpdate(),l=a.bearing,d=a.pitch,g=a.roll,w=a.padding,A="bearing"in e?this._normalizeBearing(e.bearing,l):l,I="pitch"in e?+e.pitch:d,z="roll"in e?this._normalizeBearing(e.roll,g):g,N="padding"in e?e.padding:a.padding,F=o.P.convert(e.offset);let Z=a.centerPoint.add(F);const J=a.screenPointToLocation(Z),oe=this.cameraHelper.handleFlyTo(a,{bearing:A,pitch:I,roll:z,padding:N,locationAtOffset:J,offsetAsPoint:F,center:e.center,minZoom:e.minZoom,zoom:e.zoom});let ne=e.curve;const se=Math.max(a.width,a.height),pe=se/oe.scaleOfZoom,_e=oe.pixelPathLength;typeof oe.scaleOfMinZoom=="number"&&(ne=Math.sqrt(se/oe.scaleOfMinZoom/_e*2));const ye=ne*ne;function be(je){const mt=(pe*pe-se*se+(je?-1:1)*ye*ye*_e*_e)/(2*(je?pe:se)*ye*_e);return Math.log(Math.sqrt(mt*mt+1)-mt)}function Ce(je){return(Math.exp(je)-Math.exp(-je))/2}function we(je){return(Math.exp(je)+Math.exp(-je))/2}const Re=be(!1);let We=function(je){return we(Re)/we(Re+ne*je)},Fe=function(je){return se*((we(Re)*(Ce(mt=Re+ne*je)/we(mt))-Ce(Re))/ye)/_e;var mt},Ne=(be(!0)-Re)/ne;if(Math.abs(_e)<2e-6||!isFinite(Ne)){if(Math.abs(se-pe)<1e-6)return this.easeTo(e,r);const je=pe<se?-1:1;Ne=Math.abs(Math.log(pe/se))/ne,Fe=()=>0,We=mt=>Math.exp(je*ne*mt)}return e.duration="duration"in e?+e.duration:1e3*Ne/("screenSpeed"in e?+e.screenSpeed/ne:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=l!==A,this._pitching=I!==d,this._rolling=z!==g,this._padding=!a.isPaddingEqual(N),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(oe.targetCenter),this._ease(je=>{const mt=je*Ne,dt=1/We(mt),tt=Fe(mt);this._rotating&&a.setBearing(o.B.number(l,A,je)),this._pitching&&a.setPitch(o.B.number(d,I,je)),this._rolling&&a.setRoll(o.B.number(g,z,je)),this._padding&&(a.interpolatePadding(w,N,je),Z=a.centerPoint.add(F)),oe.easeFunc(je,dt,tt,Z),this.terrain&&!e.freezeElevation&&this._updateElevation(je),this._applyUpdatedTransform(a),this._fireMoveEvents(r)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,r){var a;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const l=this._onEaseEnd;delete this._onEaseEnd,l.call(this,r)}return e||(a=this.handlers)===null||a===void 0||a.stop(!1),this}_ease(e,r,a){a.animate===!1||a.duration===0?(e(1),r()):(this._easeStart=L.now(),this._easeOptions=a,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){e=o.aL(e,-180,180);const a=Math.abs(e-r);return Math.abs(e-360-r)<a&&(e-=360),Math.abs(e+360-r)<a&&(e+=360),e}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(o.Q.convert(e),this.transform.tileZoom):null}}const Bn={compact:!0,customAttribution:'<a href="https://maplibre.org/" target="_blank">MapLibre</a>'};class kr{constructor(e=Bn){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=r=>{!r||r.sourceDataType!=="metadata"&&r.sourceDataType!=="visibility"&&r.dataType!=="style"&&r.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=C.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=C.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=C.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){C.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,r){const a=this._map._getUIString(`AttributionControl.${r}`);e.title=a,e.setAttribute("aria-label",a)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(l=>typeof l!="string"?"":l)):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){const l=this._map.style.stylesheet;this.styleOwner=l.owner,this.styleId=l.id}const r=this._map.style.sourceCaches;for(const l in r){const d=r[l];if(d.used||d.usedForTerrain){const g=d.getSource();g.attribution&&e.indexOf(g.attribution)<0&&e.push(g.attribution)}}e=e.filter(l=>String(l).trim()),e.sort((l,d)=>l.length-d.length),e=e.filter((l,d)=>{for(let g=d+1;g<e.length;g++)if(e[g].indexOf(l)>=0)return!1;return!0});const a=e.join(" | ");a!==this._attribHTML&&(this._attribHTML=a,e.length?(this._innerContainer.innerHTML=C.sanitize(a),this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Cs{constructor(e={}){this._updateCompact=()=>{const r=this._container.children;if(r.length){const a=r[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&a.classList.add("maplibregl-compact"):a.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=C.create("div","maplibregl-ctrl");const r=C.create("a","maplibregl-ctrl-logo");return r.target="_blank",r.rel="noopener nofollow",r.href="https://maplibre.org/",r.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),r.setAttribute("rel","noopener nofollow"),this._container.appendChild(r),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){C.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Il{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const r=++this._id;return this._queue.push({callback:e,id:r,cancelled:!1}),r}remove(e){const r=this._currentlyRunning,a=r?this._queue.concat(r):this._queue;for(const l of a)if(l.id===e)return void(l.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const r=this._currentlyRunning=this._queue;this._queue=[];for(const a of r)if(!a.cancelled&&(a.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var eu=o.aG([{name:"a_pos3d",type:"Int16",components:3}]);class tu extends o.E{constructor(e){super(),this._lastTilesetChange=L.now(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];const a={};for(const l of Ae(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r,calculateTileZoom:this.sourceCache._source.calculateTileZoom}))a[l.key]=!0,this._renderableTilesKeys.push(l.key),this._tiles[l.key]||(l.terrainRttPosMatrix32f=new Float64Array(16),o.bQ(l.terrainRttPosMatrix32f,0,o.Z,o.Z,0,0,1),this._tiles[l.key]=new gi(l,this.tileSize),this._lastTilesetChange=L.now());for(const l in this._tiles)a[l]||delete this._tiles[l]}freeRtt(e){for(const r in this._tiles){const a=this._tiles[r];(!e||a.tileID.equals(e)||a.tileID.isChildOf(e)||e.isChildOf(a.tileID))&&(a.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,r){return r?this._getTerrainCoordsForTileRanges(e,r):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){const r={};for(const a of this._renderableTilesKeys){const l=this._tiles[a].tileID,d=e.clone(),g=o.b2();if(l.canonical.equals(e.canonical))o.bQ(g,0,o.Z,o.Z,0,0,1);else if(l.canonical.isChildOf(e.canonical)){const w=l.canonical.z-e.canonical.z,A=l.canonical.x-(l.canonical.x>>w<<w),I=l.canonical.y-(l.canonical.y>>w<<w),z=o.Z>>w;o.bQ(g,0,z,z,0,0,1),o.L(g,g,[-A*z,-I*z,0])}else{if(!e.canonical.isChildOf(l.canonical))continue;{const w=e.canonical.z-l.canonical.z,A=e.canonical.x-(e.canonical.x>>w<<w),I=e.canonical.y-(e.canonical.y>>w<<w),z=o.Z>>w;o.bQ(g,0,o.Z,o.Z,0,0,1),o.L(g,g,[A*z,I*z,0]),o.M(g,g,[1/2**w,1/2**w,0])}}d.terrainRttPosMatrix32f=new Float32Array(g),r[a]=d}return r}_getTerrainCoordsForTileRanges(e,r){const a={};for(const l of this._renderableTilesKeys){const d=this._tiles[l].tileID;if(!this._isWithinTileRanges(d,r))continue;const g=e.clone(),w=o.b2();if(d.canonical.z===e.canonical.z){const A=e.canonical.x-d.canonical.x,I=e.canonical.y-d.canonical.y;o.bQ(w,0,o.Z,o.Z,0,0,1),o.L(w,w,[A*o.Z,I*o.Z,0])}else if(d.canonical.z>e.canonical.z){const A=d.canonical.z-e.canonical.z,I=d.canonical.x-(d.canonical.x>>A<<A),z=d.canonical.y-(d.canonical.y>>A<<A),N=e.canonical.x-(d.canonical.x>>A),F=e.canonical.y-(d.canonical.y>>A),Z=o.Z>>A;o.bQ(w,0,Z,Z,0,0,1),o.L(w,w,[-I*Z+N*o.Z,-z*Z+F*o.Z,0])}else{const A=e.canonical.z-d.canonical.z,I=e.canonical.x-(e.canonical.x>>A<<A),z=e.canonical.y-(e.canonical.y>>A<<A),N=(e.canonical.x>>A)-d.canonical.x,F=(e.canonical.y>>A)-d.canonical.y,Z=o.Z<<A;o.bQ(w,0,Z,Z,0,0,1),o.L(w,w,[I*o.Z+N*Z,z*o.Z+F*Z,0])}g.terrainRttPosMatrix32f=new Float32Array(w),a[l]=g}return a}getSourceTile(e,r){const a=this.sourceCache._source;let l=e.overscaledZ-this.deltaZoom;if(l>a.maxzoom&&(l=a.maxzoom),l<a.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(l).key);let d=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!d||!d.dem)&&r)for(;l>=a.minzoom&&(!d||!d.dem);)d=this.sourceCache.getTileByID(e.scaledTo(l--).key);return d}anyTilesAfterTime(e=Date.now()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,r){return r[e.canonical.z]&&e.canonical.x>=r[e.canonical.z].minTileX&&e.canonical.x<=r[e.canonical.z].maxTileX&&e.canonical.y>=r[e.canonical.z].minTileY&&e.canonical.y<=r[e.canonical.z].maxTileY}}class ru{constructor(e,r,a){this._meshCache={},this.painter=e,this.sourceCache=new tu(r),this.options=a,this.exaggeration=typeof a.exaggeration=="number"?a.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,a,l=o.Z){var d;if(!(r>=0&&r<l&&a>=0&&a<l))return 0;const g=this.getTerrainData(e),w=(d=g.tile)===null||d===void 0?void 0:d.dem;if(!w)return 0;const A=o.cj([],[r/l*o.Z,a/l*o.Z],g.u_terrain_matrix),I=[A[0]*w.dim,A[1]*w.dim],z=Math.floor(I[0]),N=Math.floor(I[1]),F=I[0]-z,Z=I[1]-N;return w.get(z,N)*(1-F)*(1-Z)+w.get(z+1,N)*F*(1-Z)+w.get(z,N+1)*(1-F)*Z+w.get(z+1,N+1)*F*Z}getElevationForLngLatZoom(e,r){if(!o.ck(r,e.wrap()))return 0;const{tileID:a,mercatorX:l,mercatorY:d}=this._getOverscaledTileIDFromLngLatZoom(e,r);return this.getElevation(a,l%o.Z,d%o.Z,o.Z)}getElevation(e,r,a,l=o.Z){return this.getDEMElevation(e,r,a,l)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){const l=this.painter.context,d=new o.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new rt(l,d,l.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new rt(l,new o.R({width:1,height:1}),l.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=o.ad([])}const r=this.sourceCache.getSourceTile(e,!0);if(r&&r.dem&&(!r.demTexture||r.needsTerrainPrepare)){const l=this.painter.context;r.demTexture=this.painter.getTileTexture(r.dem.stride),r.demTexture?r.demTexture.update(r.dem.getPixels(),{premultiply:!1}):r.demTexture=new rt(l,r.dem.getPixels(),l.gl.RGBA,{premultiply:!1}),r.demTexture.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),r.needsTerrainPrepare=!1}const a=r&&r+r.tileID.key+e.key;if(a&&!this._demMatrixCache[a]){const l=this.sourceCache.sourceCache._source.maxzoom;let d=e.canonical.z-r.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=l?d=e.canonical.z-l:o.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const g=e.canonical.x-(e.canonical.x>>d<<d),w=e.canonical.y-(e.canonical.y>>d<<d),A=o.cl(new Float64Array(16),[1/(o.Z<<d),1/(o.Z<<d),0]);o.L(A,A,[g*o.Z,w*o.Z,0]),this._demMatrixCache[e.key]={matrix:A,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:r&&r.dem&&r.dem.dim||1,u_terrain_matrix:a?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:r&&r.dem&&r.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(r&&r.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:r}}getFramebuffer(e){const r=this.painter,a=r.width/devicePixelRatio,l=r.height/devicePixelRatio;return!this._fbo||this._fbo.width===a&&this._fbo.height===l||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new rt(r.context,{width:a,height:l,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new rt(r.context,{width:a,height:l,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=r.context.createFramebuffer(a,l,!0,!1),this._fbo.depthAttachment.set(r.context.createRenderbuffer(r.context.gl.DEPTH_COMPONENT16,a,l))),this._fbo.colorAttachment.set(e==="coords"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){const e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;const r=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let d=0,g=0;d<this._coordsTextureSize;d++)for(let w=0;w<this._coordsTextureSize;w++,g+=4)r[g+0]=255&w,r[g+1]=255&d,r[g+2]=w>>8<<4|d>>8,r[g+3]=0;const a=new o.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),l=new rt(e,a,e.gl.RGBA,{premultiply:!1});return l.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=l,l}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);const r=new Uint8Array(4),a=this.painter.context,l=a.gl,d=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),g=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),w=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),l.readPixels(d,w-g-1,1,1,l.RGBA,l.UNSIGNED_BYTE,r),a.bindFramebuffer.set(null);const A=r[0]+(r[2]>>4<<8),I=r[1]+((15&r[2])<<8),z=this.coordsIndex[255-r[3]],N=z&&this.sourceCache.getTileByID(z);if(!N)return null;const F=this._coordsTextureSize,Z=(1<<N.tileID.canonical.z)*F;return new o.$((N.tileID.canonical.x*F+A)/Z+N.tileID.wrap,(N.tileID.canonical.y*F+I)/Z,this.getElevation(N.tileID,A,I,F))}depthAtPoint(e){const r=new Uint8Array(4),a=this.painter.context,l=a.gl;return a.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),l.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,l.RGBA,l.UNSIGNED_BYTE,r),a.bindFramebuffer.set(null),(r[0]/16777216+r[1]/65536+r[2]/256+r[3])/256}getTerrainMesh(e){var r;const a=((r=this.painter.style.projection)===null||r===void 0?void 0:r.transitionState)>0,l=a&&e.canonical.y===0,d=a&&e.canonical.y===(1<<e.canonical.z)-1,g=`m_${l?"n":""}_${d?"s":""}`;if(this._meshCache[g])return this._meshCache[g];const w=this.painter.context,A=new o.cm,I=new o.aK,z=this.meshSize,N=o.Z/z,F=z*z;for(let we=0;we<=z;we++)for(let Re=0;Re<=z;Re++)A.emplaceBack(Re*N,we*N,0);for(let we=0;we<F;we+=z+1)for(let Re=0;Re<z;Re++)I.emplaceBack(Re+we,z+Re+we+1,z+Re+we+2),I.emplaceBack(Re+we,z+Re+we+2,Re+we+1);const Z=A.length,J=Z+(z+1),oe=(z+1)*z,ne=l?o.b9:0,se=l?0:1,pe=d?o.ba:o.Z,_e=d?0:1;for(let we=0;we<=z;we++)A.emplaceBack(we*N,ne,se);for(let we=0;we<=z;we++)A.emplaceBack(we*N,pe,_e);for(let we=0;we<z;we++)I.emplaceBack(oe+we,J+we,J+we+1),I.emplaceBack(oe+we,J+we+1,oe+we+1),I.emplaceBack(0+we,Z+we+1,Z+we),I.emplaceBack(0+we,0+we+1,Z+we+1);const ye=A.length,be=ye+2*(z+1);for(const we of[0,1])for(let Re=0;Re<=z;Re++)for(const We of[0,1])A.emplaceBack(we*o.Z,Re*N,We);for(let we=0;we<2*z;we+=2)I.emplaceBack(ye+we,ye+we+1,ye+we+3),I.emplaceBack(ye+we,ye+we+3,ye+we+2),I.emplaceBack(be+we,be+we+3,be+we+1),I.emplaceBack(be+we,be+we+2,be+we+3);const Ce=new Mn(w.createVertexBuffer(A,eu.members),w.createIndexBuffer(I),o.aJ.simpleSegment(0,0,A.length,I.length));return this._meshCache[g]=Ce,Ce}getMeshFrameDelta(e){return 2*Math.PI*o.bu/Math.pow(2,Math.max(e,0))/5}getMinTileElevationForLngLatZoom(e,r){var a;const{tileID:l}=this._getOverscaledTileIDFromLngLatZoom(e,r);return(a=this.getMinMaxElevation(l).minElevation)!==null&&a!==void 0?a:0}getMinMaxElevation(e){const r=this.getTerrainData(e).tile,a={minElevation:null,maxElevation:null};return r&&r.dem&&(a.minElevation=r.dem.min*this.exaggeration,a.maxElevation=r.dem.max*this.exaggeration),a}_getOverscaledTileIDFromLngLatZoom(e,r){const a=o.$.fromLngLat(e.wrap()),l=(1<<r)*o.Z,d=a.x*l,g=a.y*l,w=Math.floor(d/o.Z),A=Math.floor(g/o.Z);return{tileID:new o.Y(r,0,r,w,A),mercatorX:d,mercatorY:g}}}class Uh{constructor(e,r,a){this._context=e,this._size=r,this._tileSize=a,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(const e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){const r=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),a=new rt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return a.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),this._context.extTextureFilterAnisotropic&&this._context.gl.texParameterf(this._context.gl.TEXTURE_2D,this._context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this._context.extTextureFilterAnisotropicMax),r.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),r.colorAttachment.set(a.texture),{id:e,fbo:r,texture:a,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(r=>e.id!==r),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(const r of this._recentlyUsed)if(!this._objects[r].inUse)return this._objects[r];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(const e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(e=>!e.inUse)===!1}}const Ei={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Ra{constructor(e,r){this.painter=e,this.terrain=r,this.pool=new Uh(e.context,30,r.sourceCache.tileSize*r.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,r){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(a=>!e._layers[a].isHidden(r)),this._coordsAscending={};for(const a in e.sourceCaches){this._coordsAscending[a]={};const l=e.sourceCaches[a].getVisibleCoordinates(),d=e.sourceCaches[a].getSource(),g=d instanceof zt?d.terrainTileRanges:null;for(const w of l){const A=this.terrain.sourceCache.getTerrainCoords(w,g);for(const I in A)this._coordsAscending[a][I]||(this._coordsAscending[a][I]=[]),this._coordsAscending[a][I].push(A[I])}}this._coordsAscendingStr={};for(const a of e._order){const l=e._layers[a],d=l.source;if(Ei[l.type]&&!this._coordsAscendingStr[d]){this._coordsAscendingStr[d]={};for(const g in this._coordsAscending[d])this._coordsAscendingStr[d][g]=this._coordsAscending[d][g].map(w=>w.key).sort().join()}}for(const a of this._renderableTiles)for(const l in this._coordsAscendingStr){const d=this._coordsAscendingStr[l][a.tileID.key];d&&d!==a.rttCoords[l]&&(a.rtt=[])}}renderLayer(e,r){if(e.isHidden(this.painter.transform.zoom))return!1;const a=Object.assign(Object.assign({},r),{isRenderingToTexture:!0}),l=e.type,d=this.painter,g=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Ei[l]&&(this._prevType&&Ei[this._prevType]||this._stacks.push([]),this._prevType=l,this._stacks[this._stacks.length-1].push(e.id),!g))return!0;if(Ei[this._prevType]||Ei[l]&&g){this._prevType=l;const w=this._stacks.length-1,A=this._stacks[w]||[];for(const I of this._renderableTiles){if(this.pool.isFull()&&(Yn(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(I),I.rtt[w]){const N=this.pool.getObjectForId(I.rtt[w].id);if(N.stamp===I.rtt[w].stamp){this.pool.useObject(N);continue}}const z=this.pool.getOrCreateFreeObject();this.pool.useObject(z),this.pool.stampObject(z),I.rtt[w]={id:z.id,stamp:z.stamp},d.context.bindFramebuffer.set(z.fbo.framebuffer),d.context.clear({color:o.b7.transparent,stencil:0}),d.currentStencilSource=void 0;for(let N=0;N<A.length;N++){const F=d.style._layers[A[N]],Z=F.source?this._coordsAscending[F.source][I.tileID.key]:[I.tileID];d.context.viewport.set([0,0,z.fbo.width,z.fbo.height]),d._renderTileClippingMasks(F,Z,!0),d.renderLayer(d,d.style.sourceCaches[F.source],F,Z,a),F.source&&(I.rttCoords[F.source]=this._coordsAscendingStr[F.source][I.tileID.key])}}return Yn(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects(),Ei[l]}return!1}}const Tt={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","Map.Title":"Map","Marker.Title":"Map marker","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","Popup.Close":"Close popup","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","GlobeControl.Enable":"Enable globe","GlobeControl.Disable":"Disable globe","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},Ft=B,Ts={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Bn,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:o.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:"sans-serif",pitchWithRotate:!0,rollEnabled:!1,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0},Ml={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Ll{constructor(e,r,a=!1){this.mousedown=d=>{this.startMove(d,C.mousePos(this.element,d)),C.addEventListener(window,"mousemove",this.mousemove),C.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=d=>{this.move(d,C.mousePos(this.element,d))},this.mouseup=d=>{this._rotatePitchHanlder.dragEnd(d),this.offTemp()},this.touchstart=d=>{d.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=C.touchPos(this.element,d.targetTouches)[0],this.startMove(d,this._startPos),C.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.addEventListener(window,"touchend",this.touchend))},this.touchmove=d=>{d.targetTouches.length!==1?this.reset():(this._lastPos=C.touchPos(this.element,d.targetTouches)[0],this.move(d,this._lastPos))},this.touchend=d=>{d.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHanlder.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=r;const l=new jo;this._rotatePitchHanlder=new Ai({clickTolerance:3,move:(d,g)=>{const w=r.getBoundingClientRect(),A=new o.P((w.bottom-w.top)/2,(w.right-w.left)/2);return{bearingDelta:o.ce(new o.P(d.x,g.y),g,A),pitchDelta:a?-.5*(g.y-d.y):void 0}},moveStateManager:l,enable:!0,assignEvents:()=>{}}),this.map=e,C.addEventListener(r,"mousedown",this.mousedown),C.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),C.addEventListener(r,"touchcancel",this.reset)}startMove(e,r){this._rotatePitchHanlder.dragStart(e,r),C.disableDrag()}move(e,r){const a=this.map,{bearingDelta:l,pitchDelta:d}=this._rotatePitchHanlder.dragMove(e,r)||{};l&&a.setBearing(a.getBearing()+l),d&&a.setPitch(a.getPitch()+d)}off(){const e=this.element;C.removeEventListener(e,"mousedown",this.mousedown),C.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),C.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.removeEventListener(window,"touchend",this.touchend),C.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){C.enableDrag(),C.removeEventListener(window,"mousemove",this.mousemove),C.removeEventListener(window,"mouseup",this.mouseup),C.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.removeEventListener(window,"touchend",this.touchend)}}let Hr;function Rl(h,e,r,a=!1){if(a||!r.getCoveringTilesDetailsProvider().allowWorldCopies())return h==null?void 0:h.wrap();const l=new o.Q(h.lng,h.lat);if(h=new o.Q(h.lng,h.lat),e){const d=new o.Q(h.lng-360,h.lat),g=new o.Q(h.lng+360,h.lat),w=r.locationToScreenPoint(h).distSqr(e);r.locationToScreenPoint(d).distSqr(e)<w?h=d:r.locationToScreenPoint(g).distSqr(e)<w&&(h=g)}for(;Math.abs(h.lng-r.center.lng)>180;){const d=r.locationToScreenPoint(h);if(d.x>=0&&d.y>=0&&d.x<=r.width&&d.y<=r.height)break;h.lng>r.center.lng?h.lng-=360:h.lng+=360}return h.lng!==l.lng&&r.isPointOnMapSurface(r.locationToScreenPoint(h))?h:l}const Qi={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function iu(h,e,r){const a=h.classList;for(const l in Qi)a.remove(`maplibregl-${r}-anchor-${l}`);a.add(`maplibregl-${r}-anchor-${e}`)}class wo extends o.E{constructor(e){if(super(),this._onKeyPress=r=>{const a=r.code,l=r.charCode||r.keyCode;a!=="Space"&&a!=="Enter"&&l!==32&&l!==13||this.togglePopup()},this._onMapClick=r=>{const a=r.originalEvent.target,l=this._element;this._popup&&(a===l||l.contains(a))&&this.togglePopup()},this._update=r=>{if(!this._map)return;const a=this._map.loaded()&&!this._map.isMoving();((r==null?void 0:r.type)==="terrain"||(r==null?void 0:r.type)==="render"&&!a)&&this._map.once("render",this._update),this._lngLat=Rl(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let l="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?l=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(l=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let d="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?d="rotateX(0deg)":this._pitchAlignment==="map"&&(d=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||r&&r.type!=="moveend"||(this._pos=this._pos.round()),C.setTransform(this._element,`${Qi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${d} ${l}`),L.frameAsync(new AbortController).then(()=>{this._updateOpacity(r&&r.type==="moveend")}).catch(()=>{})},this._onMove=r=>{if(!this._isDragging){const a=this._clickTolerance||this._map._clickTolerance;this._isDragging=r.point.dist(this._pointerdownPos)>=a}this._isDragging&&(this._pos=r.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new o.l("dragstart"))),this.fire(new o.l("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new o.l("dragend")),this._state="inactive"},this._addDragHandler=r=>{this._element.contains(r.originalEvent.target)&&(r.preventDefault(),this._positionDelta=r.point.sub(this._pos).add(this._offset),this._pointerdownPos=r.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e==null?void 0:e.opacity,e==null?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=o.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=C.create("div");const r=C.createNS("http://www.w3.org/2000/svg","svg"),a=41,l=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${a}px`),r.setAttributeNS(null,"width",`${l}px`),r.setAttributeNS(null,"viewBox",`0 0 ${l} ${a}`);const d=C.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"stroke","none"),d.setAttributeNS(null,"stroke-width","1"),d.setAttributeNS(null,"fill","none"),d.setAttributeNS(null,"fill-rule","evenodd");const g=C.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"fill-rule","nonzero");const w=C.createNS("http://www.w3.org/2000/svg","g");w.setAttributeNS(null,"transform","translate(3.0, 29.0)"),w.setAttributeNS(null,"fill","#000000");const A=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const se of A){const pe=C.createNS("http://www.w3.org/2000/svg","ellipse");pe.setAttributeNS(null,"opacity","0.04"),pe.setAttributeNS(null,"cx","10.5"),pe.setAttributeNS(null,"cy","5.80029008"),pe.setAttributeNS(null,"rx",se.rx),pe.setAttributeNS(null,"ry",se.ry),w.appendChild(pe)}const I=C.createNS("http://www.w3.org/2000/svg","g");I.setAttributeNS(null,"fill",this._color);const z=C.createNS("http://www.w3.org/2000/svg","path");z.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),I.appendChild(z);const N=C.createNS("http://www.w3.org/2000/svg","g");N.setAttributeNS(null,"opacity","0.25"),N.setAttributeNS(null,"fill","#000000");const F=C.createNS("http://www.w3.org/2000/svg","path");F.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),N.appendChild(F);const Z=C.createNS("http://www.w3.org/2000/svg","g");Z.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Z.setAttributeNS(null,"fill","#FFFFFF");const J=C.createNS("http://www.w3.org/2000/svg","g");J.setAttributeNS(null,"transform","translate(8.0, 8.0)");const oe=C.createNS("http://www.w3.org/2000/svg","circle");oe.setAttributeNS(null,"fill","#000000"),oe.setAttributeNS(null,"opacity","0.25"),oe.setAttributeNS(null,"cx","5.5"),oe.setAttributeNS(null,"cy","5.5"),oe.setAttributeNS(null,"r","5.4999962");const ne=C.createNS("http://www.w3.org/2000/svg","circle");ne.setAttributeNS(null,"fill","#FFFFFF"),ne.setAttributeNS(null,"cx","5.5"),ne.setAttributeNS(null,"cy","5.5"),ne.setAttributeNS(null,"r","5.4999962"),J.appendChild(oe),J.appendChild(ne),g.appendChild(w),g.appendChild(I),g.appendChild(N),g.appendChild(Z),g.appendChild(J),r.appendChild(g),r.setAttributeNS(null,"height",a*this._scale+"px"),r.setAttributeNS(null,"width",l*this._scale+"px"),this._element.appendChild(r),this._offset=o.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",r=>{r.preventDefault()}),this._element.addEventListener("mousedown",r=>{r.preventDefault()}),iu(this._element,this._anchor,"marker"),e&&e.className)for(const r of e.className.split(" "))this._element.classList.add(r);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),e.on("projectiontransition",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("projectiontransition",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),C.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=o.Q.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const l=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[l,-1*(38.1-13.5+l)],"bottom-right":[-l,-1*(38.1-13.5+l)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){const e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var r,a;const l=(r=this._map)===null||r===void 0?void 0:r.terrain,d=this._map.transform.isLocationOccluded(this._lngLat);if(!l||d){const Z=d?this._opacityWhenCovered:this._opacity;return void(this._element.style.opacity!==Z&&(this._element.style.opacity=Z))}if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const g=this._map,w=g.terrain.depthAtPoint(this._pos),A=g.terrain.getElevationForLngLatZoom(this._lngLat,g.transform.tileZoom);if(g.transform.lngLatToCameraDepth(this._lngLat,A)-w<.006)return void(this._element.style.opacity=this._opacity);const I=-this._offset.y/g.transform.pixelsPerMeter,z=Math.sin(g.getPitch()*Math.PI/180)*I,N=g.terrain.depthAtPoint(new o.P(this._pos.x,this._pos.y-this._offset.y)),F=g.transform.lngLatToCameraDepth(this._lngLat,A+z)-N>.006;!((a=this._popup)===null||a===void 0)&&a.isOpen()&&F&&this._popup.remove(),this._element.style.opacity=F?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=o.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,r){return(this._opacity===void 0||e===void 0&&r===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=e),r!==void 0&&(this._opacityWhenCovered=r),this._map&&this._updateOpacity(!0),this}}const Or={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Mr=0,Zo=!1;const Es={maxWidth:100,unit:"metric"};function Ps(h,e,r){const a=r&&r.maxWidth||100,l=h._container.clientHeight/2,d=h._container.clientWidth/2,g=h.unproject([d-a/2,l]),w=h.unproject([d+a/2,l]),A=Math.round(h.project(w).x-h.project(g).x),I=Math.min(a,A,h._container.clientWidth),z=g.distanceTo(w);if(r&&r.unit==="imperial"){const N=3.2808*z;N>5280?So(e,I,N/5280,h._getUIString("ScaleControl.Miles")):So(e,I,N,h._getUIString("ScaleControl.Feet"))}else r&&r.unit==="nautical"?So(e,I,z/1852,h._getUIString("ScaleControl.NauticalMiles")):z>=1e3?So(e,I,z/1e3,h._getUIString("ScaleControl.Kilometers")):So(e,I,z,h._getUIString("ScaleControl.Meters"))}function So(h,e,r,a){const l=function(d){const g=Math.pow(10,`${Math.floor(d)}`.length-1);let w=d/g;return w=w>=10?10:w>=5?5:w>=3?3:w>=2?2:w>=1?1:function(A){const I=Math.pow(10,Math.ceil(-Math.log(A)/Math.LN10));return Math.round(A*I)/I}(w),g*w}(r);h.style.width=e*(l/r)+"px",h.innerHTML=`${l}&nbsp;${a}`}const Dl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1,locationOccludedOpacity:void 0},zl=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Ko(h){if(h){if(typeof h=="number"){const e=Math.round(Math.abs(h)/Math.SQRT2);return{center:new o.P(0,0),top:new o.P(0,h),"top-left":new o.P(e,e),"top-right":new o.P(-e,e),bottom:new o.P(0,-h),"bottom-left":new o.P(e,-e),"bottom-right":new o.P(-e,-e),left:new o.P(h,0),right:new o.P(-h,0)}}if(h instanceof o.P||Array.isArray(h)){const e=o.P.convert(h);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:o.P.convert(h.center||[0,0]),top:o.P.convert(h.top||[0,0]),"top-left":o.P.convert(h["top-left"]||[0,0]),"top-right":o.P.convert(h["top-right"]||[0,0]),bottom:o.P.convert(h.bottom||[0,0]),"bottom-left":o.P.convert(h["bottom-left"]||[0,0]),"bottom-right":o.P.convert(h["bottom-right"]||[0,0]),left:o.P.convert(h.left||[0,0]),right:o.P.convert(h.right||[0,0])}}return Ko(new o.P(0,0))}const Bl=B;x.AJAXError=o.cq,x.Event=o.l,x.Evented=o.E,x.LngLat=o.Q,x.MercatorCoordinate=o.$,x.Point=o.P,x.addProtocol=o.cr,x.config=o.a,x.removeProtocol=o.cs,x.AttributionControl=kr,x.BoxZoomHandler=Al,x.CanvasSource=Jt,x.CooperativeGesturesHandler=Ma,x.DoubleClickZoomHandler=Ia,x.DragPanHandler=Yc,x.DragRotateHandler=$c,x.EdgeInsets=Fi,x.FullscreenControl=class extends o.E{constructor(h={}){super(),this._onFullscreenChange=()=>{var e;let r=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((e=r==null?void 0:r.shadowRoot)===null||e===void 0)&&e.fullscreenElement;)r=r.shadowRoot.fullscreenElement;r===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,h&&h.container&&(h.container instanceof HTMLElement?this._container=h.container:o.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(h){return this._map=h,this._container||(this._container=this._map.getContainer()),this._controlContainer=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){C.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const h=this._fullscreenButton=C.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);C.create("span","maplibregl-ctrl-icon",h).setAttribute("aria-hidden","true"),h.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const h=this._getTitle();this._fullscreenButton.setAttribute("aria-label",h),this._fullscreenButton.title=h}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new o.l("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new o.l("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},x.GeoJSONSource=Et,x.GeolocateControl=class extends o.E{constructor(h){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new o.l("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new o.l("geolocate",e)),this._finish()}},this._updateCamera=e=>{const r=new o.Q(e.coords.longitude,e.coords.latitude),a=e.coords.accuracy,l=this._map.getBearing(),d=o.e({bearing:l},this.options.fitBoundsOptions),g=it.fromLngLat(r,a);this._map.fitBounds(g,d,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const r=new o.Q(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&Zo)return;this.options.trackUserLocation&&this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new o.l("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=C.create("button","maplibregl-ctrl-geolocate",this._container),C.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(e===!1){o.w("Geolocation support is not available so the GeolocateControl will be disabled.");const r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r)}else{const r=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=C.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new wo({element:this._dotElement}),this._circleElement=C.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new wo({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",r=>{r.geolocateSource||this._watchState!=="ACTIVE_LOCK"||r.originalEvent&&r.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new o.l("trackuserlocationend")),this.fire(new o.l("userlocationlostfocus")))})}},this.options=o.e({},Or,h)}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return o._(this,arguments,void 0,function*(e=!1){if(Hr!==void 0&&!e)return Hr;if(window.navigator.permissions===void 0)return Hr=!!window.navigator.geolocation,Hr;try{Hr=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{Hr=!!window.navigator.geolocation}return Hr})}().then(e=>this._finishSetupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),C.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Mr=0,Zo=!1}_isOutOfMapMaxBounds(h){const e=this._map.getMaxBounds(),r=h.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const h=this._map.getBounds(),e=h.getSouthEast(),r=h.getNorthEast(),a=e.distanceTo(r),l=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${l}px`,this._circleElement.style.height=`${l}px`}trigger(){if(!this._setup)return o.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new o.l("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Mr--,Zo=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new o.l("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new o.l("trackuserlocationstart")),this.fire(new o.l("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let h;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Mr++,Mr>1?(h={maximumAge:6e5,timeout:0},Zo=!0):(h=this.options.positionOptions,Zo=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,h)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},x.GlobeControl=class{constructor(){this._toggleProjection=()=>{var h;const e=(h=this._map.getProjection())===null||h===void 0?void 0:h.type;this._map.setProjection(e!=="mercator"&&e?{type:"mercator"}:{type:"globe"}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{var h;this._globeButton.classList.remove("maplibregl-ctrl-globe"),this._globeButton.classList.remove("maplibregl-ctrl-globe-enabled"),((h=this._map.getProjection())===null||h===void 0?void 0:h.type)==="globe"?(this._globeButton.classList.add("maplibregl-ctrl-globe-enabled"),this._globeButton.title=this._map._getUIString("GlobeControl.Disable")):(this._globeButton.classList.add("maplibregl-ctrl-globe"),this._globeButton.title=this._map._getUIString("GlobeControl.Enable"))}}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._globeButton=C.create("button","maplibregl-ctrl-globe",this._container),C.create("span","maplibregl-ctrl-icon",this._globeButton).setAttribute("aria-hidden","true"),this._globeButton.type="button",this._globeButton.addEventListener("click",this._toggleProjection),this._updateGlobeIcon(),this._map.on("styledata",this._updateGlobeIcon),this._container}onRemove(){C.remove(this._container),this._map.off("styledata",this._updateGlobeIcon),this._globeButton.removeEventListener("click",this._toggleProjection),this._map=void 0}},x.Hash=xl,x.ImageSource=zt,x.KeyboardHandler=Wo,x.LngLatBounds=it,x.LogoControl=Cs,x.Map=class extends qh{constructor(h){var e,r;o.cn.mark(o.co.create);const a=Object.assign(Object.assign(Object.assign({},Ts),h),{canvasContextAttributes:Object.assign(Object.assign({},Ts.canvasContextAttributes),h.canvasContextAttributes)});if(a.minZoom!=null&&a.maxZoom!=null&&a.minZoom>a.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(a.minPitch!=null&&a.maxPitch!=null&&a.minPitch>a.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(a.minPitch!=null&&a.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(a.maxPitch!=null&&a.maxPitch>180)throw new Error("maxPitch must be less than or equal to 180");const l=new at,d=new Ke;if(a.minZoom!==void 0&&l.setMinZoom(a.minZoom),a.maxZoom!==void 0&&l.setMaxZoom(a.maxZoom),a.minPitch!==void 0&&l.setMinPitch(a.minPitch),a.maxPitch!==void 0&&l.setMaxPitch(a.maxPitch),a.renderWorldCopies!==void 0&&l.setRenderWorldCopies(a.renderWorldCopies),super(l,d,{bearingSnap:a.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Il,this._controls=[],this._mapId=o.a4(),this._contextLost=w=>{w.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new o.l("webglcontextlost",{originalEvent:w}))},this._contextRestored=w=>{this._setupPainter(),this.resize(),this._update(),this.fire(new o.l("webglcontextrestored",{originalEvent:w}))},this._onMapScroll=w=>{if(w.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=a.interactive,this._maxTileCacheSize=a.maxTileCacheSize,this._maxTileCacheZoomLevels=a.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},a.canvasContextAttributes),this._trackResize=a.trackResize===!0,this._bearingSnap=a.bearingSnap,this._centerClampedToGround=a.centerClampedToGround,this._refreshExpiredTiles=a.refreshExpiredTiles===!0,this._fadeDuration=a.fadeDuration,this._crossSourceCollisions=a.crossSourceCollisions===!0,this._collectResourceTiming=a.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Tt),a.locale),this._clickTolerance=a.clickTolerance,this._overridePixelRatio=a.pixelRatio,this._maxCanvasSize=a.maxCanvasSize,this.transformCameraUpdate=a.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=a.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=ee.addThrottleControl(()=>this.isMoving()),this._requestManager=new me(a.transformRequest),typeof a.container=="string"){if(this._container=document.getElementById(a.container),!this._container)throw new Error(`Container '${a.container}' not found.`)}else{if(!(a.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=a.container}if(a.maxBounds&&this.setMaxBounds(a.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let w=!1;const A=ws(I=>{this._trackResize&&!this._removed&&(this.resize(I),this.redraw())},50);this._resizeObserver=new ResizeObserver(I=>{w?A(I):w=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Nh(this,a),this._hash=a.hash&&new xl(typeof a.hash=="string"&&a.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,roll:a.roll}),a.bounds&&(this.resize(),this.fitBounds(a.bounds,o.e({},a.fitBoundsOptions,{duration:0}))));const g=typeof a.style=="string"||((r=(e=a.style)===null||e===void 0?void 0:e.projection)===null||r===void 0?void 0:r.type)!=="globe";this.resize(null,g),this._localIdeographFontFamily=a.localIdeographFontFamily,this._validateStyle=a.validateStyle,a.style&&this.setStyle(a.style,{localIdeographFontFamily:a.localIdeographFontFamily}),a.attributionControl&&this.addControl(new kr(typeof a.attributionControl=="boolean"?void 0:a.attributionControl)),a.maplibreLogo&&this.addControl(new Cs,a.logoPosition),this.on("style.load",()=>{if(g||this._resizeTransform(),this.transform.unmodified){const w=o.O(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(w)}}),this.on("data",w=>{this._update(w.dataType==="style"),this.fire(new o.l(`${w.dataType}data`,w))}),this.on("dataloading",w=>{this.fire(new o.l(`${w.dataType}dataloading`,w))}),this.on("dataabort",w=>{this.fire(new o.l("sourcedataabort",w))})}_getMapId(){return this._mapId}addControl(h,e){if(e===void 0&&(e=h.getDefaultPosition?h.getDefaultPosition():"top-right"),!h||!h.onAdd)return this.fire(new o.k(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=h.onAdd(this);this._controls.push(h);const a=this._controlPositions[e];return e.indexOf("bottom")!==-1?a.insertBefore(r,a.firstChild):a.appendChild(r),this}removeControl(h){if(!h||!h.onRemove)return this.fire(new o.k(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const e=this._controls.indexOf(h);return e>-1&&this._controls.splice(e,1),h.onRemove(this),this}hasControl(h){return this._controls.indexOf(h)>-1}calculateCameraOptionsFromTo(h,e,r,a){return a==null&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(h,e,r,a)}resize(h,e=!0){const[r,a]=this._containerDimensions(),l=this._getClampedPixelRatio(r,a);if(this._resizeCanvas(r,a,l),this.painter.resize(r,a,l),this.painter.overLimit()){const g=this.painter.context.gl;this._maxCanvasSize=[g.drawingBufferWidth,g.drawingBufferHeight];const w=this._getClampedPixelRatio(r,a);this._resizeCanvas(r,a,w),this.painter.resize(r,a,w)}this._resizeTransform(e);const d=!this._moving;return d&&(this.stop(),this.fire(new o.l("movestart",h)).fire(new o.l("move",h))),this.fire(new o.l("resize",h)),d&&this.fire(new o.l("moveend",h)),this}_resizeTransform(h=!0){var e;const[r,a]=this._containerDimensions();this.transform.resize(r,a,h),(e=this._requestedCameraState)===null||e===void 0||e.resize(r,a,h)}_getClampedPixelRatio(h,e){const{0:r,1:a}=this._maxCanvasSize,l=this.getPixelRatio(),d=h*l,g=e*l;return Math.min(d>r?r/d:1,g>a?a/g:1)*l}getPixelRatio(){var h;return(h=this._overridePixelRatio)!==null&&h!==void 0?h:devicePixelRatio}setPixelRatio(h){this._overridePixelRatio=h,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(h){return this.transform.setMaxBounds(it.convert(h)),this._update()}setMinZoom(h){if((h=h??-2)>=-2&&h<=this.transform.maxZoom)return this.transform.setMinZoom(h),this._update(),this.getZoom()<h&&this.setZoom(h),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(){return this.transform.minZoom}setMaxZoom(h){if((h=h??22)>=this.transform.minZoom)return this.transform.setMaxZoom(h),this._update(),this.getZoom()>h&&this.setZoom(h),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(h){if((h=h??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(h>=0&&h<=this.transform.maxPitch)return this.transform.setMinPitch(h),this._update(),this.getPitch()<h&&this.setPitch(h),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this.transform.minPitch}setMaxPitch(h){if((h=h??60)>180)throw new Error("maxPitch must be less than or equal to 180");if(h>=this.transform.minPitch)return this.transform.setMaxPitch(h),this._update(),this.getPitch()>h&&this.setPitch(h),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(h){return this.transform.setRenderWorldCopies(h),this._update()}project(h){return this.transform.locationToScreenPoint(o.Q.convert(h),this.style&&this.terrain)}unproject(h){return this.transform.screenPointToLocation(o.P.convert(h),this.terrain)}isMoving(){var h;return this._moving||((h=this.handlers)===null||h===void 0?void 0:h.isMoving())}isZooming(){var h;return this._zooming||((h=this.handlers)===null||h===void 0?void 0:h.isZooming())}isRotating(){var h;return this._rotating||((h=this.handlers)===null||h===void 0?void 0:h.isRotating())}_createDelegatedListener(h,e,r){if(h==="mouseenter"||h==="mouseover"){let a=!1;return{layers:e,listener:r,delegates:{mousemove:d=>{const g=e.filter(A=>this.getLayer(A)),w=g.length!==0?this.queryRenderedFeatures(d.point,{layers:g}):[];w.length?a||(a=!0,r.call(this,new Xr(h,this,d.originalEvent,{features:w}))):a=!1},mouseout:()=>{a=!1}}}}if(h==="mouseleave"||h==="mouseout"){let a=!1;return{layers:e,listener:r,delegates:{mousemove:g=>{const w=e.filter(A=>this.getLayer(A));(w.length!==0?this.queryRenderedFeatures(g.point,{layers:w}):[]).length?a=!0:a&&(a=!1,r.call(this,new Xr(h,this,g.originalEvent)))},mouseout:g=>{a&&(a=!1,r.call(this,new Xr(h,this,g.originalEvent)))}}}}{const a=l=>{const d=e.filter(w=>this.getLayer(w)),g=d.length!==0?this.queryRenderedFeatures(l.point,{layers:d}):[];g.length&&(l.features=g,r.call(this,l),delete l.features)};return{layers:e,listener:r,delegates:{[h]:a}}}}_saveDelegatedListener(h,e){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[h]=this._delegatedListeners[h]||[],this._delegatedListeners[h].push(e)}_removeDelegatedListener(h,e,r){if(!this._delegatedListeners||!this._delegatedListeners[h])return;const a=this._delegatedListeners[h];for(let l=0;l<a.length;l++){const d=a[l];if(d.listener===r&&d.layers.length===e.length&&d.layers.every(g=>e.includes(g))){for(const g in d.delegates)this.off(g,d.delegates[g]);return void a.splice(l,1)}}}on(h,e,r){if(r===void 0)return super.on(h,e);const a=typeof e=="string"?[e]:e,l=this._createDelegatedListener(h,a,r);this._saveDelegatedListener(h,l);for(const d in l.delegates)this.on(d,l.delegates[d]);return{unsubscribe:()=>{this._removeDelegatedListener(h,a,r)}}}once(h,e,r){if(r===void 0)return super.once(h,e);const a=typeof e=="string"?[e]:e,l=this._createDelegatedListener(h,a,r);for(const d in l.delegates){const g=l.delegates[d];l.delegates[d]=(...w)=>{this._removeDelegatedListener(h,a,r),g(...w)}}this._saveDelegatedListener(h,l);for(const d in l.delegates)this.once(d,l.delegates[d]);return this}off(h,e,r){return r===void 0?super.off(h,e):(this._removeDelegatedListener(h,typeof e=="string"?[e]:e,r),this)}queryRenderedFeatures(h,e){if(!this.style)return[];let r;const a=h instanceof o.P||Array.isArray(h),l=a?h:[[0,0],[this.transform.width,this.transform.height]];if(e=e||(a?{}:h)||{},l instanceof o.P||typeof l[0]=="number")r=[o.P.convert(l)];else{const d=o.P.convert(l[0]),g=o.P.convert(l[1]);r=[d,new o.P(g.x,d.y),g,new o.P(d.x,g.y),d]}return this.style.queryRenderedFeatures(r,e,this.transform)}querySourceFeatures(h,e){return this.style.querySourceFeatures(h,e)}setStyle(h,e){return(e=o.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},e)).diff!==!1&&e.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&h?(this._diffStyle(h,e),this):(this._localIdeographFontFamily=e.localIdeographFontFamily,this._updateStyle(h,e))}setTransformRequest(h){return this._requestManager.setTransformRequest(h),this}_getUIString(h){const e=this._locale[h];if(e==null)throw new Error(`Missing UI string '${h}'`);return e}_updateStyle(h,e){var r,a;if(e.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(h,e));const l=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!h)),h?(this.style=new rl(this,e||{}),this.style.setEventedParent(this,{style:this.style}),typeof h=="string"?this.style.loadURL(h,e,l):this.style.loadJSON(h,e,l),this):((a=(r=this.style)===null||r===void 0?void 0:r.projection)===null||a===void 0||a.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new rl(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(h,e){if(typeof h=="string"){const r=this._requestManager.transformRequest(h,"Style");o.j(r,new AbortController).then(a=>{this._updateDiff(a.data,e)}).catch(a=>{a&&this.fire(new o.k(a))})}else typeof h=="object"&&this._updateDiff(h,e)}_updateDiff(h,e){try{this.style.setState(h,e)&&this._update(!0)}catch(r){o.w(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(h,e)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():o.w("There is no style added to the map.")}addSource(h,e){return this._lazyInitEmptyStyle(),this.style.addSource(h,e),this._update(!0)}isSourceLoaded(h){const e=this.style&&this.style.sourceCaches[h];if(e!==void 0)return e.loaded();this.fire(new o.k(new Error(`There is no source with ID '${h}'`)))}setTerrain(h){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),h){const e=this.style.sourceCaches[h.source];if(!e)throw new Error(`cannot load terrain, because there exists no source with ID: ${h.source}`);this.terrain===null&&e.reload();for(const r in this.style._layers){const a=this.style._layers[r];a.type==="hillshade"&&a.source===h.source&&o.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new ru(this.painter,e,h),this.painter.renderToTexture=new Ra(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=r=>{var a;r.dataType==="style"?this.terrain.sourceCache.freeRtt():r.dataType==="source"&&r.tile&&(r.sourceId!==h.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),((a=r.source)===null||a===void 0?void 0:a.type)==="image"?this.terrain.sourceCache.freeRtt():this.terrain.sourceCache.freeRtt(r.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new o.l("terrain",{terrain:h})),this}getTerrain(){var h,e;return(e=(h=this.terrain)===null||h===void 0?void 0:h.options)!==null&&e!==void 0?e:null}areTilesLoaded(){const h=this.style&&this.style.sourceCaches;for(const e in h){const r=h[e]._tiles;for(const a in r){const l=r[a];if(l.state!=="loaded"&&l.state!=="errored")return!1}}return!0}removeSource(h){return this.style.removeSource(h),this._update(!0)}getSource(h){return this.style.getSource(h)}setSourceTileLodParams(h,e,r){if(r){const a=this.getSource(r);if(!a)throw new Error(`There is no source with ID "${r}", cannot set LOD parameters`);a.calculateTileZoom=xe(Math.max(1,h),Math.max(1,e))}else for(const a in this.style.sourceCaches)this.style.sourceCaches[a].getSource().calculateTileZoom=xe(Math.max(1,h),Math.max(1,e));return this._update(!0),this}refreshTiles(h,e){const r=this.style.sourceCaches[h];if(!r)throw new Error(`There is no source cache with ID "${h}", cannot refresh tile`);e===void 0?r.reload():r.refreshTiles(e.map(a=>new o.a1(a.z,a.x,a.y)))}addImage(h,e,r={}){const{pixelRatio:a=1,sdf:l=!1,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I}=r;if(this._lazyInitEmptyStyle(),!(e instanceof HTMLImageElement||o.b(e))){if(e.width===void 0||e.height===void 0)return this.fire(new o.k(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:z,height:N,data:F}=e,Z=e;return this.style.addImage(h,{data:new o.R({width:z,height:N},new Uint8Array(F)),pixelRatio:a,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I,sdf:l,version:0,userImage:Z}),Z.onAdd&&Z.onAdd(this,h),this}}{const{width:z,height:N,data:F}=L.getImageData(e);this.style.addImage(h,{data:new o.R({width:z,height:N},F),pixelRatio:a,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I,sdf:l,version:0})}}updateImage(h,e){const r=this.style.getImage(h);if(!r)return this.fire(new o.k(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const a=e instanceof HTMLImageElement||o.b(e)?L.getImageData(e):e,{width:l,height:d,data:g}=a;if(l===void 0||d===void 0)return this.fire(new o.k(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(l!==r.data.width||d!==r.data.height)return this.fire(new o.k(new Error("The width and height of the updated image must be that same as the previous version of the image")));const w=!(e instanceof HTMLImageElement||o.b(e));return r.data.replace(g,w),this.style.updateImage(h,r),this}getImage(h){return this.style.getImage(h)}hasImage(h){return h?!!this.style.getImage(h):(this.fire(new o.k(new Error("Missing required image id"))),!1)}removeImage(h){this.style.removeImage(h)}loadImage(h){return ee.getImage(this._requestManager.transformRequest(h,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(h,e){return this._lazyInitEmptyStyle(),this.style.addLayer(h,e),this._update(!0)}moveLayer(h,e){return this.style.moveLayer(h,e),this._update(!0)}removeLayer(h){return this.style.removeLayer(h),this._update(!0)}getLayer(h){return this.style.getLayer(h)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(h,e,r){return this.style.setLayerZoomRange(h,e,r),this._update(!0)}setFilter(h,e,r={}){return this.style.setFilter(h,e,r),this._update(!0)}getFilter(h){return this.style.getFilter(h)}setPaintProperty(h,e,r,a={}){return this.style.setPaintProperty(h,e,r,a),this._update(!0)}getPaintProperty(h,e){return this.style.getPaintProperty(h,e)}setLayoutProperty(h,e,r,a={}){return this.style.setLayoutProperty(h,e,r,a),this._update(!0)}getLayoutProperty(h,e){return this.style.getLayoutProperty(h,e)}setGlyphs(h,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(h,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(h,e,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(h,e,r,a=>{a||this._update(!0)}),this}removeSprite(h){return this._lazyInitEmptyStyle(),this.style.removeSprite(h),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(h,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(h,e,r=>{r||this._update(!0)}),this}setLight(h,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(h,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(h,e={}){return this._lazyInitEmptyStyle(),this.style.setSky(h,e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(h,e){return this.style.setFeatureState(h,e),this._update()}removeFeatureState(h,e){return this.style.removeFeatureState(h,e),this._update()}getFeatureState(h){return this.style.getFeatureState(h)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let h=0,e=0;return this._container&&(h=this._container.clientWidth||400,e=this._container.clientHeight||300),[h,e]}_setupContainer(){const h=this._container;h.classList.add("maplibregl-map");const e=this._canvasContainer=C.create("div","maplibregl-canvas-container",h);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=C.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const r=this._containerDimensions(),a=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],a);const l=this._controlContainer=C.create("div","maplibregl-control-container",h),d=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(g=>{d[g]=C.create("div",`maplibregl-ctrl-${g} `,l)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(h,e,r){this._canvas.width=Math.floor(r*h),this._canvas.height=Math.floor(r*e),this._canvas.style.width=`${h}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const h=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0});let e=null;this._canvas.addEventListener("webglcontextcreationerror",a=>{e={requestedAttributes:h},a&&(e.statusMessage=a.statusMessage,e.type=a.type)},{once:!0});let r=null;if(r=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,h):this._canvas.getContext("webgl2",h)||this._canvas.getContext("webgl",h),!r){const a="Failed to initialize WebGL";throw e?(e.message=a,new Error(JSON.stringify(e))):new Error(a)}this.painter=new vl(r,this.transform),T.testSupport(r)}migrateProjection(h,e){super.migrateProjection(h,e),this.painter.transform=h,this.fire(new o.l("projectiontransition",{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(h){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||h,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(h){return this._update(),this._renderTaskQueue.add(h)}_cancelRenderFrame(h){this._renderTaskQueue.remove(h)}_render(h){var e,r,a,l,d;const g=this._idleTriggered?this._fadeDuration:0,w=((e=this.style.projection)===null||e===void 0?void 0:e.transitionState)>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(h),this._removed)return;let A=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const N=this.transform.zoom,F=L.now();this.style.zoomHistory.update(N,F);const Z=new o.C(N,{now:F,fadeDuration:g,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),J=Z.crossFadingFactor();J===1&&J===this._crossFadingFactor||(A=!0,this._crossFadingFactor=J),this.style.update(Z)}const I=((r=this.style.projection)===null||r===void 0?void 0:r.transitionState)>0!==w;(a=this.style.projection)===null||a===void 0||a.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState((l=this.style.projection)===null||l===void 0?void 0:l.transitionState,(d=this.style.projection)===null||d===void 0?void 0:d.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||I)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style&&this.style._updatePlacement(this.transform,this.showCollisionBoxes,g,this._crossSourceCollisions,I),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:g,showPadding:this.showPadding}),this.fire(new o.l("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,o.cn.mark(o.co.load),this.fire(new o.l("load"))),this.style&&(this.style.hasTransitions()||A)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const z=this._sourcesDirty||this._styleDirty||this._placementDirty;return z||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new o.l("idle")),!this._loaded||this._fullyLoaded||z||(this._fullyLoaded=!0,o.cn.mark(o.co.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var h;this._hash&&this._hash.remove();for(const r of this._controls)r.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),ee.removeThrottleControl(this._imageQueueHandle),(h=this._resizeObserver)===null||h===void 0||h.disconnect();const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e!=null&&e.loseContext&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),C.remove(this._canvasContainer),C.remove(this._controlContainer),this._container.removeEventListener("scroll",this._onMapScroll,!1),this._container.classList.remove("maplibregl-map"),o.cn.clearMetrics(),this._removed=!0,this.fire(new o.l("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,L.frame(this._frameRequest,h=>{o.cn.frame(h),this._frameRequest=null;try{this._render(h)}catch(e){if(!o.cp(e)&&!function(r){return r.message===ma}(e))throw e}},()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(h){this._showTileBoundaries!==h&&(this._showTileBoundaries=h,this._update())}get showPadding(){return!!this._showPadding}set showPadding(h){this._showPadding!==h&&(this._showPadding=h,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(h){this._showCollisionBoxes!==h&&(this._showCollisionBoxes=h,h?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(h){this._showOverdrawInspector!==h&&(this._showOverdrawInspector=h,this._update())}get repaint(){return!!this._repaint}set repaint(h){this._repaint!==h&&(this._repaint=h,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(h){this._vertices=h,this._update()}get version(){return Ft}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(h){return this._lazyInitEmptyStyle(),this.style.setProjection(h),this._update(!0)}},x.MapMouseEvent=Xr,x.MapTouchEvent=Fo,x.MapWheelEvent=Sl,x.Marker=wo,x.NavigationControl=class{constructor(h){this._updateZoomButtons=()=>{const e=this._map.getZoom(),r=e===this._map.getMaxZoom(),a=e===this._map.getMinZoom();this._zoomInButton.disabled=r,this._zoomOutButton.disabled=a,this._zoomInButton.setAttribute("aria-disabled",r.toString()),this._zoomOutButton.setAttribute("aria-disabled",a.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(e,r)=>{const a=this._map._getUIString(`NavigationControl.${r}`);e.title=a,e.setAttribute("aria-label",a)},this.options=o.e({},Ml,h),this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),C.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),C.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=C.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(h){return this._map=h,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on("roll",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ll(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){C.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off("roll",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(h,e){const r=C.create("button",h,this._container);return r.type="button",r.addEventListener("click",e),r}},x.Popup=class extends o.E{constructor(h){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:void 0)},this.remove=()=>(this._content&&C.remove(this._content),this._container&&(C.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new o.l("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=C.create("div","maplibregl-popup",this._map.getContainer()),this._tip=C.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const g of this.options.className.split(" "))this._container.classList.add(g);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=Rl(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),this._trackPointer&&!e)return;const r=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationToScreenPoint(this._lngLat));let a=this.options.anchor;const l=Ko(this.options.offset);if(!a){const g=this._container.offsetWidth,w=this._container.offsetHeight;let A;A=r.y+l.bottom.y<w?["top"]:r.y>this._map.transform.height-w?["bottom"]:[],r.x<g/2?A.push("left"):r.x>this._map.transform.width-g/2&&A.push("right"),a=A.length===0?"bottom":A.join("-")}let d=r.add(l[a]);this.options.subpixelPositioning||(d=d.round()),C.setTransform(this._container,`${Qi[a]} translate(${d.x}px,${d.y}px)`),iu(this._container,a,"popup"),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=o.e(Object.create(Dl),h)}addTo(h){return this._map&&this.remove(),this._map=h,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new o.l("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(h){return this._lngLat=o.Q.convert(h),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(h){return this.setDOMContent(document.createTextNode(h))}setHTML(h){const e=document.createDocumentFragment(),r=document.createElement("body");let a;for(r.innerHTML=h;a=r.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var h;return(h=this._container)===null||h===void 0?void 0:h.style.maxWidth}setMaxWidth(h){return this.options.maxWidth=h,this._update(),this}setDOMContent(h){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=C.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(h),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(h){return this._container&&this._container.classList.add(h),this}removeClassName(h){return this._container&&this._container.classList.remove(h),this}setOffset(h){return this.options.offset=h,this._update(),this}toggleClassName(h){if(this._container)return this._container.classList.toggle(h)}setSubpixelPositioning(h){this.options.subpixelPositioning=h}_createCloseButton(){this.options.closeButton&&(this._closeButton=C.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const h=this._container.querySelector(zl);h&&h.focus()}},x.RasterDEMTileSource=Ht,x.RasterTileSource=Mt,x.ScaleControl=class{constructor(h){this._onMove=()=>{Ps(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Ps(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Es),h)}getDefaultPosition(){return"bottom-left"}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-scale",h.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){C.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},x.ScrollZoomHandler=er,x.Style=rl,x.TerrainControl=class{constructor(h){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=h}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=C.create("button","maplibregl-ctrl-terrain",this._container),C.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){C.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},x.TwoFingersTouchPitchHandler=Pa,x.TwoFingersTouchRotateHandler=bt,x.TwoFingersTouchZoomHandler=Ho,x.TwoFingersTouchZoomRotateHandler=Pl,x.VectorTileSource=At,x.VideoSource=or,x.addSourceType=(h,e)=>o._(void 0,void 0,void 0,function*(){if(ii(h))throw new Error(`A source type called "${h}" already exists.`);((r,a)=>{Ir[r]=a})(h,e)}),x.clearPrewarmedResources=function(){const h=Ti;h&&(h.isPreloaded()&&h.numActive()===1?(h.release(Ki),Ti=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},x.createTileMesh=an,x.getMaxParallelImageRequests=function(){return o.a.MAX_PARALLEL_IMAGE_REQUESTS},x.getRTLTextPluginStatus=function(){return Mi().getRTLTextPluginStatus()},x.getVersion=function(){return Bl},x.getWorkerCount=function(){return fr.workerCount},x.getWorkerUrl=function(){return o.a.WORKER_URL},x.importScriptInWorkers=function(h){return Gi().broadcast("IS",h)},x.prewarm=function(){Bi().acquire(Ki)},x.setMaxParallelImageRequests=function(h){o.a.MAX_PARALLEL_IMAGE_REQUESTS=h},x.setRTLTextPlugin=function(h,e){return Mi().setRTLTextPlugin(h,e)},x.setWorkerCount=function(h){fr.workerCount=h},x.setWorkerUrl=function(h){o.a.WORKER_URL=h}});var P=y;return P})}(ih)),ih.exports}var Cx=kx();const tp=ry(Cx);function ny(u){const p={"bottom-left":"bottom-[20px] left-[20px]","bottom-right":"bottom-[20px] right-[20px]","bottom-center":"bottom-[20px] left-1/2 -translate-x-1/2","top-left":"top-[20px] left-[20px]","top-right":"top-[20px] right-[20px]","top-center":"top-[20px] left-1/2 -translate-x-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"};return p[u]||p["bottom-left"]}const pr=(u,p)=>{const y=u.__vccOpts||u;for(const[b,k]of p)y[b]=k;return y},Tx={key:0,class:"p-5 pb-0 flex justify-between items-center"},Ex={class:"inline-block font-semibold text-lg text-gray-800"},Px={class:"flex flex-col gap-1 p-5"},Ix={class:"flex items-center justify-between w-full text-sm text-gray-800"},Mx={key:0,class:"ms-2 text-xs text-gray-500"},Lx={__name:"vs-legend-widget",props:{config:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var k;return((k=p.config)==null?void 0:k.items)||[]}),b=_.computed(()=>{var k;return((k=p.config)==null?void 0:k.title)||""});return(k,P)=>(_.openBlock(),_.createElementBlock("div",{class:"legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative",style:_.normalizeStyle({width:u.config.width||"100%"})},[b.value?(_.openBlock(),_.createElementBlock("div",Tx,[_.createElementVNode("h2",Ex,_.toDisplayString(b.value),1)])):_.createCommentVNode("",!0),_.createElementVNode("div",Px,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.value,x=>(_.openBlock(),_.createElementBlock("div",{class:"flex items-center",key:x.label},[_.createElementVNode("span",{class:_.normalizeClass(["shrink-0 size-2.5 inline-block me-2.5",[x.shape==="square"?"rounded-sm":"",x.shape==="circle"?"rounded-full":"",x.shape==="line"?"w-6 h-0.5":"",x.shape==="dashed-line"?"w-6 h-0.5 dashed-line":""]]),style:_.normalizeStyle({backgroundColor:x.color})},null,6),_.createElementVNode("span",Ix,[_.createElementVNode("span",null,_.toDisplayString(x.label),1),x.count!==void 0?(_.openBlock(),_.createElementBlock("span",Mx," ("+_.toDisplayString(x.count)+") ",1)):_.createCommentVNode("",!0)])]))),128))])],4))}},Rx=pr(Lx,[["__scopeId","data-v-6dafc777"]]),Dx="data:image/png;base64,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",zx={class:"flex flex-row gap-x-3 z-10 relative"},Bx=["onClick"],Vx=["src","alt"],Ox={__name:"vs-basemaps-widget",props:{map:{type:Object,required:!0},config:{type:Object,default:()=>({})},position:{type:String,default:"bottom-left"}},setup(u){const p=u,y=_.ref("voyager"),b=_.computed(()=>{var B;if(!((B=p.config)!=null&&B.layers))return[];const o=p.config.layers.map(D=>({id:D.id,title:D.label||D.title,url:D.url,service:D.type,category:"Базові карти",attribution:D.attribution,image:D.image,enabled:!0,owner:D.owner||"Unknown"}));return o.push({id:"__none__",title:"Без підложки",url:"",service:"",category:"Базові карти",attribution:"",image:Dx,enabled:!0,owner:""}),o});function k(o){return{version:8,sources:{[o.id]:{type:"raster",tiles:[o.url],tileSize:256,attribution:o.attribution||""}},layers:[{id:o.id,type:"raster",source:o.id}]}}const P=o=>{if(!p.map)return;const B=p.map.getStyle(),D=b.value.map(C=>C.id),M=B.layers.filter(C=>!D.includes(C.id)),O={};for(const C in B.sources)D.includes(C)||(O[C]=B.sources[C]);if(o.id==="__none__"){const C={version:8,sources:{...O},layers:[...M]};p.map.setStyle(C);return}const L=k(o);p.map.setStyle(L),p.map.once("styledata",()=>{for(const[C,T]of Object.entries(O))p.map.getSource(C)||p.map.addSource(C,T);for(const C of M)p.map.getLayer(C.id)||p.map.addLayer(C)})},x=o=>{y.value=o;const B=b.value.find(D=>D.id===o);B&&p.map&&P(B)};return _.onMounted(()=>{var o;(o=p.config)!=null&&o.default&&(y.value=p.config.default)}),(o,B)=>{const D=_.resolveComponent("VsPopover");return _.openBlock(),_.createElementBlock("div",zx,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(b.value,M=>(_.openBlock(),_.createBlock(D,{trigger:"hover",placement:"top",key:M.id},{reference:_.withCtx(()=>[_.createElementVNode("div",{class:_.normalizeClass(["w-14 h-14 flex items-center justify-center bg-white rounded-xl shadow-2xs cursor-pointer transition-all border-4",y.value===M.id?"border-blue-400":"border-transparent"]),onClick:O=>x(M.id)},[_.createElementVNode("img",{src:M.image,alt:M.title,class:_.normalizeClass(["object-cover rounded-lg",M.id==="__none__"?"w-10 h-10":"w-12 h-12"])},null,10,Vx)],10,Bx)]),default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(M.title)+" ",1)]),_:2},1024))),128))])}}};function Ya(u){if(!u.attrType||!u.attribute||!u.rules)return u.color||"#ccc";const p=u.rules.map(y=>[["==",["get",u.attribute],y.id||y.value],y.color]);return p.push(u.color||"#ccc"),["case",...p.flat()]}function Fx(u){if(!u.attrType||u.attrType!=="icon-by-attribute"||!u.attribute||!u.rules)return u.default_icon||null;const p=u.rules.map(y=>[["==",["get",u.attribute],y.value],y.icon]);return p.push(u.default_icon||"marker.svg"),["case",...p.flat()]}function oy(u){if(!u.attrType||u.attrType!=="attribute-pattern"||!u.attribute||!u.rules)return u.fillPattern||"";const p=u.rules.map(y=>[["==",["get",u.attribute],y.value],y.fillPattern||""]);return p.push(u.fillPattern||""),["case",...p.flat()]}function Io(u,p="stroke",y="#ccc"){return["case",["boolean",["feature-state","hovered"],!1],"#ff0000",["boolean",["feature-state","selected"],!1],"#ff0000",u[p]||y]}function Nx(u){const p=[{type:"fill",minzoom:u.pointZoom||0,paint:{"fill-color":Ya(u),"fill-outline-color":Io(u,"stroke","#ccc"),"fill-opacity":u.opacity||1,...u.attrType==="attribute-pattern"&&{"fill-pattern":oy(u)},...u.fillPattern&&!u.attrType&&{"fill-pattern":u.fillPattern}}},{type:"line",paint:{"line-color":Io(u,"stroke","#ccc"),"line-width":u.width||2,"line-opacity":u.lineOpacity||u.opacity||1}}];return u.pointZoom&&p.push({type:"circle",maxzoom:u.pointZoom,paint:{"circle-color":u.color||"#ccc","circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-opacity":u.opacity||1}}),p}function qx(u){return[{type:"line",paint:{"line-color":Io(u,"color",Ya(u)),"line-width":u.width||2,"line-opacity":u.opacity||1,...u.dashArray&&{"line-dasharray":u.dashArray}},layout:{...u.lineCap&&{"line-cap":u.lineCap},...u.lineJoin&&{"line-join":u.lineJoin}}}]}function Ux(u){const p=[{type:"circle",maxzoom:u.icon&&+u.iconZoom||22,paint:{"circle-radius":u.radius||6,"circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-color":Ya(u),"circle-opacity":u.opacity||1}}];return u!=null&&u.clusterZoom?(p.push({type:"circle",filter:["has","point_count"],paint:{"circle-color":["step",["get","point_count"],"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",["get","point_count"],20,100,30,750,40]}}),p.push({type:"symbol",filter:["has","point_count"],layout:{"text-field":["get","point_count"],"text-font":["Open Sans Regular"],"text-size":12}})):u.icon&&p.push({type:"symbol",minzoom:+u.iconZoom||16,layout:{"icon-image":u.icon,"icon-allow-overlap":!0}}),p}function jx(u,p,y){const b=u.type||"point";return b==="polygon"?[{type:"fill",...y!==void 0?{maxzoom:y}:{},paint:{"fill-color":Ya(u),"fill-outline-color":Io(u,"stroke","#ccc"),"fill-opacity":u.opacity||1,...u.attrType==="attribute-pattern"&&{"fill-pattern":oy(u)},...u.fillPattern&&!u.attrType&&{"fill-pattern":u.fillPattern}}},{type:"line",...y!==void 0?{maxzoom:y}:{},paint:{"line-color":Io(u,"stroke","#ccc"),"line-width":u.width||2,"line-opacity":u.lineOpacity||u.opacity||1}}]:b==="line"?[{type:"line",...y!==void 0?{maxzoom:y}:{},paint:{"line-color":Io(u,"color",Ya(u)),"line-width":u.width||2,"line-opacity":u.opacity||1,...u.dashArray&&{"line-dasharray":u.dashArray}},layout:{...u.lineCap&&{"line-cap":u.lineCap},...u.lineJoin&&{"line-join":u.lineJoin}}}]:[{type:"circle",...y!==void 0?{maxzoom:y}:{},paint:{"circle-radius":u.radius||6,"circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-color":Ya(u),"circle-opacity":u.opacity||1}}]}function sy(u){var y,b;if(!u)return null;if(u.attrType==="icon-by-attribute"&&u.iconZoom){const k=Fx(u),P=Array.isArray(k)&&k[0]==="case"?k:["case",["==",["get",u.attribute],((b=(y=u.rules)==null?void 0:y[0])==null?void 0:b.value)||""],k,k],x=jx(u,void 0,+u.iconZoom),o={type:"symbol",minzoom:+u.iconZoom,layout:{"icon-image":P,"icon-size":(u==null?void 0:u.icon_size)||1,"icon-allow-overlap":!0,"icon-anchor":(u==null?void 0:u.icon_anchor)||"bottom"},paint:{"icon-opacity":u.opacity||1}};return[...x,o]}const p=u.type||"point";return p==="polygon"?Nx(u):p==="line"?qx(u):Ux(u)}function Hx(u){return u.startsWith("http")?u:`${window.location.origin}${u}`}function Wx(u){const{id:p,sourceLayer:y,url:b,bounds:k,title:P,style:x,service:o,service_type:B,source_type:D,data:M}=u,O=Hx(b),L=B||o||D||"vector";switch(L){case"vtile":case"vector":return Zx(p,y,O,k,P,x);case"raster":return Kx(p,O,k,P,x);case"geojson":return Gx(p,M||O,k,P,x);default:throw new Error(`Unsupported layer service type: ${L}`)}}function ay(u){switch(u){case"polygon":return{type:"polygon",color:"#3388ff",opacity:.5};case"line":return{type:"line",color:"#3388ff",opacity:1};case"point":default:return{type:"point",color:"#3388ff",radius:6,opacity:1}}}function Zx(u,p,y,b,k,P){const x=p||(y.match(/\/vtile\/([^/]+)/)||[])[1],o={type:"vector",tiles:[y],...b&&{bounds:b}},B=P||ay("polygon"),M=sy(B).map((O,L)=>({...O,id:`${u}-${L}`,"source-layer":x||u,source:u}));return{id:u,title:k,source:o,layers:M,visible:!0}}function Kx(u,p,y,b,k){const P={type:"raster",tiles:[p],tileSize:256,...y&&{bounds:y}},x=k||{},o={id:u,type:"raster",source:u,layout:{visibility:"visible"},...x&&{paint:x}};return{id:u,title:b,source:P,layers:[o],visible:!0}}function Gx(u,p,y,b,k){var M;const P={type:"geojson",data:p,...y&&{bounds:y}};let x="point";if(p&&p.features&&p.features.length>0){const O=(M=p.features[0].geometry)==null?void 0:M.type;O==="Polygon"||O==="MultiPolygon"?x="polygon":O==="LineString"||O==="MultiLineString"?x="line":x="point"}const o=k||ay(x),D=sy(o).map((O,L)=>({...O,id:`${u}-${L}`,source:u}));return{id:u,title:b,source:P,layers:D,visible:!0}}function Jx(u){if(!u||u.attrType!=="icon-by-attribute")return[];const p=new Set;return u.default_icon&&p.add(u.default_icon),Array.isArray(u.rules)&&u.rules.forEach(y=>{y.icon&&p.add(y.icon)}),Array.from(p).map(y=>({name:y,url:(u.icon_base_url||"")+y}))}function Xx(u){const p=new Set;function y(b){typeof b=="string"?p.add(b):Array.isArray(b)&&b.forEach(y)}return u&&u["icon-image"]&&y(u["icon-image"]),Array.from(p)}async function ly(u,p){const y=p.map(async({name:b,url:k})=>{const P=await u.loadImage(k);return{name:b,data:P.data}});try{const b=await Promise.all(y);for(const{name:k,data:P}of b)u.hasImage(k)||u.addImage(k,P)}catch(b){console.error("Failed to load icons:",b)}}function Qx(u,p,y="/icons/"){const k=Xx(p).map(P=>({name:P,url:y+P}));return ly(u,k)}async function Us(u,p){const y=Wx(p),b=Jx(p.style);b.length>0&&await ly(u,b),p.layout&&p.layout["icon-image"]&&await Qx(u,p.layout),u.getSource(y.id)||u.addSource(y.id,y.source);for(const k of y.layers)p.visible!==void 0&&(k.layout={...k.layout,visibility:p.visible?"visible":"none"}),u.getLayer(k.id)?u.setLayoutProperty(k.id,"visibility",p.visible?"visible":"none"):await u.addLayer(k);return y}function Qa(u,p){u.getStyle().layers.filter(k=>k.source===p).forEach(k=>{u.removeLayer(k.id)}),u.getSource(p)&&u.removeSource(p)}const Yx={class:"w-full flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative"},$x={class:"flex flex-col justify-between h-full pb-5 px-5"},eb={key:0,class:"relative mb-[10px]"},tb={width:"16",height:"17",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0px, -50%)"}},rb={key:1,class:"mb-4"},ib={class:""},nb={class:"space-y-2"},ob={class:"flex items-center gap-[10px] text-gray-500"},sb={class:"dataset-checkbox-container flex"},ab=["onUpdate:modelValue","onChange"],lb={class:"text-sm"},cb=["onClick"],ub=["innerHTML"],hb={key:0,class:"text-sm text-gray-500 text-center py-2"},db={__name:"vs-layers-widget",props:{map:{type:Object,required:!0},history:{type:Boolean,default:!1},config:{type:Object,default:()=>({layers:[],search:!1,allow_toggle_all:!1})},position:{type:String,default:"bottom-left"},hasFilters:{type:Boolean,default:!1}},emits:["set-filter-layer","update:enabledLayerIds"],setup(u,{emit:p}){const y=u,b=p,k=_.ref("");_.computed(()=>ny(y.position));const P=_.ref([]);function x(){const T=new URLSearchParams(window.location.search).get("layers");return T?T.split(","):[]}function o(C){const T=new URLSearchParams(window.location.search);C.length>0?T.set("layers",C.join(",")):T.delete("layers");const U=`${window.location.pathname}?${T.toString()}`;window.history.replaceState({},"",U)}_.onMounted(()=>{let C=[];y.history&&(C=x()),C.length>0?P.value=y.config.layers.map(T=>({...T,visible:C.includes(String(T.id))})):P.value=y.config.layers.map(T=>({...T,visible:T.visible??!1})),P.value.forEach(T=>{T.visible&&Us(y.map,T)}),b("update:enabledLayerIds",M())});const B=_.computed(()=>{if(!k.value)return P.value;const C=k.value.toLowerCase();return P.value.filter(T=>(T.title||T.name||T.label||"").toLowerCase().includes(C))}),D=_.computed(()=>P.value.every(C=>C.visible)),M=()=>P.value.filter(C=>C.visible).map(C=>C.id),O=C=>{C.visible?Us(y.map,C):(Qa(y.map,C.id),b("set-filter-layer",null)),y.map.getStyle().layers.filter(G=>G.source===C.id).forEach(G=>{y.map.setLayoutProperty(G.id,"visibility",C.visible?"visible":"none")}),b("update:enabledLayerIds",M())},L=()=>{const C=!D.value;P.value.forEach(T=>{T.visible=C,C?Us(y.map,T):Qa(y.map,T.id)}),C||b("set-filter-layer",null),b("update:enabledLayerIds",M())};return _.watch(()=>M(),C=>{y.history&&o(C)},{deep:!0}),(C,T)=>(_.openBlock(),_.createElementBlock("div",Yx,[T[2]||(T[2]=_.createElementVNode("div",{class:"p-5 pb-3 flex justify-between items-center"},[_.createElementVNode("h2",{class:"inline-block font-semibold text-lg text-gray-800"},"Шари")],-1)),_.createElementVNode("div",$x,[u.config.search?(_.openBlock(),_.createElementBlock("div",eb,[_.withDirectives(_.createElementVNode("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=U=>k.value=U),placeholder:"Введіть назву шару...",class:"py-[7px] ps-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none"},null,512),[[_.vModelText,k.value]]),(_.openBlock(),_.createElementBlock("svg",tb,T[1]||(T[1]=[_.createElementVNode("path",{d:"M7.33333 13.1667C10.2789 13.1667 12.6667 10.7789 12.6667 7.83333C12.6667 4.88781 10.2789 2.5 7.33333 2.5C4.38781 2.5 2 4.88781 2 7.83333C2 10.7789 4.38781 13.1667 7.33333 13.1667Z",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),_.createElementVNode("path",{d:"M13.9995 14.5L11.1328 11.6333",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])))])):_.createCommentVNode("",!0),u.config.allow_toggle_all?(_.openBlock(),_.createElementBlock("div",rb,[_.createElementVNode("button",{onClick:L,class:"w-full py-[7px] bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"},_.toDisplayString(D.value?"Вимкнути всі":"Увімкнути всі"),1)])):_.createCommentVNode("",!0),_.createElementVNode("div",ib,[_.createElementVNode("ul",nb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(B.value,U=>(_.openBlock(),_.createElementBlock("li",{key:U.id,class:"flex flex-wrap justify-between items-center gap-x-2"},[_.createElementVNode("label",ob,[_.createElementVNode("span",sb,[_.withDirectives(_.createElementVNode("input",{class:"dataset-checkbox",type:"checkbox","onUpdate:modelValue":G=>U.visible=G,onChange:()=>O(U)},null,40,ab),[[_.vModelCheckbox,U.visible]])]),_.createElementVNode("span",lb,_.toDisplayString(U.title||U.name||U.label),1)]),U.actions&&U.visible?(_.openBlock(!0),_.createElementBlock(_.Fragment,{key:0},_.renderList(U.actions,G=>(_.openBlock(),_.createElementBlock("div",{key:G.id},[_.createElementVNode("button",{class:"text-sm text-gray-500",onClick:ie=>C.$emit("show-widget",G.widget)},[_.createElementVNode("div",{innerHTML:G.icon},null,8,ub)],8,cb)]))),128)):_.createCommentVNode("",!0)]))),128)),k.value&&B.value.length===0?(_.openBlock(),_.createElementBlock("li",hb," Шарів не знайдено ")):_.createCommentVNode("",!0)])])])]))}},pb={class:"legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative"},fb={key:0,class:"p-5 pb-3 flex justify-between items-start gap-[30px]"},mb={class:"inline-block font-semibold text-lg text-gray-800 dark:text-neutral-200"},gb={class:"flex flex-col gap-1"},yb={class:"flex flex-col gap-1 p-5 pt-0"},_b=["innerHTML"],vb={__name:"vs-info-widget",props:{config:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.title)||""}),b=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.content)||""}),k=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.goTo)||[]});return(P,x)=>{var D,M;const o=_.resolveComponent("VsPopover"),B=_.resolveComponent("router-link");return _.openBlock(),_.createElementBlock("div",pb,[y.value||(D=k.value)!=null&&D.length?(_.openBlock(),_.createElementBlock("div",fb,[_.createElementVNode("h2",mb,_.toDisplayString(y.value),1),(M=k.value)!=null&&M.length?(_.openBlock(),_.createBlock(o,{key:0,placement:"bottom"},{reference:_.withCtx(()=>[_.createVNode(o,{trigger:"hover",placement:"right"},{reference:_.withCtx(()=>x[0]||(x[0]=[_.createElementVNode("div",{class:"flex items-center justify-center h-8 w-8 transition-colors rounded-full hover:bg-gray-100 cursor-pointer"},[_.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_.createElementVNode("path",{d:"M4 12H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"}),_.createElementVNode("path",{d:"M4 6H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"}),_.createElementVNode("path",{d:"M4 18H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)])),default:_.withCtx(()=>[x[1]||(x[1]=_.createTextVNode(" Перейти на карту "))]),_:1})]),default:_.withCtx(()=>[_.createElementVNode("div",gb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.value,O=>(_.openBlock(),_.createElementBlock("div",{key:O.label},[O.url?(_.openBlock(),_.createBlock(B,{key:0,to:O.url,class:"text-sm text-gray-800 dark:text-neutral-200 hover:bg-gray-100 hover:text-blue-600 transition-colors rounded px-2 py-1 block"},{default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(O.label),1)]),_:2},1032,["to"])):_.createCommentVNode("",!0)]))),128))])]),_:1})):_.createCommentVNode("",!0)])):_.createCommentVNode("",!0),_.createElementVNode("div",yb,[_.createElementVNode("div",{innerHTML:b.value},null,8,_b)])])}}},xb=pr(vb,[["__scopeId","data-v-187a97ca"]]),bb={class:"w-full flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative overflow-hidden"},wb={key:0,class:"p-5 pb-3 flex justify-between items-center"},Sb={class:"inline-block font-semibold text-lg text-gray-800"},Ab={key:1,class:"flex"},kb={class:"flex items-center mx-[8px]"},Cb={class:"min-h-[34px] max-h-[34px] overflow-hidden min-w-[34px] flex justify-center items-center bg-stone-100 text-stone-800 py-2 px-3 text-sm rounded-lg"},Tb={class:"min-h-[34px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},Eb={class:"flex flex-col justify-between pb-5 px-5 h-full overflow-y-auto flex-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent"},Pb={key:0,class:"text-center"},Ib={key:1,class:"text-red-500"},Mb={key:2},Lb=["innerHTML"],Rb={key:1,class:"flow-root"},Db={class:"-my-3 divide-y divide-gray-100 text-sm"},zb={class:"font-medium text-gray-900"},Bb={class:"text-gray-700 sm:col-span-2"},Vb={key:2,class:"vs-map-card-info__nodata"},cy={__name:"vs-card-widget",props:{config:{type:Object,required:!0},cardValues:{type:Object,required:!0}},emits:["close","content-resize"],setup(u,{emit:p}){const y=u,b=p,k=_.computed(()=>{var G;return((G=y.config)==null?void 0:G.title)||""}),P=_.ref([]),x=_.ref(!1),o=_.ref(null),B=_.ref(0),D=_.computed(()=>B.value+1),M=_.computed(()=>{var G;return((G=y.info)==null?void 0:G.length)||0}),O=_.computed(()=>P.value[B.value]),L=_.computed(()=>{if(!O.value)return{};const{rows:G,columns:ie}=O.value;return!G||!ie?{}:ie.reduce((le,Ie)=>(!Ie.hide&&!["geom","geodata","id"].includes(Ie.name)&&(le[Ie.ua]=G[Ie.name]??"-"),le),{})});async function C(){var G,ie,le;x.value=!0,o.value=null;try{const Ie={id:(G=y.cardValues)==null?void 0:G.id,layer:(ie=y.cardValues)==null?void 0:ie.layer,map:(le=y.cardValues)==null?void 0:le.map},ee=await Br.get("/api/map-format",{params:Ie});P.value[B.value]=ee.data}catch(Ie){o.value=(Ie==null?void 0:Ie.message)||"Помилка запиту"}finally{x.value=!1,await _.nextTick(),b("content-resize")}}function T(){B.value<y.info.length-1&&(B.value+=1,P.value[B.value]||C())}function U(){B.value>0&&(B.value-=1,P.value[B.value]||C())}return _.onMounted(async()=>{await _.nextTick(),C()}),_.watch(()=>y.info,()=>{B.value=0,C(),b("content-resize")},{deep:!0}),_.watch([()=>y.cardValues,()=>y.config],async()=>{await _.nextTick(),C(),b("content-resize")}),(G,ie)=>{var le;return _.openBlock(),_.createElementBlock("div",bb,[k.value?(_.openBlock(),_.createElementBlock("div",wb,[_.createElementVNode("h2",Sb,_.toDisplayString(k.value),1),_.createElementVNode("button",{type:"button",class:"size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600 ml-2",onClick:ie[0]||(ie[0]=Ie=>b("close"))},ie[1]||(ie[1]=[_.createElementVNode("svg",{class:"shrink-0 size-4 cursor-pointer",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[_.createElementVNode("path",{d:"M18 6 6 18"}),_.createElementVNode("path",{d:"m6 6 12 12"})],-1)]))])):_.createCommentVNode("",!0),M.value>1?(_.openBlock(),_.createElementBlock("div",Ab,[_.createElementVNode("button",{type:"button",class:_.normalizeClass([{"opacity-flex items-center justify-between border-b px-[16px] py-[8px]50 pointer-events-none":D.value===1},"min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"]),onClick:U}," ◀ ",2),_.createElementVNode("div",kb,[_.createElementVNode("span",Cb,_.toDisplayString(D.value),1),ie[2]||(ie[2]=_.createElementVNode("span",{class:"min-h-[34px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},"з",-1)),_.createElementVNode("span",Tb,_.toDisplayString(M.value),1)]),_.createElementVNode("button",{type:"button",onClick:T,class:_.normalizeClass([{"opacity-50 pointer-events-none":D.value===M.value},"min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"])}," ▶ ",2)])):_.createCommentVNode("",!0),_.createElementVNode("div",Eb,[x.value?(_.openBlock(),_.createElementBlock("div",Pb,"Завантаження даних...")):o.value?(_.openBlock(),_.createElementBlock("div",Ib,"Помилка завантаження даних")):(_.openBlock(),_.createElementBlock("div",Mb,[(le=O.value)!=null&&le.html?(_.openBlock(),_.createElementBlock("div",{key:0,innerHTML:O.value.html,class:"custom-table-html border-b"},null,8,Lb)):Object.keys(L.value).length?(_.openBlock(),_.createElementBlock("div",Rb,[_.createElementVNode("dl",Db,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(L.value,(Ie,ee)=>(_.openBlock(),_.createElementBlock("div",{key:ee,class:"grid grid-cols-1 gap-1 py-3 even:bg-gray-50 sm:grid-cols-3 sm:gap-4"},[_.createElementVNode("dt",zb,_.toDisplayString(ee),1),_.createElementVNode("dd",Bb,_.toDisplayString(Ie),1)]))),128))])])):(_.openBlock(),_.createElementBlock("div",Vb,"Даних не знайдено."))]))])])}}},Ob={class:"size-full flex flex-col bg-white border border-gray-200 shadow-2xs rounded-xl dark:bg-neutral-800 dark:border-neutral-700"},Fb={key:0,class:"p-5 pb-0 items-center"},Nb={class:"inline-block font-semibold text-lg text-gray-800 dark:text-neutral-200"},qb={class:"h-full p-5"},Ub={class:"h-full flex flex-col justify-between space-y-4"},jb={class:"space-y-4"},Hb={key:0,class:"flex gap-x-1 w-full h-2.5 rounded-full overflow-hidden"},Wb=["aria-valuenow"],Zb={class:"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center rounded-lg group hover:bg-gray-100"},Kb=["for"],Gb={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Jb=["id","onUpdate:modelValue"],Xb={class:"ms-2 text-gray-800 dark:text-neutral-200"},Qb={key:0,class:"ms-auto text-xs text-gray-500 dark:text-neutral-500"},Yb={__name:"vs-attributre-widget",props:{config:{type:Object,required:!0},map:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var B;return((B=p.config)==null?void 0:B.title)||""}),b=_.ref([]),k=_.computed(()=>p.config.layer.style.rules.some(B=>B.count!==void 0)),P=_.computed(()=>p.config.layer.style.rules.reduce((B,D)=>B+(D.count||0),0)),x=B=>!B||P.value===0?0:Math.round(B/P.value*100),o=()=>{const D=p.config.layer.style.rules.filter((M,O)=>b.value[O]).map(M=>M.id||M.value).join(",");if(p.config.layer.id){const M=p.map.getSource(p.config.layer.id);if(M){const L=M.tiles[0].split("?filter=")[0],C=D?`${L}?filter=${p.config.layer.style.attribute}=${D}`:L;M.setTiles([C])}}};return _.onMounted(()=>{var B;(B=p.config)!=null&&B.layer&&(Us(p.map,p.config.layer),b.value=new Array(p.config.layer.style.rules.length).fill(!1))}),(B,D)=>(_.openBlock(),_.createElementBlock("div",Ob,[y.value?(_.openBlock(),_.createElementBlock("div",Fb,[_.createElementVNode("div",null,[_.createElementVNode("h2",Nb,_.toDisplayString(y.value),1)])])):_.createCommentVNode("",!0),_.createElementVNode("div",qb,[_.createElementVNode("div",Ub,[_.createElementVNode("div",jb,[k.value?(_.openBlock(),_.createElementBlock("div",Hb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(u.config.layer.style.rules,(M,O)=>(_.openBlock(),_.createElementBlock("div",{key:O,class:"flex flex-col justify-center overflow-hidden text-xs text-white text-center whitespace-nowrap",style:_.normalizeStyle({width:`${x(M.count)}%`,backgroundColor:M.color}),role:"progressbar","aria-valuenow":x(M.count),"aria-valuemin":"0","aria-valuemax":"100"},null,12,Wb))),128))])):_.createCommentVNode("",!0),_.createElementVNode("ul",null,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(u.config.layer.style.rules,(M,O)=>(_.openBlock(),_.createElementBlock("li",{key:O},[_.createElementVNode("div",Zb,[_.createElementVNode("label",{for:`filter-${O}`,class:"flex items-center w-full cursor-pointer"},[_.createElementVNode("div",{class:"w-[18px] h-[18px] border rounded-[4px] flex items-center justify-center",style:_.normalizeStyle({background:b.value[O]?M.color||"#2563eb":"#fff",borderColor:b.value[O]?M.color||"#2563eb":M.color||"#d9d9d9"})},[b.value[O]?(_.openBlock(),_.createElementBlock("img",Gb)):_.createCommentVNode("",!0)],4),_.withDirectives(_.createElementVNode("input",{type:"checkbox",id:`filter-${O}`,"onUpdate:modelValue":L=>b.value[O]=L,onChange:o,class:"hidden",disabled:!1},null,40,Jb),[[_.vModelCheckbox,b.value[O]]]),_.createElementVNode("span",Xb,_.toDisplayString(M.label||M.text),1),k.value?(_.openBlock(),_.createElementBlock("span",Qb,"("+_.toDisplayString(M.count)+")",1)):_.createCommentVNode("",!0)],8,Kb)])]))),128))])])])])]))}},$b={class:"hover:bg-gray-100 rounded-lg flex items-center ml-[20px] py-[8px] px-[8px]"},e1=["for"],t1={class:"custom-checkbox-wrapper"},r1=["id","checked"],i1={class:"custom-checkbox"},n1={key:0,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none"},o1={class:"flex items-center justify-between ml-2 w-full"},s1=["title"],a1={key:0,class:"text-xs opacity-60 text-[#4b5563]"},l1={__name:"vs-map-catalog-item",props:{layer:{type:Object,required:!0},map:{type:Object,default:()=>null},selectedLayers:{type:Array,default:()=>[]}},emits:["select","remove"],setup(u,{emit:p}){const y=u,b=p,k=_.computed(()=>y.selectedLayers.some(o=>o.id===y.layer.id)),P=o=>Intl.NumberFormat("uk",{notation:"compact"}).format(o),x=o=>{b(o?"select":"remove",y.layer)};return(o,B)=>{var D,M,O,L,C;return _.openBlock(),_.createElementBlock("div",$b,[_.createElementVNode("label",{class:"flex items-center w-full cursor-pointer",for:u.layer.id},[_.createElementVNode("div",t1,[_.createElementVNode("input",{id:u.layer.id,type:"checkbox",checked:k.value,onChange:B[0]||(B[0]=T=>x(T.target.checked)),class:"custom-checkbox-input"},null,40,r1),_.createElementVNode("div",i1,[k.value?(_.openBlock(),_.createElementBlock("svg",n1,B[1]||(B[1]=[_.createElementVNode("path",{d:"M10.6663 1L4.24967 7.41667L1.33301 4.5",stroke:"#fff","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))):_.createCommentVNode("",!0)])]),_.createElementVNode("div",o1,[_.createElementVNode("div",{class:"whitespace-nowrap text text-ellipsis max-w-[260px] overflow-hidden text-[13px] text-[#4b5563]",title:(D=u.layer)==null?void 0:D.name},_.toDisplayString(((M=u.layer)==null?void 0:M.name)||((O=u.layer)==null?void 0:O.title)),9,s1),isNaN(P((L=u.layer)==null?void 0:L.count))?_.createCommentVNode("",!0):(_.openBlock(),_.createElementBlock("div",a1,_.toDisplayString(P((C=u.layer)==null?void 0:C.count)),1))])],8,e1)])}}},c1=pr(l1,[["__scopeId","data-v-b96f3537"]]),u1={},h1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-zoom-in"};function d1(u,p){return _.openBlock(),_.createElementBlock("svg",h1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"},null,-1),_.createElementVNode("line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"},null,-1),_.createElementVNode("line",{x1:"11",x2:"11",y1:"8",y2:"14"},null,-1),_.createElementVNode("line",{x1:"8",x2:"14",y1:"11",y2:"11"},null,-1)]))}const p1=pr(u1,[["render",d1]]),f1={},m1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-info"};function g1(u,p){return _.openBlock(),_.createElementBlock("svg",m1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),_.createElementVNode("path",{d:"M12 16v-4"},null,-1),_.createElementVNode("path",{d:"M12 8h.01"},null,-1)]))}const y1=pr(f1,[["render",g1]]),_1={},v1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-table"};function x1(u,p){return _.openBlock(),_.createElementBlock("svg",v1,p[0]||(p[0]=[_.createElementVNode("path",{d:"M12 3v18"},null,-1),_.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),_.createElementVNode("path",{d:"M3 9h18"},null,-1),_.createElementVNode("path",{d:"M3 15h18"},null,-1)]))}const b1=pr(_1,[["render",x1]]),w1={},S1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-trash2"};function A1(u,p){return _.openBlock(),_.createElementBlock("svg",S1,p[0]||(p[0]=[_.createStaticVNode('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>',5)]))}const k1=pr(w1,[["render",A1]]),C1={},T1={xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-more-vertical text-gray-600"};function E1(u,p){return _.openBlock(),_.createElementBlock("svg",T1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"12",cy:"12",r:"1"},null,-1),_.createElementVNode("circle",{cx:"12",cy:"5",r:"1"},null,-1),_.createElementVNode("circle",{cx:"12",cy:"19",r:"1"},null,-1)]))}const P1=pr(C1,[["render",E1]]),I1={},M1={width:"6",height:"10",viewBox:"0 0 6 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function L1(u,p){return _.openBlock(),_.createElementBlock("svg",M1,p[0]||(p[0]=[_.createElementVNode("path",{d:"M1 9L5 5L1 1",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const R1=pr(I1,[["render",L1]]);var cc={exports:{}},D1=cc.exports,Sm;function z1(){return Sm||(Sm=1,function(u,p){(function(y,b){b(p)})(D1,function(y){var b,k,P="smooth-dnd-container-instance",x="smooth-dnd-draggable-wrapper",o="animated",B="__smooth_dnd_draggable_translation_value",D="__smooth_dnd_draggable_visibility_value",M="smooth-dnd-ghost",O="smooth-dnd-container",L="smooth-dnd-extra-size-for-insertion",C="smooth-dnd-stretcher-element",T="smooth-dnd-stretcher-instance",U="smooth-dnd-disable-touch-action",G="smooth-dnd-no-user-select",ie="smooth-dnd-prevent-auto-scroll-class",le="smooth-dnd-drop-preview-default-class",Ie="smooth-dnd-drop-preview-inner-class",ee="smooth-dnd-drop-preview-constant-class",me="smooth-dnd-drop-preview-flex-container-class",Le=Object.freeze({containerInstance:P,defaultGroupName:"@@smooth-dnd-default-group@@",wrapperClass:x,defaultGrabHandleClass:"smooth-dnd-default-grap-handle",animationClass:o,translationValue:B,visibilityValue:D,ghostClass:M,containerClass:O,extraSizeForInsertion:L,stretcherElementClass:C,stretcherElementInstance:T,isDraggableDetached:"smoth-dnd-is-draggable-detached",disbaleTouchActions:U,noUserSelectClass:G,preventAutoScrollClass:ie,dropPlaceholderDefaultClass:le,dropPlaceholderInnerClass:Ie,dropPlaceholderWrapperClass:ee,dropPlaceholderFlexContainerClass:me}),qe={groupName:void 0,behaviour:"move",orientation:"vertical",getChildPayload:void 0,animationDuration:250,autoScrollEnabled:!0,shouldAcceptDrop:void 0,shouldAnimateDrop:void 0};function rt(ce){return(rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ue){return typeof ue}:function(ue){return ue&&typeof Symbol=="function"&&ue.constructor===Symbol&&ue!==Symbol.prototype?"symbol":typeof ue})(ce)}function St(ce,ue,de){return ue in ce?Object.defineProperty(ce,ue,{value:de,enumerable:!0,configurable:!0,writable:!0}):ce[ue]=de,ce}function yt(ce){return function(ue){if(Array.isArray(ue)){for(var de=0,ve=new Array(ue.length);de<ue.length;de++)ve[de]=ue[de];return ve}}(ce)||function(ue){if(Symbol.iterator in Object(ue)||Object.prototype.toString.call(ue)==="[object Arguments]")return Array.from(ue)}(ce)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}(k=b||(b={})).x="x",k.y="y",k.xy="xy";function ct(ce,ue,de){return de==="x"?{left:Math.max(ce.left,ue.left),top:ce.top,right:Math.min(ce.right,ue.right),bottom:ce.bottom}:{left:ce.left,top:Math.max(ce.top,ue.top),right:ce.right,bottom:Math.min(ce.bottom,ue.bottom)}}function _t(ce){var ue=window.getComputedStyle(ce),de=ue.overflow;if(de==="auto"||de==="scroll")return b.xy;var ve=ue["overflow-x"],Ee=ve==="auto"||ve==="scroll",Ve=ue["overflow-y"],at=Ve==="auto"||Ve==="scroll";return Ee&&at?b.xy:Ee?b.x:at?b.y:null}function qt(ce,ue){var de=window.getComputedStyle(ce),ve=de.overflow,Ee=de["overflow-".concat(ue)];return ve==="auto"||ve==="scroll"||Ee==="auto"||Ee==="scroll"}var Qt=function(ce,ue){return{left:Math.max(ce.left,ue.left),top:Math.max(ce.top,ue.top),right:Math.min(ce.right,ue.right),bottom:Math.min(ce.bottom,ue.bottom)}},xr=function(ce){var ue=ce.getBoundingClientRect(),de={left:ue.left,right:ue.right,top:ue.top,bottom:ue.bottom};if(ti(ce,"x")&&!gr(ce,"x")){var ve=de.right-de.left;de.right=de.right+ce.scrollWidth-ve}if(ti(ce,"y")&&!gr(ce,"y")){var Ee=de.bottom-de.top;de.bottom=de.bottom+ce.scrollHeight-Ee}return de},gr=function(ce,ue){var de=window.getComputedStyle(ce),ve=de.overflow,Ee=de["overflow-".concat(ue)];return ve==="auto"||ve==="scroll"||ve==="hidden"||Ee==="auto"||Ee==="scroll"||Ee==="hidden"},ti=function(ce,ue){return ue==="x"?ce.scrollWidth>ce.clientWidth:ce.scrollHeight>ce.clientHeight},ar=function(ce,ue){var de=ce,ve=ue||xr(ce);for(de=ce.parentElement;de;)ti(de,"x")&&gr(de,"x")&&(ve=ct(ve,de.getBoundingClientRect(),"x")),ti(de,"y")&&gr(de,"y")&&(ve=ct(ve,de.getBoundingClientRect(),"y")),de=de.parentElement;return ve},Zi=function(ce,ue){for(var de=ce;de;){if(de[P]){var ve=function(){var Ee=de[P];if(ue.some(function(Ve){return Ve===Ee}))return{v:Ee}}();if(rt(ve)==="object")return ve.v}de=de.parentElement}return null},Nr=function(ce,ue){for(var de=ce;de;){if(de.matches(ue))return de;de=de.parentElement}return null},Ki=function(ce,ue){return-1<ce.className.split(" ").map(function(de){return de}).indexOf(ue)},fr=function(ce,ue){if(ce){var de=ce.className.split(" ").filter(function(ve){return ve});de.indexOf(ue)===-1&&(de.unshift(ue),ce.className=de.join(" "))}},on=function(ce,ue){if(ce){var de=ce.className.split(" ").filter(function(ve){return ve&&ve!==ue});ce.className=de.join(" ")}},Ti=function(ce,ue){return ce.removeChild(ce.children[ue])},Ur=function(ce,ue,de){de>=ce.children.length?ce.appendChild(ue):ce.insertBefore(ue,ce.children[de])},Bi=function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():window.document.selection&&window.document.selection.empty()},ri=function(ce){if(ce){var ue=window.getComputedStyle(ce);if(ue)return ue.cursor}return null};function Gi(ce){return!(ce.bottom<=ce.top||ce.right<=ce.left)}function Vi(ce){var ue=ce.element,de=ce.draggables;return function(ve,Ee){var Ve=ve,at=Ve.removedIndex,Je=Ve.addedIndex,nt=Ve.droppedElement,Be=null;if(at!==null&&(Be=Ti(ue,at),de.splice(at,1)),Je!==null){var Ke=window.document.createElement("div");Ke.className="".concat(x),Ke.appendChild(Be&&Be.firstElementChild?Be.firstElementChild:nt),Ur(ue,Ke,Je),Je>=de.length?de.push(Ke):de.splice(Je,0,Ke)}Ee&&Ee(ve)}}var Cn=Object.freeze({domDropHandler:Vi,reactDropHandler:function(){return{handler:function(){return function(ce,ue){ue&&ue(ce)}}}}}),Gr={size:"offsetWidth",distanceToParent:"offsetLeft",translate:"transform",begin:"left",end:"right",dragPosition:"x",scrollSize:"scrollWidth",offsetSize:"offsetWidth",scrollValue:"scrollLeft",scale:"scaleX",setSize:"width",setters:{translate:function(ce){return"translate3d(".concat(ce,"px, 0, 0)")}}},fi={size:"offsetHeight",distanceToParent:"offsetTop",translate:"transform",begin:"top",end:"bottom",dragPosition:"y",scrollSize:"scrollHeight",offsetSize:"offsetHeight",scrollValue:"scrollTop",scale:"scaleY",setSize:"height",setters:{translate:function(ce){return"translate3d(0,".concat(ce,"px, 0)")}}};function Jr(ce,ue,de){ce[L]=0;var ve=function(Be){return{get:function(Ke,Ye){return Ke[Be[Ye]||Ye]},set:function(Ke,Ye,ft){Ke[Be[Ye]]=Be.setters[Ye]?Be.setters[Ye](ft):ft}}}(ue==="horizontal"?Gr:fi),Ee={translation:0};function Ve(){at(ce),function(Be){var Ke=Be.getBoundingClientRect();Ee.scaleX=Be.offsetWidth?(Ke.right-Ke.left)/Be.offsetWidth:1,Ee.scaleY=Be.offsetHeight?(Ke.bottom-Ke.top)/Be.offsetHeight:1}(ce)}function at(Be){Ee.rect=xr(Be);var Ke=ar(Be,Ee.rect);Gi(Ke)&&(Ee.lastVisibleRect=Ee.visibleRect),Ee.visibleRect=Ke}function Je(Be){var Ke=Be;if(Ke.tagName){var Ye=Ke.getBoundingClientRect();return ue==="vertical"?Ye.bottom-Ye.top:Ye.right-Ye.left}return ve.get(Be,"size")*ve.get(Ee,"scale")}function nt(Be){return ve.get(Be,"dragPosition")}return window.addEventListener("resize",function(){at(ce)}),setTimeout(function(){Ve()},10),{getSize:Je,getContainerRectangles:function(){return{rect:Ee.rect,visibleRect:Ee.visibleRect,lastVisibleRect:Ee.lastVisibleRect}},getBeginEndOfDOMRect:function(Be){return{begin:ve.get(Be,"begin"),end:ve.get(Be,"end")}},getBeginEndOfContainer:function(){return{begin:ve.get(Ee.rect,"begin")+Ee.translation,end:ve.get(Ee.rect,"end")+Ee.translation}},getBeginEndOfContainerVisibleRect:function(){return{begin:ve.get(Ee.visibleRect,"begin")+Ee.translation,end:ve.get(Ee.visibleRect,"end")+Ee.translation}},getBeginEnd:function(Be){var Ke=function(Ye){return(ve.get(Ye,"distanceToParent")+(Ye[B]||0))*ve.get(Ee,"scale")}(Be)+(ve.get(Ee.rect,"begin")+Ee.translation)-ve.get(ce,"scrollValue");return{begin:Ke,end:Ke+Je(Be)*ve.get(Ee,"scale")}},getAxisValue:nt,setTranslation:function(Be,Ke){Ke?ve.set(Be.style,"translate",Ke):Be.style.removeProperty("transform"),Be[B]=Ke},getTranslation:function(Be){return Be[B]},setVisibility:function(Be,Ke){Be[D]!==void 0&&Be[D]===Ke||(Ke?Be.style.removeProperty("visibility"):Be.style.visibility="hidden",Be[D]=Ke)},isVisible:function(Be){return Be[D]===void 0||Be[D]},isInVisibleRect:function(Be,Ke){var Ye=Ee.visibleRect,ft=Ye.left,ht=Ye.top,ot=Ye.right,Kt=Ye.bottom;Kt-ht<2&&(Kt=ht+30);var pt=Ee.rect;return ue==="vertical"?Be>pt.left&&Be<pt.right&&ht<Ke&&Ke<Kt:ft<Be&&Be<ot&&Ke>pt.top&&Ke<pt.bottom},setSize:function(Be,Ke){ve.set(Be,"setSize",Ke)},getTopLeftOfElementBegin:function(Be){var Ke=0;return{top:ue==="horizontal"?(Ke=Be,Ee.rect.top):(Ke=Ee.rect.left,Be),left:Ke}},getScrollSize:function(Be){return ve.get(Be,"scrollSize")},getScrollValue:function(Be){return ve.get(Be,"scrollValue")},setScrollValue:function(Be,Ke){return ve.set(Be,"scrollValue",Ke)},invalidate:Ve,invalidateRects:function(){at(ce)},getPosition:function(Be){return nt(Be)},setBegin:function(Be,Ke){ve.set(Be,"begin",Ke)}}}function it(ce,ue,de){var ve,Ee,Ve,at=de.left,Je=de.right,nt=de.top,Be=de.bottom,Ke=ce.x,Ye=ce.y;if(Ke<at||Je<Ke||Ye<nt||Be<Ye)return null;Ve=ue==="x"?(ve=at,Ee=Je,Ke):(ve=nt,Ee=Be,Ye);var ft=Ee-ve,ht=400<ft?100:ft/4;return Ee-Ve<ht?{direction:"end",speedFactor:(ht-(Ee-Ve))/ht}:Ve-ve<ht?{direction:"begin",speedFactor:(ht-(Ve-ve))/ht}:null}function vt(ce){var ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"y",de=null,ve=null,Ee=null,Ve=null;return{animate:function(at,Je){Ee=at,Ve=Je,function nt(){de===null&&(de=requestAnimationFrame(function(Be){ve===null&&(ve=Be);var Ke=Be-ve;ve=Be;var Ye,ft,ht,ot=Ke/1e3*Ve;ft=ue,ht=ot=Ee==="begin"?0-ot:ot,(Ye=ce)&&(Ye!==window?ft==="x"?Ye.scrollLeft+=ht:Ye.scrollTop+=ht:ft==="x"?Ye.scrollBy(ht,0):Ye.scrollBy(0,ht)),de=null,nt()}))}()},stop:function(){de!==null&&(cancelAnimationFrame(de),de=null),ve=null}}}function At(ce){return function(){return ar(ce,ce.getBoundingClientRect())}}var Mt,Ht,Et,zt=function(ce){var ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1500,de=ce.reduce(function(ve,Ee){var Ve=function(at){for(var Je=[],nt=at.element;nt;){var Be=_t(nt);if(Be&&!Ki(nt,ie)){var Ke={};switch(Be){case b.xy:Ke.x={animator:vt(nt,"x")},Ke.y={animator:vt(nt,"y")};break;case b.x:Ke.x={animator:vt(nt,"x")};break;case b.y:Ke.y={animator:vt(nt,"y")}}Je.push({axisAnimations:Ke,getRect:At(nt),scrollerElement:nt})}nt=nt.parentElement}return Je}(Ee).filter(function(at){return!ve.find(function(Je){return Je.scrollerElement===at.scrollerElement})});return[].concat(yt(ve),yt(Ve))},[]);return function(ve){var Ee=ve.draggableInfo;if(ve.reset)de.forEach(function(Je){Je.axisAnimations.x&&Je.axisAnimations.x.animator.stop(),Je.axisAnimations.y&&Je.axisAnimations.y.animator.stop()});else if(Ee){(function(Je,nt){Je.forEach(function(Be){var Ke=Be.axisAnimations,Ye=(0,Be.getRect)();Ke.x&&(Ke.x.scrollParams=it(nt,"x",Ye),Be.cachedRect=Ye),Ke.y&&(Ke.y.scrollParams=it(nt,"y",Ye),Be.cachedRect=Ye)})})(de,Ee.mousePosition),de.forEach(function(Je){var nt=Je.axisAnimations,Be=nt.x,Ke=nt.y;if(Be)if(Be.scrollParams){var Ye=Be.scrollParams,ft=Ye.direction,ht=Ye.speedFactor;Be.animator.animate(ft,ht*ue)}else Be.animator.stop();if(Ke)if(Ke.scrollParams){var ot=Ke.scrollParams,Kt=ot.direction,pt=ot.speedFactor;Ke.animator.animate(Kt,pt*ue)}else Ke.animator.stop()});var Ve=de.filter(function(Je){return Je.cachedRect});if(Ve.length&&1<Ve.length){var at=function(Je,nt){for(var Be=document.elementFromPoint(nt.x,nt.y);Be;){var Ke=Je.find(function(Ye){return Ye.scrollerElement===Be});if(Ke)return Ke;Be=Be.parentElement}return null}(Ve,Ee.mousePosition);at&&Ve.forEach(function(Je){Je!==at&&(Je.axisAnimations.x&&Je.axisAnimations.x.animator.stop(),Je.axisAnimations.y&&Je.axisAnimations.y.animator.stop())})}}}};typeof window<"u"&&((Mt=Element)&&Mt.prototype&&!Mt.prototype.matches&&(Mt.prototype.matches=Mt.prototype.matchesSelector||Mt.prototype.mozMatchesSelector||Mt.prototype.msMatchesSelector||Mt.prototype.oMatchesSelector||Mt.prototype.webkitMatchesSelector||function(ce){for(var ue=(this.document||this.ownerDocument).querySelectorAll(ce),de=ue.length;0<=--de&&ue.item(de)!==this;);return-1<de}),(Ht=Node||Element)&&Ht.prototype&&Ht.prototype.firstElementChild==null&&Object.defineProperty(Ht.prototype,"firstElementChild",{get:function(){for(var ce,ue=this.childNodes,de=0;ce=ue[de++];)if(ce.nodeType===1)return ce;return null}}),Array.prototype.some||(Array.prototype.some=function(ce){if(this==null)throw new TypeError("Array.prototype.some called on null or undefined");if(typeof ce!="function")throw new TypeError;for(var ue=Object(this),de=ue.length>>>0,ve=2<=arguments.length?arguments[1]:void 0,Ee=0;Ee<de;Ee++)if(Ee in ue&&ce.call(ve,ue[Ee],Ee,ue))return!0;return!1}));var or={overflow:"hidden",display:"block"},Jt={height:"100%",display:"table-cell","vertical-align":"top"},Ir=(St(Et={},".".concat(O),{position:"relative","min-height":"30px","min-width":"30px"}),St(Et,".".concat(O,".horizontal"),{display:"table"}),St(Et,".".concat(O,".horizontal > .").concat(C),{display:"inline-block"}),St(Et,".".concat(O,".horizontal > .").concat(x),Jt),St(Et,".".concat(O,".vertical > .").concat(x),or),St(Et,".".concat(x),{"box-sizing":"border-box"}),St(Et,".".concat(x,".horizontal"),Jt),St(Et,".".concat(x,".vertical"),or),St(Et,".".concat(x,".animated"),{transition:"transform ease"}),St(Et,".".concat(M),{"box-sizing":"border-box"}),St(Et,".".concat(M,".animated"),{transition:"all ease-in-out"}),St(Et,".".concat(M," *"),{"pointer-events":"none"}),St(Et,".".concat(U," *"),{"touch-action":"none","-ms-touch-action":"none"}),St(Et,".".concat(G),{"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),St(Et,".".concat(Ie),{flex:"1"}),St(Et,".".concat(O,".horizontal > .").concat(ee),{height:"100%",overflow:"hidden",display:"table-cell","vertical-align":"top"}),St(Et,".".concat(O,".vertical > .").concat(ee),{overflow:"hidden",display:"block",width:"100%"}),St(Et,".".concat(me),{width:"100%",height:"100%",display:"flex","justify-content":"stretch","align-items":"stretch"}),St(Et,".".concat(le),{"background-color":"rgba(150, 150, 150, 0.1)",border:"1px solid #ccc"}),Et);function ii(ce){return Object.keys(ce).reduce(function(ue,de){var ve=ce[de];return rt(ve)==="object"?"".concat(ue).concat(de,"{").concat(ii(ve),"}"):"".concat(ue).concat(de,":").concat(ve,";")},"")}function Vr(ce){if(ce&&typeof window<"u"){var ue=window.document.head||window.document.getElementsByTagName("head")[0],de=window.document.createElement("style"),ve=ii({"body *":{cursor:"".concat(ce," !important")}});return de.type="text/css",de.styleSheet?de.styleSheet.cssText=ve:de.appendChild(window.document.createTextNode(ve)),ue.appendChild(de),de}return null}var ni,mi,Mi=["mousedown","touchstart"],gi=["mousemove","touchmove"],dr=["mouseup","touchend"],Wt=null,Pt=null,Bt=null,xt=null,ke=[],K=!1,Q=!1,te=!1,he=!1,xe=null,Y=null,Pe=null,Ae=null,Te=(ni=null,mi=!1,{start:function(){mi||(mi=!0,function ce(){ni=requestAnimationFrame(function(){Wt.forEach(function(ue){return ue.layout.invalidateRects()}),setTimeout(function(){ni!==null&&ce()},50)})}())},stop:function(){ni!==null&&(cancelAnimationFrame(ni),ni=null),mi=!1}}),ze=typeof window<"u"&&!!(window.navigator.userAgent.match(/Android/i)||window.navigator.userAgent.match(/webOS/i)||window.navigator.userAgent.match(/iPhone/i)||window.navigator.userAgent.match(/iPad/i)||window.navigator.userAgent.match(/iPod/i)||window.navigator.userAgent.match(/BlackBerry/i)||window.navigator.userAgent.match(/Windows Phone/i));function Me(){typeof window<"u"&&Mi.forEach(function(ce){window.document.addEventListener(ce,Zt,{passive:!1})})}function Qe(){return xt&&xt.ghostParent?xt.ghostParent:Pt&&Pt.parentElement||window.document.body}var ut,gt,It,jt,Vt,Ue,cr=(jt=null,Vt=1,Ue=5,function(ce,ue,de){ut=Li(ce),It=de,(gt=typeof ue=="number"?ue:ze?200:0)&&(jt=setTimeout(Rt,gt)),gi.forEach(function(ve){return window.document.addEventListener(ve,Yt)},{passive:!1}),dr.forEach(function(ve){return window.document.addEventListener(ve,sr)},{passive:!1}),window.document.addEventListener("drag",Ot,{passive:!1})});function Yt(ce){var ue=Li(ce),de=ue.clientX,ve=ue.clientY;if(gt)(Math.abs(ut.clientX-de)>Ue||Math.abs(ut.clientY-ve)>Ue)&&Xe();else if(Math.abs(ut.clientX-de)>Vt||Math.abs(ut.clientY-ve)>Vt)return Rt()}function sr(){Xe()}function Ot(){Xe()}function Xe(){clearTimeout(jt),gi.forEach(function(ce){return window.document.removeEventListener(ce,Yt)},{passive:!1}),dr.forEach(function(ce){return window.document.removeEventListener(ce,sr)},{passive:!1}),window.document.removeEventListener("drag",Ot,{passive:!1})}function Rt(){clearTimeout(jt),Xe(),It()}function Zt(ce){var ue=Li(ce);if(!K&&(ue.button===void 0||ue.button===0)&&(Pt=Nr(ue.target,"."+x))){var de=Nr(Pt,"."+O),ve=ke.filter(function(Je){return Je.element===de})[0],Ee=ve.getOptions().dragHandleSelector,Ve=ve.getOptions().nonDragAreaSelector,at=!0;Ee&&!Nr(ue.target,Ee)&&(at=!1),Ve&&Nr(ue.target,Ve)&&(at=!1),at&&(ve.layout.invalidate(),fr(window.document.body,U),fr(window.document.body,G),window.document.addEventListener("mouseup",function Je(){on(window.document.body,U),on(window.document.body,G),window.document.removeEventListener("mouseup",Je)})),at&&cr(ue,ve.getOptions().dragBeginDelay,function(){Bi(),Zn(ue,ri(ce.target)),gi.forEach(function(Je){window.document.addEventListener(Je,Ar,{passive:!1})}),dr.forEach(function(Je){window.document.addEventListener(Je,Tn,{passive:!1})})})}}function Ar(ce){ce.preventDefault();var ue=Li(ce);if(xt){var de=xt.container.getOptions();de.behaviour==="contain"?function(ve){var Ee,Ve,at,Je,nt=ve.clientX,Be=ve.clientY,Ke=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"vertical",Ye=xt.container.layout.getBeginEndOfContainerVisibleRect();Je=Ke==="vertical"?(Ee=Be,Ve="y",at="top",xt.size.offsetHeight):(Ee=nt,Ve="x",at="left",xt.size.offsetWidth);var ft=Ye.begin,ht=Ye.end-Je,ot=Math.max(ft,Math.min(ht,Ee+Bt.positionDelta[at]));Bt.topLeft[Ve]=ot,xt.position[Ve]=Math.max(Ye.begin,Math.min(Ye.end,Ee+Bt.centerDelta[Ve])),xt.mousePosition[Ve]=Math.max(Ye.begin,Math.min(Ye.end,Ee)),xt.position[Ve]<Ye.begin+Je/2&&(xt.position[Ve]=Ye.begin+2),xt.position[Ve]>Ye.end-Je/2&&(xt.position[Ve]=Ye.end-2)}(ue,de.orientation):Pe?Pe==="y"?(Bt.topLeft.y=ue.clientY+Bt.positionDelta.top,xt.position.y=ue.clientY+Bt.centerDelta.y,xt.mousePosition.y=ue.clientY):Pe==="x"&&(Bt.topLeft.x=ue.clientX+Bt.positionDelta.left,xt.position.x=ue.clientX+Bt.centerDelta.x,xt.mousePosition.x=ue.clientX):(Bt.topLeft.x=ue.clientX+Bt.positionDelta.left,Bt.topLeft.y=ue.clientY+Bt.positionDelta.top,xt.position.x=ue.clientX+Bt.centerDelta.x,xt.position.y=ue.clientY+Bt.centerDelta.y,xt.mousePosition.x=ue.clientX,xt.mousePosition.y=ue.clientY),uo(),(he=!xe(xt))&&co()}else Zn(ue,ri(ce.target))}var mr,yi,Gt,Oi,co=(mr=yn,Gt=!(yi=20),Oi=null,function(){for(var ce=arguments.length,ue=new Array(ce),de=0;de<ce;de++)ue[de]=arguments[de];Oi&&clearTimeout(Oi),Gt&&!Oi?mr.call.apply(mr,[null].concat(ue)):Oi=setTimeout(function(){Oi=null,mr.call.apply(mr,[null].concat(ue))},yi)});function yn(){he&&(he=!1,_n(xt,Wt))}function Tn(){gi.forEach(function(ce){window.document.removeEventListener(ce,Ar,{passive:!1})}),dr.forEach(function(ce){window.document.removeEventListener(ce,Tn,{passive:!1})}),Y({reset:!0}),Ae&&(function(ce){ce&&typeof window<"u"&&(window.document.head||window.document.getElementsByTagName("head")[0]).removeChild(ce)}(Ae),Ae=null),xt&&(Te.stop(),yn(),te=!0,function(ce){function ue(){on(Bt.ghost,"animated"),Bt.ghost.style.transitionDuration=null,Qe().removeChild(Bt.ghost),ce()}function de(pt,Ut,br){var ho=pt.top,Rn=pt.left;fr(Bt.ghost,"animated"),br&&fr(Bt.ghost.firstElementChild,br),Bt.topLeft.x=Rn,Bt.topLeft.y=ho,uo(Ut),setTimeout(function(){ue()},Ut+20)}function ve(pt,Ut){fr(Bt.ghost,"animated"),uo(pt,.9,!0),setTimeout(function(){Ut()},pt+20)}if(xt.targetElement){var Ee=ke.filter(function(pt){return pt.element===xt.targetElement})[0];!(Kt=Ee.getOptions()).shouldAnimateDrop||Kt.shouldAnimateDrop(xt.container.getOptions(),xt.payload)?de(Ee.getDragResult().shadowBeginEnd.rect,Math.max(150,Ee.getOptions().animationDuration/2),Ee.getOptions().dropClass):ue()}else{var Ve=ke.filter(function(pt){return pt===xt.container})[0];if(Ve){var at=Ve.getOptions(),Je=at.behaviour,nt=at.removeOnDropOut;if(Je!=="move"&&Je!=="contain"||!Q&&nt||!Ve.getDragResult())ve(Ve.getOptions().animationDuration,ue);else{var Be=Ve.layout.getContainerRectangles();if(!Gi(Be.visibleRect)&&Gi(Be.lastVisibleRect))de({top:Be.lastVisibleRect.top,left:Be.lastVisibleRect.left},Ve.getOptions().animationDuration,Ve.getOptions().dropClass);else{var Ke=Ve.getDragResult(),Ye=Ke.removedIndex,ft=Ke.elementSize,ht=Ve.layout;Ve.getTranslateCalculator({dragResult:{removedIndex:Ye,addedIndex:Ye,elementSize:ft,pos:void 0,shadowBeginEnd:void 0}});var ot=0<Ye?ht.getBeginEnd(Ve.draggables[Ye-1]).end:ht.getBeginEndOfContainer().begin;de(ht.getTopLeftOfElementBegin(ot),Ve.getOptions().animationDuration,Ve.getOptions().dropClass)}}}else ve(qe.animationDuration,ue)}var Kt}(function(){yr(K=!1);for(var ce=Wt||[],ue=ce.shift();ue!==void 0;)ue.handleDrop(xt),ue=ce.shift();xe=Pe=xt=Bt=Pt=Wt=null,te=!1}))}function Li(ce){return ce.touches?ce.touches[0]:ce}function _n(ce,ue){var de=!1;ue.forEach(function(ve){var Ee=ve.handleDrag(ce);de=!!Ee.containerBoxChanged||!1,Ee.containerBoxChanged=!1}),de&&(de=!1,requestAnimationFrame(function(){ke.forEach(function(ve){ve.layout.invalidateRects(),ve.onTranslated()})}))}function Er(ce){var ue=ce,de=null;return function(ve){return!(de!==null||!K||te)&&(de=requestAnimationFrame(function(){K&&!te&&(_n(ve,ue),Y({draggableInfo:ve})),de=null}),!0)}}function _i(ce,ue){return ce.getOptions().autoScrollEnabled?zt(ue,ce.getScrollMaxSpeed()):function(de){return null}}function yr(ce){ke.forEach(function(ue){var de=ce?ue.getOptions().onDragStart:ue.getOptions().onDragEnd;if(de){var ve={isSource:ue===xt.container,payload:xt.payload};ue.isDragRelevant(xt.container,xt.payload)?ve.willAcceptDrop=!0:ve.willAcceptDrop=!1,de(ve)}})}function Zn(ce,ue){if(Pt!==null){K=!0;var de=ke.filter(function(ve){return Pt.parentElement===ve.element})[0];de.setDraggables(),Pe=de.getOptions().lockAxis?de.getOptions().lockAxis.toLowerCase():null,xt=function(ve){var Ee=ke.filter(function(nt){return ve.parentElement===nt.element})[0],Ve=Ee.draggables.indexOf(ve),at=Ee.getOptions().getGhostParent,Je=ve.getBoundingClientRect();return{container:Ee,element:ve,size:{offsetHeight:Je.bottom-Je.top,offsetWidth:Je.right-Je.left},elementIndex:Ve,payload:Ee.getOptions().getChildPayload?Ee.getOptions().getChildPayload(Ve):void 0,targetElement:null,position:{x:0,y:0},groupName:Ee.getOptions().groupName,ghostParent:at?at():null,invalidateShadow:null,mousePosition:null,relevantContainers:null}}(Pt),Bt=function(ve,Ee,Ve,at){var Je=Ee.x,nt=Ee.y,Be=ve.getBoundingClientRect(),Ke=Be.left,Ye=Be.top,ft=Be.right,ht=Be.bottom,ot=Qt(Ve.layout.getContainerRectangles().visibleRect,Be),Kt=ot.left+(ot.right-ot.left)/2,pt=ot.top+(ot.bottom-ot.top)/2,Ut=ve.cloneNode(!0);return Ut.style.zIndex="1000",Ut.style.boxSizing="border-box",Ut.style.position="fixed",Ut.style.top="0px",Ut.style.left="0px",Ut.style.transform=null,Ut.style.removeProperty("transform"),Ve.shouldUseTransformForGhost()?Ut.style.transform="translate3d(".concat(Ke,"px, ").concat(Ye,"px, 0)"):(Ut.style.top="".concat(Ye,"px"),Ut.style.left="".concat(Ke,"px")),Ut.style.width=ft-Ke+"px",Ut.style.height=ht-Ye+"px",Ut.style.overflow="visible",Ut.style.transition=null,Ut.style.removeProperty("transition"),Ut.style.pointerEvents="none",Ut.style.userSelect="none",Ve.getOptions().dragClass?setTimeout(function(){fr(Ut.firstElementChild,Ve.getOptions().dragClass);var br=window.getComputedStyle(Ut.firstElementChild).cursor;Ae=Vr(br)}):Ae=Vr(at),fr(Ut,Ve.getOptions().orientation||"vertical"),fr(Ut,M),{ghost:Ut,centerDelta:{x:Kt-Je,y:pt-nt},positionDelta:{left:Ke-Je,top:Ye-nt},topLeft:{x:Ke,y:Ye}}}(Pt,{x:ce.clientX,y:ce.clientY},xt.container,ue),xt.position={x:ce.clientX+Bt.centerDelta.x,y:ce.clientY+Bt.centerDelta.y},xt.mousePosition={x:ce.clientX,y:ce.clientY},Wt=ke.filter(function(ve){return ve.isDragRelevant(de,xt.payload)}),xt.relevantContainers=Wt,xe=Er(Wt),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(de,Wt),Wt.forEach(function(ve){return ve.prepareDrag(ve,Wt)}),yr(!0),xe(xt),Qe().appendChild(Bt.ghost),Te.start()}}var sn=null;function uo(){var ce=0<arguments.length&&arguments[0]!==void 0?arguments[0]:0,ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,de=2<arguments.length&&arguments[2]!==void 0&&arguments[2],ve=Bt,Ee=ve.ghost,Ve=ve.topLeft,at=Ve.x,Je=Ve.y,nt=!xt.container||xt.container.shouldUseTransformForGhost(),Be=nt?"translate3d(".concat(at,"px,").concat(Je,"px, 0)"):null;if(ue!==1&&(Be=Be?"".concat(Be," scale(").concat(ue,")"):"scale(".concat(ue,")")),0<ce)return Bt.ghost.style.transitionDuration=ce+"ms",void requestAnimationFrame(function(){Be&&(Ee.style.transform=Be),nt||(Ee.style.left=at+"px",Ee.style.top=Je+"px"),sn=null,de&&(Ee.style.opacity="0")});sn===null&&(sn=requestAnimationFrame(function(){Be&&(Ee.style.transform=Be),nt||(Ee.style.left=at+"px",Ee.style.top=Je+"px"),sn=null,de&&(Ee.style.opacity="0")}))}function En(){if(K&&!Q&&!te){he=!(Q=!0);var ce=Object.assign({},xt,{targetElement:null,position:{x:Number.MAX_SAFE_INTEGER,y:Number.MAX_SAFE_INTEGER},mousePosition:{x:Number.MAX_SAFE_INTEGER,y:Number.MAX_SAFE_INTEGER}});Wt.forEach(function(ue){ue.handleDrag(ce)}),xt.targetElement=null,xt.cancelDrop=!0,Tn(),Q=!1}}typeof window<"u"&&function(){if(typeof window<"u"){var ce=window.document.head||window.document.getElementsByTagName("head")[0],ue=window.document.createElement("style");ue.id="smooth-dnd-style-definitions";var de=ii(Ir);ue.type="text/css",ue.styleSheet?ue.styleSheet.cssText=de:ue.appendChild(window.document.createTextNode(de)),ce.appendChild(ue)}}();var Ri=(Me(),{register:function(ce){(function(ue){ke.push(ue),K&&xt&&ue.isDragRelevant(xt.container,xt.payload)&&(Wt.push(ue),ue.prepareDrag(ue,Wt),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(ue,Wt),xe=Er(Wt),ue.handleDrag(xt))})(ce)},unregister:function(ce){(function(ue){if(ke.splice(ke.indexOf(ue),1),K&&xt){xt.container===ue&&ue.fireRemoveElement(),xt.targetElement===ue.element&&(xt.targetElement=null);var de=Wt.indexOf(ue);-1<de&&(Wt.splice(de,1),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(ue,Wt),xe=Er(Wt))}})(ce)},isDragging:function(){return K},cancelDrag:En});function $o(ce,ue){var de=2<arguments.length&&arguments[2]!==void 0?arguments[2]:qe.animationDuration;ue?(fr(ce,o),ce.style.transitionDuration=de+"ms"):(on(ce,o),ce.style.removeProperty("transition-duration"))}function Mo(ce){var ue=[];return Array.prototype.forEach.call(ce.children,function(de){if(de.nodeType===Node.ELEMENT_NODE){var ve=de;Ki(de,x)||(ve=function(Ee){if(Nt.wrapChild){var Ve=window.document.createElement("div");return Ve.className="".concat(x),Ee.parentElement.insertBefore(Ve,Ee),Ve.appendChild(Ee),Ve}return Ee}(de)),ve[B]=0,ue.push(ve)}else ce.removeChild(de)}),ue}function Zs(ce){var ue=ce.layout;return function(de,ve){var Ee=2<arguments.length&&arguments[2]!==void 0&&arguments[2];return function Ve(at,Je,nt,Be){var Ke=4<arguments.length&&arguments[4]!==void 0&&arguments[4];if(Be<nt)return nt;if(nt===Be){var Ye=ue.getBeginEnd(at[nt]),ft=Ye.begin,ht=Ye.end;return Ke?Je<(ht+ft)/2?nt:nt+1:nt}var ot=Math.floor((Be+nt)/2),Kt=ue.getBeginEnd(at[ot]),pt=Kt.begin,Ut=Kt.end;return Je<pt?Ve(at,Je,nt,ot-1,Ke):Ut<Je?Ve(at,Je,ot+1,Be,Ke):Ke?Je<(Ut+pt)/2?ot:ot+1:ot}(de,ve,0,de.length-1,Ee)}}function Kn(ce){var ue=ce.element,de=ce.draggables,ve=ce.layout,Ee=ce.getOptions,Ve=function(Je){var nt=Je.element,Be=Je.draggables,Ke=Je.layout;return function(){Be.forEach(function(Ye){$o(Ye,!1),Ke.setTranslation(Ye,0),Ke.setVisibility(Ye,!0)}),nt[T]&&(nt[T].parentNode.removeChild(nt[T]),nt[T]=null)}}({element:ue,draggables:de,layout:ve}),at=(Nt.dropHandler||Vi)({element:ue,draggables:de,layout:ve,getOptions:Ee});return function(Je,nt){var Be=nt.addedIndex,Ke=nt.removedIndex,Ye=2<arguments.length&&arguments[2]!==void 0&&arguments[2];if(Ve(),!Je.cancelDrop&&(Je.targetElement||Ee().removeOnDropOut||Ye)){var ft={removedIndex:Ke,addedIndex:Be!==null?Ke!==null&&Ke<Be?Be-1:Be:null,payload:Je.payload};at(ft,Ee().onDrop)}}}function es(ce){var ue=ce.element,de=ce.getOptions,ve=null;return function(Ee){var Ve=Ee.draggableInfo,at=ve;return ve==null&&Ve.container.element===ue&&de().behaviour!=="copy"&&(at=ve=Ve.elementIndex),{removedIndex:at}}}function Ks(ce){var ue=ce.draggables,de=ce.layout;return function(ve){var Ee=ve.dragResult;Ee.removedIndex!==null&&de.setVisibility(ue[Ee.removedIndex],!1)}}function Gs(ce){var ue=ce.element,de=ce.layout;return function(ve){var Ee=ve.draggableInfo,Ve=document.elementFromPoint(Ee.position.x,Ee.position.y);if(Ve){var at=Zi(Ve,Ee.relevantContainers);if(at&&at.element===ue)return{pos:de.getPosition(Ee.position)}}return{pos:null}}}function Js(ce){var ue=ce.layout,de=null;return function(ve){var Ee=ve.draggableInfo;return ve.dragResult.pos===null?de=null:{elementSize:de=de||ue.getSize(Ee.size)}}}function ts(ce){var ue=ce.element;return function(de){var ve=de.draggableInfo,Ee=de.dragResult;(function(Ve,at){var Je=!(2<arguments.length&&arguments[2]!==void 0)||arguments[2];at&&Je?Ve.targetElement=at:Ve.targetElement===at&&(Ve.targetElement=null)})(ve,ue,!!Ee.pos)}}function rs(){return function(ce){return ce.dragResult.pos!==null?{addedIndex:0}:{addedIndex:null}}}function Pn(ce){var ue=ce.layout,de=null;return function(ve){var Ee=ve.dragResult.addedIndex;if(Ee===de)return null;de=Ee;var Ve=ue.getBeginEndOfContainer(),at=Ve.begin;return Ve.end,{shadowBeginEnd:{rect:ue.getTopLeftOfElementBegin(at)}}}}function is(ce){var ue=ce.layout,de=ce.element,ve=ce.getOptions,Ee=null;return function(Ve){var at=Ve.dragResult,Je=at.elementSize,nt=at.shadowBeginEnd,Be=at.addedIndex,Ke=at.dropPlaceholderContainer,Ye=ve();if(Ye.dropPlaceholder){var ft=typeof Ye.dropPlaceholder=="boolean"?{}:Ye.dropPlaceholder,ht=ft.animationDuration,ot=ft.className,Kt=ft.showOnTop;if(Be===null)return Ke&&Ee!==null&&de.removeChild(Ke),Ee=null,{dropPlaceholderContainer:void 0};if(!Ke){var pt=document.createElement("div"),Ut=document.createElement("div");Ut.className=me,pt.className="".concat(Ie," ").concat(ot||le),(Ke=document.createElement("div")).className="".concat(ee),Ke.style.position="absolute",ht!==void 0&&(Ke.style.transition="all ".concat(ht,"ms ease")),Ke.appendChild(Ut),Ut.appendChild(pt),ue.setSize(Ke.style,Je+"px"),Ke.style.pointerEvents="none",Kt?de.appendChild(Ke):de.insertBefore(Ke,de.firstElementChild)}return Ee!==Be&&nt.dropArea&&ue.setBegin(Ke.style,nt.dropArea.begin-ue.getBeginEndOfContainer().begin+"px"),Ee=Be,{dropPlaceholderContainer:Ke}}return null}}function Xs(ce){var ue=Jn(ce);return function(de){var ve=de.draggableInfo,Ee=de.dragResult;return ve.invalidateShadow?ue({draggableInfo:ve,dragResult:Ee}):null}}function In(ce){var ue=function(de){var ve=de.draggables,Ee=Zs({layout:de.layout});return function(Ve){var at=Ve.dragResult,Je=at.shadowBeginEnd,nt=at.pos;if(Je)return Je.begin+Je.beginAdjustment<=nt&&Je.end>=nt?null:nt<Je.begin+Je.beginAdjustment?Ee(ve,nt):nt>Je.end?Ee(ve,nt)+1:ve.length;var Be=Ee(ve,nt,!0);return Be!==null?Be:ve.length}}(ce);return function(de){var ve=de.dragResult,Ee=null;return ve.pos!==null&&(Ee=ue({dragResult:ve}))===null&&(Ee=ve.addedIndex),{addedIndex:Ee}}}function ns(){var ce=null;return function(ue){var de=ue.dragResult,ve=de.addedIndex,Ee=de.shadowBeginEnd;ve!==ce&&ce!==null&&Ee&&(Ee.beginAdjustment=0),ce=ve}}function tl(ce){var ue=ce.element,de=ce.draggables,ve=ce.layout,Ee=ce.getOptions,Ve=null;return function(at){var Je=at.dragResult,nt=Je.addedIndex,Be=Je.removedIndex,Ke=Je.elementSize;if(Be===null){if(nt!==null){if(!Ve){var Ye=ve.getBeginEndOfContainer();Ye.end=Ye.begin+ve.getSize(ue);var ft=ve.getScrollSize(ue)>ve.getSize(ue)?Ye.begin+ve.getScrollSize(ue)-ve.getScrollValue(ue):Ye.end,ht=0<de.length?ve.getBeginEnd(de[de.length-1]).end-de[de.length-1][B]:Ye.begin;if(ft<ht+Ke){(Ve=window.document.createElement("div")).className=C+" "+Ee().orientation;var ot=0<de.length?Ke+ht-ft:Ke;return ve.setSize(Ve.style,"".concat(ot,"px")),ue.appendChild(Ve),ue[T]=Ve,{containerBoxChanged:!0}}}}else if(Ve){ve.setTranslation(Ve,0);var Kt=Ve;return Ve=null,ue.removeChild(Kt),{containerBoxChanged:!(ue[T]=null)}}}}}function Gn(ce){var ue=ce.draggables,de=ce.layout,ve=null,Ee=null;return function(Ve){var at=Ve.dragResult,Je=at.addedIndex,nt=at.removedIndex,Be=at.elementSize;if(Je!==ve||nt!==Ee){for(var Ke=0;Ke<ue.length;Ke++)if(Ke!==nt){var Ye=ue[Ke],ft=0;nt!==null&&nt<Ke&&(ft-=Be),Je!==null&&Je<=Ke&&(ft+=Be),de.setTranslation(Ye,ft)}return{addedIndex:ve=Je,removedIndex:Ee=nt}}}}function Jn(ce){var ue=ce.draggables,de=ce.layout,ve=null;return function(Ee){var Ve=Ee.draggableInfo,at=Ee.dragResult,Je=at.addedIndex,nt=at.removedIndex,Be=at.elementSize,Ke=at.pos,Ye=at.shadowBeginEnd;if(Ke===null)return{shadowBeginEnd:ve=null};if(Je===null||!Ve.invalidateShadow&&Je===ve)return null;var ft=Je-1,ht=Number.MIN_SAFE_INTEGER,ot=0,Kt=0,pt=null,Ut=null;if(ft===nt&&ft--,-1<ft){var br=de.getSize(ue[ft]);if(Ut=de.getBeginEnd(ue[ft]),Be<br){var ho=(br-Be)/2;ht=Ut.end-ho}else ht=Ut.end;ot=Ut.end}else Ut={end:de.getBeginEndOfContainer().begin},ot=de.getBeginEndOfContainer().begin;var Rn=Number.MAX_SAFE_INTEGER,an=Je;if(an===nt&&an++,an<ue.length){var Dn=de.getSize(ue[an]);if(pt=de.getBeginEnd(ue[an]),Be<Dn){var po=(Dn-Be)/2;Rn=pt.begin+po}else Rn=pt.begin;Kt=pt.begin}else pt={begin:de.getContainerRectangles().rect.end},Kt=de.getContainerRectangles().rect.end-de.getContainerRectangles().rect.begin;var ss=Ut&&pt?de.getTopLeftOfElementBegin(Ut.end):null;return ve=Je,{shadowBeginEnd:{dropArea:{begin:ot,end:Kt},begin:ht,end:Rn,rect:ss,beginAdjustment:Ye?Ye.beginAdjustment:0}}}}function os(){var ce=null;return function(ue){var de=ue.dragResult,ve=de.pos,Ee=de.addedIndex,Ve=de.shadowBeginEnd;if(ve!==null){if(Ee!=null&&ce===null){if(ve<Ve.begin){var at=ve-Ve.begin-5;Ve.beginAdjustment=at}ce=Ee}}else ce=null}}function oi(ce){var ue=ce.getOptions,de=!1,ve=ue();return function(Ee){var Ve=!!Ee.dragResult.pos;Ve!==de&&((de=Ve)?ve.onDragEnter&&ve.onDragEnter():ve.onDragLeave&&ve.onDragLeave())}}function rr(ce){var ue=ce.getOptions,de=null,ve=ue();return function(Ee){var Ve=Ee.dragResult,at=Ve.addedIndex,Je=Ve.removedIndex,nt=Ee.draggableInfo,Be=nt.payload,Ke=nt.element;if(ve.onDropReady&&at!==null&&de!==at){var Ye=de=at;Je!==null&&Je<at&&Ye--,ve.onDropReady({addedIndex:Ye,removedIndex:Je,payload:Be,element:Ke?Ke.firstElementChild:void 0})}}}function Mn(ce){return ce.getOptions().behaviour==="drop-zone"?si(ce)(es,Ks,Gs,Js,ts,rs,Pn,oi,rr):si(ce)(es,Ks,Gs,Js,ts,Xs,In,ns,tl,Gn,Jn,is,os,oi,rr)}function si(ce){return function(){for(var ue=arguments.length,de=new Array(ue),ve=0;ve<ue;ve++)de[ve]=arguments[ve];var Ee=de.map(function(at){return at(ce)}),Ve=null;return function(at){return Ve=Ee.reduce(function(Je,nt){return Object.assign(Je,nt({draggableInfo:at,dragResult:Je}))},Ve||{addedIndex:null,removedIndex:null,elementSize:null,pos:null,shadowBeginEnd:null})}}}function Ln(ce){return function(ue){var de=Object.assign({},qe,ue),ve=null,Ee=null,Ve=function(ft,ht){var ot=Mo(ft),Kt=ht();return fr(ft,"".concat(O," ").concat(Kt.orientation)),{element:ft,draggables:ot,getOptions:ht,layout:Jr(ft,Kt.orientation,Kt.animationDuration)}}(ce,Ye),at=Mn(Ve),Je=Kn(Ve),nt=function(ft,ht){var ot=[];function Kt(){ot&&(ot.forEach(function(pt){return pt.removeEventListener("scroll",ht)}),window.removeEventListener("scroll",ht))}return function(){for(var pt=ft;pt;)(qt(pt,"x")||qt(pt,"y"))&&ot.push(pt),pt=pt.parentElement}(),{dispose:function(){Kt(),ot=null},start:function(){ot&&(ot.forEach(function(pt){return pt.addEventListener("scroll",ht)}),window.addEventListener("scroll",ht))},stop:Kt}}(ce,function(){Ve.layout.invalidateRects(),Be()});function Be(){Ee!==null&&(Ee.invalidateShadow=!0,ve=at(Ee),Ee.invalidateShadow=!1)}function Ke(ft,ht){for(var ot=Mo(ht),Kt=0;Kt<ot.length;Kt++)ft[Kt]=ot[Kt];for(var pt=0;pt<ft.length-ot.length;pt++)ft.pop()}function Ye(){return de}return{element:ce,draggables:Ve.draggables,isDragRelevant:function(ft){var ht=ft.element,ot=ft.getOptions;return function(Kt,pt){var Ut=ot();if(Ut.shouldAcceptDrop)return Ut.shouldAcceptDrop(Kt.getOptions(),pt);var br=Kt.getOptions();return Ut.behaviour!=="copy"&&Nr(ht,"."+x)!==Kt.element&&(Kt.element===ht||!(!br.groupName||br.groupName!==Ut.groupName))}}(Ve),layout:Ve.layout,dispose:function(ft){nt.dispose(),function(ht){Nt.wrapChild&&Array.prototype.forEach.call(ht.children,function(ot){ot.nodeType===Node.ELEMENT_NODE&&Ki(ot,x)&&(ht.insertBefore(ot.firstElementChild,ot),ht.removeChild(ot))})}(ft.element)},prepareDrag:function(ft,ht){var ot=ft.element,Kt=Ve.draggables;Ke(Kt,ot),ft.layout.invalidateRects(),Kt.forEach(function(pt){return $o(pt,!0,Ye().animationDuration)}),nt.start()},handleDrag:function(ft){return ve=at(Ee=ft)},handleDrop:function(ft){nt.stop(),ve&&ve.dropPlaceholderContainer&&ce.removeChild(ve.dropPlaceholderContainer),Ee=null,at=Mn(Ve),Je(ft,ve),ve=null},fireRemoveElement:function(){Je(Ee,Object.assign({},ve,{addedIndex:null}),!0),ve=null},getDragResult:function(){return ve},getTranslateCalculator:function(ft){return Gn(Ve)(ft)},onTranslated:function(){Be()},setDraggables:function(){Ke(Ve.draggables,ce)},getScrollMaxSpeed:function(){return Nt.maxScrollSpeed},shouldUseTransformForGhost:function(){return Nt.useTransformForGhost===!0},getOptions:Ye,setOptions:function(ft){var ht=!(1<arguments.length&&arguments[1]!==void 0)||arguments[1];de=ht===!1?Object.assign({},qe,ft):Object.assign({},qe,de,ft)}}}}var Nt=function(ce,ue){var de=Ln(ce)(ue);return ce[P]=de,Ri.register(de),{dispose:function(){Ri.unregister(de),de.dispose(de)},setOptions:function(ve,Ee){de.setOptions(ve,Ee)}}};function vn(ce,ue,de){Object.defineProperty(ce,de,{set:function(ve){ue[de]=ve},get:function(){return ue[de]}})}Nt.wrapChild=!0,Nt.cancelDrag=function(){Ri.cancelDrag()},Nt.isDragging=function(){return Ri.isDragging()};function Fi(ce,ue){return console.warn('default export is deprecated. please use named export "smoothDnD"'),Nt(ce,ue)}Fi.cancelDrag=function(){Nt.cancelDrag()},Fi.isDragging=function(){return Nt.isDragging()},vn(Fi,Nt,"useTransformForGhost"),vn(Fi,Nt,"maxScrollSpeed"),vn(Fi,Nt,"wrapChild"),vn(Fi,Nt,"dropHandler"),y.smoothDnD=Nt,y.constants=Le,y.dropHandlers=Cn,y.default=Fi,Object.defineProperty(y,"__esModule",{value:!0})})}(cc,cc.exports)),cc.exports}var pc=z1();function uy(u){return u?typeof u=="string"||typeof u=="object"&&(typeof u.value=="string"||typeof u.value=="function"||typeof u.value=="object"):!0}function hy(u,p){const y=u.$props.tag;if(y){if(typeof y=="string"){const b={value:y};return p&&(b.props={class:p}),b}else if(typeof y=="object"){const b={value:y.value||"div",props:y.props||{}};return p&&(b.props.class?Array.isArray(b.props.class)?b.props.class.push(p):b.props.class=[p,b.props.class]:b.props.class=p),b}}return{value:"div"}}pc.smoothDnD.dropHandler=pc.dropHandlers.reactDropHandler().handler;pc.smoothDnD.wrapChild=!1;const Am={"drag-start":"onDragStart","drag-end":"onDragEnd",drop:"onDrop","drag-enter":"onDragEnter","drag-leave":"onDragLeave","drop-ready":"onDropReady"};var B1=_.defineComponent({name:"Container",mounted(){const u=Object.assign({},this.$props);for(const p in Am)u[Am[p]]=y=>{this.$emit(p,y)};this.containerElement=this.$refs.container||this.$el,this.container=pc.smoothDnD(this.containerElement,u)},unmounted(){if(this.container)try{this.container.dispose()}catch{}},emits:["drop","drag-start","drag-end","drag-enter","drag-leave","drop-ready"],props:{orientation:{type:String,default:"vertical"},removeOnDropOut:{type:Boolean,default:!1},autoScrollEnabled:{type:Boolean,default:!0},animationDuration:{type:Number,default:250},behaviour:String,groupName:String,dragHandleSelector:String,nonDragAreaSelector:String,lockAxis:String,dragClass:String,dropClass:String,dragBeginDelay:Number,getChildPayload:Function,shouldAnimateDrop:Function,shouldAcceptDrop:Function,getGhostParent:Function,dropPlaceholder:[Object,Boolean],tag:{validator:uy,default:"div"}},render(){const u=hy(this);return _.h(u.value,Object.assign({},{ref:"container"},u.props),this.$slots.default())}}),V1=_.defineComponent({name:"Draggable",props:{tag:{validator:uy,default:"div"}},render:function(){const u=hy(this,pc.constants.wrapperClass);return _.h(u.value,Object.assign({},u.props),this.$slots.default())}});function O1(){const p=new URLSearchParams(window.location.search).get("layers");return p?p.split(","):[]}function F1(u){const p=new URLSearchParams(window.location.search);u.length>0?p.set("layers",u.join(",")):p.delete("layers");const y=`${window.location.pathname}?${p.toString()}`;window.history.replaceState({},"",y)}const N1={components:{VsLayersItem:c1,ZoomInIcon:p1,InfoIcon:y1,TableIcon:b1,TrashIcon:k1,DotsIcon:P1,ChevronRightIcon:R1,Container:B1,Draggable:V1},props:{center:{type:Array,default:()=>[26.2516,50.6199]},zoom:{type:Number,default:12},map:{type:Object,default:()=>null},history:{type:Boolean,default:!1}},emits:["content-resize"],data(){return{layers:null,rawCatalog:null,categories:null,selectedCategory:"",search:"",activeView:"catalog",selectedLayers:[]}},computed:{searchedLayers(){return this.layers.filter(({name:u})=>u==null?void 0:u.toLowerCase().match(this.search.toLowerCase()))}},async mounted(){if(await this.getLayers(),this.categories=this.layersCategories(),this.history){const u=O1();u.length>0&&this.layers&&(u.forEach(p=>{const y=this.layers.find(b=>String(b.id)===p);if(y&&!this.selectedLayers.find(b=>b.id===y.id)){const b={...y,visible:!0,opacity:100};this.selectedLayers.push(b),Us(this.map,b)}}),this.activeView="selected")}this._resizeObserver=new window.ResizeObserver(()=>{this.$emit("content-resize")}),this.$nextTick(()=>{const u=this.$el;u&&this._resizeObserver.observe(u)})},beforeUnmount(){this._resizeObserver&&this._resizeObserver.disconnect()},watch:{selectedLayers:{handler(u){this.history&&F1(u.map(p=>p.id))},deep:!0}},methods:{async getLayers(){try{const u=await Br.get("/api/map-catalog"),p=(u.data.services||[]).filter(y=>y.service_type!=="other");this.layers=[...p,...u.data.rasters||[]],this.rawCatalog={...u.data,services:p}}catch(u){console.error("Помилка завантаження шарів:",u)}},layersCategories(){return this.rawCatalog?{Сервіси:this.rawCatalog.services||[],Растри:this.rawCatalog.rasters||[]}:{}},selectCategory(u){this.selectedCategory=this.selectedCategory===u?"":u},formatNumber(u){return Intl.NumberFormat("uk",{notation:"compact"}).format(u)},onEnter(){this.layers.filter(({name:u})=>u==null?void 0:u.toLowerCase().match(this.search.toLowerCase()))},clearSearch(){this.search=""},addToSelected(u){if(!this.selectedLayers.find(p=>p.id===u.id)){const p={...u,visible:!0,opacity:100};this.selectedLayers.unshift(p),Us(this.map,p)}},deleteLayer(u){const p=this.selectedLayers.findIndex(y=>y.id===u.id);p!==-1&&this.selectedLayers.splice(p,1),Qa(this.map,u.id)},async toggleLayerVisibility(u){try{u.visible?(await Us(this.map,u),this.updateLayerOpacity(u)):await Qa(this.map,u.id)}catch(p){console.error("Error toggling layer visibility:",p),u.visible=!u.visible}},onLayerOpacityChange(u){this.updateLayerOpacity(u)},updateLayerOpacity(u){if(this.map){const p=this.map.getStyle().layers.filter(b=>b.id.includes(u.id)),y=u.opacity/100;p.forEach(b=>{b.type==="fill"?(u.originalFillOpacity||(u.originalFillOpacity=this.map.getPaintProperty(b.id,"fill-opacity")||1),this.map.setPaintProperty(b.id,"fill-opacity",u.originalFillOpacity*y)):b.type==="raster"?this.map.setPaintProperty(b.id,"raster-opacity",y):b.type==="line"?this.map.setPaintProperty(b.id,"line-opacity",y):b.type==="circle"?(this.map.setPaintProperty(b.id,"circle-opacity",y),this.map.setPaintProperty(b.id,"circle-stroke-opacity",y)):b.type==="symbol"&&(this.map.setPaintProperty(b.id,"icon-opacity",y),this.map.setPaintProperty(b.id,"text-opacity",y))})}},async handleRemoveFromCatalog(u){const p=this.selectedLayers.find(y=>y.id===u.id);p!=null&&p.visible&&await Qa(this.map,u.id),this.deleteLayer(u)},clearSelectedLayers(){this.selectedLayers.forEach(async u=>{u.visible&&await Qa(this.map,u.id)}),this.selectedLayers=[]},zoomToLayer(u){this.fitBoundsByLayer(u)},showLayerInfo(u){},showLayerTable(u){},fitBoundsByLayer(u){u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4&&this.map&&this.map.fitBounds([[u.bbox[0],u.bbox[1]],[u.bbox[2],u.bbox[3]]],{padding:50,duration:0})},popoverActions(u){return[{label:"Збільшити до шару",icon:"ZoomInIcon",class:u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4?"text-gray-700 hover:bg-gray-100":"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"zoomToLayer",disabled:!(u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4)},{label:"Інформація про шар",icon:"InfoIcon",class:"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"showLayerInfo",disabled:!0},{label:"Таблиця шару",icon:"TableIcon",class:"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"showLayerTable",disabled:!0},{divider:!0},{label:"Видалити шар",icon:"TrashIcon",class:"text-red-600 hover:bg-red-50",handler:"deleteLayer",disabled:!1}]},onDrop(u){const{removedIndex:p,addedIndex:y,payload:b}=u;if(p===null&&y===null)return;const k=[...this.selectedLayers];let P=b;if(p!==null&&(P=k.splice(p,1)[0]),y!==null&&k.splice(y,0,P),this.selectedLayers=k,this.map&&this.selectedLayers.length>1)for(let x=this.selectedLayers.length-1;x>=0;x--){const o=this.selectedLayers[x];o.visible&&this.map.getStyle().layers.find(B=>B.id.includes(o.id))&&this.map.getStyle().layers.forEach(B=>{B.id.includes(o.id)&&this.map.moveLayer(B.id)})}}}},q1={class:"w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm"},U1={class:"flex items-center justify-between mb-4"},j1={class:"flex items-center gap-2"},H1={class:"text-lg font-semibold text-gray-800"},W1={key:0},Z1={key:1},K1={class:"flex mb-4 border-b border-gray-200"},G1={key:0},J1={class:"mb-4"},X1={class:"border border-gray-200 rounded-md p-3 mb-2 bg-white shadow-sm"},Q1={class:"flex items-center justify-between"},Y1={class:"flex items-center gap-2 cursor-move"},$1=["onUpdate:modelValue","onChange"],ew={class:"text-gray-800 font-medium"},tw={class:"flex items-center gap-2"},rw={class:"relative"},iw={class:"flex items-center gap-2"},nw=["onUpdate:modelValue","onInput"],ow={class:"text-xs text-gray-600 whitespace-nowrap"},sw=["onClick"],aw={class:"relative"},lw={class:"w-48"},cw={key:0,class:"my-1 border-gray-200"},uw=["disabled","onClick"],hw={class:"p-1 rounded-full hover:bg-gray-100 transition-colors","aria-label":"Layer actions"},dw={key:0,class:"text-center text-[14px] text-[#4b5563]"},pw={class:"relative mt-[10px]"},fw={class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0, -50%)"},width:"16",height:"17",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg"},mw={key:0,class:"vs-layers-catalog__list flex-1 scrollable-container overflow-auto mt-2 catalog-list"},gw={key:0,class:"text-center text-[14px] text-[#4b5563]"},yw={key:0,class:"text-center text-[14px] text-[#4b5563]"},_w=["onClick"],vw={class:"flex items-center gap-x-3"},xw=["title"],bw={class:"text-xs opacity-60 text-[#4b5563]"};function ww(u,p,y,b,k,P){var T;const x=_.resolveComponent("VsPopover"),o=_.resolveComponent("DotsIcon"),B=_.resolveComponent("Draggable"),D=_.resolveComponent("Container"),M=_.resolveComponent("searchIcon"),O=_.resolveComponent("closeIcon"),L=_.resolveComponent("VsLayersItem"),C=_.resolveComponent("chevronRightIcon");return _.openBlock(),_.createElementBlock("div",q1,[_.createElementVNode("div",U1,[_.createElementVNode("div",j1,[p[6]||(p[6]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-layers text-blue-600"},[_.createElementVNode("path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"}),_.createElementVNode("path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"}),_.createElementVNode("path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"})],-1)),_.createElementVNode("h2",H1,[_.createTextVNode(_.toDisplayString(k.activeView==="catalog"?"Каталог":"Вибрані шари")+" ",1),k.activeView==="catalog"?(_.openBlock(),_.createElementBlock("span",W1,"("+_.toDisplayString(((T=k.layers)==null?void 0:T.length)||0)+")",1)):(_.openBlock(),_.createElementBlock("span",Z1,"("+_.toDisplayString(k.selectedLayers.length)+")",1))])]),_.createElementVNode("button",{class:"p-1 rounded-full hover:bg-gray-200 transition-colors","aria-label":"Reset layers",onClick:p[0]||(p[0]=(...U)=>P.clearSelectedLayers&&P.clearSelectedLayers(...U))},p[7]||(p[7]=[_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw text-gray-600" data-v-5b1a9326><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-5b1a9326></path><path d="M21 3v5h-5" data-v-5b1a9326></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" data-v-5b1a9326></path><path d="M8 16H3v5" data-v-5b1a9326></path></svg>',1)]))]),_.createElementVNode("div",K1,[_.createElementVNode("button",{class:_.normalizeClass(["px-4 py-2 text-sm font-medium",k.activeView==="catalog"?"text-blue-600 border-b-2 border-blue-600":"text-gray-600 hover:text-gray-800"]),onClick:p[1]||(p[1]=U=>k.activeView="catalog")}," Каталог ",2),_.createElementVNode("button",{class:_.normalizeClass(["px-4 py-2 text-sm font-medium",k.activeView==="selected"?"text-blue-600 border-b-2 border-blue-600":"text-gray-600 hover:text-gray-800"]),onClick:p[2]||(p[2]=U=>k.activeView="selected")}," Вибрані шари ",2)]),k.activeView==="selected"?(_.openBlock(),_.createElementBlock("div",G1,[_.createElementVNode("div",J1,[_.createElementVNode("button",{class:"flex items-center gap-2 text-blue-600 hover:text-blue-700 transition-colors px-3 py-2 rounded-md bg-blue-50 hover:bg-blue-100 w-full justify-center",onClick:p[3]||(p[3]=U=>k.activeView="catalog")},p[8]||(p[8]=[_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-plus"},[_.createElementVNode("path",{d:"M5 12h14"}),_.createElementVNode("path",{d:"M12 5v14"})],-1),_.createElementVNode("span",null,"Вибрати шар",-1)]))]),(_.openBlock(),_.createBlock(D,{onDrop:P.onDrop,lockAxis:"y","drag-class":"dragging",key:k.selectedLayers.length,class:"space-y-2 max-h-[400px] overflow-y-auto pr-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent"},{default:_.withCtx(()=>[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.selectedLayers,(U,G)=>(_.openBlock(),_.createBlock(B,{key:U.id||G,payload:U},{default:_.withCtx(()=>[_.createElementVNode("div",X1,[_.createElementVNode("div",Q1,[_.createElementVNode("div",Y1,[p[9]||(p[9]=_.createElementVNode("svg",{width:"16",height:"16",fill:"none",stroke:"#9ca3af","stroke-width":"2",viewBox:"0 0 24 24",class:"mr-1 shrink-0"},[_.createElementVNode("circle",{cx:"5",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"5",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"5",cy:"19",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"19",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"19",r:"1.5"})],-1)),_.withDirectives(_.createElementVNode("input",{type:"checkbox",class:"w-4 h-4 text-blue-600 rounded focus:ring-blue-500","onUpdate:modelValue":ie=>U.visible=ie,onChange:ie=>P.toggleLayerVisibility(U)},null,40,$1),[[_.vModelCheckbox,U.visible]]),_.createElementVNode("span",ew,_.toDisplayString(U.name||U.title||U.label),1)]),_.createElementVNode("div",tw,[_.createElementVNode("div",rw,[_.createVNode(x,{placement:"bottom"},{reference:_.withCtx(()=>[_.createElementVNode("div",{class:"text-sm text-gray-600 hover:text-gray-800 transition-colors px-2 py-1 rounded hover:bg-gray-100 cursor-pointer",onClick:ie=>P.updateLayerOpacity(U)},_.toDisplayString(U.opacity||100)+"% ",9,sw)]),default:_.withCtx(()=>[_.createElementVNode("div",iw,[p[10]||(p[10]=_.createElementVNode("label",{class:"text-gray-600 whitespace-nowrap"},"Прозорість:",-1)),_.withDirectives(_.createElementVNode("input",{type:"range",min:"0",max:"100",step:"1","onUpdate:modelValue":ie=>U.opacity=ie,onInput:ie=>P.onLayerOpacityChange(U),class:"h-2 w-full accent-blue-600 rounded-lg cursor-pointer bg-gray-200"},null,40,nw),[[_.vModelText,U.opacity]]),_.createElementVNode("span",ow,_.toDisplayString(Math.round(U.opacity))+"% ",1)])]),_:2},1024)]),_.createElementVNode("div",aw,[_.createVNode(x,{placement:"bottom"},{reference:_.withCtx(()=>[_.createElementVNode("div",hw,[_.createVNode(o)])]),default:_.withCtx(()=>[_.createElementVNode("div",lw,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(P.popoverActions(U),(ie,le)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:le},[ie.divider?(_.openBlock(),_.createElementBlock("hr",cw)):(_.openBlock(),_.createElementBlock("button",{key:1,class:_.normalizeClass("w-full p-2 text-left text-sm flex items-center gap-2 "+(ie.class||"")),disabled:ie.disabled,onClick:Ie=>!ie.disabled&&u.$options.methods[ie.handler].call(this,U)},[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(ie.icon),{class:"lucide"})),_.createTextVNode(" "+_.toDisplayString(ie.label),1)],10,uw))],64))),128))])]),_:2},1024)])])])])]),_:2},1032,["payload"]))),128)),k.selectedLayers.length===0?(_.openBlock(),_.createElementBlock("div",dw,p[11]||(p[11]=[_.createElementVNode("p",null,'Щоб додати шар, натисніть на кнопку "Вибрати шар".',-1)]))):_.createCommentVNode("",!0)]),_:1},8,["onDrop"]))])):(_.openBlock(),_.createElementBlock(_.Fragment,{key:1},[_.createElementVNode("div",pw,[(_.openBlock(),_.createElementBlock("svg",fw,p[12]||(p[12]=[_.createElementVNode("path",{d:"M7.33333 13.1667C10.2789 13.1667 12.6667 10.7789 12.6667 7.83333C12.6667 4.88781 10.2789 2.5 7.33333 2.5C4.38781 2.5 2 4.88781 2 7.83333C2 10.7789 4.38781 13.1667 7.33333 13.1667Z",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),_.createElementVNode("path",{d:"M13.9995 14.5L11.1328 11.6333",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))),_.withDirectives(_.createElementVNode("input",{title:"value",placeholder:"Введіть назву шару...","onUpdate:modelValue":p[4]||(p[4]=U=>k.search=U),type:"text",class:"py-[7px] ps-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",onKeyup:p[5]||(p[5]=_.withKeys((...U)=>P.onEnter&&P.onEnter(...U),["enter"]))},null,544),[[_.vModelText,k.search]]),_.createVNode(M,{class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0, -50%)"}}),k.search?(_.openBlock(),_.createBlock(O,{key:0,class:"absolute top-1/2 right-[10px] w-[16px] h-[16px] cursor-pointer",style:{transform:"translate(0, -50%)"},onClick:P.clearSearch},null,8,["onClick"])):_.createCommentVNode("",!0)]),k.categories?(_.openBlock(),_.createElementBlock("div",mw,[k.search?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(P.searchedLayers,(U,G)=>(_.openBlock(),_.createBlock(L,{key:G,layer:U,map:y.map,selectedLayers:k.selectedLayers,onSelect:P.addToSelected,onRemove:P.handleRemoveFromCatalog},null,8,["layer","map","selectedLayers","onSelect","onRemove"]))),128)),P.searchedLayers.length===0?(_.openBlock(),_.createElementBlock("div",gw," Нічого не знайдено ")):_.createCommentVNode("",!0)],64)):(_.openBlock(),_.createElementBlock(_.Fragment,{key:1},[!k.categories||Object.keys(k.categories).length===0?(_.openBlock(),_.createElementBlock("div",yw," Каталог порожній ")):(_.openBlock(!0),_.createElementBlock(_.Fragment,{key:1},_.renderList(Object.keys(k.categories),U=>(_.openBlock(),_.createElementBlock("div",{key:U},[_.createElementVNode("div",{class:"hover:bg-gray-100 focus:bg-gray-100 px-2.5 cursor-pointer p-[8px] rounded-lg flex justify-between items-center",onClick:G=>P.selectCategory(U)},[_.createElementVNode("div",vw,[_.createVNode(C,{class:_.normalizeClass({"rotate-up":U===k.selectedCategory,"rotate-down":U!==k.selectedCategory})},null,8,["class"]),_.createElementVNode("div",{class:"max-w-[260px] text-[14px] text-[#4b5563]",title:U},_.toDisplayString(U),9,xw)]),_.createElementVNode("div",bw,_.toDisplayString(P.formatNumber(k.categories[U].length)),1)],8,_w),_.withDirectives(_.createElementVNode("div",null,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.categories[U],(G,ie)=>(_.openBlock(),_.createBlock(L,{key:ie,layer:G,map:y.map,selectedLayers:k.selectedLayers,onSelect:P.addToSelected,onRemove:P.handleRemoveFromCatalog},null,8,["layer","map","selectedLayers","onSelect","onRemove"]))),128))],512),[[_.vShow,U===k.selectedCategory]])]))),128))],64))])):_.createCommentVNode("",!0)],64))])}const Sw=pr(N1,[["render",ww],["__scopeId","data-v-5b1a9326"]]);var ku={exports:{}},Cu={exports:{}},jn={},en={},km;function nn(){if(km)return en;km=1,en.__esModule=!0,en.extend=k,en.indexOf=B,en.escapeExpression=D,en.isEmpty=M,en.createFrame=O,en.blockParams=L,en.appendContextPath=C;var u={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},p=/[&<>"'`=]/g,y=/[&<>"'`=]/;function b(T){return u[T]}function k(T){for(var U=1;U<arguments.length;U++)for(var G in arguments[U])Object.prototype.hasOwnProperty.call(arguments[U],G)&&(T[G]=arguments[U][G]);return T}var P=Object.prototype.toString;en.toString=P;var x=function(U){return typeof U=="function"};x(/x/)&&(en.isFunction=x=function(T){return typeof T=="function"&&P.call(T)==="[object Function]"}),en.isFunction=x;var o=Array.isArray||function(T){return T&&typeof T=="object"?P.call(T)==="[object Array]":!1};en.isArray=o;function B(T,U){for(var G=0,ie=T.length;G<ie;G++)if(T[G]===U)return G;return-1}function D(T){if(typeof T!="string"){if(T&&T.toHTML)return T.toHTML();if(T==null)return"";if(!T)return T+"";T=""+T}return y.test(T)?T.replace(p,b):T}function M(T){return!T&&T!==0?!0:!!(o(T)&&T.length===0)}function O(T){var U=k({},T);return U._parent=T,U}function L(T,U){return T.path=U,T}function C(T,U){return(T?T+".":"")+U}return en}var Tu={exports:{}},Cm;function Wn(){return Cm||(Cm=1,function(u,p){p.__esModule=!0;var y=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function b(k,P){var x=P&&P.loc,o=void 0,B=void 0,D=void 0,M=void 0;x&&(o=x.start.line,B=x.end.line,D=x.start.column,M=x.end.column,k+=" - "+o+":"+D);for(var O=Error.prototype.constructor.call(this,k),L=0;L<y.length;L++)this[y[L]]=O[y[L]];Error.captureStackTrace&&Error.captureStackTrace(this,b);try{x&&(this.lineNumber=o,this.endLineNumber=B,Object.defineProperty?(Object.defineProperty(this,"column",{value:D,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:M,enumerable:!0})):(this.column=D,this.endColumn=M))}catch{}}b.prototype=new Error,p.default=b,u.exports=p.default}(Tu,Tu.exports)),Tu.exports}var sc={},Eu={exports:{}},Tm;function Aw(){return Tm||(Tm=1,function(u,p){p.__esModule=!0;var y=nn();p.default=function(b){b.registerHelper("blockHelperMissing",function(k,P){var x=P.inverse,o=P.fn;if(k===!0)return o(this);if(k===!1||k==null)return x(this);if(y.isArray(k))return k.length>0?(P.ids&&(P.ids=[P.name]),b.helpers.each(k,P)):x(this);if(P.data&&P.ids){var B=y.createFrame(P.data);B.contextPath=y.appendContextPath(P.data.contextPath,P.name),P={data:B}}return o(k,P)})},u.exports=p.default}(Eu,Eu.exports)),Eu.exports}var Pu={exports:{}},Em;function kw(){return Em||(Em=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("each",function(o,B){if(!B)throw new P.default("Must pass iterator to #each");var D=B.fn,M=B.inverse,O=0,L="",C=void 0,T=void 0;B.data&&B.ids&&(T=b.appendContextPath(B.data.contextPath,B.ids[0])+"."),b.isFunction(o)&&(o=o.call(this)),B.data&&(C=b.createFrame(B.data));function U(ee,me,Le){C&&(C.key=ee,C.index=me,C.first=me===0,C.last=!!Le,T&&(C.contextPath=T+ee)),L=L+D(o[ee],{data:C,blockParams:b.blockParams([o[ee],ee],[T+ee,null])})}if(o&&typeof o=="object")if(b.isArray(o))for(var G=o.length;O<G;O++)O in o&&U(O,O,O===o.length-1);else if(typeof Symbol=="function"&&o[Symbol.iterator]){for(var ie=[],le=o[Symbol.iterator](),Ie=le.next();!Ie.done;Ie=le.next())ie.push(Ie.value);o=ie;for(var G=o.length;O<G;O++)U(O,O,O===o.length-1)}else(function(){var ee=void 0;Object.keys(o).forEach(function(me){ee!==void 0&&U(ee,O-1),ee=me,O++}),ee!==void 0&&U(ee,O-1,!0)})();return O===0&&(L=M(this)),L})},u.exports=p.default}(Pu,Pu.exports)),Pu.exports}var Iu={exports:{}},Pm;function Cw(){return Pm||(Pm=1,function(u,p){p.__esModule=!0;function y(P){return P&&P.__esModule?P:{default:P}}var b=Wn(),k=y(b);p.default=function(P){P.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new k.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},u.exports=p.default}(Iu,Iu.exports)),Iu.exports}var Mu={exports:{}},Im;function Tw(){return Im||(Im=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("if",function(o,B){if(arguments.length!=2)throw new P.default("#if requires exactly one argument");return b.isFunction(o)&&(o=o.call(this)),!B.hash.includeZero&&!o||b.isEmpty(o)?B.inverse(this):B.fn(this)}),x.registerHelper("unless",function(o,B){if(arguments.length!=2)throw new P.default("#unless requires exactly one argument");return x.helpers.if.call(this,o,{fn:B.inverse,inverse:B.fn,hash:B.hash})})},u.exports=p.default}(Mu,Mu.exports)),Mu.exports}var Lu={exports:{}},Mm;function Ew(){return Mm||(Mm=1,function(u,p){p.__esModule=!0,p.default=function(y){y.registerHelper("log",function(){for(var b=[void 0],k=arguments[arguments.length-1],P=0;P<arguments.length-1;P++)b.push(arguments[P]);var x=1;k.hash.level!=null?x=k.hash.level:k.data&&k.data.level!=null&&(x=k.data.level),b[0]=x,y.log.apply(y,b)})},u.exports=p.default}(Lu,Lu.exports)),Lu.exports}var Ru={exports:{}},Lm;function Pw(){return Lm||(Lm=1,function(u,p){p.__esModule=!0,p.default=function(y){y.registerHelper("lookup",function(b,k,P){return b&&P.lookupProperty(b,k)})},u.exports=p.default}(Ru,Ru.exports)),Ru.exports}var Du={exports:{}},Rm;function Iw(){return Rm||(Rm=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("with",function(o,B){if(arguments.length!=2)throw new P.default("#with requires exactly one argument");b.isFunction(o)&&(o=o.call(this));var D=B.fn;if(b.isEmpty(o))return B.inverse(this);var M=B.data;return B.data&&B.ids&&(M=b.createFrame(B.data),M.contextPath=b.appendContextPath(B.data.contextPath,B.ids[0])),D(o,{data:M,blockParams:b.blockParams([o],[M&&M.contextPath])})})},u.exports=p.default}(Du,Du.exports)),Du.exports}var Dm;function dy(){if(Dm)return sc;Dm=1,sc.__esModule=!0,sc.registerDefaultHelpers=U,sc.moveHelperToHooks=G;function u(ie){return ie&&ie.__esModule?ie:{default:ie}}var p=Aw(),y=u(p),b=kw(),k=u(b),P=Cw(),x=u(P),o=Tw(),B=u(o),D=Ew(),M=u(D),O=Pw(),L=u(O),C=Iw(),T=u(C);function U(ie){y.default(ie),k.default(ie),x.default(ie),B.default(ie),M.default(ie),L.default(ie),T.default(ie)}function G(ie,le,Ie){ie.helpers[le]&&(ie.hooks[le]=ie.helpers[le],Ie||delete ie.helpers[le])}return sc}var zu={},Bu={exports:{}},zm;function Mw(){return zm||(zm=1,function(u,p){p.__esModule=!0;var y=nn();p.default=function(b){b.registerDecorator("inline",function(k,P,x,o){var B=k;return P.partials||(P.partials={},B=function(D,M){var O=x.partials;x.partials=y.extend({},O,P.partials);var L=k(D,M);return x.partials=O,L}),P.partials[o.args[0]]=o.fn,B})},u.exports=p.default}(Bu,Bu.exports)),Bu.exports}var Bm;function Lw(){if(Bm)return zu;Bm=1,zu.__esModule=!0,zu.registerDefaultDecorators=b;function u(k){return k&&k.__esModule?k:{default:k}}var p=Mw(),y=u(p);function b(k){y.default(k)}return zu}var Vu={exports:{}},Vm;function py(){return Vm||(Vm=1,function(u,p){p.__esModule=!0;var y=nn(),b={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(P){if(typeof P=="string"){var x=y.indexOf(b.methodMap,P.toLowerCase());x>=0?P=x:P=parseInt(P,10)}return P},log:function(P){if(P=b.lookupLevel(P),typeof console<"u"&&b.lookupLevel(b.level)<=P){var x=b.methodMap[P];console[x]||(x="log");for(var o=arguments.length,B=Array(o>1?o-1:0),D=1;D<o;D++)B[D-1]=arguments[D];console[x].apply(console,B)}}};p.default=b,u.exports=p.default}(Vu,Vu.exports)),Vu.exports}var Ga={},Ou={},Om;function Rw(){if(Om)return Ou;Om=1,Ou.__esModule=!0,Ou.createNewLookupObject=p;var u=nn();function p(){for(var y=arguments.length,b=Array(y),k=0;k<y;k++)b[k]=arguments[k];return u.extend.apply(void 0,[Object.create(null)].concat(b))}return Ou}var Fm;function fy(){if(Fm)return Ga;Fm=1,Ga.__esModule=!0,Ga.createProtoAccessControl=P,Ga.resultIsAllowed=x,Ga.resetLoggedProperties=D;function u(M){return M&&M.__esModule?M:{default:M}}var p=Rw(),y=py(),b=u(y),k=Object.create(null);function P(M){var O=Object.create(null);O.constructor=!1,O.__defineGetter__=!1,O.__defineSetter__=!1,O.__lookupGetter__=!1;var L=Object.create(null);return L.__proto__=!1,{properties:{whitelist:p.createNewLookupObject(L,M.allowedProtoProperties),defaultValue:M.allowProtoPropertiesByDefault},methods:{whitelist:p.createNewLookupObject(O,M.allowedProtoMethods),defaultValue:M.allowProtoMethodsByDefault}}}function x(M,O,L){return o(typeof M=="function"?O.methods:O.properties,L)}function o(M,O){return M.whitelist[O]!==void 0?M.whitelist[O]===!0:M.defaultValue!==void 0?M.defaultValue:(B(O),!1)}function B(M){k[M]!==!0&&(k[M]=!0,b.default.log("error",'Handlebars: Access has been denied to resolve the property "'+M+`" because it is not an "own property" of its parent.
801
+ ${Z.shaderPreludeCode.vertexSource}`,define:Z.shaderDefine},defaultProjectionData:oe},se=F.renderingMode?F.renderingMode:"2d";if(g.renderPass==="offscreen"){const pe=F.prerender;pe&&(g.setCustomLayerDefaults(),N.setColorMode(g.colorModeForRenderPass()),pe.call(F,N.gl,ne),N.setDirty(),g.setBaseState())}else if(g.renderPass==="translucent"){g.setCustomLayerDefaults(),N.setColorMode(g.colorModeForRenderPass()),N.setStencilMode(pt.disabled);const pe=se==="3d"?g.getDepthModeFor3D():g.getDepthModeForSublayer(0,ot.ReadOnly);N.setDepthMode(pe),F.render(N.gl,ne),N.setDirty(),g.setBaseState(),N.bindFramebuffer.set(null)}}(e,0,a,d))}saveTileTexture(e){const r=this._tileTextures[e.size[0]];r?r.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){const r=this._tileTextures[e];return r&&r.length>0?r.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;const r=this.imageManager.getPattern(e.from.toString()),a=this.imageManager.getPattern(e.to.toString());return!r||!a}useProgram(e,r,a=!1,l=[]){this.cache=this.cache||{};const d=!!this.style.map.terrain,g=this.style.projection,w=a?oi.projectionMercator:g.shaderPreludeCode,A=a?Ln:g.shaderDefine,I=e+(r?r.cacheKey:"")+`/${a?Nt:g.shaderVariantName}`+(this._showOverdrawInspector?"/overdraw":"")+(d?"/terrain":"")+(l?`/${l.join("/")}`:"");return this.cache[I]||(this.cache[I]=new ra(this.context,oi[e],r,Ic[e],this._showOverdrawInspector,d,w,A,l)),this.cache[I]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new rt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:e,drawingBufferHeight:r}=this.context.gl;return this.width!==e||this.height!==r}}function ws(h,e){let r,a=!1,l=null,d=null;const g=()=>{l=null,a&&(h.apply(d,r),l=setTimeout(g,e),a=!1)};return(...w)=>(a=!0,d=this,r=w,l||g(),l)}class xl{constructor(e){this._getCurrentHash=()=>{const r=window.location.hash.replace("#","");if(this._hashName){let a;return r.split("&").map(l=>l.split("=")).forEach(l=>{l[0]===this._hashName&&(a=l)}),(a&&a[1]||"").split("/")}return r.split("/")},this._onHashChange=()=>{const r=this._getCurrentHash();if(!this._isValidHash(r))return!1;const a=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(r[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+r[2],+r[1]],zoom:+r[0],bearing:a,pitch:+(r[4]||0)}),!0},this._updateHashUnthrottled=()=>{const r=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,r)},this._removeHash=()=>{const r=this._getCurrentHash();if(r.length===0)return;const a=r.join("/");let l=a;l.split("&").length>0&&(l=l.split("&")[0]),this._hashName&&(l=`${this._hashName}=${a}`);let d=window.location.hash.replace(l,"");d.startsWith("#&")?d=d.slice(0,1)+d.slice(2):d==="#"&&(d="");let g=window.location.href.replace(/(#.+)?$/,d);g=g.replace("&&","&"),window.history.replaceState(window.history.state,null,g)},this._updateHash=ws(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){const r=this._map.getCenter(),a=Math.round(100*this._map.getZoom())/100,l=Math.ceil((a*Math.LN2+Math.log(512/360/.5))/Math.LN10),d=Math.pow(10,l),g=Math.round(r.lng*d)/d,w=Math.round(r.lat*d)/d,A=this._map.getBearing(),I=this._map.getPitch();let z="";if(z+=e?`/${g}/${w}/${a}`:`${a}/${w}/${g}`,(A||I)&&(z+="/"+Math.round(10*A)/10),I&&(z+=`/${Math.round(I)}`),this._hashName){const N=this._hashName;let F=!1;const Z=window.location.hash.slice(1).split("&").map(J=>{const oe=J.split("=")[0];return oe===N?(F=!0,`${oe}=${z}`):J}).filter(J=>J);return F||Z.push(`${N}=${z}`),`#${Z.join("&")}`}return`#${z}`}_isValidHash(e){if(e.length<3||e.some(isNaN))return!1;try{new o.Q(+e[2],+e[1])}catch{return!1}const r=+e[0],a=+(e[3]||0),l=+(e[4]||0);return r>=this._map.getMinZoom()&&r<=this._map.getMaxZoom()&&a>=-180&&a<=180&&l>=this._map.getMinPitch()&&l<=this._map.getMaxPitch()}}const wn={linearity:.3,easing:o.cd(0,0,.3,1)},bl=o.e({deceleration:2500,maxSpeed:1400},wn),Ss=o.e({deceleration:20,maxSpeed:1400},wn),wl=o.e({deceleration:1e3,maxSpeed:360},wn),Hc=o.e({deceleration:1e3,maxSpeed:90},wn),Wc=o.e({deceleration:1e3,maxSpeed:360},wn);class Zc{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:L.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,r=L.now();for(;e.length>0&&r-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const r={zoom:0,bearing:0,pitch:0,roll:0,pan:new o.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:d}of this._inertiaBuffer)r.zoom+=d.zoomDelta||0,r.bearing+=d.bearingDelta||0,r.pitch+=d.pitchDelta||0,r.roll+=d.rollDelta||0,d.panDelta&&r.pan._add(d.panDelta),d.around&&(r.around=d.around),d.pinchAround&&(r.pinchAround=d.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,l={};if(r.pan.mag()){const d=Oo(r.pan.mag(),a,o.e({},bl,e||{})),g=r.pan.mult(d.amount/r.pan.mag()),w=this._map.cameraHelper.handlePanInertia(g,this._map.transform);l.center=w.easingCenter,l.offset=w.easingOffset,Vo(l,d)}if(r.zoom){const d=Oo(r.zoom,a,Ss);l.zoom=this._map.transform.zoom+d.amount,Vo(l,d)}if(r.bearing){const d=Oo(r.bearing,a,wl);l.bearing=this._map.transform.bearing+o.ae(d.amount,-179,179),Vo(l,d)}if(r.pitch){const d=Oo(r.pitch,a,Hc);l.pitch=this._map.transform.pitch+d.amount,Vo(l,d)}if(r.roll){const d=Oo(r.roll,a,Wc);l.roll=this._map.transform.roll+o.ae(d.amount,-179,179),Vo(l,d)}if(l.zoom||l.bearing){const d=r.pinchAround===void 0?r.around:r.pinchAround;l.around=d?this._map.unproject(d):this._map.getCenter()}return this.clear(),o.e(l,{noMoveStart:!0})}}function Vo(h,e){(!h.duration||h.duration<e.duration)&&(h.duration=e.duration,h.easing=e.easing)}function Oo(h,e,r){const{maxSpeed:a,linearity:l,deceleration:d}=r,g=o.ae(h*l/(e/1e3),-a,a),w=Math.abs(g)/(d*l);return{easing:r.easing,duration:1e3*w,amount:g*(w/2)}}class Xr extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a,l={}){a=a instanceof MouseEvent?a:new MouseEvent(e,a);const d=C.mousePos(r.getCanvas(),a),g=r.unproject(d);super(e,o.e({point:d,lngLat:g,originalEvent:a},l)),this._defaultPrevented=!1,this.target=r}}class Fo extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a){const l=e==="touchend"?a.changedTouches:a.touches,d=C.touchPos(r.getCanvasContainer(),l),g=d.map(A=>r.unproject(A)),w=d.reduce((A,I,z,N)=>A.add(I.div(N.length)),new o.P(0,0));super(e,{points:d,point:w,lngLats:g,lngLat:r.unproject(w),originalEvent:a}),this._defaultPrevented=!1}}class Sl extends o.l{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,r,a){super(e,{originalEvent:a}),this._defaultPrevented=!1}}class Kc{constructor(e,r){this._map=e,this._clickTolerance=r.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new Sl(e.type,this._map,e))}mousedown(e,r){return this._mousedownPos=r,this._firePreventable(new Xr(e.type,this._map,e))}mouseup(e){this._map.fire(new Xr(e.type,this._map,e))}click(e,r){this._mousedownPos&&this._mousedownPos.dist(r)>=this._clickTolerance||this._map.fire(new Xr(e.type,this._map,e))}dblclick(e){return this._firePreventable(new Xr(e.type,this._map,e))}mouseover(e){this._map.fire(new Xr(e.type,this._map,e))}mouseout(e){this._map.fire(new Xr(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Fo(e.type,this._map,e))}touchmove(e){this._map.fire(new Fo(e.type,this._map,e))}touchend(e){this._map.fire(new Fo(e.type,this._map,e))}touchcancel(e){this._map.fire(new Fo(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Gc{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new Xr(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Xr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new Xr(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class No{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.screenPointToLocation(o.P.convert(e),this._map.terrain)}}class Al{constructor(e,r){this._map=e,this._tr=new No(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,r){this.isEnabled()&&e.shiftKey&&e.button===0&&(C.disableDrag(),this._startPos=this._lastPos=r,this._active=!0)}mousemoveWindow(e,r){if(!this._active)return;const a=r;if(this._lastPos.equals(a)||!this._box&&a.dist(this._startPos)<this._clickTolerance)return;const l=this._startPos;this._lastPos=a,this._box||(this._box=C.create("div","maplibregl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair"),this._fireEvent("boxzoomstart",e));const d=Math.min(l.x,a.x),g=Math.max(l.x,a.x),w=Math.min(l.y,a.y),A=Math.max(l.y,a.y);C.setTransform(this._box,`translate(${d}px,${w}px)`),this._box.style.width=g-d+"px",this._box.style.height=A-w+"px"}mouseupWindow(e,r){if(!this._active||e.button!==0)return;const a=this._startPos,l=r;if(this.reset(),C.suppressClick(),a.x!==l.x||a.y!==l.y)return this._map.fire(new o.l("boxzoomend",{originalEvent:e})),{cameraAnimation:d=>d.fitScreenCoordinates(a,l,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(C.remove(this._box),this._box=null),C.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,r){return this._map.fire(new o.l(e,{originalEvent:r}))}}function ka(h,e){if(h.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${h.length}, points ${e.length}`);const r={};for(let a=0;a<h.length;a++)r[h[a].identifier]=e[a];return r}class Jc{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,r,a){(this.centroid||a.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),a.length===this.numTouches&&(this.centroid=function(l){const d=new o.P(0,0);for(const g of l)d._add(g);return d.div(l.length)}(r),this.touches=ka(a,r)))}touchmove(e,r,a){if(this.aborted||!this.centroid)return;const l=ka(a,r);for(const d in this.touches){const g=l[d];(!g||g.dist(this.touches[d])>30)&&(this.aborted=!0)}}touchend(e,r,a){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),a.length===0){const l=!this.aborted&&this.centroid;if(this.reset(),l)return l}}}class qo{constructor(e){this.singleTap=new Jc(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,r,a){this.singleTap.touchstart(e,r,a)}touchmove(e,r,a){this.singleTap.touchmove(e,r,a)}touchend(e,r,a){const l=this.singleTap.touchend(e,r,a);if(l){const d=e.timeStamp-this.lastTime<500,g=!this.lastTap||this.lastTap.dist(l)<30;if(d&&g||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=l,this.count===this.numTaps)return this.reset(),l}}}class Xc{constructor(e){this._tr=new No(e),this._zoomIn=new qo({numTouches:1,numTaps:2}),this._zoomOut=new qo({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,r,a){this._zoomIn.touchstart(e,r,a),this._zoomOut.touchstart(e,r,a)}touchmove(e,r,a){this._zoomIn.touchmove(e,r,a),this._zoomOut.touchmove(e,r,a)}touchend(e,r,a){const l=this._zoomIn.touchend(e,r,a),d=this._zoomOut.touchend(e,r,a),g=this._tr;return l?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:g.zoom+1,around:g.unproject(l)},{originalEvent:e})}):d?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:g.zoom-1,around:g.unproject(d)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ai{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){const r=this._moveFunction(...e);if(r.bearingDelta||r.pitchDelta||r.rollDelta||r.around||r.panDelta)return this._active=!0,r}dragStart(e,r){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=Array.isArray(r)?r[0]:r,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,r){if(!this.isEnabled())return;const a=this._lastPoint;if(!a)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);const l=Array.isArray(r)?r[0]:r;return!this._moved&&l.dist(a)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=l,this._move(a,l))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&C.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}const ln={0:1,2:2};class Uo{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){const r=C.mouseButton(e);this._eventButton=r}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(r,a){const l=ln[a];return r.buttons===void 0||(r.buttons&l)!==l}(e,this._eventButton)}isValidEndEvent(e){return C.mouseButton(e)===this._eventButton}}class cn{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return e.targetTouches.length===1}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}class jo{constructor(e=new Uo({checkCorrectEvent:()=>!0}),r=new cn){this.mouseMoveStateManager=e,this.oneFingerTouchMoveStateManager=r}_executeRelevantHandler(e,r,a){return e instanceof MouseEvent?r(e):typeof TouchEvent<"u"&&e instanceof TouchEvent?a(e):void 0}startMove(e){this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.startMove(r),r=>this.oneFingerTouchMoveStateManager.startMove(r))}endMove(e){this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.endMove(r),r=>this.oneFingerTouchMoveStateManager.endMove(r))}isValidStartEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidStartEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidStartEvent(r))}isValidMoveEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidMoveEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(r))}isValidEndEvent(e){return this._executeRelevantHandler(e,r=>this.mouseMoveStateManager.isValidEndEvent(r),r=>this.oneFingerTouchMoveStateManager.isValidEndEvent(r))}}const Ca=h=>{h.mousedown=h.dragStart,h.mousemoveWindow=h.dragMove,h.mouseup=h.dragEnd,h.contextmenu=e=>{e.preventDefault()}};class Vh{constructor(e,r){this._clickTolerance=e.clickTolerance||1,this._map=r,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new o.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,r,a){return this._calculateTransform(e,r,a)}touchmove(e,r,a){if(this._active){if(!this._shouldBePrevented(a.length))return e.preventDefault(),this._calculateTransform(e,r,a);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,r,a){this._calculateTransform(e,r,a),this._active&&this._shouldBePrevented(a.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,r,a){a.length>0&&(this._active=!0);const l=ka(a,r),d=new o.P(0,0),g=new o.P(0,0);let w=0;for(const I in l){const z=l[I],N=this._touches[I];N&&(d._add(z),g._add(z.sub(N)),w++,l[I]=z)}if(this._touches=l,this._shouldBePrevented(w)||!g.mag())return;const A=g.div(w);return this._sum._add(A),this._sum.mag()<this._clickTolerance?void 0:{around:d.div(w),panDelta:A}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class kl{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,r,a){this._firstTwoTouches||a.length<2||(this._firstTwoTouches=[a[0].identifier,a[1].identifier],this._start([r[0],r[1]]))}touchmove(e,r,a){if(!this._firstTwoTouches)return;e.preventDefault();const[l,d]=this._firstTwoTouches,g=Ta(a,r,l),w=Ta(a,r,d);if(!g||!w)return;const A=this._aroundCenter?null:g.add(w).div(2);return this._move([g,w],A,e)}touchend(e,r,a){if(!this._firstTwoTouches)return;const[l,d]=this._firstTwoTouches,g=Ta(a,r,l),w=Ta(a,r,d);g&&w||(this._active&&C.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&e.around==="center"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function Ta(h,e,r){for(let a=0;a<h.length;a++)if(h[a].identifier===r)return e[a]}function Cl(h,e){return Math.log(h/e)/Math.LN2}class Ho extends kl{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,r){const a=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(Math.abs(Cl(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:Cl(this._distance,a),pinchAround:r}}}function Sn(h,e){return 180*h.angleWith(e)/Math.PI}class bt extends kl{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,r,a){const l=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Sn(this._vector,l),pinchAround:r}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());const r=25/(Math.PI*this._minDiameter)*360,a=Sn(e,this._startVector);return Math.abs(a)<r}}function Ea(h){return Math.abs(h.y)>Math.abs(h.x)}class Pa extends kl{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,r,a){super.touchstart(e,r,a),this._currentTouchCount=a.length}_start(e){this._lastPoints=e,Ea(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,r,a){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const l=e[0].sub(this._lastPoints[0]),d=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(l,d,a.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(l.y+d.y)/2*-.5}):void 0}gestureBeginsVertically(e,r,a){if(this._valid!==void 0)return this._valid;const l=e.mag()>=2,d=r.mag()>=2;if(!l&&!d)return;if(!l||!d)return this._firstMove===void 0&&(this._firstMove=a),a-this._firstMove<100&&void 0;const g=e.y>0==r.y>0;return Ea(e)&&Ea(r)&&g}}const Qc={panStep:100,bearingStep:15,pitchStep:10};class Wo{constructor(e){this._tr=new No(e);const r=Qc;this._panStep=r.panStep,this._bearingStep=r.bearingStep,this._pitchStep=r.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let r=0,a=0,l=0,d=0,g=0;switch(e.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:e.shiftKey?a=-1:(e.preventDefault(),d=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),d=1);break;case 38:e.shiftKey?l=1:(e.preventDefault(),g=-1);break;case 40:e.shiftKey?l=-1:(e.preventDefault(),g=1);break;default:return}return this._rotationDisabled&&(a=0,l=0),{cameraAnimation:w=>{const A=this._tr;w.easeTo({duration:300,easeId:"keyboardHandler",easing:As,zoom:r?Math.round(A.zoom)+r*(e.shiftKey?2:1):A.zoom,bearing:A.bearing+a*this._bearingStep,pitch:A.pitch+l*this._pitchStep,offset:[-d*this._panStep,-g*this._panStep],center:A.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function As(h){return h*(2-h)}const Tl=4.000244140625;class er{constructor(e,r){this._onTimeout=a=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(a)},this._map=e,this._tr=new No(e),this._triggerRenderFrame=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let r=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const a=L.now(),l=a-(this._lastWheelEventTime||0);this._lastWheelEventTime=a,r!==0&&r%Tl==0?this._type="wheel":r!==0&&Math.abs(r)<4?this._type="trackpad":l>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(l*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=C.mousePos(this._map.getCanvas(),e),a=this._tr;this._aroundPoint=this._aroundCenter?a.transform.locationToScreenPoint(o.Q.convert(a.center)):r,this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const e=this._tr.transform;if(typeof this._lastExpectedZoom=="number"){const w=e.zoom-this._lastExpectedZoom;typeof this._startZoom=="number"&&(this._startZoom+=w),typeof this._targetZoom=="number"&&(this._targetZoom+=w)}if(this._delta!==0){const w=this._type==="wheel"&&Math.abs(this._delta)>Tl?this._wheelZoomRate:this._defaultZoomRate;let A=2/(1+Math.exp(-Math.abs(this._delta*w)));this._delta<0&&A!==0&&(A=1/A);const I=typeof this._targetZoom!="number"?e.scale:o.ac(this._targetZoom);this._targetZoom=e.getConstrained(e.getCameraLngLat(),o.ah(I*A)).zoom,this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const r=typeof this._targetZoom!="number"?e.zoom:this._targetZoom,a=this._startZoom,l=this._easing;let d,g=!1;if(this._type==="wheel"&&a&&l){const w=L.now()-this._lastWheelEventTime,A=Math.min((w+5)/200,1),I=l(A);d=o.B.number(a,r,I),A<1?this._frameId||(this._frameId=!0):g=!0}else d=r,g=!0;return this._active=!0,g&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=d,{noInertia:!0,needsRenderFrame:!g,zoomDelta:d-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let r=o.cf;if(this._prevEase){const a=this._prevEase,l=(L.now()-a.start)/a.duration,d=a.easing(l+.01)-a.easing(l),g=.27/Math.sqrt(d*d+1e-4)*.01,w=Math.sqrt(.0729-g*g);r=o.cd(g,w,.25,1)}return this._prevEase={start:L.now(),duration:e,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Ia{constructor(e,r){this._clickZoom=e,this._tapZoom=r}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Oh{constructor(e){this._tr=new No(e),this.reset()}reset(){this._active=!1}dblclick(e,r){return e.preventDefault(),{cameraAnimation:a=>{a.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(r)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class El{constructor(){this._tap=new qo({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,r,a){if(!this._swipePoint)if(this._tapTime){const l=r[0],d=e.timeStamp-this._tapTime<500,g=this._tapPoint.dist(l)<30;d&&g?a.length>0&&(this._swipePoint=l,this._swipeTouch=a[0].identifier):this.reset()}else this._tap.touchstart(e,r,a)}touchmove(e,r,a){if(this._tapTime){if(this._swipePoint){if(a[0].identifier!==this._swipeTouch)return;const l=r[0],d=l.y-this._swipePoint.y;return this._swipePoint=l,e.preventDefault(),this._active=!0,{zoomDelta:d/128}}}else this._tap.touchmove(e,r,a)}touchend(e,r,a){if(this._tapTime)this._swipePoint&&a.length===0&&this.reset();else{const l=this._tap.touchend(e,r,a);l&&(this._tapTime=e.timeStamp,this._tapPoint=l)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Yc{constructor(e,r,a){this._el=e,this._mousePan=r,this._touchPan=a}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class $c{constructor(e,r,a,l){this._pitchWithRotate=e.pitchWithRotate,this._rollEnabled=e.rollEnabled,this._mouseRotate=r,this._mousePitch=a,this._mouseRoll=l}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class Pl{constructor(e,r,a,l){this._el=e,this._touchZoom=r,this._touchRotate=a,this._tapDragZoom=l,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ma{constructor(e,r){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=e,this._options=r,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=C.create("div","maplibregl-cooperative-gesture-screen",e);let r=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(r=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const a=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),l=document.createElement("div");l.className="maplibregl-desktop-message",l.textContent=r,this._container.appendChild(l);const d=document.createElement("div");d.className="maplibregl-mobile-message",d.textContent=a,this._container.appendChild(d),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(C.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,r){this._enabled&&(this._map.fire(new o.l("cooperativegestureprevented",{gestureType:e,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const ks=h=>h.zoom||h.drag||h.roll||h.pitch||h.rotate;class Fh extends o.l{}function La(h){return h.panDelta&&h.panDelta.mag()||h.zoomDelta||h.bearingDelta||h.pitchDelta||h.rollDelta}class Nh{constructor(e,r){this.handleWindowEvent=l=>{this.handleEvent(l,`${l.type}Window`)},this.handleEvent=(l,d)=>{if(l.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const g=l.type==="renderFrame"?void 0:l,w={needsRenderFrame:!1},A={},I={};for(const{handlerName:F,handler:Z,allowed:J}of this._handlers){if(!Z.isEnabled())continue;let oe;if(this._blockedByActive(I,J,F))Z.reset();else if(Z[d||l.type]){if(o.cg(l,d||l.type)){const ne=C.mousePos(this._map.getCanvas(),l);oe=Z[d||l.type](l,ne)}else if(o.ch(l,d||l.type)){const ne=this._getMapTouches(l.touches),se=C.touchPos(this._map.getCanvas(),ne);oe=Z[d||l.type](l,se,ne)}else o.ci(d||l.type)||(oe=Z[d||l.type](l));this.mergeHandlerResult(w,A,oe,F,g),oe&&oe.needsRenderFrame&&this._triggerRenderFrame()}(oe||Z.isActive())&&(I[F]=Z)}const z={};for(const F in this._previousActiveHandlers)I[F]||(z[F]=g);this._previousActiveHandlers=I,(Object.keys(z).length||La(w))&&(this._changes.push([w,A,z]),this._triggerRenderFrame()),(Object.keys(I).length||La(w))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:N}=w;N&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],N(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Zc(e),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r);const a=this._el;this._listeners=[[a,"touchstart",{passive:!0}],[a,"touchmove",{passive:!1}],[a,"touchend",void 0],[a,"touchcancel",void 0],[a,"mousedown",void 0],[a,"mousemove",void 0],[a,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[a,"mouseover",void 0],[a,"mouseout",void 0],[a,"dblclick",void 0],[a,"click",void 0],[a,"keydown",{capture:!1}],[a,"keyup",void 0],[a,"wheel",{passive:!1}],[a,"contextmenu",void 0],[window,"blur",void 0]];for(const[l,d,g]of this._listeners)C.addEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,g)}destroy(){for(const[e,r,a]of this._listeners)C.removeEventListener(e,r,e===document?this.handleWindowEvent:this.handleEvent,a)}_addDefaultHandlers(e){const r=this._map,a=r.getCanvasContainer();this._add("mapEvent",new Kc(r,e));const l=r.boxZoom=new Al(r,e);this._add("boxZoom",l),e.interactive&&e.boxZoom&&l.enable();const d=r.cooperativeGestures=new Ma(r,e.cooperativeGestures);this._add("cooperativeGestures",d),e.cooperativeGestures&&d.enable();const g=new Xc(r),w=new Oh(r);r.doubleClickZoom=new Ia(w,g),this._add("tapZoom",g),this._add("clickZoom",w),e.interactive&&e.doubleClickZoom&&r.doubleClickZoom.enable();const A=new El;this._add("tapDragZoom",A);const I=r.touchPitch=new Pa(r);this._add("touchPitch",I),e.interactive&&e.touchPitch&&r.touchPitch.enable(e.touchPitch);const z=()=>r.project(r.getCenter()),N=function({enable:ye,clickTolerance:be,aroundCenter:Ce=!0,minPixelCenterThreshold:we=100,rotateDegreesPerPixelMoved:Re=.8},We){const Fe=new Uo({checkCorrectEvent:Ne=>C.mouseButton(Ne)===0&&Ne.ctrlKey||C.mouseButton(Ne)===2&&!Ne.ctrlKey});return new Ai({clickTolerance:be,move:(Ne,je)=>{const mt=We();if(Ce&&Math.abs(mt.y-Ne.y)>we)return{bearingDelta:o.ce(new o.P(Ne.x,je.y),je,mt)};let dt=(je.x-Ne.x)*Re;return Ce&&je.y<mt.y&&(dt=-dt),{bearingDelta:dt}},moveStateManager:Fe,enable:ye,assignEvents:Ca})}(e,z),F=function({enable:ye,clickTolerance:be,pitchDegreesPerPixelMoved:Ce=-.5}){const we=new Uo({checkCorrectEvent:Re=>C.mouseButton(Re)===0&&Re.ctrlKey||C.mouseButton(Re)===2});return new Ai({clickTolerance:be,move:(Re,We)=>({pitchDelta:(We.y-Re.y)*Ce}),moveStateManager:we,enable:ye,assignEvents:Ca})}(e),Z=function({enable:ye,clickTolerance:be,rollDegreesPerPixelMoved:Ce=.3},we){const Re=new Uo({checkCorrectEvent:We=>C.mouseButton(We)===2&&We.ctrlKey});return new Ai({clickTolerance:be,move:(We,Fe)=>{const Ne=we();let je=(Fe.x-We.x)*Ce;return Fe.y<Ne.y&&(je=-je),{rollDelta:je}},moveStateManager:Re,enable:ye,assignEvents:Ca})}(e,z);r.dragRotate=new $c(e,N,F,Z),this._add("mouseRotate",N,["mousePitch"]),this._add("mousePitch",F,["mouseRotate","mouseRoll"]),this._add("mouseRoll",Z,["mousePitch"]),e.interactive&&e.dragRotate&&r.dragRotate.enable();const J=function({enable:ye,clickTolerance:be}){const Ce=new Uo({checkCorrectEvent:we=>C.mouseButton(we)===0&&!we.ctrlKey});return new Ai({clickTolerance:be,move:(we,Re)=>({around:Re,panDelta:Re.sub(we)}),activateOnStart:!0,moveStateManager:Ce,enable:ye,assignEvents:Ca})}(e),oe=new Vh(e,r);r.dragPan=new Yc(a,J,oe),this._add("mousePan",J),this._add("touchPan",oe,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&r.dragPan.enable(e.dragPan);const ne=new bt,se=new Ho;r.touchZoomRotate=new Pl(a,se,ne,A),this._add("touchRotate",ne,["touchPan","touchZoom"]),this._add("touchZoom",se,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&r.touchZoomRotate.enable(e.touchZoomRotate);const pe=r.scrollZoom=new er(r,()=>this._triggerRenderFrame());this._add("scrollZoom",pe,["mousePan"]),e.interactive&&e.scrollZoom&&r.scrollZoom.enable(e.scrollZoom);const _e=r.keyboard=new Wo(r);this._add("keyboard",_e),e.interactive&&e.keyboard&&r.keyboard.enable(),this._add("blockableMapEvent",new Gc(r))}_add(e,r,a){this._handlers.push({handlerName:e,handler:r,allowed:a}),this._handlersById[e]=r}stop(e){if(!this._updatingCamera){for(const{handler:r}of this._handlers)r.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!ks(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,r,a){for(const l in e)if(l!==a&&(!r||r.indexOf(l)<0))return!0;return!1}_getMapTouches(e){const r=[];for(const a of e)this._el.contains(a.target)&&r.push(a);return r}mergeHandlerResult(e,r,a,l,d){if(!a)return;o.e(e,a);const g={handlerName:l,originalEvent:a.originalEvent||d};a.zoomDelta!==void 0&&(r.zoom=g),a.panDelta!==void 0&&(r.drag=g),a.rollDelta!==void 0&&(r.roll=g),a.pitchDelta!==void 0&&(r.pitch=g),a.bearingDelta!==void 0&&(r.rotate=g)}_applyChanges(){const e={},r={},a={};for(const[l,d,g]of this._changes)l.panDelta&&(e.panDelta=(e.panDelta||new o.P(0,0))._add(l.panDelta)),l.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+l.zoomDelta),l.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+l.bearingDelta),l.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+l.pitchDelta),l.rollDelta&&(e.rollDelta=(e.rollDelta||0)+l.rollDelta),l.around!==void 0&&(e.around=l.around),l.pinchAround!==void 0&&(e.pinchAround=l.pinchAround),l.noInertia&&(e.noInertia=l.noInertia),o.e(r,d),o.e(a,g);this._updateMapTransform(e,r,a),this._changes=[]}_updateMapTransform(e,r,a){const l=this._map,d=l._getTransformForUpdate(),g=l.terrain;if(!(La(e)||g&&this._terrainMovement))return this._fireEvents(r,a,!0);l._stop(!0);let{panDelta:w,zoomDelta:A,bearingDelta:I,pitchDelta:z,rollDelta:N,around:F,pinchAround:Z}=e;Z!==void 0&&(F=Z),F=F||l.transform.centerPoint,g&&!d.isPointOnMapSurface(F)&&(F=d.centerPoint);const J={panDelta:w,zoomDelta:A,rollDelta:N,pitchDelta:z,bearingDelta:I,around:F};this._map.cameraHelper.useGlobeControls&&!d.isPointOnMapSurface(F)&&(F=d.centerPoint);const oe=F.distSqr(d.centerPoint)<.01?d.center:d.screenPointToLocation(w?F.sub(w):F);g?(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(J,d),this._terrainMovement||!r.drag&&!r.zoom?r.drag&&this._terrainMovement?d.setCenter(d.screenPointToLocation(d.centerPoint.sub(w))):this._map.cameraHelper.handleMapControlsPan(J,d,oe):(this._terrainMovement=!0,this._map._elevationFreeze=!0,this._map.cameraHelper.handleMapControlsPan(J,d,oe))):(this._map.cameraHelper.handleMapControlsRollPitchBearingZoom(J,d),this._map.cameraHelper.handleMapControlsPan(J,d,oe)),l._applyUpdatedTransform(d),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(r,a,!0)}_fireEvents(e,r,a){const l=ks(this._eventsInProgress),d=ks(e),g={};for(const N in e){const{originalEvent:F}=e[N];this._eventsInProgress[N]||(g[`${N}start`]=F),this._eventsInProgress[N]=e[N]}!l&&d&&this._fireEvent("movestart",d.originalEvent);for(const N in g)this._fireEvent(N,g[N]);d&&this._fireEvent("move",d.originalEvent);for(const N in e){const{originalEvent:F}=e[N];this._fireEvent(N,F)}const w={};let A;for(const N in this._eventsInProgress){const{handlerName:F,originalEvent:Z}=this._eventsInProgress[N];this._handlersById[F].isActive()||(delete this._eventsInProgress[N],A=r[F]||Z,w[`${N}end`]=A)}for(const N in w)this._fireEvent(N,w[N]);const I=ks(this._eventsInProgress),z=(l||d)&&!I;if(z&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const N=this._map._getTransformForUpdate();this._map.getCenterClampedToGround()&&N.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(N)}if(a&&z){this._updatingCamera=!0;const N=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),F=Z=>Z!==0&&-this._bearingSnap<Z&&Z<this._bearingSnap;!N||!N.essential&&L.prefersReducedMotion?(this._map.fire(new o.l("moveend",{originalEvent:A})),F(this._map.getBearing())&&this._map.resetNorth()):(F(N.bearing||this._map.getBearing())&&(N.bearing=0),N.freezeElevation=!0,this._map.easeTo(N,{originalEvent:A})),this._updatingCamera=!1}}_fireEvent(e,r){this._map.fire(new o.l(e,r?{originalEvent:r}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(e=>{delete this._frameId,this.handleEvent(new Fh("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class qh extends o.E{constructor(e,r,a){super(),this._renderFrameCallback=()=>{const l=Math.min((L.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(l)),l<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=a.bearingSnap,this.cameraHelper=r,this.on("moveend",()=>{delete this._requestedCameraState})}migrateProjection(e,r){e.apply(this.transform),this.transform=e,this.cameraHelper=r}getCenter(){return new o.Q(this.transform.center.lng,this.transform.center.lat)}setCenter(e,r){return this.jumpTo({center:e},r)}getCenterElevation(){return this.transform.elevation}setCenterElevation(e,r){return this.jumpTo({elevation:e},r),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(e){this._centerClampedToGround=e}panBy(e,r,a){return e=o.P.convert(e).mult(-1),this.panTo(this.transform.center,o.e({offset:e},r),a)}panTo(e,r,a){return this.easeTo(o.e({center:e},r),a)}getZoom(){return this.transform.zoom}setZoom(e,r){return this.jumpTo({zoom:e},r),this}zoomTo(e,r,a){return this.easeTo(o.e({zoom:e},r),a)}zoomIn(e,r){return this.zoomTo(this.getZoom()+1,e,r),this}zoomOut(e,r){return this.zoomTo(this.getZoom()-1,e,r),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(e,r){return e!=this.transform.fov&&(this.transform.setFov(e),this.fire(new o.l("movestart",r)).fire(new o.l("move",r)).fire(new o.l("moveend",r))),this}getBearing(){return this.transform.bearing}setBearing(e,r){return this.jumpTo({bearing:e},r),this}getPadding(){return this.transform.padding}setPadding(e,r){return this.jumpTo({padding:e},r),this}rotateTo(e,r,a){return this.easeTo(o.e({bearing:e},r),a)}resetNorth(e,r){return this.rotateTo(0,o.e({duration:1e3},e),r),this}resetNorthPitch(e,r){return this.easeTo(o.e({bearing:0,pitch:0,roll:0,duration:1e3},e),r),this}snapToNorth(e,r){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,r):this}getPitch(){return this.transform.pitch}setPitch(e,r){return this.jumpTo({pitch:e},r),this}getRoll(){return this.transform.roll}setRoll(e,r){return this.jumpTo({roll:e},r),this}cameraForBounds(e,r){e=it.convert(e).adjustAntiMeridian();const a=r&&r.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),a,r)}_cameraForBoxAndBearing(e,r,a,l){const d={top:0,bottom:0,right:0,left:0};if(typeof(l=o.e({padding:d,offset:[0,0],maxZoom:this.transform.maxZoom},l)).padding=="number"){const I=l.padding;l.padding={top:I,bottom:I,right:I,left:I}}const g=o.e(d,l.padding);l.padding=g;const w=this.transform,A=new it(e,r);return this.cameraHelper.cameraForBoxAndBearing(l,g,A,a,w)}fitBounds(e,r,a){return this._fitInternal(this.cameraForBounds(e,r),r,a)}fitScreenCoordinates(e,r,a,l,d){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(o.P.convert(e)),this.transform.screenPointToLocation(o.P.convert(r)),a,l),l,d)}_fitInternal(e,r,a){return e?(delete(r=o.e(e,r)).padding,r.linear?this.easeTo(r,a):this.flyTo(r,a)):this}jumpTo(e,r){this.stop();const a=this._getTransformForUpdate();let l=!1,d=!1,g=!1;const w=a.zoom;this.cameraHelper.handleJumpToCenterZoom(a,e);const A=a.zoom!==w;return"elevation"in e&&a.elevation!==+e.elevation&&a.setElevation(+e.elevation),"bearing"in e&&a.bearing!==+e.bearing&&(l=!0,a.setBearing(+e.bearing)),"pitch"in e&&a.pitch!==+e.pitch&&(d=!0,a.setPitch(+e.pitch)),"roll"in e&&a.roll!==+e.roll&&(g=!0,a.setRoll(+e.roll)),e.padding==null||a.isPaddingEqual(e.padding)||a.setPadding(e.padding),this._applyUpdatedTransform(a),this.fire(new o.l("movestart",r)).fire(new o.l("move",r)),A&&this.fire(new o.l("zoomstart",r)).fire(new o.l("zoom",r)).fire(new o.l("zoomend",r)),l&&this.fire(new o.l("rotatestart",r)).fire(new o.l("rotate",r)).fire(new o.l("rotateend",r)),d&&this.fire(new o.l("pitchstart",r)).fire(new o.l("pitch",r)).fire(new o.l("pitchend",r)),g&&this.fire(new o.l("rollstart",r)).fire(new o.l("roll",r)).fire(new o.l("rollend",r)),this.fire(new o.l("moveend",r))}calculateCameraOptionsFromTo(e,r,a,l=0){const d=o.$.fromLngLat(e,r),g=o.$.fromLngLat(a,l),w=g.x-d.x,A=g.y-d.y,I=g.z-d.z,z=Math.hypot(w,A,I);if(z===0)throw new Error("Can't calculate camera options with same From and To");const N=Math.hypot(w,A),F=o.ah(this.transform.cameraToCenterDistance/z/this.transform.tileSize),Z=180*Math.atan2(w,-A)/Math.PI;let J=180*Math.acos(N/z)/Math.PI;return J=I<0?90-J:90+J,{center:g.toLngLat(),elevation:l,zoom:F,pitch:J,bearing:Z}}calculateCameraOptionsFromCameraLngLatAltRotation(e,r,a,l,d){const g=this.transform.calculateCenterFromCameraLngLatAlt(e,r,a,l);return{center:g.center,elevation:g.elevation,zoom:g.zoom,bearing:a,pitch:l,roll:d}}easeTo(e,r){this._stop(!1,e.easeId),((e=o.e({offset:[0,0],duration:500,easing:o.cf},e)).animate===!1||!e.essential&&L.prefersReducedMotion)&&(e.duration=0);const a=this._getTransformForUpdate(),l=this.getBearing(),d=a.pitch,g=a.roll,w="bearing"in e?this._normalizeBearing(e.bearing,l):l,A="pitch"in e?+e.pitch:d,I="roll"in e?this._normalizeBearing(e.roll,g):g,z="padding"in e?e.padding:a.padding,N=o.P.convert(e.offset);let F,Z;e.around&&(F=o.Q.convert(e.around),Z=a.locationToScreenPoint(F));const J={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},oe=this.cameraHelper.handleEaseTo(a,{bearing:w,pitch:A,roll:I,padding:z,around:F,aroundPoint:Z,offsetAsPoint:N,offset:e.offset,zoom:e.zoom,center:e.center});return this._rotating=this._rotating||l!==w,this._pitching=this._pitching||A!==d,this._rolling=this._rolling||I!==g,this._padding=!a.isPaddingEqual(z),this._zooming=this._zooming||oe.isZooming,this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,J),this.terrain&&this._prepareElevation(oe.elevationCenter),this._ease(ne=>{oe.easeFunc(ne),this.terrain&&!e.freezeElevation&&this._updateElevation(ne),this._applyUpdatedTransform(a),this._fireMoveEvents(r)},ne=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r,ne)},e),this}_prepareEase(e,r,a={}){this._moving=!0,r||a.moving||this.fire(new o.l("movestart",e)),this._zooming&&!a.zooming&&this.fire(new o.l("zoomstart",e)),this._rotating&&!a.rotating&&this.fire(new o.l("rotatestart",e)),this._pitching&&!a.pitching&&this.fire(new o.l("pitchstart",e)),this._rolling&&!a.rolling&&this.fire(new o.l("rollstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));const r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&r!==this._elevationTarget){const a=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(a-(r-(a*e+this._elevationStart))/(1-e)),this._elevationTarget=r}this.transform.setElevation(o.B.number(this._elevationStart,this._elevationTarget,e))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGround()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){if(!this.terrain&&e.elevation>=0&&e.pitch<=90)return{};const r=e.getCameraLngLat(),a=e.getCameraAltitude(),l=this.terrain?this.terrain.getElevationForLngLatZoom(r,e.zoom):0;if(a<l){const d=this.calculateCameraOptionsFromTo(r,l,e.center,e.elevation);return{pitch:d.pitch,zoom:d.zoom}}return{}}_applyUpdatedTransform(e){const r=[];if(r.push(l=>this._elevateCameraIfInsideTerrain(l)),this.transformCameraUpdate&&r.push(l=>this.transformCameraUpdate(l)),!r.length)return;const a=e.clone();for(const l of r){const d=a.clone(),{center:g,zoom:w,roll:A,pitch:I,bearing:z,elevation:N}=l(d);g&&d.setCenter(g),N!==void 0&&d.setElevation(N),w!==void 0&&d.setZoom(w),A!==void 0&&d.setRoll(A),I!==void 0&&d.setPitch(I),z!==void 0&&d.setBearing(z),a.apply(d)}this.transform.apply(a)}_fireMoveEvents(e){this.fire(new o.l("move",e)),this._zooming&&this.fire(new o.l("zoom",e)),this._rotating&&this.fire(new o.l("rotate",e)),this._pitching&&this.fire(new o.l("pitch",e)),this._rolling&&this.fire(new o.l("roll",e))}_afterEase(e,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;const a=this._zooming,l=this._rotating,d=this._pitching,g=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,a&&this.fire(new o.l("zoomend",e)),l&&this.fire(new o.l("rotateend",e)),d&&this.fire(new o.l("pitchend",e)),g&&this.fire(new o.l("rollend",e)),this.fire(new o.l("moveend",e))}flyTo(e,r){if(!e.essential&&L.prefersReducedMotion){const je=o.O(e,["center","zoom","bearing","pitch","roll","elevation"]);return this.jumpTo(je,r)}this.stop(),e=o.e({offset:[0,0],speed:1.2,curve:1.42,easing:o.cf},e);const a=this._getTransformForUpdate(),l=a.bearing,d=a.pitch,g=a.roll,w=a.padding,A="bearing"in e?this._normalizeBearing(e.bearing,l):l,I="pitch"in e?+e.pitch:d,z="roll"in e?this._normalizeBearing(e.roll,g):g,N="padding"in e?e.padding:a.padding,F=o.P.convert(e.offset);let Z=a.centerPoint.add(F);const J=a.screenPointToLocation(Z),oe=this.cameraHelper.handleFlyTo(a,{bearing:A,pitch:I,roll:z,padding:N,locationAtOffset:J,offsetAsPoint:F,center:e.center,minZoom:e.minZoom,zoom:e.zoom});let ne=e.curve;const se=Math.max(a.width,a.height),pe=se/oe.scaleOfZoom,_e=oe.pixelPathLength;typeof oe.scaleOfMinZoom=="number"&&(ne=Math.sqrt(se/oe.scaleOfMinZoom/_e*2));const ye=ne*ne;function be(je){const mt=(pe*pe-se*se+(je?-1:1)*ye*ye*_e*_e)/(2*(je?pe:se)*ye*_e);return Math.log(Math.sqrt(mt*mt+1)-mt)}function Ce(je){return(Math.exp(je)-Math.exp(-je))/2}function we(je){return(Math.exp(je)+Math.exp(-je))/2}const Re=be(!1);let We=function(je){return we(Re)/we(Re+ne*je)},Fe=function(je){return se*((we(Re)*(Ce(mt=Re+ne*je)/we(mt))-Ce(Re))/ye)/_e;var mt},Ne=(be(!0)-Re)/ne;if(Math.abs(_e)<2e-6||!isFinite(Ne)){if(Math.abs(se-pe)<1e-6)return this.easeTo(e,r);const je=pe<se?-1:1;Ne=Math.abs(Math.log(pe/se))/ne,Fe=()=>0,We=mt=>Math.exp(je*ne*mt)}return e.duration="duration"in e?+e.duration:1e3*Ne/("screenSpeed"in e?+e.screenSpeed/ne:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=l!==A,this._pitching=I!==d,this._rolling=z!==g,this._padding=!a.isPaddingEqual(N),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(oe.targetCenter),this._ease(je=>{const mt=je*Ne,dt=1/We(mt),tt=Fe(mt);this._rotating&&a.setBearing(o.B.number(l,A,je)),this._pitching&&a.setPitch(o.B.number(d,I,je)),this._rolling&&a.setRoll(o.B.number(g,z,je)),this._padding&&(a.interpolatePadding(w,N,je),Z=a.centerPoint.add(F)),oe.easeFunc(je,dt,tt,Z),this.terrain&&!e.freezeElevation&&this._updateElevation(je),this._applyUpdatedTransform(a),this._fireMoveEvents(r)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(r)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,r){var a;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const l=this._onEaseEnd;delete this._onEaseEnd,l.call(this,r)}return e||(a=this.handlers)===null||a===void 0||a.stop(!1),this}_ease(e,r,a){a.animate===!1||a.duration===0?(e(1),r()):(this._easeStart=L.now(),this._easeOptions=a,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,r){e=o.aL(e,-180,180);const a=Math.abs(e-r);return Math.abs(e-360-r)<a&&(e-=360),Math.abs(e+360-r)<a&&(e+=360),e}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(o.Q.convert(e),this.transform.tileZoom):null}}const Bn={compact:!0,customAttribution:'<a href="https://maplibre.org/" target="_blank">MapLibre</a>'};class kr{constructor(e=Bn){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=r=>{!r||r.sourceDataType!=="metadata"&&r.sourceDataType!=="visibility"&&r.dataType!=="style"&&r.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=C.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=C.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=C.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){C.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,r){const a=this._map._getUIString(`AttributionControl.${r}`);e.title=a,e.setAttribute("aria-label",a)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(l=>typeof l!="string"?"":l)):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){const l=this._map.style.stylesheet;this.styleOwner=l.owner,this.styleId=l.id}const r=this._map.style.sourceCaches;for(const l in r){const d=r[l];if(d.used||d.usedForTerrain){const g=d.getSource();g.attribution&&e.indexOf(g.attribution)<0&&e.push(g.attribution)}}e=e.filter(l=>String(l).trim()),e.sort((l,d)=>l.length-d.length),e=e.filter((l,d)=>{for(let g=d+1;g<e.length;g++)if(e[g].indexOf(l)>=0)return!1;return!0});const a=e.join(" | ");a!==this._attribHTML&&(this._attribHTML=a,e.length?(this._innerContainer.innerHTML=C.sanitize(a),this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Cs{constructor(e={}){this._updateCompact=()=>{const r=this._container.children;if(r.length){const a=r[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&a.classList.add("maplibregl-compact"):a.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=C.create("div","maplibregl-ctrl");const r=C.create("a","maplibregl-ctrl-logo");return r.target="_blank",r.rel="noopener nofollow",r.href="https://maplibre.org/",r.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),r.setAttribute("rel","noopener nofollow"),this._container.appendChild(r),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){C.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Il{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const r=++this._id;return this._queue.push({callback:e,id:r,cancelled:!1}),r}remove(e){const r=this._currentlyRunning,a=r?this._queue.concat(r):this._queue;for(const l of a)if(l.id===e)return void(l.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const r=this._currentlyRunning=this._queue;this._queue=[];for(const a of r)if(!a.cancelled&&(a.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var eu=o.aG([{name:"a_pos3d",type:"Int16",components:3}]);class tu extends o.E{constructor(e){super(),this._lastTilesetChange=L.now(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=e._source.tileSize*2**this.deltaZoom,e.usedForTerrain=!0,e.tileSize=this.tileSize}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,r){this.sourceCache.update(e,r),this._renderableTilesKeys=[];const a={};for(const l of Ae(e,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r,calculateTileZoom:this.sourceCache._source.calculateTileZoom}))a[l.key]=!0,this._renderableTilesKeys.push(l.key),this._tiles[l.key]||(l.terrainRttPosMatrix32f=new Float64Array(16),o.bQ(l.terrainRttPosMatrix32f,0,o.Z,o.Z,0,0,1),this._tiles[l.key]=new gi(l,this.tileSize),this._lastTilesetChange=L.now());for(const l in this._tiles)a[l]||delete this._tiles[l]}freeRtt(e){for(const r in this._tiles){const a=this._tiles[r];(!e||a.tileID.equals(e)||a.tileID.isChildOf(e)||e.isChildOf(a.tileID))&&(a.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e,r){return r?this._getTerrainCoordsForTileRanges(e,r):this._getTerrainCoordsForRegularTile(e)}_getTerrainCoordsForRegularTile(e){const r={};for(const a of this._renderableTilesKeys){const l=this._tiles[a].tileID,d=e.clone(),g=o.b2();if(l.canonical.equals(e.canonical))o.bQ(g,0,o.Z,o.Z,0,0,1);else if(l.canonical.isChildOf(e.canonical)){const w=l.canonical.z-e.canonical.z,A=l.canonical.x-(l.canonical.x>>w<<w),I=l.canonical.y-(l.canonical.y>>w<<w),z=o.Z>>w;o.bQ(g,0,z,z,0,0,1),o.L(g,g,[-A*z,-I*z,0])}else{if(!e.canonical.isChildOf(l.canonical))continue;{const w=e.canonical.z-l.canonical.z,A=e.canonical.x-(e.canonical.x>>w<<w),I=e.canonical.y-(e.canonical.y>>w<<w),z=o.Z>>w;o.bQ(g,0,o.Z,o.Z,0,0,1),o.L(g,g,[A*z,I*z,0]),o.M(g,g,[1/2**w,1/2**w,0])}}d.terrainRttPosMatrix32f=new Float32Array(g),r[a]=d}return r}_getTerrainCoordsForTileRanges(e,r){const a={};for(const l of this._renderableTilesKeys){const d=this._tiles[l].tileID;if(!this._isWithinTileRanges(d,r))continue;const g=e.clone(),w=o.b2();if(d.canonical.z===e.canonical.z){const A=e.canonical.x-d.canonical.x,I=e.canonical.y-d.canonical.y;o.bQ(w,0,o.Z,o.Z,0,0,1),o.L(w,w,[A*o.Z,I*o.Z,0])}else if(d.canonical.z>e.canonical.z){const A=d.canonical.z-e.canonical.z,I=d.canonical.x-(d.canonical.x>>A<<A),z=d.canonical.y-(d.canonical.y>>A<<A),N=e.canonical.x-(d.canonical.x>>A),F=e.canonical.y-(d.canonical.y>>A),Z=o.Z>>A;o.bQ(w,0,Z,Z,0,0,1),o.L(w,w,[-I*Z+N*o.Z,-z*Z+F*o.Z,0])}else{const A=e.canonical.z-d.canonical.z,I=e.canonical.x-(e.canonical.x>>A<<A),z=e.canonical.y-(e.canonical.y>>A<<A),N=(e.canonical.x>>A)-d.canonical.x,F=(e.canonical.y>>A)-d.canonical.y,Z=o.Z<<A;o.bQ(w,0,Z,Z,0,0,1),o.L(w,w,[I*o.Z+N*Z,z*o.Z+F*Z,0])}g.terrainRttPosMatrix32f=new Float32Array(w),a[l]=g}return a}getSourceTile(e,r){const a=this.sourceCache._source;let l=e.overscaledZ-this.deltaZoom;if(l>a.maxzoom&&(l=a.maxzoom),l<a.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(l).key);let d=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!d||!d.dem)&&r)for(;l>=a.minzoom&&(!d||!d.dem);)d=this.sourceCache.getTileByID(e.scaledTo(l--).key);return d}anyTilesAfterTime(e=Date.now()){return this._lastTilesetChange>=e}_isWithinTileRanges(e,r){return r[e.canonical.z]&&e.canonical.x>=r[e.canonical.z].minTileX&&e.canonical.x<=r[e.canonical.z].maxTileX&&e.canonical.y>=r[e.canonical.z].minTileY&&e.canonical.y<=r[e.canonical.z].maxTileY}}class ru{constructor(e,r,a){this._meshCache={},this.painter=e,this.sourceCache=new tu(r),this.options=a,this.exaggeration=typeof a.exaggeration=="number"?a.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,r,a,l=o.Z){var d;if(!(r>=0&&r<l&&a>=0&&a<l))return 0;const g=this.getTerrainData(e),w=(d=g.tile)===null||d===void 0?void 0:d.dem;if(!w)return 0;const A=o.cj([],[r/l*o.Z,a/l*o.Z],g.u_terrain_matrix),I=[A[0]*w.dim,A[1]*w.dim],z=Math.floor(I[0]),N=Math.floor(I[1]),F=I[0]-z,Z=I[1]-N;return w.get(z,N)*(1-F)*(1-Z)+w.get(z+1,N)*F*(1-Z)+w.get(z,N+1)*(1-F)*Z+w.get(z+1,N+1)*F*Z}getElevationForLngLatZoom(e,r){if(!o.ck(r,e.wrap()))return 0;const{tileID:a,mercatorX:l,mercatorY:d}=this._getOverscaledTileIDFromLngLatZoom(e,r);return this.getElevation(a,l%o.Z,d%o.Z,o.Z)}getElevation(e,r,a,l=o.Z){return this.getDEMElevation(e,r,a,l)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){const l=this.painter.context,d=new o.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new rt(l,d,l.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new rt(l,new o.R({width:1,height:1}),l.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=o.ad([])}const r=this.sourceCache.getSourceTile(e,!0);if(r&&r.dem&&(!r.demTexture||r.needsTerrainPrepare)){const l=this.painter.context;r.demTexture=this.painter.getTileTexture(r.dem.stride),r.demTexture?r.demTexture.update(r.dem.getPixels(),{premultiply:!1}):r.demTexture=new rt(l,r.dem.getPixels(),l.gl.RGBA,{premultiply:!1}),r.demTexture.bind(l.gl.NEAREST,l.gl.CLAMP_TO_EDGE),r.needsTerrainPrepare=!1}const a=r&&r+r.tileID.key+e.key;if(a&&!this._demMatrixCache[a]){const l=this.sourceCache.sourceCache._source.maxzoom;let d=e.canonical.z-r.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=l?d=e.canonical.z-l:o.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const g=e.canonical.x-(e.canonical.x>>d<<d),w=e.canonical.y-(e.canonical.y>>d<<d),A=o.cl(new Float64Array(16),[1/(o.Z<<d),1/(o.Z<<d),0]);o.L(A,A,[g*o.Z,w*o.Z,0]),this._demMatrixCache[e.key]={matrix:A,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:r&&r.dem&&r.dem.dim||1,u_terrain_matrix:a?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:r&&r.dem&&r.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(r&&r.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:r}}getFramebuffer(e){const r=this.painter,a=r.width/devicePixelRatio,l=r.height/devicePixelRatio;return!this._fbo||this._fbo.width===a&&this._fbo.height===l||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new rt(r.context,{width:a,height:l,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new rt(r.context,{width:a,height:l,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=r.context.createFramebuffer(a,l,!0,!1),this._fbo.depthAttachment.set(r.context.createRenderbuffer(r.context.gl.DEPTH_COMPONENT16,a,l))),this._fbo.colorAttachment.set(e==="coords"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){const e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;const r=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let d=0,g=0;d<this._coordsTextureSize;d++)for(let w=0;w<this._coordsTextureSize;w++,g+=4)r[g+0]=255&w,r[g+1]=255&d,r[g+2]=w>>8<<4|d>>8,r[g+3]=0;const a=new o.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),l=new rt(e,a,e.gl.RGBA,{premultiply:!1});return l.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=l,l}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);const r=new Uint8Array(4),a=this.painter.context,l=a.gl,d=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),g=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),w=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),l.readPixels(d,w-g-1,1,1,l.RGBA,l.UNSIGNED_BYTE,r),a.bindFramebuffer.set(null);const A=r[0]+(r[2]>>4<<8),I=r[1]+((15&r[2])<<8),z=this.coordsIndex[255-r[3]],N=z&&this.sourceCache.getTileByID(z);if(!N)return null;const F=this._coordsTextureSize,Z=(1<<N.tileID.canonical.z)*F;return new o.$((N.tileID.canonical.x*F+A)/Z+N.tileID.wrap,(N.tileID.canonical.y*F+I)/Z,this.getElevation(N.tileID,A,I,F))}depthAtPoint(e){const r=new Uint8Array(4),a=this.painter.context,l=a.gl;return a.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),l.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,l.RGBA,l.UNSIGNED_BYTE,r),a.bindFramebuffer.set(null),(r[0]/16777216+r[1]/65536+r[2]/256+r[3])/256}getTerrainMesh(e){var r;const a=((r=this.painter.style.projection)===null||r===void 0?void 0:r.transitionState)>0,l=a&&e.canonical.y===0,d=a&&e.canonical.y===(1<<e.canonical.z)-1,g=`m_${l?"n":""}_${d?"s":""}`;if(this._meshCache[g])return this._meshCache[g];const w=this.painter.context,A=new o.cm,I=new o.aK,z=this.meshSize,N=o.Z/z,F=z*z;for(let we=0;we<=z;we++)for(let Re=0;Re<=z;Re++)A.emplaceBack(Re*N,we*N,0);for(let we=0;we<F;we+=z+1)for(let Re=0;Re<z;Re++)I.emplaceBack(Re+we,z+Re+we+1,z+Re+we+2),I.emplaceBack(Re+we,z+Re+we+2,Re+we+1);const Z=A.length,J=Z+(z+1),oe=(z+1)*z,ne=l?o.b9:0,se=l?0:1,pe=d?o.ba:o.Z,_e=d?0:1;for(let we=0;we<=z;we++)A.emplaceBack(we*N,ne,se);for(let we=0;we<=z;we++)A.emplaceBack(we*N,pe,_e);for(let we=0;we<z;we++)I.emplaceBack(oe+we,J+we,J+we+1),I.emplaceBack(oe+we,J+we+1,oe+we+1),I.emplaceBack(0+we,Z+we+1,Z+we),I.emplaceBack(0+we,0+we+1,Z+we+1);const ye=A.length,be=ye+2*(z+1);for(const we of[0,1])for(let Re=0;Re<=z;Re++)for(const We of[0,1])A.emplaceBack(we*o.Z,Re*N,We);for(let we=0;we<2*z;we+=2)I.emplaceBack(ye+we,ye+we+1,ye+we+3),I.emplaceBack(ye+we,ye+we+3,ye+we+2),I.emplaceBack(be+we,be+we+3,be+we+1),I.emplaceBack(be+we,be+we+2,be+we+3);const Ce=new Mn(w.createVertexBuffer(A,eu.members),w.createIndexBuffer(I),o.aJ.simpleSegment(0,0,A.length,I.length));return this._meshCache[g]=Ce,Ce}getMeshFrameDelta(e){return 2*Math.PI*o.bu/Math.pow(2,Math.max(e,0))/5}getMinTileElevationForLngLatZoom(e,r){var a;const{tileID:l}=this._getOverscaledTileIDFromLngLatZoom(e,r);return(a=this.getMinMaxElevation(l).minElevation)!==null&&a!==void 0?a:0}getMinMaxElevation(e){const r=this.getTerrainData(e).tile,a={minElevation:null,maxElevation:null};return r&&r.dem&&(a.minElevation=r.dem.min*this.exaggeration,a.maxElevation=r.dem.max*this.exaggeration),a}_getOverscaledTileIDFromLngLatZoom(e,r){const a=o.$.fromLngLat(e.wrap()),l=(1<<r)*o.Z,d=a.x*l,g=a.y*l,w=Math.floor(d/o.Z),A=Math.floor(g/o.Z);return{tileID:new o.Y(r,0,r,w,A),mercatorX:d,mercatorY:g}}}class Uh{constructor(e,r,a){this._context=e,this._size=r,this._tileSize=a,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(const e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){const r=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),a=new rt(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return a.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),this._context.extTextureFilterAnisotropic&&this._context.gl.texParameterf(this._context.gl.TEXTURE_2D,this._context.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,this._context.extTextureFilterAnisotropicMax),r.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),r.colorAttachment.set(a.texture),{id:e,fbo:r,texture:a,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(r=>e.id!==r),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(const r of this._recentlyUsed)if(!this._objects[r].inUse)return this._objects[r];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(const e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(e=>!e.inUse)===!1}}const Ei={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Ra{constructor(e,r){this.painter=e,this.terrain=r,this.pool=new Uh(e.context,30,r.sourceCache.tileSize*r.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,r){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(a=>!e._layers[a].isHidden(r)),this._coordsAscending={};for(const a in e.sourceCaches){this._coordsAscending[a]={};const l=e.sourceCaches[a].getVisibleCoordinates(),d=e.sourceCaches[a].getSource(),g=d instanceof zt?d.terrainTileRanges:null;for(const w of l){const A=this.terrain.sourceCache.getTerrainCoords(w,g);for(const I in A)this._coordsAscending[a][I]||(this._coordsAscending[a][I]=[]),this._coordsAscending[a][I].push(A[I])}}this._coordsAscendingStr={};for(const a of e._order){const l=e._layers[a],d=l.source;if(Ei[l.type]&&!this._coordsAscendingStr[d]){this._coordsAscendingStr[d]={};for(const g in this._coordsAscending[d])this._coordsAscendingStr[d][g]=this._coordsAscending[d][g].map(w=>w.key).sort().join()}}for(const a of this._renderableTiles)for(const l in this._coordsAscendingStr){const d=this._coordsAscendingStr[l][a.tileID.key];d&&d!==a.rttCoords[l]&&(a.rtt=[])}}renderLayer(e,r){if(e.isHidden(this.painter.transform.zoom))return!1;const a=Object.assign(Object.assign({},r),{isRenderingToTexture:!0}),l=e.type,d=this.painter,g=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(Ei[l]&&(this._prevType&&Ei[this._prevType]||this._stacks.push([]),this._prevType=l,this._stacks[this._stacks.length-1].push(e.id),!g))return!0;if(Ei[this._prevType]||Ei[l]&&g){this._prevType=l;const w=this._stacks.length-1,A=this._stacks[w]||[];for(const I of this._renderableTiles){if(this.pool.isFull()&&(Yn(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(I),I.rtt[w]){const N=this.pool.getObjectForId(I.rtt[w].id);if(N.stamp===I.rtt[w].stamp){this.pool.useObject(N);continue}}const z=this.pool.getOrCreateFreeObject();this.pool.useObject(z),this.pool.stampObject(z),I.rtt[w]={id:z.id,stamp:z.stamp},d.context.bindFramebuffer.set(z.fbo.framebuffer),d.context.clear({color:o.b7.transparent,stencil:0}),d.currentStencilSource=void 0;for(let N=0;N<A.length;N++){const F=d.style._layers[A[N]],Z=F.source?this._coordsAscending[F.source][I.tileID.key]:[I.tileID];d.context.viewport.set([0,0,z.fbo.width,z.fbo.height]),d._renderTileClippingMasks(F,Z,!0),d.renderLayer(d,d.style.sourceCaches[F.source],F,Z,a),F.source&&(I.rttCoords[F.source]=this._coordsAscendingStr[F.source][I.tileID.key])}}return Yn(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects(),Ei[l]}return!1}}const Tt={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","Map.Title":"Map","Marker.Title":"Map marker","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","Popup.Close":"Close popup","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","GlobeControl.Enable":"Enable globe","GlobeControl.Disable":"Disable globe","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},Ft=B,Ts={hash:!1,interactive:!0,bearingSnap:7,attributionControl:Bn,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:o.a.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:"sans-serif",pitchWithRotate:!0,rollEnabled:!1,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0},Ml={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Ll{constructor(e,r,a=!1){this.mousedown=d=>{this.startMove(d,C.mousePos(this.element,d)),C.addEventListener(window,"mousemove",this.mousemove),C.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=d=>{this.move(d,C.mousePos(this.element,d))},this.mouseup=d=>{this._rotatePitchHanlder.dragEnd(d),this.offTemp()},this.touchstart=d=>{d.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=C.touchPos(this.element,d.targetTouches)[0],this.startMove(d,this._startPos),C.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.addEventListener(window,"touchend",this.touchend))},this.touchmove=d=>{d.targetTouches.length!==1?this.reset():(this._lastPos=C.touchPos(this.element,d.targetTouches)[0],this.move(d,this._lastPos))},this.touchend=d=>{d.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this._rotatePitchHanlder.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=r;const l=new jo;this._rotatePitchHanlder=new Ai({clickTolerance:3,move:(d,g)=>{const w=r.getBoundingClientRect(),A=new o.P((w.bottom-w.top)/2,(w.right-w.left)/2);return{bearingDelta:o.ce(new o.P(d.x,g.y),g,A),pitchDelta:a?-.5*(g.y-d.y):void 0}},moveStateManager:l,enable:!0,assignEvents:()=>{}}),this.map=e,C.addEventListener(r,"mousedown",this.mousedown),C.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),C.addEventListener(r,"touchcancel",this.reset)}startMove(e,r){this._rotatePitchHanlder.dragStart(e,r),C.disableDrag()}move(e,r){const a=this.map,{bearingDelta:l,pitchDelta:d}=this._rotatePitchHanlder.dragMove(e,r)||{};l&&a.setBearing(a.getBearing()+l),d&&a.setPitch(a.getPitch()+d)}off(){const e=this.element;C.removeEventListener(e,"mousedown",this.mousedown),C.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),C.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.removeEventListener(window,"touchend",this.touchend),C.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){C.enableDrag(),C.removeEventListener(window,"mousemove",this.mousemove),C.removeEventListener(window,"mouseup",this.mouseup),C.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),C.removeEventListener(window,"touchend",this.touchend)}}let Hr;function Rl(h,e,r,a=!1){if(a||!r.getCoveringTilesDetailsProvider().allowWorldCopies())return h==null?void 0:h.wrap();const l=new o.Q(h.lng,h.lat);if(h=new o.Q(h.lng,h.lat),e){const d=new o.Q(h.lng-360,h.lat),g=new o.Q(h.lng+360,h.lat),w=r.locationToScreenPoint(h).distSqr(e);r.locationToScreenPoint(d).distSqr(e)<w?h=d:r.locationToScreenPoint(g).distSqr(e)<w&&(h=g)}for(;Math.abs(h.lng-r.center.lng)>180;){const d=r.locationToScreenPoint(h);if(d.x>=0&&d.y>=0&&d.x<=r.width&&d.y<=r.height)break;h.lng>r.center.lng?h.lng-=360:h.lng+=360}return h.lng!==l.lng&&r.isPointOnMapSurface(r.locationToScreenPoint(h))?h:l}const Qi={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function iu(h,e,r){const a=h.classList;for(const l in Qi)a.remove(`maplibregl-${r}-anchor-${l}`);a.add(`maplibregl-${r}-anchor-${e}`)}class wo extends o.E{constructor(e){if(super(),this._onKeyPress=r=>{const a=r.code,l=r.charCode||r.keyCode;a!=="Space"&&a!=="Enter"&&l!==32&&l!==13||this.togglePopup()},this._onMapClick=r=>{const a=r.originalEvent.target,l=this._element;this._popup&&(a===l||l.contains(a))&&this.togglePopup()},this._update=r=>{if(!this._map)return;const a=this._map.loaded()&&!this._map.isMoving();((r==null?void 0:r.type)==="terrain"||(r==null?void 0:r.type)==="render"&&!a)&&this._map.once("render",this._update),this._lngLat=Rl(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let l="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?l=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(l=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let d="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?d="rotateX(0deg)":this._pitchAlignment==="map"&&(d=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||r&&r.type!=="moveend"||(this._pos=this._pos.round()),C.setTransform(this._element,`${Qi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${d} ${l}`),L.frameAsync(new AbortController).then(()=>{this._updateOpacity(r&&r.type==="moveend")}).catch(()=>{})},this._onMove=r=>{if(!this._isDragging){const a=this._clickTolerance||this._map._clickTolerance;this._isDragging=r.point.dist(this._pointerdownPos)>=a}this._isDragging&&(this._pos=r.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new o.l("dragstart"))),this.fire(new o.l("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new o.l("dragend")),this._state="inactive"},this._addDragHandler=r=>{this._element.contains(r.originalEvent.target)&&(r.preventDefault(),this._positionDelta=r.point.sub(this._pos).add(this._offset),this._pointerdownPos=r.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(e==null?void 0:e.opacity,e==null?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=o.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=C.create("div");const r=C.createNS("http://www.w3.org/2000/svg","svg"),a=41,l=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${a}px`),r.setAttributeNS(null,"width",`${l}px`),r.setAttributeNS(null,"viewBox",`0 0 ${l} ${a}`);const d=C.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"stroke","none"),d.setAttributeNS(null,"stroke-width","1"),d.setAttributeNS(null,"fill","none"),d.setAttributeNS(null,"fill-rule","evenodd");const g=C.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"fill-rule","nonzero");const w=C.createNS("http://www.w3.org/2000/svg","g");w.setAttributeNS(null,"transform","translate(3.0, 29.0)"),w.setAttributeNS(null,"fill","#000000");const A=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const se of A){const pe=C.createNS("http://www.w3.org/2000/svg","ellipse");pe.setAttributeNS(null,"opacity","0.04"),pe.setAttributeNS(null,"cx","10.5"),pe.setAttributeNS(null,"cy","5.80029008"),pe.setAttributeNS(null,"rx",se.rx),pe.setAttributeNS(null,"ry",se.ry),w.appendChild(pe)}const I=C.createNS("http://www.w3.org/2000/svg","g");I.setAttributeNS(null,"fill",this._color);const z=C.createNS("http://www.w3.org/2000/svg","path");z.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),I.appendChild(z);const N=C.createNS("http://www.w3.org/2000/svg","g");N.setAttributeNS(null,"opacity","0.25"),N.setAttributeNS(null,"fill","#000000");const F=C.createNS("http://www.w3.org/2000/svg","path");F.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),N.appendChild(F);const Z=C.createNS("http://www.w3.org/2000/svg","g");Z.setAttributeNS(null,"transform","translate(6.0, 7.0)"),Z.setAttributeNS(null,"fill","#FFFFFF");const J=C.createNS("http://www.w3.org/2000/svg","g");J.setAttributeNS(null,"transform","translate(8.0, 8.0)");const oe=C.createNS("http://www.w3.org/2000/svg","circle");oe.setAttributeNS(null,"fill","#000000"),oe.setAttributeNS(null,"opacity","0.25"),oe.setAttributeNS(null,"cx","5.5"),oe.setAttributeNS(null,"cy","5.5"),oe.setAttributeNS(null,"r","5.4999962");const ne=C.createNS("http://www.w3.org/2000/svg","circle");ne.setAttributeNS(null,"fill","#FFFFFF"),ne.setAttributeNS(null,"cx","5.5"),ne.setAttributeNS(null,"cy","5.5"),ne.setAttributeNS(null,"r","5.4999962"),J.appendChild(oe),J.appendChild(ne),g.appendChild(w),g.appendChild(I),g.appendChild(N),g.appendChild(Z),g.appendChild(J),r.appendChild(g),r.setAttributeNS(null,"height",a*this._scale+"px"),r.setAttributeNS(null,"width",l*this._scale+"px"),this._element.appendChild(r),this._offset=o.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",r=>{r.preventDefault()}),this._element.addEventListener("mousedown",r=>{r.preventDefault()}),iu(this._element,this._anchor,"marker"),e&&e.className)for(const r of e.className.split(" "))this._element.classList.add(r);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),e.on("projectiontransition",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("projectiontransition",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),C.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=o.Q.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const l=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[l,-1*(38.1-13.5+l)],"bottom-right":[-l,-1*(38.1-13.5+l)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){const e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var r,a;const l=(r=this._map)===null||r===void 0?void 0:r.terrain,d=this._map.transform.isLocationOccluded(this._lngLat);if(!l||d){const Z=d?this._opacityWhenCovered:this._opacity;return void(this._element.style.opacity!==Z&&(this._element.style.opacity=Z))}if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const g=this._map,w=g.terrain.depthAtPoint(this._pos),A=g.terrain.getElevationForLngLatZoom(this._lngLat,g.transform.tileZoom);if(g.transform.lngLatToCameraDepth(this._lngLat,A)-w<.006)return void(this._element.style.opacity=this._opacity);const I=-this._offset.y/g.transform.pixelsPerMeter,z=Math.sin(g.getPitch()*Math.PI/180)*I,N=g.terrain.depthAtPoint(new o.P(this._pos.x,this._pos.y-this._offset.y)),F=g.transform.lngLatToCameraDepth(this._lngLat,A+z)-N>.006;!((a=this._popup)===null||a===void 0)&&a.isOpen()&&F&&this._popup.remove(),this._element.style.opacity=F?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=o.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,r){return(this._opacity===void 0||e===void 0&&r===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=e),r!==void 0&&(this._opacityWhenCovered=r),this._map&&this._updateOpacity(!0),this}}const Or={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Mr=0,Zo=!1;const Es={maxWidth:100,unit:"metric"};function Ps(h,e,r){const a=r&&r.maxWidth||100,l=h._container.clientHeight/2,d=h._container.clientWidth/2,g=h.unproject([d-a/2,l]),w=h.unproject([d+a/2,l]),A=Math.round(h.project(w).x-h.project(g).x),I=Math.min(a,A,h._container.clientWidth),z=g.distanceTo(w);if(r&&r.unit==="imperial"){const N=3.2808*z;N>5280?So(e,I,N/5280,h._getUIString("ScaleControl.Miles")):So(e,I,N,h._getUIString("ScaleControl.Feet"))}else r&&r.unit==="nautical"?So(e,I,z/1852,h._getUIString("ScaleControl.NauticalMiles")):z>=1e3?So(e,I,z/1e3,h._getUIString("ScaleControl.Kilometers")):So(e,I,z,h._getUIString("ScaleControl.Meters"))}function So(h,e,r,a){const l=function(d){const g=Math.pow(10,`${Math.floor(d)}`.length-1);let w=d/g;return w=w>=10?10:w>=5?5:w>=3?3:w>=2?2:w>=1?1:function(A){const I=Math.pow(10,Math.ceil(-Math.log(A)/Math.LN10));return Math.round(A*I)/I}(w),g*w}(r);h.style.width=e*(l/r)+"px",h.innerHTML=`${l}&nbsp;${a}`}const Dl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1,locationOccludedOpacity:void 0},zl=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Ko(h){if(h){if(typeof h=="number"){const e=Math.round(Math.abs(h)/Math.SQRT2);return{center:new o.P(0,0),top:new o.P(0,h),"top-left":new o.P(e,e),"top-right":new o.P(-e,e),bottom:new o.P(0,-h),"bottom-left":new o.P(e,-e),"bottom-right":new o.P(-e,-e),left:new o.P(h,0),right:new o.P(-h,0)}}if(h instanceof o.P||Array.isArray(h)){const e=o.P.convert(h);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:o.P.convert(h.center||[0,0]),top:o.P.convert(h.top||[0,0]),"top-left":o.P.convert(h["top-left"]||[0,0]),"top-right":o.P.convert(h["top-right"]||[0,0]),bottom:o.P.convert(h.bottom||[0,0]),"bottom-left":o.P.convert(h["bottom-left"]||[0,0]),"bottom-right":o.P.convert(h["bottom-right"]||[0,0]),left:o.P.convert(h.left||[0,0]),right:o.P.convert(h.right||[0,0])}}return Ko(new o.P(0,0))}const Bl=B;x.AJAXError=o.cq,x.Event=o.l,x.Evented=o.E,x.LngLat=o.Q,x.MercatorCoordinate=o.$,x.Point=o.P,x.addProtocol=o.cr,x.config=o.a,x.removeProtocol=o.cs,x.AttributionControl=kr,x.BoxZoomHandler=Al,x.CanvasSource=Jt,x.CooperativeGesturesHandler=Ma,x.DoubleClickZoomHandler=Ia,x.DragPanHandler=Yc,x.DragRotateHandler=$c,x.EdgeInsets=Fi,x.FullscreenControl=class extends o.E{constructor(h={}){super(),this._onFullscreenChange=()=>{var e;let r=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((e=r==null?void 0:r.shadowRoot)===null||e===void 0)&&e.fullscreenElement;)r=r.shadowRoot.fullscreenElement;r===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,h&&h.container&&(h.container instanceof HTMLElement?this._container=h.container:o.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(h){return this._map=h,this._container||(this._container=this._map.getContainer()),this._controlContainer=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){C.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const h=this._fullscreenButton=C.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);C.create("span","maplibregl-ctrl-icon",h).setAttribute("aria-hidden","true"),h.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const h=this._getTitle();this._fullscreenButton.setAttribute("aria-label",h),this._fullscreenButton.title=h}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new o.l("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new o.l("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},x.GeoJSONSource=Et,x.GeolocateControl=class extends o.E{constructor(h){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new o.l("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new o.l("geolocate",e)),this._finish()}},this._updateCamera=e=>{const r=new o.Q(e.coords.longitude,e.coords.latitude),a=e.coords.accuracy,l=this._map.getBearing(),d=o.e({bearing:l},this.options.fitBoundsOptions),g=it.fromLngLat(r,a);this._map.fitBounds(g,d,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const r=new o.Q(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(e.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&Zo)return;this.options.trackUserLocation&&this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new o.l("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=C.create("button","maplibregl-ctrl-geolocate",this._container),C.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(e===!1){o.w("Geolocation support is not available so the GeolocateControl will be disabled.");const r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r)}else{const r=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=C.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new wo({element:this._dotElement}),this._circleElement=C.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new wo({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",r=>{r.geolocateSource||this._watchState!=="ACTIVE_LOCK"||r.originalEvent&&r.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new o.l("trackuserlocationend")),this.fire(new o.l("userlocationlostfocus")))})}},this.options=o.e({},Or,h)}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return o._(this,arguments,void 0,function*(e=!1){if(Hr!==void 0&&!e)return Hr;if(window.navigator.permissions===void 0)return Hr=!!window.navigator.geolocation,Hr;try{Hr=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{Hr=!!window.navigator.geolocation}return Hr})}().then(e=>this._finishSetupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),C.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Mr=0,Zo=!1}_isOutOfMapMaxBounds(h){const e=this._map.getMaxBounds(),r=h.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const h=this._map.getBounds(),e=h.getSouthEast(),r=h.getNorthEast(),a=e.distanceTo(r),l=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${l}px`,this._circleElement.style.height=`${l}px`}trigger(){if(!this._setup)return o.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new o.l("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Mr--,Zo=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new o.l("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new o.l("trackuserlocationstart")),this.fire(new o.l("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let h;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Mr++,Mr>1?(h={maximumAge:6e5,timeout:0},Zo=!0):(h=this.options.positionOptions,Zo=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,h)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},x.GlobeControl=class{constructor(){this._toggleProjection=()=>{var h;const e=(h=this._map.getProjection())===null||h===void 0?void 0:h.type;this._map.setProjection(e!=="mercator"&&e?{type:"mercator"}:{type:"globe"}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{var h;this._globeButton.classList.remove("maplibregl-ctrl-globe"),this._globeButton.classList.remove("maplibregl-ctrl-globe-enabled"),((h=this._map.getProjection())===null||h===void 0?void 0:h.type)==="globe"?(this._globeButton.classList.add("maplibregl-ctrl-globe-enabled"),this._globeButton.title=this._map._getUIString("GlobeControl.Disable")):(this._globeButton.classList.add("maplibregl-ctrl-globe"),this._globeButton.title=this._map._getUIString("GlobeControl.Enable"))}}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._globeButton=C.create("button","maplibregl-ctrl-globe",this._container),C.create("span","maplibregl-ctrl-icon",this._globeButton).setAttribute("aria-hidden","true"),this._globeButton.type="button",this._globeButton.addEventListener("click",this._toggleProjection),this._updateGlobeIcon(),this._map.on("styledata",this._updateGlobeIcon),this._container}onRemove(){C.remove(this._container),this._map.off("styledata",this._updateGlobeIcon),this._globeButton.removeEventListener("click",this._toggleProjection),this._map=void 0}},x.Hash=xl,x.ImageSource=zt,x.KeyboardHandler=Wo,x.LngLatBounds=it,x.LogoControl=Cs,x.Map=class extends qh{constructor(h){var e,r;o.cn.mark(o.co.create);const a=Object.assign(Object.assign(Object.assign({},Ts),h),{canvasContextAttributes:Object.assign(Object.assign({},Ts.canvasContextAttributes),h.canvasContextAttributes)});if(a.minZoom!=null&&a.maxZoom!=null&&a.minZoom>a.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(a.minPitch!=null&&a.maxPitch!=null&&a.minPitch>a.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(a.minPitch!=null&&a.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(a.maxPitch!=null&&a.maxPitch>180)throw new Error("maxPitch must be less than or equal to 180");const l=new at,d=new Ke;if(a.minZoom!==void 0&&l.setMinZoom(a.minZoom),a.maxZoom!==void 0&&l.setMaxZoom(a.maxZoom),a.minPitch!==void 0&&l.setMinPitch(a.minPitch),a.maxPitch!==void 0&&l.setMaxPitch(a.maxPitch),a.renderWorldCopies!==void 0&&l.setRenderWorldCopies(a.renderWorldCopies),super(l,d,{bearingSnap:a.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Il,this._controls=[],this._mapId=o.a4(),this._contextLost=w=>{w.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new o.l("webglcontextlost",{originalEvent:w}))},this._contextRestored=w=>{this._setupPainter(),this.resize(),this._update(),this.fire(new o.l("webglcontextrestored",{originalEvent:w}))},this._onMapScroll=w=>{if(w.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=a.interactive,this._maxTileCacheSize=a.maxTileCacheSize,this._maxTileCacheZoomLevels=a.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},a.canvasContextAttributes),this._trackResize=a.trackResize===!0,this._bearingSnap=a.bearingSnap,this._centerClampedToGround=a.centerClampedToGround,this._refreshExpiredTiles=a.refreshExpiredTiles===!0,this._fadeDuration=a.fadeDuration,this._crossSourceCollisions=a.crossSourceCollisions===!0,this._collectResourceTiming=a.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Tt),a.locale),this._clickTolerance=a.clickTolerance,this._overridePixelRatio=a.pixelRatio,this._maxCanvasSize=a.maxCanvasSize,this.transformCameraUpdate=a.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=a.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=ee.addThrottleControl(()=>this.isMoving()),this._requestManager=new me(a.transformRequest),typeof a.container=="string"){if(this._container=document.getElementById(a.container),!this._container)throw new Error(`Container '${a.container}' not found.`)}else{if(!(a.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=a.container}if(a.maxBounds&&this.setMaxBounds(a.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let w=!1;const A=ws(I=>{this._trackResize&&!this._removed&&(this.resize(I),this.redraw())},50);this._resizeObserver=new ResizeObserver(I=>{w?A(I):w=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Nh(this,a),this._hash=a.hash&&new xl(typeof a.hash=="string"&&a.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:a.center,elevation:a.elevation,zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,roll:a.roll}),a.bounds&&(this.resize(),this.fitBounds(a.bounds,o.e({},a.fitBoundsOptions,{duration:0}))));const g=typeof a.style=="string"||((r=(e=a.style)===null||e===void 0?void 0:e.projection)===null||r===void 0?void 0:r.type)!=="globe";this.resize(null,g),this._localIdeographFontFamily=a.localIdeographFontFamily,this._validateStyle=a.validateStyle,a.style&&this.setStyle(a.style,{localIdeographFontFamily:a.localIdeographFontFamily}),a.attributionControl&&this.addControl(new kr(typeof a.attributionControl=="boolean"?void 0:a.attributionControl)),a.maplibreLogo&&this.addControl(new Cs,a.logoPosition),this.on("style.load",()=>{if(g||this._resizeTransform(),this.transform.unmodified){const w=o.O(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(w)}}),this.on("data",w=>{this._update(w.dataType==="style"),this.fire(new o.l(`${w.dataType}data`,w))}),this.on("dataloading",w=>{this.fire(new o.l(`${w.dataType}dataloading`,w))}),this.on("dataabort",w=>{this.fire(new o.l("sourcedataabort",w))})}_getMapId(){return this._mapId}addControl(h,e){if(e===void 0&&(e=h.getDefaultPosition?h.getDefaultPosition():"top-right"),!h||!h.onAdd)return this.fire(new o.k(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=h.onAdd(this);this._controls.push(h);const a=this._controlPositions[e];return e.indexOf("bottom")!==-1?a.insertBefore(r,a.firstChild):a.appendChild(r),this}removeControl(h){if(!h||!h.onRemove)return this.fire(new o.k(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const e=this._controls.indexOf(h);return e>-1&&this._controls.splice(e,1),h.onRemove(this),this}hasControl(h){return this._controls.indexOf(h)>-1}calculateCameraOptionsFromTo(h,e,r,a){return a==null&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(h,e,r,a)}resize(h,e=!0){const[r,a]=this._containerDimensions(),l=this._getClampedPixelRatio(r,a);if(this._resizeCanvas(r,a,l),this.painter.resize(r,a,l),this.painter.overLimit()){const g=this.painter.context.gl;this._maxCanvasSize=[g.drawingBufferWidth,g.drawingBufferHeight];const w=this._getClampedPixelRatio(r,a);this._resizeCanvas(r,a,w),this.painter.resize(r,a,w)}this._resizeTransform(e);const d=!this._moving;return d&&(this.stop(),this.fire(new o.l("movestart",h)).fire(new o.l("move",h))),this.fire(new o.l("resize",h)),d&&this.fire(new o.l("moveend",h)),this}_resizeTransform(h=!0){var e;const[r,a]=this._containerDimensions();this.transform.resize(r,a,h),(e=this._requestedCameraState)===null||e===void 0||e.resize(r,a,h)}_getClampedPixelRatio(h,e){const{0:r,1:a}=this._maxCanvasSize,l=this.getPixelRatio(),d=h*l,g=e*l;return Math.min(d>r?r/d:1,g>a?a/g:1)*l}getPixelRatio(){var h;return(h=this._overridePixelRatio)!==null&&h!==void 0?h:devicePixelRatio}setPixelRatio(h){this._overridePixelRatio=h,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(h){return this.transform.setMaxBounds(it.convert(h)),this._update()}setMinZoom(h){if((h=h??-2)>=-2&&h<=this.transform.maxZoom)return this.transform.setMinZoom(h),this._update(),this.getZoom()<h&&this.setZoom(h),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(){return this.transform.minZoom}setMaxZoom(h){if((h=h??22)>=this.transform.minZoom)return this.transform.setMaxZoom(h),this._update(),this.getZoom()>h&&this.setZoom(h),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(h){if((h=h??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(h>=0&&h<=this.transform.maxPitch)return this.transform.setMinPitch(h),this._update(),this.getPitch()<h&&this.setPitch(h),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this.transform.minPitch}setMaxPitch(h){if((h=h??60)>180)throw new Error("maxPitch must be less than or equal to 180");if(h>=this.transform.minPitch)return this.transform.setMaxPitch(h),this._update(),this.getPitch()>h&&this.setPitch(h),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(h){return this.transform.setRenderWorldCopies(h),this._update()}project(h){return this.transform.locationToScreenPoint(o.Q.convert(h),this.style&&this.terrain)}unproject(h){return this.transform.screenPointToLocation(o.P.convert(h),this.terrain)}isMoving(){var h;return this._moving||((h=this.handlers)===null||h===void 0?void 0:h.isMoving())}isZooming(){var h;return this._zooming||((h=this.handlers)===null||h===void 0?void 0:h.isZooming())}isRotating(){var h;return this._rotating||((h=this.handlers)===null||h===void 0?void 0:h.isRotating())}_createDelegatedListener(h,e,r){if(h==="mouseenter"||h==="mouseover"){let a=!1;return{layers:e,listener:r,delegates:{mousemove:d=>{const g=e.filter(A=>this.getLayer(A)),w=g.length!==0?this.queryRenderedFeatures(d.point,{layers:g}):[];w.length?a||(a=!0,r.call(this,new Xr(h,this,d.originalEvent,{features:w}))):a=!1},mouseout:()=>{a=!1}}}}if(h==="mouseleave"||h==="mouseout"){let a=!1;return{layers:e,listener:r,delegates:{mousemove:g=>{const w=e.filter(A=>this.getLayer(A));(w.length!==0?this.queryRenderedFeatures(g.point,{layers:w}):[]).length?a=!0:a&&(a=!1,r.call(this,new Xr(h,this,g.originalEvent)))},mouseout:g=>{a&&(a=!1,r.call(this,new Xr(h,this,g.originalEvent)))}}}}{const a=l=>{const d=e.filter(w=>this.getLayer(w)),g=d.length!==0?this.queryRenderedFeatures(l.point,{layers:d}):[];g.length&&(l.features=g,r.call(this,l),delete l.features)};return{layers:e,listener:r,delegates:{[h]:a}}}}_saveDelegatedListener(h,e){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[h]=this._delegatedListeners[h]||[],this._delegatedListeners[h].push(e)}_removeDelegatedListener(h,e,r){if(!this._delegatedListeners||!this._delegatedListeners[h])return;const a=this._delegatedListeners[h];for(let l=0;l<a.length;l++){const d=a[l];if(d.listener===r&&d.layers.length===e.length&&d.layers.every(g=>e.includes(g))){for(const g in d.delegates)this.off(g,d.delegates[g]);return void a.splice(l,1)}}}on(h,e,r){if(r===void 0)return super.on(h,e);const a=typeof e=="string"?[e]:e,l=this._createDelegatedListener(h,a,r);this._saveDelegatedListener(h,l);for(const d in l.delegates)this.on(d,l.delegates[d]);return{unsubscribe:()=>{this._removeDelegatedListener(h,a,r)}}}once(h,e,r){if(r===void 0)return super.once(h,e);const a=typeof e=="string"?[e]:e,l=this._createDelegatedListener(h,a,r);for(const d in l.delegates){const g=l.delegates[d];l.delegates[d]=(...w)=>{this._removeDelegatedListener(h,a,r),g(...w)}}this._saveDelegatedListener(h,l);for(const d in l.delegates)this.once(d,l.delegates[d]);return this}off(h,e,r){return r===void 0?super.off(h,e):(this._removeDelegatedListener(h,typeof e=="string"?[e]:e,r),this)}queryRenderedFeatures(h,e){if(!this.style)return[];let r;const a=h instanceof o.P||Array.isArray(h),l=a?h:[[0,0],[this.transform.width,this.transform.height]];if(e=e||(a?{}:h)||{},l instanceof o.P||typeof l[0]=="number")r=[o.P.convert(l)];else{const d=o.P.convert(l[0]),g=o.P.convert(l[1]);r=[d,new o.P(g.x,d.y),g,new o.P(d.x,g.y),d]}return this.style.queryRenderedFeatures(r,e,this.transform)}querySourceFeatures(h,e){return this.style.querySourceFeatures(h,e)}setStyle(h,e){return(e=o.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},e)).diff!==!1&&e.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&h?(this._diffStyle(h,e),this):(this._localIdeographFontFamily=e.localIdeographFontFamily,this._updateStyle(h,e))}setTransformRequest(h){return this._requestManager.setTransformRequest(h),this}_getUIString(h){const e=this._locale[h];if(e==null)throw new Error(`Missing UI string '${h}'`);return e}_updateStyle(h,e){var r,a;if(e.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(h,e));const l=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!h)),h?(this.style=new rl(this,e||{}),this.style.setEventedParent(this,{style:this.style}),typeof h=="string"?this.style.loadURL(h,e,l):this.style.loadJSON(h,e,l),this):((a=(r=this.style)===null||r===void 0?void 0:r.projection)===null||a===void 0||a.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new rl(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(h,e){if(typeof h=="string"){const r=this._requestManager.transformRequest(h,"Style");o.j(r,new AbortController).then(a=>{this._updateDiff(a.data,e)}).catch(a=>{a&&this.fire(new o.k(a))})}else typeof h=="object"&&this._updateDiff(h,e)}_updateDiff(h,e){try{this.style.setState(h,e)&&this._update(!0)}catch(r){o.w(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(h,e)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():o.w("There is no style added to the map.")}addSource(h,e){return this._lazyInitEmptyStyle(),this.style.addSource(h,e),this._update(!0)}isSourceLoaded(h){const e=this.style&&this.style.sourceCaches[h];if(e!==void 0)return e.loaded();this.fire(new o.k(new Error(`There is no source with ID '${h}'`)))}setTerrain(h){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),h){const e=this.style.sourceCaches[h.source];if(!e)throw new Error(`cannot load terrain, because there exists no source with ID: ${h.source}`);this.terrain===null&&e.reload();for(const r in this.style._layers){const a=this.style._layers[r];a.type==="hillshade"&&a.source===h.source&&o.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new ru(this.painter,e,h),this.painter.renderToTexture=new Ra(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=r=>{var a;r.dataType==="style"?this.terrain.sourceCache.freeRtt():r.dataType==="source"&&r.tile&&(r.sourceId!==h.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),((a=r.source)===null||a===void 0?void 0:a.type)==="image"?this.terrain.sourceCache.freeRtt():this.terrain.sourceCache.freeRtt(r.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new o.l("terrain",{terrain:h})),this}getTerrain(){var h,e;return(e=(h=this.terrain)===null||h===void 0?void 0:h.options)!==null&&e!==void 0?e:null}areTilesLoaded(){const h=this.style&&this.style.sourceCaches;for(const e in h){const r=h[e]._tiles;for(const a in r){const l=r[a];if(l.state!=="loaded"&&l.state!=="errored")return!1}}return!0}removeSource(h){return this.style.removeSource(h),this._update(!0)}getSource(h){return this.style.getSource(h)}setSourceTileLodParams(h,e,r){if(r){const a=this.getSource(r);if(!a)throw new Error(`There is no source with ID "${r}", cannot set LOD parameters`);a.calculateTileZoom=xe(Math.max(1,h),Math.max(1,e))}else for(const a in this.style.sourceCaches)this.style.sourceCaches[a].getSource().calculateTileZoom=xe(Math.max(1,h),Math.max(1,e));return this._update(!0),this}refreshTiles(h,e){const r=this.style.sourceCaches[h];if(!r)throw new Error(`There is no source cache with ID "${h}", cannot refresh tile`);e===void 0?r.reload():r.refreshTiles(e.map(a=>new o.a1(a.z,a.x,a.y)))}addImage(h,e,r={}){const{pixelRatio:a=1,sdf:l=!1,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I}=r;if(this._lazyInitEmptyStyle(),!(e instanceof HTMLImageElement||o.b(e))){if(e.width===void 0||e.height===void 0)return this.fire(new o.k(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:z,height:N,data:F}=e,Z=e;return this.style.addImage(h,{data:new o.R({width:z,height:N},new Uint8Array(F)),pixelRatio:a,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I,sdf:l,version:0,userImage:Z}),Z.onAdd&&Z.onAdd(this,h),this}}{const{width:z,height:N,data:F}=L.getImageData(e);this.style.addImage(h,{data:new o.R({width:z,height:N},F),pixelRatio:a,stretchX:d,stretchY:g,content:w,textFitWidth:A,textFitHeight:I,sdf:l,version:0})}}updateImage(h,e){const r=this.style.getImage(h);if(!r)return this.fire(new o.k(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const a=e instanceof HTMLImageElement||o.b(e)?L.getImageData(e):e,{width:l,height:d,data:g}=a;if(l===void 0||d===void 0)return this.fire(new o.k(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(l!==r.data.width||d!==r.data.height)return this.fire(new o.k(new Error("The width and height of the updated image must be that same as the previous version of the image")));const w=!(e instanceof HTMLImageElement||o.b(e));return r.data.replace(g,w),this.style.updateImage(h,r),this}getImage(h){return this.style.getImage(h)}hasImage(h){return h?!!this.style.getImage(h):(this.fire(new o.k(new Error("Missing required image id"))),!1)}removeImage(h){this.style.removeImage(h)}loadImage(h){return ee.getImage(this._requestManager.transformRequest(h,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(h,e){return this._lazyInitEmptyStyle(),this.style.addLayer(h,e),this._update(!0)}moveLayer(h,e){return this.style.moveLayer(h,e),this._update(!0)}removeLayer(h){return this.style.removeLayer(h),this._update(!0)}getLayer(h){return this.style.getLayer(h)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(h,e,r){return this.style.setLayerZoomRange(h,e,r),this._update(!0)}setFilter(h,e,r={}){return this.style.setFilter(h,e,r),this._update(!0)}getFilter(h){return this.style.getFilter(h)}setPaintProperty(h,e,r,a={}){return this.style.setPaintProperty(h,e,r,a),this._update(!0)}getPaintProperty(h,e){return this.style.getPaintProperty(h,e)}setLayoutProperty(h,e,r,a={}){return this.style.setLayoutProperty(h,e,r,a),this._update(!0)}getLayoutProperty(h,e){return this.style.getLayoutProperty(h,e)}setGlyphs(h,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(h,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(h,e,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(h,e,r,a=>{a||this._update(!0)}),this}removeSprite(h){return this._lazyInitEmptyStyle(),this.style.removeSprite(h),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(h,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(h,e,r=>{r||this._update(!0)}),this}setLight(h,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(h,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(h,e={}){return this._lazyInitEmptyStyle(),this.style.setSky(h,e),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(h,e){return this.style.setFeatureState(h,e),this._update()}removeFeatureState(h,e){return this.style.removeFeatureState(h,e),this._update()}getFeatureState(h){return this.style.getFeatureState(h)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let h=0,e=0;return this._container&&(h=this._container.clientWidth||400,e=this._container.clientHeight||300),[h,e]}_setupContainer(){const h=this._container;h.classList.add("maplibregl-map");const e=this._canvasContainer=C.create("div","maplibregl-canvas-container",h);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=C.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const r=this._containerDimensions(),a=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],a);const l=this._controlContainer=C.create("div","maplibregl-control-container",h),d=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(g=>{d[g]=C.create("div",`maplibregl-ctrl-${g} `,l)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(h,e,r){this._canvas.width=Math.floor(r*h),this._canvas.height=Math.floor(r*e),this._canvas.style.width=`${h}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const h=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0});let e=null;this._canvas.addEventListener("webglcontextcreationerror",a=>{e={requestedAttributes:h},a&&(e.statusMessage=a.statusMessage,e.type=a.type)},{once:!0});let r=null;if(r=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,h):this._canvas.getContext("webgl2",h)||this._canvas.getContext("webgl",h),!r){const a="Failed to initialize WebGL";throw e?(e.message=a,new Error(JSON.stringify(e))):new Error(a)}this.painter=new vl(r,this.transform),T.testSupport(r)}migrateProjection(h,e){super.migrateProjection(h,e),this.painter.transform=h,this.fire(new o.l("projectiontransition",{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(h){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||h,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(h){return this._update(),this._renderTaskQueue.add(h)}_cancelRenderFrame(h){this._renderTaskQueue.remove(h)}_render(h){var e,r,a,l,d;const g=this._idleTriggered?this._fadeDuration:0,w=((e=this.style.projection)===null||e===void 0?void 0:e.transitionState)>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(h),this._removed)return;let A=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const N=this.transform.zoom,F=L.now();this.style.zoomHistory.update(N,F);const Z=new o.C(N,{now:F,fadeDuration:g,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),J=Z.crossFadingFactor();J===1&&J===this._crossFadingFactor||(A=!0,this._crossFadingFactor=J),this.style.update(Z)}const I=((r=this.style.projection)===null||r===void 0?void 0:r.transitionState)>0!==w;(a=this.style.projection)===null||a===void 0||a.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState((l=this.style.projection)===null||l===void 0?void 0:l.transitionState,(d=this.style.projection)===null||d===void 0?void 0:d.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||I)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=this.style&&this.style._updatePlacement(this.transform,this.showCollisionBoxes,g,this._crossSourceCollisions,I),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:g,showPadding:this.showPadding}),this.fire(new o.l("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,o.cn.mark(o.co.load),this.fire(new o.l("load"))),this.style&&(this.style.hasTransitions()||A)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const z=this._sourcesDirty||this._styleDirty||this._placementDirty;return z||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new o.l("idle")),!this._loaded||this._fullyLoaded||z||(this._fullyLoaded=!0,o.cn.mark(o.co.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var h;this._hash&&this._hash.remove();for(const r of this._controls)r.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),ee.removeThrottleControl(this._imageQueueHandle),(h=this._resizeObserver)===null||h===void 0||h.disconnect();const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e!=null&&e.loseContext&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),C.remove(this._canvasContainer),C.remove(this._controlContainer),this._container.removeEventListener("scroll",this._onMapScroll,!1),this._container.classList.remove("maplibregl-map"),o.cn.clearMetrics(),this._removed=!0,this.fire(new o.l("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,L.frame(this._frameRequest,h=>{o.cn.frame(h),this._frameRequest=null;try{this._render(h)}catch(e){if(!o.cp(e)&&!function(r){return r.message===ma}(e))throw e}},()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(h){this._showTileBoundaries!==h&&(this._showTileBoundaries=h,this._update())}get showPadding(){return!!this._showPadding}set showPadding(h){this._showPadding!==h&&(this._showPadding=h,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(h){this._showCollisionBoxes!==h&&(this._showCollisionBoxes=h,h?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(h){this._showOverdrawInspector!==h&&(this._showOverdrawInspector=h,this._update())}get repaint(){return!!this._repaint}set repaint(h){this._repaint!==h&&(this._repaint=h,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(h){this._vertices=h,this._update()}get version(){return Ft}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(h){return this._lazyInitEmptyStyle(),this.style.setProjection(h),this._update(!0)}},x.MapMouseEvent=Xr,x.MapTouchEvent=Fo,x.MapWheelEvent=Sl,x.Marker=wo,x.NavigationControl=class{constructor(h){this._updateZoomButtons=()=>{const e=this._map.getZoom(),r=e===this._map.getMaxZoom(),a=e===this._map.getMinZoom();this._zoomInButton.disabled=r,this._zoomOutButton.disabled=a,this._zoomInButton.setAttribute("aria-disabled",r.toString()),this._zoomOutButton.setAttribute("aria-disabled",a.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(e,r)=>{const a=this._map._getUIString(`NavigationControl.${r}`);e.title=a,e.setAttribute("aria-label",a)},this.options=o.e({},Ml,h),this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),C.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),C.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=C.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(h){return this._map=h,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this.options.visualizeRoll&&this._map.on("roll",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ll(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){C.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off("roll",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(h,e){const r=C.create("button",h,this._container);return r.type="button",r.addEventListener("click",e),r}},x.Popup=class extends o.E{constructor(h){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:void 0)},this.remove=()=>(this._content&&C.remove(this._content),this._container&&(C.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new o.l("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=C.create("div","maplibregl-popup",this._map.getContainer()),this._tip=C.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const g of this.options.className.split(" "))this._container.classList.add(g);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=Rl(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),this._trackPointer&&!e)return;const r=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationToScreenPoint(this._lngLat));let a=this.options.anchor;const l=Ko(this.options.offset);if(!a){const g=this._container.offsetWidth,w=this._container.offsetHeight;let A;A=r.y+l.bottom.y<w?["top"]:r.y>this._map.transform.height-w?["bottom"]:[],r.x<g/2?A.push("left"):r.x>this._map.transform.width-g/2&&A.push("right"),a=A.length===0?"bottom":A.join("-")}let d=r.add(l[a]);this.options.subpixelPositioning||(d=d.round()),C.setTransform(this._container,`${Qi[a]} translate(${d.x}px,${d.y}px)`),iu(this._container,a,"popup"),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=o.e(Object.create(Dl),h)}addTo(h){return this._map&&this.remove(),this._map=h,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new o.l("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(h){return this._lngLat=o.Q.convert(h),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(h){return this.setDOMContent(document.createTextNode(h))}setHTML(h){const e=document.createDocumentFragment(),r=document.createElement("body");let a;for(r.innerHTML=h;a=r.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var h;return(h=this._container)===null||h===void 0?void 0:h.style.maxWidth}setMaxWidth(h){return this.options.maxWidth=h,this._update(),this}setDOMContent(h){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=C.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(h),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(h){return this._container&&this._container.classList.add(h),this}removeClassName(h){return this._container&&this._container.classList.remove(h),this}setOffset(h){return this.options.offset=h,this._update(),this}toggleClassName(h){if(this._container)return this._container.classList.toggle(h)}setSubpixelPositioning(h){this.options.subpixelPositioning=h}_createCloseButton(){this.options.closeButton&&(this._closeButton=C.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const h=this._container.querySelector(zl);h&&h.focus()}},x.RasterDEMTileSource=Ht,x.RasterTileSource=Mt,x.ScaleControl=class{constructor(h){this._onMove=()=>{Ps(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,Ps(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Es),h)}getDefaultPosition(){return"bottom-left"}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-scale",h.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){C.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},x.ScrollZoomHandler=er,x.Style=rl,x.TerrainControl=class{constructor(h){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=h}onAdd(h){return this._map=h,this._container=C.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=C.create("button","maplibregl-ctrl-terrain",this._container),C.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){C.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},x.TwoFingersTouchPitchHandler=Pa,x.TwoFingersTouchRotateHandler=bt,x.TwoFingersTouchZoomHandler=Ho,x.TwoFingersTouchZoomRotateHandler=Pl,x.VectorTileSource=At,x.VideoSource=or,x.addSourceType=(h,e)=>o._(void 0,void 0,void 0,function*(){if(ii(h))throw new Error(`A source type called "${h}" already exists.`);((r,a)=>{Ir[r]=a})(h,e)}),x.clearPrewarmedResources=function(){const h=Ti;h&&(h.isPreloaded()&&h.numActive()===1?(h.release(Ki),Ti=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},x.createTileMesh=an,x.getMaxParallelImageRequests=function(){return o.a.MAX_PARALLEL_IMAGE_REQUESTS},x.getRTLTextPluginStatus=function(){return Mi().getRTLTextPluginStatus()},x.getVersion=function(){return Bl},x.getWorkerCount=function(){return fr.workerCount},x.getWorkerUrl=function(){return o.a.WORKER_URL},x.importScriptInWorkers=function(h){return Gi().broadcast("IS",h)},x.prewarm=function(){Bi().acquire(Ki)},x.setMaxParallelImageRequests=function(h){o.a.MAX_PARALLEL_IMAGE_REQUESTS=h},x.setRTLTextPlugin=function(h,e){return Mi().setRTLTextPlugin(h,e)},x.setWorkerCount=function(h){fr.workerCount=h},x.setWorkerUrl=function(h){o.a.WORKER_URL=h}});var P=y;return P})}(ih)),ih.exports}var Cx=kx();const tp=ry(Cx);function ny(u){const p={"bottom-left":"bottom-[20px] left-[20px]","bottom-right":"bottom-[20px] right-[20px]","bottom-center":"bottom-[20px] left-1/2 -translate-x-1/2","top-left":"top-[20px] left-[20px]","top-right":"top-[20px] right-[20px]","top-center":"top-[20px] left-1/2 -translate-x-1/2",center:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2"};return p[u]||p["bottom-left"]}const pr=(u,p)=>{const y=u.__vccOpts||u;for(const[b,k]of p)y[b]=k;return y},Tx={key:0,class:"p-5 pb-0 flex justify-between items-center"},Ex={class:"inline-block font-semibold text-lg text-gray-800"},Px={class:"flex flex-col gap-1 p-5"},Ix={class:"flex items-center justify-between w-full text-sm text-gray-800"},Mx={key:0,class:"ms-2 text-xs text-gray-500"},Lx={__name:"vs-legend-widget",props:{config:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var k;return((k=p.config)==null?void 0:k.items)||[]}),b=_.computed(()=>{var k;return((k=p.config)==null?void 0:k.title)||""});return(k,P)=>(_.openBlock(),_.createElementBlock("div",{class:"legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative",style:_.normalizeStyle({width:u.config.width||"100%"})},[b.value?(_.openBlock(),_.createElementBlock("div",Tx,[_.createElementVNode("h2",Ex,_.toDisplayString(b.value),1)])):_.createCommentVNode("",!0),_.createElementVNode("div",Px,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.value,x=>(_.openBlock(),_.createElementBlock("div",{class:"flex items-center",key:x.label},[_.createElementVNode("span",{class:_.normalizeClass(["shrink-0 size-2.5 inline-block me-2.5",[x.shape==="square"?"rounded-sm":"",x.shape==="circle"?"rounded-full":"",x.shape==="line"?"w-6 h-0.5":"",x.shape==="dashed-line"?"w-6 h-0.5 dashed-line":""]]),style:_.normalizeStyle({backgroundColor:x.color})},null,6),_.createElementVNode("span",Ix,[_.createElementVNode("span",null,_.toDisplayString(x.label),1),x.count!==void 0?(_.openBlock(),_.createElementBlock("span",Mx," ("+_.toDisplayString(x.count)+") ",1)):_.createCommentVNode("",!0)])]))),128))])],4))}},Rx=pr(Lx,[["__scopeId","data-v-6dafc777"]]),Dx="data:image/png;base64,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",zx={class:"flex flex-row gap-x-3 z-10 relative"},Bx=["onClick"],Vx=["src","alt"],Ox={__name:"vs-basemaps-widget",props:{map:{type:Object,required:!0},config:{type:Object,default:()=>({})},position:{type:String,default:"bottom-left"}},setup(u){const p=u,y=_.ref("voyager"),b=_.computed(()=>{var B;if(!((B=p.config)!=null&&B.layers))return[];const o=p.config.layers.map(D=>({id:D.id,title:D.label||D.title,url:D.url,service:D.type,category:"Базові карти",attribution:D.attribution,image:D.image,enabled:!0,owner:D.owner||"Unknown"}));return o.push({id:"__none__",title:"Без підложки",url:"",service:"",category:"Базові карти",attribution:"",image:Dx,enabled:!0,owner:""}),o});function k(o){return{version:8,sources:{[o.id]:{type:"raster",tiles:[o.url],tileSize:256,attribution:o.attribution||""}},layers:[{id:o.id,type:"raster",source:o.id}]}}const P=o=>{if(!p.map)return;const B=p.map.getStyle(),D=b.value.map(C=>C.id),M=B.layers.filter(C=>!D.includes(C.id)),O={};for(const C in B.sources)D.includes(C)||(O[C]=B.sources[C]);if(o.id==="__none__"){const C={version:8,sources:{...O},layers:[...M]};p.map.setStyle(C);return}const L=k(o);p.map.setStyle(L),p.map.once("styledata",()=>{for(const[C,T]of Object.entries(O))p.map.getSource(C)||p.map.addSource(C,T);for(const C of M)p.map.getLayer(C.id)||p.map.addLayer(C)})},x=o=>{y.value=o;const B=b.value.find(D=>D.id===o);B&&p.map&&P(B)};return _.onMounted(()=>{var o;(o=p.config)!=null&&o.default&&(y.value=p.config.default)}),(o,B)=>{const D=_.resolveComponent("VsPopover");return _.openBlock(),_.createElementBlock("div",zx,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(b.value,M=>(_.openBlock(),_.createBlock(D,{trigger:"hover",placement:"top",key:M.id},{reference:_.withCtx(()=>[_.createElementVNode("div",{class:_.normalizeClass(["w-14 h-14 flex items-center justify-center bg-white rounded-xl shadow-2xs cursor-pointer transition-all border-4",y.value===M.id?"border-blue-400":"border-transparent"]),onClick:O=>x(M.id)},[_.createElementVNode("img",{src:M.image,alt:M.title,class:_.normalizeClass(["object-cover rounded-lg",M.id==="__none__"?"w-10 h-10":"w-12 h-12"])},null,10,Vx)],10,Bx)]),default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(M.title)+" ",1)]),_:2},1024))),128))])}}};function Ya(u){if(!u.attrType||!u.attribute||!u.rules)return u.color||"#ccc";const p=u.rules.map(y=>[["==",["get",u.attribute],y.id||y.value],y.color]);return p.push(u.color||"#ccc"),["case",...p.flat()]}function Fx(u){if(!u.attrType||u.attrType!=="icon-by-attribute"||!u.attribute||!u.rules)return u.default_icon||null;const p=u.rules.map(y=>[["==",["get",u.attribute],y.value],y.icon]);return p.push(u.default_icon||"marker.svg"),["case",...p.flat()]}function oy(u){if(!u.attrType||u.attrType!=="attribute-pattern"||!u.attribute||!u.rules)return u.fillPattern||"";const p=u.rules.map(y=>[["==",["get",u.attribute],y.value],y.fillPattern||""]);return p.push(u.fillPattern||""),["case",...p.flat()]}function Io(u,p="stroke",y="#ccc"){return["case",["boolean",["feature-state","hovered"],!1],"#ff0000",["boolean",["feature-state","selected"],!1],"#ff0000",u[p]||y]}function Nx(u){const p=[{type:"fill",minzoom:u.pointZoom||0,paint:{"fill-color":Ya(u),"fill-outline-color":Io(u,"stroke","#ccc"),"fill-opacity":u.opacity||1,...u.attrType==="attribute-pattern"&&{"fill-pattern":oy(u)},...u.fillPattern&&!u.attrType&&{"fill-pattern":u.fillPattern}}},{type:"line",paint:{"line-color":Io(u,"stroke","#ccc"),"line-width":u.width||2,"line-opacity":u.lineOpacity||u.opacity||1}}];return u.pointZoom&&p.push({type:"circle",maxzoom:u.pointZoom,paint:{"circle-color":u.color||"#ccc","circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-opacity":u.opacity||1}}),p}function qx(u){return[{type:"line",paint:{"line-color":Io(u,"color",Ya(u)),"line-width":u.width||2,"line-opacity":u.opacity||1,...u.dashArray&&{"line-dasharray":u.dashArray}},layout:{...u.lineCap&&{"line-cap":u.lineCap},...u.lineJoin&&{"line-join":u.lineJoin}}}]}function Ux(u){const p=[{type:"circle",maxzoom:u.icon&&+u.iconZoom||22,paint:{"circle-radius":u.radius||6,"circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-color":Ya(u),"circle-opacity":u.opacity||1}}];return u!=null&&u.clusterZoom?(p.push({type:"circle",filter:["has","point_count"],paint:{"circle-color":["step",["get","point_count"],"#51bbd6",100,"#f1f075",750,"#f28cb1"],"circle-radius":["step",["get","point_count"],20,100,30,750,40]}}),p.push({type:"symbol",filter:["has","point_count"],layout:{"text-field":["get","point_count"],"text-font":["Open Sans Regular"],"text-size":12}})):u.icon&&p.push({type:"symbol",minzoom:+u.iconZoom||16,layout:{"icon-image":u.icon,"icon-allow-overlap":!0}}),p}function jx(u,p,y){const b=u.type||"point";return b==="polygon"?[{type:"fill",...y!==void 0?{maxzoom:y}:{},paint:{"fill-color":Ya(u),"fill-outline-color":Io(u,"stroke","#ccc"),"fill-opacity":u.opacity||1,...u.attrType==="attribute-pattern"&&{"fill-pattern":oy(u)},...u.fillPattern&&!u.attrType&&{"fill-pattern":u.fillPattern}}},{type:"line",...y!==void 0?{maxzoom:y}:{},paint:{"line-color":Io(u,"stroke","#ccc"),"line-width":u.width||2,"line-opacity":u.lineOpacity||u.opacity||1}}]:b==="line"?[{type:"line",...y!==void 0?{maxzoom:y}:{},paint:{"line-color":Io(u,"color",Ya(u)),"line-width":u.width||2,"line-opacity":u.opacity||1,...u.dashArray&&{"line-dasharray":u.dashArray}},layout:{...u.lineCap&&{"line-cap":u.lineCap},...u.lineJoin&&{"line-join":u.lineJoin}}}]:[{type:"circle",...y!==void 0?{maxzoom:y}:{},paint:{"circle-radius":u.radius||6,"circle-stroke-color":Io(u,"stroke","#ccc"),"circle-stroke-width":u.width||2,"circle-color":Ya(u),"circle-opacity":u.opacity||1}}]}function sy(u){var y,b;if(!u)return null;if(u.attrType==="icon-by-attribute"&&u.iconZoom){const k=Fx(u),P=Array.isArray(k)&&k[0]==="case"?k:["case",["==",["get",u.attribute],((b=(y=u.rules)==null?void 0:y[0])==null?void 0:b.value)||""],k,k],x=jx(u,void 0,+u.iconZoom),o={type:"symbol",minzoom:+u.iconZoom,layout:{"icon-image":P,"icon-size":(u==null?void 0:u.icon_size)||1,"icon-allow-overlap":!0,"icon-anchor":(u==null?void 0:u.icon_anchor)||"bottom"},paint:{"icon-opacity":u.opacity||1}};return[...x,o]}const p=u.type||"point";return p==="polygon"?Nx(u):p==="line"?qx(u):Ux(u)}function Hx(u){return u.startsWith("http")?u:`${window.location.origin}${u}`}function Wx(u){const{id:p,sourceLayer:y,url:b,bounds:k,title:P,style:x,service:o,service_type:B,source_type:D,data:M}=u,O=Hx(b),L=B||o||D||"vector";switch(L){case"vtile":case"vector":return Zx(p,y,O,k,P,x);case"raster":return Kx(p,O,k,P,x);case"geojson":return Gx(p,M||O,k,P,x);default:throw new Error(`Unsupported layer service type: ${L}`)}}function ay(u){switch(u){case"polygon":return{type:"polygon",color:"#3388ff",opacity:.5};case"line":return{type:"line",color:"#3388ff",opacity:1};case"point":default:return{type:"point",color:"#3388ff",radius:6,opacity:1}}}function Zx(u,p,y,b,k,P){const x=p||(y.match(/\/vtile\/([^/]+)/)||[])[1]||u,o={type:"vector",tiles:[y],...b&&{bounds:b}},B=P||ay("polygon"),M=sy(B).map((O,L)=>({...O,id:`${u}-${L}`,"source-layer":x,source:u}));return{id:u,title:k,source:o,layers:M,visible:!0}}function Kx(u,p,y,b,k){const P={type:"raster",tiles:[p],tileSize:256,...y&&{bounds:y}},x=k||{},o={id:u,type:"raster",source:u,layout:{visibility:"visible"},...x&&{paint:x}};return{id:u,title:b,source:P,layers:[o],visible:!0}}function Gx(u,p,y,b,k){var M;const P={type:"geojson",data:p,...y&&{bounds:y}};let x="point";if(p&&p.features&&p.features.length>0){const O=(M=p.features[0].geometry)==null?void 0:M.type;O==="Polygon"||O==="MultiPolygon"?x="polygon":O==="LineString"||O==="MultiLineString"?x="line":x="point"}const o=k||ay(x),D=sy(o).map((O,L)=>({...O,id:`${u}-${L}`,source:u}));return{id:u,title:b,source:P,layers:D,visible:!0}}function Jx(u){if(!u||u.attrType!=="icon-by-attribute")return[];const p=new Set;return u.default_icon&&p.add(u.default_icon),Array.isArray(u.rules)&&u.rules.forEach(y=>{y.icon&&p.add(y.icon)}),Array.from(p).map(y=>({name:y,url:(u.icon_base_url||"")+y}))}function Xx(u){const p=new Set;function y(b){typeof b=="string"?p.add(b):Array.isArray(b)&&b.forEach(y)}return u&&u["icon-image"]&&y(u["icon-image"]),Array.from(p)}async function ly(u,p){const y=p.map(async({name:b,url:k})=>{const P=await u.loadImage(k);return{name:b,data:P.data}});try{const b=await Promise.all(y);for(const{name:k,data:P}of b)u.hasImage(k)||u.addImage(k,P)}catch(b){console.error("Failed to load icons:",b)}}function Qx(u,p,y="/icons/"){const k=Xx(p).map(P=>({name:P,url:y+P}));return ly(u,k)}async function Us(u,p){const y=Wx(p);console.log("layer",y);const b=Jx(p.style);b.length>0&&await ly(u,b),p.layout&&p.layout["icon-image"]&&await Qx(u,p.layout),u.getSource(y.id)||u.addSource(y.id,y.source);for(const k of y.layers)p.visible!==void 0&&(k.layout={...k.layout,visibility:p.visible?"visible":"none"}),u.getLayer(k.id)?u.setLayoutProperty(k.id,"visibility",p.visible?"visible":"none"):await u.addLayer(k);return y}function Qa(u,p){u.getStyle().layers.filter(k=>k.source===p).forEach(k=>{u.removeLayer(k.id)}),u.getSource(p)&&u.removeSource(p)}const Yx={class:"w-full flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative"},$x={class:"flex flex-col justify-between h-full pb-5 px-5"},eb={key:0,class:"relative mb-[10px]"},tb={width:"16",height:"17",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0px, -50%)"}},rb={key:1,class:"mb-4"},ib={class:""},nb={class:"space-y-2"},ob={class:"flex items-center gap-[10px] text-gray-500"},sb={class:"dataset-checkbox-container flex"},ab=["onUpdate:modelValue","onChange"],lb={class:"text-sm"},cb=["onClick"],ub=["innerHTML"],hb={key:0,class:"text-sm text-gray-500 text-center py-2"},db={__name:"vs-layers-widget",props:{map:{type:Object,required:!0},history:{type:Boolean,default:!1},config:{type:Object,default:()=>({layers:[],search:!1,allow_toggle_all:!1})},position:{type:String,default:"bottom-left"},hasFilters:{type:Boolean,default:!1}},emits:["set-filter-layer","update:enabledLayerIds"],setup(u,{emit:p}){const y=u,b=p,k=_.ref("");_.computed(()=>ny(y.position));const P=_.ref([]);function x(){const T=new URLSearchParams(window.location.search).get("layers");return T?T.split(","):[]}function o(C){const T=new URLSearchParams(window.location.search);C.length>0?T.set("layers",C.join(",")):T.delete("layers");const U=`${window.location.pathname}?${T.toString()}`;window.history.replaceState({},"",U)}_.onMounted(()=>{let C=[];y.history&&(C=x()),C.length>0?P.value=y.config.layers.map(T=>({...T,visible:C.includes(String(T.id))})):P.value=y.config.layers.map(T=>({...T,visible:T.visible??!1})),P.value.forEach(T=>{T.visible&&Us(y.map,T)}),b("update:enabledLayerIds",M())});const B=_.computed(()=>{if(!k.value)return P.value;const C=k.value.toLowerCase();return P.value.filter(T=>(T.title||T.name||T.label||"").toLowerCase().includes(C))}),D=_.computed(()=>P.value.every(C=>C.visible)),M=()=>P.value.filter(C=>C.visible).map(C=>C.id),O=C=>{C.visible?Us(y.map,C):(Qa(y.map,C.id),b("set-filter-layer",null)),y.map.getStyle().layers.filter(G=>G.source===C.id).forEach(G=>{y.map.setLayoutProperty(G.id,"visibility",C.visible?"visible":"none")}),b("update:enabledLayerIds",M())},L=()=>{const C=!D.value;P.value.forEach(T=>{T.visible=C,C?Us(y.map,T):Qa(y.map,T.id)}),C||b("set-filter-layer",null),b("update:enabledLayerIds",M())};return _.watch(()=>M(),C=>{y.history&&o(C)},{deep:!0}),(C,T)=>(_.openBlock(),_.createElementBlock("div",Yx,[T[2]||(T[2]=_.createElementVNode("div",{class:"p-5 pb-3 flex justify-between items-center"},[_.createElementVNode("h2",{class:"inline-block font-semibold text-lg text-gray-800"},"Шари")],-1)),_.createElementVNode("div",$x,[u.config.search?(_.openBlock(),_.createElementBlock("div",eb,[_.withDirectives(_.createElementVNode("input",{type:"text","onUpdate:modelValue":T[0]||(T[0]=U=>k.value=U),placeholder:"Введіть назву шару...",class:"py-[7px] ps-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none"},null,512),[[_.vModelText,k.value]]),(_.openBlock(),_.createElementBlock("svg",tb,T[1]||(T[1]=[_.createElementVNode("path",{d:"M7.33333 13.1667C10.2789 13.1667 12.6667 10.7789 12.6667 7.83333C12.6667 4.88781 10.2789 2.5 7.33333 2.5C4.38781 2.5 2 4.88781 2 7.83333C2 10.7789 4.38781 13.1667 7.33333 13.1667Z",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),_.createElementVNode("path",{d:"M13.9995 14.5L11.1328 11.6333",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])))])):_.createCommentVNode("",!0),u.config.allow_toggle_all?(_.openBlock(),_.createElementBlock("div",rb,[_.createElementVNode("button",{onClick:L,class:"w-full py-[7px] bg-blue-500 text-white rounded-lg hover:bg-blue-600 transition-colors"},_.toDisplayString(D.value?"Вимкнути всі":"Увімкнути всі"),1)])):_.createCommentVNode("",!0),_.createElementVNode("div",ib,[_.createElementVNode("ul",nb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(B.value,U=>(_.openBlock(),_.createElementBlock("li",{key:U.id,class:"flex flex-wrap justify-between items-center gap-x-2"},[_.createElementVNode("label",ob,[_.createElementVNode("span",sb,[_.withDirectives(_.createElementVNode("input",{class:"dataset-checkbox",type:"checkbox","onUpdate:modelValue":G=>U.visible=G,onChange:()=>O(U)},null,40,ab),[[_.vModelCheckbox,U.visible]])]),_.createElementVNode("span",lb,_.toDisplayString(U.title||U.name||U.label),1)]),U.actions&&U.visible?(_.openBlock(!0),_.createElementBlock(_.Fragment,{key:0},_.renderList(U.actions,G=>(_.openBlock(),_.createElementBlock("div",{key:G.id},[_.createElementVNode("button",{class:"text-sm text-gray-500",onClick:ie=>C.$emit("show-widget",G.widget)},[_.createElementVNode("div",{innerHTML:G.icon},null,8,ub)],8,cb)]))),128)):_.createCommentVNode("",!0)]))),128)),k.value&&B.value.length===0?(_.openBlock(),_.createElementBlock("li",hb," Шарів не знайдено ")):_.createCommentVNode("",!0)])])])]))}},pb={class:"legend-widget flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative"},fb={key:0,class:"p-5 pb-3 flex justify-between items-start gap-[30px]"},mb={class:"inline-block font-semibold text-lg text-gray-800 dark:text-neutral-200"},gb={class:"flex flex-col gap-1"},yb={class:"flex flex-col gap-1 p-5 pt-0"},_b=["innerHTML"],vb={__name:"vs-info-widget",props:{config:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.title)||""}),b=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.content)||""}),k=_.computed(()=>{var P;return((P=p.config)==null?void 0:P.goTo)||[]});return(P,x)=>{var D,M;const o=_.resolveComponent("VsPopover"),B=_.resolveComponent("router-link");return _.openBlock(),_.createElementBlock("div",pb,[y.value||(D=k.value)!=null&&D.length?(_.openBlock(),_.createElementBlock("div",fb,[_.createElementVNode("h2",mb,_.toDisplayString(y.value),1),(M=k.value)!=null&&M.length?(_.openBlock(),_.createBlock(o,{key:0,placement:"bottom"},{reference:_.withCtx(()=>[_.createVNode(o,{trigger:"hover",placement:"right"},{reference:_.withCtx(()=>x[0]||(x[0]=[_.createElementVNode("div",{class:"flex items-center justify-center h-8 w-8 transition-colors rounded-full hover:bg-gray-100 cursor-pointer"},[_.createElementVNode("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_.createElementVNode("path",{d:"M4 12H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"}),_.createElementVNode("path",{d:"M4 6H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"}),_.createElementVNode("path",{d:"M4 18H20",stroke:"#000000","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)])),default:_.withCtx(()=>[x[1]||(x[1]=_.createTextVNode(" Перейти на карту "))]),_:1})]),default:_.withCtx(()=>[_.createElementVNode("div",gb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.value,O=>(_.openBlock(),_.createElementBlock("div",{key:O.label},[O.url?(_.openBlock(),_.createBlock(B,{key:0,to:O.url,class:"text-sm text-gray-800 dark:text-neutral-200 hover:bg-gray-100 hover:text-blue-600 transition-colors rounded px-2 py-1 block"},{default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(O.label),1)]),_:2},1032,["to"])):_.createCommentVNode("",!0)]))),128))])]),_:1})):_.createCommentVNode("",!0)])):_.createCommentVNode("",!0),_.createElementVNode("div",yb,[_.createElementVNode("div",{innerHTML:b.value},null,8,_b)])])}}},xb=pr(vb,[["__scopeId","data-v-187a97ca"]]),bb={class:"w-full flex flex-col bg-white border border-stone-200 shadow-2xs rounded-xl z-10 relative overflow-hidden"},wb={key:0,class:"p-5 pb-3 flex justify-between items-center"},Sb={class:"inline-block font-semibold text-lg text-gray-800"},Ab={key:1,class:"flex"},kb={class:"flex items-center mx-[8px]"},Cb={class:"min-h-[34px] max-h-[34px] overflow-hidden min-w-[34px] flex justify-center items-center bg-stone-100 text-stone-800 py-2 px-3 text-sm rounded-lg"},Tb={class:"min-h-[34px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},Eb={class:"flex flex-col justify-between pb-5 px-5 h-full overflow-y-auto flex-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent"},Pb={key:0,class:"text-center"},Ib={key:1,class:"text-red-500"},Mb={key:2},Lb=["innerHTML"],Rb={key:1,class:"flow-root"},Db={class:"-my-3 divide-y divide-gray-100 text-sm"},zb={class:"font-medium text-gray-900"},Bb={class:"text-gray-700 sm:col-span-2"},Vb={key:2,class:"vs-map-card-info__nodata"},cy={__name:"vs-card-widget",props:{config:{type:Object,required:!0},cardValues:{type:Object,required:!0}},emits:["close","content-resize"],setup(u,{emit:p}){const y=u,b=p,k=_.computed(()=>{var G;return((G=y.config)==null?void 0:G.title)||""}),P=_.ref([]),x=_.ref(!1),o=_.ref(null),B=_.ref(0),D=_.computed(()=>B.value+1),M=_.computed(()=>{var G;return((G=y.info)==null?void 0:G.length)||0}),O=_.computed(()=>P.value[B.value]),L=_.computed(()=>{if(!O.value)return{};const{rows:G,columns:ie}=O.value;return!G||!ie?{}:ie.reduce((le,Ie)=>(!Ie.hide&&!["geom","geodata","id"].includes(Ie.name)&&(le[Ie.ua]=G[Ie.name]??"-"),le),{})});async function C(){var G,ie,le;x.value=!0,o.value=null;try{const Ie={id:(G=y.cardValues)==null?void 0:G.id,layer:(ie=y.cardValues)==null?void 0:ie.layer,map:(le=y.cardValues)==null?void 0:le.map},ee=await Br.get("/api/map-format",{params:Ie});P.value[B.value]=ee.data}catch(Ie){o.value=(Ie==null?void 0:Ie.message)||"Помилка запиту"}finally{x.value=!1,await _.nextTick(),b("content-resize")}}function T(){B.value<y.info.length-1&&(B.value+=1,P.value[B.value]||C())}function U(){B.value>0&&(B.value-=1,P.value[B.value]||C())}return _.onMounted(async()=>{await _.nextTick(),C()}),_.watch(()=>y.info,()=>{B.value=0,C(),b("content-resize")},{deep:!0}),_.watch([()=>y.cardValues,()=>y.config],async()=>{await _.nextTick(),C(),b("content-resize")}),(G,ie)=>{var le;return _.openBlock(),_.createElementBlock("div",bb,[k.value?(_.openBlock(),_.createElementBlock("div",wb,[_.createElementVNode("h2",Sb,_.toDisplayString(k.value),1),_.createElementVNode("button",{type:"button",class:"size-8 inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent bg-gray-100 text-gray-800 hover:bg-gray-200 focus:outline-none focus:bg-gray-200 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:hover:bg-neutral-600 dark:text-neutral-400 dark:focus:bg-neutral-600 ml-2",onClick:ie[0]||(ie[0]=Ie=>b("close"))},ie[1]||(ie[1]=[_.createElementVNode("svg",{class:"shrink-0 size-4 cursor-pointer",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[_.createElementVNode("path",{d:"M18 6 6 18"}),_.createElementVNode("path",{d:"m6 6 12 12"})],-1)]))])):_.createCommentVNode("",!0),M.value>1?(_.openBlock(),_.createElementBlock("div",Ab,[_.createElementVNode("button",{type:"button",class:_.normalizeClass([{"opacity-flex items-center justify-between border-b px-[16px] py-[8px]50 pointer-events-none":D.value===1},"min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"]),onClick:U}," ◀ ",2),_.createElementVNode("div",kb,[_.createElementVNode("span",Cb,_.toDisplayString(D.value),1),ie[2]||(ie[2]=_.createElementVNode("span",{class:"min-h-[34px] flex justify-center items-center text-stone-500 py-2 px-1.5 text-sm"},"з",-1)),_.createElementVNode("span",Tb,_.toDisplayString(M.value),1)]),_.createElementVNode("button",{type:"button",onClick:T,class:_.normalizeClass([{"opacity-50 pointer-events-none":D.value===M.value},"min-h-[34px] min-w-[34px] py-2 px-2.5 inline-flex justify-center items-center gap-x-2 text-sm rounded-lg text-stone-800 hover:bg-stone-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-stone-100"])}," ▶ ",2)])):_.createCommentVNode("",!0),_.createElementVNode("div",Eb,[x.value?(_.openBlock(),_.createElementBlock("div",Pb,"Завантаження даних...")):o.value?(_.openBlock(),_.createElementBlock("div",Ib,"Помилка завантаження даних")):(_.openBlock(),_.createElementBlock("div",Mb,[(le=O.value)!=null&&le.html?(_.openBlock(),_.createElementBlock("div",{key:0,innerHTML:O.value.html,class:"custom-table-html border-b"},null,8,Lb)):Object.keys(L.value).length?(_.openBlock(),_.createElementBlock("div",Rb,[_.createElementVNode("dl",Db,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(L.value,(Ie,ee)=>(_.openBlock(),_.createElementBlock("div",{key:ee,class:"grid grid-cols-1 gap-1 py-3 even:bg-gray-50 sm:grid-cols-3 sm:gap-4"},[_.createElementVNode("dt",zb,_.toDisplayString(ee),1),_.createElementVNode("dd",Bb,_.toDisplayString(Ie),1)]))),128))])])):(_.openBlock(),_.createElementBlock("div",Vb,"Даних не знайдено."))]))])])}}},Ob={class:"size-full flex flex-col bg-white border border-gray-200 shadow-2xs rounded-xl dark:bg-neutral-800 dark:border-neutral-700"},Fb={key:0,class:"p-5 pb-0 items-center"},Nb={class:"inline-block font-semibold text-lg text-gray-800 dark:text-neutral-200"},qb={class:"h-full p-5"},Ub={class:"h-full flex flex-col justify-between space-y-4"},jb={class:"space-y-4"},Hb={key:0,class:"flex gap-x-1 w-full h-2.5 rounded-full overflow-hidden"},Wb=["aria-valuenow"],Zb={class:"text-sm text-gray-500 px-2 w-full py-2 cursor-pointer !flex flex-row items-center rounded-lg group hover:bg-gray-100"},Kb=["for"],Gb={key:0,width:"16",height:"auto",src:"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J3doaXRlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLz48L3N2Zz4="},Jb=["id","onUpdate:modelValue"],Xb={class:"ms-2 text-gray-800 dark:text-neutral-200"},Qb={key:0,class:"ms-auto text-xs text-gray-500 dark:text-neutral-500"},Yb={__name:"vs-attributre-widget",props:{config:{type:Object,required:!0},map:{type:Object,required:!0}},setup(u){const p=u,y=_.computed(()=>{var B;return((B=p.config)==null?void 0:B.title)||""}),b=_.ref([]),k=_.computed(()=>p.config.layer.style.rules.some(B=>B.count!==void 0)),P=_.computed(()=>p.config.layer.style.rules.reduce((B,D)=>B+(D.count||0),0)),x=B=>!B||P.value===0?0:Math.round(B/P.value*100),o=()=>{const D=p.config.layer.style.rules.filter((M,O)=>b.value[O]).map(M=>M.id||M.value).join(",");if(p.config.layer.id){const M=p.map.getSource(p.config.layer.id);if(M){const L=M.tiles[0].split("?filter=")[0],C=D?`${L}?filter=${p.config.layer.style.attribute}=${D}`:L;M.setTiles([C])}}};return _.onMounted(()=>{var B;(B=p.config)!=null&&B.layer&&(Us(p.map,p.config.layer),b.value=new Array(p.config.layer.style.rules.length).fill(!1))}),(B,D)=>(_.openBlock(),_.createElementBlock("div",Ob,[y.value?(_.openBlock(),_.createElementBlock("div",Fb,[_.createElementVNode("div",null,[_.createElementVNode("h2",Nb,_.toDisplayString(y.value),1)])])):_.createCommentVNode("",!0),_.createElementVNode("div",qb,[_.createElementVNode("div",Ub,[_.createElementVNode("div",jb,[k.value?(_.openBlock(),_.createElementBlock("div",Hb,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(u.config.layer.style.rules,(M,O)=>(_.openBlock(),_.createElementBlock("div",{key:O,class:"flex flex-col justify-center overflow-hidden text-xs text-white text-center whitespace-nowrap",style:_.normalizeStyle({width:`${x(M.count)}%`,backgroundColor:M.color}),role:"progressbar","aria-valuenow":x(M.count),"aria-valuemin":"0","aria-valuemax":"100"},null,12,Wb))),128))])):_.createCommentVNode("",!0),_.createElementVNode("ul",null,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(u.config.layer.style.rules,(M,O)=>(_.openBlock(),_.createElementBlock("li",{key:O},[_.createElementVNode("div",Zb,[_.createElementVNode("label",{for:`filter-${O}`,class:"flex items-center w-full cursor-pointer"},[_.createElementVNode("div",{class:"w-[18px] h-[18px] border rounded-[4px] flex items-center justify-center",style:_.normalizeStyle({background:b.value[O]?M.color||"#2563eb":"#fff",borderColor:b.value[O]?M.color||"#2563eb":M.color||"#d9d9d9"})},[b.value[O]?(_.openBlock(),_.createElementBlock("img",Gb)):_.createCommentVNode("",!0)],4),_.withDirectives(_.createElementVNode("input",{type:"checkbox",id:`filter-${O}`,"onUpdate:modelValue":L=>b.value[O]=L,onChange:o,class:"hidden",disabled:!1},null,40,Jb),[[_.vModelCheckbox,b.value[O]]]),_.createElementVNode("span",Xb,_.toDisplayString(M.label||M.text),1),k.value?(_.openBlock(),_.createElementBlock("span",Qb,"("+_.toDisplayString(M.count)+")",1)):_.createCommentVNode("",!0)],8,Kb)])]))),128))])])])])]))}},$b={class:"hover:bg-gray-100 rounded-lg flex items-center ml-[20px] py-[8px] px-[8px]"},e1=["for"],t1={class:"custom-checkbox-wrapper"},r1=["id","checked"],i1={class:"custom-checkbox"},n1={key:0,xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none"},o1={class:"flex items-center justify-between ml-2 w-full"},s1=["title"],a1={key:0,class:"text-xs opacity-60 text-[#4b5563]"},l1={__name:"vs-map-catalog-item",props:{layer:{type:Object,required:!0},map:{type:Object,default:()=>null},selectedLayers:{type:Array,default:()=>[]}},emits:["select","remove"],setup(u,{emit:p}){const y=u,b=p,k=_.computed(()=>y.selectedLayers.some(o=>o.id===y.layer.id)),P=o=>Intl.NumberFormat("uk",{notation:"compact"}).format(o),x=o=>{b(o?"select":"remove",y.layer)};return(o,B)=>{var D,M,O,L,C;return _.openBlock(),_.createElementBlock("div",$b,[_.createElementVNode("label",{class:"flex items-center w-full cursor-pointer",for:u.layer.id},[_.createElementVNode("div",t1,[_.createElementVNode("input",{id:u.layer.id,type:"checkbox",checked:k.value,onChange:B[0]||(B[0]=T=>x(T.target.checked)),class:"custom-checkbox-input"},null,40,r1),_.createElementVNode("div",i1,[k.value?(_.openBlock(),_.createElementBlock("svg",n1,B[1]||(B[1]=[_.createElementVNode("path",{d:"M10.6663 1L4.24967 7.41667L1.33301 4.5",stroke:"#fff","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))):_.createCommentVNode("",!0)])]),_.createElementVNode("div",o1,[_.createElementVNode("div",{class:"whitespace-nowrap text text-ellipsis max-w-[260px] overflow-hidden text-[13px] text-[#4b5563]",title:(D=u.layer)==null?void 0:D.name},_.toDisplayString(((M=u.layer)==null?void 0:M.name)||((O=u.layer)==null?void 0:O.title)),9,s1),isNaN(P((L=u.layer)==null?void 0:L.count))?_.createCommentVNode("",!0):(_.openBlock(),_.createElementBlock("div",a1,_.toDisplayString(P((C=u.layer)==null?void 0:C.count)),1))])],8,e1)])}}},c1=pr(l1,[["__scopeId","data-v-b96f3537"]]),u1={},h1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-zoom-in"};function d1(u,p){return _.openBlock(),_.createElementBlock("svg",h1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"},null,-1),_.createElementVNode("line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"},null,-1),_.createElementVNode("line",{x1:"11",x2:"11",y1:"8",y2:"14"},null,-1),_.createElementVNode("line",{x1:"8",x2:"14",y1:"11",y2:"11"},null,-1)]))}const p1=pr(u1,[["render",d1]]),f1={},m1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-info"};function g1(u,p){return _.openBlock(),_.createElementBlock("svg",m1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"12",cy:"12",r:"10"},null,-1),_.createElementVNode("path",{d:"M12 16v-4"},null,-1),_.createElementVNode("path",{d:"M12 8h.01"},null,-1)]))}const y1=pr(f1,[["render",g1]]),_1={},v1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-table"};function x1(u,p){return _.openBlock(),_.createElementBlock("svg",v1,p[0]||(p[0]=[_.createElementVNode("path",{d:"M12 3v18"},null,-1),_.createElementVNode("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"},null,-1),_.createElementVNode("path",{d:"M3 9h18"},null,-1),_.createElementVNode("path",{d:"M3 15h18"},null,-1)]))}const b1=pr(_1,[["render",x1]]),w1={},S1={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-trash2"};function A1(u,p){return _.openBlock(),_.createElementBlock("svg",S1,p[0]||(p[0]=[_.createStaticVNode('<path d="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line>',5)]))}const k1=pr(w1,[["render",A1]]),C1={},T1={xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-more-vertical text-gray-600"};function E1(u,p){return _.openBlock(),_.createElementBlock("svg",T1,p[0]||(p[0]=[_.createElementVNode("circle",{cx:"12",cy:"12",r:"1"},null,-1),_.createElementVNode("circle",{cx:"12",cy:"5",r:"1"},null,-1),_.createElementVNode("circle",{cx:"12",cy:"19",r:"1"},null,-1)]))}const P1=pr(C1,[["render",E1]]),I1={},M1={width:"6",height:"10",viewBox:"0 0 6 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function L1(u,p){return _.openBlock(),_.createElementBlock("svg",M1,p[0]||(p[0]=[_.createElementVNode("path",{d:"M1 9L5 5L1 1",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))}const R1=pr(I1,[["render",L1]]);var cc={exports:{}},D1=cc.exports,Sm;function z1(){return Sm||(Sm=1,function(u,p){(function(y,b){b(p)})(D1,function(y){var b,k,P="smooth-dnd-container-instance",x="smooth-dnd-draggable-wrapper",o="animated",B="__smooth_dnd_draggable_translation_value",D="__smooth_dnd_draggable_visibility_value",M="smooth-dnd-ghost",O="smooth-dnd-container",L="smooth-dnd-extra-size-for-insertion",C="smooth-dnd-stretcher-element",T="smooth-dnd-stretcher-instance",U="smooth-dnd-disable-touch-action",G="smooth-dnd-no-user-select",ie="smooth-dnd-prevent-auto-scroll-class",le="smooth-dnd-drop-preview-default-class",Ie="smooth-dnd-drop-preview-inner-class",ee="smooth-dnd-drop-preview-constant-class",me="smooth-dnd-drop-preview-flex-container-class",Le=Object.freeze({containerInstance:P,defaultGroupName:"@@smooth-dnd-default-group@@",wrapperClass:x,defaultGrabHandleClass:"smooth-dnd-default-grap-handle",animationClass:o,translationValue:B,visibilityValue:D,ghostClass:M,containerClass:O,extraSizeForInsertion:L,stretcherElementClass:C,stretcherElementInstance:T,isDraggableDetached:"smoth-dnd-is-draggable-detached",disbaleTouchActions:U,noUserSelectClass:G,preventAutoScrollClass:ie,dropPlaceholderDefaultClass:le,dropPlaceholderInnerClass:Ie,dropPlaceholderWrapperClass:ee,dropPlaceholderFlexContainerClass:me}),qe={groupName:void 0,behaviour:"move",orientation:"vertical",getChildPayload:void 0,animationDuration:250,autoScrollEnabled:!0,shouldAcceptDrop:void 0,shouldAnimateDrop:void 0};function rt(ce){return(rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ue){return typeof ue}:function(ue){return ue&&typeof Symbol=="function"&&ue.constructor===Symbol&&ue!==Symbol.prototype?"symbol":typeof ue})(ce)}function St(ce,ue,de){return ue in ce?Object.defineProperty(ce,ue,{value:de,enumerable:!0,configurable:!0,writable:!0}):ce[ue]=de,ce}function yt(ce){return function(ue){if(Array.isArray(ue)){for(var de=0,ve=new Array(ue.length);de<ue.length;de++)ve[de]=ue[de];return ve}}(ce)||function(ue){if(Symbol.iterator in Object(ue)||Object.prototype.toString.call(ue)==="[object Arguments]")return Array.from(ue)}(ce)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}(k=b||(b={})).x="x",k.y="y",k.xy="xy";function ct(ce,ue,de){return de==="x"?{left:Math.max(ce.left,ue.left),top:ce.top,right:Math.min(ce.right,ue.right),bottom:ce.bottom}:{left:ce.left,top:Math.max(ce.top,ue.top),right:ce.right,bottom:Math.min(ce.bottom,ue.bottom)}}function _t(ce){var ue=window.getComputedStyle(ce),de=ue.overflow;if(de==="auto"||de==="scroll")return b.xy;var ve=ue["overflow-x"],Ee=ve==="auto"||ve==="scroll",Ve=ue["overflow-y"],at=Ve==="auto"||Ve==="scroll";return Ee&&at?b.xy:Ee?b.x:at?b.y:null}function qt(ce,ue){var de=window.getComputedStyle(ce),ve=de.overflow,Ee=de["overflow-".concat(ue)];return ve==="auto"||ve==="scroll"||Ee==="auto"||Ee==="scroll"}var Qt=function(ce,ue){return{left:Math.max(ce.left,ue.left),top:Math.max(ce.top,ue.top),right:Math.min(ce.right,ue.right),bottom:Math.min(ce.bottom,ue.bottom)}},xr=function(ce){var ue=ce.getBoundingClientRect(),de={left:ue.left,right:ue.right,top:ue.top,bottom:ue.bottom};if(ti(ce,"x")&&!gr(ce,"x")){var ve=de.right-de.left;de.right=de.right+ce.scrollWidth-ve}if(ti(ce,"y")&&!gr(ce,"y")){var Ee=de.bottom-de.top;de.bottom=de.bottom+ce.scrollHeight-Ee}return de},gr=function(ce,ue){var de=window.getComputedStyle(ce),ve=de.overflow,Ee=de["overflow-".concat(ue)];return ve==="auto"||ve==="scroll"||ve==="hidden"||Ee==="auto"||Ee==="scroll"||Ee==="hidden"},ti=function(ce,ue){return ue==="x"?ce.scrollWidth>ce.clientWidth:ce.scrollHeight>ce.clientHeight},ar=function(ce,ue){var de=ce,ve=ue||xr(ce);for(de=ce.parentElement;de;)ti(de,"x")&&gr(de,"x")&&(ve=ct(ve,de.getBoundingClientRect(),"x")),ti(de,"y")&&gr(de,"y")&&(ve=ct(ve,de.getBoundingClientRect(),"y")),de=de.parentElement;return ve},Zi=function(ce,ue){for(var de=ce;de;){if(de[P]){var ve=function(){var Ee=de[P];if(ue.some(function(Ve){return Ve===Ee}))return{v:Ee}}();if(rt(ve)==="object")return ve.v}de=de.parentElement}return null},Nr=function(ce,ue){for(var de=ce;de;){if(de.matches(ue))return de;de=de.parentElement}return null},Ki=function(ce,ue){return-1<ce.className.split(" ").map(function(de){return de}).indexOf(ue)},fr=function(ce,ue){if(ce){var de=ce.className.split(" ").filter(function(ve){return ve});de.indexOf(ue)===-1&&(de.unshift(ue),ce.className=de.join(" "))}},on=function(ce,ue){if(ce){var de=ce.className.split(" ").filter(function(ve){return ve&&ve!==ue});ce.className=de.join(" ")}},Ti=function(ce,ue){return ce.removeChild(ce.children[ue])},Ur=function(ce,ue,de){de>=ce.children.length?ce.appendChild(ue):ce.insertBefore(ue,ce.children[de])},Bi=function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():window.document.selection&&window.document.selection.empty()},ri=function(ce){if(ce){var ue=window.getComputedStyle(ce);if(ue)return ue.cursor}return null};function Gi(ce){return!(ce.bottom<=ce.top||ce.right<=ce.left)}function Vi(ce){var ue=ce.element,de=ce.draggables;return function(ve,Ee){var Ve=ve,at=Ve.removedIndex,Je=Ve.addedIndex,nt=Ve.droppedElement,Be=null;if(at!==null&&(Be=Ti(ue,at),de.splice(at,1)),Je!==null){var Ke=window.document.createElement("div");Ke.className="".concat(x),Ke.appendChild(Be&&Be.firstElementChild?Be.firstElementChild:nt),Ur(ue,Ke,Je),Je>=de.length?de.push(Ke):de.splice(Je,0,Ke)}Ee&&Ee(ve)}}var Cn=Object.freeze({domDropHandler:Vi,reactDropHandler:function(){return{handler:function(){return function(ce,ue){ue&&ue(ce)}}}}}),Gr={size:"offsetWidth",distanceToParent:"offsetLeft",translate:"transform",begin:"left",end:"right",dragPosition:"x",scrollSize:"scrollWidth",offsetSize:"offsetWidth",scrollValue:"scrollLeft",scale:"scaleX",setSize:"width",setters:{translate:function(ce){return"translate3d(".concat(ce,"px, 0, 0)")}}},fi={size:"offsetHeight",distanceToParent:"offsetTop",translate:"transform",begin:"top",end:"bottom",dragPosition:"y",scrollSize:"scrollHeight",offsetSize:"offsetHeight",scrollValue:"scrollTop",scale:"scaleY",setSize:"height",setters:{translate:function(ce){return"translate3d(0,".concat(ce,"px, 0)")}}};function Jr(ce,ue,de){ce[L]=0;var ve=function(Be){return{get:function(Ke,Ye){return Ke[Be[Ye]||Ye]},set:function(Ke,Ye,ft){Ke[Be[Ye]]=Be.setters[Ye]?Be.setters[Ye](ft):ft}}}(ue==="horizontal"?Gr:fi),Ee={translation:0};function Ve(){at(ce),function(Be){var Ke=Be.getBoundingClientRect();Ee.scaleX=Be.offsetWidth?(Ke.right-Ke.left)/Be.offsetWidth:1,Ee.scaleY=Be.offsetHeight?(Ke.bottom-Ke.top)/Be.offsetHeight:1}(ce)}function at(Be){Ee.rect=xr(Be);var Ke=ar(Be,Ee.rect);Gi(Ke)&&(Ee.lastVisibleRect=Ee.visibleRect),Ee.visibleRect=Ke}function Je(Be){var Ke=Be;if(Ke.tagName){var Ye=Ke.getBoundingClientRect();return ue==="vertical"?Ye.bottom-Ye.top:Ye.right-Ye.left}return ve.get(Be,"size")*ve.get(Ee,"scale")}function nt(Be){return ve.get(Be,"dragPosition")}return window.addEventListener("resize",function(){at(ce)}),setTimeout(function(){Ve()},10),{getSize:Je,getContainerRectangles:function(){return{rect:Ee.rect,visibleRect:Ee.visibleRect,lastVisibleRect:Ee.lastVisibleRect}},getBeginEndOfDOMRect:function(Be){return{begin:ve.get(Be,"begin"),end:ve.get(Be,"end")}},getBeginEndOfContainer:function(){return{begin:ve.get(Ee.rect,"begin")+Ee.translation,end:ve.get(Ee.rect,"end")+Ee.translation}},getBeginEndOfContainerVisibleRect:function(){return{begin:ve.get(Ee.visibleRect,"begin")+Ee.translation,end:ve.get(Ee.visibleRect,"end")+Ee.translation}},getBeginEnd:function(Be){var Ke=function(Ye){return(ve.get(Ye,"distanceToParent")+(Ye[B]||0))*ve.get(Ee,"scale")}(Be)+(ve.get(Ee.rect,"begin")+Ee.translation)-ve.get(ce,"scrollValue");return{begin:Ke,end:Ke+Je(Be)*ve.get(Ee,"scale")}},getAxisValue:nt,setTranslation:function(Be,Ke){Ke?ve.set(Be.style,"translate",Ke):Be.style.removeProperty("transform"),Be[B]=Ke},getTranslation:function(Be){return Be[B]},setVisibility:function(Be,Ke){Be[D]!==void 0&&Be[D]===Ke||(Ke?Be.style.removeProperty("visibility"):Be.style.visibility="hidden",Be[D]=Ke)},isVisible:function(Be){return Be[D]===void 0||Be[D]},isInVisibleRect:function(Be,Ke){var Ye=Ee.visibleRect,ft=Ye.left,ht=Ye.top,ot=Ye.right,Kt=Ye.bottom;Kt-ht<2&&(Kt=ht+30);var pt=Ee.rect;return ue==="vertical"?Be>pt.left&&Be<pt.right&&ht<Ke&&Ke<Kt:ft<Be&&Be<ot&&Ke>pt.top&&Ke<pt.bottom},setSize:function(Be,Ke){ve.set(Be,"setSize",Ke)},getTopLeftOfElementBegin:function(Be){var Ke=0;return{top:ue==="horizontal"?(Ke=Be,Ee.rect.top):(Ke=Ee.rect.left,Be),left:Ke}},getScrollSize:function(Be){return ve.get(Be,"scrollSize")},getScrollValue:function(Be){return ve.get(Be,"scrollValue")},setScrollValue:function(Be,Ke){return ve.set(Be,"scrollValue",Ke)},invalidate:Ve,invalidateRects:function(){at(ce)},getPosition:function(Be){return nt(Be)},setBegin:function(Be,Ke){ve.set(Be,"begin",Ke)}}}function it(ce,ue,de){var ve,Ee,Ve,at=de.left,Je=de.right,nt=de.top,Be=de.bottom,Ke=ce.x,Ye=ce.y;if(Ke<at||Je<Ke||Ye<nt||Be<Ye)return null;Ve=ue==="x"?(ve=at,Ee=Je,Ke):(ve=nt,Ee=Be,Ye);var ft=Ee-ve,ht=400<ft?100:ft/4;return Ee-Ve<ht?{direction:"end",speedFactor:(ht-(Ee-Ve))/ht}:Ve-ve<ht?{direction:"begin",speedFactor:(ht-(Ve-ve))/ht}:null}function vt(ce){var ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"y",de=null,ve=null,Ee=null,Ve=null;return{animate:function(at,Je){Ee=at,Ve=Je,function nt(){de===null&&(de=requestAnimationFrame(function(Be){ve===null&&(ve=Be);var Ke=Be-ve;ve=Be;var Ye,ft,ht,ot=Ke/1e3*Ve;ft=ue,ht=ot=Ee==="begin"?0-ot:ot,(Ye=ce)&&(Ye!==window?ft==="x"?Ye.scrollLeft+=ht:Ye.scrollTop+=ht:ft==="x"?Ye.scrollBy(ht,0):Ye.scrollBy(0,ht)),de=null,nt()}))}()},stop:function(){de!==null&&(cancelAnimationFrame(de),de=null),ve=null}}}function At(ce){return function(){return ar(ce,ce.getBoundingClientRect())}}var Mt,Ht,Et,zt=function(ce){var ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1500,de=ce.reduce(function(ve,Ee){var Ve=function(at){for(var Je=[],nt=at.element;nt;){var Be=_t(nt);if(Be&&!Ki(nt,ie)){var Ke={};switch(Be){case b.xy:Ke.x={animator:vt(nt,"x")},Ke.y={animator:vt(nt,"y")};break;case b.x:Ke.x={animator:vt(nt,"x")};break;case b.y:Ke.y={animator:vt(nt,"y")}}Je.push({axisAnimations:Ke,getRect:At(nt),scrollerElement:nt})}nt=nt.parentElement}return Je}(Ee).filter(function(at){return!ve.find(function(Je){return Je.scrollerElement===at.scrollerElement})});return[].concat(yt(ve),yt(Ve))},[]);return function(ve){var Ee=ve.draggableInfo;if(ve.reset)de.forEach(function(Je){Je.axisAnimations.x&&Je.axisAnimations.x.animator.stop(),Je.axisAnimations.y&&Je.axisAnimations.y.animator.stop()});else if(Ee){(function(Je,nt){Je.forEach(function(Be){var Ke=Be.axisAnimations,Ye=(0,Be.getRect)();Ke.x&&(Ke.x.scrollParams=it(nt,"x",Ye),Be.cachedRect=Ye),Ke.y&&(Ke.y.scrollParams=it(nt,"y",Ye),Be.cachedRect=Ye)})})(de,Ee.mousePosition),de.forEach(function(Je){var nt=Je.axisAnimations,Be=nt.x,Ke=nt.y;if(Be)if(Be.scrollParams){var Ye=Be.scrollParams,ft=Ye.direction,ht=Ye.speedFactor;Be.animator.animate(ft,ht*ue)}else Be.animator.stop();if(Ke)if(Ke.scrollParams){var ot=Ke.scrollParams,Kt=ot.direction,pt=ot.speedFactor;Ke.animator.animate(Kt,pt*ue)}else Ke.animator.stop()});var Ve=de.filter(function(Je){return Je.cachedRect});if(Ve.length&&1<Ve.length){var at=function(Je,nt){for(var Be=document.elementFromPoint(nt.x,nt.y);Be;){var Ke=Je.find(function(Ye){return Ye.scrollerElement===Be});if(Ke)return Ke;Be=Be.parentElement}return null}(Ve,Ee.mousePosition);at&&Ve.forEach(function(Je){Je!==at&&(Je.axisAnimations.x&&Je.axisAnimations.x.animator.stop(),Je.axisAnimations.y&&Je.axisAnimations.y.animator.stop())})}}}};typeof window<"u"&&((Mt=Element)&&Mt.prototype&&!Mt.prototype.matches&&(Mt.prototype.matches=Mt.prototype.matchesSelector||Mt.prototype.mozMatchesSelector||Mt.prototype.msMatchesSelector||Mt.prototype.oMatchesSelector||Mt.prototype.webkitMatchesSelector||function(ce){for(var ue=(this.document||this.ownerDocument).querySelectorAll(ce),de=ue.length;0<=--de&&ue.item(de)!==this;);return-1<de}),(Ht=Node||Element)&&Ht.prototype&&Ht.prototype.firstElementChild==null&&Object.defineProperty(Ht.prototype,"firstElementChild",{get:function(){for(var ce,ue=this.childNodes,de=0;ce=ue[de++];)if(ce.nodeType===1)return ce;return null}}),Array.prototype.some||(Array.prototype.some=function(ce){if(this==null)throw new TypeError("Array.prototype.some called on null or undefined");if(typeof ce!="function")throw new TypeError;for(var ue=Object(this),de=ue.length>>>0,ve=2<=arguments.length?arguments[1]:void 0,Ee=0;Ee<de;Ee++)if(Ee in ue&&ce.call(ve,ue[Ee],Ee,ue))return!0;return!1}));var or={overflow:"hidden",display:"block"},Jt={height:"100%",display:"table-cell","vertical-align":"top"},Ir=(St(Et={},".".concat(O),{position:"relative","min-height":"30px","min-width":"30px"}),St(Et,".".concat(O,".horizontal"),{display:"table"}),St(Et,".".concat(O,".horizontal > .").concat(C),{display:"inline-block"}),St(Et,".".concat(O,".horizontal > .").concat(x),Jt),St(Et,".".concat(O,".vertical > .").concat(x),or),St(Et,".".concat(x),{"box-sizing":"border-box"}),St(Et,".".concat(x,".horizontal"),Jt),St(Et,".".concat(x,".vertical"),or),St(Et,".".concat(x,".animated"),{transition:"transform ease"}),St(Et,".".concat(M),{"box-sizing":"border-box"}),St(Et,".".concat(M,".animated"),{transition:"all ease-in-out"}),St(Et,".".concat(M," *"),{"pointer-events":"none"}),St(Et,".".concat(U," *"),{"touch-action":"none","-ms-touch-action":"none"}),St(Et,".".concat(G),{"-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"}),St(Et,".".concat(Ie),{flex:"1"}),St(Et,".".concat(O,".horizontal > .").concat(ee),{height:"100%",overflow:"hidden",display:"table-cell","vertical-align":"top"}),St(Et,".".concat(O,".vertical > .").concat(ee),{overflow:"hidden",display:"block",width:"100%"}),St(Et,".".concat(me),{width:"100%",height:"100%",display:"flex","justify-content":"stretch","align-items":"stretch"}),St(Et,".".concat(le),{"background-color":"rgba(150, 150, 150, 0.1)",border:"1px solid #ccc"}),Et);function ii(ce){return Object.keys(ce).reduce(function(ue,de){var ve=ce[de];return rt(ve)==="object"?"".concat(ue).concat(de,"{").concat(ii(ve),"}"):"".concat(ue).concat(de,":").concat(ve,";")},"")}function Vr(ce){if(ce&&typeof window<"u"){var ue=window.document.head||window.document.getElementsByTagName("head")[0],de=window.document.createElement("style"),ve=ii({"body *":{cursor:"".concat(ce," !important")}});return de.type="text/css",de.styleSheet?de.styleSheet.cssText=ve:de.appendChild(window.document.createTextNode(ve)),ue.appendChild(de),de}return null}var ni,mi,Mi=["mousedown","touchstart"],gi=["mousemove","touchmove"],dr=["mouseup","touchend"],Wt=null,Pt=null,Bt=null,xt=null,ke=[],K=!1,Q=!1,te=!1,he=!1,xe=null,Y=null,Pe=null,Ae=null,Te=(ni=null,mi=!1,{start:function(){mi||(mi=!0,function ce(){ni=requestAnimationFrame(function(){Wt.forEach(function(ue){return ue.layout.invalidateRects()}),setTimeout(function(){ni!==null&&ce()},50)})}())},stop:function(){ni!==null&&(cancelAnimationFrame(ni),ni=null),mi=!1}}),ze=typeof window<"u"&&!!(window.navigator.userAgent.match(/Android/i)||window.navigator.userAgent.match(/webOS/i)||window.navigator.userAgent.match(/iPhone/i)||window.navigator.userAgent.match(/iPad/i)||window.navigator.userAgent.match(/iPod/i)||window.navigator.userAgent.match(/BlackBerry/i)||window.navigator.userAgent.match(/Windows Phone/i));function Me(){typeof window<"u"&&Mi.forEach(function(ce){window.document.addEventListener(ce,Zt,{passive:!1})})}function Qe(){return xt&&xt.ghostParent?xt.ghostParent:Pt&&Pt.parentElement||window.document.body}var ut,gt,It,jt,Vt,Ue,cr=(jt=null,Vt=1,Ue=5,function(ce,ue,de){ut=Li(ce),It=de,(gt=typeof ue=="number"?ue:ze?200:0)&&(jt=setTimeout(Rt,gt)),gi.forEach(function(ve){return window.document.addEventListener(ve,Yt)},{passive:!1}),dr.forEach(function(ve){return window.document.addEventListener(ve,sr)},{passive:!1}),window.document.addEventListener("drag",Ot,{passive:!1})});function Yt(ce){var ue=Li(ce),de=ue.clientX,ve=ue.clientY;if(gt)(Math.abs(ut.clientX-de)>Ue||Math.abs(ut.clientY-ve)>Ue)&&Xe();else if(Math.abs(ut.clientX-de)>Vt||Math.abs(ut.clientY-ve)>Vt)return Rt()}function sr(){Xe()}function Ot(){Xe()}function Xe(){clearTimeout(jt),gi.forEach(function(ce){return window.document.removeEventListener(ce,Yt)},{passive:!1}),dr.forEach(function(ce){return window.document.removeEventListener(ce,sr)},{passive:!1}),window.document.removeEventListener("drag",Ot,{passive:!1})}function Rt(){clearTimeout(jt),Xe(),It()}function Zt(ce){var ue=Li(ce);if(!K&&(ue.button===void 0||ue.button===0)&&(Pt=Nr(ue.target,"."+x))){var de=Nr(Pt,"."+O),ve=ke.filter(function(Je){return Je.element===de})[0],Ee=ve.getOptions().dragHandleSelector,Ve=ve.getOptions().nonDragAreaSelector,at=!0;Ee&&!Nr(ue.target,Ee)&&(at=!1),Ve&&Nr(ue.target,Ve)&&(at=!1),at&&(ve.layout.invalidate(),fr(window.document.body,U),fr(window.document.body,G),window.document.addEventListener("mouseup",function Je(){on(window.document.body,U),on(window.document.body,G),window.document.removeEventListener("mouseup",Je)})),at&&cr(ue,ve.getOptions().dragBeginDelay,function(){Bi(),Zn(ue,ri(ce.target)),gi.forEach(function(Je){window.document.addEventListener(Je,Ar,{passive:!1})}),dr.forEach(function(Je){window.document.addEventListener(Je,Tn,{passive:!1})})})}}function Ar(ce){ce.preventDefault();var ue=Li(ce);if(xt){var de=xt.container.getOptions();de.behaviour==="contain"?function(ve){var Ee,Ve,at,Je,nt=ve.clientX,Be=ve.clientY,Ke=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"vertical",Ye=xt.container.layout.getBeginEndOfContainerVisibleRect();Je=Ke==="vertical"?(Ee=Be,Ve="y",at="top",xt.size.offsetHeight):(Ee=nt,Ve="x",at="left",xt.size.offsetWidth);var ft=Ye.begin,ht=Ye.end-Je,ot=Math.max(ft,Math.min(ht,Ee+Bt.positionDelta[at]));Bt.topLeft[Ve]=ot,xt.position[Ve]=Math.max(Ye.begin,Math.min(Ye.end,Ee+Bt.centerDelta[Ve])),xt.mousePosition[Ve]=Math.max(Ye.begin,Math.min(Ye.end,Ee)),xt.position[Ve]<Ye.begin+Je/2&&(xt.position[Ve]=Ye.begin+2),xt.position[Ve]>Ye.end-Je/2&&(xt.position[Ve]=Ye.end-2)}(ue,de.orientation):Pe?Pe==="y"?(Bt.topLeft.y=ue.clientY+Bt.positionDelta.top,xt.position.y=ue.clientY+Bt.centerDelta.y,xt.mousePosition.y=ue.clientY):Pe==="x"&&(Bt.topLeft.x=ue.clientX+Bt.positionDelta.left,xt.position.x=ue.clientX+Bt.centerDelta.x,xt.mousePosition.x=ue.clientX):(Bt.topLeft.x=ue.clientX+Bt.positionDelta.left,Bt.topLeft.y=ue.clientY+Bt.positionDelta.top,xt.position.x=ue.clientX+Bt.centerDelta.x,xt.position.y=ue.clientY+Bt.centerDelta.y,xt.mousePosition.x=ue.clientX,xt.mousePosition.y=ue.clientY),uo(),(he=!xe(xt))&&co()}else Zn(ue,ri(ce.target))}var mr,yi,Gt,Oi,co=(mr=yn,Gt=!(yi=20),Oi=null,function(){for(var ce=arguments.length,ue=new Array(ce),de=0;de<ce;de++)ue[de]=arguments[de];Oi&&clearTimeout(Oi),Gt&&!Oi?mr.call.apply(mr,[null].concat(ue)):Oi=setTimeout(function(){Oi=null,mr.call.apply(mr,[null].concat(ue))},yi)});function yn(){he&&(he=!1,_n(xt,Wt))}function Tn(){gi.forEach(function(ce){window.document.removeEventListener(ce,Ar,{passive:!1})}),dr.forEach(function(ce){window.document.removeEventListener(ce,Tn,{passive:!1})}),Y({reset:!0}),Ae&&(function(ce){ce&&typeof window<"u"&&(window.document.head||window.document.getElementsByTagName("head")[0]).removeChild(ce)}(Ae),Ae=null),xt&&(Te.stop(),yn(),te=!0,function(ce){function ue(){on(Bt.ghost,"animated"),Bt.ghost.style.transitionDuration=null,Qe().removeChild(Bt.ghost),ce()}function de(pt,Ut,br){var ho=pt.top,Rn=pt.left;fr(Bt.ghost,"animated"),br&&fr(Bt.ghost.firstElementChild,br),Bt.topLeft.x=Rn,Bt.topLeft.y=ho,uo(Ut),setTimeout(function(){ue()},Ut+20)}function ve(pt,Ut){fr(Bt.ghost,"animated"),uo(pt,.9,!0),setTimeout(function(){Ut()},pt+20)}if(xt.targetElement){var Ee=ke.filter(function(pt){return pt.element===xt.targetElement})[0];!(Kt=Ee.getOptions()).shouldAnimateDrop||Kt.shouldAnimateDrop(xt.container.getOptions(),xt.payload)?de(Ee.getDragResult().shadowBeginEnd.rect,Math.max(150,Ee.getOptions().animationDuration/2),Ee.getOptions().dropClass):ue()}else{var Ve=ke.filter(function(pt){return pt===xt.container})[0];if(Ve){var at=Ve.getOptions(),Je=at.behaviour,nt=at.removeOnDropOut;if(Je!=="move"&&Je!=="contain"||!Q&&nt||!Ve.getDragResult())ve(Ve.getOptions().animationDuration,ue);else{var Be=Ve.layout.getContainerRectangles();if(!Gi(Be.visibleRect)&&Gi(Be.lastVisibleRect))de({top:Be.lastVisibleRect.top,left:Be.lastVisibleRect.left},Ve.getOptions().animationDuration,Ve.getOptions().dropClass);else{var Ke=Ve.getDragResult(),Ye=Ke.removedIndex,ft=Ke.elementSize,ht=Ve.layout;Ve.getTranslateCalculator({dragResult:{removedIndex:Ye,addedIndex:Ye,elementSize:ft,pos:void 0,shadowBeginEnd:void 0}});var ot=0<Ye?ht.getBeginEnd(Ve.draggables[Ye-1]).end:ht.getBeginEndOfContainer().begin;de(ht.getTopLeftOfElementBegin(ot),Ve.getOptions().animationDuration,Ve.getOptions().dropClass)}}}else ve(qe.animationDuration,ue)}var Kt}(function(){yr(K=!1);for(var ce=Wt||[],ue=ce.shift();ue!==void 0;)ue.handleDrop(xt),ue=ce.shift();xe=Pe=xt=Bt=Pt=Wt=null,te=!1}))}function Li(ce){return ce.touches?ce.touches[0]:ce}function _n(ce,ue){var de=!1;ue.forEach(function(ve){var Ee=ve.handleDrag(ce);de=!!Ee.containerBoxChanged||!1,Ee.containerBoxChanged=!1}),de&&(de=!1,requestAnimationFrame(function(){ke.forEach(function(ve){ve.layout.invalidateRects(),ve.onTranslated()})}))}function Er(ce){var ue=ce,de=null;return function(ve){return!(de!==null||!K||te)&&(de=requestAnimationFrame(function(){K&&!te&&(_n(ve,ue),Y({draggableInfo:ve})),de=null}),!0)}}function _i(ce,ue){return ce.getOptions().autoScrollEnabled?zt(ue,ce.getScrollMaxSpeed()):function(de){return null}}function yr(ce){ke.forEach(function(ue){var de=ce?ue.getOptions().onDragStart:ue.getOptions().onDragEnd;if(de){var ve={isSource:ue===xt.container,payload:xt.payload};ue.isDragRelevant(xt.container,xt.payload)?ve.willAcceptDrop=!0:ve.willAcceptDrop=!1,de(ve)}})}function Zn(ce,ue){if(Pt!==null){K=!0;var de=ke.filter(function(ve){return Pt.parentElement===ve.element})[0];de.setDraggables(),Pe=de.getOptions().lockAxis?de.getOptions().lockAxis.toLowerCase():null,xt=function(ve){var Ee=ke.filter(function(nt){return ve.parentElement===nt.element})[0],Ve=Ee.draggables.indexOf(ve),at=Ee.getOptions().getGhostParent,Je=ve.getBoundingClientRect();return{container:Ee,element:ve,size:{offsetHeight:Je.bottom-Je.top,offsetWidth:Je.right-Je.left},elementIndex:Ve,payload:Ee.getOptions().getChildPayload?Ee.getOptions().getChildPayload(Ve):void 0,targetElement:null,position:{x:0,y:0},groupName:Ee.getOptions().groupName,ghostParent:at?at():null,invalidateShadow:null,mousePosition:null,relevantContainers:null}}(Pt),Bt=function(ve,Ee,Ve,at){var Je=Ee.x,nt=Ee.y,Be=ve.getBoundingClientRect(),Ke=Be.left,Ye=Be.top,ft=Be.right,ht=Be.bottom,ot=Qt(Ve.layout.getContainerRectangles().visibleRect,Be),Kt=ot.left+(ot.right-ot.left)/2,pt=ot.top+(ot.bottom-ot.top)/2,Ut=ve.cloneNode(!0);return Ut.style.zIndex="1000",Ut.style.boxSizing="border-box",Ut.style.position="fixed",Ut.style.top="0px",Ut.style.left="0px",Ut.style.transform=null,Ut.style.removeProperty("transform"),Ve.shouldUseTransformForGhost()?Ut.style.transform="translate3d(".concat(Ke,"px, ").concat(Ye,"px, 0)"):(Ut.style.top="".concat(Ye,"px"),Ut.style.left="".concat(Ke,"px")),Ut.style.width=ft-Ke+"px",Ut.style.height=ht-Ye+"px",Ut.style.overflow="visible",Ut.style.transition=null,Ut.style.removeProperty("transition"),Ut.style.pointerEvents="none",Ut.style.userSelect="none",Ve.getOptions().dragClass?setTimeout(function(){fr(Ut.firstElementChild,Ve.getOptions().dragClass);var br=window.getComputedStyle(Ut.firstElementChild).cursor;Ae=Vr(br)}):Ae=Vr(at),fr(Ut,Ve.getOptions().orientation||"vertical"),fr(Ut,M),{ghost:Ut,centerDelta:{x:Kt-Je,y:pt-nt},positionDelta:{left:Ke-Je,top:Ye-nt},topLeft:{x:Ke,y:Ye}}}(Pt,{x:ce.clientX,y:ce.clientY},xt.container,ue),xt.position={x:ce.clientX+Bt.centerDelta.x,y:ce.clientY+Bt.centerDelta.y},xt.mousePosition={x:ce.clientX,y:ce.clientY},Wt=ke.filter(function(ve){return ve.isDragRelevant(de,xt.payload)}),xt.relevantContainers=Wt,xe=Er(Wt),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(de,Wt),Wt.forEach(function(ve){return ve.prepareDrag(ve,Wt)}),yr(!0),xe(xt),Qe().appendChild(Bt.ghost),Te.start()}}var sn=null;function uo(){var ce=0<arguments.length&&arguments[0]!==void 0?arguments[0]:0,ue=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,de=2<arguments.length&&arguments[2]!==void 0&&arguments[2],ve=Bt,Ee=ve.ghost,Ve=ve.topLeft,at=Ve.x,Je=Ve.y,nt=!xt.container||xt.container.shouldUseTransformForGhost(),Be=nt?"translate3d(".concat(at,"px,").concat(Je,"px, 0)"):null;if(ue!==1&&(Be=Be?"".concat(Be," scale(").concat(ue,")"):"scale(".concat(ue,")")),0<ce)return Bt.ghost.style.transitionDuration=ce+"ms",void requestAnimationFrame(function(){Be&&(Ee.style.transform=Be),nt||(Ee.style.left=at+"px",Ee.style.top=Je+"px"),sn=null,de&&(Ee.style.opacity="0")});sn===null&&(sn=requestAnimationFrame(function(){Be&&(Ee.style.transform=Be),nt||(Ee.style.left=at+"px",Ee.style.top=Je+"px"),sn=null,de&&(Ee.style.opacity="0")}))}function En(){if(K&&!Q&&!te){he=!(Q=!0);var ce=Object.assign({},xt,{targetElement:null,position:{x:Number.MAX_SAFE_INTEGER,y:Number.MAX_SAFE_INTEGER},mousePosition:{x:Number.MAX_SAFE_INTEGER,y:Number.MAX_SAFE_INTEGER}});Wt.forEach(function(ue){ue.handleDrag(ce)}),xt.targetElement=null,xt.cancelDrop=!0,Tn(),Q=!1}}typeof window<"u"&&function(){if(typeof window<"u"){var ce=window.document.head||window.document.getElementsByTagName("head")[0],ue=window.document.createElement("style");ue.id="smooth-dnd-style-definitions";var de=ii(Ir);ue.type="text/css",ue.styleSheet?ue.styleSheet.cssText=de:ue.appendChild(window.document.createTextNode(de)),ce.appendChild(ue)}}();var Ri=(Me(),{register:function(ce){(function(ue){ke.push(ue),K&&xt&&ue.isDragRelevant(xt.container,xt.payload)&&(Wt.push(ue),ue.prepareDrag(ue,Wt),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(ue,Wt),xe=Er(Wt),ue.handleDrag(xt))})(ce)},unregister:function(ce){(function(ue){if(ke.splice(ke.indexOf(ue),1),K&&xt){xt.container===ue&&ue.fireRemoveElement(),xt.targetElement===ue.element&&(xt.targetElement=null);var de=Wt.indexOf(ue);-1<de&&(Wt.splice(de,1),Y&&Y({reset:!0,draggableInfo:void 0}),Y=_i(ue,Wt),xe=Er(Wt))}})(ce)},isDragging:function(){return K},cancelDrag:En});function $o(ce,ue){var de=2<arguments.length&&arguments[2]!==void 0?arguments[2]:qe.animationDuration;ue?(fr(ce,o),ce.style.transitionDuration=de+"ms"):(on(ce,o),ce.style.removeProperty("transition-duration"))}function Mo(ce){var ue=[];return Array.prototype.forEach.call(ce.children,function(de){if(de.nodeType===Node.ELEMENT_NODE){var ve=de;Ki(de,x)||(ve=function(Ee){if(Nt.wrapChild){var Ve=window.document.createElement("div");return Ve.className="".concat(x),Ee.parentElement.insertBefore(Ve,Ee),Ve.appendChild(Ee),Ve}return Ee}(de)),ve[B]=0,ue.push(ve)}else ce.removeChild(de)}),ue}function Zs(ce){var ue=ce.layout;return function(de,ve){var Ee=2<arguments.length&&arguments[2]!==void 0&&arguments[2];return function Ve(at,Je,nt,Be){var Ke=4<arguments.length&&arguments[4]!==void 0&&arguments[4];if(Be<nt)return nt;if(nt===Be){var Ye=ue.getBeginEnd(at[nt]),ft=Ye.begin,ht=Ye.end;return Ke?Je<(ht+ft)/2?nt:nt+1:nt}var ot=Math.floor((Be+nt)/2),Kt=ue.getBeginEnd(at[ot]),pt=Kt.begin,Ut=Kt.end;return Je<pt?Ve(at,Je,nt,ot-1,Ke):Ut<Je?Ve(at,Je,ot+1,Be,Ke):Ke?Je<(Ut+pt)/2?ot:ot+1:ot}(de,ve,0,de.length-1,Ee)}}function Kn(ce){var ue=ce.element,de=ce.draggables,ve=ce.layout,Ee=ce.getOptions,Ve=function(Je){var nt=Je.element,Be=Je.draggables,Ke=Je.layout;return function(){Be.forEach(function(Ye){$o(Ye,!1),Ke.setTranslation(Ye,0),Ke.setVisibility(Ye,!0)}),nt[T]&&(nt[T].parentNode.removeChild(nt[T]),nt[T]=null)}}({element:ue,draggables:de,layout:ve}),at=(Nt.dropHandler||Vi)({element:ue,draggables:de,layout:ve,getOptions:Ee});return function(Je,nt){var Be=nt.addedIndex,Ke=nt.removedIndex,Ye=2<arguments.length&&arguments[2]!==void 0&&arguments[2];if(Ve(),!Je.cancelDrop&&(Je.targetElement||Ee().removeOnDropOut||Ye)){var ft={removedIndex:Ke,addedIndex:Be!==null?Ke!==null&&Ke<Be?Be-1:Be:null,payload:Je.payload};at(ft,Ee().onDrop)}}}function es(ce){var ue=ce.element,de=ce.getOptions,ve=null;return function(Ee){var Ve=Ee.draggableInfo,at=ve;return ve==null&&Ve.container.element===ue&&de().behaviour!=="copy"&&(at=ve=Ve.elementIndex),{removedIndex:at}}}function Ks(ce){var ue=ce.draggables,de=ce.layout;return function(ve){var Ee=ve.dragResult;Ee.removedIndex!==null&&de.setVisibility(ue[Ee.removedIndex],!1)}}function Gs(ce){var ue=ce.element,de=ce.layout;return function(ve){var Ee=ve.draggableInfo,Ve=document.elementFromPoint(Ee.position.x,Ee.position.y);if(Ve){var at=Zi(Ve,Ee.relevantContainers);if(at&&at.element===ue)return{pos:de.getPosition(Ee.position)}}return{pos:null}}}function Js(ce){var ue=ce.layout,de=null;return function(ve){var Ee=ve.draggableInfo;return ve.dragResult.pos===null?de=null:{elementSize:de=de||ue.getSize(Ee.size)}}}function ts(ce){var ue=ce.element;return function(de){var ve=de.draggableInfo,Ee=de.dragResult;(function(Ve,at){var Je=!(2<arguments.length&&arguments[2]!==void 0)||arguments[2];at&&Je?Ve.targetElement=at:Ve.targetElement===at&&(Ve.targetElement=null)})(ve,ue,!!Ee.pos)}}function rs(){return function(ce){return ce.dragResult.pos!==null?{addedIndex:0}:{addedIndex:null}}}function Pn(ce){var ue=ce.layout,de=null;return function(ve){var Ee=ve.dragResult.addedIndex;if(Ee===de)return null;de=Ee;var Ve=ue.getBeginEndOfContainer(),at=Ve.begin;return Ve.end,{shadowBeginEnd:{rect:ue.getTopLeftOfElementBegin(at)}}}}function is(ce){var ue=ce.layout,de=ce.element,ve=ce.getOptions,Ee=null;return function(Ve){var at=Ve.dragResult,Je=at.elementSize,nt=at.shadowBeginEnd,Be=at.addedIndex,Ke=at.dropPlaceholderContainer,Ye=ve();if(Ye.dropPlaceholder){var ft=typeof Ye.dropPlaceholder=="boolean"?{}:Ye.dropPlaceholder,ht=ft.animationDuration,ot=ft.className,Kt=ft.showOnTop;if(Be===null)return Ke&&Ee!==null&&de.removeChild(Ke),Ee=null,{dropPlaceholderContainer:void 0};if(!Ke){var pt=document.createElement("div"),Ut=document.createElement("div");Ut.className=me,pt.className="".concat(Ie," ").concat(ot||le),(Ke=document.createElement("div")).className="".concat(ee),Ke.style.position="absolute",ht!==void 0&&(Ke.style.transition="all ".concat(ht,"ms ease")),Ke.appendChild(Ut),Ut.appendChild(pt),ue.setSize(Ke.style,Je+"px"),Ke.style.pointerEvents="none",Kt?de.appendChild(Ke):de.insertBefore(Ke,de.firstElementChild)}return Ee!==Be&&nt.dropArea&&ue.setBegin(Ke.style,nt.dropArea.begin-ue.getBeginEndOfContainer().begin+"px"),Ee=Be,{dropPlaceholderContainer:Ke}}return null}}function Xs(ce){var ue=Jn(ce);return function(de){var ve=de.draggableInfo,Ee=de.dragResult;return ve.invalidateShadow?ue({draggableInfo:ve,dragResult:Ee}):null}}function In(ce){var ue=function(de){var ve=de.draggables,Ee=Zs({layout:de.layout});return function(Ve){var at=Ve.dragResult,Je=at.shadowBeginEnd,nt=at.pos;if(Je)return Je.begin+Je.beginAdjustment<=nt&&Je.end>=nt?null:nt<Je.begin+Je.beginAdjustment?Ee(ve,nt):nt>Je.end?Ee(ve,nt)+1:ve.length;var Be=Ee(ve,nt,!0);return Be!==null?Be:ve.length}}(ce);return function(de){var ve=de.dragResult,Ee=null;return ve.pos!==null&&(Ee=ue({dragResult:ve}))===null&&(Ee=ve.addedIndex),{addedIndex:Ee}}}function ns(){var ce=null;return function(ue){var de=ue.dragResult,ve=de.addedIndex,Ee=de.shadowBeginEnd;ve!==ce&&ce!==null&&Ee&&(Ee.beginAdjustment=0),ce=ve}}function tl(ce){var ue=ce.element,de=ce.draggables,ve=ce.layout,Ee=ce.getOptions,Ve=null;return function(at){var Je=at.dragResult,nt=Je.addedIndex,Be=Je.removedIndex,Ke=Je.elementSize;if(Be===null){if(nt!==null){if(!Ve){var Ye=ve.getBeginEndOfContainer();Ye.end=Ye.begin+ve.getSize(ue);var ft=ve.getScrollSize(ue)>ve.getSize(ue)?Ye.begin+ve.getScrollSize(ue)-ve.getScrollValue(ue):Ye.end,ht=0<de.length?ve.getBeginEnd(de[de.length-1]).end-de[de.length-1][B]:Ye.begin;if(ft<ht+Ke){(Ve=window.document.createElement("div")).className=C+" "+Ee().orientation;var ot=0<de.length?Ke+ht-ft:Ke;return ve.setSize(Ve.style,"".concat(ot,"px")),ue.appendChild(Ve),ue[T]=Ve,{containerBoxChanged:!0}}}}else if(Ve){ve.setTranslation(Ve,0);var Kt=Ve;return Ve=null,ue.removeChild(Kt),{containerBoxChanged:!(ue[T]=null)}}}}}function Gn(ce){var ue=ce.draggables,de=ce.layout,ve=null,Ee=null;return function(Ve){var at=Ve.dragResult,Je=at.addedIndex,nt=at.removedIndex,Be=at.elementSize;if(Je!==ve||nt!==Ee){for(var Ke=0;Ke<ue.length;Ke++)if(Ke!==nt){var Ye=ue[Ke],ft=0;nt!==null&&nt<Ke&&(ft-=Be),Je!==null&&Je<=Ke&&(ft+=Be),de.setTranslation(Ye,ft)}return{addedIndex:ve=Je,removedIndex:Ee=nt}}}}function Jn(ce){var ue=ce.draggables,de=ce.layout,ve=null;return function(Ee){var Ve=Ee.draggableInfo,at=Ee.dragResult,Je=at.addedIndex,nt=at.removedIndex,Be=at.elementSize,Ke=at.pos,Ye=at.shadowBeginEnd;if(Ke===null)return{shadowBeginEnd:ve=null};if(Je===null||!Ve.invalidateShadow&&Je===ve)return null;var ft=Je-1,ht=Number.MIN_SAFE_INTEGER,ot=0,Kt=0,pt=null,Ut=null;if(ft===nt&&ft--,-1<ft){var br=de.getSize(ue[ft]);if(Ut=de.getBeginEnd(ue[ft]),Be<br){var ho=(br-Be)/2;ht=Ut.end-ho}else ht=Ut.end;ot=Ut.end}else Ut={end:de.getBeginEndOfContainer().begin},ot=de.getBeginEndOfContainer().begin;var Rn=Number.MAX_SAFE_INTEGER,an=Je;if(an===nt&&an++,an<ue.length){var Dn=de.getSize(ue[an]);if(pt=de.getBeginEnd(ue[an]),Be<Dn){var po=(Dn-Be)/2;Rn=pt.begin+po}else Rn=pt.begin;Kt=pt.begin}else pt={begin:de.getContainerRectangles().rect.end},Kt=de.getContainerRectangles().rect.end-de.getContainerRectangles().rect.begin;var ss=Ut&&pt?de.getTopLeftOfElementBegin(Ut.end):null;return ve=Je,{shadowBeginEnd:{dropArea:{begin:ot,end:Kt},begin:ht,end:Rn,rect:ss,beginAdjustment:Ye?Ye.beginAdjustment:0}}}}function os(){var ce=null;return function(ue){var de=ue.dragResult,ve=de.pos,Ee=de.addedIndex,Ve=de.shadowBeginEnd;if(ve!==null){if(Ee!=null&&ce===null){if(ve<Ve.begin){var at=ve-Ve.begin-5;Ve.beginAdjustment=at}ce=Ee}}else ce=null}}function oi(ce){var ue=ce.getOptions,de=!1,ve=ue();return function(Ee){var Ve=!!Ee.dragResult.pos;Ve!==de&&((de=Ve)?ve.onDragEnter&&ve.onDragEnter():ve.onDragLeave&&ve.onDragLeave())}}function rr(ce){var ue=ce.getOptions,de=null,ve=ue();return function(Ee){var Ve=Ee.dragResult,at=Ve.addedIndex,Je=Ve.removedIndex,nt=Ee.draggableInfo,Be=nt.payload,Ke=nt.element;if(ve.onDropReady&&at!==null&&de!==at){var Ye=de=at;Je!==null&&Je<at&&Ye--,ve.onDropReady({addedIndex:Ye,removedIndex:Je,payload:Be,element:Ke?Ke.firstElementChild:void 0})}}}function Mn(ce){return ce.getOptions().behaviour==="drop-zone"?si(ce)(es,Ks,Gs,Js,ts,rs,Pn,oi,rr):si(ce)(es,Ks,Gs,Js,ts,Xs,In,ns,tl,Gn,Jn,is,os,oi,rr)}function si(ce){return function(){for(var ue=arguments.length,de=new Array(ue),ve=0;ve<ue;ve++)de[ve]=arguments[ve];var Ee=de.map(function(at){return at(ce)}),Ve=null;return function(at){return Ve=Ee.reduce(function(Je,nt){return Object.assign(Je,nt({draggableInfo:at,dragResult:Je}))},Ve||{addedIndex:null,removedIndex:null,elementSize:null,pos:null,shadowBeginEnd:null})}}}function Ln(ce){return function(ue){var de=Object.assign({},qe,ue),ve=null,Ee=null,Ve=function(ft,ht){var ot=Mo(ft),Kt=ht();return fr(ft,"".concat(O," ").concat(Kt.orientation)),{element:ft,draggables:ot,getOptions:ht,layout:Jr(ft,Kt.orientation,Kt.animationDuration)}}(ce,Ye),at=Mn(Ve),Je=Kn(Ve),nt=function(ft,ht){var ot=[];function Kt(){ot&&(ot.forEach(function(pt){return pt.removeEventListener("scroll",ht)}),window.removeEventListener("scroll",ht))}return function(){for(var pt=ft;pt;)(qt(pt,"x")||qt(pt,"y"))&&ot.push(pt),pt=pt.parentElement}(),{dispose:function(){Kt(),ot=null},start:function(){ot&&(ot.forEach(function(pt){return pt.addEventListener("scroll",ht)}),window.addEventListener("scroll",ht))},stop:Kt}}(ce,function(){Ve.layout.invalidateRects(),Be()});function Be(){Ee!==null&&(Ee.invalidateShadow=!0,ve=at(Ee),Ee.invalidateShadow=!1)}function Ke(ft,ht){for(var ot=Mo(ht),Kt=0;Kt<ot.length;Kt++)ft[Kt]=ot[Kt];for(var pt=0;pt<ft.length-ot.length;pt++)ft.pop()}function Ye(){return de}return{element:ce,draggables:Ve.draggables,isDragRelevant:function(ft){var ht=ft.element,ot=ft.getOptions;return function(Kt,pt){var Ut=ot();if(Ut.shouldAcceptDrop)return Ut.shouldAcceptDrop(Kt.getOptions(),pt);var br=Kt.getOptions();return Ut.behaviour!=="copy"&&Nr(ht,"."+x)!==Kt.element&&(Kt.element===ht||!(!br.groupName||br.groupName!==Ut.groupName))}}(Ve),layout:Ve.layout,dispose:function(ft){nt.dispose(),function(ht){Nt.wrapChild&&Array.prototype.forEach.call(ht.children,function(ot){ot.nodeType===Node.ELEMENT_NODE&&Ki(ot,x)&&(ht.insertBefore(ot.firstElementChild,ot),ht.removeChild(ot))})}(ft.element)},prepareDrag:function(ft,ht){var ot=ft.element,Kt=Ve.draggables;Ke(Kt,ot),ft.layout.invalidateRects(),Kt.forEach(function(pt){return $o(pt,!0,Ye().animationDuration)}),nt.start()},handleDrag:function(ft){return ve=at(Ee=ft)},handleDrop:function(ft){nt.stop(),ve&&ve.dropPlaceholderContainer&&ce.removeChild(ve.dropPlaceholderContainer),Ee=null,at=Mn(Ve),Je(ft,ve),ve=null},fireRemoveElement:function(){Je(Ee,Object.assign({},ve,{addedIndex:null}),!0),ve=null},getDragResult:function(){return ve},getTranslateCalculator:function(ft){return Gn(Ve)(ft)},onTranslated:function(){Be()},setDraggables:function(){Ke(Ve.draggables,ce)},getScrollMaxSpeed:function(){return Nt.maxScrollSpeed},shouldUseTransformForGhost:function(){return Nt.useTransformForGhost===!0},getOptions:Ye,setOptions:function(ft){var ht=!(1<arguments.length&&arguments[1]!==void 0)||arguments[1];de=ht===!1?Object.assign({},qe,ft):Object.assign({},qe,de,ft)}}}}var Nt=function(ce,ue){var de=Ln(ce)(ue);return ce[P]=de,Ri.register(de),{dispose:function(){Ri.unregister(de),de.dispose(de)},setOptions:function(ve,Ee){de.setOptions(ve,Ee)}}};function vn(ce,ue,de){Object.defineProperty(ce,de,{set:function(ve){ue[de]=ve},get:function(){return ue[de]}})}Nt.wrapChild=!0,Nt.cancelDrag=function(){Ri.cancelDrag()},Nt.isDragging=function(){return Ri.isDragging()};function Fi(ce,ue){return console.warn('default export is deprecated. please use named export "smoothDnD"'),Nt(ce,ue)}Fi.cancelDrag=function(){Nt.cancelDrag()},Fi.isDragging=function(){return Nt.isDragging()},vn(Fi,Nt,"useTransformForGhost"),vn(Fi,Nt,"maxScrollSpeed"),vn(Fi,Nt,"wrapChild"),vn(Fi,Nt,"dropHandler"),y.smoothDnD=Nt,y.constants=Le,y.dropHandlers=Cn,y.default=Fi,Object.defineProperty(y,"__esModule",{value:!0})})}(cc,cc.exports)),cc.exports}var pc=z1();function uy(u){return u?typeof u=="string"||typeof u=="object"&&(typeof u.value=="string"||typeof u.value=="function"||typeof u.value=="object"):!0}function hy(u,p){const y=u.$props.tag;if(y){if(typeof y=="string"){const b={value:y};return p&&(b.props={class:p}),b}else if(typeof y=="object"){const b={value:y.value||"div",props:y.props||{}};return p&&(b.props.class?Array.isArray(b.props.class)?b.props.class.push(p):b.props.class=[p,b.props.class]:b.props.class=p),b}}return{value:"div"}}pc.smoothDnD.dropHandler=pc.dropHandlers.reactDropHandler().handler;pc.smoothDnD.wrapChild=!1;const Am={"drag-start":"onDragStart","drag-end":"onDragEnd",drop:"onDrop","drag-enter":"onDragEnter","drag-leave":"onDragLeave","drop-ready":"onDropReady"};var B1=_.defineComponent({name:"Container",mounted(){const u=Object.assign({},this.$props);for(const p in Am)u[Am[p]]=y=>{this.$emit(p,y)};this.containerElement=this.$refs.container||this.$el,this.container=pc.smoothDnD(this.containerElement,u)},unmounted(){if(this.container)try{this.container.dispose()}catch{}},emits:["drop","drag-start","drag-end","drag-enter","drag-leave","drop-ready"],props:{orientation:{type:String,default:"vertical"},removeOnDropOut:{type:Boolean,default:!1},autoScrollEnabled:{type:Boolean,default:!0},animationDuration:{type:Number,default:250},behaviour:String,groupName:String,dragHandleSelector:String,nonDragAreaSelector:String,lockAxis:String,dragClass:String,dropClass:String,dragBeginDelay:Number,getChildPayload:Function,shouldAnimateDrop:Function,shouldAcceptDrop:Function,getGhostParent:Function,dropPlaceholder:[Object,Boolean],tag:{validator:uy,default:"div"}},render(){const u=hy(this);return _.h(u.value,Object.assign({},{ref:"container"},u.props),this.$slots.default())}}),V1=_.defineComponent({name:"Draggable",props:{tag:{validator:uy,default:"div"}},render:function(){const u=hy(this,pc.constants.wrapperClass);return _.h(u.value,Object.assign({},u.props),this.$slots.default())}});function O1(){const p=new URLSearchParams(window.location.search).get("layers");return p?p.split(","):[]}function F1(u){const p=new URLSearchParams(window.location.search);u.length>0?p.set("layers",u.join(",")):p.delete("layers");const y=`${window.location.pathname}?${p.toString()}`;window.history.replaceState({},"",y)}const N1={components:{VsLayersItem:c1,ZoomInIcon:p1,InfoIcon:y1,TableIcon:b1,TrashIcon:k1,DotsIcon:P1,ChevronRightIcon:R1,Container:B1,Draggable:V1},props:{center:{type:Array,default:()=>[26.2516,50.6199]},zoom:{type:Number,default:12},map:{type:Object,default:()=>null},history:{type:Boolean,default:!1}},emits:["content-resize"],data(){return{layers:null,rawCatalog:null,categories:null,selectedCategory:"",search:"",activeView:"catalog",selectedLayers:[]}},computed:{searchedLayers(){return this.layers.filter(({name:u})=>u==null?void 0:u.toLowerCase().match(this.search.toLowerCase()))}},async mounted(){if(await this.getLayers(),this.categories=this.layersCategories(),this.history){const u=O1();u.length>0&&this.layers&&(u.forEach(p=>{const y=this.layers.find(b=>String(b.id)===p);if(y&&!this.selectedLayers.find(b=>b.id===y.id)){const b={...y,visible:!0,opacity:100};this.selectedLayers.push(b),Us(this.map,b)}}),this.activeView="selected")}this._resizeObserver=new window.ResizeObserver(()=>{this.$emit("content-resize")}),this.$nextTick(()=>{const u=this.$el;u&&this._resizeObserver.observe(u)})},beforeUnmount(){this._resizeObserver&&this._resizeObserver.disconnect()},watch:{selectedLayers:{handler(u){this.history&&F1(u.map(p=>p.id))},deep:!0}},methods:{async getLayers(){try{const u=await Br.get("/api/map-catalog"),p=(u.data.services||[]).filter(y=>y.service_type!=="other");this.layers=[...p,...u.data.rasters||[]],this.rawCatalog={...u.data,services:p}}catch(u){console.error("Помилка завантаження шарів:",u)}},layersCategories(){return this.rawCatalog?{Сервіси:this.rawCatalog.services||[],Растри:this.rawCatalog.rasters||[]}:{}},selectCategory(u){this.selectedCategory=this.selectedCategory===u?"":u},formatNumber(u){return Intl.NumberFormat("uk",{notation:"compact"}).format(u)},onEnter(){this.layers.filter(({name:u})=>u==null?void 0:u.toLowerCase().match(this.search.toLowerCase()))},clearSearch(){this.search=""},addToSelected(u){if(!this.selectedLayers.find(p=>p.id===u.id)){const p={...u,visible:!0,opacity:100};this.selectedLayers.unshift(p),Us(this.map,p)}},deleteLayer(u){const p=this.selectedLayers.findIndex(y=>y.id===u.id);p!==-1&&this.selectedLayers.splice(p,1),Qa(this.map,u.id)},async toggleLayerVisibility(u){try{u.visible?(await Us(this.map,u),this.updateLayerOpacity(u)):await Qa(this.map,u.id)}catch(p){console.error("Error toggling layer visibility:",p),u.visible=!u.visible}},onLayerOpacityChange(u){this.updateLayerOpacity(u)},updateLayerOpacity(u){if(this.map){const p=this.map.getStyle().layers.filter(b=>b.id.includes(u.id)),y=u.opacity/100;p.forEach(b=>{b.type==="fill"?(u.originalFillOpacity||(u.originalFillOpacity=this.map.getPaintProperty(b.id,"fill-opacity")||1),this.map.setPaintProperty(b.id,"fill-opacity",u.originalFillOpacity*y)):b.type==="raster"?this.map.setPaintProperty(b.id,"raster-opacity",y):b.type==="line"?this.map.setPaintProperty(b.id,"line-opacity",y):b.type==="circle"?(this.map.setPaintProperty(b.id,"circle-opacity",y),this.map.setPaintProperty(b.id,"circle-stroke-opacity",y)):b.type==="symbol"&&(this.map.setPaintProperty(b.id,"icon-opacity",y),this.map.setPaintProperty(b.id,"text-opacity",y))})}},async handleRemoveFromCatalog(u){const p=this.selectedLayers.find(y=>y.id===u.id);p!=null&&p.visible&&await Qa(this.map,u.id),this.deleteLayer(u)},clearSelectedLayers(){this.selectedLayers.forEach(async u=>{u.visible&&await Qa(this.map,u.id)}),this.selectedLayers=[]},zoomToLayer(u){this.fitBoundsByLayer(u)},showLayerInfo(u){},showLayerTable(u){},fitBoundsByLayer(u){u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4&&this.map&&this.map.fitBounds([[u.bbox[0],u.bbox[1]],[u.bbox[2],u.bbox[3]]],{padding:50,duration:0})},popoverActions(u){return[{label:"Збільшити до шару",icon:"ZoomInIcon",class:u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4?"text-gray-700 hover:bg-gray-100":"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"zoomToLayer",disabled:!(u&&u.bbox&&Array.isArray(u.bbox)&&u.bbox.length===4)},{label:"Інформація про шар",icon:"InfoIcon",class:"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"showLayerInfo",disabled:!0},{label:"Таблиця шару",icon:"TableIcon",class:"text-gray-700 hover:bg-gray-100 opacity-50 cursor-not-allowed",handler:"showLayerTable",disabled:!0},{divider:!0},{label:"Видалити шар",icon:"TrashIcon",class:"text-red-600 hover:bg-red-50",handler:"deleteLayer",disabled:!1}]},onDrop(u){const{removedIndex:p,addedIndex:y,payload:b}=u;if(p===null&&y===null)return;const k=[...this.selectedLayers];let P=b;if(p!==null&&(P=k.splice(p,1)[0]),y!==null&&k.splice(y,0,P),this.selectedLayers=k,this.map&&this.selectedLayers.length>1)for(let x=this.selectedLayers.length-1;x>=0;x--){const o=this.selectedLayers[x];o.visible&&this.map.getStyle().layers.find(B=>B.id.includes(o.id))&&this.map.getStyle().layers.forEach(B=>{B.id.includes(o.id)&&this.map.moveLayer(B.id)})}}}},q1={class:"w-full max-w-md mx-auto p-4 bg-white border border-gray-200 rounded-lg shadow-sm"},U1={class:"flex items-center justify-between mb-4"},j1={class:"flex items-center gap-2"},H1={class:"text-lg font-semibold text-gray-800"},W1={key:0},Z1={key:1},K1={class:"flex mb-4 border-b border-gray-200"},G1={key:0},J1={class:"mb-4"},X1={class:"border border-gray-200 rounded-md p-3 mb-2 bg-white shadow-sm"},Q1={class:"flex items-center justify-between"},Y1={class:"flex items-center gap-2 cursor-move"},$1=["onUpdate:modelValue","onChange"],ew={class:"text-gray-800 font-medium"},tw={class:"flex items-center gap-2"},rw={class:"relative"},iw={class:"flex items-center gap-2"},nw=["onUpdate:modelValue","onInput"],ow={class:"text-xs text-gray-600 whitespace-nowrap"},sw=["onClick"],aw={class:"relative"},lw={class:"w-48"},cw={key:0,class:"my-1 border-gray-200"},uw=["disabled","onClick"],hw={class:"p-1 rounded-full hover:bg-gray-100 transition-colors","aria-label":"Layer actions"},dw={key:0,class:"text-center text-[14px] text-[#4b5563]"},pw={class:"relative mt-[10px]"},fw={class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0, -50%)"},width:"16",height:"17",viewBox:"0 0 16 17",fill:"none",xmlns:"http://www.w3.org/2000/svg"},mw={key:0,class:"vs-layers-catalog__list flex-1 scrollable-container overflow-auto mt-2 catalog-list"},gw={key:0,class:"text-center text-[14px] text-[#4b5563]"},yw={key:0,class:"text-center text-[14px] text-[#4b5563]"},_w=["onClick"],vw={class:"flex items-center gap-x-3"},xw=["title"],bw={class:"text-xs opacity-60 text-[#4b5563]"};function ww(u,p,y,b,k,P){var T;const x=_.resolveComponent("VsPopover"),o=_.resolveComponent("DotsIcon"),B=_.resolveComponent("Draggable"),D=_.resolveComponent("Container"),M=_.resolveComponent("searchIcon"),O=_.resolveComponent("closeIcon"),L=_.resolveComponent("VsLayersItem"),C=_.resolveComponent("chevronRightIcon");return _.openBlock(),_.createElementBlock("div",q1,[_.createElementVNode("div",U1,[_.createElementVNode("div",j1,[p[6]||(p[6]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-layers text-blue-600"},[_.createElementVNode("path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z"}),_.createElementVNode("path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65"}),_.createElementVNode("path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65"})],-1)),_.createElementVNode("h2",H1,[_.createTextVNode(_.toDisplayString(k.activeView==="catalog"?"Каталог":"Вибрані шари")+" ",1),k.activeView==="catalog"?(_.openBlock(),_.createElementBlock("span",W1,"("+_.toDisplayString(((T=k.layers)==null?void 0:T.length)||0)+")",1)):(_.openBlock(),_.createElementBlock("span",Z1,"("+_.toDisplayString(k.selectedLayers.length)+")",1))])]),_.createElementVNode("button",{class:"p-1 rounded-full hover:bg-gray-200 transition-colors","aria-label":"Reset layers",onClick:p[0]||(p[0]=(...U)=>P.clearSelectedLayers&&P.clearSelectedLayers(...U))},p[7]||(p[7]=[_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw text-gray-600" data-v-939430ce><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" data-v-939430ce></path><path d="M21 3v5h-5" data-v-939430ce></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" data-v-939430ce></path><path d="M8 16H3v5" data-v-939430ce></path></svg>',1)]))]),_.createElementVNode("div",K1,[_.createElementVNode("button",{class:_.normalizeClass(["px-4 py-2 text-sm font-medium",k.activeView==="catalog"?"text-blue-600 border-b-2 border-blue-600":"text-gray-600 hover:text-gray-800"]),onClick:p[1]||(p[1]=U=>k.activeView="catalog")}," Каталог ",2),_.createElementVNode("button",{class:_.normalizeClass(["px-4 py-2 text-sm font-medium",k.activeView==="selected"?"text-blue-600 border-b-2 border-blue-600":"text-gray-600 hover:text-gray-800"]),onClick:p[2]||(p[2]=U=>k.activeView="selected")}," Вибрані шари ",2)]),k.activeView==="selected"?(_.openBlock(),_.createElementBlock("div",G1,[_.createElementVNode("div",J1,[_.createElementVNode("button",{class:"flex items-center gap-2 text-blue-600 hover:text-blue-700 transition-colors px-3 py-2 rounded-md bg-blue-50 hover:bg-blue-100 w-full justify-center",onClick:p[3]||(p[3]=U=>k.activeView="catalog")},p[8]||(p[8]=[_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-plus"},[_.createElementVNode("path",{d:"M5 12h14"}),_.createElementVNode("path",{d:"M12 5v14"})],-1),_.createElementVNode("span",null,"Вибрати шар",-1)]))]),(_.openBlock(),_.createBlock(D,{onDrop:P.onDrop,lockAxis:"y","drag-class":"dragging",key:k.selectedLayers.length,class:"space-y-2 max-h-[400px] overflow-y-auto pr-1 [&::-webkit-scrollbar]:h-1.5 [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-gray-300 [&::-webkit-scrollbar-track]:bg-transparent"},{default:_.withCtx(()=>[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.selectedLayers,(U,G)=>(_.openBlock(),_.createBlock(B,{key:U.id||G,payload:U},{default:_.withCtx(()=>[_.createElementVNode("div",X1,[_.createElementVNode("div",Q1,[_.createElementVNode("div",Y1,[p[9]||(p[9]=_.createElementVNode("svg",{width:"16",height:"16",fill:"none",stroke:"#9ca3af","stroke-width":"2",viewBox:"0 0 24 24",class:"mr-1 shrink-0"},[_.createElementVNode("circle",{cx:"5",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"5",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"5",cy:"19",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"12",cy:"19",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"5",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"12",r:"1.5"}),_.createElementVNode("circle",{cx:"19",cy:"19",r:"1.5"})],-1)),_.withDirectives(_.createElementVNode("input",{type:"checkbox",class:"w-4 h-4 text-blue-600 rounded focus:ring-blue-500","onUpdate:modelValue":ie=>U.visible=ie,onChange:ie=>P.toggleLayerVisibility(U)},null,40,$1),[[_.vModelCheckbox,U.visible]]),_.createElementVNode("span",ew,_.toDisplayString(U.name||U.title||U.label),1)]),_.createElementVNode("div",tw,[_.createElementVNode("div",rw,[_.createVNode(x,{placement:"bottom"},{reference:_.withCtx(()=>[_.createElementVNode("div",{class:"text-sm text-gray-600 hover:text-gray-800 transition-colors px-2 py-1 rounded hover:bg-gray-100 cursor-pointer",onClick:ie=>P.updateLayerOpacity(U)},_.toDisplayString(U.opacity||100)+"% ",9,sw)]),default:_.withCtx(()=>[_.createElementVNode("div",iw,[p[10]||(p[10]=_.createElementVNode("label",{class:"text-gray-600 whitespace-nowrap"},"Прозорість:",-1)),_.withDirectives(_.createElementVNode("input",{type:"range",min:"0",max:"100",step:"1","onUpdate:modelValue":ie=>U.opacity=ie,onInput:ie=>P.onLayerOpacityChange(U),class:"h-2 w-full accent-blue-600 rounded-lg cursor-pointer bg-gray-200"},null,40,nw),[[_.vModelText,U.opacity]]),_.createElementVNode("span",ow,_.toDisplayString(Math.round(U.opacity))+"% ",1)])]),_:2},1024)]),_.createElementVNode("div",aw,[_.createVNode(x,{placement:"bottom"},{reference:_.withCtx(()=>[_.createElementVNode("div",hw,[_.createVNode(o)])]),default:_.withCtx(()=>[_.createElementVNode("div",lw,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(P.popoverActions(U),(ie,le)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:le},[ie.divider?(_.openBlock(),_.createElementBlock("hr",cw)):(_.openBlock(),_.createElementBlock("button",{key:1,class:_.normalizeClass("w-full p-2 text-left text-sm flex items-center gap-2 "+(ie.class||"")),disabled:ie.disabled,onClick:Ie=>!ie.disabled&&u.$options.methods[ie.handler].call(this,U)},[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(ie.icon),{class:"lucide"})),_.createTextVNode(" "+_.toDisplayString(ie.label),1)],10,uw))],64))),128))])]),_:2},1024)])])])])]),_:2},1032,["payload"]))),128)),k.selectedLayers.length===0?(_.openBlock(),_.createElementBlock("div",dw,p[11]||(p[11]=[_.createElementVNode("p",null,'Щоб додати шар, натисніть на кнопку "Вибрати шар".',-1)]))):_.createCommentVNode("",!0)]),_:1},8,["onDrop"]))])):(_.openBlock(),_.createElementBlock(_.Fragment,{key:1},[_.createElementVNode("div",pw,[(_.openBlock(),_.createElementBlock("svg",fw,p[12]||(p[12]=[_.createElementVNode("path",{d:"M7.33333 13.1667C10.2789 13.1667 12.6667 10.7789 12.6667 7.83333C12.6667 4.88781 10.2789 2.5 7.33333 2.5C4.38781 2.5 2 4.88781 2 7.83333C2 10.7789 4.38781 13.1667 7.33333 13.1667Z",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),_.createElementVNode("path",{d:"M13.9995 14.5L11.1328 11.6333",stroke:"#6B7280","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)]))),_.withDirectives(_.createElementVNode("input",{title:"value",placeholder:"Введіть назву шару...","onUpdate:modelValue":p[4]||(p[4]=U=>k.search=U),type:"text",class:"py-[7px] ps-8 pe-8 block w-full bg-gray-100 border-transparent rounded-lg text-sm focus:bg-white focus:border-blue-500 focus:ring-blue-500 disabled:opacity-50 disabled:pointer-events-none dark:bg-neutral-700 dark:border-transparent dark:text-neutral-400 dark:placeholder:text-neutral-400 dark:focus:bg-neutral-800 dark:focus:ring-neutral-600",onKeyup:p[5]||(p[5]=_.withKeys((...U)=>P.onEnter&&P.onEnter(...U),["enter"]))},null,544),[[_.vModelText,k.search]]),_.createVNode(M,{class:"absolute top-1/2 left-[8px] w-[16px] h-[16px]",style:{transform:"translate(0, -50%)"}}),k.search?(_.openBlock(),_.createBlock(O,{key:0,class:"absolute top-1/2 right-[10px] w-[16px] h-[16px] cursor-pointer",style:{transform:"translate(0, -50%)"},onClick:P.clearSearch},null,8,["onClick"])):_.createCommentVNode("",!0)]),k.categories?(_.openBlock(),_.createElementBlock("div",mw,[k.search?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(P.searchedLayers,(U,G)=>(_.openBlock(),_.createBlock(L,{key:G,layer:U,map:y.map,selectedLayers:k.selectedLayers,onSelect:P.addToSelected,onRemove:P.handleRemoveFromCatalog},null,8,["layer","map","selectedLayers","onSelect","onRemove"]))),128)),P.searchedLayers.length===0?(_.openBlock(),_.createElementBlock("div",gw," Нічого не знайдено ")):_.createCommentVNode("",!0)],64)):(_.openBlock(),_.createElementBlock(_.Fragment,{key:1},[!k.categories||Object.keys(k.categories).length===0?(_.openBlock(),_.createElementBlock("div",yw," Каталог порожній ")):(_.openBlock(!0),_.createElementBlock(_.Fragment,{key:1},_.renderList(Object.keys(k.categories),U=>(_.openBlock(),_.createElementBlock("div",{key:U},[_.createElementVNode("div",{class:"hover:bg-gray-100 focus:bg-gray-100 px-2.5 cursor-pointer p-[8px] rounded-lg flex justify-between items-center",onClick:G=>P.selectCategory(U)},[_.createElementVNode("div",vw,[_.createVNode(C,{class:_.normalizeClass({"rotate-up":U===k.selectedCategory,"rotate-down":U!==k.selectedCategory})},null,8,["class"]),_.createElementVNode("div",{class:"max-w-[260px] text-[14px] text-[#4b5563]",title:U},_.toDisplayString(U),9,xw)]),_.createElementVNode("div",bw,_.toDisplayString(P.formatNumber(k.categories[U].length)),1)],8,_w),_.withDirectives(_.createElementVNode("div",null,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.categories[U],(G,ie)=>(_.openBlock(),_.createBlock(L,{key:ie,layer:G,map:y.map,selectedLayers:k.selectedLayers,onSelect:P.addToSelected,onRemove:P.handleRemoveFromCatalog},null,8,["layer","map","selectedLayers","onSelect","onRemove"]))),128))],512),[[_.vShow,U===k.selectedCategory]])]))),128))],64))])):_.createCommentVNode("",!0)],64))])}const Sw=pr(N1,[["render",ww],["__scopeId","data-v-939430ce"]]);var ku={exports:{}},Cu={exports:{}},jn={},en={},km;function nn(){if(km)return en;km=1,en.__esModule=!0,en.extend=k,en.indexOf=B,en.escapeExpression=D,en.isEmpty=M,en.createFrame=O,en.blockParams=L,en.appendContextPath=C;var u={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},p=/[&<>"'`=]/g,y=/[&<>"'`=]/;function b(T){return u[T]}function k(T){for(var U=1;U<arguments.length;U++)for(var G in arguments[U])Object.prototype.hasOwnProperty.call(arguments[U],G)&&(T[G]=arguments[U][G]);return T}var P=Object.prototype.toString;en.toString=P;var x=function(U){return typeof U=="function"};x(/x/)&&(en.isFunction=x=function(T){return typeof T=="function"&&P.call(T)==="[object Function]"}),en.isFunction=x;var o=Array.isArray||function(T){return T&&typeof T=="object"?P.call(T)==="[object Array]":!1};en.isArray=o;function B(T,U){for(var G=0,ie=T.length;G<ie;G++)if(T[G]===U)return G;return-1}function D(T){if(typeof T!="string"){if(T&&T.toHTML)return T.toHTML();if(T==null)return"";if(!T)return T+"";T=""+T}return y.test(T)?T.replace(p,b):T}function M(T){return!T&&T!==0?!0:!!(o(T)&&T.length===0)}function O(T){var U=k({},T);return U._parent=T,U}function L(T,U){return T.path=U,T}function C(T,U){return(T?T+".":"")+U}return en}var Tu={exports:{}},Cm;function Wn(){return Cm||(Cm=1,function(u,p){p.__esModule=!0;var y=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function b(k,P){var x=P&&P.loc,o=void 0,B=void 0,D=void 0,M=void 0;x&&(o=x.start.line,B=x.end.line,D=x.start.column,M=x.end.column,k+=" - "+o+":"+D);for(var O=Error.prototype.constructor.call(this,k),L=0;L<y.length;L++)this[y[L]]=O[y[L]];Error.captureStackTrace&&Error.captureStackTrace(this,b);try{x&&(this.lineNumber=o,this.endLineNumber=B,Object.defineProperty?(Object.defineProperty(this,"column",{value:D,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:M,enumerable:!0})):(this.column=D,this.endColumn=M))}catch{}}b.prototype=new Error,p.default=b,u.exports=p.default}(Tu,Tu.exports)),Tu.exports}var sc={},Eu={exports:{}},Tm;function Aw(){return Tm||(Tm=1,function(u,p){p.__esModule=!0;var y=nn();p.default=function(b){b.registerHelper("blockHelperMissing",function(k,P){var x=P.inverse,o=P.fn;if(k===!0)return o(this);if(k===!1||k==null)return x(this);if(y.isArray(k))return k.length>0?(P.ids&&(P.ids=[P.name]),b.helpers.each(k,P)):x(this);if(P.data&&P.ids){var B=y.createFrame(P.data);B.contextPath=y.appendContextPath(P.data.contextPath,P.name),P={data:B}}return o(k,P)})},u.exports=p.default}(Eu,Eu.exports)),Eu.exports}var Pu={exports:{}},Em;function kw(){return Em||(Em=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("each",function(o,B){if(!B)throw new P.default("Must pass iterator to #each");var D=B.fn,M=B.inverse,O=0,L="",C=void 0,T=void 0;B.data&&B.ids&&(T=b.appendContextPath(B.data.contextPath,B.ids[0])+"."),b.isFunction(o)&&(o=o.call(this)),B.data&&(C=b.createFrame(B.data));function U(ee,me,Le){C&&(C.key=ee,C.index=me,C.first=me===0,C.last=!!Le,T&&(C.contextPath=T+ee)),L=L+D(o[ee],{data:C,blockParams:b.blockParams([o[ee],ee],[T+ee,null])})}if(o&&typeof o=="object")if(b.isArray(o))for(var G=o.length;O<G;O++)O in o&&U(O,O,O===o.length-1);else if(typeof Symbol=="function"&&o[Symbol.iterator]){for(var ie=[],le=o[Symbol.iterator](),Ie=le.next();!Ie.done;Ie=le.next())ie.push(Ie.value);o=ie;for(var G=o.length;O<G;O++)U(O,O,O===o.length-1)}else(function(){var ee=void 0;Object.keys(o).forEach(function(me){ee!==void 0&&U(ee,O-1),ee=me,O++}),ee!==void 0&&U(ee,O-1,!0)})();return O===0&&(L=M(this)),L})},u.exports=p.default}(Pu,Pu.exports)),Pu.exports}var Iu={exports:{}},Pm;function Cw(){return Pm||(Pm=1,function(u,p){p.__esModule=!0;function y(P){return P&&P.__esModule?P:{default:P}}var b=Wn(),k=y(b);p.default=function(P){P.registerHelper("helperMissing",function(){if(arguments.length!==1)throw new k.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},u.exports=p.default}(Iu,Iu.exports)),Iu.exports}var Mu={exports:{}},Im;function Tw(){return Im||(Im=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("if",function(o,B){if(arguments.length!=2)throw new P.default("#if requires exactly one argument");return b.isFunction(o)&&(o=o.call(this)),!B.hash.includeZero&&!o||b.isEmpty(o)?B.inverse(this):B.fn(this)}),x.registerHelper("unless",function(o,B){if(arguments.length!=2)throw new P.default("#unless requires exactly one argument");return x.helpers.if.call(this,o,{fn:B.inverse,inverse:B.fn,hash:B.hash})})},u.exports=p.default}(Mu,Mu.exports)),Mu.exports}var Lu={exports:{}},Mm;function Ew(){return Mm||(Mm=1,function(u,p){p.__esModule=!0,p.default=function(y){y.registerHelper("log",function(){for(var b=[void 0],k=arguments[arguments.length-1],P=0;P<arguments.length-1;P++)b.push(arguments[P]);var x=1;k.hash.level!=null?x=k.hash.level:k.data&&k.data.level!=null&&(x=k.data.level),b[0]=x,y.log.apply(y,b)})},u.exports=p.default}(Lu,Lu.exports)),Lu.exports}var Ru={exports:{}},Lm;function Pw(){return Lm||(Lm=1,function(u,p){p.__esModule=!0,p.default=function(y){y.registerHelper("lookup",function(b,k,P){return b&&P.lookupProperty(b,k)})},u.exports=p.default}(Ru,Ru.exports)),Ru.exports}var Du={exports:{}},Rm;function Iw(){return Rm||(Rm=1,function(u,p){p.__esModule=!0;function y(x){return x&&x.__esModule?x:{default:x}}var b=nn(),k=Wn(),P=y(k);p.default=function(x){x.registerHelper("with",function(o,B){if(arguments.length!=2)throw new P.default("#with requires exactly one argument");b.isFunction(o)&&(o=o.call(this));var D=B.fn;if(b.isEmpty(o))return B.inverse(this);var M=B.data;return B.data&&B.ids&&(M=b.createFrame(B.data),M.contextPath=b.appendContextPath(B.data.contextPath,B.ids[0])),D(o,{data:M,blockParams:b.blockParams([o],[M&&M.contextPath])})})},u.exports=p.default}(Du,Du.exports)),Du.exports}var Dm;function dy(){if(Dm)return sc;Dm=1,sc.__esModule=!0,sc.registerDefaultHelpers=U,sc.moveHelperToHooks=G;function u(ie){return ie&&ie.__esModule?ie:{default:ie}}var p=Aw(),y=u(p),b=kw(),k=u(b),P=Cw(),x=u(P),o=Tw(),B=u(o),D=Ew(),M=u(D),O=Pw(),L=u(O),C=Iw(),T=u(C);function U(ie){y.default(ie),k.default(ie),x.default(ie),B.default(ie),M.default(ie),L.default(ie),T.default(ie)}function G(ie,le,Ie){ie.helpers[le]&&(ie.hooks[le]=ie.helpers[le],Ie||delete ie.helpers[le])}return sc}var zu={},Bu={exports:{}},zm;function Mw(){return zm||(zm=1,function(u,p){p.__esModule=!0;var y=nn();p.default=function(b){b.registerDecorator("inline",function(k,P,x,o){var B=k;return P.partials||(P.partials={},B=function(D,M){var O=x.partials;x.partials=y.extend({},O,P.partials);var L=k(D,M);return x.partials=O,L}),P.partials[o.args[0]]=o.fn,B})},u.exports=p.default}(Bu,Bu.exports)),Bu.exports}var Bm;function Lw(){if(Bm)return zu;Bm=1,zu.__esModule=!0,zu.registerDefaultDecorators=b;function u(k){return k&&k.__esModule?k:{default:k}}var p=Mw(),y=u(p);function b(k){y.default(k)}return zu}var Vu={exports:{}},Vm;function py(){return Vm||(Vm=1,function(u,p){p.__esModule=!0;var y=nn(),b={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(P){if(typeof P=="string"){var x=y.indexOf(b.methodMap,P.toLowerCase());x>=0?P=x:P=parseInt(P,10)}return P},log:function(P){if(P=b.lookupLevel(P),typeof console<"u"&&b.lookupLevel(b.level)<=P){var x=b.methodMap[P];console[x]||(x="log");for(var o=arguments.length,B=Array(o>1?o-1:0),D=1;D<o;D++)B[D-1]=arguments[D];console[x].apply(console,B)}}};p.default=b,u.exports=p.default}(Vu,Vu.exports)),Vu.exports}var Ga={},Ou={},Om;function Rw(){if(Om)return Ou;Om=1,Ou.__esModule=!0,Ou.createNewLookupObject=p;var u=nn();function p(){for(var y=arguments.length,b=Array(y),k=0;k<y;k++)b[k]=arguments[k];return u.extend.apply(void 0,[Object.create(null)].concat(b))}return Ou}var Fm;function fy(){if(Fm)return Ga;Fm=1,Ga.__esModule=!0,Ga.createProtoAccessControl=P,Ga.resultIsAllowed=x,Ga.resetLoggedProperties=D;function u(M){return M&&M.__esModule?M:{default:M}}var p=Rw(),y=py(),b=u(y),k=Object.create(null);function P(M){var O=Object.create(null);O.constructor=!1,O.__defineGetter__=!1,O.__defineSetter__=!1,O.__lookupGetter__=!1;var L=Object.create(null);return L.__proto__=!1,{properties:{whitelist:p.createNewLookupObject(L,M.allowedProtoProperties),defaultValue:M.allowProtoPropertiesByDefault},methods:{whitelist:p.createNewLookupObject(O,M.allowedProtoMethods),defaultValue:M.allowProtoMethodsByDefault}}}function x(M,O,L){return o(typeof M=="function"?O.methods:O.properties,L)}function o(M,O){return M.whitelist[O]!==void 0?M.whitelist[O]===!0:M.defaultValue!==void 0?M.defaultValue:(B(O),!1)}function B(M){k[M]!==!0&&(k[M]=!0,b.default.log("error",'Handlebars: Access has been denied to resolve the property "'+M+`" because it is not an "own property" of its parent.
802
802
  You can add a runtime option to disable the check or this warning:
803
803
  See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function D(){Object.keys(k).forEach(function(M){delete k[M]})}return Ga}var Nm;function mp(){if(Nm)return jn;Nm=1,jn.__esModule=!0,jn.HandlebarsEnvironment=T;function u(G){return G&&G.__esModule?G:{default:G}}var p=nn(),y=Wn(),b=u(y),k=dy(),P=Lw(),x=py(),o=u(x),B=fy(),D="4.7.8";jn.VERSION=D;var M=8;jn.COMPILER_REVISION=M;var O=7;jn.LAST_COMPATIBLE_COMPILER_REVISION=O;var L={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};jn.REVISION_CHANGES=L;var C="[object Object]";function T(G,ie,le){this.helpers=G||{},this.partials=ie||{},this.decorators=le||{},k.registerDefaultHelpers(this),P.registerDefaultDecorators(this)}T.prototype={constructor:T,logger:o.default,log:o.default.log,registerHelper:function(ie,le){if(p.toString.call(ie)===C){if(le)throw new b.default("Arg not supported with multiple helpers");p.extend(this.helpers,ie)}else this.helpers[ie]=le},unregisterHelper:function(ie){delete this.helpers[ie]},registerPartial:function(ie,le){if(p.toString.call(ie)===C)p.extend(this.partials,ie);else{if(typeof le>"u")throw new b.default('Attempting to register a partial called "'+ie+'" as undefined');this.partials[ie]=le}},unregisterPartial:function(ie){delete this.partials[ie]},registerDecorator:function(ie,le){if(p.toString.call(ie)===C){if(le)throw new b.default("Arg not supported with multiple decorators");p.extend(this.decorators,ie)}else this.decorators[ie]=le},unregisterDecorator:function(ie){delete this.decorators[ie]},resetLoggedPropertyAccesses:function(){B.resetLoggedProperties()}};var U=o.default.log;return jn.log=U,jn.createFrame=p.createFrame,jn.logger=o.default,jn}var Fu={exports:{}},qm;function Dw(){return qm||(qm=1,function(u,p){p.__esModule=!0;function y(b){this.string=b}y.prototype.toString=y.prototype.toHTML=function(){return""+this.string},p.default=y,u.exports=p.default}(Fu,Fu.exports)),Fu.exports}var To={},Nu={},Um;function zw(){if(Um)return Nu;Um=1,Nu.__esModule=!0,Nu.wrapHelper=u;function u(p,y){if(typeof p!="function")return p;var b=function(){var P=arguments[arguments.length-1];return arguments[arguments.length-1]=y(P),p.apply(this,arguments)};return b}return Nu}var jm;function Bw(){if(jm)return To;jm=1,To.__esModule=!0,To.checkRevision=M,To.template=O,To.wrapProgram=L,To.resolvePartial=C,To.invokePartial=T,To.noop=U;function u(ee){return ee&&ee.__esModule?ee:{default:ee}}function p(ee){if(ee&&ee.__esModule)return ee;var me={};if(ee!=null)for(var Le in ee)Object.prototype.hasOwnProperty.call(ee,Le)&&(me[Le]=ee[Le]);return me.default=ee,me}var y=nn(),b=p(y),k=Wn(),P=u(k),x=mp(),o=dy(),B=zw(),D=fy();function M(ee){var me=ee&&ee[0]||1,Le=x.COMPILER_REVISION;if(!(me>=x.LAST_COMPATIBLE_COMPILER_REVISION&&me<=x.COMPILER_REVISION))if(me<x.LAST_COMPATIBLE_COMPILER_REVISION){var qe=x.REVISION_CHANGES[Le],rt=x.REVISION_CHANGES[me];throw new P.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+qe+") or downgrade your runtime to an older version ("+rt+").")}else throw new P.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+ee[1]+").")}function O(ee,me){if(!me)throw new P.default("No environment passed to template");if(!ee||!ee.main)throw new P.default("Unknown template object: "+typeof ee);ee.main.decorator=ee.main_d,me.VM.checkRevision(ee.compiler);var Le=ee.compiler&&ee.compiler[0]===7;function qe(yt,ct,_t){_t.hash&&(ct=b.extend({},ct,_t.hash),_t.ids&&(_t.ids[0]=!0)),yt=me.VM.resolvePartial.call(this,yt,ct,_t);var qt=b.extend({},_t,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),Qt=me.VM.invokePartial.call(this,yt,ct,qt);if(Qt==null&&me.compile&&(_t.partials[_t.name]=me.compile(yt,ee.compilerOptions,me),Qt=_t.partials[_t.name](ct,qt)),Qt!=null){if(_t.indent){for(var xr=Qt.split(`
804
804
  `),gr=0,ti=xr.length;gr<ti&&!(!xr[gr]&&gr+1===ti);gr++)xr[gr]=_t.indent+xr[gr];Qt=xr.join(`