vendor: 9,449 bytes, lines 1-4
1function L_(ar,ku){for(var Zr=0;Zr<ku.length;Zr++){const $i=ku[Zr];if(typeof $i!="string"&&!Array.isArray($i)){for(const qr in $i)if(qr!=="default"&&!(qr in ar)){const Da=Object.getOwnPropertyDescriptor($i,qr);Da&&Object.defineProperty(ar,qr,Da.get?Da:{enumerable:!0,get:()=>$i[qr]})}}}return Object.freeze(Object.defineProperty(ar,Symbol.toStringTag,{value:"Module"}))}var B_=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function O_(ar){return ar&&ar.__esModule&&Object.prototype.hasOwnProperty.call(ar,"default")?ar.default:ar}var Vf={exports:{}};/** 2 * MapLibre GL JS 3 * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v5.24.0/LICENSE.txt 4 */(function(ar,ku){(function(Zr,$i){ar.exports=$i()})(B_,function(){var Zr={},$i={};function qr(R,d,Te){if($i[R]=Te,R==="index"){var Tr="var sharedModule = {}; ("+$i.shared+")(sharedModule); ("+$i.worker+")(sharedModule);",wi={};return $i.shared(wi),$i.index(Zr,wi),typeof window<"u"&&Zr.setWorkerUrl(window.URL.createObjectURL(new Blob([Tr],{type:"text/javascript"}))),Zr}}qr("shared",["exports"],function(R){function d(r,e,i,s){return new(i||(i=Promise))(function(o,l){function u(m){try{g(s.next(m))}catch(v){l(v)}}function p(m){try{g(s.throw(m))}catch(v){l(v)}}function g(m){var v;m.done?o(m.value):(v=m.value,v instanceof i?v:new i(function(_){_(v)})).then(u,p)}g((s=s.apply(r,e||[])).next())})}function Te(r,e){this.x=r,this.y=e}function Tr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var wi,Wr;typeof SuppressedError=="function"&&SuppressedError,Te.prototype={clone(){return new Te(this.x,this.y)},add(r){return this.clone()._add(r)},sub(r){return this.clone()._sub(r)},multByPoint(r){return this.clone()._multByPoint(r)},divByPoint(r){return this.clone()._divByPoint(r)},mult(r){return this.clone()._mult(r)},div(r){return this.clone()._div(r)},rotate(r){return this.clone()._rotate(r)},rotateAround(r,e){return this.clone()._rotateAround(r,e)},matMult(r){return this.clone()._matMult(r)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(r){return this.x===r.x&&this.y===r.y},dist(r){return Math.sqrt(this.distSqr(r))},distSqr(r){const e=r.x-this.x,i=r.y-this.y;return e*e+i*i},angle(){return Math.atan2(this.y,this.x)},angleTo(r){return Math.atan2(this.y-r.y,this.x-r.x)},angleWith(r){return this.angleWithSep(r.x,r.y)},angleWithSep(r,e){return Math.atan2(this.x*e-this.y*r,this.x*r+this.y*e)},_matMult(r){const e=r[2]*this.x+r[3]*this.y;return this.x=r[0]*this.x+r[1]*this.y,this.y=e,this},_add(r){return this.x+=r.x,this.y+=r.y,this},_sub(r){return this.x-=r.x,this.y-=r.y,this},_mult(r){return this.x*=r,this.y*=r,this},_div(r){return this.x/=r,this.y/=r,this},_multByPoint(r){return this.x*=r.x,this.y*=r.y,this},_divByPoint(r){return this.x/=r.x,this.y/=r.y,this},_unit(){return this._div(this.mag()),this},_perp(){const r=this.y;return this.y=this.x,this.x=-r,this},_rotate(r){const e=Math.cos(r),i=Math.sin(r),s=i*this.x+e*this.y;return this.x=e*this.x-i*this.y,this.y=s,this},_rotateAround(r,e){const i=Math.cos(r),s=Math.sin(r),o=e.y+s*(this.x-e.x)+i*(this.y-e.y);return this.x=e.x+i*(this.x-e.x)-s*(this.y-e.y),this.y=o,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:Te},Te.convert=function(r){if(r instanceof Te)return r;if(Array.isArray(r))return new Te(+r[0],+r[1]);if(r.x!==void 0&&r.y!==void 0)return new Te(+r.x,+r.y);throw new Error("Expected [x, y] or {x, y} point format")};var An=function(){if(Wr)return wi;function r(e,i,s,o){this.cx=3*e,this.bx=3*(s-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(o-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=i,this.p2x=s,this.p2y=o}return Wr=1,wi=r,r.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,i){if(i===void 0&&(i=1e-6),e<0)return 0;if(e>1)return 1;for(var s=e,o=0;o<8;o++){var l=this.sampleCurveX(s)-e;if(Math.abs(l)<i)return s;var u=this.sampleCurveDerivativeX(s);if(Math.abs(u)<1e-6)break;s-=l/u}var p=0,g=1;for(s=e,o=0;o<20&&(l=this.sampleCurveX(s),!(Math.abs(l-e)<i));o++)e>l?p=s:g=s,s=.5*(g-p)+p;return s},solve:function(e,i){return this.sampleCurveY(this.solveCurveX(e,i))}},wi}(),Gt=Tr(An);let Sr,He;function Hr(){return Sr!=null||(Sr=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),Sr}function Ti(){if(He==null&&(He=!1,Hr())){const e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let s=0;s<5*5;s++){const o=4*s;e.fillStyle=`rgb(${o},${o+1},${o+2})`,e.fillRect(s%5,Math.floor(s/5),1,1)}const i=e.getImageData(0,0,5,5).data;for(let s=0;s<5*5*4;s++)if(s%4!=3&&i[s]!==s){He=!0;break}}}return He||!1}var pe=1e-6,zt=typeof Float32Array<"u"?Float32Array:Array;function Xr(){var r=new zt(9);return zt!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[5]=0,r[6]=0,r[7]=0),r[0]=1,r[4]=1,r[8]=1,r}function Dn(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}function ms(){var r=new zt(3);return zt!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r}function gs(r){var e=r[0],i=r[1],s=r[2];return Math.sqrt(e*e+i*i+s*s)}function qe(r,e,i){var s=new zt(3);return s[0]=r,s[1]=e,s[2]=i,s}function W(r,e,i){return r[0]=e[0]+i[0],r[1]=e[1]+i[1],r[2]=e[2]+i[2],r}function K(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r}function ee(r,e,i){var s=e[0],o=e[1],l=e[2],u=i[0],p=i[1],g=i[2];return r[0]=o*g-l*p,r[1]=l*u-s*g,r[2]=s*p-o*u,r}var ge,Me=gs;function $e(r,e,i){var s=e[0],o=e[1],l=e[2],u=e[3];return r[0]=i[0]*s+i[4]*o+i[8]*l+i[12]*u,r[1]=i[1]*s+i[5]*o+i[9]*l+i[13]*u,r[2]=i[2]*s+i[6]*o+i[10]*l+i[14]*u,r[3]=i[3]*s+i[7]*o+i[11]*l+i[15]*u,r}function ze(){var r=new zt(4);return zt!=Float32Array&&(r[0]=0,r[1]=0,r[2]=0),r[3]=1,r}function Ge(r,e,i,s){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"zyx",l=Math.PI/360;e*=l,s*=l,i*=l;var u=Math.sin(e),p=Math.cos(e),g=Math.sin(i),m=Math.cos(i),v=Math.sin(s),_=Math.cos(s);switch(o){case"xyz":r[0]=u*m*_+p*g*v,r[1]=p*g*_-u*m*v,r[2]=p*m*v+u*g*_,r[3]=p*m*_-u*g*v;break;case"xzy":r[0]=u*m*_-p*g*v,r[1]=p*g*_-u*m*v,r[2]=p*m*v+u*g*_,r[3]=p*m*_+u*g*v;break;case"yxz":r[0]=u*m*_+p*g*v,r[1]=p*g*_-u*m*v,r[2]=p*m*v-u*g*_,r[3]=p*m*_+u*g*v;break;case"yzx":r[0]=u*m*_+p*g*v,r[1]=p*g*_+u*m*v,r[2]=p*m*v-u*g*_,r[3]=p*m*_-u*g*v;break;case"zxy":r[0]=u*m*_-p*g*v,r[1]=p*g*_+u*m*v,r[2]=p*m*v+u*g*_,r[3]=p*m*_-u*g*v;break;case"zyx":r[0]=u*m*_-p*g*v,r[1]=p*g*_+u*m*v,r[2]=p*m*v-u*g*_,r[3]=p*m*_+u*g*v;break;default:throw new Error("Unknown angle order "+o)}return r}function Le(){var r=new zt(2);return zt!=Float32Array&&(r[0]=0,r[1]=0),r}function Ye(r,e){var i=new zt(2);return i[0]=r,i[1]=e,i}ms(),ge=new zt(4),zt!=Float32Array&&(ge[0]=0,ge[1]=0,ge[2]=0,ge[3]=0),ms(),qe(1,0,0),qe(0,1,0),ze(),ze(),Xr(),Le();const De=8192;function _t(r,e,i){return e*(De/(r.tileSize*Math.pow(2,i-r.tileID.overscaledZ)))}function yt(r){return r instanceof Error?r:new Error(typeof r=="string"?r:String(r))}function Zi(r,e){return(r%e+e)%e}function Ri(r,e,i){return r*(1-i)+e*i}function Pr(r){if(r<=0)return 0;if(r>=1)return 1;const e=r*r,i=e*r;return 4*(r<.5?i:3*(r-e)+i-.75)}function Yr(r,e,i,s){const o=new Gt(r,e,i,s);return l=>o.solve(l)}const _s=Yr(.25,.1,.25,1);function si(r,e,i){return Math.min(i,Math.max(e,r))}function zn(r,e,i){const s=i-e,o=((r-e)%s+s)%s+e;return o===e?i:o}function Fi(r,...e){for(const i of e)for(const s in i)r[s]=i[s];return r}let ys=1;function Ir(r,e,i){const s={};for(const o in r)s[o]=e.call(this,r[o],o,r);return s}function Kr(r,e,i){const s={};for(const o in r)e.call(this,r[o],o,r)&&(s[o]=r[o]);return s}function ke(r){return Array.isArray(r)?r.map(ke):typeof r=="object"&&r?Ir(r,ke):r}const Ft={};function $t(r){Ft[r]||(typeof console<"u",Ft[r]=!0)}function Si(r,e,i){return(i.y-r.y)*(e.x-r.x)>(e.y-r.y)*(i.x-r.x)}function Zt(r){return typeof WorkerGlobalScope<"u"&&r!==void 0&&r instanceof WorkerGlobalScope}let mi=null;function Jr(r){return typeof ImageBitmap<"u"&&r instanceof ImageBitmap}const za="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function ka(r,e,i,s,o){return d(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");const l=new VideoFrame(r,{timestamp:0});try{const u=l?.format;if(!u||!u.startsWith("BGR")&&!u.startsWith("RGB"))throw new Error(`Unrecognized format ${u}`);const p=u.startsWith("BGR"),g=new Uint8ClampedArray(s*o*4);if(yield l.copyTo(g,function(m,v,_,T,b){const I=4*Math.max(-v,0),M=(Math.max(0,_)-_)*T*4+I,A=4*T,D=Math.max(0,v),F=Math.max(0,_);return{rect:{x:D,y:F,width:Math.min(m.width,v+T)-D,height:Math.min(m.height,_+b)-F},layout:[{offset:M,stride:A}]}}(r,e,i,s,o)),p)for(let m=0;m<g.length;m+=4){const v=g[m];g[m]=g[m+2],g[m+2]=v}return g}finally{l.close()}})}let Mr,kn;function uo(r,e,i,s){return r.addEventListener(e,i,s),{unsubscribe:()=>{r.removeEventListener(e,i,s)}}}function Er(r){return r*Math.PI/180}function Qr(r){return r/Math.PI*180}const Ra={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0}
4,Fa={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},ho="AbortError";class vs extends Error{constructor(e=ho){super(e instanceof Error?e.message:e),this.name=ho,e instanceof Error&&e.stack&&(this.stack=e.stack)}}function rc(r){return r instanceof Error&&r.name===ho}function po(r){if(r.aborted)throw new vs(r.reason)}const Cr={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function lr(r){return Cr.REGISTERED_PROTOCOLS[r.substring(0,r.indexOf("://"))]}const Li="global-dispatcher";class Rn extends Error{constructor(e,i,s,o){super(`AJAXError: ${i} (${e}): ${s}`),this.status=e,this.statusText=i,this.url=s,this.body=o}}const La=()=>{var r;return Zt(self)?(r=self.worker)===null||r===void 0?void 0:r.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href},en=function(r,e){return d(this,void 0,void 0,function*(){var i,s;if(r.url.includes("://")&&!/^https?:|^file:/.test(r.url)){const o=lr(r.url);if(o){const l=yield o(r,e);return l.data||r.type!=="arrayBuffer"?l:Fi(l,{data:new ArrayBuffer(0)})}if(Zt(self)&&(!((i=self.worker)===null||i===void 0)&&i.actor))return self.worker.actor.sendAsync({type:"GR",data:r,targetMapId:Li},e)}if(!(o=>{var l;return o.startsWith("file:")||((l=La())===null||l===void 0?void 0:l.startsWith("file:"))&&!/^\w+:/.test(o)})(r.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return function(o,l){return d(this,void 0,void 0,function*(){const u=new Request(o.url,{method:o.method||"GET",body:o.body,credentials:o.credentials,headers:o.headers,cache:o.cache,referrer:La(),referrerPolicy:o.referrerPolicy,signal:l.signal});let p,g;o.type!=="json"||u.headers.has("Accept")||u.headers.set("Accept","application/json");try{p=yield fetch(u)}catch(v){throw rc(v)?v:new Rn(0,yt(v).message,o.url,new Blob)}if(!p.ok){const v=yield p.blob();throw new Rn(p.status,p.statusText,o.url,v)}g=o.type==="arrayBuffer"||o.type==="image"?p.arrayBuffer():o.type==="json"?p.json():p.text();const m=yield g;return po(l.signal),{data:m,cacheControl:p.headers.get("Cache-Control"),expires:p.headers.get("Expires"),etag:p.headers.get("ETag")}})}(r,e);if(Zt(self)&&(!((s=self.worker)===null||s===void 0)&&s.actor))return self.worker.actor.sendAsync({type:"GR",data:r,mustQueue:!0,targetMapId:Li},e)}return function(o,l){return new Promise((u,p)=>{var g;const m=new XMLHttpRequest;m.open(o.method||"GET",o.url,!0),o.type!=="arrayBuffer"&&o.type!=="image"||(m.responseType="arraybuffer");for(const v in o.headers)m.setRequestHeader(v,o.headers[v]);o.type==="json"&&(m.responseType="text",!((g=o.headers)===null||g===void 0)&&g.Accept||m.setRequestHeader("Accept","application/json")),m.withCredentials=o.credentials==="include",m.onerror=()=>{p(new Error(m.statusText))},m.onload=()=>{if(!l.signal.aborted)if((m.status>=200&&m.status<300||m.status===0)&&m.response!==null){let v=m.response;if(o.type==="json")try{v=JSON.parse(m.response)}catch(_){return void p(_)}u({data:v,cacheControl:m.getResponseHeader("Cache-Control"),expires:m.getResponseHeader("Expires"),etag:m.getResponseHeader("ETag")})}else{const v=new Blob([m.response],{type:m.getResponseHeader("Content-Type")});p(new Rn(m.status,m.statusText,o.url,v))}},l.signal.addEventListener("abort",()=>{m.abort(),p(new vs(l.signal.reason))}),m.send(o.body)})}(r,e)})};function qi(r){if(!r||r.indexOf("://")<=0||r.startsWith("data:image/")||r.startsWith("blob:"))return!0;const e=new URL(r),i=window.location;return e.protocol===i.protocol&&e.host===i.host}function Fn(r,e,i){var s;!((s=i[r])===null||s===void 0)&&s.includes(e)||(i[r]||(i[r]=[]),i[r].push(e))}function tn(r,e,i){if(i?.[r]){const s=i[r].indexOf(e);s!==-1&&i[r].splice(s,1)}}class xs{constructor(e,i={}){Fi(this,i),this.type=e}}class Ln extends xs{constructor(e,i={}){super("error",Fi({error:e},i))}}class fo{on(e,i){return this._listeners||(this._listeners={}),Fn(e,i,this._listeners),{unsubscribe:()=>{this.off(e,i)}}}off(e,i){return tn(e,i,this._listeners),tn(e,i,this._oneTimeListeners),this}
4once(e,i){return i?(this._oneTimeListeners||(this._oneTimeListeners={}),Fn(e,i,this._oneTimeListeners),this):new Promise(s=>this.once(e,s))}fire(e,i){var s,o;typeof e=="string"&&(e=new xs(e,i||{}));const l=e.type;if(this.listens(l)){e.target=this;const u=!((s=this._listeners)===null||s===void 0)&&s[l]?this._listeners[l].slice():[];for(const m of u)m.call(this,e);const p=!((o=this._oneTimeListeners)===null||o===void 0)&&o[l]?this._oneTimeListeners[l].slice():[];for(const m of p)tn(l,m,this._oneTimeListeners),m.call(this,e);const g=this._eventedParent;g&&(Fi(e,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),g.fire(e))}else e instanceof Ln;return this}listens(e){var i,s,o,l,u;return((s=(i=this._listeners)===null||i===void 0?void 0:i[e])===null||s===void 0?void 0:s.length)>0||((l=(o=this._oneTimeListeners)===null||o===void 0?void 0:o[e])===null||l===void 0?void 0:l.length)>0||((u=this._eventedParent)===null||u===void 0?void 0:u.listens(e))}setEventedParent(e,i){return this._eventedParent=e,this._eventedParentData=i,this}}var ce={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number",length:2},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},"font-faces":{type:"fontFaces"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},encoding:{type:"enum",values:{mvt:{},mlt:{}},default:"mvt"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"filter"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-join":{type:"enum",values:{bevel:{},round:{}
vendor: 15,845 bytes, line 4
4,miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},filter:{type:"boolean",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"expression_name",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven
vendor: 12,722 bytes, line 4
4"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"},resampling:{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}},interpolation:{type:"array",value:"interpolation_name",minimum:1},interpolation_name:{type:"enum",values:{linear:{syntax:{overloads:[{parameters:[],"output-type":"interpolation"}],parameters:[]}},exponential:{syntax:{overloads:[{parameters:["base"],"output-type":"interpolation"}],parameters:[{name:"base",type:"number literal"}]}},"cubic-bezier":{syntax:{overloads:[{parameters:["x1","y1","x2","y2"],"output-type":"interpolation"}],parameters:[{name:"x1",type:"number literal"},{name:"y1",type:"number literal"},{name:"x2",type:"number literal"},{name:"y2",type:"number literal"}]}}}}}
4;const Ba=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Oa(r,e){const i={};for(const s in r)s!=="ref"&&(i[s]=r[s]);
vendor: 58,172 bytes, line 4
4return Ba.forEach(s=>{s in e&&(i[s]=e[s])}),i}function et(r,e){if(Array.isArray(r)){if(!Array.isArray(e)||r.length!==e.length)return!1;for(let i=0;i<r.length;i++)if(!et(r[i],e[i]))return!1;return!0}if(typeof r=="object"&&r!==null&&e!==null){if(typeof e!="object"||Object.keys(r).length!==Object.keys(e).length)return!1;for(const i in r)if(!et(r[i],e[i]))return!1;return!0}return r===e}function gi(r,e){r.push(e)}function rn(r,e,i){gi(i,{command:"addSource",args:[r,e[r]]})}function nc(r,e,i){gi(e,{command:"removeSource",args:[r]}),i[r]=!0}function sc(r,e,i,s){nc(r,i,s),rn(r,e,i)}function Ru(r,e,i){let s;for(s in r[i])if(Object.prototype.hasOwnProperty.call(r[i],s)&&s!=="data"&&!et(r[i][s],e[i][s]))return!1;for(s in e[i])if(Object.prototype.hasOwnProperty.call(e[i],s)&&s!=="data"&&!et(r[i][s],e[i][s]))return!1;return!0}function mo(r,e,i,s,o,l){r=r||{},e=e||{};for(const u in r)Object.prototype.hasOwnProperty.call(r,u)&&(et(r[u],e[u])||i.push({command:l,args:[s,u,e[u],o]}));for(const u in e)Object.prototype.hasOwnProperty.call(e,u)&&!Object.prototype.hasOwnProperty.call(r,u)&&(et(r[u],e[u])||i.push({command:l,args:[s,u,e[u],o]}))}function Va(r){return r.id}function oc(r,e){return r[e.id]=e,r}class _e{constructor(e,i,s,o){this.message=(e?`${e}: `:"")+s,o&&(this.identifier=o),i!=null&&i.__line__&&(this.line=i.__line__)}}function nn(r,...e){for(const i of e)for(const s in i)r[s]=i[s];return r}class qt extends Error{constructor(e,i){super(i),this.message=i,this.key=e}}class ja{constructor(e,i=[]){this.parent=e,this.bindings={};for(const[s,o]of i)this.bindings[s]=o}concat(e){return new ja(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const Ar={kind:"null"},be={kind:"number"},Fe={kind:"string"},je={kind:"boolean"},Pi={kind:"color"},go={kind:"projectionDefinition"},cr={kind:"object"},Be={kind:"value"},bs={kind:"collator"},ws={kind:"formatted"},_o={kind:"padding"},Bn={kind:"colorArray"},Ts={kind:"numberArray"},On={kind:"resolvedImage"},Ss={kind:"variableAnchorOffsetCollection"};function Wt(r,e){return{kind:"array",itemType:r,N:e}}function tt(r){if(r.kind==="array"){const e=tt(r.itemType);return typeof r.N=="number"?`array<${e}, ${r.N}>`:r.itemType.kind==="value"?"array":`array<${e}>`}return r.kind}const yo=[Ar,be,Fe,je,Pi,go,ws,cr,Wt(Be),_o,Ts,Bn,On,Ss];function Vn(r,e){if(e.kind==="error")return null;if(r.kind==="array"){if(e.kind==="array"&&(e.N===0&&e.itemType.kind==="value"||!Vn(r.itemType,e.itemType))&&(typeof r.N!="number"||r.N===e.N))return null}else{if(r.kind===e.kind)return null;if(r.kind==="value"){for(const i of yo)if(!Vn(i,e))return null}}return`Expected ${tt(r)} but found ${tt(e)} instead.`}function Ps(r,e){return e.some(i=>i.kind===r.kind)}function sn(r,e){return e.some(i=>i==="null"?r===null:i==="array"?Array.isArray(r):i==="object"?r&&!Array.isArray(r)&&typeof r=="object":i===typeof r)}function Wi(r,e){return r.kind==="array"&&e.kind==="array"?r.itemType.kind===e.itemType.kind&&typeof r.N=="number":r.kind===e.kind}const ac=.96422,on=.82521,vo=4/29,vt=6/29,lc=3*vt*vt,cc=vt*vt*vt,Is=Math.PI/180,uc=180/Math.PI;function hc(r){return(r%=360)<0&&(r+=360),r}function dc([r,e,i,s]){let o,l;const u=Na((.2225045*(r=xo(r))+.7168786*(e=xo(e))+.0606169*(i=xo(i)))/1);r===e&&e===i?o=l=u:(o=Na((.4360747*r+.3850649*e+.1430804*i)/ac),l=Na((.0139322*r+.0971045*e+.7141733*i)/on));const p=116*u-16;return[p<0?0:p,500*(o-u),200*(u-l),s]}function xo(r){return r<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function Na(r){return r>cc?Math.pow(r,1/3):r/lc+vo}function Ua([r,e,i,s]){let o=(r+16)/116,l=isNaN(e)?o:o+e/500,u=isNaN(i)?o:o-i/200;return o=1*$a(o),l=ac*$a(l),u=on*$a(u),[Ga(3.1338561*l-1.6168667*o-.4906146*u),Ga(-.9787684*l+1.9161415*o+.033454*u),Ga(.0719453*l-.2289914*o+1.4052427*u),s]}function Ga(r){return(r=r<=.00304?12.92*r:1.055*Math.pow(r,1/2.4)-.055)<0?0:r>1?1:r}function $a(r){return r>vt?r*r*r:lc*(r-vo)}const Fu=Object.hasOwn||function(r,e){return Object.prototype.hasOwnProperty.call(r,e)};function Ms(r,e){return Fu(r,e)?r[e]:void 0}function bo(r){return parseInt(r.padEnd(2,r),16)/255}function pc(r,e){return jn(e?r/100:r,0,1)}function jn(r,e,i){return Math.min(Math.max(e,r),i)}function Za(r){return!r.some(Number.isNaN)}const Es={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function Dr(r,e,i){return r+i*(e-r)}function Nn(r,e,i){return r.map((s,o)=>Dr(s,e[o],i))}class Ve{constructor(e,i,s,o=1,l=!0){this.r=e,this.g=i,this.b=s,this.a=o,l||(this.r*=o,this.g*=o,this.b*=o,o||this.overwriteGetter("rgb",[e,i,s,o]))}static parse(e){if(e instanceof Ve)return e;if(typeof e!="string")return;const i=function(s){if((s=s.toLowerCase().trim())==="transparent")return[0,0,0,0];const o=Ms(Es,s);if(o){const[u,p,g]=o;return[u/255,p/255,g/255,1]}if(s.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(s)){const u=s.length<6?1:2;let p=1;return[bo(s.slice(p,p+=u)),bo(s.slice(p,p+=u)),bo(s.slice(p,p+=u)),bo(s.slice(p,p+u)||"ff")]}if(s.startsWith("rgb")){const u=s.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(u){const[p,g,m,v,_,T,b,I,M,A,D,F]=u,k=[v||" ",b||" ",A].join("");if(k===" "||k===" /"||k===",,"||k===",,,"){const L=[m,T,M].join(""),O=L==="%%%"?100:L===""?255:0;if(O){const j=[jn(+g/O,0,1),jn(+_/O,0,1),jn(+I/O,0,1),D?pc(+D,F):1];if(Za(j))return j}}return}}const l=s.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(l){const[u,p,g,m,v,_,T,b,I]=l,M=[g||" ",v||" ",T].join("");if(M===" "||M===" /"||M===",,"||M===",,,"){const A=[+p,jn(+m,0,100),jn(+_,0,100),b?pc(+b,I):1];if(Za(A))return function([D,F,k,L]){function O(j){const Y=(j+D/30)%12,J=F*Math.min(k,1-k);return k-J*Math.max(-1,Math.min(Y-3,9-Y,1))}return D=hc(D),F/=100,k/=100,[O(0),O(8),O(4),L]}(A)}}}(e);return i?new Ve(...i,!1):void 0}get rgb(){const{r:e,g:i,b:s,a:o}=this,l=o||1/0;return this.overwriteGetter("rgb",[e/l,i/l,s/l,o])}get hcl(){return this.overwriteGetter("hcl",function(e){const[i,s,o,l]=dc(e),u=Math.sqrt(s*s+o*o);return[Math.round(1e4*u)?hc(Math.atan2(o,s)*uc):NaN,u,i,l]}(this.rgb))}get lab(){return this.overwriteGetter("lab",dc(this.rgb))}overwriteGetter(e,i){return Object.defineProperty(this,e,{value:i}),i}toString(){const[e,i,s,o]=this.rgb;return`rgba(${[e,i,s].map(l=>Math.round(255*l)).join(",")},${o})`}static interpolate(e,i,s,o="rgb"){switch(o){case"rgb":{const[l,u,p,g]=Nn(e.rgb,i.rgb,s);return new Ve(l,u,p,g,!1)}case"hcl":{const[l,u,p,g]=e.hcl,[m,v,_,T]=i.hcl;let b,I;if(isNaN(l)||isNaN(m))isNaN(l)?isNaN(m)?b=NaN:(b=m,p!==1&&p!==0||(I=v)):(b=l,_!==1&&_!==0||(I=u));else{let k=m-l;m>l&&k>180?k-=360:m<l&&l-m>180&&(k+=360),b=l+s*k}const[M,A,D,F]=function([k,L,O,j]){return k=isNaN(k)?0:k*Is,Ua([O,Math.cos(k)*L,Math.sin(k)*L,j])}([b,I??Dr(u,v,s),Dr(p,_,s),Dr(g,T,s)]);return new Ve(M,A,D,F,!1)}case"lab":{const[l,u,p,g]=Ua(Nn(e.lab,i.lab,s));return new Ve(l,u,p,g,!1)}}}}Ve.black=new Ve(0,0,0,1),Ve.white=new Ve(1,1,1,1),Ve.transparent=new Ve(0,0,0,0),Ve.red=new Ve(1,0,0,1);class qa{constructor(e,i,s){this.sensitivity=e?i?"variant":"case":i?"accent":"base",this.locale=s,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,i){return this.collator.compare(e,i)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const Lu=["bottom","center","top"];class Wa{constructor(e,i,s,o,l,u){this.text=e,this.image=i,this.scale=s,this.fontStack=o,this.textColor=l,this.verticalAlign=u}}class _i{constructor(e){this.sections=e}static fromString(e){return new _i([new Wa(e,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(e){return e instanceof _i?e:_i.fromString(e)}toString(){return this.sections.length===0?"":this.sections.map(e=>e.text).join("")}}class Kt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Kt)return e;if(typeof e=="number")return new Kt([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(const i of e)if(typeof i!="number")return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new Kt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,i,s){return new Kt(Nn(e.values,i.values,s))}}class dt{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof dt)return e;if(typeof e=="number")return new dt([e]);if(Array.isArray(e)){for(const i of e)if(typeof i!="number")return;return new dt(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,i,s){return new dt(Nn(e.values,i.values,s))}}class Re{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Re)return e;if(typeof e=="string"){const s=Ve.parse(e);return s?new Re([s]):void 0}if(!Array.isArray(e))return;const i=[];for(const s of e){if(typeof s!="string")return;const o=Ve.parse(s);if(!o)return;i.push(o)}return new Re(i)}toString(){return JSON.stringify(this.values)}static interpolate(e,i,s,o="rgb"){const l=[];if(e.values.length!=i.values.length)throw new Error(`colorArray: Arrays have mismatched length (${e.values.length} vs. ${i.values.length}), cannot interpolate.`);for(let u=0;u<e.values.length;u++)l.push(Ve.interpolate(e.values[u],i.values[u],s,o));return new Re(l)}}class st extends Error{constructor(e){super(e),this.name="RuntimeError"}toJSON(){return this.message}}const zr=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class oi{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof oi)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let i=0;i<e.length;i+=2){const s=e[i],o=e[i+1];if(typeof s!="string"||!zr.has(s)||!Array.isArray(o)||o.length!==2||typeof o[0]!="number"||typeof o[1]!="number")return}return new oi(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,i,s){const o=e.values,l=i.values;if(o.length!==l.length)throw new st(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${i.toString()}`);const u=[];for(let p=0;p<o.length;p+=2){if(o[p]!==l[p])throw new st(`Cannot interpolate values containing mismatched anchors. from[${p}]: ${o[p]}, to[${p}]: ${l[p]}`);u.push(o[p]);const[g,m]=o[p+1],[v,_]=l[p+1];u.push([Dr(g,v,s),Dr(m,_,s)])}return new oi(u)}}class Ii{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new Ii({name:e,available:!1}):null}}class ai{constructor(e,i,s){this.from=e,this.to=i,this.transition=s}static interpolate(e,i,s){return new ai(e,i,s)}static parse(e){return e instanceof ai?e:Array.isArray(e)&&e.length===3&&typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="number"?new ai(e[0],e[1],e[2]):typeof e=="object"&&typeof e.from=="string"&&typeof e.to=="string"&&typeof e.transition=="number"?new ai(e.from,e.to,e.transition):typeof e=="string"?new ai(e,e,1):void 0}}function Un(r,e,i,s){return typeof r=="number"&&r>=0&&r<=255&&typeof e=="number"&&e>=0&&e<=255&&typeof i=="number"&&i>=0&&i<=255?s===void 0||typeof s=="number"&&s>=0&&s<=1?null:`Invalid rgba value [${[r,e,i,s].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof s=="number"?[r,e,i,s]:[r,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function kr(r){if(r===null||typeof r=="string"||typeof r=="boolean"||typeof r=="number"||r instanceof ai||r instanceof Ve||r instanceof qa||r instanceof _i||r instanceof Kt||r instanceof dt||r instanceof Re||r instanceof oi||r instanceof Ii)return!0;if(Array.isArray(r)){for(const e of r)if(!kr(e))return!1;return!0}if(typeof r=="object"){for(const e in r)if(!kr(r[e]))return!1;return!0}return!1}function Tt(r){if(r===null)return Ar;if(typeof r=="string")return Fe;if(typeof r=="boolean")return je;if(typeof r=="number")return be;if(r instanceof Ve)return Pi;if(r instanceof ai)return go;if(r instanceof qa)return bs;if(r instanceof _i)return ws;if(r instanceof Kt)return _o;if(r instanceof dt)return Ts;if(r instanceof Re)return Bn;if(r instanceof oi)return Ss;if(r instanceof Ii)return On;if(Array.isArray(r)){const e=r.length;let i;for(const s of r){const o=Tt(s);if(i){if(i===o)continue;i=Be;break}i=o}return Wt(i||Be,e)}return cr}function an(r){const e=typeof r;return r===null?"":e==="string"||e==="number"||e==="boolean"?String(r):r instanceof Ve||r instanceof ai||r instanceof _i||r instanceof Kt||r instanceof dt||r instanceof Re||r instanceof oi||r instanceof Ii?r.toString():JSON.stringify(r)}class er{constructor(e,i){this.type=e,this.value=i}static parse(e,i){if(e.length!==2)return i.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!kr(e[1]))return i.error("invalid value");const s=e[1];let o=Tt(s);const l=i.expectedType;return o.kind!=="array"||o.N!==0||!l||l.kind!=="array"||typeof l.N=="number"&&l.N!==0||(o=l),new er(o,s)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const wo={string:Fe,number:be,boolean:je,object:cr};class yi{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");let s,o=1;const l=e[0];if(l==="array"){let p,g;if(e.length>2){const m=e[1];if(typeof m!="string"||!(m in wo)||m==="object")return i.error('The item type argument of "array" must be one of string, number, boolean',1);p=wo[m],o++}else p=Be;if(e.length>3){if(e[2]!==null&&(typeof e[2]!="number"||e[2]<0||e[2]!==Math.floor(e[2])))return i.error('The length argument to "array" must be a positive integer literal',2);g=e[2],o++}s=Wt(p,g)}else{if(!wo[l])throw new Error(`Types doesn't contain name = ${l}`);s=wo[l]}const u=[];for(;o<e.length;o++){const p=i.parse(e[o],o,Be);if(!p)return null;u.push(p)}return new yi(s,u)}evaluate(e){for(let i=0;i<this.args.length;i++){const s=this.args[i].evaluate(e);if(!Vn(this.type,Tt(s)))return s;if(i===this.args.length-1)throw new st(`Expected value to be of type ${tt(this.type)}, but found ${tt(Tt(s))} instead.`)}throw new Error}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}const ln={"to-boolean":je,"to-color":Pi,"to-number":be,"to-string":Fe};class ur{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[0];if(!ln[s])throw new Error(`Can't parse ${s} as it is not part of the known types`);if((s==="to-boolean"||s==="to-string")&&e.length!==2)return i.error("Expected one argument.");const o=ln[s],l=[];for(let u=1;u<e.length;u++){const p=i.parse(e[u],u,Be);if(!p)return null;l.push(p)}return new ur(o,l)}evaluate(e){switch(this.type.kind){case"boolean":return!!this.args[0].evaluate(e);case"color":{let i,s;for(const o of this.args){if(i=o.evaluate(e),s=null,i instanceof Ve)return i;if(typeof i=="string"){const l=e.parseColor(i);if(l)return l}else if(Array.isArray(i)&&(s=i.length<3||i.length>4?`Invalid rgba value ${JSON.stringify(i)}: expected an array containing either three or four numeric values.`:Un(i[0],i[1],i[2],i[3]),!s))return new Ve(i[0]/255,i[1]/255,i[2]/255,i[3])}throw new st(s||`Could not parse color from value '${typeof i=="string"?i:JSON.stringify(i)}'`)}case"padding":{let i;for(const s of this.args){i=s.evaluate(e);const o=Kt.parse(i);if(o)return o}throw new st(`Could not parse padding from value '${typeof i=="string"?i:JSON.stringify(i)}'`)}case"numberArray":{let i;for(const s of this.args){i=s.evaluate(e);const o=dt.parse(i);if(o)return o}throw new st(`Could not parse numberArray from value '${typeof i=="string"?i:JSON.stringify(i)}'`)}case"colorArray":{let i;for(const s of this.args){i=s.evaluate(e);const o=Re.parse(i);if(o)return o}throw new st(`Could not parse colorArray from value '${typeof i=="string"?i:JSON.stringify(i)}'`)}case"variableAnchorOffsetCollection":{let i;for(const s of this.args){i=s.evaluate(e);const o=oi.parse(i);if(o)return o}throw new st(`Could not parse variableAnchorOffsetCollection from value '${typeof i=="string"?i:JSON.stringify(i)}'`)}case"number":{let i=null;for(const s of this.args){if(i=s.evaluate(e),i===null)return 0;const o=Number(i);if(!isNaN(o))return o}throw new st(`Could not convert ${JSON.stringify(i)} to number.`)}case"formatted":return _i.fromString(an(this.args[0].evaluate(e)));case"resolvedImage":return Ii.fromString(an(this.args[0].evaluate(e)));case"projectionDefinition":return this.args[0].evaluate(e);default:return an(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}const fc=["Unknown","Point","LineString","Polygon"];class Ha{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?fc[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let i=this._parseColorCache.get(e);return i||(i=Ve.parse(e),this._parseColorCache.set(e,i)),i}}class cn{constructor(e,i,s=[],o,l=new ja,u=[]){this.registry=e,this.path=s,this.key=s.map(p=>`[${p}]`).join(""),this.scope=l,this.errors=u,this.expectedType=o,this._isConstant=i}parse(e,i,s,o,l={}){return i?this.concat(i,s,o)._parse(e,l):this._parse(e,l)}_parse(e,i){function s(o,l,u){return u==="assert"?new yi(l,[o]):u==="coerce"?new ur(l,[o]):o}if(e!==null&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"||(e=["literal",e]),Array.isArray(e)){if(e.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const o=e[0];if(typeof o!="string")return this.error(`Expression name must be a string, but found ${typeof o} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const l=this.registry[o];if(l){let u=l.parse(e,this);if(!u)return null;if(this.expectedType){const p=this.expectedType,g=u.type;if(p.kind!=="string"&&p.kind!=="number"&&p.kind!=="boolean"&&p.kind!=="object"&&p.kind!=="array"||g.kind!=="value"){if(p.kind==="projectionDefinition"&&["string","array"].includes(g.kind)||["color","formatted","resolvedImage"].includes(p.kind)&&["value","string"].includes(g.kind)||["padding","numberArray"].includes(p.kind)&&["value","number","array"].includes(g.kind)||p.kind==="colorArray"&&["value","string","array"].includes(g.kind)||p.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(g.kind))u=s(u,p,i.typeAnnotation||"coerce");else if(this.checkSubtype(p,g))return null}else u=s(u,p,i.typeAnnotation||"assert")}if(!(u instanceof er)&&u.type.kind!=="resolvedImage"&&this._isConstant(u)){const p=new Ha;try{u=new er(u.type,u.evaluate(p))}catch(g){return this.error(g.message),null}}return u}return this.error(`Unknown expression "${o}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(e===void 0?"'undefined' value invalid. Use null instead.":typeof e=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,i,s){const o=typeof e=="number"?this.path.concat(e):this.path,l=s?this.scope.concat(s):this.scope;return new cn(this.registry,this._isConstant,o,i||null,l,this.errors)}error(e,...i){const s=`${this.key}${i.map(o=>`[${o}]`).join("")}`;this.errors.push(new qt(s,e))}checkSubtype(e,i){const s=Vn(e,i);return s&&this.error(s),s}}class ot{constructor(e,i){this.type=i.type,this.bindings=[].concat(e),this.result=i}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const i of this.bindings)e(i[1]);e(this.result)}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const s=[];for(let l=1;l<e.length-1;l+=2){const u=e[l];if(typeof u!="string")return i.error(`Expected string, but found ${typeof u} instead.`,l);if(/[^a-zA-Z0-9_]/.test(u))return i.error("Variable names must contain only alphanumeric characters or '_'.",l);const p=i.parse(e[l+1],l+1);if(!p)return null;s.push([u,p])}const o=i.parse(e[e.length-1],e.length-1,i.expectedType,s);return o?new ot(s,o):null}outputDefined(){return this.result.outputDefined()}}class Gn{constructor(e,i){this.type=i.type,this.name=e,this.boundExpression=i}static parse(e,i){if(e.length!==2||typeof e[1]!="string")return i.error("'var' expression requires exactly one string literal argument.");const s=e[1];return i.scope.has(s)?new Gn(s,i.scope.get(s)):i.error(`Unknown variable "${s}". Make sure "${s}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}}class Ze{constructor(e,i,s){this.type=e,this.index=i,this.input=s}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,be),o=i.parse(e[2],2,Wt(i.expectedType||Be));return s&&o?new Ze(o.type.itemType,s,o):null}evaluate(e){const i=this.index.evaluate(e),s=this.input.evaluate(e);if(i<0)throw new st(`Array index out of bounds: ${i} < 0.`);if(i>=s.length)throw new st(`Array index out of bounds: ${i} > ${s.length-1}.`);if(i!==Math.floor(i))throw new st(`Array index must be an integer, but found ${i} instead.`);return s[i]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class Oe{constructor(e,i){this.type=je,this.needle=e,this.haystack=i}static parse(e,i){if(e.length!==3)return i.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Be),o=i.parse(e[2],2,Be);return s&&o?Ps(s.type,[je,Fe,be,Ar,Be])?new Oe(s,o):i.error(`Expected first argument to be of type boolean, string, number or null, but found ${tt(s.type)} instead`):null}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(!s)return!1;if(!sn(i,["boolean","string","number","null"]))throw new st(`Expected first argument to be of type boolean, string, number or null, but found ${tt(Tt(i))} instead.`);if(!sn(s,["string","array"]))throw new st(`Expected second argument to be of type array or string, but found ${tt(Tt(s))} instead.`);return s.indexOf(i)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class $n{constructor(e,i,s){this.type=be,this.needle=e,this.haystack=i,this.fromIndex=s}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 2 or 3 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Be),o=i.parse(e[2],2,Be);if(!s||!o)return null;if(!Ps(s.type,[je,Fe,be,Ar,Be]))return i.error(`Expected first argument to be of type boolean, string, number or null, but found ${tt(s.type)} instead`);if(e.length===4){const l=i.parse(e[3],3,be);return l?new $n(s,o,l):null}return new $n(s,o)}evaluate(e){const i=this.needle.evaluate(e),s=this.haystack.evaluate(e);if(!sn(i,["boolean","string","number","null"]))throw new st(`Expected first argument to be of type boolean, string, number or null, but found ${tt(Tt(i))} instead.`);let o;if(this.fromIndex&&(o=this.fromIndex.evaluate(e)),sn(s,["string"])){const l=s.indexOf(i,o);return l===-1?-1:[...s.slice(0,l)].length}if(sn(s,["array"]))return s.indexOf(i,o);throw new st(`Expected second argument to be of type array or string, but found ${tt(Tt(s))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class We{constructor(e,i,s,o,l,u){this.inputType=e,this.type=i,this.input=s,this.cases=o,this.outputs=l,this.otherwise=u}static parse(e,i){if(e.length<5)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return i.error("Expected an even number of arguments.");let s,o;i.expectedType&&i.expectedType.kind!=="value"&&(o=i.expectedType);const l={},u=[];for(let m=2;m<e.length-1;m+=2){let v=e[m];const _=e[m+1];Array.isArray(v)||(v=[v]);const T=i.concat(m);if(v.length===0)return T.error("Expected at least one branch label.");for(const I of v){if(typeof I!="number"&&typeof I!="string")return T.error("Branch labels must be numbers or strings.");if(typeof I=="number"&&Math.abs(I)>Number.MAX_SAFE_INTEGER)return T.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof I=="number"&&Math.floor(I)!==I)return T.error("Numeric branch labels must be integer values.");if(s){if(T.checkSubtype(s,Tt(I)))return null}else s=Tt(I);if(l[String(I)]!==void 0)return T.error("Branch labels must be unique.");l[String(I)]=u.length}const b=i.parse(_,m,o);if(!b)return null;o=o||b.type,u.push(b)}const p=i.parse(e[1],1,Be);if(!p)return null;const g=i.parse(e[e.length-1],e.length-1,o);return g?p.type.kind!=="value"&&i.concat(1).checkSubtype(s,p.type)?null:new We(s,o,p,l,u,g):null}evaluate(e){const i=this.input.evaluate(e);return(Tt(i)===this.inputType&&this.outputs[this.cases[i]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}}class Hi{constructor(e,i,s){this.type=e,this.branches=i,this.otherwise=s}static parse(e,i){if(e.length<4)return i.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return i.error("Expected an odd number of arguments.");let s;i.expectedType&&i.expectedType.kind!=="value"&&(s=i.expectedType);const o=[];for(let u=1;u<e.length-1;u+=2){const p=i.parse(e[u],u,je);if(!p)return null;const g=i.parse(e[u+1],u+1,s);if(!g)return null;o.push([p,g]),s=s||g.type}const l=i.parse(e[e.length-1],e.length-1,s);if(!l)return null;if(!s)throw new Error("Can't infer output type");return new Hi(s,o,l)}evaluate(e){for(const[i,s]of this.branches)if(i.evaluate(e))return s.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(const[i,s]of this.branches)e(i),e(s);e(this.otherwise)}outputDefined(){return this.branches.every(([e,i])=>i.outputDefined())&&this.otherwise.outputDefined()}}class Zn{constructor(e,i,s,o){this.type=e,this.input=i,this.beginIndex=s,this.endIndex=o}static parse(e,i){if(e.length<=2||e.length>=5)return i.error(`Expected 2 or 3 arguments, but found ${e.length-1} instead.`);const s=i.parse(e[1],1,Be),o=i.parse(e[2],2,be);if(!s||!o)return null;if(!Ps(s.type,[Wt(Be),Fe,Be]))return i.error(`Expected first argument to be of type array or string, but found ${tt(s.type)} instead`);if(e.length===4){const l=i.parse(e[3],3,be);return l?new Zn(s.type,s,o,l):null}return new Zn(s.type,s,o)}evaluate(e){const i=this.input.evaluate(e),s=this.beginIndex.evaluate(e);let o;if(this.endIndex&&(o=this.endIndex.evaluate(e)),sn(i,["string"]))return[...i].slice(s,o).join("");if(sn(i,["array"]))return i.slice(s,o);throw new st(`Expected first argument to be of type array or string, but found ${tt(Tt(i))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function un(r,e){const i=r.length-1;let s,o,l=0,u=i,p=0;for(;l<=u;)if(p=Math.floor((l+u)/2),s=r[p],o=r[p+1],s<=e){if(p===i||e<o)return p;l=p+1}else{if(!(s>e))throw new st("Input is not a number.");u=p-1}return 0}class qn{constructor(e,i,s){this.type=e,this.input=i,this.labels=[],this.outputs=[];for(const[o,l]of s)this.labels.push(o),this.outputs.push(l)}static parse(e,i){if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return i.error("Expected an even number of arguments.");const s=i.parse(e[1],1,be);if(!s)return null;const o=[];let l=null;i.expectedType&&i.expectedType.kind!=="value"&&(l=i.expectedType);for(let u=1;u<e.length;u+=2){const p=u===1?-1/0:e[u],g=e[u+1],m=u,v=u+1;if(typeof p!="number")return i.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',m);if(o.length&&o[o.length-1][0]>=p)return i.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',m);const _=i.parse(g,v,l);if(!_)return null;l=l||_.type,o.push([p,_])}return new qn(l,s,o)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const l=i.length;return o>=i[l-1]?s[l-1].evaluate(e):s[un(i,o)].evaluate(e)}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function Xa(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var To,mc,gc=function(){if(mc)return To;function r(e,i,s,o){this.cx=3*e,this.bx=3*(s-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*i,this.by=3*(o-i)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=i,this.p2x=s,this.p2y=o}return mc=1,To=r,r.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,i){if(i===void 0&&(i=1e-6),e<0)return 0;if(e>1)return 1;for(var s=e,o=0;o<8;o++){var l=this.sampleCurveX(s)-e;if(Math.abs(l)<i)return s;var u=this.sampleCurveDerivativeX(s);if(Math.abs(u)<1e-6)break;s-=l/u}var p=0,g=1;for(s=e,o=0;o<20&&(l=this.sampleCurveX(s),!(Math.abs(l-e)<i));o++)e>l?p=s:g=s,s=.5*(g-p)+p;return s},solve:function(e,i){return this.sampleCurveY(this.solveCurveX(e,i))}},To}(),_c=Xa(gc);class It{constructor(e,i,s,o,l){this.type=e,this.operator=i,this.interpolation=s,this.input=o,this.labels=[],this.outputs=[];for(const[u,p]of l)this.labels.push(u),this.outputs.push(p)}static interpolationFactor(e,i,s,o){let l=0;if(e.name==="exponential")l=Lt(i,e.base,s,o);else if(e.name==="linear")l=Lt(i,1,s,o);else if(e.name==="cubic-bezier"){const u=e.controlPoints;l=new _c(u[0],u[1],u[2],u[3]).solve(Lt(i,1,s,o))}return l}static parse(e,i){let[s,o,l,...u]=e;if(!Array.isArray(o)||o.length===0)return i.error("Expected an interpolation type expression.",1);if(o[0]==="linear")o={name:"linear"};else if(o[0]==="exponential"){const m=o[1];if(typeof m!="number")return i.error("Exponential interpolation requires a numeric base.",1,1);o={name:"exponential",base:m}}else{if(o[0]!=="cubic-bezier")return i.error(`Unknown interpolation type ${String(o[0])}`,1,0);{const m=o.slice(1);if(m.length!==4||m.some(v=>typeof v!="number"||v<0||v>1))return i.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);o={name:"cubic-bezier",controlPoints:m}}}if(e.length-1<4)return i.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return i.error("Expected an even number of arguments.");if(l=i.parse(l,2,be),!l)return null;const p=[];let g=null;s!=="interpolate-hcl"&&s!=="interpolate-lab"||i.expectedType==Bn?i.expectedType&&i.expectedType.kind!=="value"&&(g=i.expectedType):g=Pi;for(let m=0;m<u.length;m+=2){const v=u[m],_=u[m+1],T=m+3,b=m+4;if(typeof v!="number")return i.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',T);if(p.length&&p[p.length-1][0]>=v)return i.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',T);const I=i.parse(_,b,g);if(!I)return null;g=g||I.type,p.push([v,I])}return Wi(g,be)||Wi(g,go)||Wi(g,Pi)||Wi(g,_o)||Wi(g,Ts)||Wi(g,Bn)||Wi(g,Ss)||Wi(g,Wt(be))?new It(g,s,o,l,p):i.error(`Type ${tt(g)} is not interpolatable.`)}evaluate(e){const i=this.labels,s=this.outputs;if(i.length===1)return s[0].evaluate(e);const o=this.input.evaluate(e);if(o<=i[0])return s[0].evaluate(e);const l=i.length;if(o>=i[l-1])return s[l-1].evaluate(e);const u=un(i,o),p=It.interpolationFactor(this.interpolation,o,i[u],i[u+1]),g=s[u].evaluate(e),m=s[u+1].evaluate(e);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return Dr(g,m,p);case"color":return Ve.interpolate(g,m,p);case"padding":return Kt.interpolate(g,m,p);case"colorArray":return Re.interpolate(g,m,p);case"numberArray":return dt.interpolate(g,m,p);case"variableAnchorOffsetCollection":return oi.interpolate(g,m,p);case"array":return Nn(g,m,p);case"projectionDefinition":return ai.interpolate(g,m,p)}case"interpolate-hcl":switch(this.type.kind){case"color":return Ve.interpolate(g,m,p,"hcl");case"colorArray":return Re.interpolate(g,m,p,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return Ve.interpolate(g,m,p,"lab");case"colorArray":return Re.interpolate(g,m,p,"lab")}}}eachChild(e){e(this.input);for(const i of this.outputs)e(i)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function Lt(r,e,i,s){const o=s-i,l=r-i;return o===0?0:e===1?l/o:(Math.pow(e,l)-1)/(Math.pow(e,o)-1)}const Mi={color:Ve.interpolate,number:Dr,padding:Kt.interpolate,numberArray:dt.interpolate,colorArray:Re.interpolate,variableAnchorOffsetCollection:oi.interpolate,array:Nn};class Cs{constructor(e,i){this.type=e,this.args=i}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");let s=null;const o=i.expectedType;o&&o.kind!=="value"&&(s=o);const l=[];for(const p of e.slice(1)){const g=i.parse(p,1+l.length,s,void 0,{typeAnnotation:"omit"});if(!g)return null;s=s||g.type,l.push(g)}if(!s)throw new Error("No output type");const u=o&&l.some(p=>Vn(o,p.type));return new Cs(u?Be:s,l)}evaluate(e){let i,s=null,o=0;for(const l of this.args)if(o++,s=l.evaluate(e),s&&s instanceof Ii&&!s.available&&(i||(i=s.name),s=null,o===this.args.length&&(s=i)),s!==null)break;return s}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}function As(r,e){return r==="=="||r==="!="?e.kind==="boolean"||e.kind==="string"||e.kind==="number"||e.kind==="null"||e.kind==="value":e.kind==="string"||e.kind==="number"||e.kind==="value"}function kt(r,e,i,s){return s.compare(e,i)===0}function hn(r,e,i){const s=r!=="=="&&r!=="!=";return class jf{constructor(l,u,p){this.type=je,this.lhs=l,this.rhs=u,this.collator=p,this.hasUntypedArgument=l.type.kind==="value"||u.type.kind==="value"}static parse(l,u){if(l.length!==3&&l.length!==4)return u.error("Expected two or three arguments.");const p=l[0];let g=u.parse(l[1],1,Be);if(!g)return null;if(!As(p,g.type))return u.concat(1).error(`"${p}" comparisons are not supported for type '${tt(g.type)}'.`);let m=u.parse(l[2],2,Be);if(!m)return null;if(!As(p,m.type))return u.concat(2).error(`"${p}" comparisons are not supported for type '${tt(m.type)}'.`);if(g.type.kind!==m.type.kind&&g.type.kind!=="value"&&m.type.kind!=="value")return u.error(`Cannot compare types '${tt(g.type)}' and '${tt(m.type)}'.`);s&&(g.type.kind==="value"&&m.type.kind!=="value"?g=new yi(m.type,[g]):g.type.kind!=="value"&&m.type.kind==="value"&&(m=new yi(g.type,[m])));let v=null;if(l.length===4){if(g.type.kind!=="string"&&m.type.kind!=="string"&&g.type.kind!=="value"&&m.type.kind!=="value")return u.error("Cannot use collator to compare non-string types.");if(v=u.parse(l[3],3,bs),!v)return null}return new jf(g,m,v)}evaluate(l){const u=this.lhs.evaluate(l),p=this.rhs.evaluate(l);if(s&&this.hasUntypedArgument){const g=Tt(u),m=Tt(p);if(g.kind!==m.kind||g.kind!=="string"&&g.kind!=="number")throw new st(`Expected arguments for "${r}" to be (string, string) or (number, number), but found (${g.kind}, ${m.kind}) instead.`)}if(this.collator&&!s&&this.hasUntypedArgument){const g=Tt(u),m=Tt(p);if(g.kind!=="string"||m.kind!=="string")return e(l,u,p)}return this.collator?i(l,u,p,this.collator.evaluate(l)):e(l,u,p)}eachChild(l){l(this.lhs),l(this.rhs),this.collator&&l(this.collator)}outputDefined(){return!0}}}const Ya=hn("==",function(r,e,i){return e===i},kt),yc=hn("!=",function(r,e,i){return e!==i},function(r,e,i,s){return!kt(0,e,i,s)}),Bu=hn("<",function(r,e,i){return e<i},function(r,e,i,s){return s.compare(e,i)<0}),Wn=hn(">",function(r,e,i){return e>i},function(r,e,i,s){return s.compare(e,i)>0}),So=hn("<=",function(r,e,i){return e<=i},function(r,e,i,s){return s.compare(e,i)<=0}),Ka=hn(">=",function(r,e,i){return e>=i},function(r,e,i,s){return s.compare(e,i)>=0});class Po{constructor(e,i,s){this.type=bs,this.locale=s,this.caseSensitive=e,this.diacriticSensitive=i}static parse(e,i){if(e.length!==2)return i.error("Expected one argument.");const s=e[1];if(typeof s!="object"||Array.isArray(s))return i.error("Collator options argument must be an object.");const o=i.parse(s["case-sensitive"]!==void 0&&s["case-sensitive"],1,je);if(!o)return null;const l=i.parse(s["diacritic-sensitive"]!==void 0&&s["diacritic-sensitive"],1,je);if(!l)return null;let u=null;return s.locale&&(u=i.parse(s.locale,1,Fe),!u)?null:new Po(o,l,u)}evaluate(e){return new qa(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class Io{constructor(e,i,s,o,l,u){this.type=Fe,this.number=e,this.locale=i,this.currency=s,this.unit=o,this.minFractionDigits=l,this.maxFractionDigits=u}static parse(e,i){if(e.length!==3)return i.error("Expected two arguments.");const s=i.parse(e[1],1,be);if(!s)return null;const o=e[2];if(typeof o!="object"||Array.isArray(o))return i.error("NumberFormat options argument must be an object.");let l=null;if(o.locale&&(l=i.parse(o.locale,1,Fe),!l))return null;let u=null;if(o.currency&&(u=i.parse(o.currency,1,Fe),!u))return null;let p=null;if(o.unit&&(p=i.parse(o.unit,1,Fe),!p))return null;if(u&&p)return i.error("NumberFormat options `currency` and `unit` are mutually exclusive");let g=null;if(o["min-fraction-digits"]&&(g=i.parse(o["min-fraction-digits"],1,be),!g))return null;let m=null;return o["max-fraction-digits"]&&(m=i.parse(o["max-fraction-digits"],1,be),!m)?null:new Io(s,l,u,p,g,m)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class dn{constructor(e){this.type=ws,this.sections=e}static parse(e,i){if(e.length<2)return i.error("Expected at least one argument.");const s=e[1];if(!Array.isArray(s)&&typeof s=="object")return i.error("First argument must be an image or text section.");const o=[];let l=!1;for(let u=1;u<=e.length-1;++u){const p=e[u];if(l&&typeof p=="object"&&!Array.isArray(p)){l=!1;let g=null;if(p["font-scale"]&&(g=i.parse(p["font-scale"],1,be),!g))return null;let m=null;if(p["text-font"]&&(m=i.parse(p["text-font"],1,Wt(Fe)),!m))return null;let v=null;if(p["text-color"]&&(v=i.parse(p["text-color"],1,Pi),!v))return null;let _=null;if(p["vertical-align"]){if(typeof p["vertical-align"]=="string"&&!Lu.includes(p["vertical-align"]))return i.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${p["vertical-align"]}' instead.`);if(_=i.parse(p["vertical-align"],1,Fe),!_)return null}const T=o[o.length-1];T.scale=g,T.font=m,T.textColor=v,T.verticalAlign=_}else{const g=i.parse(e[u],1,Be);if(!g)return null;const m=g.type.kind;if(m!=="string"&&m!=="value"&&m!=="null"&&m!=="resolvedImage")return i.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");l=!0,o.push({content:g,scale:null,font:null,textColor:null,verticalAlign:null})}}return new dn(o)}evaluate(e){return new _i(this.sections.map(i=>{const s=i.content.evaluate(e);return Tt(s)===On?new Wa("",s,null,null,null,i.verticalAlign?i.verticalAlign.evaluate(e):null):new Wa(an(s),null,i.scale?i.scale.evaluate(e):null,i.font?i.font.evaluate(e).join(","):null,i.textColor?i.textColor.evaluate(e):null,i.verticalAlign?i.verticalAlign.evaluate(e):null)}))}eachChild(e){for(const i of this.sections)e(i.content),i.scale&&e(i.scale),i.font&&e(i.font),i.textColor&&e(i.textColor),i.verticalAlign&&e(i.verticalAlign)}outputDefined(){return!1}}class Hn{constructor(e){this.type=On,this.input=e}static parse(e,i){if(e.length!==2)return i.error("Expected two arguments.");const s=i.parse(e[1],1,Fe);return s?new Hn(s):i.error("No image name provided.")}evaluate(e){const i=this.input.evaluate(e),s=Ii.fromString(i);return s&&e.availableImages&&(s.available=e.availableImages.indexOf(i)>-1),s}eachChild(e){e(this.input)}outputDefined(){return!1}}class Ei{constructor(e){this.type=be,this.input=e}static parse(e,i){if(e.length!==2)return i.error(`Expected 1 argument, but found ${e.length-1} instead.`);const s=i.parse(e[1],1);return s?s.type.kind!=="array"&&s.type.kind!=="string"&&s.type.kind!=="value"?i.error(`Expected argument of type string or array, but found ${tt(s.type)} instead.`):new Ei(s):null}evaluate(e){const i=this.input.evaluate(e);if(typeof i=="string")return[...i].length;if(Array.isArray(i))return i.length;throw new st(`Expected value to be of type string or array, but found ${tt(Tt(i))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}const Xi=8192;function Mo(r,e){const i=(180+r[0])/360,s=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r[1]*Math.PI/360)))/360,o=Math.pow(2,e.z);return[Math.round(i*o*Xi),Math.round(s*o*Xi)]}function Ja(r,e){const i=Math.pow(2,e.z);return[(o=(r[0]/Xi+e.x)/i,360*o-180),(s=(r[1]/Xi+e.y)/i,360/Math.PI*Math.atan(Math.exp((180-360*s)*Math.PI/180))-90)];var s,o}function pn(r,e){r[0]=Math.min(r[0],e[0]),r[1]=Math.min(r[1],e[1]),r[2]=Math.max(r[2],e[0]),r[3]=Math.max(r[3],e[1])}function Ds(r,e){return!(r[0]<=e[0]||r[2]>=e[2]||r[1]<=e[1]||r[3]>=e[3])}function Ou(r,e,i){const s=r[0]-e[0],o=r[1]-e[1],l=r[0]-i[0],u=r[1]-i[1];return s*u-l*o==0&&s*l<=0&&o*u<=0}function Eo(r,e,i,s){return(o=[s[0]-i[0],s[1]-i[1]])[0]*(l=[e[0]-r[0],e[1]-r[1]])[1]-o[1]*l[0]!=0&&!(!xc(r,e,i,s)||!xc(i,s,r,e));var o,l}function Vu(r,e,i){for(const s of i)for(let o=0;o<s.length-1;++o)if(Eo(r,e,s[o],s[o+1]))return!0;return!1}function hr(r,e,i=!1){let s=!1;for(const p of e)for(let g=0;g<p.length-1;g++){if(Ou(r,p[g],p[g+1]))return i;(l=p[g])[1]>(o=r)[1]!=(u=p[g+1])[1]>o[1]&&o[0]<(u[0]-l[0])*(o[1]-l[1])/(u[1]-l[1])+l[0]&&(s=!s)}var o,l,u;return s}function ju(r,e){for(const i of e)if(hr(r,i))return!0;return!1}function Qa(r,e){for(const i of r)if(!hr(i,e))return!1;for(let i=0;i<r.length-1;++i)if(Vu(r[i],r[i+1],e))return!1;return!0}function vc(r,e){for(const i of e)if(Qa(r,i))return!0;return!1}function xc(r,e,i,s){const o=s[0]-i[0],l=s[1]-i[1],u=(r[0]-i[0])*l-o*(r[1]-i[1]),p=(e[0]-i[0])*l-o*(e[1]-i[1]);return u>0&&p<0||u<0&&p>0}function Co(r,e,i){const s=[];for(let o=0;o<r.length;o++){const l=[];for(let u=0;u<r[o].length;u++){const p=Mo(r[o][u],i);pn(e,p),l.push(p)}s.push(l)}return s}function bc(r,e,i){const s=[];for(let o=0;o<r.length;o++){const l=Co(r[o],e,i);s.push(l)}return s}function wc(r,e,i,s){if(r[0]<i[0]||r[0]>i[2]){const o=.5*s;let l=r[0]-i[0]>o?-s:i[0]-r[0]>o?s:0;l===0&&(l=r[0]-i[2]>o?-s:i[2]-r[0]>o?s:0),r[0]+=l}pn(e,r)}function Tc(r,e,i,s){const o=Math.pow(2,s.z)*Xi,l=[s.x*Xi,s.y*Xi],u=[];for(const p of r)for(const g of p){const m=[g.x+l[0],g.y+l[1]];wc(m,e,i,o),u.push(m)}return u}function Sc(r,e,i,s){const o=Math.pow(2,s.z)*Xi,l=[s.x*Xi,s.y*Xi],u=[];for(const g of r){const m=[];for(const v of g){const _=[v.x+l[0],v.y+l[1]];pn(e,_),m.push(_)}u.push(m)}if(e[2]-e[0]<=o/2){(p=e)[0]=p[1]=1/0,p[2]=p[3]=-1/0;for(const g of u)for(const m of g)wc(m,e,i,o)}var p;return u}class fn{constructor(e,i){this.type=je,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(kr(e[1])){const s=e[1];if(s.type==="FeatureCollection"){const o=[];for(const l of s.features){const{type:u,coordinates:p}=l.geometry;u==="Polygon"&&o.push(p),u==="MultiPolygon"&&o.push(...p)}if(o.length)return new fn(s,{type:"MultiPolygon",coordinates:o})}else if(s.type==="Feature"){const o=s.geometry.type;if(o==="Polygon"||o==="MultiPolygon")return new fn(s,s.geometry)}else if(s.type==="Polygon"||s.type==="MultiPolygon")return new fn(s,s)}return i.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()==="Point")return function(i,s){const o=[1/0,1/0,-1/0,-1/0],l=[1/0,1/0,-1/0,-1/0],u=i.canonicalID();if(s.type==="Polygon"){const p=Co(s.coordinates,l,u),g=Tc(i.geometry(),o,l,u);if(!Ds(o,l))return!1;for(const m of g)if(!hr(m,p))return!1}if(s.type==="MultiPolygon"){const p=bc(s.coordinates,l,u),g=Tc(i.geometry(),o,l,u);if(!Ds(o,l))return!1;for(const m of g)if(!ju(m,p))return!1}return!0}(e,this.geometries);if(e.geometryType()==="LineString")return function(i,s){const o=[1/0,1/0,-1/0,-1/0],l=[1/0,1/0,-1/0,-1/0],u=i.canonicalID();if(s.type==="Polygon"){const p=Co(s.coordinates,l,u),g=Sc(i.geometry(),o,l,u);if(!Ds(o,l))return!1;for(const m of g)if(!Qa(m,p))return!1}if(s.type==="MultiPolygon"){const p=bc(s.coordinates,l,u),g=Sc(i.geometry(),o,l,u);if(!Ds(o,l))return!1;for(const m of g)if(!vc(m,p))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let el=class{constructor(r=[],e=(i,s)=>i<s?-1:i>s?1:0){if(this.data=r,this.length=this.data.length,this.compare=e,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(r){this.data.push(r),this._up(this.length++)}pop(){if(this.length===0)return;const r=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),r}peek(){return this.data[0]}_up(r){const{data:e,compare:i}=this,s=e[r];for(;r>0;){const o=r-1>>1,l=e[o];if(i(s,l)>=0)break;e[r]=l,r=o}e[r]=s}_down(r){const{data:e,compare:i}=this,s=this.length>>1,o=e[r];for(;r<s;){let l=1+(r<<1);const u=l+1;if(u<this.length&&i(e[u],e[l])<0&&(l=u),i(e[l],o)>=0)break;e[r]=e[l],r=l}e[r]=o}};function tl(r,e,i=0,s=r.length-1,o=Nu){for(;s>i;){if(s-i>600){const g=s-i+1,m=e-i+1,v=Math.log(g),_=.5*Math.exp(2*v/3),T=.5*Math.sqrt(v*_*(g-_)/g)*(m-g/2<0?-1:1);tl(r,e,Math.max(i,Math.floor(e-m*_/g+T)),Math.min(s,Math.floor(e+(g-m)*_/g+T)),o)}const l=r[e];let u=i,p=s;for(Xn(r,i,e),o(r[s],l)>0&&Xn(r,i,s);u<p;){for(Xn(r,u,p),u++,p--;o(r[u],l)<0;)u++;for(;o(r[p],l)>0;)p--}o(r[i],l)===0?Xn(r,i,p):(p++,Xn(r,p,s)),p<=e&&(i=p+1),e<=p&&(s=p-1)}}function Xn(r,e,i){const s=r[e];r[e]=r[i],r[i]=s}function Nu(r,e){return r<e?-1:r>e?1:0}function Ao(r,e){if(r.length<=1)return[r];const i=[];let s,o;for(const l of r){const u=Gu(l);u!==0&&(l.area=Math.abs(u),o===void 0&&(o=u<0),o===u<0?(s&&i.push(s),s=[l]):s.push(l))}if(s&&i.push(s),e>1)for(let l=0;l<i.length;l++)i[l].length<=e||(tl(i[l],e,1,i[l].length-1,Uu),i[l]=i[l].slice(0,e));return i}function Uu(r,e){return e.area-r.area}function Gu(r){let e=0;for(let i,s,o=0,l=r.length,u=l-1;o<l;u=o++)i=r[o],s=r[u],e+=(s.x-i.x)*(i.y+s.y);return e}const zs=1/298.257223563,Pc=zs*(2-zs),Ic=Math.PI/180;class il{constructor(e){const i=6378.137*Ic*1e3,s=Math.cos(e*Ic),o=1/(1-Pc*(1-s*s)),l=Math.sqrt(o);this.kx=i*l*s,this.ky=i*l*o*(1-Pc)}distance(e,i){const s=this.wrap(e[0]-i[0])*this.kx,o=(e[1]-i[1])*this.ky;return Math.sqrt(s*s+o*o)}pointOnLine(e,i){let s,o,l,u,p=1/0;for(let g=0;g<e.length-1;g++){let m=e[g][0],v=e[g][1],_=this.wrap(e[g+1][0]-m)*this.kx,T=(e[g+1][1]-v)*this.ky,b=0;_===0&&T===0||(b=(this.wrap(i[0]-m)*this.kx*_+(i[1]-v)*this.ky*T)/(_*_+T*T),b>1?(m=e[g+1][0],v=e[g+1][1]):b>0&&(m+=_/this.kx*b,v+=T/this.ky*b)),_=this.wrap(i[0]-m)*this.kx,T=(i[1]-v)*this.ky;const I=_*_+T*T;I<p&&(p=I,s=m,o=v,l=g,u=b)}return{point:[s,o],index:l,t:Math.max(0,Math.min(1,u))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}}function Mc(r,e){return e[0]-r[0]}function Yn(r){return r[1]-r[0]+1}function tr(r,e){return r[1]>=r[0]&&r[1]<e}function rl(r,e){if(r[0]>r[1])return[null,null];const i=Yn(r);if(e){if(i===2)return[r,null];const o=Math.floor(i/2);return[[r[0],r[0]+o],[r[0]+o,r[1]]]}if(i===1)return[r,null];const s=Math.floor(i/2)-1;return[[r[0],r[0]+s],[r[0]+s+1,r[1]]]}function nl(r,e){if(!tr(e,r.length))return[1/0,1/0,-1/0,-1/0];const i=[1/0,1/0,-1/0,-1/0];for(let s=e[0];s<=e[1];++s)pn(i,r[s]);return i}function Do(r){const e=[1/0,1/0,-1/0,-1/0];for(const i of r)for(const s of i)pn(e,s);return e}function sl(r){return r[0]!==-1/0&&r[1]!==-1/0&&r[2]!==1/0&&r[3]!==1/0}function ol(r,e,i){if(!sl(r)||!sl(e))return NaN;let s=0,o=0;return r[2]<e[0]&&(s=e[0]-r[2]),r[0]>e[2]&&(s=r[0]-e[2]),r[1]>e[3]&&(o=r[1]-e[3]),r[3]<e[1]&&(o=e[1]-r[3]),i.distance([0,0],[s,o])}function mn(r,e,i){const s=i.pointOnLine(e,r);return i.distance(r,s.point)}function al(r,e,i,s,o){const l=Math.min(mn(r,[i,s],o),mn(e,[i,s],o)),u=Math.min(mn(i,[r,e],o),mn(s,[r,e],o));return Math.min(l,u)}function Ec(r,e,i,s,o){if(!tr(e,r.length)||!tr(s,i.length))return 1/0;let l=1/0;for(let u=e[0];u<e[1];++u){const p=r[u],g=r[u+1];for(let m=s[0];m<s[1];++m){const v=i[m],_=i[m+1];if(Eo(p,g,v,_))return 0;l=Math.min(l,al(p,g,v,_,o))}}return l}function $u(r,e,i,s,o){if(!tr(e,r.length)||!tr(s,i.length))return NaN;let l=1/0;for(let u=e[0];u<=e[1];++u)for(let p=s[0];p<=s[1];++p)if(l=Math.min(l,o.distance(r[u],i[p])),l===0)return l;return l}function Zu(r,e,i){if(hr(r,e,!0))return 0;let s=1/0;for(const o of e){const l=o[0],u=o[o.length-1];if(l!==u&&(s=Math.min(s,mn(r,[u,l],i)),s===0))return s;const p=i.pointOnLine(o,r);if(s=Math.min(s,i.distance(r,p.point)),s===0)return s}return s}function qu(r,e,i,s){if(!tr(e,r.length))return NaN;for(let l=e[0];l<=e[1];++l)if(hr(r[l],i,!0))return 0;let o=1/0;for(let l=e[0];l<e[1];++l){const u=r[l],p=r[l+1];for(const g of i)for(let m=0,v=g.length,_=v-1;m<v;_=m++){const T=g[_],b=g[m];if(Eo(u,p,T,b))return 0;o=Math.min(o,al(u,p,T,b,s))}}return o}function Cc(r,e){for(const i of r)for(const s of i)if(hr(s,e,!0))return!0;return!1}function Je(r,e,i,s=1/0){const o=Do(r),l=Do(e);if(s!==1/0&&ol(o,l,i)>=s)return s;if(Ds(o,l)){if(Cc(r,e))return 0}else if(Cc(e,r))return 0;let u=1/0;for(const p of r)for(let g=0,m=p.length,v=m-1;g<m;v=g++){const _=p[v],T=p[g];for(const b of e)for(let I=0,M=b.length,A=M-1;I<M;A=I++){const D=b[A],F=b[I];if(Eo(_,T,D,F))return 0;u=Math.min(u,al(_,T,D,F,i))}}return u}function Ac(r,e,i,s,o,l){if(!l)return;const u=ol(nl(s,l),o,i);u<e&&r.push([u,l,[0,0]])}function zo(r,e,i,s,o,l,u){if(!l||!u)return;const p=ol(nl(s,l),nl(o,u),i);p<e&&r.push([p,l,u])}function ko(r,e,i,s,o=1/0){let l=Math.min(s.distance(r[0],i[0][0]),o);if(l===0)return l;const u=new el([[0,[0,r.length-1],[0,0]]],Mc),p=Do(i);for(;u.length>0;){const g=u.pop();if(g[0]>=l)continue;const m=g[1],v=e?50:100;if(Yn(m)<=v){if(!tr(m,r.length))return NaN;if(e){const _=qu(r,m,i,s);if(isNaN(_)||_===0)return _;l=Math.min(l,_)}else for(let _=m[0];_<=m[1];++_){const T=Zu(r[_],i,s);if(l=Math.min(l,T),l===0)return 0}}else{const _=rl(m,e);Ac(u,l,s,r,p,_[0]),Ac(u,l,s,r,p,_[1])}}return l}function Ro(r,e,i,s,o,l=1/0){let u=Math.min(l,o.distance(r[0],i[0]));if(u===0)return u;const p=new el([[0,[0,r.length-1],[0,i.length-1]]],Mc);for(;p.length>0;){const g=p.pop();if(g[0]>=u)continue;const m=g[1],v=g[2],_=e?50:100,T=s?50:100;if(Yn(m)<=_&&Yn(v)<=T){if(!tr(m,r.length)&&tr(v,i.length))return NaN;let b;if(e&&s)b=Ec(r,m,i,v,o),u=Math.min(u,b);else if(e&&!s){const I=r.slice(m[0],m[1]+1);for(let M=v[0];M<=v[1];++M)if(b=mn(i[M],I,o),u=Math.min(u,b),u===0)return u}else if(!e&&s){const I=i.slice(v[0],v[1]+1);for(let M=m[0];M<=m[1];++M)if(b=mn(r[M],I,o),u=Math.min(u,b),u===0)return u}else b=$u(r,m,i,v,o),u=Math.min(u,b)}else{const b=rl(m,e),I=rl(v,s);zo(p,u,o,r,i,b[0],I[0]),zo(p,u,o,r,i,b[0],I[1]),zo(p,u,o,r,i,b[1],I[0]),zo(p,u,o,r,i,b[1],I[1])}}return u}function ll(r){return r.type==="MultiPolygon"?r.coordinates.map(e=>({type:"Polygon",coordinates:e})):r.type==="MultiLineString"?r.coordinates.map(e=>({type:"LineString",coordinates:e})):r.type==="MultiPoint"?r.coordinates.map(e=>({type:"Point",coordinates:e})):[r]}class gn{constructor(e,i){this.type=be,this.geojson=e,this.geometries=i}static parse(e,i){if(e.length!==2)return i.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(kr(e[1])){const s=e[1];if(s.type==="FeatureCollection")return new gn(s,s.features.map(o=>ll(o.geometry)).flat());if(s.type==="Feature")return new gn(s,ll(s.geometry));if("type"in s&&"coordinates"in s)return new gn(s,ll(s))}return i.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()==="Point")return function(i,s){const o=i.geometry(),l=o.flat().map(g=>Ja([g.x,g.y],i.canonical));if(o.length===0)return NaN;const u=new il(l[0][1]);let p=1/0;for(const g of s){switch(g.type){case"Point":p=Math.min(p,Ro(l,!1,[g.coordinates],!1,u,p));break;case"LineString":p=Math.min(p,Ro(l,!1,g.coordinates,!0,u,p));break;case"Polygon":p=Math.min(p,ko(l,!1,g.coordinates,u,p))}if(p===0)return p}return p}(e,this.geometries);if(e.geometryType()==="LineString")return function(i,s){const o=i.geometry(),l=o.flat().map(g=>Ja([g.x,g.y],i.canonical));if(o.length===0)return NaN;const u=new il(l[0][1]);let p=1/0;for(const g of s){switch(g.type){case"Point":p=Math.min(p,Ro(l,!0,[g.coordinates],!1,u,p));break;case"LineString":p=Math.min(p,Ro(l,!0,g.coordinates,!0,u,p));break;case"Polygon":p=Math.min(p,ko(l,!0,g.coordinates,u,p))}if(p===0)return p}return p}(e,this.geometries);if(e.geometryType()==="Polygon")return function(i,s){const o=i.geometry();if(o.length===0||o[0].length===0)return NaN;const l=Ao(o,0).map(g=>g.map(m=>m.map(v=>Ja([v.x,v.y],i.canonical)))),u=new il(l[0][0][0][1]);let p=1/0;for(const g of s)for(const m of l){switch(g.type){case"Point":p=Math.min(p,ko([g.coordinates],!1,m,u,p));break;case"LineString":p=Math.min(p,ko(g.coordinates,!0,m,u,p));break;case"Polygon":p=Math.min(p,Je(m,g.coordinates,u,p))}if(p===0)return p}return p}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class ks{constructor(e){this.type=Be,this.key=e}static parse(e,i){if(e.length!==2)return i.error(`Expected 1 argument, but found ${e.length-1} instead.`);const s=e[1];return s==null?i.error("Global state property must be defined."):typeof s!="str
4ing"?i.error(`Global state property must be string, but found ${typeof e[1]} instead.`):new ks(s)}evaluate(e){var i;const s=(i=e.globals)===null||i===void 0?void 0:i.globalState;return s&&Object.keys(s).length!==0?Ms(s,this.key):null}eachChild(){}outputDefined(){return!1}}const Kn={"==":Ya,"!=":yc,">":Wn,"<":Bu,">=":Ka,"<=":So,array:yi,at:Ze,boolean:yi,case:Hi,coalesce:Cs,collator:Po,format:dn,image:Hn,in:Oe,"index-of":$n,interpolate:It,"interpolate-hcl":It,"interpolate-lab":It,length:Ei,let:ot,literal:er,match:We,number:yi,"number-format":Io,object:yi,slice:Zn,step:qn,string:yi,"to-boolean":ur,"to-color":ur,"to-number":ur,"to-string":ur,var:Gn,within:fn,distance:gn,"global-state":ks};class Bi{constructor(e,i,s,o){this.name=e,this.type=i,this._evaluate=s,this.args=o}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,i){const s=e[0],o=Bi.definitions[s];if(!o)return i.error(`Unknown expression "${s}". If you wanted a literal array, use ["literal", [...]].`,0);const l=Array.isArray(o)?o[0]:o.type,u=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,p=u.filter(([m])=>!Array.isArray(m)||m.length===e.length-1);let g=null;for(const[m,v]of p){g=new cn(i.registry,Fo,i.path,null,i.scope);const _=[];let T=!1;for(let b=1;b<e.length;b++){const I=e[b],M=Array.isArray(m)?m[b-1]:m.type,A=g.parse(I,1+_.length,M);if(!A){T=!0;break}_.push(A)}if(!T)if(Array.isArray(m)&&m.length!==_.length)g.error(`Expected ${m.length} arguments, but found ${_.length} instead.`);else{for(let b=0;b<_.length;b++){const I=Array.isArray(m)?m[b]:m.type,M=_[b];g.concat(b+1).checkSubtype(I,M.type)}if(g.errors.length===0)return new Bi(s,l,v,_)}}if(p.length===1)i.errors.push(...g.errors);else{const m=(p.length?p:u).map(([_])=>{return T=_,Array.isArray(T)?`(${T.map(tt).join(", ")})`:`(${tt(T.type)}...)`;var T}).join(" | "),v=[];for(let _=1;_<e.length;_++){const T=i.parse(e[_],1+v.length);if(!T)return null;v.push(tt(T.type))}i.error(`Expected arguments of type ${m}, but found (${v.join(", ")}) instead.`)}return null}static register(e,i){Bi.definitions=i;for(const s in i)e[s]=Bi}}function Dc(r,[e,i,s,o]){e=e.evaluate(r),i=i.evaluate(r),s=s.evaluate(r);const l=o?o.evaluate(r):1,u=Un(e,i,s,l);if(u)throw new st(u);return new Ve(e/255,i/255,s/255,l,!1)}function zc(r,e){return r in e}function cl(r,e){const i=e[r];return i===void 0?null:i}function _n(r){return{type:r}}function Fo(r){if(r instanceof Gn)return Fo(r.boundExpression);if(r instanceof Bi&&r.name==="error"||r instanceof Po||r instanceof fn||r instanceof gn||r instanceof ks)return!1;const e=r instanceof ur||r instanceof yi;let i=!0;return r.eachChild(s=>{i=e?i&&Fo(s):i&&s instanceof er}),!!i&&Lo(r)&&Bo(r,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function Lo(r){if(r instanceof Bi&&(r.name==="get"&&r.args.length===1||r.name==="feature-state"||r.name==="has"&&r.args.length===1||r.name==="properties"||r.name==="geometry-type"||r.name==="id"||/^filter-/.test(r.name))||r instanceof fn||r instanceof gn)return!1;let e=!0;return r.eachChild(i=>{e&&!Lo(i)&&(e=!1)}),e}function Rs(r){if(r instanceof Bi&&r.name==="feature-state")return!1;let e=!0;return r.eachChild(i=>{e&&!Rs(i)&&(e=!1)}),e}function Bo(r,e){if(r instanceof Bi&&e.indexOf(r.name)>=0)return!1;let i=!0;return r.eachChild(s=>{i&&!Bo(s,e)&&(i=!1)}),i}function kc(r){return{result:"success",value:r}}function Jn(r){return{result:"error",value:r}}function Qn(r){return r["property-type"]==="data-driven"||r["property-type"]==="cross-faded-data-driven"}function Rc(r){return!!r.expression&&r.expression.parameters.indexOf("zoom")>-1}function ul(r){return!!r.expression&&r.expression.interpolated}function Ne(r){return r instanceof Number?"number":r instanceof String?"string":r instanceof Boolean?"boolean":Array.isArray(r)?"array":r===null?"null":typeof r}function Oo(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&Tt(r)===cr}function Wu(r){return r}function Fc(r,e){const i=r.stops&&typeof r.stops[0][0]=="object",s=i||!(i||r.property!==void 0),o=r.type||(ul(e)?"exponential":"interval"),l=function(v){switch(v.type){case"color":return Ve.parse;case"padding":return Kt.parse;case"numberArray":return dt.parse;case"colorArray":return Re.parse;default:return null}}(e);if(l&&((r=nn({}
4,r)).stops&&(r.stops=r.stops.map(v=>[v[0],l(v[1])])),r.default=l(r.default?r.default:e.default)),r.colorSpace&&(u=r.colorSpace)!=="rgb"&&u!=="hcl"&&u!=="lab")throw new Error(`Unknown color space: "${r.colorSpace}"`);var u;const p=function(v){switch(v){case"exponential":return Lc;case"interval":return Xu;case"categorical":return Hu;case"identity":return Yu;default:throw new Error(`Unknown function type "${v}"`)}}(o);let g,m;if(o==="categorical"){g=Object.create(null);for(const v of r.stops)g[v[0]]=v[1];m=typeof r.stops[0][0]}if(i){const v={},_=[];for(let I=0;I<r.stops.length;I++){const M=r.stops[I],A=M[0].zoom;v[A]===void 0&&(v[A]={zoom:A,type:r.type,property:r.property,default:r.default,stops:[]},_.push(A)),v[A].stops.push([M[0].value,M[1]])}const T=[];for(const I of _)T.push([v[I].zoom,Fc(v[I],e)]);const b={name:"linear"};return{kind:"composite",interpolationType:b,interpolationFactor:It.interpolationFactor.bind(void 0,b),zoomStops:T.map(I=>I[0]),evaluate:({zoom:I},M)=>Lc({stops:T,base:r.base},e,I).evaluate(I,M)}}if(s){const v=o==="exponential"?{name:"exponential",base:r.base!==void 0?r.base:1}:null;return{kind:"camera",interpolationType:v,interpolationFactor:It.interpolationFactor.bind(void 0,v),zoomStops:r.stops.map(_=>_[0]),evaluate:({zoom:_})=>p(r,e,_,g,m)}}return{kind:"source",evaluate(v,_){const T=_&&_.properties?_.properties[r.property]:void 0;return T===void 0?Fs(r.default,e.default):p(r,e,T,g,m)}}}function Fs(r,e,i){return r!==void 0?r:e!==void 0?e:i!==void 0?i:void 0}function Hu(r,e,i,s,o){return Fs(typeof i===o?s[i]:void 0,r.default,e.default)}function Xu(r,e,i){if(Ne(i)!=="number")return Fs(r.default,e.default);const s=r.stops.length;if(s===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[s-1][0])return r.stops[s-1][1];const o=un(r.stops.map(l=>l[0]),i);return r.stops[o][1]}function Lc(r,e,i){const s=r.base!==void 0?r.base:1;if(Ne(i)!=="number")return Fs(r.default,e.default);const o=r.stops.length;if(o===1||i<=r.stops[0][0])return r.stops[0][1];if(i>=r.stops[o-1][0])return r.stops[o-1][1];
vendor: 16,655 bytes, line 4
4const l=un(r.stops.map(v=>v[0]),i),u=function(v,_,T,b){const I=b-T,M=v-T;return I===0?0:_===1?M/I:(Math.pow(_,M)-1)/(Math.pow(_,I)-1)}(i,s,r.stops[l][0],r.stops[l+1][0]),p=r.stops[l][1],g=r.stops[l+1][1],m=Mi[e.type]||Wu;return typeof p.evaluate=="function"?{evaluate(...v){const _=p.evaluate.apply(void 0,v),T=g.evaluate.apply(void 0,v);if(_!==void 0&&T!==void 0)return m(_,T,u,r.colorSpace)}}:m(p,g,u,r.colorSpace)}function Yu(r,e,i){switch(e.type){case"color":i=Ve.parse(i);break;case"formatted":i=_i.fromString(i.toString());break;case"resolvedImage":i=Ii.fromString(i.toString());break;case"padding":i=Kt.parse(i);break;case"colorArray":i=Re.parse(i);break;case"numberArray":i=dt.parse(i);break;default:Ne(i)===e.type||e.type==="enum"&&e.values[i]||(i=void 0)}return Fs(i,r.default,e.default)}Bi.register(Kn,{error:[{kind:"error"},[Fe],(r,[e])=>{throw new st(e.evaluate(r))}],typeof:[Fe,[Be],(r,[e])=>tt(Tt(e.evaluate(r)))],"to-rgba":[Wt(be,4),[Pi],(r,[e])=>{const[i,s,o,l]=e.evaluate(r).rgb;return[255*i,255*s,255*o,l]}],rgb:[Pi,[be,be,be],Dc],rgba:[Pi,[be,be,be,be],Dc],has:{type:je,overloads:[[[Fe],(r,[e])=>zc(e.evaluate(r),r.properties())],[[Fe,cr],(r,[e,i])=>zc(e.evaluate(r),i.evaluate(r))]]},get:{type:Be,overloads:[[[Fe],(r,[e])=>cl(e.evaluate(r),r.properties())],[[Fe,cr],(r,[e,i])=>cl(e.evaluate(r),i.evaluate(r))]]},"feature-state":[Be,[Fe],(r,[e])=>cl(e.evaluate(r),r.featureState||{})],properties:[cr,[],r=>r.properties()],"geometry-type":[Fe,[],r=>r.geometryType()],id:[Be,[],r=>r.id()],zoom:[be,[],r=>r.globals.zoom],"heatmap-density":[be,[],r=>r.globals.heatmapDensity||0],elevation:[be,[],r=>r.globals.elevation||0],"line-progress":[be,[],r=>r.globals.lineProgress||0],accumulated:[Be,[],r=>r.globals.accumulated===void 0?null:r.globals.accumulated],"+":[be,_n(be),(r,e)=>{let i=0;for(const s of e)i+=s.evaluate(r);return i}],"*":[be,_n(be),(r,e)=>{let i=1;for(const s of e)i*=s.evaluate(r);return i}],"-":{type:be,overloads:[[[be,be],(r,[e,i])=>e.evaluate(r)-i.evaluate(r)],[[be],(r,[e])=>-e.evaluate(r)]]},"/":[be,[be,be],(r,[e,i])=>e.evaluate(r)/i.evaluate(r)],"%":[be,[be,be],(r,[e,i])=>e.evaluate(r)%i.evaluate(r)],ln2:[be,[],()=>Math.LN2],pi:[be,[],()=>Math.PI],e:[be,[],()=>Math.E],"^":[be,[be,be],(r,[e,i])=>Math.pow(e.evaluate(r),i.evaluate(r))],sqrt:[be,[be],(r,[e])=>Math.sqrt(e.evaluate(r))],log10:[be,[be],(r,[e])=>Math.log(e.evaluate(r))/Math.LN10],ln:[be,[be],(r,[e])=>Math.log(e.evaluate(r))],log2:[be,[be],(r,[e])=>Math.log(e.evaluate(r))/Math.LN2],sin:[be,[be],(r,[e])=>Math.sin(e.evaluate(r))],cos:[be,[be],(r,[e])=>Math.cos(e.evaluate(r))],tan:[be,[be],(r,[e])=>Math.tan(e.evaluate(r))],asin:[be,[be],(r,[e])=>Math.asin(e.evaluate(r))],acos:[be,[be],(r,[e])=>Math.acos(e.evaluate(r))],atan:[be,[be],(r,[e])=>Math.atan(e.evaluate(r))],min:[be,_n(be),(r,e)=>Math.min(...e.map(i=>i.evaluate(r)))],max:[be,_n(be),(r,e)=>Math.max(...e.map(i=>i.evaluate(r)))],abs:[be,[be],(r,[e])=>Math.abs(e.evaluate(r))],round:[be,[be],(r,[e])=>{const i=e.evaluate(r);return i<0?-Math.round(-i):Math.round(i)}],floor:[be,[be],(r,[e])=>Math.floor(e.evaluate(r))],ceil:[be,[be],(r,[e])=>Math.ceil(e.evaluate(r))],"filter-==":[je,[Fe,Be],(r,[e,i])=>r.properties()[e.value]===i.value],"filter-id-==":[je,[Be],(r,[e])=>r.id()===e.value],"filter-type-==":[je,[Fe],(r,[e])=>r.geometryType()===e.value],"filter-<":[je,[Fe,Be],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<o}],"filter-id-<":[je,[Be],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<s}],"filter->":[je,[Fe,Be],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>o}],"filter-id->":[je,[Be],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>s}],"filter-<=":[je,[Fe,Be],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s<=o}],"filter-id-<=":[je,[Be],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i<=s}],"filter->=":[je,[Fe,Be],(r,[e,i])=>{const s=r.properties()[e.value],o=i.value;return typeof s==typeof o&&s>=o}],"filter-id->=":[je,[Be],(r,[e])=>{const i=r.id(),s=e.value;return typeof i==typeof s&&i>=s}],"filter-has":[je,[Be],(r,[e])=>e.value in r.properties()],"filter-has-id":[je,[],r=>r.id()!==null&&r.id()!==void 0],"filter-type-in":[je,[Wt(Fe)],(r,[e])=>e.value.indexOf(r.geometryType())>=0],"filter-id-in":[je,[Wt(Be)],(r,[e])=>e.value.indexOf(r.id())>=0],"filter-in-small":[je,[Fe,Wt(Be)],(r,[e,i])=>i.value.indexOf(r.properties()[e.value])>=0],"filter-in-large":[je,[Fe,Wt(Be)],(r,[e,i])=>function(s,o,l,u){for(;l<=u;){const p=l+u>>1;if(o[p]===s)return!0;o[p]>s?u=p-1:l=p+1}return!1}(r.properties()[e.value],i.value,0,i.value.length-1)],all:{type:je,overloads:[[[je,je],(r,[e,i])=>e.evaluate(r)&&i.evaluate(r)],[_n(je),(r,e)=>{for(const i of e)if(!i.evaluate(r))return!1;return!0}]]},any:{type:je,overloads:[[[je,je],(r,[e,i])=>e.evaluate(r)||i.evaluate(r)],[_n(je),(r,e)=>{for(const i of e)if(i.evaluate(r))return!0;return!1}]]},"!":[je,[je],(r,[e])=>!e.evaluate(r)],"is-supported-script":[je,[Fe],(r,[e])=>{const i=r.globals&&r.globals.isSupportedScript;return!i||i(e.evaluate(r))}],upcase:[Fe,[Fe],(r,[e])=>e.evaluate(r).toUpperCase()],downcase:[Fe,[Fe],(r,[e])=>e.evaluate(r).toLowerCase()],concat:[Fe,_n(Be),(r,e)=>e.map(i=>an(i.evaluate(r))).join("")],split:[Wt(Fe),[Fe,Fe],(r,[e,i])=>e.evaluate(r).split(i.evaluate(r))],join:[Fe,[Wt(Fe),Fe],(r,[e,i])=>e.evaluate(r).join(i.evaluate(r))],"resolved-locale":[Fe,[bs],(r,[e])=>e.evaluate(r).resolvedLocale()]});class Ls{constructor(e,i,s){this.expression=e,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=i?function(o){if(o.type==="color"&&Oo(o.default))return new Ve(0,0,0,0);switch(o.type){case"color":return Ve.parse(o.default)||null;case"padding":return Kt.parse(o.default)||null;case"numberArray":return dt.parse(o.default)||null;case"colorArray":return Re.parse(o.default)||null;case"variableAnchorOffsetCollection":return oi.parse(o.default)||null;case"projectionDefinition":return ai.parse(o.default)||null;default:return o.default===void 0?null:o.default}}(i):null,this._enumValues=i&&i.type==="enum"?i.values:null,this._globalState=s}evaluateWithoutErrorHandling(e,i,s,o,l,u){return this._globalState&&(e=ts(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=i,this._evaluator.featureState=s,this._evaluator.canonical=o,this._evaluator.availableImages=l||null,this._evaluator.formattedSection=u,this.expression.evaluate(this._evaluator)}evaluate(e,i,s,o,l,u){this._globalState&&(e=ts(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=i||null,this._evaluator.featureState=s||null,this._evaluator.canonical=o,this._evaluator.availableImages=l||null,this._evaluator.formattedSection=u||null;try{const p=this.expression.evaluate(this._evaluator);if(p==null||typeof p=="number"&&p!=p)return this._defaultValue;if(this._enumValues&&!(p in this._enumValues))throw new st(`Expected value to be one of ${Object.keys(this._enumValues).map(g=>JSON.stringify(g)).join(", ")}, but found ${JSON.stringify(p)} instead.`);return p}catch(p){return this._warningHistory[p.message]||(this._warningHistory[p.message]=!0,typeof console<"u"),this._defaultValue}}}function Vo(r){return Array.isArray(r)&&r.length>0&&typeof r[0]=="string"&&r[0]in Kn}function Bs(r,e,i){const s=new cn(Kn,Fo,[],e?function(l){const u={color:Pi,string:Fe,number:be,enum:Fe,boolean:je,formatted:ws,padding:_o,numberArray:Ts,colorArray:Bn,projectionDefinition:go,resolvedImage:On,variableAnchorOffsetCollection:Ss};return l.type==="array"?Wt(u[l.value]||Be,l.length):u[l.type]}(e):void 0),o=s.parse(r,void 0,void 0,void 0,e&&e.type==="string"?{typeAnnotation:"coerce"}:void 0);return o?kc(new Ls(o,e,i)):Jn(s.errors)}class jo{constructor(e,i,s){this.kind=e,this._styleExpression=i,this.isStateDependent=e!=="constant"&&!Rs(i.expression),this.globalStateRefs=es(i.expression),this._globalState=s}evaluateWithoutErrorHandling(e,i,s,o,l,u){return this._globalState&&(e=ts(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,l,u)}evaluate(e,i,s,o,l,u){return this._globalState&&(e=ts(e,this._globalState)),this._styleExpression.evaluate(e,i,s,o,l,u)}}class No{constructor(e,i,s,o,l){this.kind=e,this.zoomStops=s,this._styleExpression=i,this.isStateDependent=e!=="camera"&&!Rs(i.expression),this.globalStateRefs=es(i.expression),this.interpolationType=o,this._globalState=l}evaluateWithoutErrorHandling(e,i,s,o,l,u){return this._globalState&&(e=ts(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,i,s,o,l,u)}evaluate(e,i,s,o,l,u){return this._globalState&&(e=ts(e,this._globalState)),this._styleExpression.evaluate(e,i,s,o,l,u)}interpolationFactor(e,i,s){return this.interpolationType?It.interpolationFactor(this.interpolationType,e,i,s):0}}function Bc(r,e,i){const s=Bs(r,e,i);if(s.result==="error")return s;const o=s.value.expression,l=Lo(o);if(!l&&!Qn(e))return Jn([new qt("","data expressions not supported")]);const u=Bo(o,["zoom"]);if(!u&&!Rc(e))return Jn([new qt("","zoom expressions not supported")]);const p=yn(o);return p||u?p instanceof qt?Jn([p]):p instanceof It&&!ul(e)?Jn([new qt("",'"interpolate" expressions cannot be used with this property')]):kc(p?new No(l?"camera":"composite",s.value,p.labels,p instanceof It?p.interpolation:void 0,i):new jo(l?"constant":"source",s.value,i)):Jn([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Uo{constructor(e,i){this._parameters=e,this._specification=i,nn(this,Fc(this._parameters,this._specification))}static deserialize(e){return new Uo(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function yn(r){let e=null;if(r instanceof ot)e=yn(r.result);else if(r instanceof Cs){for(const i of r.args)if(e=yn(i),e)break}else(r instanceof qn||r instanceof It)&&r.input instanceof Bi&&r.input.name==="zoom"&&(e=r);return e instanceof qt||r.eachChild(i=>{const s=yn(i);s instanceof qt?e=s:!e&&s?e=new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&s&&e!==s&&(e=new qt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function es(r,e=new Set){return r instanceof ks&&e.add(r.key),r.eachChild(i=>{es(i,e)}),e}function ts(r,e){const{zoom:i,heatmapDensity:s,elevation:o,lineProgress:l,isSupportedScript:u,accumulated:p}=r??{};return{zoom:i,heatmapDensity:s,elevation:o,lineProgress:l,isSupportedScript:u,accumulated:p,globalState:e}}function hl(r){if(r===!0||r===!1)return!0;if(!Array.isArray(r)||r.length===0)return!1;switch(r[0]){case"has":return r.length>=2&&r[1]!=="$id"&&r[1]!=="$type";case"in":return r.length>=3&&(typeof r[1]!="string"||Array.isArray(r[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return r.length!==3||Array.isArray(r[1])||Array.isArray(r[2]);case"any":case"all":for(const e of r.slice(1))if(!hl(e)&&typeof e!="boolean")return!1;return!0;default:return!0}}const Ku={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Os(r,e){if(r==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};hl(r)||(r=Vs(r));const i=Bs(r,Ku,e);if(i.result==="error")throw new Error(i.value.map(s=>`${s.key}: ${s.message}`).join(", "));return{filter:(s,o,l)=>i.value.evaluate(s,o,{},l),needGeometry:dl(r),getGlobalStateRefs:()=>es(i.value.expression)}}function Ju(r,e){return r<e?-1:r>e?1:0}function dl(r){if(!Array.isArray(r))return!1;if(r[0]==="within"||r[0]==="distance")return!0;for(let e=1;e<r.length;e++)if(dl(r[e]))return!0;return!1}function Vs(r){if(!r)return!0;const e=r[0];return r.length<=1?e!=="any":e==="=="?pl(r[1],r[2],"=="):e==="!="?js(pl(r[1],r[2],"==")):e==="<"||e===">"||e==="<="||e===">="?pl(r[1],r[2],e):e==="any"?(i=r.slice(1),["any"].concat(i.map(Vs))):e==="all"?["all"].concat(r.slice(1).map(Vs)):e==="none"?["all"].concat(r.slice(1).map(Vs).map(js)):e==="in"?Oc(r[1],r.slice(2)):e==="!in"?js(Oc(r[1],r.slice(2))):e==="has"?fl(r[1]):e!=="!has"||js(fl(r[1]));var i}function pl(r,e,i){switch(r){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,r,e]}}function Oc(r,e){if(e.length===0)return!1;switch(r){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(i=>typeof i!=typeof e[0])?["filter-in-large",r,["literal",e.sort(Ju)]]:["filter-in-small",r,["literal",e]]}}function fl(r){switch(r){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",r]}}function js(r){return["!",r]}function Go(r){const e=typeof r;if(e==="number"||e==="boolean"||e==="string"||r==null)return JSON.stringify(r);if(Array.isArray(r)){let o="[";for(const l of r)o+=`${Go(l)},`;return`${o}]`}const i=Object.keys(r).sort();let s="{";for(let o=0;o<i.length;o++)s+=`${JSON.stringify(i[o])}:${Go(r[i[o]])},`;return`${s}}`}function Qu(r){let e="";for(const i of Ba)e+=`/${Go(r[i])}`;return e}function Vc(r){const e=r.value;return e?[new _e(r.key,e,"constants have been deprecated as of v8")]:[]}function St(r){return r instanceof Number||r instanceof String||r instanceof Boolean?r.valueOf():r}function vn(r){if(Array.isArray(r))return r.map(vn);if(r instanceof Object&&!(r instanceof Number||r instanceof String||r instanceof Boolean)){const e={};for(const i in r)e[i]=vn(r[i]);return e}return St(r)}function vi(r){const e=r.key,i=r.value,s=r.valueSpec||{},o=r.objectElementValidators||{},l=r.style,u=r.styleSpec,p=r.validateSpec;let g=[];const m=Ne(i);if(m!=="object")return[new _e(e,i,`object expected, ${m} found`)];for(const v in i){const _=v.split(".")[0],T=Ms(s,_)||s["*"];let b;if(Ms(o,_))b=o[_];else if(Ms(s,_)){if(i[v]===void 0)continue;b=p}else if(o["*"])b=o["*"];else{if(!s["*"]){g.push(new _e(e,i[v],`unknown property "${v}"`));continue}b=p}g=g.concat(b({key:(e&&`${e}.`)+v,value:i[v],valueSpec:T,style:l,styleSpec:u,object:i,objectKey:v,validateSpec:p},i))}for(const v in s)o[v]||s[v].required&&s[v].default===void 0&&i[v]===void 0&&g.push(new _e(e,i,`missing required property "${v}"`));return g}function $o(r){const e=r.value,i=r.valueSpec,s=r.style,o=r.styleSpec,l=r.key,u=r.arrayElementValidator||r.validateSpec;if(Ne(e)!=="array")return[new _e(l,e,`array expected, ${Ne(e)} found`)];if(i.length&&e.length!==i.length)return[new _e(l,e,`array length ${i.length} expected, length ${e.length} found`)];let p={type:i.value,values:i.values};o.$version<7&&(p.function=i.function),Ne(i.value)==="object"&&(p=i.value);let g=[];for(let m=0;m<e.length;m++)g=g.concat(u({array:e,arrayIndex:m,value:e[m],valueSpec:p,validateSpec:r.validateSpec,style:s,styleSpec:o,key:`${l}[${m}]`}));return g}function is(r){const e=r.key,i=r.value,s=r.valueSpec;let o=Ne(i);return o==="number"&&i!=i&&(o="NaN"),o!=="number"?[new _e(e,i,`number expected, ${o} found`)]:"minimum"in s&&i<s.minimum?[new _e(e,i,`${i} is less than the minimum value ${s.minimum}`)]:"maximum"in s&&i>s.maximum?[new _e(e,i,`${i} is greater than the maximum value ${s.maximum}`)]:[]}function Zo(r){const e=r.valueSpec,i=St(r.value.type);let s,o,l,u={};const p=i!=="categorical"&&r.value.property===void 0,g=!p,m=Ne(r.value.stops)==="array"&&Ne(r.value.stops[0])==="array"&&Ne(r.value.stops[0][0])==="object",v=vi({key:r.key,value:r.value,valueSpec:r.styleSpec.function,validateSpec:r.validateSpec,style:r.style,styleSpec:r.styleSpec,objectElementValidators:{stops:function(b){if(i==="identity")return[new _e(b.key,b.value,'identity function may not have a "stops" property')];let I=[];const M=b.value;return I=I.concat($o({key:b.key,value:M,valueSpec:b.valueSpec,validateSpec:b.validateSpec,style:b.style,styleSpec:b.styleSpec,arrayElementValidator:_})),Ne(M)==="array"&&M.length===0&&I.push(new _e(b.key,M,"array must have at least one stop")),I},default:function(b){return b.validateSpec({key:b.key,value:b.value,valueSpec:e,validateSpec:b.validateSpec,style:b.style,styleSpec:b.styleSpec})}}});return i==="identity"&&p&&v.push(new _e(r.key,r.value,'missing required property "property"')),i==="identity"||r.value.stops||v.push(new _e(r.key,r.value,'missing required property "stops"')),i==="exponential"&&r.valueSpec.expression&&!ul(r.valueSpec)&&v.push(new _e(r.key,r.value,"exponential functions not supported")),r.styleSpec.$version>=8&&(g&&!Qn(r.valueSpec)?v.push(new _e(r.key,r.value,"property functions not supported")):p&&!Rc(r.valueSpec)&&v.push(new _e(r.key,r.value,"zoom functions not supported"))),i!=="c
4ategorical"&&!m||r.value.property!==void 0||v.push(new _e(r.key,r.value,'"property" property is required')),v;function _(b){let I=[];const M=b.value,A=b.key;if(Ne(M)!=="array")return[new _e(A,M,`array expected, ${Ne(M)} found`)];if(M.length!==2)return[new _e(A,M,`array length 2 expected, length ${M.length} found`)];if(m){if(Ne(M[0])!=="object")return[new _e(A,M,`object expected, ${Ne(M[0])} found`)];if(M[0].zoom===void 0)return[new _e(A,M,"object stop key must have zoom")];if(M[0].value===void 0)return[new _e(A,M,"object stop key must have value")];if(l&&l>St(M[0].zoom))return[new _e(A,M[0].zoom,"stop zoom values must appear in ascending order")];St(M[0].zoom)!==l&&(l=St(M[0].zoom),o=void 0,u={}),I=I.concat(vi({key:`${A}[0]`,value:M[0],valueSpec:{zoom:{}},validateSpec:b.validateSpec,style:b.style,styleSpec:b.styleSpec,objectElementValidators:{zoom:is,value:T}}))}else I=I.concat(T({key:`${A}[0]`,value:M[0],validateSpec:b.validateSpec,style:b.style,styleSpec:b.styleSpec},M));return Vo(vn(M[1]))?I.concat([new _e(`${A}[1]`,M[1],"expressions are not allowed in function stops.")]):I.concat(b.validateSpec({key:`${A}[1]`,value:M[1],valueSpec:e,validateSpec:b.validateSpec,style:b.style,styleSpec:b.styleSpec}))}function T(b,I){const M=Ne(b.value),A=St(b.value),D=b.value!==null?b.value:I;if(s){if(M!==s)return[new _e(b.key,D,`${M} stop domain type must match previous stop domain type ${s}`)]}else s=M;if(M!=="number"&&M!=="string"&&M!=="boolean")return[new _e(b.key,D,"stop domain value must be a number, string, or boolean")];if(M!=="number"&&i!=="categorical"){let F=`number expected, ${M} found`;return Qn(e)&&i===void 0&&(F+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new _e(b.key,D,F)]}return i!=="categorical"||M!=="number"||isFinite(A)&&Math.floor(A)===A?i!=="categorical"&&M==="number"&&o!==void 0&&A<o?[new _e(b.key,D,"stop domain values must appear in ascending order")]:(o=A,i==="categorical"&&A in u?[new _e(b.key,D,"stop domain values must be unique")]:(u[A]=!0,[])):[new _e(b.key,D,`integer expected, found ${A}`)]}}function Rr(r){const e=(r.expressionContext==="property"?Bc:Bs)(vn(r.value),r.valueSpec);if(e.result==="error")return e.value.map(s=>new _e(`${r.key}${s.key}`,r.value,s.message));const i=e.value.expression||e.value._styleExpression.expression;if(r.expressionContext==="property"&&r.propertyKey==="text-font"&&!i.outputDefined())return[new _e(r.key,r.value,`Invalid data expression for "${r.propertyKey}". Output values must be contained as literals within the expression.`)];if(r.expressionContext==="property"&&r.propertyType==="layout"&&!Rs(i))return[new _e(r.key,r.value,'"feature-state" data expressions are not supported with layout properties.')];if(r.expressionContext==="filter"&&!Rs(i))return[new _e(r.key,r.value,'"feature-state" data expressions are not supported with filters.')];if(r.expressionContext&&r.expressionContext.indexOf("cluster")===0){if(!Bo(i,["zoom","feature-state"]))return[new _e(r.key,r.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(r.expressionContext==="cluster-initial"&&!Lo(i))return[new _e(r.key,r.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Ns(r){const e=r.key,i=r.value,s=Ne(i);return s!=="string"?[new _e(e,i,`color expected, ${s} found`)]:Ve.parse(String(i))?[]:[new _e(e,i,`color expected, "${i}" found`)]}function xn(r){const e=r.key,i=r.value,s=r.valueSpec,o=[];return Array.isArray(s.values)?s.values.indexOf(St(i))===-1&&o.push(new _e(e,i,`expected one of [${s.values.join(", ")}], ${JSON.stringify(i)} found`)):Object.keys(s.values).indexOf(St(i))===-1&&o.push(new _e(e,i,`expected one of [${Object.keys(s.values).join(", ")}], ${JSON.stringify(i)} found`)),o}function rs(r){return hl(vn(r.value))?Rr(nn({},r,{expressionContext:"filter",valueSpec:{value:"boolean"}})):jc(r)}function jc(r){const e=r.value,i=r.key;if(Ne(e)!=="array")return[new _e(i,e,`array expected, ${Ne(e)} found`)];const s=r.styleSpec;let o,l=[];
vendor: 9,769 bytes, lines 4-5
4if(e.length<1)return[new _e(i,e,"filter array must have at least 1 element")];switch(l=l.concat(xn({key:`${i}[0]`,value:e[0],valueSpec:s.filter_operator,style:r.style,styleSpec:r.styleSpec})),St(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&St(e[1])==="$type"&&l.push(new _e(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":e.length!==3&&l.push(new _e(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(o=Ne(e[1]),o!=="string"&&l.push(new _e(`${i}[1]`,e[1],`string expected, ${o} found`)));for(let u=2;u<e.length;u++)o=Ne(e[u]),St(e[1])==="$type"?l=l.concat(xn({key:`${i}[${u}]`,value:e[u],valueSpec:s.geometry_type,style:r.style,styleSpec:r.styleSpec})):o!=="string"&&o!=="number"&&o!=="boolean"&&l.push(new _e(`${i}[${u}]`,e[u],`string, number, or boolean expected, ${o} found`));break;case"any":case"all":case"none":for(let u=1;u<e.length;u++)l=l.concat(jc({key:`${i}[${u}]`,value:e[u],style:r.style,styleSpec:r.styleSpec}));break;case"has":case"!has":o=Ne(e[1]),e.length!==2?l.push(new _e(i,e,`filter array for "${e[0]}" operator must have 2 elements`)):o!=="string"&&l.push(new _e(`${i}[1]`,e[1],`string expected, ${o} found`))}return l}function Nc(r,e){const i=r.key,s=r.validateSpec,o=r.style,l=r.styleSpec,u=r.value,p=r.objectKey,g=l[`${e}_${r.layerType}`];if(!g)return[];const m=p.match(/^(.*)-transition$/);if(e==="paint"&&m&&g[m[1]]&&g[m[1]].transition)return s({key:i,value:u,valueSpec:l.transition,style:o,styleSpec:l});const v=r.valueSpec||g[p];if(!v)return[new _e(i,u,`unknown property "${p}"`)];let _;if(Ne(u)==="string"&&Qn(v)&&!v.tokens&&(_=/^{([^}]+)}$/.exec(u)))return[new _e(i,u,`"${p}" does not support interpolation syntax 5Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(_[1])} }\`.`)];const T=[];return r.layerType==="symbol"&&p==="text-font"&&Oo(vn(u))&&St(u.type)==="identity"&&T.push(new _e(i,u,'"text-font" does not support identity functions')),T.concat(s({key:r.key,value:u,valueSpec:v,style:o,styleSpec:l,expressionContext:"property",propertyType:e,propertyKey:p}))}function Uc(r){return Nc(r,"paint")}function Gc(r){return Nc(r,"layout")}function $c(r){var e,i;let s=[];const o=r.value,l=r.key,u=r.style,p=r.styleSpec;if(Ne(o)!=="object")return[new _e(l,o,`object expected, ${Ne(o)} found`)];o.type||o.ref||s.push(new _e(l,o,'either "type" or "ref" is required'));let g=St(o.type);const m=St(o.ref);if(o.id){const v=St(o.id);for(let _=0;_<r.arrayIndex;_++){const T=u.layers[_];St(T.id)===v&&s.push(new _e(l,o.id,`duplicate layer id "${o.id}", previously used at line ${T.id.__line__}`))}}if("ref"in o){let v;["type","source","source-layer","filter","layout"].forEach(_=>{_ in o&&s.push(new _e(l,o[_],`"${_}" is prohibited for ref layers`))}),u.layers.forEach(_=>{St(_.id)===m&&(v=_)}),v?v.ref?s.push(new _e(l,o.ref,"ref cannot reference another ref layer")):g=St(v.type):s.push(new _e(l,o.ref,`ref layer "${m}" not found`))}else if(g!=="background")if(o.source){const v=u.sources&&u.sources[o.source],_=v&&St(v.type);v?_==="vector"&&g==="raster"?s.push(new _e(l,o.source,`layer "${o.id}" requires a raster source`)):_!=="raster-dem"&&g==="hillshade"||_!=="raster-dem"&&g==="color-relief"?s.push(new _e(l,o.source,`layer "${o.id}" requires a raster-dem source`)):_==="raster"&&g!=="raster"?s.push(new _e(l,o.source,`layer "${o.id}" requires a vector source`)):_!=="vector"||o["source-layer"]?_==="raster-dem"&&g!=="hillshade"&&g!=="color-relief"?s.push(new _e(l,o.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):g!=="line"||!o.paint||!o.paint["line-gradient"]||_==="geojson"&&v.lineMetrics||s.push(new _e(l,o,`layer "${o.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):s.push(new _e(l,o,`layer "${o.id}" must specify a "source-layer"`)):s.push(new _e(l,o.source,`source "${o.source}" not found`))}else s.push(new _e(l,o,'missing required property "source"'));return g==="raster"&&(!((e=o.paint)===null||e===void 0)&&e.resampling)&&(!((i=o.paint)===null||i===void 0)&&i["raster-resampling"])&&s.push(new _e(l,o.paint,`layer "${o.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),s=s.concat(vi({key:l,value:o,valueSpec:p.layer,style:r.style,styleSpec:r.styleSpec,validateSpec:r.validateSpec,objectElementValidators:{"*":()=>[],type:()=>r.validateSpec({key:`${l}.type`,value:o.type,valueSpec:p.layer.type,style:r.style,styleSpec:r.styleSpec,validateSpec:r.validateSpec,object:o,objectKey:"type"}),filter:rs,layout:v=>vi({layer:o,key:v.key,value:v.value,style:v.style,styleSpec:v.styleSpec,validateSpec:v.validateSpec,objectElementValidators:{"*":_=>Gc(nn({layerType:g},_))}}),paint:v=>vi({layer:o,key:v.key,value:v.value,style:v.style,styleSpec:v.styleSpec,validateSpec:v.validateSpec,objectElementValidators:{"*":_=>Uc(nn({layerType:g},_))}})}})),s}function Fr(r){const e=r.value,i=r.key,s=Ne(e);return s!=="string"?[new _e(i,e,`string expected, ${s} found`)]:[]}const ml={promoteId:function({key:r,value:e}){if(Ne(e)==="string")return Fr({key:r,value:e});{const i=[];for(const s in e)i.push(...Fr({key:`${r}.${s}`,value:e[s]}));return i}}};function gl(r){const e=r.value,i=r.key,s=r.styleSpec,o=r.style,l=r.validateSpec;if(!e.type)return[new _e(i,e,'"type" is required')];const u=St(e.type);let p;switch(u){case"vector":case"raster":return p=vi({key:i,value:e,valueSpec:s[`source_${u.replace("-","_")}`],style:r.style,styleSpec:s,objectElementValidators:ml,validateSpec:l}),p;case"raster-dem":return p=function(g){var m;const v=(m=g.sourceName)!==null&&m!==void 0?m:"",_=g.value,T=g.styleSpec,b=T.source_raster_dem,I=g.style;let M=[];const A=Ne(_);if(_===void 0)return M;if(A!=="object")return M.push(new _e("source_raster_dem",_,`object expected, ${A} found`)),M;const D=St(_.encoding)==="custom",F=["redFactor","greenFactor","blueFactor","baseShift"],k=g.value.encoding?`"${g.value.encoding}"`:"Default";for(const L in _)!D&&F.includes(L)?M.push(new _e(L,_[L],`In "${v}": "${L}" is only valid when "encoding" is set to "custom". ${k} encoding found`)):b[L]?M=M.concat(g.validateSpec({key:L,value:_[L],valueSpec:b[L],validateSpec:g.validateSpec,style:I,styleSpec:T})):M.push(new _e(L,_[L],`unknown property "${L}"`));return M}({sourceName:i,value:e,style:r.style,styleSpec:s,validateSpec:l}),p;case"geojson":if(p=vi({key:i,value:e,valueSpec:s.source_geojson,style:o,styleSpec:s,validateSpec:l,objectElementValidators:ml}),e.cluster)for(const g in e.clusterProperties){const[m,v]=e.clusterProperties[g],_=typeof m=="string"?[m,["accumulated"],["get",g]]:m;p.push(...Rr({key:`${i}.${g}.map`,value:v,expressionContext:"cluster-map"})),p.push(...Rr({key:`${i}.${g}.reduce`,value:_,expressionContext:"cluster-reduce"}))}return p;case"video":return vi({key:i,value:e,valueSpec:s.source_video,style:o,validateSpec:l,styleSpec:s});case"image":return vi({key:i,value:e,valueSpec:s.source_image,style:o,validateSpec:l,styleSpec:s});case"canvas":return[new _e(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return xn({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function Us(r){const e=r.value,i=r.styleSpec,s=i.light,o=r.style;let l=[];const u=Ne(e);if(e===void 0)return l;if(u!=="object")return l=l.concat([new _e("light",e,`object expected, ${u} found`)]),l;for(const p in e){const g=p.match(/^(.*)-transition$/);l=l.concat(g&&s[g[1]]&&s[g[1]].transition?r.validateSpec({key:p,value:e[p],valueSpec:i.transition,validateSpec:r.validateSpec,style:o,styleSpec:i}):s[p]?r.validateSpec({key:p,value:e[p],valueSpec:s[p],validateSpec:r.validateSpec,style:o,styleSpec:i}):[new _e(p,e[p],`unknown property "${p}"`)])}return l}function Zc(r){const e=r.value,i=r.styleSpec,s=i.sky,o=r.style,l=Ne(e);if(e===void 0)return[];if(l!=="object")return[new _e("sky",e,`object expected, ${l} found`)];let u=[];for(const p in e)u=u.concat(s[p]?r.validateSpec({key:p,value:e[p],valueSpec:s[p],style:o,styleSpec:i}):[new _e(p,e[p],`unknown property "${p}"`)]);return u}function _l(r){const e=r.value,i=r.styleSpec,s=i.terrain,o=r.style;let l=[];const u=Ne(e);if(e===void 0)return l;if(u!=="object")return l=l.concat([new _e("terrain",e,`object expected, ${u} found`)]),l;for(const p in e)l=l.concat(s[p]?r.validateSpec({key:p,value:e[p],valueSpec:s[p],validateSpec:r.validateSpec,style:o,styleSpec:i}):[new _e(p,e[p],`unknown property "${p}"`)]);return l}function yl(r){let e=[];const i=r.value,s=r.key;if(Array.isArray(i)){const o=[],l=[];for(const u in i)i[u].id&&o.includes(i[u].id)&&e.push(new _e(s,i,`all the sprites' ids must be unique, but ${i[u].id} is duplicated`)),o.push(i[u].id),i[u].url&&l.includes(i[u].url)&&e.push(new _e(s,i,`all the sprites' URLs must be unique, but ${i[u].url} is duplicated`)),l.push(i[u].url),e=e.concat(vi({key:`${s}[${u}]`,value:i[u],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:r.validateSpec}));return e}return Fr({key:s,value:i})}function qc(r){return!!r&&r.constructor===Object}function Gs(r){return qc(r.value)?[]:[new _e(r.key,r.value,`object expected, ${Ne(r.value)} found`)]}const vl={"*":()=>[],array:$o,boolean:function(r){const e=r.value,i=r.key,s=Ne(e);return s!=="boolean"?[new _e(i,e,`boolean expected, ${s} found`)]:[]},number:is,color:Ns,constants:Vc,enum:xn,filter:rs,function:Zo,layer:$c,object:vi,source:gl,light:Us,sky:Zc,terrain:_l,projection:function(r){const e=r.value,i=r.styleSpec,s=i.projection,o=r.style,l=Ne(e);if(e===void 0)return[];if(l!=="object")return[new _e("projection",e,`object expected, ${l}
5 found`)];let u=[];for(const p in e)u=u.concat(s[p]?r.validateSpec({key:p,value:e[p],valueSpec:s[p],style:o,styleSpec:i}):[new _e(p,e[p],`unknown property "${p}"`)]);return u},projectionDefinition:function(r){const e=r.key;let i=r.value;i=i instanceof String?i.valueOf():i;const s=Ne(i);return s!=="array"||function(o){return Array.isArray(o)&&o.length===3&&typeof o[0]=="string"&&typeof o[1]=="string"&&typeof o[2]=="number"}(i)||function(o){return!!["interpolate","step","literal"].includes(o[0])}(i)?["array","string"].includes(s)?[]:[new _e(e,i,`projection expected, invalid type "${s}" found`)]:[new _e(e,i,`projection expected, invalid array ${JSON.stringify(i)} found`)]},string:Fr,formatted:function(r){return Fr(r).length===0?[]:Rr(r)},resolvedImage:function(r){return Fr(r).length===0?[]:Rr(r)},padding:function(r){const e=r.key,i=r.value;if(Ne(i)==="array"){if(i.length<1||i.length>4)return[new _e(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const s={type:"number"};let o=[];for(let l=0;l<i.length;l++)o=o.concat(r.validateSpec({key:`${e}[${l}]`,value:i[l],validateSpec:r.validateSpec,valueSpec:s}));return o}return is({key:e,value:i,valueSpec:{}})},numberArray:function(r){const e=r.key,i=r.value;if(Ne(i)==="array"){const s={type:"number"};if(i.length<1)return[new _e(e,i,"array length at least 1 expected, length 0 found")];let o=[];for(let l=0;l<i.length;l++)o=o.concat(r.validateSpec({key:`${e}[${l}]`,value:i[l],validateSpec:r.validateSpec,valueSpec:s}));return o}return is({key:e,value:i,valueSpec:{}})},colorArray:function(r){const e=r.key,i=r.value;if(Ne(i)==="array"){if(i.length<1)return[new _e(e,i,"array length at least 1 expected, length 0 found")];let s=[];for(let o=0;o<i.length;o++)s=s.concat(Ns({key:`${e}[${o}]`,value:i[o]}));return s}return Ns({key:e,value:i})},variableAnchorOffsetCollection:function(r){const e=r.key,i=r.value,s=Ne(i),o=r.styleSpec;if(s!=="array"||i.length<1||i.length%2!=0)return[new _e(e,i,"variableAnchorOffsetCollection requires a non-empty array of even length")];let l=[];for(let u=0;u<i.length;u+=2)l=l.concat(xn({key:`${e}[${u}]`,value:i[u],valueSpec:o.layout_symbol["text-anchor"]})),l=l.concat($o({key:`${e}[${u+1}]`,value:i[u+1],valueSpec:{length:2,value:"number"},validateSpec:r.validateSpec,style:r.style,styleSpec:o}));return l},sprite:yl,state:Gs,fontFaces:function(r){const e=r.key,i=r.value,s=r.validateSpec,o=r.styleSpec,l=r.style;if(!qc(i))return[new _e(e,i,`object expected, ${Ne(i)} found`)];const u=[];for(const p in i){const g=i[p],m=Ne(g);if(m==="string")u.push(...Fr({key:`${e}.${p}`,value:g}));else if(m==="array"){const v={url:{type:"string",required:!0},"unicode-range":{type:"array",value:"string"}};for(const[_,T]of g.entries())u.push(...vi({key:`${e}.${p}[${_}]`,value:T,valueSpec:v,styleSpec:o,style:l,validateSpec:s}))}else u.push(new _e(`${e}.${p}`,g,`string or array expected, ${m} found`))}return u}};function $s(r){const e=r.value,i=r.valueSpec,s=r.styleSpec;return r.validateSpec=$s,i.expression&&Oo(St(e))?Zo(r):i.expression&&Vo(vn(e))?Rr(r):i.type&&vl[i.type]?vl[i.type](r):vi(nn({},r,{valueSpec:i.type?s[i.type]:i}))}function ns(r){const e=r.value,i=r.key,s=Fr(r);return s.length||(e.indexOf("{fontstack}")===-1&&s.push(new _e(i,e,'"glyphs" url must include a "{fontstack}" token')),e.indexOf("{range}")===-1&&s.push(new _e(i,e,'"glyphs" url must include a "{range}" token'))),s}function Oi(r,e=ce){let i=[];return i=i.concat($s({key:"",value:r,valueSpec:e.$root,styleSpec:e,style:r,validateSpec:$s,objectElementValidators:{glyphs:ns,"*":()=>[]}})),r.constants&&(i=i.concat(Vc({key:"constants",value:r.constants}))),Wc(i)}function Yi(r){return function(e){return r(Object.assign({},e,{validateSpec:$s}))}}function Wc(r){return[].concat(r).sort((e,i)=>e.line-i.line)}function Ki(r){return function(...e){return Wc(r.apply(this,e))}}Oi.source=Ki(Yi(gl)),Oi.sprite=Ki(Yi(yl)),Oi.glyphs=Ki(Yi(ns)),Oi.light=Ki(Yi(Us)),Oi.sky=Ki(Yi(Zc)),Oi.terrain=Ki(Yi(_l)),Oi.state=Ki(Yi(Gs)),Oi.layer=Ki(Yi($c)),Oi.filter=Ki(Yi(rs)),Oi.paintProperty=Ki(Yi(Uc)),Oi.layoutProperty=Ki(Yi(Gc));const eh={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"};class th{constructor(e,i){this._globalState=i,this.setValue(e)}evaluate(){var e;return(e=this._literalValue)!==null&&e!==void 0?e:this._compiledValue.evaluate({})}setValue(e){if(e==null||e==="visible"||e==="none")return this._literalValue=e==="none"?"none":"visible",this._compiledValue=void 0,void(this._globalStateRefs=new Set);const i=Bs(e,eh,this._globalState);if(i.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,new Error(i.value.map(s=>`${s.key}: ${s.message}`).join(", "));this._literalValue=void 0,this._compiledValue=i.value,this._globalStateRefs=es(i.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}}const Zs=ce,ir=Oi,Ci=ir.light,qs=ir.sky,Hc=ir.paintProperty,ih=ir.layoutProperty;function Xc(r,e){let i=!1;if(e?.length)for(const s of e)r.fire(new Ln(new Error(s.message))),i=!0;return i}class dr{constructor(e,i,s){const o=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;const u=new Int32Array(this.arrayBuffer);e=u[0],this.d=(i=u[1])+2*(s=u[2]);for(let g=0;g<this.d*this.d;g++){const m=u[3+g],v=u[3+g+1];o.push(m===v?null:u.subarray(m,v))}const p=u[3+o.length+1];this.keys=u.subarray(u[3+o.length],p),this.bboxes=u.subarray(p),this.insert=this._insertReadonly}else{this.d=i+2*s;for(let u=0;u<this.d*this.d;u++)o.push([]);this.keys=[],this.bboxes=[]}this.n=i,this.extent=e,this.padding=s,this.scale=i/e,this.uid=0;const l=s/i*e;this.min=-l,this.max=e+l}
5insert(e,i,s,o,l){this._forEachCell(i,s,o,l,this._insertCell,this.uid++,void 0,void 0),this.keys.push(e),this.bboxes.push(i),this.bboxes.push(s),this.bboxes.push(o),this.bboxes.push(l)}_insertReadonly(){throw new Error("Cannot insert into a GridIndex created from an ArrayBuffer.")}_insertCell(e,i,s,o,l,u){this.cells[l].push(u)}query(e,i,s,o,l){const u=this.min,p=this.max;if(e<=u&&i<=u&&p<=s&&p<=o&&!l)return[...this.keys];{const g=[];return this._forEachCell(e,i,s,o,this._queryCell,g,{},l),g}}_queryCell(e,i,s,o,l,u,p,g){const m=this.cells[l];if(m!==null){const v=this.keys,_=this.bboxes;for(const T of m)if(p[T]===void 0){const b=4*T;(g?g(_[b+0],_[b+1],_[b+2],_[b+3]):e<=_[b+2]&&i<=_[b+3]&&s>=_[b+0]&&o>=_[b+1])?(p[T]=!0,u.push(v[T])):p[T]=!1}}}_forEachCell(e,i,s,o,l,u,p,g){const m=this._convertToCellCoord(e),v=this._convertToCellCoord(i),_=this._convertToCellCoord(s),T=this._convertToCellCoord(o);for(let b=m;b<=_;b++)for(let I=v;I<=T;I++){const M=this.d*I+b;if((!g||g(this._convertFromCellCoord(b),this._convertFromCellCoord(I),this._convertFromCellCoord(b+1),this._convertFromCellCoord(I+1)))&&l.call(this,e,i,s,o,M,u,p,g))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const e=this.cells,i=3+this.cells.length+1+1;let s=0;for(const u of this.cells)s+=u.length;const o=new Int32Array(i+s+this.keys.length+this.bboxes.length);o[0]=this.extent,o[1]=this.n,o[2]=this.padding;let l=i;for(let u=0;u<e.length;u++){const p=e[u];o[3+u]=l,o.set(p,l),l+=p.length}return o[3+e.length]=l,o.set(this.keys,l),l+=this.keys.length,o[3+e.length+1]=l,o.set(this.bboxes,l),l+=this.bboxes.length,o.buffer}static serialize(e,i){const s=e.toArrayBuffer();return i&&i.push(s),{buffer:s}}static deserialize(e){return new dr(e.buffer)}}const rr={};function Se(r,e,i={}){if(rr[r])throw new Error(`${r} is already registered.`);Object.defineProperty(e,"_classRegistryKey",{value:r,writeable:!1}),rr[r]={klass:e,omit:i.omit||[],shallow:i.shallow||[]}}Se("Object",Object),Se("Set",Set),Se("TransferableGridIndex",dr),Se("Color",Ve),Se("Error",Error),Se("AJAXError",Rn),Se("ResolvedImage",Ii),Se("StylePropertyFunction",Uo),Se("StyleExpression",Ls,{omit:["_evaluator"]}),Se("ZoomDependentExpression",No),Se("ZoomConstantExpression",jo),Se("CompoundExpression",Bi,{omit:["_evaluate"]});for(const r in Kn)Kn[r]._classRegistryKey||Se(`Expression_${r}`,Kn[r]);function Yc(r){var e;return r&&typeof ArrayBuffer<"u"&&(r instanceof ArrayBuffer||((e=r.constructor)===null||e===void 0?void 0:e.name)==="ArrayBuffer")}function Ws(r){return r.$name||r.constructor._classRegistryKey}function Kc(r){return!function(e){if(e===null||typeof e!="object")return!1;const i=Ws(e);return i&&i!=="Object"}(r)&&(r==null||typeof r=="boolean"||typeof r=="number"||typeof r=="string"||r instanceof Boolean||r instanceof Number||r instanceof String||r instanceof Date||r instanceof RegExp||r instanceof Blob||r instanceof Error||Yc(r)||Jr(r)||ArrayBuffer.isView(r)||r instanceof ImageData)}function pr(r,e){if(Kc(r))return(Yc(r)||Jr(r))&&e&&e.push(r),ArrayBuffer.isView(r)&&e&&e.push(r.buffer),r instanceof ImageData&&e&&e.push(r.data.buffer),r;if(Array.isArray(r)){const l=[];for(const u of r)l.push(pr(u,e));return l}if(typeof r!="object")throw new Error("can't serialize object of type "+typeof r);const i=Ws(r);if(!i)throw new Error(`can't serialize object of unregistered class ${r.constructor.name}`);if(!rr[i])throw new Error(`${i} is not registered.`);const{klass:s}=rr[i],o=s.serialize?s.serialize(r,e):{};if(s.serialize){if(o===e?.[e.length-1])throw new Error("statically serialized object won't survive transfer of $name property")}else{for(const l in r){if(!r.hasOwnProperty(l)||rr[i].omit.includes(l))continue;const u=r[l];o[l]=rr[i].shallow.includes(l)?u:pr(u,e)}r instanceof Error&&(o.message=r.message)}if(o.$name)throw new Error("$name property is reserved for worker serialization logic.");return i!=="Object"&&(o.$name=i),o}function Hs(r){if(Kc(r))return r;if(Array.isArray(r))return r.map(Hs);if(typeof r!="object")throw new Error("can't deserialize object of type "+typeof r);const e=Ws(r)||"Object";if(!rr[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=rr[e];
vendor: 5,120 bytes, line 5
5if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(r);const s=Object.create(i.prototype);for(const o of Object.keys(r)){if(o==="$name")continue;const l=r[o];s[o]=rr[e].shallow.includes(o)?l:Hs(l)}return s}class xl{constructor(){this.first=!0}update(e,i){const s=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=s,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=s,!0):(this.lastFloorZoom>s?(this.lastIntegerZoom=s+1,this.lastIntegerZoomTime=i):this.lastFloorZoom<s&&(this.lastIntegerZoom=s,this.lastIntegerZoomTime=i),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=s,!0))}}function rh(r){return/[\u02EA\u02EB\u2E80-\u2FDF\u2FF0-\u303F\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FD-\u30FF\u3105-\u312F\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(r))}function bn(r){return/[\u02EA\u02EB\u1100-\u11FF\u1400-\u167F\u18B0-\u18F5\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u3007\u3012\u3013\u3020-\u302F\u3031-\u303F\u3041-\u3096\u309D-\u30FB\u30FD-\u30FF\u3105-\u312F\u3131-\u318E\u3190-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE48\uFE50-\uFE57\uFE5F-\uFE62\uFE67-\uFE6F\uFF00-\uFF07\uFF0A-\uFF0C\uFF0E-\uFF19\uFF1F-\uFF3A\uFF3C\uFF3E\uFF40-\uFF5A\uFFE0-\uFFE2\uFFE4-\uFFE7]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFE4\uDFF0-\uDFF6]|[\uD81C-\uD822\uD83D\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD30-\uDEFB]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83C[\uDC00-\uDE00\uDF00-\uDFFF]|\uD83E[\uDD00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(r))}function Jc(r){return/\s/u.test(String.fromCodePoint(r))}function bl(r){for(const e of r)if(bn(e.codePointAt(0)))return!0;return!1}function qo(r){for(const e of r)if(!Wo(e.codePointAt(0)))return!1;return!0}function Qc(r){const e=r.map(i=>{try{return new RegExp(`\\p{sc=${i}}`,"u").source}catch{return null}}).filter(i=>i);return new RegExp(e.join("|"),"u")}const wl=Qc(["Arab","Dupl","Mong","Ougr","Syrc"]);function Wo(r){return!wl.test(String.fromCodePoint(r))}function Tl(r){return!(bn(r)||(e=r,/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(e))));var e}const eu=Qc(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function Sl(r){return eu.test(String.fromCodePoint(r))}function tu(r,e){return!(!e&&Sl(r)||/[\u0900-\u0DFF\u0F00-\u109F\u1780-\u17FF]/gim.test(String.fromCodePoint(r)))}function Pl(r){for(const e of r)if(Sl(e.codePointAt(0)))return!0;return!1}const fr=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(r){this.pluginStatus=r.pluginStatus,this.pluginURL=r.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(r){if(fr.isParsed())throw new Error("RTL text plugin already registered.");this.applyArabicShaping=r.applyArabicShaping,this.processBidirectionalText=r.processBidirectionalText,this.processStyledBidirectionalText=r.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(r,e){return d(this,void 0,void 0,function*(){if(this.isParsed())return this.get
5State();if(r.pluginStatus!=="loading")return this.setState(r),r;const i=r.pluginURL,s=new Promise(l=>{this.loadScriptResolve=l});e(i);const o=new Promise(l=>setTimeout(()=>l(),this.TIMEOUT));if(yield Promise.race([s,o]),this.isParsed()){const l={pluginStatus:"loaded",pluginURL:i};return this.setState(l),l}throw this.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${i}`)})}};class at{constructor(e,i){this.isSupportedScript=iu,this.zoom=e,i?(this.now=i.now||0,this.fadeDuration=i.fadeDuration||0,this.zoomHistory=i.zoomHistory||new xl,this.transition=i.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new xl,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const e=this.zoom,i=e-Math.floor(e),s=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:i+(1-i)*s}:{fromScale:.5,toScale:1,t:1-(1-s)*i}}}function iu(r){return function(e,i){for(const s of e)if(!tu(s.codePointAt(0),i))return!1;return!0}(r,fr.getRTLTextPluginStatus()==="loaded")}const Ho="-transition";class Xs{constructor(e,i,s){this.property=e,this.value=i,this.expression=function(o,l,u){if(Oo(o))return new Uo(o,l);if(Vo(o)){const p=Bc(o,l,u);if(p.result==="error")throw new Error(p.value.map(g=>`${g.key}: ${g.message}`).join(", "));return p.value}{let p=o;return l.type==="color"&&typeof o=="string"?p=Ve.parse(o):l.type!=="padding"||typeof o!="number"&&!Array.isArray(o)?l.type!=="numberArray"||typeof o!="number"&&!Array.isArray(o)?l.type!=="colorArray"||typeof o!="string"&&!Array.isArray(o)?l.type==="variableAnchorOffsetCollection"&&Array.isArray(o)?p=oi.parse(o):l.type==="projectionDefinition"&&typeof o=="string"&&(p=ai.parse(o)):p=Re.parse(o):p=dt.parse(o):p=Kt.parse(o),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>p}}}(i===void 0?e.specification.default:i,e.specification,s)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(e,i,s){return this.property.possiblyEvaluate(this,e,i,s)}}class Il{constructor(e,i){this.property=e,this.value=new Xs(e,void 0,i)}transitioned(e,i){return new El(this.property,this.value,i,Fi({},e.transition,this.transition),e.now)}untransitioned(){return new El(this.property,this.value,null,{},0)}}class Ml{constructor(e,i){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=i}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return ke(this._values[e].value.value)}setValue(e,i){Object.hasOwn(this._values,e)||(this._values[e]=new Il(this._values[e].property,this._globalState)),this._values[e].value=new Xs(this._values[e].property,i===null?void 0:ke(i),this._globalState)}getTransition(e){return ke(this._values[e].transition)}setTransition(e,i){Object.hasOwn(this._values,e)||(this._values[e]=new Il(this._values[e].property,this._globalState)),this._values[e].transition=ke(i)||void 0}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s);const o=this.getTransition(i);o!==void 0&&(e[`${i}${Ho}`]=o)}return e}transitioned(e,i){const s=new ru(this._properties);for(const o of Object.keys(this._values))s._values[o]=this._values[o].transitioned(e,i._values[o]);return s}untransitioned(){const e=new ru(this._properties);for(const i of Object.keys(this._values))e._values[i]=this._values[i].untransitioned();return e}}class El{constructor(e,i,s,o,l){this.property=e,this.value=i,this.begin=l+o.delay||0,this.end=this.begin+o.duration||0,e.specification.transition&&(o.delay||o.duration)&&(this.prior=s)}possiblyEvaluate(e,i,s){const o=e.now||0,l=this.value.possiblyEvaluate(e,i,s),u=this.prior;if(u){if(o>this.end)return this.prior=null,l;if(this.value.isDataDriven())return this.prior=null,l;if(o<this.begin)return u.possiblyEvaluate(e,i,s);{const p=(o-this.begin)/(this.end-this.begin);return this.property.interpolate(u.possiblyEvaluate(e,i,s),l,Pr(p))}}return l}}class ru{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,i,s){const o=new Ys(this._properties);for(const l of Object.keys(this._values))o._values[l]=this._values[l].possiblyEvaluate(e,i,s);return o}hasTransition(){for(const e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class nh{constructor(e,i){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=i}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return ke(this._values[e].value)}setValue(e,i){this._values[e]=new Xs(this._values[e].property,i===null?void 0:ke(i),this._globalState)}serialize(){const e={};for(const i of Object.keys(this._values)){const s=this.getValue(i);s!==void 0&&(e[i]=s)}return e}possiblyEvaluate(e,i,s){const o=new Ys(this._properties);for(const l of Object.keys(this._values))o._values[l]=this._values[l].possiblyEvaluate(e,i,s);return o}}class Ji{constructor(e,i,s){this.property=e,this.value=i,this.parameters=s}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,i,s,o){return this.property.evaluate(this.value,this.parameters,e,i,s,o)}}class Ys{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Ie{constructor(e){this.specification=e}
5possiblyEvaluate(e,i){if(e.isDataDriven())throw new Error("Value should not be data driven");return e.expression.evaluate(i)}interpolate(e,i,s){const o=Mi[this.specification.type];return o?o(e,i,s):e}}class Ce{constructor(e,i){this.specification=e,this.overrides=i}possiblyEvaluate(e,i,s,o){return new Ji(this,e.expression.kind==="constant"||e.expression.kind==="camera"?{kind:"constant",value:e.expression.evaluate(i,null,{},s,o)}:e.expression,i)}interpolate(e,i,s){if(e.value.kind!=="constant"||i.value.kind!=="constant")return e;if(e.value.value===void 0||i.value.value===void 0)return new Ji(this,{kind:"constant",value:void 0},e.parameters);const o=Mi[this.specification.type];if(o){const l=o(e.value.value,i.value.value,s);return new Ji(this,{kind:"constant",value:l},e.parameters)}return e}evaluate(e,i,s,o,l,u){return e.kind==="constant"?e.value:e.evaluate(i,s,o,l,u)}}class Lr extends Ce{possiblyEvaluate(e,i,s,o){if(e.value===void 0)return new Ji(this,{kind:"constant",value:void 0},i);if(e.expression.kind==="constant"){const l=e.expression.evaluate(i,null,{},s,o),u=e.property.specification.type==="resolvedImage"&&typeof l!="string"?l.name:l,p=this._calculate(u,u,u,i);return new Ji(this,{kind:"constant",value:p},i)}if(e.expression.kind==="camera"){const l=this._calculate(e.expression.evaluate({zoom:i.zoom-1}),e.expression.evaluate({zoom:i.zoom}),e.expression.evaluate({zoom:i.zoom+1}),i);return new Ji(this,{kind:"constant",value:l},i)}return new Ji(this,e.expression,i)}evaluate(e,i,s,o,l,u){if(e.kind==="source"){const p=e.evaluate(i,s,o,l,u);return this._calculate(p,p,p,i)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(i.zoom)-1},s,o),e.evaluate({zoom:Math.floor(i.zoom)},s,o),e.evaluate({zoom:Math.floor(i.zoom)+1},s,o),i):e.value}_calculate(e,i,s,o){return o.zoom>o.zoomHistory.lastIntegerZoom?{from:e,to:i}:{from:s,to:i}}interpolate(e){return e}}class nu{constructor(e){this.specification=e}possiblyEvaluate(e,i,s,o){if(e.value!==void 0){if(e.expression.kind==="constant"){const l=e.expression.evaluate(i,null,{},s,o);return this._calculate(l,l,l,i)}return this._calculate(e.expression.evaluate(new at(Math.floor(i.zoom-1),i)),e.expression.evaluate(new at(Math.floor(i.zoom),i)),e.expression.evaluate(new at(Math.floor(i.zoom+1),i)),i)}}_calculate(e,i,s,o){return o.zoom>o.zoomHistory.lastIntegerZoom?{from:e,to:i}:{from:s,to:i}}interpolate(e){return e}}class ss{constructor(e){this.specification=e}possiblyEvaluate(e,i,s,o){return!!e.expression.evaluate(i,null,{},s,o)}interpolate(){return!1}}class li{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const i in e){const s=e[i];s.specification.overridable&&this.overridableProperties.push(i);const o=this.defaultPropertyValues[i]=new Xs(s,void 0,void 0),l=this.defaultTransitionablePropertyValues[i]=new Il(s,void 0);this.defaultTransitioningPropertyValues[i]=l.untransitioned(),this.defaultPossiblyEvaluatedValues[i]=o.possiblyEvaluate({})}}}Se("DataDrivenProperty",Ce),Se("DataConstantProperty",Ie),Se("CrossFadedDataDrivenProperty",Lr),Se("CrossFadedProperty",nu),Se("ColorRampProperty",ss);const su=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",Xo=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?";class Vi extends fo{constructor(e,i,s){if(super(),this.id=e.id,this.type=e.type,this._globalState=s,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=function(o,l){return new th(o,l)}(this.visibility,s),e.type!=="custom"&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!=="background"&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter,this._featureFilter=Os(e.filter,s)),i.layout&&(this._unevaluatedLayout=new nh(i.layout,s)),i.paint)){this._transitionablePaint=new Ml(i.paint,s);for(const o in e.paint)this.setPaintProperty(o,e.paint[o],{validate:!1});for(const o in e.layout)this.setLayoutProperty(o,e.layout[o],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ys(i.paint)}}setFilter(e){this.filter=e,this._featureFilter=Os(e,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){var i;if(e==="visibility")return this.visibility;if(!((i=this._transitionablePaint)===null||i===void 0)&&i.hasProperty(e))throw new Error(e+su);if(!this._unevaluatedLayout)throw new Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){const e=new Set;for(const i of this._visibilityExpression.getGlobalStateRefs())e.add(i);if(this._unevaluatedLayout)for(const i in this._unevaluatedLayout._values){const s=this._unevaluatedLayout._values[i];for(const o of s.getGlobalStateRefs())e.add(o)}for(const i of this._featureFilter.getGlobalStateRefs())e.add(i);return e}getPaintAffectingGlobalStateRefs(){var e;const i=new globalThis.Map;if(this._transitionablePaint)for(const s in this._transitionablePaint._values){const o=this._transitionablePaint._values[s].value;for(const l of o.getGlobalStateRefs()){const u=(e=i.get(l))!==null&&e!==void 0?e:[];u.push({name:s,value:o.value}),i.set(l,u)}}return i}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,i,s={}){var o;if(e==="visibility")return this.visibility=i,this._visibilityExpression.setValue(i),void this.recalculateVisibility();!((o=this._transitionablePaint)===null||o===void 0)&&o.hasProperty(e)?this.fire(new Ln(new Error(e+su))):i!=null&&this._val
5idate(ih,`layers.${this.id}.layout.${e}`,e,i,s)||this._unevaluatedLayout.setValue(e,i)}getPaintProperty(e){var i,s;if(e.endsWith(Ho)){const o=e.slice(0,-11);if(o==="visibility"||!((i=this._unevaluatedLayout)===null||i===void 0)&&i.hasProperty(o))throw new Error(e+Xo);return this._transitionablePaint.getTransition(o)}if(e==="visibility"||!((s=this._unevaluatedLayout)===null||s===void 0)&&s.hasProperty(e))throw new Error(e+Xo);return this._transitionablePaint.getValue(e)}setPaintProperty(e,i,s={}){var o;if(e==="visibility"||!((o=this._unevaluatedLayout)===null||o===void 0)&&o.hasProperty(e))return this.fire(new Ln(new Error(e+Xo))),!1;if(i!=null&&this._validate(Hc,`layers.${this.id}.paint.${e}`,e,i,s))return!1;if(e.endsWith(Ho))return this._transitionablePaint.setTransition(e.slice(0,-11),i||void 0),!1;{const l=this._transitionablePaint._values[e],u=l.property.specification["property-type"]==="cross-faded-data-driven",p=l.value.isDataDriven(),g=l.value;this._transitionablePaint.setValue(e,i),this._handleSpecialPaintPropertyUpdate(e);const m=this._transitionablePaint._values[e].value;return m.isDataDriven()||p||u||this._handleOverridablePaintPropertyUpdate(e,g,m)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,i,s){return!1}isHidden(e=this.minzoom,i=!1){return!!(this.minzoom&&e<(i?Math.floor(this.minzoom):this.minzoom))||!!(this.maxzoom&&e>=this.maxzoom)||this._evaluatedVisibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,i){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,i)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,i)}serialize(){var e,i;
vendor: 15,228 bytes, line 5
5const s={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:(e=this._unevaluatedLayout)===null||e===void 0?void 0:e.serialize(),paint:(i=this._transitionablePaint)===null||i===void 0?void 0:i.serialize()};return this.visibility&&(s.layout||(s.layout={}),s.layout.visibility=this.visibility),Kr(s,(o,l)=>!(o===void 0||l==="layout"&&!Object.keys(o).length||l==="paint"&&!Object.keys(o).length))}_validate(e,i,s,o,l={}){return l?.validate!==!1&&Xc(this,e.call(ir,{key:i,layerType:this.type,objectKey:s,value:o,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const e in this.paint._values){const i=this.paint.get(e);if(i instanceof Ji&&Qn(i.property.specification)&&(i.value.kind==="source"||i.value.kind==="composite")&&i.value.isStateDependent)return!0}return!1}}let Cl;var sh={get paint(){return Cl=Cl||new li({"raster-opacity":new Ie(ce.paint_raster["raster-opacity"]),"raster-hue-rotate":new Ie(ce.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ie(ce.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ie(ce.paint_raster["raster-brightness-max"]),"raster-saturation":new Ie(ce.paint_raster["raster-saturation"]),"raster-contrast":new Ie(ce.paint_raster["raster-contrast"]),resampling:new Ie(ce.paint_raster.resampling),"raster-resampling":new Ie(ce.paint_raster["raster-resampling"]),"raster-fade-duration":new Ie(ce.paint_raster["raster-fade-duration"])})}};class oh extends Vi{constructor(e,i){super(e,sh,i)}}const ah={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class Ks{constructor(e,i){this._structArray=e,this._pos1=i*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class pt{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,i){return e._trim(),i&&(e.isTransferred=!0,i.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){const i=Object.create(this.prototype);return i.arrayBuffer=e.arrayBuffer,i.length=e.length,i.capacity=e.arrayBuffer.byteLength/i.bytesPerElement,i._refreshViews(),i}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const i=this.uint8;this._refreshViews(),i&&this.uint8.set(i)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}}function lt(r,e=1){let i=0,s=0;return{members:r.map(o=>{const l=ah[o.type].BYTES_PER_ELEMENT,u=i=ou(i,Math.max(e,l)),p=o.components||1;return s=Math.max(s,l),i+=l*p,{name:o.name,type:o.type,components:p,offset:u}}),size:ou(i,Math.max(s,e)),alignment:e}}function ou(r,e){return Math.ceil(r/e)*e}class Js extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i){const s=this.length;return this.resize(s+1),this.emplace(s,e,i)}emplace(e,i,s){const o=2*e;return this.int16[o+0]=i,this.int16[o+1]=s,e}}Js.prototype.bytesPerElement=4,Se("StructArrayLayout2i4",Js);class Yo extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s){const o=this.length;return this.resize(o+1),this.emplace(o,e,i,s)}emplace(e,i,s,o){const l=3*e;return this.int16[l+0]=i,this.int16[l+1]=s,this.int16[l+2]=o,e}}Yo.prototype.bytesPerElement=6,Se("StructArrayLayout3i6",Yo);class Ko extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o){const l=this.length;return this.resize(l+1),this.emplace(l,e,i,s,o)}emplace(e,i,s,o,l){const u=4*e;return this.int16[u+0]=i,this.int16[u+1]=s,this.int16[u+2]=o,this.int16[u+3]=l,e}}Ko.prototype.bytesPerElement=8,Se("StructArrayLayout4i8",Ko);class Jo extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u){const p=this.length;return this.resize(p+1),this.emplace(p,e,i,s,o,l,u)}emplace(e,i,s,o,l,u,p){const g=6*e;return this.int16[g+0]=i,this.int16[g+1]=s,this.int16[g+2]=o,this.int16[g+3]=l,this.int16[g+4]=u,this.int16[g+5]=p,e}}Jo.prototype.bytesPerElement=12,Se("StructArrayLayout2i4i12",Jo);class Al extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u){const p=this.length;return this.resize(p+1),this.emplace(p,e,i,s,o,l,u)}emplace(e,i,s,o,l,u,p){const g=4*e,m=8*e;return this.int16[g+0]=i,this.int16[g+1]=s,this.uint8[m+4]=o,this.uint8[m+5]=l,this.uint8[m+6]=u,this.uint8[m+7]=p,e}}Al.prototype.bytesPerElement=8,Se("StructArrayLayout2i4ub8",Al);class Qs extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i){const s=this.length;return this.resize(s+1),this.emplace(s,e,i)}emplace(e,i,s){const o=2*e;return this.float32[o+0]=i,this.float32[o+1]=s,e}}Qs.prototype.bytesPerElement=8,Se("StructArrayLayout2f8",Qs);class mr extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g,m,v){const _=this.length;return this.resize(_+1),this.emplace(_,e,i,s,o,l,u,p,g,m,v)}emplace(e,i,s,o,l,u,p,g,m,v,_){const T=10*e;return this.uint16[T+0]=i,this.uint16[T+1]=s,this.uint16[T+2]=o,this.uint16[T+3]=l,this.uint16[T+4]=u,this.uint16[T+5]=p,this.uint16[T+6]=g,this.uint16[T+7]=m,this.uint16[T+8]=v,this.uint16[T+9]=_,e}}mr.prototype.bytesPerElement=20,Se("StructArrayLayout10ui20",mr);class Qo extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g){const m=this.length;return this.resize(m+1),this.emplace(m,e,i,s,o,l,u,p,g)}emplace(e,i,s,o,l,u,p,g,m){const v=8*e;return this.uint16[v+0]=i,this.uint16[v+1]=s,this.uint16[v+2]=o,this.uint16[v+3]=l,this.uint16[v+4]=u,this.uint16[v+5]=p,this.uint16[v+6]=g,this.uint16[v+7]=m,e}}Qo.prototype.bytesPerElement=16,Se("StructArrayLayout8ui16",Qo);class eo extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g,m,v,_,T){const b=this.length;return this.resize(b+1),this.emplace(b,e,i,s,o,l,u,p,g,m,v,_,T)}emplace(e,i,s,o,l,u,p,g,m,v,_,T,b){const I=12*e;return this.int16[I+0]=i,this.int16[I+1]=s,this.int16[I+2]=o,this.int16[I+3]=l,this.uint16[I+4]=u,this.uint16[I+5]=p,this.uint16[I+6]=g,this.uint16[I+7]=m,this.int16[I+8]=v,this.int16[I+9]=_,this.int16[I+10]=T,this.int16[I+11]=b,e}}eo.prototype.bytesPerElement=24,Se("StructArrayLayout4i4ui4i24",eo);class ea extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i,s){const o=this.length;return this.resize(o+1),this.emplace(o,e,i,s)}emplace(e,i,s,o){const l=3*e;return this.float32[l+0]=i,this.float32[l+1]=s,this.float32[l+2]=o,e}}ea.prototype.bytesPerElement=12,Se("StructArrayLayout3f12",ea);class to extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const i=this.length;return this.resize(i+1),this.emplace(i,e)}emplace(e,i){return this.uint32[1*e+0]=i,e}}to.prototype.bytesPerElement=4,Se("StructArrayLayout1ul4",to);class Dl extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g,m){const v=this.length;return this.resize(v+1),this.emplace(v,e,i,s,o,l,u,p,g,m)}emplace(e,i,s,o,l,u,p,g,m,v){const _=10*e,T=5*e;return this.int16[_+0]=i,this.int16[_+1]=s,this.int16[_+2]=o,this.int16[_+3]=l,this.int16[_+4]=u,this.int16[_+5]=p,this.uint32[T+3]=g,this.uint16[_+8]=m,this.uint16[_+9]=v,e}}Dl.prototype.bytesPerElement=20,Se("StructArrayLayout6i1ul2ui20",Dl);class os extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u){const p=this.length;return this.resize(p+1),this.emplace(p,e,i,s,o,l,u)}emplace(e,i,s,o,l,u,p){const g=6*e;return this.int16[g+0]=i,this.int16[g+1]=s,this.int16[g+2]=o,this.int16[g+3]=l,this.int16[g+4]=u,this.int16[g+5]=p,e}}os.prototype.bytesPerElement=12,Se("StructArrayLayout2i2i2i12",os);class wn extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,e,i,s,o,l)}emplace(e,i,s,o,l,u){const p=4*e,g=8*e;return this.float32[p+0]=i,this.float32[p+1]=s,this.float32[p+2]=o,this.int16[g+6]=l,this.int16[g+7]=u,e}}wn.prototype.bytesPerElement=16,Se("StructArrayLayout2f1f2i16",wn);class zl extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u){const p=this.length;return this.resize(p+1),this.emplace(p,e,i,s,o,l,u)}emplace(e,i,s,o,l,u,p){const g=16*e,m=4*e,v=8*e;return this.uint8[g+0]=i,this.uint8[g+1]=s,this.float32[m+1]=o,this.float32[m+2]=l,this.int16[v+6]=u,this.int16[v+7]=p,e}}zl.prototype.bytesPerElement=16,Se("StructArrayLayout2ub2f2i16",zl);class io extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s){const o=this.length;return this.resize(o+1),this.emplace(o,e,i,s)}emplace(e,i,s,o){const l=3*e;return this.uint16[l+0]=i,this.uint16[l+1]=s,this.uint16[l+2]=o,e}}io.prototype.bytesPerElement=6,Se("StructArrayLayout3ui6",io);class Tn extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D){const F=this.length;return this.resize(F+1),this.emplace(F,e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D)}emplace(e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D,F){const k=24*e,L=12*e,O=48*e;return this.int16[k+0]=i,this.int16[k+1]=s,this.uint16[k+2]=o,this.uint16[k+3]=l,this.uint32[L+2]=u,this.uint32[L+3]=p,this.uint32[L+4]=g,this.uint16[k+10]=m,this.uint16[k+11]=v,this.uint16[k+12]=_,this.float32[L+7]=T,this.float32[L+8]=b,this.uint8[O+36]=I,this.uint8[O+37]=M,this.uint8[O+38]=A,this.uint32[L+10]=D,this.int16[k+22]=F,e}}Tn.prototype.bytesPerElement=48,Se("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Tn);class kl extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D,F,k,L,O,j,Y,J,re,te,ae,le){const ne=this.length;return this.resize(ne+1),this.emplace(ne,e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D,F,k,L,O,j,Y,J,re,te,ae,le)}emplace(e,i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D,F,k,L,O,j,Y,J,re,te,ae,le,ne){const ie=32*e,fe=16*e;return this.int16[ie+0]=i,this.int16[ie+1]=s,this.int16[ie+2]=o,this.int16[ie+3]=l,this.int16[ie+4]=u,this.int16[ie+5]=p,this.int16[ie+6]=g,this.int16[ie+7]=m,this.uint16[ie+8]=v,this.uint16[ie+9]=_,this.uint16[ie+10]=T,this.uint16[ie+11]=b,this.uint16[ie+12]=I,this.uint16[ie+13]=M,this.uint16[ie+14]=A,this.uint16[ie+15]=D,this.uint16[ie+16]=F,this.uint16[ie+17]=k,this.uint16[ie+18]=L,this.uint16[ie+19]=O,this.uint16[ie+20]=j,this.uint16[ie+21]=Y,this.uint16[ie+22]=J,this.uint32[fe+12]=re,this.float32[fe+13]=te,this.float32[fe+14]=ae,this.uint16[ie+30]=le,this.uint16[ie+31]=ne,e}}kl.prototype.bytesPerElement=64,Se("StructArrayLayout8i15ui1ul2f2ui64",kl);class ta extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const i=this.length;return this.resize(i+1),this.emplace(i,e)}emplace(e,i){return this.float32[1*e+0]=i,e}}ta.prototype.bytesPerElement=4,Se("StructArrayLayout1f4",ta);class ia extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i,s){const o=this.length;return this.resize(o+1),this.emplace(o,e,i,s)}emplace(e,i,s,o){const l=3*e;return this.uint16[6*e+0]=i,this.float32[l+1]=s,this.float32[l+2]=o,e}}ia.prototype.bytesPerElement=12,Se("StructArrayLayout1ui2f12",ia);class Rl extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i,s){const o=this.length;return this.resize(o+1),this.emplace(o,e,i,s)}emplace(e,i,s,o){const l=4*e;return this.uint32[2*e+0]=i,this.uint16[l+2]=s,this.uint16[l+3]=o,e}}Rl.prototype.bytesPerElement=8,Se("StructArrayLayout1ul2ui8",Rl);class h extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,i){const s=this.length;return this.resize(s+1),this.emplace(s,e,i)}emplace(e,i,s){const o=2*e;return this.uint16[o+0]=i,this.uint16[o+1]=s,e}}h.prototype.bytesPerElement=4,Se("StructArrayLayout2ui4",h);class t extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const i=this.length;return this.resize(i+1),this.emplace(i,e)}emplace(e,i){return this.uint16[1*e+0]=i,e}}t.prototype.bytesPerElement=2,Se("StructArrayLayout1ui2",t);class n extends pt{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,i,s,o){const l=this.length;return this.resize(l+1),this.emplace(l,e,i,s,o)}emplace(e,i,s,o,l){const u=4*e;return this.float32[u+0]=i,this.float32[u+1]=s,this.float32[u+2]=o,this.float32[u+3]=l,e}}n.prototype.bytesPerElement=16,Se("StructArrayLayout4f16",n);class a extends Ks{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}
vendor: 6,899 bytes, line 5
5get anchorPoint(){return new Te(this.anchorPointX,this.anchorPointY)}}a.prototype.size=20;class c extends Dl{get(e){return new a(this,e)}}Se("CollisionBoxArray",c);class f extends Ks{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}f.prototype.size=48;class y extends Tn{get(e){return new f(this,e)}}Se("PlacedSymbolArray",y);class x extends Ks{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}x.prototype.size=64;class w extends kl{get(e){return new x(this,e)}}Se("SymbolInstanceArray",w);class S extends ta{getoffsetX(e){return this.float32[1*e+0]}}Se("GlyphOffsetArray",S);class P extends Yo{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}Se("SymbolLineVertexArray",P);class E extends Ks{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}E.prototype.size=12;class C extends ia{get(e){return new E(this,e)}}Se("TextAnchorOffsetArray",C);class z extends Ks{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}z.prototype.size=8;class B extends Rl{get(e){return new z(this,e)}}Se("FeatureIndexArray",B);class V extends Js{}class G extends Js{}class N extends Js{}class $ extends Jo{}class X extends Al{}class Z extends Qs{}class U extends mr{}class H extends Qo{}class q extends eo{}class Q extends ea{}class se extends to{}class oe extends os{}class de extends zl{}class he extends io{}class Pe extends h{}const ve=lt([{name:"a_pos",components:2,type:"Int16"}],4),{members:ue}=ve;class we{constructor(e=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=e}prepareSegment(e,i,s,o){const l=this.segments[this.segments.length-1];return e>we.MAX_VERTEX_ARRAY_LENGTH&&$t(`Max vertices per segment is ${we.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${we.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!l||l.vertexLength+e>we.MAX_VERTEX_ARRAY_LENGTH||l.sortKey!==o?this.createNewSegment(i,s,o):l}createNewSegment(e,i,s){const o={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0,vaos:{}};return s!==void 0&&(o.sortKey=s),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(o),o}getOrCreateLatestSegment(e,i,s){return this.prepareSegment(0,e,i,s)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(const e of this.segments)for(const i in e.vaos)e.vaos[i].destroy()}static simpleSegment(e,i,s,o){return new we([{vertexOffset:e,primitiveOffset:i,vertexLength:s,primitiveLength:o,vaos:{},sortKey:0}])}}function Ee(r,e){return 256*(r=si(Math.floor(r),0,255))+si(Math.floor(e),0,255)}we.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Se("SegmentVector",we);const Qe=lt([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]),Pt=lt([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]);var rt,Mt,Ct,Jt={exports:{}},xt={exports:{}},ci={exports:{}},Ht=function(){if(Ct)return Jt.exports;Ct=1;var r=(rt||(rt=1,xt.exports=function(i,s){var o,l,u,p,g,m,v,_;for(l=i.length-(o=3&i.length),u=s,g=3432918353,m=461845907,_=0;_<l;
vendor: 4,940 bytes, line 5
5)v=255&i.charCodeAt(_)|(255&i.charCodeAt(++_))<<8|(255&i.charCodeAt(++_))<<16|(255&i.charCodeAt(++_))<<24,++_,u=27492+(65535&(p=5*(65535&(u=(u^=v=(65535&(v=(v=(65535&v)*g+(((v>>>16)*g&65535)<<16)&4294967295)<<15|v>>>17))*m+(((v>>>16)*m&65535)<<16)&4294967295)<<13|u>>>19))+((5*(u>>>16)&65535)<<16)&4294967295))+((58964+(p>>>16)&65535)<<16);switch(v=0,o){case 3:v^=(255&i.charCodeAt(_+2))<<16;case 2:v^=(255&i.charCodeAt(_+1))<<8;case 1:u^=v=(65535&(v=(v=(65535&(v^=255&i.charCodeAt(_)))*g+(((v>>>16)*g&65535)<<16)&4294967295)<<15|v>>>17))*m+(((v>>>16)*m&65535)<<16)&4294967295}return u^=i.length,u=2246822507*(65535&(u^=u>>>16))+((2246822507*(u>>>16)&65535)<<16)&4294967295,u=3266489909*(65535&(u^=u>>>13))+((3266489909*(u>>>16)&65535)<<16)&4294967295,(u^=u>>>16)>>>0}),xt.exports),e=(Mt||(Mt=1,ci.exports=function(i,s){for(var o,l=i.length,u=s^l,p=0;l>=4;)o=1540483477*(65535&(o=255&i.charCodeAt(p)|(255&i.charCodeAt(++p))<<8|(255&i.charCodeAt(++p))<<16|(255&i.charCodeAt(++p))<<24))+((1540483477*(o>>>16)&65535)<<16),u=1540483477*(65535&u)+((1540483477*(u>>>16)&65535)<<16)^(o=1540483477*(65535&(o^=o>>>24))+((1540483477*(o>>>16)&65535)<<16)),l-=4,++p;switch(l){case 3:u^=(255&i.charCodeAt(p+2))<<16;case 2:u^=(255&i.charCodeAt(p+1))<<8;case 1:u=1540483477*(65535&(u^=255&i.charCodeAt(p)))+((1540483477*(u>>>16)&65535)<<16)}return u=1540483477*(65535&(u^=u>>>13))+((1540483477*(u>>>16)&65535)<<16),(u^=u>>>15)>>>0}),ci.exports);return Jt.exports=r,Jt.exports.murmur3=r,Jt.exports.murmur2=e,Jt.exports}(),Bt=Tr(Ht);class Qt{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,i,s,o){this.ids.push(Br(e)),this.positions.push(i,s,o)}getPositions(e){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const i=Br(e);let s=0,o=this.ids.length-1;for(;s<o;){const u=s+o>>1;this.ids[u]>=i?o=u:s=u+1}const l=[];for(;this.ids[s]===i;)l.push({index:this.positions[3*s],start:this.positions[3*s+1],end:this.positions[3*s+2]}),s++;return l}static serialize(e,i){const s=new Float64Array(e.ids),o=new Uint32Array(e.positions);return Or(s,o,0,s.length-1),i&&i.push(s.buffer,o.buffer),{ids:s,positions:o}}static deserialize(e){const i=new Qt;return i.ids=e.ids,i.positions=e.positions,i.indexed=!0,i}}function Br(r){const e=+r;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:Bt(String(r))}function Or(r,e,i,s){for(;i<s;){const o=r[i+s>>1];let l=i-1,u=s+1;for(;;){do l++;while(r[l]<o);do u--;while(r[u]>o);if(l>=u)break;Vr(r,l,u),Vr(e,3*l,3*u),Vr(e,3*l+1,3*u+1),Vr(e,3*l+2,3*u+2)}u-i<s-u?(Or(r,e,i,u),i=u+1):(Or(r,e,u+1,s),s=u)}}function Vr(r,e,i){const s=r[e];r[e]=r[i],r[i]=s}Se("FeaturePositionMap",Qt);class ei{constructor(e,i){this.gl=e.gl,this.location=i}}class gr extends ei{constructor(e,i){super(e,i),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}}class jr extends ei{constructor(e,i){super(e,i),this.current=[0,0,0,0]}set(e){e[0]===this.current[0]&&e[1]===this.current[1]&&e[2]===this.current[2]&&e[3]===this.current[3]||(this.current=e,this.gl.uniform4f(this.location,e[0],e[1],e[2],e[3]))}}class ra extends ei{constructor(e,i){super(e,i),this.current=Ve.transparent}set(e){e.r===this.current.r&&e.g===this.current.g&&e.b===this.current.b&&e.a===this.current.a||(this.current=e,this.gl.uniform4f(this.location,e.r,e.g,e.b,e.a))}}const nr=new Float32Array(16);function sr(r){return[Ee(255*r.r,255*r.g),Ee(255*r.b,255*r.a)]}class Ai{constructor(e,i,s){this.value=e,this.uniformNames=i.map(o=>`u_${o}`),this.type=s}setUniform(e,i,s){e.set(s.constantOr(this.value))}getBinding(e,i,s){return this.type==="color"?new ra(e,i):new gr(e,i)}}class ji{constructor(e,i){this.uniformNames=i.map(s=>`u_${s}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,i){this.pixelRatioFrom=i.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=i.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,i){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,i.y,i.height,i.width]}setUniform(e,i,s,o){let l=null;o==="u_pattern_to"?l=this.patternTo:o==="u_pattern_from"?l=this.patternFrom:o==="u_dasharray_to"?l=this.dashTo:o==="u_dasharray_from"?l=this.dashFrom:o==="u_pixel_ratio_to"?l=this.pixelRatioTo:o==="u_pixel_ratio_from"&&(l=this.pixelRatioFrom),l!==null&&e.set(l)}getBinding(e,i,s){return s.startsWith("u_pattern")||s.startsWith("u_dasharray_")?new jr(e,i):new gr(e,i)}}class ft{constructor(e,i,s,o){this.expression=e,this.type=s,this.maxValue=0,this.paintVertexAttributes=i.map(l=>({name:`a_${l}`,type:"Float32",components:s==="color"?2:1,offset:0})),this.paintVertexArray=new o}populatePaintArray(e,i,s){const o=this.paintVertexArray.length,l=this.expression.evaluate(new at(0,s),i,{},s.canonical,[],s.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(o,e,l)}updatePaintArray(e,i,s,o,l){const u=this.expression.evaluate(new at(0,l),s,o);this._setPaintValue(e,i,u)}
5_setPaintValue(e,i,s){if(this.type==="color"){const o=sr(s);for(let l=e;l<i;l++)this.paintVertexArray.emplace(l,o[0],o[1])}else{for(let o=e;o<i;o++)this.paintVertexArray.emplace(o,s);this.maxValue=Math.max(this.maxValue,Math.abs(s))}}upload(e){var i,s;!((i=this.paintVertexArray)===null||i===void 0)&&i.arrayBuffer.byteLength&&(!((s=this.paintVertexBuffer)===null||s===void 0)&&s.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}}class ct{constructor(e,i,s,o,l,u){this.expression=e,this.uniformNames=i.map(p=>`u_${p}_t`),this.type=s,this.useIntegerZoom=o,this.zoom=l,this.maxValue=0,this.paintVertexAttributes=i.map(p=>({name:`a_${p}`,type:"Float32",components:s==="color"?4:2,offset:0})),this.paintVertexArray=new u}populatePaintArray(e,i,s){const o=this.expression.evaluate(new at(this.zoom,s),i,{},s.canonical,[],s.formattedSection),l=this.expression.evaluate(new at(this.zoom+1,s),i,{},s.canonical,[],s.formattedSection),u=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(u,e,o,l)}updatePaintArray(e,i,s,o,l){const u=this.expression.evaluate(new at(this.zoom,l),s,o),p=this.expression.evaluate(new at(this.zoom+1,l),s,o);this._setPaintValue(e,i,u,p)}_setPaintValue(e,i,s,o){if(this.type==="color"){const l=sr(s),u=sr(o);for(let p=e;p<i;p++)this.paintVertexArray.emplace(p,l[0],l[1],u[0],u[1])}else{for(let l=e;l<i;l++)this.paintVertexArray.emplace(l,s,o);this.maxValue=Math.max(this.maxValue,Math.abs(s),Math.abs(o))}}upload(e){var i,s;!((i=this.paintVertexArray)===null||i===void 0)&&i.arrayBuffer.byteLength&&(!((s=this.paintVertexBuffer)===null||s===void 0)&&s.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(e,i){const s=this.useIntegerZoom?Math.floor(i.zoom):i.zoom,o=si(this.expression.interpolationFactor(s,this.zoom,this.zoom+1),0,1);e.set(o)}getBinding(e,i,s){return new gr(e,i)}}class At{constructor(e,i,s,o,l,u){this.expression=e,this.type=i,this.useIntegerZoom=s,this.zoom=o,this.layerId=u,this.zoomInPaintVertexArray=new l,this.zoomOutPaintVertexArray=new l}populatePaintArray(e,i,s){const o=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(o,e,this.getPositionIds(i),s)}updatePaintArray(e,i,s,o,l){this._setPaintValues(e,i,this.getPositionIds(s),l)}_setPaintValues(e,i,s,o){const l=this.getPositions(o);if(!l||!s)return;const u=l[s.min],p=l[s.mid],g=l[s.max];if(u&&p&&g)for(let m=e;m<i;m++)this.emplace(this.zoomInPaintVertexArray,m,p,u),this.emplace(this.zoomOutPaintVertexArray,m,p,g)}upload(e){var i,s;if(!((i=this.zoomInPaintVertexArray)===null||i===void 0)&&i.arrayBuffer.byteLength&&(!((s=this.zoomOutPaintVertexArray)===null||s===void 0)&&s.arrayBuffer.byteLength)){const o=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,o,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,o,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}}class mt extends At{getPositions(e){return e.imagePositions}getPositionIds(e){var i;return(i=e.patterns)===null||i===void 0?void 0:i[this.layerId]}getVertexAttributes(){return Qe.members}emplace(e,i,s,o){e.emplace(i,s.tlbr[0],s.tlbr[1],s.tlbr[2],s.tlbr[3],o.tlbr[0],o.tlbr[1],o.tlbr[2],o.tlbr[3],s.pixelRatio,o.pixelRatio)}}class Sn extends At{getPositions(e){return e.dashPositions}getPositionIds(e){var i;return(i=e.dashes)===null||i===void 0?void 0:i[this.layerId]}getVertexAttributes(){return Pt.members}emplace(e,i,s,o){e.emplace(i,0,s.y,s.height,s.width,0,o.y,o.height,o.width)}}class na{constructor(e,i,s){this.binders={},this._buffers=[];const o=[];for(const l in e.paint._values){if(!s(l))continue;const u=e.paint.get(l);if(!(u instanceof Ji&&Qn(u.property.specification)))continue;const p=Fl(l,e.type),g=u.value,m=u.property.specification.type,v=u.property.useIntegerZoom,_=u.property.specification["property-type"],T=_==="cross-faded"||_==="cross-faded-data-driven";if(g.kind==="constant")this.binders[l]=T?new ji(g.value,p):new Ai(g.value,p,m),o.push(`/u_${l}`);else if(g.kind==="source"||T){const b=au(l,m,"source");this.binders[l]=T?l==="line-dasharray"?new Sn(g,m,v,i,b,e.id):new mt(g,m,v,i,b,e.id):new ft(g,p,m,b),o.push(`/a_${l}`)}else{const b=au(l,m,"composite");this.binders[l]=new ct(g,p,m,v,i,b),o.push(`/z_${l}`)}}this.cacheKey=o.sort().join("")}getMaxValue(e){const i=this.binders[e];return i instanceof ft||i instanceof ct?i.maxValue:0}populatePaintArrays(e,i,s){for(const o in this.binders){const l=this.binders[o];(l instanceof ft||l instanceof ct||l instanceof At)&&l.populatePaintArray(e,i,s)}}setConstantPatternPositions(e,i){for(const s in this.binders){const o=this.binders[s];o instanceof ji&&o.setConstantPatternPositions(e,i)}}setConstantDashPositions(e,i){for(const s in this.binders){const o=this.binders[s];o instanceof ji&&o.setConstantDashPositions(e,i)}}updatePaintArrays(e,i,s,o,l){let u=!1;for(const p in e){const g=i.getPositions(p);for(const m of g){const v=s.feature(m.index);for(const _ in this.binders){const T=this.binders[_];if((T instanceof ft||T instanceof ct||T instanceof At)&&T.expression.isStateDependent===!0){const b=o.paint.get(_);T.expression=b.value,T.updatePaintArray(m.start,m.end,v,e[p],l),u=!0}}}}return u}defines(){const e=[];for(const i in this.binders){const s=this.binders[i];(s instanceof Ai||s instanceof ji)&&e.push(...s.uniformNames.map(o=>`#define HAS_UNIFORM_${o}`))}return e}getBinderAttributes(){const e=[];for(const i in this.binders){const s=this.binders[i];if(s instanceof ft||s instanceof ct)for(const o of s.paintVertexAttributes)e.push(o.name);else if(s instanceof At){const o=s.getVertexAttributes();
vendor: 9,583 bytes, line 5
5for(const l of o)e.push(l.name)}}return e}getBinderUniforms(){const e=[];for(const i in this.binders){const s=this.binders[i];if(s instanceof Ai||s instanceof ji||s instanceof ct)for(const o of s.uniformNames)e.push(o)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,i){const s=[];for(const o in this.binders){const l=this.binders[o];if(l instanceof Ai||l instanceof ji||l instanceof ct){for(const u of l.uniformNames)if(i[u]){const p=l.getBinding(e,i[u],u);s.push({name:u,property:o,binding:p})}}}return s}setUniforms(e,i,s,o){for(const{name:l,property:u,binding:p}of i)this.binders[u].setUniform(p,o,s.get(u),l)}updatePaintBuffers(e){this._buffers=[];for(const i in this.binders){const s=this.binders[i];if(e&&s instanceof At){const o=e.fromScale===2?s.zoomInPaintVertexBuffer:s.zoomOutPaintVertexBuffer;o&&this._buffers.push(o)}else(s instanceof ft||s instanceof ct)&&s.paintVertexBuffer&&this._buffers.push(s.paintVertexBuffer)}}upload(e){for(const i in this.binders){const s=this.binders[i];(s instanceof ft||s instanceof ct||s instanceof At)&&s.upload(e)}this.updatePaintBuffers()}destroy(){for(const e in this.binders){const i=this.binders[e];(i instanceof ft||i instanceof ct||i instanceof At)&&i.destroy()}}}class _r{constructor(e,i,s=()=>!0){this.programConfigurations={};for(const o of e)this.programConfigurations[o.id]=new na(o,i,s);this.needsUpload=!1,this._featureMap=new Qt,this._bufferOffset=0}populatePaintArrays(e,i,s,o){for(const l in this.programConfigurations)this.programConfigurations[l].populatePaintArrays(e,i,o);i.id!==void 0&&this._featureMap.add(i.id,s,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,i,s,o){for(const l of s)this.needsUpload=this.programConfigurations[l.id].updatePaintArrays(e,this._featureMap,i,l,o)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const i in this.programConfigurations)this.programConfigurations[i].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}function Fl(r,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-dasharray":["dasharray_to","dasharray_from"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[r]||[r.replace(`${e}-`,"").replace(/-/g,"_")]}function au(r,e,i){const s={color:{source:Qs,composite:n},number:{source:ta,composite:Qs}},o=function(l){return{"line-pattern":{source:U,composite:U},"fill-pattern":{source:U,composite:U},"fill-extrusion-pattern":{source:U,composite:U},"line-dasharray":{source:H,composite:H}}[l]}(r);return o?.[i]||s[e][i]}Se("ConstantBinder",Ai),Se("CrossFadedConstantBinder",ji),Se("SourceExpressionBinder",ft),Se("CrossFadedPatternBinder",mt),Se("CrossFadedDasharrayBinder",Sn),Se("CompositeExpressionBinder",ct),Se("ProgramConfiguration",na,{omit:["_buffers"]}),Se("ProgramConfigurationSet",_r);const Ll=Math.pow(2,14)-1,Nr=-Ll-1;function Ur(r){const e=De/r.extent,i=r.loadGeometry();for(const s of i)for(const o of s){const l=Math.round(o.x*e),u=Math.round(o.y*e);o.x=si(l,Nr,Ll),o.y=si(u,Nr,Ll),(l<o.x||l>o.x+1||u<o.y||u>o.y+1)&&$t("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return i}function Gr(r,e){return{type:r.type,id:r.id,properties:r.properties,geometry:e?Ur(r):[]}}const Bl=-32768;function Ol(r,e,i,s,o){r.emplaceBack(Bl+8*e+s,Bl+8*i+o)}class sa{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(i=>i.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new G,this.indexArray=new he,this.segments=new we,this.programConfigurations=new _r(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(i=>i.isStateDependent()).map(i=>i.id)}populate(e,i,s){const o=this.layers[0],l=[];let u=null,p=!1,g=o.type==="heatmap";if(o.type==="circle"){const v=o;u=v.layout.get("circle-sort-key"),p=!u.isConstant(),g||(g=v.paint.get("circle-pitch-alignment")==="map")}const m=g?i.subdivisionGranularity.circle:1;for(const{feature:v,id:_,index:T,sourceLayerIndex:b}of e){const I=this.layers[0]._featureFilter.needGeometry,M=Gr(v,I);if(!this.layers[0]._featureFilter.filter(new at(this.zoom),M,s))continue;const A=p?u.evaluate(M,{},s):void 0,D={id:_,properties:v.properties,type:v.type,sourceLayerIndex:b,index:T,geometry:I?M.geometry:Ur(v),patterns:{},sortKey:A};l.push(D)}p&&l.sort((v,_)=>v.sortKey-_.sortKey);for(const v of l){const{geometry:_,index:T,sourceLayerIndex:b}=v,I=e[T].feature;this.addFeature(v,_,T,s,m),i.featureIndex.insert(I,_,T,b,this.index)}}update(e,i,s){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,i,this.stateDependentLayers,{imagePositions:s})}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ue),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,i,s,o,l=1){let u;switch(l){case 1:u=[0,7];break;case 3:u=[0,2,5,7];break;case 5:u=[0,1,3,4,6,7];break;case 7:u=[0,1,2,3,4,5,6,7];break;default:throw new Error(`Invalid circle bucket granularity: ${l}; valid values are 1, 3, 5, 7.`)}const p=u.length;for(const g of i)for(const m of g){const v=m.x,_=m.y;if(v<0||v>=De||_<0||_>=De)continue;const T=this.segments.prepareSegment(p*p,this.layoutVertexArray,this.indexArray,e.sortKey),b=T.vertexLength;for(let I=0;I<p;I++)for(let M=0;M<p;M++)Ol(this.layoutVertexArray,v,_,u[M],u[I]);for(let I=0;I<p-1;I++)for(let M=0;M<p-1;M++){const A=b+I*p+M,D=b+(I+1)*p+M;this.indexArray.emplaceBack(A,D+1,A+1),this.indexArray.emplaceBack(A,D,D+1)}T.vertexLength+=p*p,T.primitiveLength+=(p-1)*(p-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,s,{imagePositions:{},canonical:o})}}function oa(r,e){for(const i of r)if(aa(e,i))return!0;for(const i of e)if(aa(r,i))return!0;return lh(r,e)}function lu(r,e,i){return!!aa(r,e)||ch(e,r,i)}function gd(r,e){if(r.length===1)return yd(e,r[0]);for(const i of e)for(const s of i)if(aa(r,s))return!0;for(const i of r)if(yd(e,i))return!0;for(const i of e)if(lh(r,i))return!0;return!1}function Uf(r,e,i){if(r.length>1){if(lh(r,e))return!0;for(const s of e)if(ch(s,r,i))return!0}for(const s of r)if(ch(s,e,i))return!0;return!1}function lh(r,e){if(r.length===0||e.length===0)return!1;for(let i=0;i<r.length-1;i++){const s=r[i],o=r[i+1];for(let l=0;l<e.length-1;l++)if(Gf(s,o,e[l],e[l+1]))return!0}return!1}function Gf(r,e,i,s){return Si(r,i,s)!==Si(e,i,s)&&Si(r,e,i)!==Si(r,e,s)}function ch(r,e,i){const s=i*i;if(e.length===1)return r.distSqr(e[0])<s;for(let o=1;o<e.length;o++)if(_d(r,e[o-1],e[o])<s)return!0;return!1}function _d(r,e,i){const s=e.distSqr(i);if(s===0)return r.distSqr(e);const o=((r.x-e.x)*(i.x-e.x)+(r.y-e.y)*(i.y-e.y))/s;return r.distSqr(o<0?e:o>1?i:i.sub(e)._mult(o)._add(e))}function yd(r,e){let i,s,o,l=!1;for(const u of r){i=u;for(let p=0,g=i.length-1;p<i.length;g=p++)s=i[p],o=i[g],s.y>e.y!=o.y>e.y&&e.x<(o.x-s.x)*(e.y-s.y)/(o.y-s.y)+s.x&&(l=!l)}return l}function aa(r,e){let i=!1;for(let s=0,o=r.length-1;s<r.length;o=s++){const l=r[s],u=r[o];l.y>e.y!=u.y>e.y&&e.x<(u.x-l.x)*(e.y-l.y)/(u.y-l.y)+l.x&&(i=!i)}return i}function $f(r,e,i){const s=i[0],o=i[2];if(r.x<s.x&&e.x<s.x||r.x>o.x&&e.x>o.x||r.y<s.y&&e.y<s.y||r.y>o.y&&e.y>o.y)return!1;const l=Si(r,e,i[0]);return l!==Si(r,e,i[1])||l!==Si(r,e,i[2])||l!==Si(r,e,i[3])}function la(r,e,i){const s=e.paint.get(r).value;return s.kind==="constant"?s.value:i.programConfigurations.get(e.id).getMaxValue(r)}function cu(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1])}function uu(r,e,i,s,o){if(!e[0]&&!e[1])return r;const l=Te.convert(e)._mult(o);i==="viewport"&&l._rotate(-s);const u=[];for(const p of r)u.push(p.sub(l));return u}function Zf(r){const e=[];for(let i=0;i<r.length;i++){const s=r[i],o=e.at(-1);(i===0||o&&!s.equals(o))&&e.push(s)}return e}function qf({queryGeometry:r,size:e},i){return lu(r,i,e)}function Wf({queryGeometry:r,size:e,transform:i,unwrappedTileID:s,getElevation:o},l){return lu(r,l,e*(i.projectTileCoordinates(l.x,l.y,s,o).signedDistanceFromCamera/i.cameraToCenterDistance))}function Hf({queryGeometry:r,size:e,transform:i,unwrappedTileID:s,getElevation:o},l){const u=i.projectTileCoordinates(l.x,l.y,s,o).signedDistanceFromCamera,p=e*(i.cameraToCenterDistance/u);return lu(r,uh(l,i,s,o),p)}function Xf({queryGeometry:r,size:e,transform:i,unwrappedTileID:s,getElevation:o},l){return lu(r,uh(l,i,s,o),e)}function vd({queryGeometry:r,size:e,transform:i,unwrappedTileID:s,getElevation:o,pitchAlignment:l="map",pitchScale:u="map"},p){const g=l==="map"?u==="map"?qf:Wf:u==="map"?Hf:Xf,m={queryGeometry:r,size:e,transform:i,unwrappedTileID:s,getElevation:o};for(const v of p)for(const _ of v)if(g(m,_))return!0;return!1}function uh(r,e,i,s){const o=e.projectTileCoordinates(r.x,r.y,i,s).point;
5return new Te((.5*o.x+.5)*e.width,(.5*-o.y+.5)*e.height)}let xd,bd;Se("CircleBucket",sa,{omit:["layers"]});var Yf={get paint(){return bd=bd||new li({"circle-radius":new Ce(ce.paint_circle["circle-radius"]),"circle-color":new Ce(ce.paint_circle["circle-color"]),"circle-blur":new Ce(ce.paint_circle["circle-blur"]),"circle-opacity":new Ce(ce.paint_circle["circle-opacity"]),"circle-translate":new Ie(ce.paint_circle["circle-translate"]),"circle-translate-anchor":new Ie(ce.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Ie(ce.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Ie(ce.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Ce(ce.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Ce(ce.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Ce(ce.paint_circle["circle-stroke-opacity"])})},get layout(){return xd=xd||new li({"circle-sort-key":new Ce(ce.layout_circle["circle-sort-key"])})}};class Kf extends Vi{constructor(e,i){super(e,Yf,i)}createBucket(e){return new sa(e)}queryRadius(e){const i=e;return la("circle-radius",this,i)+la("circle-stroke-width",this,i)+cu(this.paint.get("circle-translate"))}queryIntersectsFeature({queryGeometry:e,feature:i,featureState:s,geometry:o,transform:l,pixelsToTileUnits:u,unwrappedTileID:p,getElevation:g}){const m=uu(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),-l.bearingInRadians,u),v=this.paint.get("circle-radius").evaluate(i,s)+this.paint.get("circle-stroke-width").evaluate(i,s),_=this.paint.get("circle-pitch-scale"),T=this.paint.get("circle-pitch-alignment");let b,I;return T==="map"?(b=m,I=v*u):(b=function(M,A,D,F){return M.map(k=>uh(k,A,D,F))}(m,l,p,g),I=v),vd({queryGeometry:b,size:I,transform:l,unwrappedTileID:p,getElevation:g,pitchAlignment:T,pitchScale:_},o)}}class wd extends sa{}let Td;Se("HeatmapBucket",wd,{omit:["layers"]});var Jf={get paint(){return Td=Td||new li({"heatmap-radius":new Ce(ce.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Ce(ce.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Ie(ce.paint_heatmap["heatmap-intensity"]),"heatmap-color":new ss(ce.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Ie(ce.paint_heatmap["heatmap-opacity"])})}};function hh(r,{width:e,height:i},s,o){if(o){if(o instanceof Uint8ClampedArray)o=new Uint8Array(o.buffer);else if(o.length!==e*i*s)throw new RangeError(`mismatched image size. expected: ${o.length} but got: ${e*i*s}`)}else o=new Uint8Array(e*i*s);return r.width=e,r.height=i,r.data=o,r}function Sd(r,{width:e,height:i},s){if(e===r.width&&i===r.height)return;const o=hh({},{width:e,height:i},s);dh(r,o,{x:0,y:0},{x:0,y:0},{width:Math.min(r.width,e),height:Math.min(r.height,i)},s),r.width=e,r.height=i,r.data=o.data}function dh(r,e,i,s,o,l){if(o.width===0||o.height===0)return e;if(o.width>r.width||o.height>r.height||i.x>r.width-o.width||i.y>r.height-o.height)throw new RangeError("out of range source coordinates for image copy");if(o.width>e.width||o.height>e.height||s.x>e.width-o.width||s.y>e.height-o.height)throw new RangeError("out of range destination coordinates for image copy");const u=r.data,p=e.data;if(u===p)throw new Error("srcData equals dstData, so image is already copied");for(let g=0;g<o.height;g++){const m=((i.y+g)*r.width+i.x)*l,v=((s.y+g)*e.width+s.x)*l;for(let _=0;_<o.width*l;_++)p[v+_]=u[m+_]}return e}class Vl{constructor(e,i){hh(this,e,1,i)}resize(e){Sd(this,e,1)}clone(){return new Vl({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,i,s,o,l){dh(e,i,s,o,l,1)}}class Di{constructor(e,i){hh(this,e,4,i)}resize(e){Sd(this,e,4)}replace(e,i){i?this.data.set(e):this.data=e instanceof Uint8ClampedArray?new Uint8Array(e.buffer):e}clone(){return new Di({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(e,i,s,o,l){dh(e,i,s,o,l,4)}setPixel(e,i,s){const o=4*(e*this.width+i);this.data[o+0]=Math.round(255*s.r/s.a),this.data[o+1]=Math.round(255*s.g/s.a),this.data[o+2]=Math.round(255*s.b/s.a),this.data[o+3]=Math.round(255*s.a)}}function Pd(r){const e=new Uint8Array(r.length);for(let i=0;i<r.length;i+=4){const s=r[i+3];e[i+0]=Math.round(r[i+0]*s/255),e[i+1]=Math.round(r[i+1]*s/255),e[i+2]=Math.round(r[i+2]*s/255),e[i+3]=s}return e}function Id(r){const e={},i=r.resolution||256,s=r.clips?r.clips.length:1,o=r.image||new Di({width:i,height:s});if(Math.log(i)/Math.LN2%1!=0)throw new Error(`width is not a power of 2 - ${i}`);const l=(u,p,g)=>{e[r.evaluationKey]=g;const m=r.expression.evaluate(e);o.setPixel(u/4/i,p/4,m)};if(r.clips)for(let u=0,p=0;u<s;++u,p+=4*i)for(let g=0,m=0;g<i;g++,m+=4){const v=g/(i-1),{start:_,end:T}=r.clips[u];l(p,m,_*(1-v)+T*v)}else for(let u=0,p=0;u<i;u++,p+=4)l(0,p,u/(i-1));return o}Se("AlphaImage",Vl),Se("RGBAImage",Di);const ph="big-fb";class Qf extends Vi{createBucket(e){return new wd(e)}constructor(e,i){super(e,Jf,i),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e==="heatmap-color"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=Id({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(ph)&&this.heatmapFbos.delete(ph)}queryRadius(e){return la("heatmap-radius",this,e)}queryIntersectsFeature({queryGeometry:e,feature:i,featureState:s,geometry:o,transform:l,pixelsToTileUnits:u,unwrappedTileID:p,getElevation:g}){return vd({queryGeometry:e,size:this.paint.get("heatmap-radius").evaluate(i,s)*u,transform:l,unwrappedTileID:p,getElevation:g},o)}hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&!this.isHidden()}}let Md;var em={get paint(){return Md=Md||new li({"hillshade-illumination-direction":new Ie(ce.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-altitude":new Ie(ce.paint_hillshade["hillshade-illumination-altitude"]),"hillshade-illumination-anchor":new Ie(ce.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Ie(ce.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Ie(ce.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Ie(ce.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Ie(ce.paint_hillshade["hillshade-accent-color"]),"hillshade-method":new Ie(ce.paint_hillshade["hillshade-method"]),resampling:new Ie(ce.paint_hillshade.resampling)})}};class tm extends Vi{constructor(e,i){super(e,em,i),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get("hillshade-illumination-direction").values,i=this.paint.get("hillshade-illumination-altitude").values,s=this.paint.get("hillshade-highlight-color").values,o=this.paint.get("hillshade-shadow-color").values;const l=Math.max(e.length,i.length,s.length,o.length);e=e.concat(Array(l-e.length).fill(e.at(-1))),i=i.concat(Array(l-i.length).fill(i.at(-1))),s=s.concat(Array(l-s.length).fill(s.at(-1))),o=o.concat(Array(l-o.length).fill(o.at(-1)));const u=i.map(Er);return{directionRadians:e.map(Er),altitudeRadians:u,shadowColor:o,highlightColor:s}}hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&!this.isHidden()}}let Ed;var im={get paint(){return Ed=Ed||new li({"color-relief-opacity":new Ie(ce["paint_color-relief"]["color-relief-opacity"]),"color-relief-color":new ss(ce["paint_color-relief"]["color-relief-color"]),resampling:new Ie(ce["paint_color-relief"].resampling)})}};function Cd(r){return"data"in r}class fh{constructor(e,i,s,o){this.context=e,this.format=s,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(i,o)}update(e,i,s){var o;const{width:l,height:u}=e,p=(((o=this.size)===null||o===void 0?void 0:o[0])!==l||this.size[1]!==u)&&!s,{context:g}=this,{gl:m}=g;this.useMipmap=!!i?.useMipmap,m.bindTexture(m.TEXTURE_2D,this.texture),g.pixelStoreUnpackFlipY.set(!1),g.pixelStoreUnpack.set(1);const v=this.format===m.RGBA&&i?.premultiply!==!1;if(p)this.size=[l,u],Cd(e)?(g.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,v,l,u,m)):(g.pixelStoreUnpackPremultiplyAlpha.set(v),this._uploadDomImage(e,m));else{const{x:_,y:T}=s||{x:0,y:0};Cd(e)?(g.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,v,_,T,l,u,m)):(g.pixelStoreUnpackPremultiplyAlpha.set(v),this._updateDomImage(e,_,T,m))}this.useMipmap&&this.isSizePowerOfTwo()&&m.generateMipmap(m.TEXTURE_2D),g.pixelStoreUnpackFlipY.setDefault(),g.pixelStoreUnpack.setDefault(),g.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,i){i.texImage2D(i.TEXTURE_2D,0,this.format,this.format,i.UNSIGNED_BYTE,e)}_uploadRawData(e,i,s,o,l){let{data:u}=e;i&&u&&(u=Pd(u)),l.texImage2D(l.TEXTURE_2D,0,this.format,s,o,0,this.format,l.UNSIGNED_BYTE,u)}_updateDomImage(e,i,s,o){o.texSubImage2D(o.TEXTURE_2D,0,i,s,o.RGBA,o.UNSIGNED_BYTE,e)}_updateRawData(e,i,s,o,l,u,p){let{data:g}=e;i&&g&&(g=Pd(g)),p.texSubImage2D(p.TEXTURE_2D,0,s,o,l,u,p.RGBA,p.UNSIGNED_BYTE,g)}bind(e,i,s){const{context:o}=this,{gl:l}=o;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),l.bindTexture(l.TEXTURE_2D,this.texture),s!==l.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(s=l.LINEAR),e!==this.filter&&(l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MAG_FILTER,e),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_MIN_FILTER,s||e),this.filter=e),i!==this.wrap&&(l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_S,i),l.texParameteri(l.TEXTURE_2D,l.TEXTURE_WRAP_T,i),this.wrap=i)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}}class Ad{constructor(e,i,s,o=1,l=1,u=1,p=0){if(this.uid=e,i.height!==i.width)throw new RangeError("DEM tiles must be square");if(s&&!["mapbox","terrarium","custom"].includes(s))return void $t(`"${s}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);this.stride=i.height;const g=this.dim=i.height-2;switch(this.data=new Uint32Array(i.data.buffer),s){case"terrarium":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;
vendor: 7,205 bytes, line 5
5case"custom":this.redFactor=o,this.greenFactor=l,this.blueFactor=u,this.baseShift=p;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let m=0;m<g;m++)this.data[this._idx(-1,m)]=this.data[this._idx(0,m)],this.data[this._idx(g,m)]=this.data[this._idx(g-1,m)],this.data[this._idx(m,-1)]=this.data[this._idx(m,0)],this.data[this._idx(m,g)]=this.data[this._idx(m,g-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(g,-1)]=this.data[this._idx(g-1,0)],this.data[this._idx(-1,g)]=this.data[this._idx(0,g-1)],this.data[this._idx(g,g)]=this.data[this._idx(g-1,g-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let m=0;m<g;m++)for(let v=0;v<g;v++){const _=this.get(m,v);_>this.max&&(this.max=_),_<this.min&&(this.min=_)}}get(e,i){const s=new Uint8Array(this.data.buffer),o=4*this._idx(e,i);return this.unpack(s[o],s[o+1],s[o+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(e,i){if(e<-1||e>=this.dim+1||i<-1||i>=this.dim+1)throw new RangeError(`Out of range source coordinates for DEM data. x: ${e}, y: ${i}, dim: ${this.dim}`);return(i+1)*this.stride+(e+1)}unpack(e,i,s){return e*this.redFactor+i*this.greenFactor+s*this.blueFactor-this.baseShift}pack(e){return Dd(e,this.getUnpackVector())}getPixels(){return new Di({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,i,s){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let o=i*this.dim,l=i*this.dim+this.dim,u=s*this.dim,p=s*this.dim+this.dim;switch(i){case-1:o=l-1;break;case 1:l=o+1}switch(s){case-1:u=p-1;break;case 1:p=u+1}const g=-i*this.dim,m=-s*this.dim;for(let v=u;v<p;v++)for(let _=o;_<l;_++)this.data[this._idx(_,v)]=e.data[this._idx(_+g,v+m)]}}function Dd(r,e){const i=e[0],s=e[1],o=e[2],l=e[3],u=Math.min(i,s,o),p=Math.round((r+l)/u);return{r:Math.floor(p*u/i)%256,g:Math.floor(p*u/s)%256,b:Math.floor(p*u/o)%256}}Se("DEMData",Ad);class rm extends Vi{constructor(e,i){super(e,im,i)}_createColorRamp(e){const i={elevationStops:[],colorStops:[]},s=this._transitionablePaint._values["color-relief-color"].value.expression;if(s instanceof jo&&s._styleExpression.expression instanceof It){this.colorRampExpression=s;const u=s._styleExpression.expression;i.elevationStops=u.labels,i.colorStops=[];for(const p of i.elevationStops)i.colorStops.push(u.evaluate({globals:{elevation:p}}))}if(i.elevationStops.length<1&&(i.elevationStops=[0],i.colorStops=[Ve.transparent]),i.elevationStops.length<2&&(i.elevationStops.push(i.elevationStops[0]+1),i.colorStops.push(i.colorStops[0])),i.elevationStops.length<=e)return i;const o={elevationStops:[],colorStops:[]},l=(i.elevationStops.length-1)/(e-1);for(let u=0;u<i.elevationStops.length-.5;u+=l)o.elevationStops.push(i.elevationStops[Math.round(u)]),o.colorStops.push(i.colorStops[Math.round(u)]);return $t(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${i.elevationStops.length}`),o}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values["color-relief-color"].value.expression}getColorRampTextures(e,i,s){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;const o=this._createColorRamp(i),l=new Di({width:o.colorStops.length,height:1}),u=new Di({width:o.colorStops.length,height:1});for(let p=0;p<o.elevationStops.length;p++){const g=Dd(o.elevationStops[p],s);u.setPixel(0,p,new Ve(g.r/255,g.g/255,g.b/255,1)),l.setPixel(0,p,o.colorStops[p])}return this.colorRampTextures={elevationTexture:new fh(e,u,e.gl.RGBA),colorTexture:new fh(e,l,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}}const nm=lt([{name:"a_pos",components:2,type:"Int16"}],4),{members:sm}=nm;function hu(r,e,i){const s=i.patternDependencies;let o=!1;for(const l of e){const u=l.paint.get(`${r}-pattern`);u.isConstant()||(o=!0);const p=u.constantOr(null);p&&(o=!0,s[p.to]=!0,s[p.from]=!0)}return o}function mh(r,e,i,s,o){const{zoom:l}=s,u=o.patternDependencies;for(const p of e){const g=p.paint.get(`${r}-pattern`).value;if(g.kind!=="constant"){let m=g.evaluate({zoom:l-1},i,{},o.availableImages),v=g.evaluate({zoom:l},i,{},o.availableImages),_=g.evaluate({zoom:l+1},i,{},o.availableImages);m=m?.name?m.name:m,v=v?.name?v.name:v,_=_?.name?_.name:_,u[m]=!0,u[v]=!0,u[_]=!0,i.patterns[p.id]={min:m,mid:v,max:_}}}return i}function zd(r,e,i,s,o){let l;if(o===function(u,p,g,m){let v=0;for(let _=p,T=g-m;_<g;_+=m)v+=(u[T]-u[_])*(u[_+1]+u[T+1]),T=_;return v}(r,e,i,s)>0)for(let u=e;u<i;u+=s)l=Ld(u/s|0,r[u],r[u+1],l);else for(let u=i-s;u>=e;u-=s)l=Ld(u/s|0,r[u],r[u+1],l);return l&&ca(l,l.next)&&(Gl(l),l=l.next),l}function ro(r,e){if(!r)return r;e||(e=r);let i,s=r;do if(i=!1,s.steiner||!ca(s,s.next)&&Et(s.prev,s,s.next)!==0)s=s.next;else{if(Gl(s),s=e=s.prev,s===s.next)break;i=!0}while(i||s!==e);return e}function jl(r,e,i,s,o,l,u){if(!r)return;!u&&l&&function(g,m,v,_){let T=g;do T.z===0&&(T.z=gh(T.x,T.y,m,v,_)),T.prevZ=T.prev,T.nextZ=T.next,T=T.next;while(T!==g);T.prevZ.nextZ=null,T.prevZ=null,function(b){let I,M=1;do{let A,D=b;b=null;let F=null;for(I=0;D;){I++;let k=D,L=0;for(let j=0;j<M&&(L++,k=k.nextZ,k);j++);let O=M;for(;L>0||O>0&&k;)L!==0&&(O===0||!k||D.z<=k.z)?(A=D,D=D.nextZ,L--):(A=k,k=k.nextZ,O--),F?F.nextZ=A:b=A,A.prevZ=F,F=A;D=k}F.nextZ=null,M*=2}while(I>1)}(T)}(r,s,o,l);let p=r;for(;r.prev!==r.next;){const g=r.prev,m=r.next;if(l?am(r,s,o,l):om(r))e.push(g.i,r.i,m.i),Gl(r),r=m.next,p=m.next;else if((r=m)===p){u?u===1?jl(r=lm(ro(r),e),e,i,s,o,l,2):u===2&&cm(r,e,i,s,o,l):jl(ro(r),e,i,s,o,l,1);break}}}function om(r){const e=r.prev,i=r,s=r.next;if(Et(e,i,s)>=0)return!1;const o=e.x,l=i.x,u=s.x,p=e.y,g=i.y,m=s.y,v=Math.min(o,l,u),_=Math.min(p,g,m),T=Math.max(o,l,u),b=Math.max(p,g,m);let I=s.next;for(;I!==e;){if(I.x>=v&&I.x<=T&&I.y>=_&&I.y<=b&&Nl(o,p,l,g,u,m,I.x,I.y)&&Et(I.prev,I,I.next)>=0)return!1;I=I.next}return!0}function am(r,e,i,s){const o=r.prev,l=r,u=r.next;if(Et(o,l,u)>=0)return!1;const p=o.x,g=l.x,m=u.x,v=o.y,_=l.y,T=u.y,b=Math.min(p,g,m),I=Math.min(v,_,T),M=Math.max(p,g,m),A=Math.max(v,_,T),D=gh(b,I,e,i,s),F=gh(M,A,e,i,s);let k=r.prevZ,L=r.nextZ;for(;k&&k.z>=D&&L&&L.z<=F;){if(k.x>=b&&k.x<=M&&k.y>=I&&k.y<=A&&k!==o&&k!==u&&Nl(p,v,g,_,m,T,k.x,k.y)&&Et(k.prev,k,k.next)>=0||(k=k.prevZ,L.x>=b&&L.x<=M&&L.y>=I&&L.y<=A&&L!==o&&L!==u&&Nl(p,v,g,_,m,T,L.x,L.y)&&Et(L.prev,L,L.next)>=0))return!1;L=L.nextZ}for(;k&&k.z>=D;){if(k.x>=b&&k.x<=M&&k.y>=I&&k.y<=A&&k!==o&&k!==u&&Nl(p,v,g,_,m,T,k.x,k.y)&&Et(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;L&&L.z<=F;){if(L.x>=b&&L.x<=M&&L.y>=I&&L.y<=A&&L!==o&&L!==u&&Nl(p,v,g,_,m,T,L.x,L.y)&&Et(L.prev,L,L.next)>=0)return!1;L=L.nextZ}return!0}function lm(r,e){let i=r;do{const s=i.prev,o=i.next.next;!ca(s,o)&&Rd(s,i,i.next,o)&&Ul(s,o)&&Ul(o,s)&&(e.push(s.i,i.i,o.i),Gl(i),Gl(i.next),i=r=o),i=i.next}while(i!==r);return ro(i)}function cm(r,e,i,s,o,l){let u=r;do{let p=u.next.next;for(;p!==u.prev;){if(u.i!==p.i&&fm(u,p)){let g=Fd(u,p);return u=ro(u,u.next),g=ro(g,g.next),jl(u,e,i,s,o,l,0),void jl(g,e,i,s,o,l,0)}p=p.next}u=u.next}while(u!==r)}function um(r,e){let i=r.x-e.x;
vendor: 2,093 bytes, line 5
5return i===0&&(i=r.y-e.y,i===0)&&(i=(r.next.y-r.y)/(r.next.x-r.x)-(e.next.y-e.y)/(e.next.x-e.x)),i}function hm(r,e){const i=function(o,l){let u=l;const p=o.x,g=o.y;let m,v=-1/0;if(ca(o,u))return u;do{if(ca(o,u.next))return u.next;if(g<=u.y&&g>=u.next.y&&u.next.y!==u.y){const M=u.x+(g-u.y)*(u.next.x-u.x)/(u.next.y-u.y);if(M<=p&&M>v&&(v=M,m=u.x<u.next.x?u:u.next,M===p))return m}u=u.next}while(u!==l);if(!m)return null;const _=m,T=m.x,b=m.y;let I=1/0;u=m;do{if(p>=u.x&&u.x>=T&&p!==u.x&&kd(g<b?p:v,g,T,b,g<b?v:p,g,u.x,u.y)){const M=Math.abs(g-u.y)/(p-u.x);Ul(u,o)&&(M<I||M===I&&(u.x>m.x||u.x===m.x&&dm(m,u)))&&(m=u,I=M)}u=u.next}while(u!==_);return m}(r,e);if(!i)return e;const s=Fd(i,r);return ro(s,s.next),ro(i,i.next)}function dm(r,e){return Et(r.prev,r,e.prev)<0&&Et(e.next,r,r.next)<0}function gh(r,e,i,s,o){return(r=1431655765&((r=858993459&((r=252645135&((r=16711935&((r=(r-i)*o|0)|r<<8))|r<<4))|r<<2))|r<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-s)*o|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function pm(r){let e=r,i=r;do(e.x<i.x||e.x===i.x&&e.y<i.y)&&(i=e),e=e.next;while(e!==r);return i}function kd(r,e,i,s,o,l,u,p){return(o-u)*(e-p)>=(r-u)*(l-p)&&(r-u)*(s-p)>=(i-u)*(e-p)&&(i-u)*(l-p)>=(o-u)*(s-p)}function Nl(r,e,i,s,o,l,u,p){return!(r===u&&e===p)&&kd(r,e,i,s,o,l,u,p)}function fm(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!function(i,s){let o=i;do{if(o.i!==i.i&&o.next.i!==i.i&&o.i!==s.i&&o.next.i!==s.i&&Rd(o,o.next,i,s))return!0;o=o.next}while(o!==i);return!1}(r,e)&&(Ul(r,e)&&Ul(e,r)&&function(i,s){let o=i,l=!1;const u=(i.x+s.x)/2,p=(i.y+s.y)/2;do o.y>p!=o.next.y>p&&o.next.y!==o.y&&u<(o.next.x-o.x)*(p-o.y)/(o.next.y-o.y)+o.x&&(l=!l),o=o.next;while(o!==i);return l}(r,e)&&(Et(r.prev,r,e.prev)||Et(r,e.prev,e))||ca(r,e)&&Et(r.prev,r,r.next)>0&&Et(e.prev,e,e.next)>0)}function Et(r,e,i){return(e.y-r.y)*(i.x-e.x)-(e.x-r.x)*(i.y-e.y)}function ca(r,e){return r.x===e.x&&r.y===e.y}function Rd(r,e,i,s){const o=pu(Et(r,e,i)),l=pu(Et(r,e,s)),u=pu(Et(i,s,r)),p=pu(Et(i,s,e));return o!==l&&u!==p||!(o!==0||!du(r,i,e))||!(l!==0||!du(r,s,e))||!(u!==0||!du(i,r,s))||!(
vendor: 5,381 bytes, line 5
5p!==0||!du(i,e,s))}function du(r,e,i){return e.x<=Math.max(r.x,i.x)&&e.x>=Math.min(r.x,i.x)&&e.y<=Math.max(r.y,i.y)&&e.y>=Math.min(r.y,i.y)}function pu(r){return r>0?1:r<0?-1:0}function Ul(r,e){return Et(r.prev,r,r.next)<0?Et(r,e,r.next)>=0&&Et(r,r.prev,e)>=0:Et(r,e,r.prev)<0||Et(r,r.next,e)<0}function Fd(r,e){const i=_h(r.i,r.x,r.y),s=_h(e.i,e.x,e.y),o=r.next,l=e.prev;return r.next=e,e.prev=r,i.next=o,o.prev=i,s.next=i,i.prev=s,l.next=s,s.prev=l,s}function Ld(r,e,i,s){const o=_h(r,e,i);return s?(o.next=s.next,o.prev=s,s.next.prev=o,s.next=o):(o.prev=o,o.next=o),o}function Gl(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function _h(r,e,i){return{i:r,x:e,y:i,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}class ua{constructor(e,i){if(i>e)throw new Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=e,this._minGranularity=i}getGranularityForZoomLevel(e){return Math.max(Math.floor(this._baseZoomGranularity/(1<<e)),this._minGranularity,1)}}class fu{constructor(e){this.fill=e.fill,this.line=e.line,this.tile=e.tile,this.stencil=e.stencil,this.circle=e.circle}}fu.noSubdivision=new fu({fill:new ua(0,0),line:new ua(0,0),tile:new ua(0,0),stencil:new ua(0,0),circle:1}),Se("SubdivisionGranularityExpression",ua),Se("SubdivisionGranularitySetting",fu);const ha=-32768,$l=32767;class mm{constructor(e,i){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=De/e,this._canonical=i}_getKey(e,i){return(e+=32768)<<16|i+32768}_vertexToIndex(e,i){if(e<-32768||i<-32768||e>32767||i>32767)throw new Error("Vertex coordinates are out of signed 16 bit integer range.");const s=0|Math.round(e),o=0|Math.round(i),l=this._getKey(s,o);if(this._vertexDictionary.has(l))return this._vertexDictionary.get(l);const u=this._vertexBuffer.length/2;return this._vertexDictionary.set(l,u),this._vertexBuffer.push(s,o),u}_subdivideTrianglesScanline(e){if(this._granularity<2)return function(o,l){const u=[];for(let p=0;p<l.length;p+=3){const g=l[p],m=l[p+1],v=l[p+2],_=o[2*g],T=o[2*g+1];(o[2*m]-_)*(o[2*v+1]-T)-(o[2*m+1]-T)*(o[2*v]-_)>0?(u.push(g),u.push(v),u.push(m)):(u.push(g),u.push(m),u.push(v))}return u}(this._vertexBuffer,e);const i=[],s=e.length;for(let o=0;o<s;o+=3){const l=[e[o+0],e[o+1],e[o+2]],u=[this._vertexBuffer[2*e[o+0]+0],this._vertexBuffer[2*e[o+0]+1],this._vertexBuffer[2*e[o+1]+0],this._vertexBuffer[2*e[o+1]+1],this._vertexBuffer[2*e[o+2]+0],this._vertexBuffer[2*e[o+2]+1]];let p=1/0,g=1/0,m=-1/0,v=-1/0;for(let M=0;M<3;M++){const A=u[2*M],D=u[2*M+1];p=Math.min(p,A),m=Math.max(m,A),g=Math.min(g,D),v=Math.max(v,D)}if(p===m||g===v)continue;const _=Math.floor(p/this._granularityCellSize),T=Math.ceil(m/this._granularityCellSize),b=Math.floor(g/this._granularityCellSize),I=Math.ceil(v/this._granularityCellSize);if(_!==T||b!==I)for(let M=b;M<I;M++){const A=this._scanlineGenerateVertexRingForCellRow(M,u,l);gm(this._vertexBuffer,A,i)}else i.push(...l)}return i}_scanlineGenerateVertexRingForCellRow(e,i,s){const o=e*this._granularityCellSize,l=o+this._granularityCellSize,u=[];for(let p=0;p<3;p++){const g=i[2*p],m=i[2*p+1],v=i[2*(p+1)%6],_=i[(2*(p+1)+1)%6],T=i[2*(p+2)%6],b=i[(2*(p+2)+1)%6],I=v-g,M=_-m,A=I===0,D=M===0,F=(o-m)/M,k=(l-m)/M,L=Math.min(F,k),O=Math.max(F,k);if(!D&&(L>=1||O<=0)||D&&(m<o||m>l)){_>=o&&_<=l&&u.push(s[(p+1)%3]);continue}!D&&L>0&&u.push(this._vertexToIndex(g+I*L,m+M*L));const j=g+I*Math.max(L,0),Y=g+I*Math.min(O,1);A||this._generateIntraEdgeVertices(u,g,m,v,_,j,Y),!D&&O<1&&u.push(this._vertexToIndex(g+I*O,m+M*O)),(D||_>=o&&_<=l)&&u.push(s[(p+1)%3]),!D&&(_<=o||_>=l)&&this._generateInterEdgeVertices(u,g,m,v,_,T,b,Y,o,l)}return u}_generateIntraEdgeVertices(e,i,s,o,l,u,p){const g=o-i,m=l-s,v=m===0,_=v?Math.min(i,o):Math.min(u,p),T=v?Math.max(i,o):Math.max(u,p),b=Math.floor(_/this._granularityCellSize)+1,I=Math.ceil(T/this._granularityCellSize)-1;if(v?i<o:u<p)for(let M=b;M<=I;M++){const A=M*this._granularityCellSize;e.push(this._vertexToIndex(A,s+m*(A-i)/g))}else for(let M=I;M>=b;M--){const A=M*this._granularityCellSize;e.push(this._vertexToIndex(A,s+m*(A-i)/g))}}_generateInterEdgeVertices(e,i,s,o,l,u,p,g,m,v){const _=l-s,T=u-o,b=p-l,I=(m-l)/b,M=(v-l)/b,A=Math.min(I,M),D=Math.max(I,M),F=o+T*A;let k=Math.floor(Math.min(F,g)/this._granularityCellSize)+1,L=Math.ceil(Math.max(F,g)/this._granularityCellSize)-1,O=g<F;const j=b===0;if(j&&(p===m||p===v))return;if(j||A>=1||D<=0){const J=s-p,re=u+(i-u)*Math.min((m-p)/J,(v-p)/J);k=Math.floor(Math.min(re,g)/this._granularityCellSize)+1,L=Math.ceil(Math.max(re,g)/this._granularityCellSize)-1,O=g<re}const Y=_>0?v:m;if(O)for(let J=k;J<=L;J++)e.push(this._vertexToIndex(J*this._granularityCellSize,Y));else for(let J=L;J>=k;J--)e.push(this._vertexToIndex(J*this._granularityCellSize,Y))}_generateOutline(e){const i=[];for(const s of e){const o=no(s,this._granularity,!0),l=this._pointArrayToIndices(o),u=[];for(let p=1;p<l.length;p++)u.push(l[p-1]),u.push(l[p]);i.push(u)}return i}_handlePoles(e){let i=!1,s=!1;this._canonical&&(this._canonical.y===0&&(i=!0),this._canonical.y===(1<<this._canonical.z)-1&&(s=!0)),(i||s)&&this._fillPoles(e,i,s)}_ensureNoPoleVertices(){const e=this._vertexBuffer;for(let i=0;i<e.length;i+=2){const s=e[i+1];s===ha&&(e[i+1]=-32767),s===$l&&(e[i+1]=32766)}}_generatePoleQuad(e,i,s,o,l,u){o>
vendor: 5,548 bytes, line 5
5l!=(u===ha)?(e.push(i),e.push(s),e.push(this._vertexToIndex(o,u)),e.push(s),e.push(this._vertexToIndex(l,u)),e.push(this._vertexToIndex(o,u))):(e.push(s),e.push(i),e.push(this._vertexToIndex(o,u)),e.push(this._vertexToIndex(l,u)),e.push(s),e.push(this._vertexToIndex(o,u)))}_fillPoles(e,i,s){const o=this._vertexBuffer,l=De,u=e.length;for(let p=2;p<u;p+=3){const g=e[p-2],m=e[p-1],v=e[p],_=o[2*g],T=o[2*g+1],b=o[2*m],I=o[2*m+1],M=o[2*v],A=o[2*v+1];i&&(T===0&&I===0&&this._generatePoleQuad(e,g,m,_,b,ha),I===0&&A===0&&this._generatePoleQuad(e,m,v,b,M,ha),A===0&&T===0&&this._generatePoleQuad(e,v,g,M,_,ha)),s&&(T===l&&I===l&&this._generatePoleQuad(e,g,m,_,b,$l),I===l&&A===l&&this._generatePoleQuad(e,m,v,b,M,$l),A===l&&T===l&&this._generatePoleQuad(e,v,g,M,_,$l))}}_initializeVertices(e){for(let i=0;i<e.length;i+=2)this._vertexToIndex(e[i],e[i+1])}subdividePolygonInternal(e,i){if(this._used)throw new Error("Subdivision: multiple use not allowed.");this._used=!0;const{flattened:s,holeIndices:o}=function(p){const g=[],m=[];for(const v of p)if(v.length!==0){v!==p[0]&&g.push(m.length/2);for(const _ of v)m.push(_.x),m.push(_.y)}return{flattened:m,holeIndices:g}}(e);let l;this._initializeVertices(s);try{const p=function(m,v,_=2){const T=v&&v.length,b=T?v[0]*_:m.length;let I=zd(m,0,b,_,!0);const M=[];if(!I||I.next===I.prev)return M;let A,D,F;if(T&&(I=function(k,L,O,j){const Y=[];for(let J=0,re=L.length;J<re;J++){const te=zd(k,L[J]*j,J<re-1?L[J+1]*j:k.length,j,!1);te===te.next&&(te.steiner=!0),Y.push(pm(te))}Y.sort(um);for(let J=0;J<Y.length;J++)O=hm(Y[J],O);return O}(m,v,I,_)),m.length>80*_){A=m[0],D=m[1];let k=A,L=D;for(let O=_;O<b;O+=_){const j=m[O],Y=m[O+1];j<A&&(A=j),Y<D&&(D=Y),j>k&&(k=j),Y>L&&(L=Y)}F=Math.max(k-A,L-D),F=F!==0?32767/F:0}return jl(I,M,_,A,D,F,0),M}(s,o),g=this._convertIndices(s,p);l=this._subdivideTrianglesScanline(g)}catch{}let u=[];return i&&(u=this._generateOutline(e)),this._ensureNoPoleVertices(),this._handlePoles(l),{verticesFlattened:this._vertexBuffer,indicesTriangles:l,indicesLineList:u}}_convertIndices(e,i){const s=[];for(const o of i)s.push(this._vertexToIndex(e[2*o],e[2*o+1]));return s}_pointArrayToIndices(e){const i=[];for(const s of e)i.push(this._vertexToIndex(s.x,s.y));return i}}function Bd(r,e,i,s=!0){return new mm(i,e).subdividePolygonInternal(r,s)}function no(r,e,i=!1){if(!r||r.length<1)return[];if(r.length<2)return[];const s=r[0],o=r[r.length-1],l=i&&(s.x!==o.x||s.y!==o.y);if(e<2)return l?[...r,r[0]]:[...r];const u=Math.floor(De/e),p=[];p.push(new Te(r[0].x,r[0].y));const g=r.length,m=l?g:g-1;for(let v=0;v<m;v++){const _=r[v],T=v<g-1?r[v+1]:r[0],b=_.x,I=_.y,M=T.x,A=T.y,D=b!==M,F=I!==A;if(!D&&!F)continue;const k=M-b,L=A-I,O=Math.abs(k),j=Math.abs(L);let Y=b,J=I;for(;;){const te=k>0?(Math.floor(Y/u)+1)*u:(Math.ceil(Y/u)-1)*u,ae=L>0?(Math.floor(J/u)+1)*u:(Math.ceil(J/u)-1)*u,le=Math.abs(Y-te),ne=Math.abs(J-ae),ie=Math.abs(Y-M),fe=Math.abs(J-A),xe=D?le/O:Number.POSITIVE_INFINITY,ye=F?ne/j:Number.POSITIVE_INFINITY;if((ie<=le||!D)&&(fe<=ne||!F))break;if(xe<ye&&D||!F){Y=te,J+=L*xe;const me=new Te(Y,Math.round(J));p[p.length-1].x===me.x&&p[p.length-1].y===me.y||p.push(me)}else{Y+=k*ye,J=ae;const me=new Te(Math.round(Y),J);p[p.length-1].x===me.x&&p[p.length-1].y===me.y||p.push(me)}}const re=new Te(M,A);p[p.length-1].x===re.x&&p[p.length-1].y===re.y||p.push(re)}return p}function gm(r,e,i){if(e.length===0)throw new Error("Subdivision vertex ring is empty.");let s=0,o=r[2*e[0]];for(let g=1;g<e.length;g++){const m=r[2*e[g]];m<o&&(o=m,s=g)}const l=e.length;let u=s,p=(u+1)%l;for(;;){const g=u-1>=0?u-1:l-1,m=(p+1)%l,v=r[2*e[g]],_=r[2*e[m]],T=r[2*e[u]],b=r[2*e[u]+1],I=r[2*e[p]+1];let M=!1;if(v<_)M=!0;else if(v>_)M=!1;else{const A=I-b,D=-(r[2*e[p]]-T),F=b<I?1:-1;((v-T)*A+(r[2*e[g]+1]-b)*D)*F>((_-T)*A+(r[2*e[m]+1]-b)*D)*F&&(M=!0)}if(M){const A=e[g],D=e[u],F=e[p];A!==D&&A!==F&&D!==F&&i.push(F,D,A),u--,u<0&&(u=l-1)}else{const A=e[m],D=e[u],F=e[p];A!==D&&A!==F&&D!==F&&i.push(F,D,A),p++,p>=l&&(p=0)}if(g===m)break}}function Od(r,e,i,s,o,l,u,p,g){const m=o.length/2,v=u&&p&&g;if(m<we.MAX_VERTEX_ARRAY_LENGTH){const _=e.prepareSegment(m,i,s),T=_.vertexLength;for(let M=0;M<l.length;M+=3)s.emplaceBack(T+l[M],T+l[M+1],T+l[M+2]);let b,I;_.vertexLength+=m,_.primitiveLength+=l.length/3,v&&(I=u.prepareSegment(m,i,p),b=I.vertexLength,I.vertexLength+=m);for(let M=0;M<o.length;M+=2)r(o[M],o[M+1]);if(v)for(const M of g){for(let A=1;A<M.length;A+=2)p.emplaceBack(b+M[A-1],b+M[A]);I.primitiveLength+=M.length/2}}else(function(_,T,b,I,M,A){const D=[];for(let j=0;j<I.length/2;j++)D.push(-1);const F={count:0};let k=0,L=_.getOrCreateLatestSegment(T,b),O=L.vertexLength;for(let j=2;j<M.length;j+=3){const Y=M[j-2],J=M[j-1],re=M[j];let te=D[Y]<k,ae=D[J]<k,le=D[re]<k;L.vertexLength+((te?1:0)+(ae?1:0)+(le?1:0))>we.MAX_VERTEX_ARRAY_LENGTH&&(L=_.createNewSegment(T,b),k=F.count,te=!0,ae=!0,le=!0,O=0);const ne=Zl(D,I,A,F,Y,te,L),ie=Zl(D,I,A,F,J,ae,L),fe=Zl(D,I,A,F,re,le,L);b.emplaceBack(O+ne-k,O+ie-k,O+fe-k),L.primitiveLength++}})(e,i,s,o,l,r),v&&function(_,T,b,I,M,A){const D=[];for(let j=0;j<I.length/2;j++)D.push(-1);const F={count:0};let k=0,L=_.getOrCreateLatestSegment(T,b),O=L.vertexLength;for(const j of M)for(let Y=1;Y<j.length;Y+=2){const J=j[Y-1],re=j[Y];let te=D[J]<k,ae=D[re]<k;L.vertexLength+((te?1:0)+(ae?1:0))>we.MAX_VERTEX_ARRAY_LENGTH&&(L=_.createNewSegment(T,b),k=F.count,te=!0,ae=!0,O=0);const le=Zl(D,I,A,F,J,te,L),ne=Zl(D,I,A,F,re,ae,L);b.emplaceBack(O+le-k,O+ne-k),L.primitiveLength++}}(u,i,p,o,g,r),e.forceNewSegmentOnNextPrepare(),u?.forceNewSegmentOnNextPrepare()}
vendor: 9,815 bytes, line 5
5function Zl(r,e,i,s,o,l,u){if(l){const p=s.count;return i(e[2*o],e[2*o+1]),r[o]=s.count,s.count++,u.vertexLength++,p}return r[o]}class yh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(i=>i.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.layoutVertexArray=new N,this.indexArray=new he,this.indexArray2=new Pe,this.programConfigurations=new _r(e.layers,e.zoom),this.segments=new we,this.segments2=new we,this.stateDependentLayerIds=this.layers.filter(i=>i.isStateDependent()).map(i=>i.id)}populate(e,i,s){this.hasDependencies=hu("fill",this.layers,i);const o=this.layers[0].layout.get("fill-sort-key"),l=!o.isConstant(),u=[];for(const{feature:p,id:g,index:m,sourceLayerIndex:v}of e){const _=this.layers[0]._featureFilter.needGeometry,T=Gr(p,_);if(!this.layers[0]._featureFilter.filter(new at(this.zoom),T,s))continue;const b=l?o.evaluate(T,{},s,i.availableImages):void 0,I={id:g,properties:p.properties,type:p.type,sourceLayerIndex:v,index:m,geometry:_?T.geometry:Ur(p),patterns:{},sortKey:b};u.push(I)}l&&u.sort((p,g)=>p.sortKey-g.sortKey);for(const p of u){const{geometry:g,index:m,sourceLayerIndex:v}=p;if(this.hasDependencies){const _=mh("fill",this.layers,p,{zoom:this.zoom},i);this.patternFeatures.push(_)}else this.addFeature(p,g,m,s,{},i.subdivisionGranularity);i.featureIndex.insert(e[m].feature,g,m,v,this.index)}}update(e,i,s){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,i,this.stateDependentLayers,{imagePositions:s})}addFeatures(e,i,s){for(const o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,i,s,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,sm),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,i,s,o,l,u){for(const p of Ao(i,500)){const g=Bd(p,o,u.fill.getGranularityForZoomLevel(o.z)),m=this.layoutVertexArray;Od((v,_)=>{m.emplaceBack(v,_)},this.segments,this.layoutVertexArray,this.indexArray,g.verticesFlattened,g.indicesTriangles,this.segments2,this.indexArray2,g.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,s,{imagePositions:l,canonical:o})}}let Vd,jd;Se("FillBucket",yh,{omit:["layers","patternFeatures"]});var _m={get paint(){return jd=jd||new li({"fill-antialias":new Ie(ce.paint_fill["fill-antialias"]),"fill-opacity":new Ce(ce.paint_fill["fill-opacity"]),"fill-color":new Ce(ce.paint_fill["fill-color"]),"fill-outline-color":new Ce(ce.paint_fill["fill-outline-color"]),"fill-translate":new Ie(ce.paint_fill["fill-translate"]),"fill-translate-anchor":new Ie(ce.paint_fill["fill-translate-anchor"]),"fill-pattern":new Lr(ce.paint_fill["fill-pattern"])})},get layout(){return Vd=Vd||new li({"fill-sort-key":new Ce(ce.layout_fill["fill-sort-key"])})}};class ym extends Vi{constructor(e,i){super(e,_m,i)}recalculate(e,i){super.recalculate(e,i);const s=this.paint._values["fill-outline-color"];s.value.kind==="constant"&&s.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new yh(e)}queryRadius(){return cu(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:e,geometry:i,transform:s,pixelsToTileUnits:o}){return gd(uu(e,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-s.bearingInRadians,o),i)}isTileClipped(){return!0}}const vm=lt([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),xm=lt([{name:"a_centroid",components:2,type:"Int16"}],4),{members:bm}=vm;class ql{constructor(e,i,s,o,l){this.properties={},this.extent=s,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=o,this._values=l,e.readFields(wm,this,i)}loadGeometry(){const e=this._pbf;e.pos=this._geometry;const i=e.readVarint()+e.pos,s=[];let o,l=1,u=0,p=0,g=0;for(;e.pos<i;){if(u<=0){const m=e.readVarint();l=7&m,u=m>>3}if(u--,l===1||l===2)p+=e.readSVarint(),g+=e.readSVarint(),l===1&&(o&&s.push(o),o=[]),o&&o.push(new Te(p,g));else{if(l!==7)throw new Error(`unknown command ${l}`);o&&o.push(o[0].clone())}}return o&&s.push(o),s}bbox(){const e=this._pbf;e.pos=this._geometry;const i=e.readVarint()+e.pos;let s=1,o=0,l=0,u=0,p=1/0,g=-1/0,m=1/0,v=-1/0;for(;e.pos<i;){if(o<=0){const _=e.readVarint();s=7&_,o=_>>3}if(o--,s===1||s===2)l+=e.readSVarint(),u+=e.readSVarint(),l<p&&(p=l),l>g&&(g=l),u<m&&(m=u),u>v&&(v=u);else if(s!==7)throw new Error(`unknown command ${s}`)}return[p,m,g,v]}toGeoJSON(e,i,s){const o=this.extent*Math.pow(2,s),l=this.extent*e,u=this.extent*i,p=this.loadGeometry();function g(T){return[360*(T.x+l)/o-180,360/Math.PI*Math.atan(Math.exp((1-2*(T.y+u)/o)*Math.PI))-90]}function m(T){return T.map(g)}let v;if(this.type===1){const T=[];for(const I of p)T.push(I[0]);const b=m(T);v=T.length===1?{type:"Point",coordinates:b[0]}:{type:"MultiPoint",coordinates:b}}else if(this.type===2){const T=p.map(m);v=T.length===1?{type:"LineString",coordinates:T[0]}:{type:"MultiLineString",coordinates:T}}else{if(this.type!==3)throw new Error("unknown feature type");{const T=Nd(p),b=[];for(const I of T)b.push(I.map(m));v=b.length===1?{type:"Polygon",coordinates:b[0]}:{type:"MultiPolygon",coordinates:b}}}const _={type:"Feature",geometry:v,properties:this.properties};return this.id!=null&&(_.id=this.id),_}}function wm(r,e,i){r===1?e.id=i.readVarint():r===2?function(s,o){const l=s.readVarint()+s.pos;for(;s.pos<l;){const u=o._keys[s.readVarint()],p=o._values[s.readVarint()];o.properties[u]=p}}(i,e):r===3?e.type=i.readVarint():r===4&&(e._geometry=i.pos)}function Nd(r){const e=r.length;if(e<=1)return[r];const i=[];let s,o;for(let l=0;l<e;l++){const u=Tm(r[l]);u!==0&&(o===void 0&&(o=u<0),o===u<0?(s&&i.push(s),s=[r[l]]):s&&s.push(r[l]))}return s&&i.push(s),i}function Tm(r){let e=0;for(let i,s,o=0,l=r.length,u=l-1;o<l;u=o++)i=r[o],s=r[u],e+=(s.x-i.x)*(i.y+s.y);return e}ql.types=["Unknown","Point","LineString","Polygon"];class Sm{constructor(e,i){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],e.readFields(Pm,this,i),this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];const i=this._pbf.readVarint()+this._pbf.pos;return new ql(this._pbf,i,this.extent,this._keys,this._values)}}function Pm(r,e,i){r===15?e.version=i.readVarint():r===1?e.name=i.readString():r===5?e.extent=i.readVarint():r===2?e._features.push(i.pos):r===3?e._keys.push(i.readString()):r===4&&e._values.push(function(s){let o=null;const l=s.readVarint()+s.pos;for(;s.pos<l;){const u=s.readVarint()>>3;o=u===1?s.readString():u===2?s.readFloat():u===3?s.readDouble():u===4?s.readVarint64():u===5?s.readVarint():u===6?s.readSVarint():u===7?s.readBoolean():null}if(o==null)throw new Error("unknown feature value");return o}(i))}class Ud{constructor(e,i){this.layers=e.readFields(Im,{},i)}}function Im(r,e,i){if(r===3){const s=new Sm(i,i.readVarint()+i.pos);s.length&&(e[s.name]=s)}}const vh=Math.pow(2,13);function Wl(r,e,i,s,o,l,u,p){r.emplaceBack(e,i,2*Math.floor(s*vh)+u,o*vh*2,l*vh*2,Math.round(p))}class xh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(i=>i.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new $,this.centroidVertexArray=new V,this.indexArray=new he,this.programConfigurations=new _r(e.layers,e.zoom),this.segments=new we,this.stateDependentLayerIds=this.layers.filter(i=>i.isStateDependent()).map(i=>i.id)}populate(e,i,s){this.features=[],this.hasDependencies=hu("fill-extrusion",this.layers,i);for(const{feature:o,id:l,index:u,sourceLayerIndex:p}of e){const g=this.layers[0]._featureFilter.needGeometry,m=Gr(o,g);if(!this.layers[0]._featureFilter.filter(new at(this.zoom),m,s))continue;const v={id:l,sourceLayerIndex:p,index:u,geometry:g?m.geometry:Ur(o),properties:o.properties,type:o.type,patterns:{}};this.hasDependencies?this.features.push(mh("fill-extrusion",this.layers,v,{zoom:this.zoom},i)):this.addFeature(v,v.geometry,u,s,{},i.subdivisionGranularity),i.featureIndex.insert(o,v.geometry,u,p,this.index,!0)}}addFeatures(e,i,s){for(const o of this.features){const{geometry:l}=o;this.addFeature(o,l,o.index,i,s,e.subdivisionGranularity)}}update(e,i,s){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,i,this.stateDependentLayers,{imagePositions:s})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,bm),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,xm.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,i,s,o,l,u){for(const p of Ao(i,500)){const g={x:0,y:0,sampleCount:0},m=this.layoutVertexArray.length;this.processPolygon(g,o,e,p,u);const v=this.layoutVertexArray.length-m,_=Math.floor(g.x/g.sampleC
5ount),T=Math.floor(g.y/g.sampleCount);for(let b=0;b<v;b++)this.centroidVertexArray.emplaceBack(_,T)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,s,{imagePositions:l,canonical:o})}processPolygon(e,i,s,o,l){if(o.length<1||Gd(o[0]))return;for(const _ of o)_.length!==0&&Mm(e,_);const u={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},p=l.fill.getGranularityForZoomLevel(i.z),g=ql.types[s.type]==="Polygon";for(const _ of o){if(_.length===0||Gd(_))continue;const T=no(_,p,g);this._generateSideFaces(T,u)}if(!g)return;const m=Bd(o,i,p,!1),v=this.layoutVertexArray;Od((_,T)=>{Wl(v,_,T,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,m.verticesFlattened,m.indicesTriangles)}_generateSideFaces(e,i){let s=0;for(let o=1;o<e.length;o++){const l=e[o],u=e[o-1];if(Em(l,u))continue;i.segment.vertexLength+4>we.MAX_VERTEX_ARRAY_LENGTH&&(i.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const p=l.sub(u)._perp()._unit(),g=u.dist(l);s+g>32768&&(s=0),Wl(this.layoutVertexArray,l.x,l.y,p.x,p.y,0,0,s),Wl(this.layoutVertexArray,l.x,l.y,p.x,p.y,0,1,s),s+=g,Wl(this.layoutVertexArray,u.x,u.y,p.x,p.y,0,0,s),Wl(this.layoutVertexArray,u.x,u.y,p.x,p.y,0,1,s);const m=i.segment.vertexLength;this.indexArray.emplaceBack(m,m+2,m+1),this.indexArray.emplaceBack(m+1,m+2,m+3),i.segment.vertexLength+=4,i.segment.primitiveLength+=2}}}function Mm(r,e){for(let i=0;i<e.length;i++){const s=e[i];i===e.length-1&&e[0].x===s.x&&e[0].y===s.y||(r.x+=s.x,r.y+=s.y,r.sampleCount++)}}function Em(r,e){return r.x===e.x&&(r.x<0||r.x>De)||r.y===e.y&&(r.y<0||r.y>De)}function Gd(r){return r.every(e=>e.x<0)||r.every(e=>e.x>De)||r.every(e=>e.y<0)||r.every(e=>e.y>De)}let $d;Se("FillExtrusionBucket",xh,{omit:["layers","features"]});var Cm={get paint(){return $d=$d||new li({"fill-extrusion-opacity":new Ie(ce["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Ce(ce["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Ie(ce["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Ie(ce["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Lr(ce["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Ce(ce["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Ce(ce["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Ie(ce["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Am extends Vi{constructor(e,i){super(e,Cm,i)}createBucket(e){return new xh(e)}queryRadius(){return cu(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:i,featureState:s,geometry:o,transform:l,pixelsToTileUnits:u,pixelPosMatrix:p}){const g=uu(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-l.bearingInRadians,u),m=this.paint.get("fill-extrusion-height").evaluate(i,s),v=this.paint.get("fill-extrusion-base").evaluate(i,s),_=function(b,I){const M=[];for(const A of b){const D=[A.x,A.y,0,1];$e(D,D,I),M.push(new Te(D[0]/D[3],D[1]/D[3]))}return M}(g,p),T=function(b,I,M,A){const D=[],F=[],k=A[8]*I,L=A[9]*I,O=A[10]*I,j=A[11]*I,Y=A[8]*M,J=A[9]*M,re=A[10]*M,te=A[11]*M;for(const ae of b){const le=[],ne=[];for(const ie of ae){const fe=ie.x,xe=ie.y,ye=A[0]*fe+A[4]*xe+A[12],me=A[1]*fe+A[5]*xe+A[13],Ae=A[2]*fe+A[6]*xe+A[14],Xe=A[3]*fe+A[7]*xe+A[15],Ke=Ae+O,it=Xe+j,ri=ye+Y,bt=me+J,Rt=Ae+re,jt=Xe+te,ht=new Te((ye+k)/it,(me+L)/it);ht.z=Ke/it,le.push(ht);const Yt=new Te(ri/jt,bt/jt);Yt.z=Rt/jt,ne.push(Yt)}D.push(le),F.push(ne)}return[D,F]}(o,v,m,p);return function(b,I,M){let A=1/0;gd(M,I)&&(A=Zd(M,I[0]));for(let D=0;D<I.length;D++){const F=I[D],k=b[D];for(let L=0;L<F.length-1;L++){const O=F[L],j=[O,F[L+1],k[L+1],k[L],O];oa(M,j)&&(A=Math.min(A,Zd(M,j)))}}return A!==1/0&&A}(T[0],T[1],_)}}function Hl(r,e){return r.x*e.x+r.y*e.y}function Zd(r,e){if(r.length===1){let i=0;const s=e[i++];let o;for(;!o||s.equals(o);)if(o=e[i++],!o)return 1/0;for(;i<e.length;i++){const l=e[i],u=r[0],p=o.sub(s),g=l.sub(s),m=u.sub(s),v=Hl(p,p),_=Hl(p,g),T=Hl(g,g),b=Hl(m,p),I=Hl(m,g),M=v*T-_*_,A=(T*b-_*I)/M,D=(v*I-_*b)/M,F=s.z*(1-A-D)+o.z*A+l.z*D;if(isFinite(F))return F}return 1/0}{let i=1/0;for(const s of e)i=Math.min(i,s.z);return i}}const qd=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array
5];class mu{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[i,s]=new Uint8Array(e,0,2);if(i!==219)throw new Error("Data does not appear to be in a KDBush format.");const o=s>>4;if(o!==1)throw new Error(`Got v${o} data when expected v1.`);const l=qd[15&s];if(!l)throw new Error("Unrecognized array type.");const[u]=new Uint16Array(e,2,1),[p]=new Uint32Array(e,4,1);return new mu(p,u,l,e)}constructor(e,i=64,s=Float64Array,o){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+i,2),65535),this.ArrayType=s,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const l=qd.indexOf(this.ArrayType),u=2*e*this.ArrayType.BYTES_PER_ELEMENT,p=e*this.IndexArrayType.BYTES_PER_ELEMENT,g=(8-p%8)%8;if(l<0)throw new Error(`Unexpected typed array class: ${s}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+p+g,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+u+p+g),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+p+g,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+l]),new Uint16Array(this.data,2,1)[0]=i,new Uint32Array(this.data,4,1)[0]=e)}add(e,i){const s=this._pos>>1;return this.ids[s]=s,this.coords[this._pos++]=e,this.coords[this._pos++]=i,s}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return bh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,i,s,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:l,coords:u,nodeSize:p}=this,g=[0,l.length-1,0],m=[];for(;g.length;){const v=g.pop()||0,_=g.pop()||0,T=g.pop()||0;if(_-T<=p){for(let A=T;A<=_;A++){const D=u[2*A],F=u[2*A+1];D>=e&&D<=s&&F>=i&&F<=o&&m.push(l[A])}continue}const b=T+_>>1,I=u[2*b],M=u[2*b+1];I>=e&&I<=s&&M>=i&&M<=o&&m.push(l[b]),(v===0?e<=I:i<=M)&&(g.push(T),g.push(b-1),g.push(1-v)),(v===0?s>=I:o>=M)&&(g.push(b+1),g.push(_),g.push(1-v))}return m}within(e,i,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:o,coords:l,nodeSize:u}=this,p=[0,o.length-1,0],g=[],m=s*s;for(;p.length;){const v=p.pop()||0,_=p.pop()||0,T=p.pop()||0;if(_-T<=u){for(let A=T;A<=_;A++)Hd(l[2*A],l[2*A+1],e,i)<=m&&g.push(o[A]);continue}const b=T+_>>1,I=l[2*b],M=l[2*b+1];Hd(I,M,e,i)<=m&&g.push(o[b]),(v===0?e-s<=I:i-s<=M)&&(p.push(T),p.push(b-1),p.push(1-v)),(v===0?e+s>=I:i+s>=M)&&(p.push(b+1),p.push(_),p.push(1-v))}return g}}function bh(r,e,i,s,o,l){if(o-s<=i)return;const u=s+o>>1;Wd(r,e,u,s,o,l),bh(r,e,i,s,u-1,1-l),bh(r,e,i,u+1,o,1-l)}function Wd(r,e,i,s,o,l){for(;o>s;){if(o-s>600){const m=o-s+1,v=i-s+1,_=Math.log(m),T=.5*Math.exp(2*_/3),b=.5*Math.sqrt(_*T*(m-T)/m)*(v-m/2<0?-1:1);Wd(r,e,i,Math.max(s,Math.floor(i-v*T/m+b)),Math.min(o,Math.floor(i+(m-v)*T/m+b)),l)}const u=e[2*i+l];let p=s,g=o;for(Xl(r,e,s,i),e[2*o+l]>u&&Xl(r,e,s,o);p<g;){for(Xl(r,e,p,g),p++,g--;e[2*p+l]<u;)p++;for(;e[2*g+l]>u;)g--}e[2*s+l]===u?Xl(r,e,s,g):(g++,Xl(r,e,g,o)),g<=i&&(s=g+1),i<=g&&(o=g-1)}}function Xl(r,e,i,s){wh(r,i,s),wh(e,2*i,2*s),wh(e,2*i+1,2*s+1)}function wh(r,e,i){const s=r[e];r[e]=r[i],r[i]=s}function Hd(r,e,i,s){const o=r-i,l=e-s;return o*o+l*l}function Th(r,e,i,s){let o=s;const l=e+(i-e>>1);let u,p=i-e;const g=r[e],m=r[e+1],v=r[i],_=r[i+1];for(let T=e+3;T<i;T+=3){const b=Dm(r[T],r[T+1],g,m,v,_);if(b>o)u=T,o=b;else if(b===o){const I=Math.abs(T-l);I<p&&(u=T,p=I)}}o>s&&(u-e>3&&Th(r,e,u,s),r[u+2]=o,i-u>3&&Th(r,u,i,s))}function Dm(r,e,i,s,o,l){let u=o-i,p=l-s;if(u!==0||p!==0){const g=((r-i)*u+(e-s)*p)/(u*u+p*p);g>1?(i=o,s=l):g>0&&(i+=u*g,s+=p*g)}return u=r-i,p=e-s,u*u+p*p}function Xt(r,e,i,s){const o={type:e,geom:i},l={id:r??null,type:o.type,geometry:o.geom,tags:s,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(o.type){case"Point":case"MultiPoint":Yl(l,o.geom);break;case"LineString":Yl(l,o.geom.points);break;case"Polygon":Yl(l,o.geom[0].points);break;case"MultiLineString":for(const u of o.geom)Yl(l,u.points);break;case"MultiPolygon":for(const u of o.geom)Yl(l,u[0].points)}return l}function Sh(r){r.points.length>64&&(r.points=new Float64Array(r.points))}function Yl(r,e){for(let i=0;i<e.length;i+=3)r.minX=Math.min(r.minX,e[i]),r.minY=Math.min(r.minY,e[i+1]),r.maxX=Math.max(r.maxX,e[i]),r.maxY=Math.max(r.maxY,e[i+1])}function Ph(r,e){const i=[];switch(r.type){case"FeatureCollection":for(let s=0;s<r.features.length;s++)gu(i,r.features[s],e,s);break;case"Feature":gu(i,r,e);break;default:gu(i,{geometry:r,properties:void 0},e)}return i}function gu(r,e,i,s){if(!e.geometry)return;if(e.geometry.type==="GeometryCollection")return void function(p,g,m,v,_){for(const T of m.geometries)gu(p,{id:g.id,geometry:T,properties:g.properties},v,_)}(r,e,e.geometry,i,s);if(!e.geometry.coordinates?.length)return;const l=function(p,g,m){return g.promoteId?p.properties?.[g.promoteId]:g.generateId?m||0:p.id}(e,i,s),u=Math.pow(i.tolerance/((1<<i.maxZoom)*i.extent),2);switch(e.geometry.type){case"Point":return void function(p,g,m,v){const _=[];_.push(da(m.coordinates[0]),pa(m.coordinates[1]),0),p.push(Xt(g,"Point",_,v))}(r,l,e.geometry,e.properties);case"MultiPoint":return void function(p,g,m,v){const _=[];for(const T of m.coordinates)_.push(da(T[0]),pa(T[1]),0);p.push(Xt(g,"MultiPoint",_,v))}(r,l,e.geometry,e.properties);case"LineString":return void function(p,g,m,v,_){const T={points:[]};Ih(m.coordinates,T,v,!1),p.push(Xt(g,"LineString",T,_))}(r,l,e.geometry,u,e.properties);case"MultiLineString":return void function(p,g,m,v,_,T){if(_.lineMetrics)for(const b of m.coordinates){const I={points:[]};Ih(b,I,v,!1),p.push(Xt(g,"LineString",I,T))}else{const b=[];Mh(m.coordinates,b,v,!1),p.push(Xt(g,"MultiLineString",b,T))}}(r,l,e.geometry,u,i,e.properties);case"Polygon":return void function(p,g,m,v,_){const T=[];Mh(m.coordinates,T,v,!0),p.push(Xt(g,"Polygon",T,_))}(r,l,e.geometry,u,e.properties);case"MultiPolygon":return void function(p,g,m,v,_){const T=[];for(const b of m.coordinates){const I=[];Mh(b,I,v,!0),T.push(I)}p.push(Xt(g,"MultiPolygon",T,_))}(r,l,e.geometry,u,e.properties);default:throw new Error("Input data is not a valid GeoJSON object.")}}function Ih(r,e,i,s){let o,l,u=0;for(let g=0;g<r.length;g++){const m=da(r[g][0]),v=pa(r[g][1]);e.points.push(m,v,0),g>0&&(u+=s?(o*v-m*l)/2:Math.sqrt(Math.pow(m-o,2)+Math.pow(v-l,2))),o=m,l=v}const p=e.points.length-3;e.points[2]=1,i>0&&Th(e.points,0,p,i),e.points[p+2]=1,Sh(e),e.size=Math.abs(u),e.start=0,e.end=e.size}function Mh(r,e,i,s){for(let o=0;o<r.length;o++){const l={points:[]};Ih(r[o],l,i,s),e.push(l)}}function da(r){return r/360+.5}function pa(r){const e=Math.sin(r*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function _u(r){const e={type:"Feature",geometry:zm(r),properties:r.tags};return r.id!=null&&(e.id=r.id),e}function zm(r){const{type:e,geometry:i}=r;switch(e){case"Point":return{type:e,coordinates:Xd(i[0],i[1])};case"MultiPoint":return{type:e,coordinates:yu(i)};case"LineString":return{type:e,coordinates:yu(i.points)};case"MultiLineString":case"Polygon":return{type:e,coordinates:i.map(s=>yu(s.points))};case"MultiPolygon":return{type:e,coordinates:i.map(s=>s.map(o=>yu(o.points)))}}}function yu(r){const e=[];for(let i=0;i<r.length;i+=3)e.push(Xd(r[i],r[i+1]));return e}function Xd(r,e){return[Yd(r),Kd(e)]}function Yd(r){return 360*(r-.5)}function Kd(r){const e=(180-360*r)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}var ui;function Pn(r,e,i,s,o,l,u,p){if(s/=e,l>=(i/=e)&&u<s)return r;if(u<i||l>=s)return null;const g=[];for(const m of r){const v=o===ui.X?m.minX:m.minY,_=o===ui.X?m.maxX:m.maxY;if(v>=i&&_<s)g.push(m);else if(!(_<i||v>=s))switch(m.type){case"Point":case"MultiPoint":km(m,g,i,s,o);continue;case"LineString":Rm(m,g,i,s,o,p);continue;case"MultiLineString":Fm(m,g,i,s,o);continue;case"Polygon":Lm(m,g,i,s,o);continue;case"MultiPolygon":Bm(m,g,i,s,o);continue}}return g.length?g:null}function km(r,e,i,s,o){const l=[];(function(u,p,g,m,v){for(let _=0;_<u.length;_+=3){const T=u[_+v];T>=g&&T<=m&&fa(p,u[_],u[_+1],u[_+2])}})(r.geometry,l,i,s,o),l.length&&e.push(Xt(r.id,l.length===3?"Point":"MultiPoint",l,r.tags))}
5function Rm(r,e,i,s,o,l){const u=[];if(Jd(r.geometry,u,i,s,o,!1,l.lineMetrics),u.length)if(l.lineMetrics)for(const p of u)e.push(Xt(r.id,"LineString",p,r.tags));else e.push(u.length>1?Xt(r.id,"MultiLineString",u,r.tags):Xt(r.id,"LineString",u[0],r.tags))}function Fm(r,e,i,s,o){const l=[];Eh(r.geometry,l,i,s,o,!1),l.length&&e.push(l.length!==1?Xt(r.id,"MultiLineString",l,r.tags):Xt(r.id,"LineString",l[0],r.tags))}function Lm(r,e,i,s,o){const l=[];Eh(r.geometry,l,i,s,o,!0),l.length&&e.push(Xt(r.id,"Polygon",l,r.tags))}function Bm(r,e,i,s,o){const l=[];for(const u of r.geometry){const p=[];Eh(u,p,i,s,o,!0),p.length&&l.push(p)}l.length&&e.push(Xt(r.id,"MultiPolygon",l,r.tags))}function Jd(r,e,i,s,o,l,u){let p=Qd(r);const g=o===ui.X?Om:Vm;let m,v,_=r.start;for(let A=0;A<r.points.length-3;A+=3){const D=r.points[A],F=r.points[A+1],k=r.points[A+2],L=r.points[A+3],O=r.points[A+4],j=o===ui.X?D:F,Y=o===ui.X?L:O;let J=!1;u&&(m=Math.sqrt(Math.pow(D-L,2)+Math.pow(F-O,2))),j<i?Y>i&&(v=g(p,D,F,L,O,i),u&&(p.start=_+m*v)):j>s?Y<s&&(v=g(p,D,F,L,O,s),u&&(p.start=_+m*v)):fa(p.points,D,F,k),Y<i&&j>=i&&(v=g(p,D,F,L,O,i),J=!0),Y>s&&j<=s&&(v=g(p,D,F,L,O,s),J=!0),!l&&J&&(u&&(p.end=_+m*v),e.push(p),p=Qd(r)),u&&(_+=m)}let T=r.points.length-3;const b=r.points[T],I=r.points[T+1],M=o===ui.X?b:I;M>=i&&M<=s&&fa(p.points,b,I,r.points[T+2]),T=p.points.length-3,l&&T>=3&&(p.points[T]!==p.points[0]||p.points[T+1]!==p.points[1])&&fa(p.points,p.points[0],p.points[1],p.points[2]),p.points.length&&(Sh(p),e.push(p))}function Qd(r){return{points:[],size:r.size,start:r.start,end:r.end}}function Eh(r,e,i,s,o,l){for(const u of r)Jd(u,e,i,s,o,l,!1)}function fa(r,e,i,s){r.push(e,i,s)}function Om(r,e,i,s,o,l){const u=(l-e)/(s-e);return fa(r.points,l,i+(o-i)*u,1),u}function Vm(r,e,i,s,o,l){const u=(l-i)/(o-i);return fa(r.points,e+(s-e)*u,l,1),u}function Ch(r,e){const i=e.buffer/e.extent;let s=r;const o=Pn(r,1,-1-i,i,ui.X,-1,2,e),l=Pn(r,1,1-i,2+i,ui.X,-1,2,e);return(o||l)&&(s=Pn(r,1,-i,1+i,ui.X,-1,2,e)||[],o&&(s=ep(o,1).concat(s)),l&&(s=s.concat(ep(l,-1)))),s}function ep(r,e){const i=[];for(const s of r)switch(s.type){case"Point":case"MultiPoint":{const o=jm(s.geometry,e);i.push(Xt(s.id,s.type,o,s.tags));continue}case"LineString":{const o=Ah(s.geometry,e);i.push(Xt(s.id,s.type,o,s.tags));continue}case"MultiLineString":case"Polygon":{const o=[];for(const l of s.geometry)o.push(Ah(l,e));i.push(Xt(s.id,s.type,o,s.tags));continue}case"MultiPolygon":{const o=[];for(const l of s.geometry){const u=[];for(const p of l)u.push(Ah(p,e));o.push(u)}i.push(Xt(s.id,s.type,o,s.tags));continue}}return i}function jm(r,e){const i=[];for(let s=0;s<r.length;s+=3)i.push(r[s]+e,r[s+1],r[s+2]);return i}function Ah(r,e){const i={points:[],size:r.size};r.start!==void 0&&(i.start=r.start,i.end=r.end);for(let s=0;s<r.points.length;s+=3)i.points.push(r.points[s]+e,r.points[s+1],r.points[s+2]);return Sh(i),i}function Nm(r,e,i){const s=!!e.newGeometry,o=e.removeAllProperties||e.removeProperties?.length>0||e.addOrUpdateProperties?.length>0;if(s){const l=r[0];let u=Ph({type:"FeatureCollection",features:[{type:"Feature",id:l.id,geometry:e.newGeometry,properties:o?tp(l.tags,e):l.tags}]},i);return u=Ch(u,i),u}if(o){const l=[];for(const u of r){const p={...u};p.tags=tp(p.tags,e),l.push(p)}return l}return r}function tp(r,e){if(e.removeAllProperties)return{};const i={...r||{}};if(e.removeProperties)for(const s of e.removeProperties)delete i[s];if(e.addOrUpdateProperties)for(const{key:s,value:o}of e.addOrUpdateProperties)i[s]=o;return i}(function(r){r[r.X=0]="X",r[r.Y=1]="Y"})(ui||(ui={}));const Dh={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:r=>r};class Um{constructor(e){this.options=Object.assign(Object.create(Dh),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){const i=[];for(const s of e){if(!s.geometry)continue;const[o,l]=s.geometry.coordinates,[u,p]=[da(o),pa(l)];i.push({id:s.id,type:"Point",geometry:[u,p],tags:s.properties})}this.createIndex(i)}initialize(e){const i=[];for(const s of e)s.type==="Point"&&i.push(s);this.createIndex(i)}updateIndex(e,i,s){this.options=Object.assign(Object.create(Dh),s.clusterOptions),this.initialize(e)}
vendor: 4,367 bytes, line 5
5createIndex(e){const{log:i,minZoom:s,maxZoom:o}=this.options,l=`prepare ${e.length} points`;this.points=e;const u=[];for(let g=0;g<e.length;g++){const m=e[g];if(!m?.geometry)continue;let[v,_]=m.geometry;v=Math.fround(v),_=Math.fround(_),u.push(v,_,1/0,g,-1,1),this.options.reduce&&u.push(0)}let p=this.trees[o+1]=this.createTree(u);for(let g=o;g>=s;g--){const m=Date.now();p=this.trees[g]=this.createTree(this.cluster(p,g))}}getClusters(e,i){return this.getClustersInternal(e,i).map(s=>_u(s))}getClustersInternal(e,i){let s=((e[0]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[1]));let l=e[2]===180?180:((e[2]+180)%360+360)%360-180;const u=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)s=-180,l=180;else if(s>l){const _=this.getClustersInternal([s,o,180,u],i),T=this.getClustersInternal([-180,o,l,u],i);return _.concat(T)}const p=this.trees[this.limitZoom(i)],g=p.range(da(s),pa(u),da(l),pa(o)),m=p.flatData,v=[];for(const _ of g){const T=this.stride*_;v.push(m[T+5]>1?Gm(m,T,this.clusterProps):this.points[m[T+3]])}return v}getChildren(e){const i=this.getOriginId(e),s=this.getOriginZoom(e),o=new Error("No cluster with the specified id: "+e),l=this.trees[s];if(!l)throw o;const u=l.flatData;if(i*this.stride>=u.length)throw o;const p=this.options.radius/(this.options.extent*Math.pow(2,s-1)),g=l.within(u[i*this.stride],u[i*this.stride+1],p),m=[];for(const v of g){const _=v*this.stride;u[_+4]===e&&m.push(u[_+5]>1?$m(u,_,this.clusterProps):_u(this.points[u[_+3]]))}if(m.length===0)throw o;return m}getLeaves(e,i,s){const o=[];return this.appendLeaves(o,e,i=i||10,s=s||0,0),o}getTile(e,i,s){const o=this.trees[this.limitZoom(e)];if(!o)return null;const l=Math.pow(2,e),{extent:u,radius:p}=this.options,g=p/u,m=(s-g)/l,v=(s+1+g)/l,_={transformed:!0,features:[],source:null,x:i,y:s,z:e};return this.addTileFeatures(o.range((i-g)/l,m,(i+1+g)/l,v),o.flatData,i,s,l,_),i===0&&this.addTileFeatures(o.range(1-g/l,m,1,v),o.flatData,l,s,l,_),i===l-1&&this.addTileFeatures(o.range(0,m,g/l,v),o.flatData,-1,s,l,_),_}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,i,s,o,l){const u=this.getChildren(i);for(const p of u){const g=p.properties;if(g?.cluster?l+g.point_count<=o?l+=g.point_count:l=this.appendLeaves(e,g.cluster_id,s,o,l):l<o?l++:e.push(p),e.length===s)break}return l}createTree(e){const i=new mu(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let s=0;s<e.length;s+=this.stride)i.add(e[s],e[s+1]);return i.finish(),i.flatData=e,i.data=null,i}addTileFeatures(e,i,s,o,l,u){for(const p of e){const g=p*this.stride,m=i[g+5]>1;let v,_,T;if(m)v=zh(i,g,this.clusterProps),_=i[g],T=i[g+1];else{const M=this.points[i[g+3]];v=M.tags,[_,T]=M.geometry}const b={type:1,geometry:[[Math.round(this.options.extent*(_*l-s)),Math.round(this.options.extent*(T*l-o))]],tags:v};let I;I=m||this.options.generateId?i[g+3]:this.points[i[g+3]].id,I!==void 0&&(b.id=I),u.features.push(b)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,i){const{radius:s,extent:o,reduce:l,minPoints:u}=this.options,p=s/(o*Math.pow(2,i)),g=e.flatData,m=[],v=this.stride;for(let _=0;_<g.length;_+=v){if(g[_+2]<=i)continue;g[_+2]=i;const T=g[_],b=g[_+1],I=e.within(g[_],g[_+1],p),M=g[_+5];let A=M;for(const D of I){const F=D*v;g[F+2]>i&&(A+=g[F+5])}if(A>M&&A>=u){let D,F=T*M,k=b*M,L=-1;const O=(_/v<<5)+(i+1)+this.points.length;for(const j of I){const Y=j*v;if(g[Y+2]<=i)continue;g[Y+2]=i;const J=g[Y+5];F+=g[Y]*J,k+=g[Y+1]*J,g[Y+4]=O,l&&(D||(D=this.map(g,_,!0),L=this.clusterProps.length,this.clusterProps.push(D)),l(D,this.map(g,Y)))}g[_+4]=O,m.push(F/A,k/A,1/0,O,-1,A),l&&m.push(L)}else{for(let D=0;D<v;D++)m.push(g[_+D]);if(A>1)for(const D of I){const F=D*v;if(!(g[F+2]<=i)){g[F+2]=i;for(let k=0;k<v;k++)m.push(g[F+k])}}}}return m}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,i,s){if(e[i+5]>1){const u=this.clusterProps[e[i+6]];return s?Object.assign({},u):u}const o=this.points[e[i+3]].tags,l=this.options.map(o);return s&&l===o?Object.assign({},l):l}}function Gm(r,e,i){return{id:r[e+3],type:"Point",tags:zh(r,e,i),geometry:[r[e],r[e+1]]}}function $m(r,e,i){return{type:"Feature",id:r[e+3],properties:zh(r,e,i),geometry:{type:"Point",coordinates:[Yd(r[e]),Kd(r[e+1])]}}}function zh(r,e,i){const s=r[e+5],o=s>=1e4?`${Math.round(s/1e3)}
5k`:s>=1e3?Math.round(s/100)/10+"k":s,l=r[e+6],u=l===-1?{}:Object.assign({},i[l]);return Object.assign(u,{cluster:!0,cluster_id:r[e+3],point_count:s,point_count_abbreviated:o})}const kh="geojsonvt_clip_start",Rh="geojsonvt_clip_end";function ip(r,e,i,s,o){const l=e===o.maxZoom?0:o.tolerance/((1<<e)*o.extent),u={transformed:!1,features:[],source:null,x:i,y:s,z:e,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:r.length};for(const p of r)Zm(u,p,l,o);return u}function Zm(r,e,i,s){switch(r.minX=Math.min(r.minX,e.minX),r.minY=Math.min(r.minY,e.minY),r.maxX=Math.max(r.maxX,e.maxX),r.maxY=Math.max(r.maxY,e.maxY),e.type){case"Point":case"MultiPoint":return void function(o,l){const u=[];for(let g=0;g<l.geometry.length;g+=3)u.push(l.geometry[g],l.geometry[g+1]),o.numPoints++,o.numSimplified++;if(!u.length)return;const p={type:1,tags:l.tags||null,geometry:u};l.id!==null&&(p.id=l.id),o.features.push(p)}(r,e);case"LineString":return void function(o,l,u,p){const g=[];if(Fh(g,l.geometry,o,u,!1,!1),!g.length)return;let m=l.tags||null;if(p.lineMetrics){m={};for(const _ in l.tags)m[_]=l.tags[_];m[kh]=l.geometry.start/l.geometry.size,m[Rh]=l.geometry.end/l.geometry.size}const v={type:2,tags:m,geometry:g};l.id!==null&&(v.id=l.id),o.features.push(v)}(r,e,i,s);case"MultiLineString":case"Polygon":return void function(o,l,u){const p=[];for(let m=0;m<l.geometry.length;m++)Fh(p,l.geometry[m],o,u,l.type==="Polygon",m===0);if(!p.length)return;const g={type:l.type==="Polygon"?3:2,tags:l.tags||null,geometry:p};l.id!==null&&(g.id=l.id),o.features.push(g)}(r,e,i);case"MultiPolygon":return void function(o,l,u){const p=[];for(let m=0;m<l.geometry.length;m++){const v=l.geometry[m];for(let _=0;_<v.length;_++)Fh(p,v[_],o,u,!0,_===0)}if(!p.length)return;const g={type:3,tags:l.tags||null,geometry:p};l.id!==null&&(g.id=l.id),o.features.push(g)}(r,e,i)}}function Fh(r,e,i,s,o,l){const u=s*s;if(s>0&&e.size<(o?u:s))return void(i.numPoints+=e.points.length/3);const p=[];for(let g=0;g<e.points.length;g+=3)(s===0||e.points[g+2]>u)&&(i.numSimplified++,p.push(e.points[g],e.points[g+1])),i.numPoints++;o&&function(g,m){let v=0;for(let _=0,T=g.length,b=T-2;_<T;b=_,_+=2)v+=(g[_]-g[b])*(g[_+1]+g[b+1]);if(v>0===m)for(let _=0,T=g.length;_<T/2;_+=2){const b=g[_],I=g[_+1];g[_]=g[T-2-_],g[_+1]=g[T-1-_],g[T-2-_]=b,g[T-1-_]=I}}(p,l),r.push(p)}function rp(r,e){if(r.transformed)return r;const i=1<<r.z,s=r.x,o=r.y;for(const l of r.features)l.type===1?qm(l,e,i,s,o):Wm(l,e,i,s,o);return r.transformed=!0,r}function qm(r,e,i,s,o){const l=r,u=r.geometry,p=[];for(let g=0;g<u.length;g+=2)p.push(np(u[g],u[g+1],e,i,s,o));return l.geometry=p,l}function Wm(r,e,i,s,o){const l=r,u=r.geometry,p=[];for(const g of u){const m=[];for(let v=0;v<g.length;v+=2)m.push(np(g[v],g[v+1],e,i,s,o));p.push(m)}return l.geometry=p,l}function np(r,e,i,s,o,l){return[Math.round(i*(r*s-o)),Math.round(i*(e*s-l))]}class Hm{constructor(e){this.options=e,this.total=0,this.stats={},this.tiles={},this.tileCoords=[],this.stats={},this.total=0}initialize(e){this.splitTile(e,0,0,0),this.options.debug&&e.length}updateIndex(e,i,s){s.debug>1,this.invalidateTiles(i),s.debug>1;const[o,l,u]=[0,0,0],p=ip(e,o,l,u,s);p.source=e;const g=vu(o,l,u);if(this.tiles[g]=p,this.tileCoords.push({z:o,x:l,y:u,id:g}),s.debug){const m=`z${o}`;this.stats[m]=(this.stats[m]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,i,s){return null}getTile(e,i,s){const{extent:o,debug:l}=this.options,u=1<<e,p=vu(e,i=i+u&u-1,s);if(this.tiles[p])return rp(this.tiles[p],o);l>1;let g,m=e,v=i,_=s;for(;!g&&m>0;)m--,v>>=1,_>>=1,g=this.tiles[vu(m,v,_)];return g?.source?(l>1,this.splitTile(g.source,m,v,_,e,i,s),l>1,this.tiles[p]?rp(this.tiles[p],o):null):null}splitTile(e,i,s,o,l,u,p){const g=[e,i,s,o],m=this.options,v=m.debug;for(;g.length;){o=g.pop(),s=g.pop(),i=g.pop(),e=g.pop();const _=1<<i,T=vu(i,s,o);let b=this.tiles[T];if(!b&&(v>1,b=this.tiles[T]=ip(e,i,s,o,m),this.tileCoords.push({z:i,x:s,y:o,id:T}),v)){v>1;const J=`z${i}`;this.stats[J]=(this.stats[J]||0)+1,this.total++}if(b.source=e,l==null){if(i===m.indexMaxZoom||b.numPoints<=m.indexMaxPoints)continue}else{if(i===m.maxZoom||i===l)continue;if(l!=null){const J=l-i;if(s!==u>>J||o!==p>>J)continue}}
5if(b.source=null,!e.length)continue;v>1;const I=.5*m.buffer/m.extent,M=.5-I,A=.5+I,D=1+I;let F=null,k=null,L=null,O=null;const j=Pn(e,_,s-I,s+A,ui.X,b.minX,b.maxX,m),Y=Pn(e,_,s+M,s+D,ui.X,b.minX,b.maxX,m);j&&(F=Pn(j,_,o-I,o+A,ui.Y,b.minY,b.maxY,m),k=Pn(j,_,o+M,o+D,ui.Y,b.minY,b.maxY,m)),Y&&(L=Pn(Y,_,o-I,o+A,ui.Y,b.minY,b.maxY,m),O=Pn(Y,_,o+M,o+D,ui.Y,b.minY,b.maxY,m)),v>1,g.push(F||[],i+1,2*s,2*o),g.push(k||[],i+1,2*s,2*o+1),g.push(L||[],i+1,2*s+1,2*o),g.push(O||[],i+1,2*s+1,2*o+1)}}invalidateTiles(e){if(!e.length)return;const i=this.options,{debug:s}=i;let o=1/0,l=-1/0,u=1/0,p=-1/0;for(const v of e)o=Math.min(o,v.minX),l=Math.max(l,v.maxX),u=Math.min(u,v.minY),p=Math.max(p,v.maxY);const g=i.buffer/i.extent,m=new Set;for(const v in this.tiles){const _=this.tiles[v],T=1<<_.z,b=(_.x-g)/T,I=(_.x+1+g)/T,M=(_.y-g)/T,A=(_.y+1+g)/T;if(l<b||o>=I||p<M||u>=A)continue;let D=!1;for(const F of e)if(F.maxX>=b&&F.minX<I&&F.maxY>=M&&F.minY<A){D=!0;break}if(D){if(s){s>1;const F=`z${_.z}`;this.stats[F]=(this.stats[F]||0)-1,this.total--}delete this.tiles[v],m.add(v)}}m.size&&(this.tileCoords=this.tileCoords.filter(v=>!m.has(v.id)))}}function vu(r,e,i){return 32*((1<<r)*i+e)+r}const Xm={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:Dh,debug:0},Ym=lt([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4),{members:Km}=Ym,Jm=lt([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]),{members:Qm}=Jm,eg=Math.cos(Math.PI/180*37.5),sp=Math.pow(2,14)/.5;class Lh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(i=>i.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(const i of this.layers)this.gradients[i.id]={};this.layoutVertexArray=new X,this.layoutVertexArray2=new Z,this.indexArray=new he,this.programConfigurations=new _r(e.layers,e.zoom),this.segments=new we,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(i=>i.isStateDependent()).map(i=>i.id)}populate(e,i,s){this.hasDependencies=hu("line",this.layers,i)||this.hasLineDasharray(this.layers);const o=this.layers[0].layout.get("line-sort-key"),l=!o.isConstant(),u=[];for(const{feature:p,id:g,index:m,sourceLayerIndex:v}of e){const _=this.layers[0]._featureFilter.needGeometry,T=Gr(p,_);if(!this.layers[0]._featureFilter.filter(new at(this.zoom),T,s))continue;const b=l?o.evaluate(T,{},s):void 0,I={id:g,properties:p.properties,type:p.type,sourceLayerIndex:v,index:m,geometry:_?T.geometry:Ur(p),patterns:{},dashes:{},sortKey:b};u.push(I)}l&&u.sort((p,g)=>p.sortKey-g.sortKey);for(const p of u){const{geometry:g,index:m,sourceLayerIndex:v}=p;this.hasDependencies?(hu("line",this.layers,i)?mh("line",this.layers,p,{zoom:this.zoom},i):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,p,this.zoom,i),this.patternFeatures.push(p)):this.addFeature(p,g,m,s,{},{},i.subdivisionGranularity),i.featureIndex.insert(e[m].feature,g,m,v,this.index)}}update(e,i,s,o){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,i,this.stateDependentLayers,{imagePositions:s,dashPositions:o})}addFeatures(e,i,s,o){for(const l of this.patternFeatures)this.addFeature(l,l.geometry,l.index,i,s,o,e.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,Qm)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Km),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.hasOwn(e.properties,kh)&&Object.hasOwn(e.properties,Rh))return{start:+e.properties[kh],end:+e.properties[Rh]}}
vendor: 12,914 bytes, line 5
5addFeature(e,i,s,o,l,u,p){const g=this.layers[0].layout,m=g.get("line-join").evaluate(e,{}),v=g.get("line-cap").evaluate(e,{}),_=g.get("line-miter-limit").evaluate(e,{}),T=g.get("line-round-limit").evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(const b of i)this.addLine(b,e,m,v,_,T,o,p);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,s,{imagePositions:l,dashPositions:u,canonical:o})}addLine(e,i,s,o,l,u,p,g){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e=no(e,p?g.line.getGranularityForZoomLevel(p.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let k=0;k<e.length-1;k++)this.totalDistance+=e[k].dist(e[k+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}const m=ql.types[i.type]==="Polygon";let v=e.length;for(;v>=2&&e[v-1].equals(e[v-2]);)v--;let _=0;for(;_<v-1&&e[_].equals(e[_+1]);)_++;if(v<(m?3:2))return;s==="bevel"&&(l=1.05);const T=this.overscaling<=16?122880/(512*this.overscaling):0,b=this.segments.prepareSegment(10*v,this.layoutVertexArray,this.indexArray);let I,M,A,D,F;this.e1=this.e2=-1,m&&(I=e[v-2],F=e[_].sub(I)._unit()._perp());for(let k=_;k<v;k++){if(A=k===v-1?m?e[_+1]:void 0:e[k+1],A&&e[k].equals(A))continue;F&&(D=F),I&&(M=I),I=e[k],F=A?A.sub(I)._unit()._perp():D,D||(D=F);let L=D.add(F);L.x===0&&L.y===0||L._unit();const O=D.x*F.x+D.y*F.y,j=L.x*F.x+L.y*F.y,Y=j!==0?1/j:1/0,J=2*Math.sqrt(2-2*j),re=j<eg&&M&&A,te=D.x*F.y-D.y*F.x>0;if(re&&k>_){const ne=I.dist(M);if(ne>2*T){const ie=I.sub(I.sub(M)._mult(T/ne)._round());this.updateDistance(M,ie),this.addCurrentVertex(ie,D,0,0,b),M=ie}}const ae=M&&A;let le=ae?s:m?"butt":o;if(ae&&le==="round"&&(Y<u?le="miter":Y<=2&&(le="fakeround")),le==="miter"&&Y>l&&(le="bevel"),le==="bevel"&&(Y>2&&(le="flipbevel"),Y<l&&(le="miter")),M&&this.updateDistance(M,I),le==="miter")L._mult(Y),this.addCurrentVertex(I,L,0,0,b);else if(le==="flipbevel"){if(Y>100)L=F.mult(-1);else{const ne=Y*D.add(F).mag()/D.sub(F).mag();L._perp()._mult(ne*(te?-1:1))}this.addCurrentVertex(I,L,0,0,b),this.addCurrentVertex(I,L.mult(-1),0,0,b)}else if(le==="bevel"||le==="fakeround"){const ne=-Math.sqrt(Y*Y-1),ie=te?ne:0,fe=te?0:ne;if(M&&this.addCurrentVertex(I,D,ie,fe,b),le==="fakeround"){const xe=Math.round(180*J/Math.PI/20);for(let ye=1;ye<xe;ye++){let me=ye/xe;if(me!==.5){const Xe=me-.5;me+=me*Xe*(me-1)*((1.0904+O*(O*(3.55645-1.43519*O)-3.2452))*Xe*Xe+(.848013+O*(.215638*O-1.06021)))}const Ae=F.sub(D)._mult(me)._add(D)._unit()._mult(te?-1:1);this.addHalfVertex(I,Ae.x,Ae.y,!1,te,0,b)}}A&&this.addCurrentVertex(I,F,-ie,-fe,b)}else if(le==="butt")this.addCurrentVertex(I,L,0,0,b);else if(le==="square"){const ne=M?1:-1;this.addCurrentVertex(I,L,ne,ne,b)}else le==="round"&&(M&&(this.addCurrentVertex(I,D,0,0,b),this.addCurrentVertex(I,D,1,1,b,!0)),A&&(this.addCurrentVertex(I,F,-1,-1,b,!0),this.addCurrentVertex(I,F,0,0,b)));if(re&&k<v-1){const ne=I.dist(A);if(ne>2*T){const ie=I.add(A.sub(I)._mult(T/ne)._round());this.updateDistance(I,ie),this.addCurrentVertex(ie,F,0,0,b),I=ie}}}}addCurrentVertex(e,i,s,o,l,u=!1){const p=i.y*o-i.x,g=-i.y-i.x*o;this.addHalfVertex(e,i.x+i.y*s,i.y-i.x*s,u,!1,s,l),this.addHalfVertex(e,p,g,u,!0,-o,l),this.distance>sp/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,i,s,o,l,u))}addHalfVertex({x:e,y:i},s,o,l,u,p,g){const m=.5*(this.lineClips?this.scaledDistance*(sp-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(l?1:0),(i<<1)+(u?1:0),Math.round(63*s)+128,Math.round(63*o)+128,1+(p===0?0:p<0?-1:1)|(63&m)<<2,m>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const v=g.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,v,this.e2),g.primitiveLength++),u?this.e2=v:this.e1=v}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,i){this.distance+=e.dist(i),this.updateScaledDistance()}hasLineDasharray(e){for(const i of e){const s=i.paint.get("line-dasharray");if(s&&!s.isConstant())return!0}return!1}addLineDashDependencies(e,i,s,o){for(const l of e){const u=l.paint.get("line-dasharray");if(!u||u.value.kind==="constant")continue;const p=l.layout.get("line-cap").evaluate(i,{})==="round",g={dasharray:u.value.evaluate({zoom:s-1},i,{}),round:p},m={dasharray:u.value.evaluate({zoom:s},i,{}),round:p},v={dasharray:u.value.evaluate({zoom:s+1},i,{}),round:p},_=`${g.dasharray.join(",")},${g.round}`,T=`${m.dasharray.join(",")},${m.round}`,b=`${v.dasharray.join(",")},${v.round}`;o.dashDependencies[_]=g,o.dashDependencies[T]=m,o.dashDependencies[b]=v,i.dashes[l.id]={min:_,mid:T,max:b}}}}let op,ap;Se("LineBucket",Lh,{omit:["layers","patternFeatures"]});var lp={get paint(){return ap=ap||new li({"line-opacity":new Ce(ce.paint_line["line-opacity"]),"line-color":new Ce(ce.paint_line["line-color"]),"line-translate":new Ie(ce.paint_line["line-translate"]),"line-translate-anchor":new Ie(ce.paint_line["line-translate-anchor"]),"line-width":new Ce(ce.paint_line["line-width"]),"line-gap-width":new Ce(ce.paint_line["line-gap-width"]),"line-offset":new Ce(ce.paint_line["line-offset"]),"line-blur":new Ce(ce.paint_line["line-blur"]),"line-dasharray":new Lr(ce.paint_line["line-dasharray"]),"line-pattern":new Lr(ce.paint_line["line-pattern"]),"line-gradient":new ss(ce.paint_line["line-gradient"])})},get layout(){return op=op||new li({"line-cap":new Ce(ce.layout_line["line-cap"]),"line-join":new Ce(ce.layout_line["line-join"]),"line-miter-limit":new Ce(ce.layout_line["line-miter-limit"]),"line-round-limit":new Ce(ce.layout_line["line-round-limit"]),"line-sort-key":new Ce(ce.layout_line["line-sort-key"])})}};class tg extends Ce{possiblyEvaluate(e,i){return i=new at(Math.floor(i.zoom),{now:i.now,fadeDuration:i.fadeDuration,zoomHistory:i.zoomHistory,transition:i.transition}),super.possiblyEvaluate(e,i)}evaluate(e,i,s,o){return i=Fi({},i,{zoom:Math.floor(i.zoom)}),super.evaluate(e,i,s,o)}}let xu;class ig extends Vi{constructor(e,i){super(e,lp,i),this.gradientVersion=0,xu||(xu=new tg(lp.paint.properties["line-width"].specification),xu.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e==="line-gradient"){const i=this.gradientExpression();this.stepInterpolant=!!function(s){return s._styleExpression!==void 0}(i)&&i._styleExpression.expression instanceof qn,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,i){super.recalculate(e,i),this.paint._values["line-floorwidth"]=xu.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Lh(e)}queryRadius(e){const i=e,s=cp(la("line-width",this,i),la("line-gap-width",this,i)),o=la("line-offset",this,i);return s/2+Math.abs(o)+cu(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:e,feature:i,featureState:s,geometry:o,transform:l,pixelsToTileUnits:u}){const p=uu(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-l.bearingInRadians,u),g=u/2*cp(this.paint.get("line-width").evaluate(i,s),this.paint.get("line-gap-width").evaluate(i,s)),m=this.paint.get("line-offset").evaluate(i,s);return m&&(o=function(v,_){const T=[];for(const b of v){const I=Zf(b),M=[];for(let A=0;A<I.length;A++){const D=I[A],F=I[A-1],k=I[A+1],L=A===0?new Te(0,0):D.sub(F)._unit()._perp(),O=A===I.length-1?new Te(0,0):k.sub(D)._unit()._perp(),j=L._add(O)._unit(),Y=j.x*O.x+j.y*O.y;Y!==0&&j._mult(1/Y),M.push(j._mult(_)._add(D))}T.push(M)}return T}(o,m*u)),function(v,_,T){for(const b of _){if(v.length>=3){for(const I of b)if(aa(v,I))return!0}if(Uf(v,b,T))return!0}return!1}(p,o,g)}isTileClipped(){return!0}}function cp(r,e){return e>0?e+2*r:r}const rg=lt([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),ng=lt([{name:"a_projected_pos",components:3,type:"Float32"}],4);lt([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const sg=lt([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);lt([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const up=lt([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),og=lt([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ag(r,e,i){const s=e.layout.get("text-transform").evaluate(i,{});return s==="uppercase"?r=r.toLocaleUpperCase():s==="lowercase"&&(r=r.toLocaleLowerCase()),fr.applyArabicShaping&&(r=fr.applyArabicShaping(r)),r}function lg(r,e,i){for(const s of r.sections)s.text=ag(s.text,e,i);return r}lt([{name:"triangle",components:3,type:"Uint16"}]),lt([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),lt([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),lt([{type:"Float32",name:"offsetX"}]),lt([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),lt([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);var Ot=24;const Kl={"!":"ï¸","#":"ï¼",$:"ï¼","%":"ï¼
","&":"ï¼","(":"︵",")":"︶","*":"ï¼","+":"ï¼",",":"ï¸","-":"︲",".":"ã»","/":"ï¼",":":"ï¸",";":"ï¸","<":"︿","=":"ï¼",">":"ï¹","?":"ï¸","@":"ï¼ ","[":"ï¹","\\":"ï¼¼","]":"ï¹","^":"ï¼¾",_:"︳","`":"ï½","{":"︷","|":"â","}":"︸","~":"ï½","¢":"ï¿ ","£":"ï¿¡","Â¥":"ï¿¥","¦":"¦","¬":"ï¿¢","¯":"ï¿£","â":"︲","â":"︱","â":"ï¹","â":"ï¹","â":"ï¹","â":"ï¹","â¦":"ï¸","â¯":"ï¸","â§":"ã»","â©":"₩","ã":"ï¸","ã":"ï¸","ã":"︿","ã":"ï¹","ã":"︽","ã":"︾","ã":"ï¹","ã":"ï¹","ã":"ï¹","ã":"ï¹","ã":"︻","ã":"︼","ã":"︹","ã":"︺","ã":"ï¸","ã":"ï¸","ï¼":"ï¸","ï¼":"︵","ï¼":"︶","ï¼":"ï¸","ï¼":"︲","ï¼":"ã»","ï¼":"ï¸","ï¼":"ï¸","ï¼":"︿","ï¼":"ï¹","ï¼":"ï¸","ï¼»":"ï¹","ï¼½":"ï¹","_":"︳","ï½":"︷","ï½":"â","ï½":"︸","ï½":"︵","ï½ ":"︶","。":"ï¸","ï½¢":"ï¹","ï½£":"ï¹"},cg={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},ug={40:!0};function hp(r,e,i,s,o,l){if("fontStack"in e){const u=i[e.fontStack],p=u?.[r];return p?p.metrics.advance*e.scale+o:0}{const u=s[e.imageName];return u?u.displaySize[0]*e.scale*Ot/l+o:0}}function dp(r,e,i,s){const o=Math.pow(r-e,2);return s?r<e?o/2:2*o:o+Math.abs(i)*i}function hg(r,e,i){let s=0;return r===10&&(s-=1e4),i&&(s+=150),r!==40&&r!==65288||(s+=50),e!==41&&e!==65289||(s+=50),s}function pp(r,e,i,s,o,l){let u=null,p=dp(e,i,o,l);for(const g of s){const m=dp(e-g.x,i,o,l)+g.badness;
5m<=p&&(u=g,p=m)}return{index:r,x:e,priorBreak:u,badness:p}}function fp(r){return r?fp(r.priorBreak).concat(r.index):[]}class ma{constructor(e="",i=[],s=[]){this.text=e,this.sections=i,this.sectionIndex=s,this.imageSectionID=null}static fromFeature(e,i){const s=new ma;for(const o of e.sections)o.image?s.addImageSection(o):s.addTextSection(o,i);return s}length(){return[...this.text].length}getSection(e){return this.sections[this.sectionIndex[e]]}getSectionIndex(e){return this.sectionIndex[e]}verticalizePunctuation(){this.text=function(e){let i="",s={premature:!0,value:void 0};const o=e[Symbol.iterator]();let l=o.next();const u=e[Symbol.iterator]();u.next();let p=u.next();for(;!l.done;)i+=!p.done&&Tl(p.value.codePointAt(0))&&!Kl[p.value]||!s.premature&&Tl(s.value.codePointAt(0))&&!Kl[s.value]||!Kl[l.value]?l.value:Kl[l.value],s={value:l.value,premature:!1},l=o.next(),p=u.next();return i}(this.text)}hasZeroWidthSpaces(){return this.text.includes("â")}trim(){const e=this.text.match(/^\s*/),i=e?e[0].length:0,s=this.text.match(/\S\s*$/),o=s?s[0].length-1:0;this.text=this.text.substring(i,this.text.length-o),this.sectionIndex=this.sectionIndex.slice(i,this.sectionIndex.length-o)}substring(e,i){const s=[...this.text].slice(e,i).join(""),o=this.sectionIndex.slice(e,i);return new ma(s,this.sections,o)}toCodeUnitIndex(e){return[...this.text].slice(0,e).join("").length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,i)=>Math.max(e,this.sections[i].scale),0)}getMaxImageSize(e){let i=0,s=0;for(let o=0;o<this.length();o++){const l=this.getSection(o);if("imageName"in l){const u=e[l.imageName];if(!u)continue;const p=u.displaySize;i=Math.max(i,p[0]),s=Math.max(s,p[1])}}return{maxImageWidth:i,maxImageHeight:s}}addTextSection(e,i){this.text+=e.text,this.sections.push({scale:e.scale||1,verticalAlign:e.verticalAlign||"bottom",fontStack:e.fontStack||i});const s=this.sections.length-1;this.sectionIndex.push(...[...e.text].map(()=>s))}addImageSection(e){const i=e.image?e.image.name:"";if(i.length===0)return void $t("Can't add FormattedSection with an empty image.");const s=this.getNextImageSectionCharCode();s?(this.text+=String.fromCharCode(s),this.sections.push({scale:1,verticalAlign:e.verticalAlign||"bottom",imageName:i}),this.sectionIndex.push(this.sections.length-1)):$t("Reached maximum number of images 6401")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(e,i,s,o,l){const u=[],p=this.determineAverageLineWidth(e,i,s,o,l),g=this.hasZeroWidthSpaces();let m=0,v=0;const _=this.text[Symbol.iterator]();let T=_.next();const b=this.text[Symbol.iterator]();b.next();let I=b.next();const M=this.text[Symbol.iterator]();M.next(),M.next();let A=M.next();for(;!T.done;){const D=this.getSection(v),F=T.value.codePointAt(0);if(Jc(F)||(m+=hp(F,D,s,o,e,l)),!I.done){const k=rh(F),L=I.value.codePointAt(0);(cg[F]||k||"imageName"in D||!A.done&&ug[L])&&u.push(pp(v+1,m,p,u,hg(F,L,k&&g),!1))}v++,T=_.next(),I=b.next(),A=M.next()}return fp(pp(this.length(),m,p,u,0,!0))}determineAverageLineWidth(e,i,s,o,l){let u=0,p=0;for(const g of this.text){const m=this.getSection(p);u+=hp(g.codePointAt(0),m,s,o,e,l),p++}return u/Math.max(1,Math.ceil(u/i))}}const Bh=4294967296,mp=1/Bh,gp=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");class bu{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(e,i,s=this.length){for(;this.pos<s;){const o=this.readVarint(),l=o>>3,u=this.pos;this.type=7&o,e(l,i,this),this.pos===u&&this.skip(o)}return i}readMessage(e,i){return this.readFields(e,i,this.readVarint()+this.pos)}readFixed32(){const e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){const e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Bh;return this.pos+=8,e}readSFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Bh;return this.pos+=8,e}readFloat(){const e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){const e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){const i=this.buf;let s,o;return o=i[this.pos++],s=127&o,o<128?s:(o=i[this.pos++],s|=(127&o)<<7,o<128?s:(o=i[this.pos++],s|=(127&o)<<14,o<128?s:(o=i[this.pos++],s|=(127&o)<<21,o<128?s:(o=i[this.pos],s|=(15&o)<<28,function(l,u,p){const g=p.buf;let m,v;if(v=g[p.pos++],m=(112&v)>>4,v<128||(v=g[p.pos++],m|=(127&v)<<3,v<128)||(v=g[p.pos++],m|=(127&v)<<10,v<128)||(v=g[p.pos++],m|=(127&v)<<17,v<128)||(v=g[p.pos++],m|=(127&v)<<24,v<128)||(v=g[p.pos++],m|=(1&v)<<31,v<128))return ga(l,m,u);throw new Error("Expected varint not more than 10 bytes")}(s,e,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){const e=this.readVarint()+this.pos,i=this.pos;return this.pos=e,e-i>=12&&gp?gp.decode(this.buf.subarray(i,e)):function(s,o,l){let u="",p=o;for(;p<l;){const g=s[p];let m,v,_,T=null,b=g>239?4:g>223?3:g>191?2:1;if(p+b>l)break;b===1?g<128&&(T=g):b===2?(m=s[p+1],(192&m)==128&&(T=(31&g)<<6|63&m,T<=127&&(T=null))):b===3?(m=s[p+1],v=s[p+2],(192&m)==128&&(192&v)==128&&(T=(15&g)<<12|(63&m)<<6|63&v,(T<=2047||T>=55296&&T<=57343)&&(T=null))):b===4&&(m=s[p+1],v=s[p+2],_=s[p+3],(192&m)==128&&(192&v)==128&&(192&_)==128&&(T=(15&g)<<18|(63&m)<<12|(63&v)<<6|63&_,(T<=65535||T>=1114112)&&(T=null))),T===null?(T=65533,b=1):T>65535&&(T-=65536,u+=String.fromCharCode(T>>>10&1023|55296),T=56320|1023&T),u+=String.fromCharCode(T),p+=b}return u}(this.buf,i,e)}readBytes(){const e=this.readVarint()+this.pos,i=this.buf.subarray(this.pos,e);return this.pos=e,i}readPackedVarint(e=[],i){const s=this.readPackedEnd();for(;this.pos<s;)e.push(this.readVarint(i));return e}readPackedSVarint(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readFloat());return e}readPackedDouble(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){const i=this.readPackedEnd();for(;this.pos<i;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}skip(e){const i=7&e;if(i===0)for(;this.buf[this.pos++]>127;);else if(i===2)this.pos=this.readVarint()+this.pos;else if(i===5)this.pos+=4;else{if(i!==1)throw new Error(`Unimplemented type: ${i}`);this.pos+=8}}writeTag(e,i){this.writeVarint(e<<3|i)}realloc(e){let i=this.length||16;for(;i<this.pos+e;)i*=2;if(i!==this.length){const s=new Uint8Array(i);s.set(this.buf),this.buf=s,this.dataView=new DataView(s.buffer),this.length=i}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}
vendor: 4,416 bytes, line 5
5writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*mp),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*mp),!0),this.pos+=8}writeVarint(e){(e=+e||0)>268435455||e<0?function(i,s){let o,l;if(i>=0?(o=i%4294967296|0,l=i/4294967296|0):(o=~(-i%4294967296),l=~(-i/4294967296),4294967295^o?o=o+1|0:(o=0,l=l+1|0)),i>=18446744073709552e3||i<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");s.realloc(10),function(u,p,g){g.buf[g.pos++]=127&u|128,u>>>=7,g.buf[g.pos++]=127&u|128,u>>>=7,g.buf[g.pos++]=127&u|128,u>>>=7,g.buf[g.pos++]=127&u|128,g.buf[g.pos]=127&(u>>>=7)}(o,0,s),function(u,p){const g=(7&u)<<4;p.buf[p.pos++]|=g|((u>>>=3)?128:0),u&&(p.buf[p.pos++]=127&u|((u>>>=7)?128:0),u&&(p.buf[p.pos++]=127&u|((u>>>=7)?128:0),u&&(p.buf[p.pos++]=127&u|((u>>>=7)?128:0),u&&(p.buf[p.pos++]=127&u|((u>>>=7)?128:0),u&&(p.buf[p.pos++]=127&u)))))}(l,s)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))}writeSVarint(e){this.writeVarint(e<0?2*-e-1:2*e)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(4*e.length),this.pos++;const i=this.pos;this.pos=function(o,l,u){for(let p,g,m=0;m<l.length;m++){if(p=l.charCodeAt(m),p>55295&&p<57344){if(!g){p>56319||m+1===l.length?(o[u++]=239,o[u++]=191,o[u++]=189):g=p;continue}if(p<56320){o[u++]=239,o[u++]=191,o[u++]=189,g=p;continue}p=g-55296<<10|p-56320|65536,g=null}else g&&(o[u++]=239,o[u++]=191,o[u++]=189,g=null);p<128?o[u++]=p:(p<2048?o[u++]=p>>6|192:(p<65536?o[u++]=p>>12|224:(o[u++]=p>>18|240,o[u++]=p>>12&63|128),o[u++]=p>>6&63|128),o[u++]=63&p|128)}return u}(this.buf,e,this.pos);const s=this.pos-i;s>=128&&_p(i,s,this),this.pos=i-1,this.writeVarint(s),this.pos+=s}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){const i=e.length;this.writeVarint(i),this.realloc(i);for(let s=0;s<i;s++)this.buf[this.pos++]=e[s]}writeRawMessage(e,i){this.pos++;const s=this.pos;e(i,this);const o=this.pos-s;o>=128&&_p(s,o,this),this.pos=s-1,this.writeVarint(o),this.pos+=o}writeMessage(e,i,s){this.writeTag(e,2),this.writeRawMessage(i,s)}writePackedVarint(e,i){i.length&&this.writeMessage(e,dg,i)}writePackedSVarint(e,i){i.length&&this.writeMessage(e,pg,i)}writePackedBoolean(e,i){i.length&&this.writeMessage(e,gg,i)}writePackedFloat(e,i){i.length&&this.writeMessage(e,fg,i)}writePackedDouble(e,i){i.length&&this.writeMessage(e,mg,i)}writePackedFixed32(e,i){i.length&&this.writeMessage(e,_g,i)}writePackedSFixed32(e,i){i.length&&this.writeMessage(e,yg,i)}writePackedFixed64(e,i){i.length&&this.writeMessage(e,vg,i)}writePackedSFixed64(e,i){i.length&&this.writeMessage(e,xg,i)}writeBytesField(e,i){this.writeTag(e,2),this.writeBytes(i)}writeFixed32Field(e,i){this.writeTag(e,5),this.writeFixed32(i)}writeSFixed32Field(e,i){this.writeTag(e,5),this.writeSFixed32(i)}writeFixed64Field(e,i){this.writeTag(e,1),this.writeFixed64(i)}writeSFixed64Field(e,i){this.writeTag(e,1),this.writeSFixed64(i)}writeVarintField(e,i){this.writeTag(e,0),this.writeVarint(i)}writeSVarintField(e,i){this.writeTag(e,0),this.writeSVarint(i)}writeStringField(e,i){this.writeTag(e,2),this.writeString(i)}writeFloatField(e,i){this.writeTag(e,5),this.writeFloat(i)}writeDoubleField(e,i){this.writeTag(e,1),this.writeDouble(i)}writeBooleanField(e,i){this.writeVarintField(e,+i)}}function ga(r,e,i){return i?4294967296*e+(r>>>0):4294967296*(e>>>0)+(r>>>0)}function _p(r,e,i){const s=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(s);for(let o=i.pos-1;o>=r;o--)i.buf[o+s]=i.buf[o]}function dg(r,e){for(let i=0;i<r.length;i++)e.writeVarint(r[i])}function pg(r,e){for(let i=0;i<r.length;i++)e.writeSVarint(r[i])}function fg(r,e){for(let i=0;i<r.length;i++)e.writeFloat(r[i])}function mg(r,e){for(let i=0;i<r.length;i++)e.writeDouble(r[i])}function gg(r,e){for(let i=0;i<r.length;i++)e.writeBoolean(r[i])}function _g(r,e){for(let i=0;i<r.length;i++)e.writeFixed32(r[i])}function yg(r,e){for(let i=0;i<r.length;i++)e.writeSFixed32(r[i])}function vg(r,e){for(let i=0;i<r.length;
5i++)e.writeFixed64(r[i])}function xg(r,e){for(let i=0;i<r.length;i++)e.writeSFixed64(r[i])}function bg(r,e,i){r===1&&i.readMessage(wg,e)}function wg(r,e,i){if(r===3){const{id:s,bitmap:o,width:l,height:u,left:p,top:g,advance:m}=i.readMessage(Tg,{});e.push({id:s,bitmap:new Vl({width:l+6,height:u+6},o),metrics:{width:l,height:u,left:p,top:g,advance:m}})}}function Tg(r,e,i){r===1?e.id=i.readVarint():r===2?e.bitmap=i.readBytes():r===3?e.width=i.readVarint():r===4?e.height=i.readVarint():r===5?e.left=i.readSVarint():r===6?e.top=i.readSVarint():r===7&&(e.advance=i.readVarint())}function yp(r){let e=0,i=0;for(const u of r)e+=u.w*u.h,i=Math.max(i,u.w);r.sort((u,p)=>p.h-u.h);const s=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let o=0,l=0;for(const u of r)for(let p=s.length-1;p>=0;p--){const g=s[p];if(!(u.w>g.w||u.h>g.h)){if(u.x=g.x,u.y=g.y,l=Math.max(l,u.y+u.h),o=Math.max(o,u.x+u.w),u.w===g.w&&u.h===g.h){const m=s.pop();m&&p<s.length&&(s[p]=m)}else u.h===g.h?(g.x+=u.w,g.w-=u.w):u.w===g.w?(g.y+=u.h,g.h-=u.h):(s.push({x:g.x+u.w,y:g.y,w:g.w-u.w,h:u.h}),g.y+=u.h,g.h-=u.h);break}}return{w:o,h:l,fill:e/(o*l)||0}}class Oh{constructor(e,{pixelRatio:i,version:s,stretchX:o,stretchY:l,content:u,textFitWidth:p,textFitHeight:g}){this.paddedRect=e,this.pixelRatio=i,this.stretchX=o,this.stretchY=l,this.content=u,this.version=s,this.textFitWidth=p,this.textFitHeight=g}get tl(){return[this.paddedRect.x+1,this.paddedRect.y+1]}get br(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]}get tlbr(){return this.tl.concat(this.br)}get displaySize(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]}}class vp{constructor(e,i){const s={},o={};this.haveRenderCallbacks=[];const l=[];this.addImages(e,s,l),this.addImages(i,o,l);const{w:u,h:p}=yp(l),g=new Di({width:u||1,height:p||1});for(const m in e){const v=e[m],_=s[m].paddedRect;Di.copy(v.data,g,{x:0,y:0},{x:_.x+1,y:_.y+1},v.data)}for(const m in i){const v=i[m],_=o[m].paddedRect,T=_.x+1,b=_.y+1,I=v.data.width,M=v.data.height;Di.copy(v.data,g,{x:0,y:0},{x:T,y:b},v.data),Di.copy(v.data,g,{x:0,y:M-1},{x:T,y:b-1},{width:I,height:1}),Di.copy(v.data,g,{x:0,y:0},{x:T,y:b+M},{width:I,height:1}),Di.copy(v.data,g,{x:I-1,y:0},{x:T-1,y:b},{width:1,height:M}),Di.copy(v.data,g,{x:0,y:0},{x:T+I,y:b},{width:1,height:M})}this.image=g,this.iconPositions=s,this.patternPositions=o}addImages(e,i,s){for(const o in e){const l=e[o],u={x:0,y:0,w:l.data.width+2,h:l.data.height+2};s.push(u),i[o]=new Oh(u,l),l.hasRenderCallback&&this.haveRenderCallbacks.push(o)}}patchUpdatedImages(e,i){e.dispatchRenderCallbacks(this.haveRenderCallbacks);for(const s in e.updatedImages)this.patchUpdatedImage(this.iconPositions[s],e.getImage(s),i),this.patchUpdatedImage(this.patternPositions[s],e.getImage(s),i)}patchUpdatedImage(e,i,s){if(!e||!i||e.version===i.version)return;e.version=i.version;const[o,l]=e.tl;s.update(i.data,void 0,{x:o,y:l})}}var as;function wu(r,e,i,s,o,l,u,p,g,m,v,_,T,b,I){const M=ma.fromFeature(r,o);let A;_===R.ax.vertical&&M.verticalizePunctuation();let D=M.determineLineBreaks(m,l,e,s,b);const{processBidirectionalText:F,processStyledBidirectionalText:k}=fr;if(F&&M.sections.length===1){A=[],D=D.map(Y=>M.toCodeUnitIndex(Y));const j=F(M.toString(),D);for(const Y of j){const J=[...Y].map(()=>0);A.push(new ma(Y,M.sections,J))}}else if(k){A=[],D=D.map(re=>M.toCodeUnitIndex(re));let j=0;const Y=[];for(const re of M.text)Y.push(...Array(re.length).fill(M.sectionIndex[j])),j++;const J=k(M.text,Y,D);for(const re of J){const te=[];let ae="";for(const le of re[0])te.push(re[1][ae.length]),ae+=le;A.push(new ma(re[0],M.sections,te))}}else A=function(j,Y){const J=[];let re=0;for(const te of Y)J.push(j.substring(re,te)),re=te;return re<j.length()&&J.push(j.substring(re,j.length())),J}(M,D);const L=[],O={positionedLines:L,text:M.toString(),top:v[1],bottom:v[1],left:v[0],right:v[0],writingMode:_,iconsInText:!1,verticalizable:!1};return function(j,Y,J,re,te,ae,le,ne,ie,fe,xe,ye){let me=0,Ae=0,Xe=0,Ke=0;const it=ne==="right"?1:ne==="left"?0:.5,ri=Ot/ye;let bt=0;for(const ht of te){ht.trim();const Yt=ht.getMaxScale(),di={positionedGlyphs:[],lineOffset:0};j.positionedLines[bt]=di;const pi=di.positionedGlyphs;let zi=0;if(!ht.length()){Ae+=ae,++bt;
vendor: 32,268 bytes, line 5
5continue}const ni=Sg(re,ht,ri);let ki=0;for(const Nt of ht.text){const gt=ht.getSection(ki),Dt=Nt.codePointAt(0),wt=Pg(ie,xe,Dt),Ut={glyph:Dt,imageName:null,x:me,y:Ae+-17,vertical:wt,scale:1,fontStack:"",sectionIndex:ht.getSectionIndex(ki),metrics:null,rect:null};let En;if("fontStack"in gt){if(En=Ig(gt,Dt,wt,ni,Y,J),!En)continue;Ut.fontStack=gt.fontStack}else{if(j.iconsInText=!0,gt.scale*=ri,En=Mg(gt,wt,Yt,ni,re),!En)continue;zi=Math.max(zi,En.imageOffset),Ut.imageName=gt.imageName}const{rect:xr,metrics:ic,baselineOffset:fs}=En;Ut.y+=fs,Ut.scale=gt.scale,Ut.metrics=ic,Ut.rect=xr,pi.push(Ut),wt?(j.verticalizable=!0,me+=("imageName"in gt?ic.advance:Ot)*gt.scale+fe):me+=ic.advance*gt.scale+fe,ki++}pi.length!==0&&(Xe=Math.max(me-fe,Xe),Eg(pi,0,pi.length-1,it)),me=0,di.lineOffset=Math.max(zi,(Yt-1)*Ot);const or=ae*Yt+zi;Ae+=or,Ke=Math.max(or,Ke),++bt}const{horizontalAlign:Rt,verticalAlign:jt}=Vh(le);(function(ht,Yt,di,pi,zi,ni,ki,or,Nt){const gt=(Yt-di)*zi;let Dt=0;Dt=ni!==ki?-or*pi- -17:-pi*Nt*ki+.5*ki;for(const wt of ht)for(const Ut of wt.positionedGlyphs)Ut.x+=gt,Ut.y+=Dt})(j.positionedLines,it,Rt,jt,Xe,Ke,ae,Ae,te.length),j.top+=-jt*Ae,j.bottom=j.top+Ae,j.left+=-Rt*Xe,j.right=j.left+Xe}(O,e,i,s,A,u,p,g,_,m,T,I),!function(j){for(const Y of j)if(Y.positionedGlyphs.length!==0)return!1;return!0}(L)&&O}function Vh(r){let e=.5,i=.5;switch(r){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(r){case"bottom":case"bottom-right":case"bottom-left":i=1;break;case"top":case"top-right":case"top-left":i=0}return{horizontalAlign:e,verticalAlign:i}}function Sg(r,e,i){const s=e.getMaxScale()*Ot,{maxImageWidth:o,maxImageHeight:l}=e.getMaxImageSize(r),u=Math.max(s,l*i);return{verticalLineContentWidth:Math.max(s,o*i),horizontalLineContentHeight:u}}function xp(r){switch(r){case"top":return 0;case"center":return .5;default:return 1}}function Pg(r,e,i){return!(r===R.ax.horizontal||!e&&!bn(i)||e&&(Jc(i)||(s=i,/\p{sc=Arab}/u.test(String.fromCodePoint(s)))));var s}function Ig(r,e,i,s,o,l){const u=l[r.fontStack],p=function(m,v,_,T){if(m?.rect)return m;const b=v[_.fontStack],I=b?.[T];return I?{rect:null,metrics:I.metrics}:null}(u?.[e],o,r,e);if(p===null)return null;let g;if(i)g=s.verticalLineContentWidth-r.scale*Ot;else{const m=xp(r.verticalAlign);g=(s.horizontalLineContentHeight-r.scale*Ot)*m}return{rect:p.rect,metrics:p.metrics,baselineOffset:g}}function Mg(r,e,i,s,o){const l=o[r.imageName];if(!l)return null;const u=l.paddedRect,p=l.displaySize,g={width:p[0],height:p[1],left:1,top:-3,advance:e?p[1]:p[0]};let m;if(e)m=s.verticalLineContentWidth-p[1]*r.scale;else{const v=xp(r.verticalAlign);m=(s.horizontalLineContentHeight-p[1]*r.scale)*v}return{rect:u,metrics:g,baselineOffset:m,imageOffset:(e?p[0]:p[1])*r.scale-Ot*i}}function Eg(r,e,i,s){if(s===0)return;const o=r[i],l=(r[i].x+o.metrics.advance*o.scale)*s;for(let u=e;u<=i;u++)r[u].x-=l}function Cg(r,e,i){const{horizontalAlign:s,verticalAlign:o}=Vh(i),l=e[0]-r.displaySize[0]*s,u=e[1]-r.displaySize[1]*o;return{image:r,top:u,bottom:u+r.displaySize[1],left:l,right:l+r.displaySize[0]}}function bp(r){var e,i;let s=r.left,o=r.top,l=r.right-s,u=r.bottom-o;const p=(e=r.image.textFitWidth)!==null&&e!==void 0?e:"stretchOrShrink",g=(i=r.image.textFitHeight)!==null&&i!==void 0?i:"stretchOrShrink",m=(r.image.content[2]-r.image.content[0])/(r.image.content[3]-r.image.content[1]);if(g==="proportional"){if(p==="stretchOnly"&&l/u<m||p==="proportional"){const v=Math.ceil(u*m);s*=v/l,l=v}}else if(p==="proportional"&&g==="stretchOnly"&&m!==0&&l/u>m){const v=Math.ceil(l/m);o*=v/u,u=v}return{x1:s,y1:o,x2:s+l,y2:o+u}}function wp(r,e,i,s,o,l){const u=r.image;let p;if(u.content){const A=u.content,D=u.pixelRatio||1;p=[A[0]/D,A[1]/D,u.displaySize[0]-A[2]/D,u.displaySize[1]-A[3]/D]}const g=e.left*l,m=e.right*l;let v,_,T,b;i==="width"||i==="both"?(b=o[0]+g-s[3],_=o[0]+m+s[1]):(b=o[0]+(g+m-u.displaySize[0])/2,_=b+u.displaySize[0]);const I=e.top*l,M=e.bottom*l;return i==="height"||i==="both"?(v=o[1]+I-s[0],T=o[1]+M+s[2]):(v=o[1]+(I+M-u.displaySize[1])/2,T=v+u.displaySize[1]),{image:u,top:v,right:_,bottom:T,left:b,collisionPadding:p}}Se("ImagePosition",Oh),Se("ImageAtlas",vp),R.ax=void 0,(as=R.ax||(R.ax={}))[as.none=0]="none",as[as.horizontal=1]="horizontal",as[as.vertical=2]="vertical",as[as.horizontalOnly=3]="horizontalOnly";const In=128,ls=32640;function Tp(r,e){const{expression:i}=e;if(i.kind==="constant")return{kind:"constant",layoutSize:i.evaluate(new at(r+1))};if(i.kind==="source")return{kind:"source"};{const{zoomStops:s,interpolationType:o}=i;let l=0;for(;l<s.length&&s[l]<=r;)l++;l=Math.max(0,l-1);let u=l;for(;u<s.length&&s[u]<r+1;)u++;u=Math.min(s.length-1,u);const p=s[l],g=s[u];return i.kind==="composite"?{kind:"composite",minZoom:p,maxZoom:g,interpolationType:o}:{kind:"camera",minZoom:p,maxZoom:g,minSize:i.evaluate(new at(p)),maxSize:i.evaluate(new at(g)),interpolationType:o}}}function jh(r,e,i){let s="never";const o=r.get(e);return o?s=o:r.get(i)&&(s="always"),s}const Ag=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Tu(r,e,i,s,o,l,u,p,g,m,v,_,T){const b=p?Math.min(ls,Math.round(p[0])):0,I=p?Math.min(ls,Math.round(p[1])):0;r.emplaceBack(e,i,Math.round(32*s),Math.round(32*o),l,u,(b<<1)+(g?1:0),I,16*m,16*v,256*_,256*T)}function Nh(r,e,i){r.emplaceBack(e.x,e.y,i),r.emplaceBack(e.x,e.y,i),r.emplaceBack(e.x,e.y,i),r.emplaceBack(e.x,e.y,i)}function Dg(r){for(const e of r.sections)if(Pl(e.text))return!0;return!1}class Uh{constructor(e){this.layoutVertexArray=new q,this.indexArray=new he,this.programConfigurations=e,this.segments=new we,this.dynamicLayoutVertexArray=new Q,this.opacityVertexArray=new se,this.hasVisibleVertices=!1,this.placedSymbolArray=new y}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,i,s,o){this.isEmpty()||(s&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,rg.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,i),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,ng.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Ag,!0),this.opacityVertexBuffer.itemSize=1),(s||o)&&this.programConfigurations.upload(e))}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())}}Se("SymbolBuffers",Uh);class Gh{constructor(e,i,s){this.layoutVertexArray=new e,this.layoutAttributes=i,this.indexArray=new s,this.segments=new we,this.collisionVertexArray=new de}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,sg.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}}Se("CollisionBuffers",Gh);class _a{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(u=>u.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Tp(this.zoom,i["text-size"]),this.iconSizeData=Tp(this.zoom,i["icon-size"]);const s=this.layers[0].layout,o=s.get("symbol-sort-key"),l=s.get("symbol-z-order");this.canOverlap=jh(s,"text-overlap","text-allow-overlap")!=="never"||jh(s,"icon-overlap","icon-allow-overlap")!=="never"||s.get("text-ignore-placement")||s.get("icon-ignore-placement"),this.sortFeaturesByKey=l!=="viewport-y"&&!o.isConstant(),this.sortFeaturesByY=(l==="viewport-y"||l==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,s.get("symbol-placement")==="point"&&(this.writingModes=s.get("text-writing-mode").map(u=>R.ax[u])),this.stateDependentLayerIds=this.layers.filter(u=>u.isStateDependent()).map(u=>u.id),this.sourceID=e.sourceID}createArrays(){this.text=new Uh(new _r(this.layers,this.zoom,e=>e.startsWith("text"))),this.icon=new Uh(new _r(this.layers,this.zoom,e=>e.startsWith("icon"))),this.glyphOffsetArray=new S,this.lineVertexArray=new P,this.symbolInstances=new w,this.textAnchorOffsets=new C}calculateGlyphDependencies(e,i,s,o,l){for(const u of e)if(i[u.codePointAt(0)]=!0,(s||o)&&l){const p=Kl[u];p&&(i[p.codePointAt(0)]=!0)}}populate(e,i,s){var o;const l=this.layers[0],u=l.layout,p=u.get("text-font"),g=u.get("text-field"),m=u.get("icon-image"),v=(g.value.kind!=="constant"||g.value.value instanceof _i&&!g.value.value.isEmpty()||g.value.value.toString().length>0)&&(p.value.kind!=="constant"||p.value.value.length>0),_=m.value.kind!=="constant"||!!m.value.value||Object.keys(m.parameters).length>0,T=u.get("symbol-sort-key");if(this.features=[],!v&&!_)return;const b=i.iconDependencies,I=i.glyphDependencies,M=i.availableImages,A=new at(this.zoom);for(const{feature:D,id:F,index:k,sourceLayerIndex:L}of e){const O=l._featureFilter.needGeometry,j=Gr(D,O);if(!l._featureFilter.filter(A,j,s))continue;let Y,J;if(O||(j.geometry=Ur(D)),v){const te=l.getValueAndResolveTokens("text-field",j,s,M),ae=_i.factory(te);this.hasRTLText||(this.hasRTLText=Dg(ae)),(!this.hasRTLText||fr.getRTLTextPluginStatus()==="unavailable"||this.hasRTLText&&fr.isParsed())&&(Y=lg(ae,l,j))}if(_){const te=l.getValueAndResolveTokens("icon-image",j,s,M);J=te instanceof Ii?te:Ii.fromString(te)}if(!Y&&!J)continue;const re=this.sortFeaturesByKey?T.evaluate(j,{},s):void 0;if(this.features.push({id:F,text:Y,icon:J,index:k,sourceLayerIndex:L,geometry:j.geometry,properties:D.properties,type:ql.types[D.type],sortKey:re}),J&&(b[J.name]=!0),Y){const te=p.evaluate(j,{},s).join(","),ae=u.get("text-rotation-alignment")!=="viewport"&&u.get("symbol-placement")!=="point";this.allowVerticalPlacement=(o=this.writingModes)===null||o===void 0?void 0:o.includes(R.ax.vertical);for(const le of Y.sections)if(le.image)b[le.image.name]=!0;else{const ne=bl(Y.toString()),ie=le.fontStack||te;I[ie]||(I[ie]={}),this.calculateGlyphDependencies(le.text,I[ie],ae,this.allowVerticalPlacement,ne)}}}u.get("symbol-placement")==="line"&&(this.features=function(D){const F={},k={},L=[];let O=0;function j(te){L.push(D[te]),O++}function Y(te,ae,le){const ne=k[te];return delete k[te],k[ae]=ne,L[ne].geometry[0].pop(),L[ne].geometry[0]=L[ne].geometry[0].concat(le[0]),ne}function J(te,ae,le){const ne=F[ae];return delete F[ae],F[te]=ne,L[ne].geometry[0].shift(),L[ne].geometry[0]=le[0].concat(L[ne].geometry[0]),ne}function re(te,ae,le){const ne=le?ae[0][ae[0].length-1]:ae[0][0];return`${te}:${ne.x}:${ne.y}`}for(let te=0;te<D.length;te++){const ae=D[te],le=ae.geometry,ne=ae.text?ae.text.toString():null;if(!ne){j(te);continue}const ie=re(ne,le),fe=re(ne,le,!0);if(ie in k&&fe in F&&k[ie]!==F[fe]){const xe=J(ie,fe,le),ye=Y(ie,fe,L[xe].geometry);delete F[ie],delete k[fe],k[re(ne,L[ye].geometry,!0)]=ye,L[xe].geometry=null}else ie in k?Y(ie,fe,le):fe in F?J(ie,fe,le):(j(te),F[ie]=O-1,k[fe]=O-1)}return L.filter(te=>te.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((D,F)=>D.sortKey-F.sortKey)}update(e,i,s){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,i,this.layers,{imagePositions:s}),this.icon.programConfigurations.updatePaintArrays(e,i,this.layers,{imagePositions:s}))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,i){const s=this.lineVertexArray.length;if(e.segment!==void 0){let o=e.dist(i[e.segment+1]),l=e.dist(i[e.segment]);const u={};for(let p=e.segment+1;p<i.length;p++)u[p]={x:i[p].x,y:i[p].y,tileUnitDistanceFromAnchor:o},p<i.length-1&&(o+=i[p+1].dist(i[p]));for(let p=e.segment||0;p>=0;p--)u[p]={x:i[p].x,y:i[p].y,tileUnitDistanceFromAnchor:l},p>0&&(l+=i[p-1].dist(i[p]));for(let p=0;p<i.length;p++){const g=u[p];this.lineVertexArray.emplaceBack(g.x,g.y,g.tileUnitDistanceFromAnchor)}}return{lineStartIndex:s,lineLength:this.lineVertexArray.length-s}}addSymbols(e,i,s,o,l,u,p,g,m,v,_,T){const b=e.indexArray,I=e.layoutVertexArray,M=e.segments.prepareSegment(4*i.length,I,b,this.canOverlap?u.sortKey:void 0),A=this.glyphOffsetArray.length,D=M.vertexLength,F=this.allowVerticalPlacement&&p===R.ax.vertical?Math.PI/2:0,k=u.text&&u.text.sections;for(let L=0;L<i.length;L++){const{tl:O,tr:j,bl:Y,br:J,tex:re,pixelOffsetTL:te,pixelOffsetBR:ae,minFontScaleX:le,minFontScaleY:ne,glyphOffset:ie,isSDF:fe,sectionIndex:xe}=i[L],ye=M.vertexLength,me=ie[1];Tu(I,g.x,g.y,O.x,me+O.y,re.x,re.y,s,fe,te.x,te.y,le,ne),Tu(I,g.x,g.y,j.x,me+j.y,re.x+re.w,re.y,s,fe,ae.x,te.y,le,ne),Tu(I,g.x,g.y,Y.x,me+Y.y,re.x,re.y+re.h,s,fe,te.x,ae.y,le,ne),Tu(I,g.x,g.y,J.x,me+J.y,re.x+re.w,re.y+re.h,s,fe,ae.x,ae.y,le,ne),Nh(e.dynamicLayoutVertexArray,g,F),b.emplaceBack(ye,ye+2,ye+1),b.emplaceBack(ye+1,ye+2,ye+3),M.vertexLength+=4,M.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(ie[0]),L!==i.length-1&&xe===i[L+1].sectionIndex||e.programConfigurations.populatePaintArrays(I.length,u,u.index,{imagePositions:{},canonical:T,formattedSection:k?.[xe]})}e.placedSymbolArray.emplaceBack(g.x,g.y,A,this.glyphOffsetArray.length-A,D,m,v,g.segment,s?s[0]:0,s?s[1]:0,o[0],o[1],p,0,!1,0,_)}_addCollisionDebugVertex(e,i,s,o,l,u){return i.emplaceBack(0,0),e.emplaceBack(s.x,s.y,o,l,Math.round(u.x),Math.round(u.y))}addCollisionDebugVertices(e,i,s,o,l,u,p){const g=l.segments.prepareSegment(4,l.layoutVertexArray,l.indexArray),m=g.vertexLength,v=l.layoutVertexArray,_=l.collisionVertexArray,T=p.anchorX,b=p.anchorY;this._addCollisionDebugVertex(v,_,u,T,b,new Te(e,i)),this._addCollisionDebugVertex(v,_,u,T,b,new Te(s,i)),this._addCollisionDebugVertex(v,_,u,T,b,new Te(s,o)),this._addCollisionDebugVertex(v,_,u,T,b,new Te(e,o)),g.vertexLength+=4;const I=l.indexArray;I.emplaceBack(m,m+1),I.emplaceBack(m+1,m+2),I.emplaceBack(m+2,m+3),I.emplaceBack(m+3,m),g.primitiveLength+=4}addDebugCollisionBoxes(e,i,s,o){for(let l=e;l<i;l++){const u=this.collisionBoxArray.get(l);this.addCollisionDebugVertices(u.x1,u.y1,u.x2,u.y2,o?this.textCollisionBox:this.iconCollisionBox,u.anchorPoint,s)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Gh(oe,up.members,Pe),this.iconCollisionBox=new Gh(oe,up.members,Pe);for(let e=0;e<this.symbolInstances.length;e++){const i=this.symbolInstances.get(e);this.addDebugCollisionBoxes(i.textBoxStartIndex,i.textBoxEndIndex,i,!0),this.addDebugCollisionBoxes(i.verticalTextBoxStartIndex,i.verticalTextBoxEndIndex,i,!0),this.addDebugCollisionBoxes(i.iconBoxStartIndex,i.iconBoxEndIndex,i,!1),this.addDebugCollisionBoxes(i.verticalIconBoxStartIndex,i.verticalIconBoxEndIndex,i,!1)}}_deserializeCollisionBoxesForSymbol(e,i,s,o,l,u,p,g,m){const v={};for(let _=i;_<s;_++){const T=e.get(_);v.textBox={x1:T.x1,y1:T.y1,x2:T.x2,y2:T.y2,anchorPointX:T.anchorPointX,anchorPointY:T.anchorPointY},v.textFeatureIndex=T.featureIndex;break}for(let _=o;_<l;_++){const T=e.get(_);v.verticalTextBox={x1:T.x1,y1:T.y1,x2:T.x2,y2:T.y2,anchorPointX:T.anchorPointX,anchorPointY:T.anchorPointY},v.verticalTextFeatureIndex=T.featureIndex;break}for(let _=u;_<p;_++){const T=e.get(_);v.iconBox={x1:T.x1,y1:T.y1,x2:T.x2,y2:T.y2,anchorPointX:T.anchorPointX,anchorPointY:T.anchorPointY},v.iconFeatureIndex=T.featureIndex;break}for(let _=g;_<m;_++){const T=e.get(_);v.verticalIconBox={x1:T.x1,y1:T.y1,x2:T.x2,y2:T.y2,anchorPointX:T.anchorPointX,anchorPointY:T.anchorPointY},v.verticalIconFeatureIndex=T.featureIndex;break}return v}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let i=0;i<this.symbolInstances.length;i++){const s=this.symbolInstances.get(i);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,s.textBoxStartIndex,s.textBoxEndIndex,s.verticalTextBoxStartIndex,s.verticalTextBoxEndIndex,s.iconBoxStartIndex,s.iconBoxEndIndex,s.verticalIconBoxStartIndex,s.verticalIconBoxEndIndex))}}hasTextData(){return this.text.segments.get().length>0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,i){const s=e.placedSymbolArray.get(i),o=s.vertexStartIndex+4*s.numGlyphs;for(let l=s.vertexStartIndex;l<o;l+=4)e.indexArray.emplaceBack(l,l+2,l+1),e.indexArray.emplaceBack(l+1,l+2,l+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;const i=Math.sin(e),s=Math.cos(e),o=[],l=[],u=[];for(let p=0;p<this.symbolInstances.length;++p){u.push(p);const g=this.symbolInstances.get(p);o.push(0|Math.round(i*g.anchorX+s*g.anchorY)),l.push(g.featureIndex)}return u.sort((p,g)=>o[p]-o[g]||l[g]-l[p]),u}addToSortKeyRanges(e,i){const s=this.sortKeyRanges[this.sortKeyRanges.length-1];s?.sortKey===i?s.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:i,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const i of this.symbolInstanceIndexes){const s=this.symbolInstances.get(i);this.featureSortOrder.push(s.featureIndex);const o=[s.rightJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.leftJustifiedTextSymbolIndex];for(let l=0;l<o.length;l++){const u=o[l];u>=0&&o.indexOf(u)===l&&this.addIndicesForPlacedSymbol(this.text,u)}s.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,s.verticalPlacedTextSymbolIndex),s.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,s.placedIconSymbolIndex),s.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,s.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Sp,Pp;Se("SymbolBucket",_a,{omit:["layers","collisionBoxArray","features","compareText"]}),_a.MAX_GLYPHS=65535,_a.addDynamicAttributes=Nh;var $h={get paint(){return Pp=Pp||new li({"icon-opacity":new Ce(ce.paint_symbol["icon-opacity"]),"icon-color":new Ce(ce.paint_symbol["icon-color"]),"icon-halo-color":new Ce(ce.paint_symbol["icon-halo-color"]),"icon-halo-width":new Ce(ce.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Ce(ce.paint_symbol["icon-halo-blur"]),"icon-translate":new Ie(ce.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ie(ce.paint_symbol["icon-translate-anchor"]),"text-opacity":new Ce(ce.paint_symbol["text-opacity"]),"text-color":new Ce(ce.paint_symbol["text-color"],{runtimeType:Pi,getOverride:r=>r.textColor,hasOverride:r=>!!r.textColor}),"text-halo-color":new Ce(ce.paint_symbol["text-halo-color"]),"text-halo-width":new Ce(ce.paint_symbol["text-halo-width"]),"text-halo-blur":new Ce(ce.paint_symbol["text-halo-blur"]),"text-translate":new Ie(ce.paint_symbol["text-translate"]),"text-translate-anchor":new Ie(ce.paint_symbol["text-translate-anchor"])})},get layout(){return Sp=Sp||new li({"symbol-placement":new Ie(ce.layout_symbol["symbol-placement"]),"symbol-spacing":new Ie(ce.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ie(ce.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Ce(ce.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ie(ce.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ie(ce.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Ie(ce.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Ie(ce.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ie(ce.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ie(ce.layout_symbol["icon-rotation-alignment"]),"icon-size":new Ce(ce.layout_symbol["icon-size"]),"icon-text-fit":new Ie(ce.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ie(ce.layout_symbol["icon-text-fit-padding"]),"icon-image":new Ce(ce.layout_symbol["icon-image"]),"icon-rotate":new Ce(ce.layout_symbol["icon-rotate"]),"icon-padding":new Ce(ce.layout_symbol["icon-padding"]),"icon-keep-upright":new Ie(ce.layout_symbol["icon-keep-upright"]),"icon-offset":new Ce(ce.layout_symbol["icon-offset"]),"icon-anchor":new Ce(ce.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ie(ce.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ie(ce.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ie(ce.layout_symbol["text-rotation-alignment"]),"text-field":new Ce(ce.layout_symbol["text-field"]),"text-font":new Ce(ce.layout_symbol["text-font"]),"text-size":new Ce(ce.layout_symbol["text-size"]),"text-max-width":new Ce(ce.layout_symbol["text-max-width"]),"text-line-height":new Ie(ce.layout_symbol["text-line-height"]),"text-letter-spacing":new Ce(ce.layout_symbol["text-letter-spacing"]),"text-justify":new Ce(ce.layout_symbol["text-justify"]),"text-radial-offset":new Ce(ce.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ie(ce.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Ce(ce.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Ce(ce.layout_symbol["text-anchor"]),"text-max-angle":new Ie(ce.layout_symbol["text-max-angle"]),"text-writing-mode":new Ie(ce.layout_symbol["text-writing-mode"]),"text-rotate":new Ce(ce.layout_symbol["text-rotate"]),"text-padding":new Ie(ce.layout_symbol["text-padding"]),"text-keep-upright":new Ie(ce.layout_symbol["text-keep-upright"]),"text-transform":new Ce(ce.layout_symbol["text-transform"]),"text-offset":new Ce(ce.layout_symbol["text-offset"]),"text-allow-overlap":new Ie(ce.layout_symbol["text-allow-overlap"]),"text-overlap":new Ie(ce.layout_symbol["text-overlap"]),"text-ignore-placement":new Ie(ce.layout_symbol["text-ignore-placement"]),"text-optional":new Ie(ce.layout_symbol["text-optional"])})}};class Ip{constructor(e){if(e.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:Ar,this.defaultValue=e}evaluate(e){if(e.formattedSection){const i=this.defaultValue.property.overrides;if(i?.hasOverride(e.formattedSection))return i.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Se("FormatSectionOverride",Ip,{omit:["defaultValue"]});class Su extends Vi{constructor(e,i){super(e,$h,i)}recalculate(e,i){if(super.recalculate(e,i),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const s=this.layout.get("text-writing-mode");if(s){const o=[];for(const l of s)o.includes(l)||o.push(l);this.layout._values["text-writing-mode"]=o}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,i,s,o){const l=this.layout.get(e).evaluate(i,{},s,o),u=this._unevaluatedLayout._values[e];return u.isDataDriven()||Vo(u.value)||!l?l:function(p,g){return g.replace(/{([^{}]+)}/g,(m,v)=>p&&v in p?String(p[v]):"")}(i.properties,l)}createBucket(e){return new _a(e)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const e of $h.paint.overridableProperties){if(!Su.hasPaintOverride(this.layout,e))continue;const i=this.paint.get(e),s=new Ip(i),o=new Ls(s,i.property.specification);let l=null;l=i.value.kind==="constant"||i.value.kind==="source"?new jo("source",o):new No("composite",o,i.value.zoomStops),this.paint._values[e]=new Ji(i.property,l,i.parameters)}}_handleOverridablePaintPropertyUpdate(e,i,s){return!(!this.layout||i.isDataDriven()||s.isDataDriven())&&Su.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,i){const s=e.get("text-field"),o=$h.paint.properties[i];let l=!1;const u=p=>{var g;for(const m of p)if(!((g=o.overrides)===null||g===void 0)&&g.hasOverride(m))return void(l=!0)};if(s.value.kind==="constant"&&s.value.value instanceof _i)u(s.value.value.sections);else if(s.value.kind==="source"||s.value.kind==="composite"){const p=m=>{l||(m instanceof er&&Tt(m.value)===ws?u(m.value.sections):m instanceof dn?u(m.sections):m.eachChild(p))},g=s.value;g._styleExpression&&p(g._styleExpression.expression)}return l}}let Mp;var zg={get paint(){return Mp=Mp||new li({"background-color":new Ie(ce.paint_background["background-color"]),"background-pattern":new nu(ce.paint_background["background-pattern"]),"background-opacity":new Ie(ce.paint_background["background-opacity"])})}};class kg extends Vi{constructor(e,i){super(e,zg,i)}}class Rg extends Vi{constructor(e,i){super(e,{},i),this.onAdd=s=>{this.implementation.onAdd&&this.implementation.onAdd(s,s.painter.context.gl)},this.onRemove=s=>{this.implementation.onRemove&&this.implementation.onRemove(s,s.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Fg{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var e;this._triggered||(this._triggered=!0,(e=this._channel)===null||e===void 0||e.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Lg={once:!0},Zh=63710088e-1;class cs{constructor(e,i){if(isNaN(e)||isNaN(i))throw new Error(`Invalid LngLat object: (${e}, ${i})`);if(this.lng=+e,this.lat=+i,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new cs(zn(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const i=Math.PI/180,s=this.lat*i,o=e.lat*i,l=Math.sin(s)*Math.sin(o)+Math.cos(s)*Math.cos(o)*Math.cos((e.lng-this.lng)*i);return Zh*Math.acos(Math.min(l,1))}static convert(e){if(e instanceof cs)return e;if(Array.isArray(e)&&(e.length===2||e.length===3))return new cs(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&typeof e=="object"&&e!==null)return new cs(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")}}const Ep=2*Math.PI*Zh;function Cp(r){return Ep*Math.cos(r*Math.PI/180)}function Ap(r){return(180+r)/360}function Dp(r){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360}function zp(r,e){return r/Cp(e)}function kp(r){return 360*r-180}function Pu(r){return 360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90}function Rp(r,e){return r*Cp(Pu(e))}class Jl{constructor(e,i,s=0){this.x=+e,this.y=+i,this.z=+s}static fromLngLat(e,i=0){const s=cs.convert(e);return new Jl(Ap(s.lng),Dp(s.lat),zp(i,s.lat))}toLngLat(){return new cs(kp(this.x),Pu(this.y))}toAltitude(){return Rp(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Ep*(e=Pu(this.y),1/Math.cos(e*Math.PI/180));var e}}function Fp(r,e,i){var s=2*Math.PI*6378137/256/Math.pow(2,i);return[r*s-2*Math.PI*6378137/2,e*s-2*Math.PI*6378137/2]}class qh{constructor(e,i,s){if(!function(o,l,u){return!(o<0||o>25||u<0||u>=Math.pow(2,o)||l<0||l>=Math.pow(2,o))}(e,i,s))throw new Error(`x=${i}, y=${s}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);this.z=e,this.x=i,this.y=s,this.key=ya(0,e,e,i,s)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,i,s){const o=(u=this.y,p=this.z,g=Fp(256*(l=this.x),256*(u=Math.pow(2,p)-u-1),p),m=Fp(256*(l+1),256*(u+1),p),g[0]+","+g[1]+","+m[0]+","+m[1]);var l,u,p,g,m;const v=function(_,T,b){let I="";for(let M=_;M>0;M--){const A=1<<M-1;I+=(T&A?1:0)+(b&A?2:0)}return I}(this.z,this.x,this.y);return e[(this.x+this.y)%e.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(s==="tms"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,i>1?"@2x":"").replace(/{quadkey}/g,v).replace(/{bbox-epsg-3857}/g,o)}isChildOf(e){const i=this.z-e.z;return i>0&&e.x===this.x>>i&&e.y===this.y>>i}getTilePoint(e){const i=Math.pow(2,this.z);return new Te((e.x*i-this.x)*De,(e.y*i-this.y)*De)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Lp{constructor(e,i){this.wrap=e,this.canonical=i,this.key=ya(e,i.z,i.z,i.x,i.y)}}class Ni{constructor(e,i,s,o,l){if(this.terrainRttPosMatrix32f=null,e<s)throw new Error(`overscaledZ should be >= z; overscaledZ = ${e}; z = ${s}`);this.overscaledZ=e,this.wrap=i,this.canonical=new qh(s,+o,+l),this.key=ya(i,e,s,o,l)}clone(){return new Ni(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const i=this.canonical.z-e;return e>this.canonical.z?new Ni(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Ni(e,this.wrap,e,this.canonical.x>>i,this.canonical.y>>i)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(e,i){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const s=this.canonical.z-e;return e>this.canonical.z?ya(this.wrap*+i,e,this.canonical.z,this.canonical.x,this.canonical.y):ya(this.wrap*+i,e,e,this.canonical.x>>s,this.canonical.y>>s)}isChildOf(e){if(e.wrap!==this.wrap||this.overscaledZ-e.overscaledZ<=0)return!1;if(e.overscaledZ===0)return this.overscaledZ>0;const i=this.canonical.z-e.canonical.z;return!(i<0)&&e.canonical.x===this.canonical.x>>i&&e.canonical.y===this.canonical.y>>i}children(e){if(this.overscaledZ>=e)return[new Ni(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const i=this.canonical.z+1,s=2*this.canonical.x,o=2*this.canonical.y;return[new Ni(i,this.wrap,i,s,o),new Ni(i,this.wrap,i,s+1,o),new Ni(i,this.wrap,i,s,o+1),new Ni(i,this.wrap,i,s+1,o+1)]}isLessThan(e){return this.wrap<e.wrap||!(this.wrap>e.wrap)&&(this.overscaledZ<e.overscaledZ||!(this.overscaledZ>
5e.overscaledZ)&&(this.canonical.x<e.canonical.x||!(this.canonical.x>e.canonical.x)&&this.canonical.y<e.canonical.y))}wrapped(){return new Ni(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(e){return new Ni(this.overscaledZ,e,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return Math.pow(2,this.overscaledZ-this.canonical.z)}toUnwrapped(){return new Lp(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(e){return this.canonical.getTilePoint(new Jl(e.x-this.wrap,e.y))}normalizeCoordinates(e,i,s=8192){if(e>=0&&e<s&&i>=0&&i<s)return{tileID:this,x:e,y:i};const o=Math.floor(e/s),l=Math.floor(i/s),u=e-o*s,p=i-l*s,g=this.canonical.z,m=1<<g,v=this.canonical.y+l;if(v<0||v>=m)return null;let _=this.canonical.x+o,T=this.wrap;return _<0?(T-=Math.ceil(-_/m),_=(_%m+m)%m):_>=m&&(T+=Math.floor(_/m),_%=m),{tileID:new Ni(this.overscaledZ,T,g,_,v),x:u,y:p}}}function ya(r,e,i,s,o){(r*=2)<0&&(r=-1*r-1);const l=1<<i;return(l*l*r+l*o+s).toString(36)+i.toString(36)+e.toString(36)}Se("CanonicalTileID",qh),Se("OverscaledTileID",Ni,{omit:["terrainRttPosMatrix32f"]});class so{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(e){return this.minX=Math.min(this.minX,e.x),this.minY=Math.min(this.minY,e.y),this.maxX=Math.max(this.maxX,e.x),this.maxY=Math.max(this.maxY,e.y),this}expandBy(e){return this.minX-=e,this.minY-=e,this.maxX+=e,this.maxY+=e,(this.minX>this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(e){return this.expandBy(-e)}map(e){const i=new so;return i.extend(e(new Te(this.minX,this.minY))),i.extend(e(new Te(this.maxX,this.minY))),i.extend(e(new Te(this.minX,this.maxY))),i.extend(e(new Te(this.maxX,this.maxY))),i}static fromPoints(e){const i=new so;for(const s of e)i.extend(s);return i}contains(e){return e.x>=this.minX&&e.x<=this.maxX&&e.y>=this.minY&&e.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(e){return!this.empty()&&!e.empty()&&e.minX>=this.minX&&e.maxX<=this.maxX&&e.minY>=this.minY&&e.maxY<=this.maxY}intersects(e){return!this.empty()&&!e.empty()&&e.minX<=this.maxX&&e.maxX>=this.minX&&e.minY<=this.maxY&&e.maxY>=this.minY}}class Bp{constructor(e){this._stringToNumber={},this._numberToString=[];for(let i=0;i<e.length;i++){const s=e[i];this._stringToNumber[s]=i,this._numberToString[i]=s}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class Op{constructor(e,i,s,o,l){this.type="Feature",this._vectorTileFeature=e,this._x=s,this._y=o,this._z=i,this.properties=e.properties,this.id=l}projectPoint(e,i,s,o){return[360*(e.x+i)/o-180,360/Math.PI*Math.atan(Math.exp((1-2*(e.y+s)/o)*Math.PI))-90]}projectLine(e,i,s,o){return e.map(l=>this.projectPoint(l,i,s,o))}get geometry(){if(this._geometry)return this._geometry;const e=this._vectorTileFeature,i=e.extent*Math.pow(2,this._z),s=e.extent*this._x,o=e.extent*this._y,l=e.loadGeometry();switch(e.type){case 1:{const u=[];for(const g of l)u.push(g[0]);const p=this.projectLine(u,s,o,i);this._geometry=u.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p};break}case 2:{const u=l.map(p=>this.projectLine(p,s,o,i));this._geometry=u.length===1?{type:"LineString",coordinates:u[0]}:{type:"MultiLineString",coordinates:u};break}case 3:{const u=Nd(l),p=[];for(const g of u)p.push(g.map(m=>this.projectLine(m,s,o,i)));this._geometry=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p};break}default:throw new Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){const e={geometry:this.geometry};for(const i in this)i!=="_geometry"&&i!=="_vectorTileFeature"&&i!=="_x"&&i!=="_y"&&i!=="_z"&&(e[i]=this[i]);return e}}class va{constructor(e,i,s){this._name=e,this.dataBuffer=i,typeof s=="number"?this._size=s:(this.nullabilityBuffer=s,this._size=s.size())}getValue(e){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(e)?null:this.getValueFromBuffer(e)}has(e){return this.nullabilityBuffer?.get(e)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}}class Iu extends va{}class Wh extends Iu{getValueFromBuffer(e){return this.dataBuffer[e]}}class Hh extends Iu{getValueFromBuffer(e){return this.dataBuffer[e]}}class Vp extends va{constructor(e,i,s,o){super(e,i,o),this.delta=s}}class Xh extends Vp{constructor(e,i,s,o){super(e,Int32Array.of(i),s,o)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}}class Yh extends va{constructor(e,i,s,o){super(e,o?Int32Array.of(i):Uint32Array.of(i),s)}getValueFromBuffer(e){return this.dataBuffer[0]}}class Bg{constructor(e,i,s,o,l=4096){this._name=e,this._geometryVector=i,this._idVector=s,this._propertyVectors=o,this._extent=l}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors}getPropertyVector(e){return this.propertyVectorsMap||(this.propertyVectorsMap=new Map(this._propertyVectors.map(i=>[i.name,i]))),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){const e=[],i=this.geometryVector.getGeometries();for(let s=0;s<this.numFeatures;s++){let o;if(this.idVector){const p=this.idVector.getValue(s);o=this.containsMaxSafeIntegerValues(this.idVector)&&p!==null?Number(p):p}const l={coordinates:i[s],type:this.geometryVector.geometryType(s)},u={};
5for(const p of this.propertyVectors){if(!p)continue;const g=p.name,m=p.getValue(s);m!==null&&(u[g]=m)}e.push({id:o,geometry:l,properties:u})}return e}containsMaxSafeIntegerValues(e){return e instanceof Wh||e instanceof Yh||e instanceof Xh||e instanceof Hh}}class jp{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}}var Ue,us;(function(r){r.NONE="NONE",r.DELTA="DELTA",r.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",r.RLE="RLE",r.MORTON="MORTON",r.PDE="PDE"})(Ue||(Ue={})),function(r){r.NONE="NONE",r.FAST_PFOR="FAST_PFOR",r.VARINT="VARINT",r.ALP="ALP"}(us||(us={}));const Kh=new Uint32Array(33);Kh[0]=0;for(let r=1;r<=32;r++)Kh[r]=r===32?4294967295:4294967295>>>32-r;const Jh=Kh,Mn=256;function Qh(r,e){return r-r%e}function Og(r){const e=r>>>0;return((255&e)<<24|(65280&e)<<8|e>>>8&65280|e>>>24&255)>>>0}const ed=function(){if(!Number.isFinite(65536))return 65536;const r=Qh(Math.floor(65536),Mn);return r===0?Mn:r}(),Vg=3*ed/Mn+ed|0;function Np(){const r=new Uint8Array(Vg);return{dataToBePacked:new Array(33),dataPointers:new Int32Array(33),byteContainer:r,byteContainerI32:new Int32Array(r.buffer,r.byteOffset,r.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function jg(r,e,i,s,o){switch(o){case 1:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0;p[m++]=T>>>0&1,p[m++]=T>>>1&1,p[m++]=T>>>2&1,p[m++]=T>>>3&1,p[m++]=T>>>4&1,p[m++]=T>>>5&1,p[m++]=T>>>6&1,p[m++]=T>>>7&1,p[m++]=T>>>8&1,p[m++]=T>>>9&1,p[m++]=T>>>10&1,p[m++]=T>>>11&1,p[m++]=T>>>12&1,p[m++]=T>>>13&1,p[m++]=T>>>14&1,p[m++]=T>>>15&1,p[m++]=T>>>16&1,p[m++]=T>>>17&1,p[m++]=T>>>18&1,p[m++]=T>>>19&1,p[m++]=T>>>20&1,p[m++]=T>>>21&1,p[m++]=T>>>22&1,p[m++]=T>>>23&1,p[m++]=T>>>24&1,p[m++]=T>>>25&1,p[m++]=T>>>26&1,p[m++]=T>>>27&1,p[m++]=T>>>28&1,p[m++]=T>>>29&1,p[m++]=T>>>30&1,p[m++]=T>>>31&1}})(r,e,i,s);break;case 2:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0;p[m++]=T>>>0&3,p[m++]=T>>>2&3,p[m++]=T>>>4&3,p[m++]=T>>>6&3,p[m++]=T>>>8&3,p[m++]=T>>>10&3,p[m++]=T>>>12&3,p[m++]=T>>>14&3,p[m++]=T>>>16&3,p[m++]=T>>>18&3,p[m++]=T>>>20&3,p[m++]=T>>>22&3,p[m++]=T>>>24&3,p[m++]=T>>>26&3,p[m++]=T>>>28&3,p[m++]=T>>>30&3,p[m++]=b>>>0&3,p[m++]=b>>>2&3,p[m++]=b>>>4&3,p[m++]=b>>>6&3,p[m++]=b>>>8&3,p[m++]=b>>>10&3,p[m++]=b>>>12&3,p[m++]=b>>>14&3,p[m++]=b>>>16&3,p[m++]=b>>>18&3,p[m++]=b>>>20&3,p[m++]=b>>>22&3,p[m++]=b>>>24&3,p[m++]=b>>>26&3,p[m++]=b>>>28&3,p[m++]=b>>>30&3}})(r,e,i,s);break;case 3:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0;p[m++]=T>>>0&7,p[m++]=T>>>3&7,p[m++]=T>>>6&7,p[m++]=T>>>9&7,p[m++]=T>>>12&7,p[m++]=T>>>15&7,p[m++]=T>>>18&7,p[m++]=T>>>21&7,p[m++]=T>>>24&7,p[m++]=T>>>27&7,p[m++]=7&(T>>>30|(1&b)<<2),p[m++]=b>>>1&7,p[m++]=b>>>4&7,p[m++]=b>>>7&7,p[m++]=b>>>10&7,p[m++]=b>>>13&7,p[m++]=b>>>16&7,p[m++]=b>>>19&7,p[m++]=b>>>22&7,p[m++]=b>>>25&7,p[m++]=b>>>28&7,p[m++]=7&(b>>>31|(3&I)<<1),p[m++]=I>>>2&7,p[m++]=I>>>5&7,p[m++]=I>>>8&7,p[m++]=I>>>11&7,p[m++]=I>>>14&7,p[m++]=I>>>17&7,p[m++]=I>>>20&7,p[m++]=I>>>23&7,p[m++]=I>>>26&7,p[m++]=I>>>29&7}})(r,e,i,s);break;case 4:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0,M=l[v++]>>>0;p[m++]=T>>>0&15,p[m++]=T>>>4&15,p[m++]=T>>>8&15,p[m++]=T>>>12&15,p[m++]=T>>>16&15,p[m++]=T>>>20&15,p[m++]=T>>>24&15,p[m++]=T>>>28&15,p[m++]=b>>>0&15,p[m++]=b>>>4&15,p[m++]=b>>>8&15,p[m++]=b>>>12&15,p[m++]=b>>>16&15,p[m++]=b>>>20&15,p[m++]=b>>>24&15,p[m++]=b>>>28&15,p[m++]=I>>>0&15,p[m++]=I>>>4&15,p[m++]=I>>>8&15,p[m++]=I>>>12&15,p[m++]=I>>>16&15,p[m++]=I>>>20&15,p[m++]=I>>>24&15,p[m++]=I>>>28&15,p[m++]=M>>>0&15,p[m++]=M>>>4&15,p[m++]=M>>>8&15,p[m++]=M>>>12&15,p[m++]=M>>>16&15,p[m++]=M>>>20&15,p[m++]=M>>>24&15,p[m++]=M>>>28&15}})(r,e,i,s);break;case 5:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0,M=l[v++]>>>0,A=l[v++]>>>0;p[m++]=T>>>0&31,p[m++]=T>>>5&31,p[m++]=T>>>10&31,p[m++]=T>>>15&31,p[m++]=T>>>20&31,p[m++]=T>>>25&31,p[m++]=31&(T>>>30|(7&b)<<2),p[m++]=b>>>3&31,p[m++]=b>>>8&31,p[m++]=b>>>13&31,p[m++]=b>>>18&31,p[m++]=b>>>23&31,p[m++]=31&(b>>>28|(1&I)<<4),p[m++]=I>>>1&31,p[m++]=I>>>6&31,p[m++]=I>>>11&31,p[m++]=I>>>16&31,p[m++]=I>>>21&31,p[m++]=I>>>26&31,p[m++]=31&(I>>>31|(15&M)<<1),p[m++]=M>>>4&31,p[m++]=M>>>9&31,p[m++]=M>>>14&31,p[m++]=M>>>19&31,p[m++]=M>>>24&31,p[m++]=31&(M>>>29|(3&A)<<3),p[m++]=A>>>2&31,p[m++]=A>>>7&31,p[m++]=A>>>12&31,p[m++]=A>>>17&31,p[m++]=A>>>22&31,p[m++]=A>>>27&31}})(r,e,i,s);break;case 6:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0,M=l[v++]>>>0,A=l[v++]>>>0,D=l[v++]>>>0;p[m++]=T>>>0&63,p[m++]=T>>>6&63,p[m++]=T>>>12&63,p[m++]=T>>>18&63,p[m++]=T>>>24&63,p[m++]=63&(T>>>30|(15&b)<<2),p[m++]=b>>>4&63,p[m++]=b>>>10&63,p[m++]=b>>>16&63,p[m++]=b>>>22&63,p[m++]=63&(b>>>28|(3&I)<<4),p[m++]=I>>>2&63,p[m++]=I>>>8&63,p[m++]=I>>>14&63,p[m++]=I>>>20&63,p[m++]=I>>>26&63,p[m++]=M>>>0&63,p[m++]=M>>>6&63,p[m++]=M>>>12&63,p[m++]=M>>>18&63,p[m++]=M>>>24&63,p[m++]=63&(M>>>30|(15&A)<<2),p[m++]=A>>>4&63,p[m++]=A>>>10&63,p[m++]=A>>>16&63,p[m++]=A>>>22&63,p[m++]=63&(A>>>28|(3&D)<<4),p[m++]=D>>>2&63,p[m++]=D>>>8&63,p[m++]=D>>>14&63,p[m++]=D>>>20&63,p[m++]=D>>>26&63}})(r,e,i,s);break;case 7:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0,M=l[v++]>>>0,A=l[v++]>>>0,D=l[v++]>>>0,F=l[v++]>>>0;p[m++]=T>>>0&127,p[m++]=T>>>7&127,p[m++]=T>>>14&127,p[m++]=T>>>21&127,p[m++]=127&(T>>>28|(7&b)<<4),p[m++]=b>>>3&127,p[m++]=b>>>10&127,p[m++]=b>>>17&127,p[m++]=b>>>24&127,p[m++]=127&(b>>>31|(63&I)<<1),p[m++]=I>>>6&127,p[m++]=I>>>13&127,p[m++]=I>>>20&127,p[m++]=127&(I>>>27|(3&M)<<5),p[m++]=M>>>2&127,p[m++]=M>>>9&127,p[m++]=M>>>16&127,p[m++]=M>>>23&127,p[m++]=127&(M>>>30|(31&A)<<2),p[m++]=A>>>5&127,p[m++]=A>>>12&127,p[m++]=A>>>19&127,p[m++]=127&(A>>>26|(1&D)<<6),p[m++]=D>>>1&127,p[m++]=D>>>8&127,p[m++]=D>>>15&127,p[m++]=D>>>22&127,p[m++]=127&(D>>>29|(15&F)<<3),p[m++]=F>>>4&127,p[m++]=F>>>11&127,p[m++]=F>>>18&127,p[m++]=F>>>25&127}})(r,e,i,s);break;case 8:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<8;_++){const T=l[v++]>>>0,b=l[v++]>>>0,I=l[v++]>>>0,M=l[v++]>>>0,A=l[v++]>>>0,D=l[v++]>>>0,F=l[v++]>>>0,k=l[v++]>>>0;p[m++]=T>>>0&255,p[m++]=T>>>8&255,p[m++]=T>>>16&255,p[m++]=T>>>24&255,p[m++]=b>>>0&255,p[m++]=b>>>8&255,p[m++]=b>>>16&255,p[m++]=b>>>24&255,p[m++]=I>>>0&255,p[m++]=I>>>8&255,p[m++]=I>>>16&255,p[m++]=I>>>24&255,p[m++]=M>>>0&255,p[m++]=M>>>8&255,p[m++]=M>>>16&255,p[m++]=M>>>24&255,p[m++]=A>>>0&255,p[m++]=A>>>8&255,p[m++]=A>>>16&255,p[m++]=A>>>24&255,p[m++]=D>>>0&255,p[m++]=D>>>8&255,p[m++]=D>>>16&255,p[m++]=D>>>24&255,p[m++]=F>>>0&255,p[m++]=F>>>8&255,p[m++]=F>>>16&255,p[m++]=F>>>24&255,p[m++]=k>>>0&255,p[m++]=k>>>8&255,p[m++]=k>>>16&255,p[m++]=k>>>24&255}})(r,e,i,s);break;case 16:(function(l,u,p,g){let m=g,v=u;for(let _=0;_<128;_++){const T=l[v++]>>>0;p[m++]=65535&T,p[m++]=T>>>16&65535}})(r,e,i,s);break;default:(function(l,u,p,g,m){const v=Jh[m]>>>0;let _=u,T=0,b=l[_]>>>0,I=g;
5for(let M=0;M<8;M++){for(let A=0;A<32;A++)if(T+m<=32)p[I+A]=b>>>T&v,T+=m,T===32&&(T=0,_++,A!==31&&(b=l[_]>>>0));else{const D=32-T,F=b>>>T;_++,b=l[_]>>>0;const k=m-D;p[I+A]=(F|(b&-1>>>32-k>>>0)<<D)&v,T=k}I+=32,T=0,M<7&&(b=l[_]>>>0)}})(r,e,i,s,o)}return e+(o<<3)|0}function Ng(r,e,i,s){if(i+2>e)throw new Error(`FastPFOR decode: byteContainer underflow at block=${s} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${i}, byteSize=${e})`);const o=r[i++],l=r[i++];if(o>32)throw new Error(`FastPFOR decode: invalid bitWidth=${o} at block=${s} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:o,exceptionCount:l,bytePosIn:i}}function Ug(r,e,i,s,o,l,u,p,g){const{maxBits:m,exceptionBitWidth:v,bytePosIn:_}=function(A,D,F,k,L,O){if(F+1>D)throw new Error(`FastPFOR decode: exception header underflow at block=${O} (need 1 byte for maxBits, bytePos=${F}, byteSize=${D})`);const j=A[F++];if(j<k||j>32)throw new Error(`FastPFOR decode: invalid maxBits=${j} at block=${O} (bitWidth=${k}, expected ${k}..32)`);const Y=j-k|0;if(Y<1||Y>32)throw new Error(`FastPFOR decode: invalid exceptionBitWidth=${Y} at block=${O} (bitWidth=${k}, maxBits=${j})`);if(F+L>D)throw new Error(`FastPFOR decode: exception positions underflow at block=${O} (need=${L}, have=${D-F})`);return{maxBits:j,exceptionBitWidth:Y,bytePosIn:F}}(o,l,u,i,s,g);if(u=_,v===1){const A=1<<i;for(let D=0;D<s;D=D+1|0)r[o[u++]+e|0]|=A;return u}const T=p.dataToBePacked[v];if(!T)throw new Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${v} (bitWidth=${i}, maxBits=${m}) at block ${g}`);const b=p.dataPointers;let I=0|b[v];const M=0|p.exceptionSizes[v];if(I+s>M)throw new Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${v} (ptr=${I}, need ${s}, size=${M}) at block ${g}`);for(let A=0;A<s;A=A+1|0){const D=o[u++],F=0|T[I++];r[D+e|0]|=F<<i}return b[v]=I,u}function Gg(r,e,i,s,o,l){const u=0|i,p=0|r[u];if(p<=0||u+p>r.length-1)throw new Error(`FastPFOR decode: invalid whereMeta=${p} at pageStart=${u} (expected > 0 and pageStart+whereMeta < encoded.length=${r.length})`);const g=u+1|0,m=u+p|0,v=r[m]>>>0,_=v+3>>>2,T=m+1,b=T+_;if(b>=r.length)throw new Error(`FastPFOR decode: invalid byteSize=${v} (metaInts=${_}, pageStart=${u}, packedEnd=${m}, byteContainerStart=${T}) causes bitmapPos=${b} out of bounds (encoded.length=${r.length})`);const I=function(D,F,k,L){L.byteContainer.length<k&&(L.byteContainer=new Uint8Array(2*k),L.byteContainerI32=void 0);const O=L.byteContainer,j=k>>>2;if(3&O.byteOffset)for(let J=0;J<j;J=J+1|0){const re=0|D[F+J|0],te=J<<2;O[te]=255&re,O[te+1|0]=re>>>8&255,O[te+2|0]=re>>>16&255,O[te+3|0]=re>>>24&255}else{let J=L.byteContainerI32;(!J||J.buffer!==O.buffer||J.byteOffset!==O.byteOffset||J.length<j)&&(J=L.byteContainerI32=new Int32Array(O.buffer,O.byteOffset,O.byteLength>>>2)),J.set(D.subarray(F,F+j))}const Y=3&k;if(Y>0){const J=0|D[F+j|0],re=j<<2;for(let te=0;te<Y;te=te+1|0)O[re+te|0]=J>>>(te<<3)&255}return O}(r,T,v,l),M=v,A=function(D,F,k){const L=0|D[F++],O=k.dataToBePacked;for(let j=2;j<=32;j=j+1|0){if(!(L>>>j-1&1))continue;if(F>=D.length)throw new Error(`FastPFOR decode: truncated exception stream header (bitWidth=${j}, streamWordIndex=${F}, needWords=1, availableWords=${D.length-F}, encodedWords=${D.length})`);const Y=D[F++]>>>0,J=Qh(Y+31,32),re=Y*j+31>>>5;if(F+re>D.length)throw new Error(`FastPFOR decode: truncated exception stream (bitWidth=${j}, size=${Y}, streamWordIndex=${F}, needWords=${re}, availableWords=${D.length-F}, encodedWords=${D.length})`);let te=O[j];(!te||te.length<J)&&(te=O[j]=new Uint32Array(J));let ae=0;for(;ae<Y;ae=ae+32|0)$g(D,F,te,ae,j),F=F+j|0;F=F-((ae-Y|0)*j>>>5)|0,k.exceptionSizes[j]=Y}return F}(r,b,l);return l.dataPointers.fill(0),function(D,F,k,L,O,j,Y,J,re,te){let ae=0|k,le=0;for(let ne=0;ne<Y;ne=ne+1|0){const ie=Ng(J,re,le,ne);le=ie.bytePosIn;const fe=ie.bitWidth,xe=ie.exceptionCount,ye=j+ne*Mn|0;switch(fe){case 0:O.fill(0,ye,ye+Mn);break;case 32:for(let me=0;me<Mn;me=me+1|0)O[ye+me|0]=0|D[ae+me|0];ae=ae+Mn|0;break;default:ae=jg(D,ae,O,ye,fe)}xe>0&&(le=Ug(O,ye,fe,xe,J,re,le,te,ne))}if(ae!==L)throw new Error(`FastPFOR decode: packed region mismatch (pageStart=${F}, packedStart=${k}, consumedPackedEnd=${ae}, expectedPackedEnd=${L}, packedWords=${L-k}, encoded.length=${D.length})`)}(r,u,g,m,e,0|s,o/Mn|0,I,M,l),A}function $g(r,e,i,s,o){switch(o){case 2:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0;_[b++]=I>>>0&3,_[b++]=I>>>2&3,_[b++]=I>>>4&3,_[b++]=I>>>6&3,_[b++]=I>>>8&3,_[b++]=I>>>10&3,_[b++]=I>>>12&3,_[b++]=I>>>14&3,_[b++]=I>>>16&3,_[b++]=I>>>18&3,_[b++]=I>>>20&3,_[b++]=I>>>22&3,_[b++]=I>>>24&3,_[b++]=I>>>26&3,_[b++]=I>>>28&3,_[b++]=I>>>30&3,_[b++]=M>>>0&3,_[b++]=M>>>2&3,_[b++]=M>>>4&3,_[b++]=M>>>6&3,_[b++]=M>>>8&3,_[b++]=M>>>10&3,_[b++]=M>>>12&3,_[b++]=M>>>14&3,_[b++]=M>>>16&3,_[b++]=M>>>18&3,_[b++]=M>>>20&3,_[b++]=M>>>22&3,_[b++]=M>>>24&3,_[b++]=M>>>26&3,_[b++]=M>>>28&3,_[b]=M>>>30&3}(r,e,i,s);case 3:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0;_[b++]=I>>>0&7,_[b++]=I>>>3&7,_[b++]=I>>>6&7,_[b++]=I>>>9&7,_[b++]=I>>>12&7,_[b++]=I>>>15&7,_[b++]=I>>>18&7,_[b++]=I>>>21&7,_[b++]=I>>>24&7,_[b++]=I>>>27&7,_[b++]=7&(I>>>30|(1&M)<<2),_[b++]=M>>>1&7,_[b++]=M>>>4&7,_[b++]=M>>>7&7,_[b++]=M>>>10&7,_[b++]=M>>>13&7,_[b++]=M>>>16&7,_[b++]=M>>>19&7,_[b++]=M>>>22&7,_[b++]=M>>>25&7,_[b++]=M>>>28&7,_[b++]=7&(M>>>31|(3&A)<<1),_[b++]=A>>>2&7,_[b++]=A>>>5&7,_[b++]=A>>>8&7,_[b++]=A>>>11&7,_[b++]=A>>>14&7,_[b++]=A>>>17&7,_[b++]=A>>>20&7,_[b++]=A>>>23&7,_[b++]=A>>>26&7,_[b]=A>>>29&7}(r,e,i,s);case 4:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0;_[b++]=I>>>0&15,_[b++]=I>>>4&15,_[b++]=I>>>8&15,_[b++]=I>>>12&15,_[b++]=I>>>16&15,_[b++]=I>>>20&15,_[b++]=I>>>24&15,_[b++]=I>>>28&15,_[b++]=M>>>0&15,_[b++]=M>>>4&15,_[b++]=M>>>8&15,_[b++]=M>>>12&15,_[b++]=M>>>16&15,_[b++]=M>>>20&15,_[b++]=M>>>24&15,_[b++]=M>>>28&15,_[b++]=A>>>0&15,_[b++]=A>>>4&15,_[b++]=A>>>8&15,_[b++]=A>>>12&15,_[b++]=A>>>16&15,_[b++]=A>>>20&15,_[b++]=A>>>
vendor: 3,909 bytes, line 5
524&15,_[b++]=A>>>28&15,_[b++]=D>>>0&15,_[b++]=D>>>4&15,_[b++]=D>>>8&15,_[b++]=D>>>12&15,_[b++]=D>>>16&15,_[b++]=D>>>20&15,_[b++]=D>>>24&15,_[b]=D>>>28&15}(r,e,i,s);case 5:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0;_[b++]=I>>>0&31,_[b++]=I>>>5&31,_[b++]=I>>>10&31,_[b++]=I>>>15&31,_[b++]=I>>>20&31,_[b++]=I>>>25&31,_[b++]=31&(I>>>30|(7&M)<<2),_[b++]=M>>>3&31,_[b++]=M>>>8&31,_[b++]=M>>>13&31,_[b++]=M>>>18&31,_[b++]=M>>>23&31,_[b++]=31&(M>>>28|(1&A)<<4),_[b++]=A>>>1&31,_[b++]=A>>>6&31,_[b++]=A>>>11&31,_[b++]=A>>>16&31,_[b++]=A>>>21&31,_[b++]=A>>>26&31,_[b++]=31&(A>>>31|(15&D)<<1),_[b++]=D>>>4&31,_[b++]=D>>>9&31,_[b++]=D>>>14&31,_[b++]=D>>>19&31,_[b++]=D>>>24&31,_[b++]=31&(D>>>29|(3&F)<<3),_[b++]=F>>>2&31,_[b++]=F>>>7&31,_[b++]=F>>>12&31,_[b++]=F>>>17&31,_[b++]=F>>>22&31,_[b]=F>>>27&31}(r,e,i,s);case 6:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0;_[b++]=I>>>0&63,_[b++]=I>>>6&63,_[b++]=I>>>12&63,_[b++]=I>>>18&63,_[b++]=I>>>24&63,_[b++]=63&(I>>>30|(15&M)<<2),_[b++]=M>>>4&63,_[b++]=M>>>10&63,_[b++]=M>>>16&63,_[b++]=M>>>22&63,_[b++]=63&(M>>>28|(3&A)<<4),_[b++]=A>>>2&63,_[b++]=A>>>8&63,_[b++]=A>>>14&63,_[b++]=A>>>20&63,_[b++]=A>>>26&63,_[b++]=D>>>0&63,_[b++]=D>>>6&63,_[b++]=D>>>12&63,_[b++]=D>>>18&63,_[b++]=D>>>24&63,_[b++]=63&(D>>>30|(15&F)<<2),_[b++]=F>>>4&63,_[b++]=F>>>10&63,_[b++]=F>>>16&63,_[b++]=F>>>22&63,_[b++]=63&(F>>>28|(3&k)<<4),_[b++]=k>>>2&63,_[b++]=k>>>8&63,_[b++]=k>>>14&63,_[b++]=k>>>20&63,_[b]=k>>>26&63}(r,e,i,s);case 7:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0;_[b++]=I>>>0&127,_[b++]=I>>>7&127,_[b++]=I>>>14&127,_[b++]=I>>>21&127,_[b++]=127&(I>>>28|(7&M)<<4),_[b++]=M>>>3&127,_[b++]=M>>>10&127,_[b++]=M>>>17&127,_[b++]=M>>>24&127,_[b++]=127&(M>>>31|(63&A)<<1),_[b++]=A>>>6&127,_[b++]=A>>>13&127,_[b++]=A>>>20&127,_[b++]=127&(A>>>27|(3&D)<<5),_[b++]=D>>>2&127,_[b++]=D>>>9&127,_[b++]=D>>>16&127,_[b++]=D>>>23&127,_[b++]=127&(D>>>30|(31&F)<<2),_[b++]=F>>>5&127,_[b++]=F>>>12&127,_[b++]=F>>>19&127,_[b++]=127&(F>>>26|(1&k)<<6),_[b++]=k>>>1&127,_[b++]=k>>>8&127,_[b++]=k>>>15&127,_[b++]=k>>>22&127,_[b++]=127&(k>>>29|(15&L)<<3),_[b++]=L>>>4&127,_[b++]=L>>>11&127,_[b++]=L>>>18&127,_[b]=L>>>25&127}(r,e,i,s);case 8:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0;_[b++]=I>>>0&255,_[b++]=I>>>8&255,_[b++]=I>>>16&255,_[b++]=I>>>24&255,_[b++]=M>>>0&255,_[b++]=M>>>8&255,_[b++]=M>>>16&255,_[b++]=M>>>24&255,_[b++]=A>>>0&255,_[b++]=A>>>8&255,_[b++]=A>>>16&255,_[b++]=A>>>24&255,_[b++]=D>>>0&255,_[b++]=D>>>8&255,_[b++]=D>>>16&255,_[b++]=D>>>24&255,_[b++]=F>>>0&255,_[b++]=F>>>8&255,_[b++]=F>>>16&255,_[b++]=F>>>24&255,_[b++]=k>>>0&255,_[b++]=k>>>8&255,_[b++]=k>>>16&255,_[b++]=k>>>24&255,_[b++]=L>>>0&255,_[b++]=L>>>8&255,_[b++]=L>>>16&255,_[b++]=L>>>24&255,_[b++]=O>>>0&255,_[b++]=O>>>8&255,_[b++]=O>>>16&255,_[b]=O>>>24&255}(r,e,i,s);case 9:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0,j=m[v+8]>>>0;_[b++]=I>>>0&511,_[b++]=I>>>9&511,_[b++]=I>>>18&511,_[b++]=511&(I>>>27|(15&M)<<5),_[b++]=M>>>4&511,_[b++]=M>>>13&511,_[b++]=M>>>22&511,_[b++]=511&(M>>>31|(255&A)<<1),_[b++]=A>>>8&511,_[b++]=A>>>17&511,_[b++]=511&(A>>>26|(7&D)<<6),_[b++]=D>>>3&511,_[b++]=D>>>12&511,_[b++]=D>>>21&511,_[b++]=511&(D>>>30|(127&F)<<2),_[b++]=F>>>7&511,_[b++]=F>>>16&511,_[b++]=511&(F>>>25|(3&k)<<7),_[b++]=k>>>2&511,_[b++]=k>>>11&511,_[b++]=k>>>20&511,_[b++]=511&(k>>>29|(63&L)<<3),_[b++]=L>>>6&511,_[b++]=L>>>15&511,_[b++]=511&(L>>>24|(1&O)<<8),_[b++]=O>>>1&511,_[b++]=O>>>10&511,_[b++]=O>>>19&511,_[b++]=511&(O>>>28|(31&j)<<4),_[b++]=j>>>5&511,_[b++]=j>>>14&511,_[b]=j>>>23&511}
5(r,e,i,s);case 10:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0,j=m[v+8]>>>0,Y=m[v+9]>>>0;_[b++]=I>>>0&1023,_[b++]=I>>>10&1023,_[b++]=I>>>20&1023,_[b++]=1023&(I>>>30|(255&M)<<2),_[b++]=M>>>8&1023,_[b++]=M>>>18&1023,_[b++]=1023&(M>>>28|(63&A)<<4),_[b++]=A>>>6&1023,_[b++]=A>>>16&1023,_[b++]=1023&(A>>>26|(15&D)<<6),_[b++]=D>>>4&1023,_[b++]=D>>>14&1023,_[b++]=1023&(D>>>24|(3&F)<<8),_[b++]=F>>>2&1023,_[b++]=F>>>12&1023,_[b++]=F>>>22&1023,_[b++]=k>>>0&1023,_[b++]=k>>>10&1023,_[b++]=k>>>20&1023,_[b++]=1023&(k>>>30|(255&L)<<2),_[b++]=L>>>8&1023,_[b++]=L>>>18&1023,_[b++]=1023&(L>>>28|(63&O)<<4),_[b++]=O>>>6&1023,_[b++]=O>>>16&1023,_[b++]=1023&(O>>>26|(15&j)<<6),_[b++]=j>>>4&1023,_[b++]=j>>>14&1023,_[b++]=1023&(j>>>24|(3&Y)<<8),_[b++]=Y>>>2&1023,_[b++]=Y>>>12&1023,_[b]=Y>>>22&1023}(r,e,i,s);case 11:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0,j=m[v+8]>>>0,Y=m[v+9]>>>0,J=m[v+10]>>>0;_[b++]=I>>>0&2047,_[b++]=I>>>11&2047,_[b++]=2047&(I>>>22|(1&M)<<10),_[b++]=M>>>1&2047,_[b++]=M>>>12&2047,_[b++]=2047&(M>>>23|(3&A)<<9),_[b++]=A>>>2&2047,_[b++]=A>>>13&2047,_[b++]=2047&(A>>>24|(7&D)<<8),_[b++]=D>>>3&2047,_[b++]=D>>>14&2047,_[b++]=2047&(D>>>25|(15&F)<<7),_[b++]=F>>>4&2047,_[b++]=F>>>15&2047,_[b++]=2047&(F>>>26|(31&k)<<6),_[b++]=k>>>5&2047,_[b++]=k>>>16&2047,_[b++]=2047&(k>>>27|(63&L)<<5),_[b++]=L>>>6&2047,_[b++]=L>>>17&2047,_[b++]=2047&(L>>>28|(127&O)<<4),_[b++]=O>>>7&2047,_[b++]=O>>>18&2047,_[b++]=2047&(O>>>29|(255&j)<<3),_[b++]=j>>>8&2047,_[b++]=j>>>19&2047,_[b++]=2047&(j>>>30|(511&Y)<<2),_[b++]=Y>>>9&2047,_[b++]=Y>>>20&2047,_[b++]=2047&(Y>>>31|(1023&J)<<1),_[b++]=J>>>10&2047,_[b]=J>>>21&2047}(r,e,i,s);case 12:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0,j=m[v+8]>>>0,Y=m[v+9]>>>0,J=m[v+10]>>>0,re=m[v+11]>>>0;_[b++]=I>>>0&4095,_[b++]=I>>>12&4095,_[b++]=4095&(I>>>24|(15&M)<<8),_[b++]=M>>>4&4095,_[b++]=M>>>16&4095,_[b++]=4095&(M>>>28|(255&A)<<4),_[b++]=A>>>8&4095,_[b++]=A>>>20&4095,_[b++]=D>>>0&4095,_[b++]=D>>>12&4095,_[b++]=4095&(D>>>24|(15&F)<<8),_[b++]=F>>>4&4095,_[b++]=F>>>16&4095,_[b++]=4095&(F>>>28|(255&k)<<4),_[b++]=k>>>8&4095,_[b++]=k>>>20&4095,_[b++]=L>>>0&4095,_[b++]=L>>>12&4095,_[b++]=4095&(L>>>24|(15&O)<<8),_[b++]=O>>>4&4095,_[b++]=O>>>16&4095,_[b++]=4095&(O>>>28|(255&j)<<4),_[b++]=j>>>8&4095,_[b++]=j>>>20&4095,_[b++]=Y>>>0&4095,_[b++]=Y>>>12&4095,_[b++]=4095&(Y>>>24|(15&J)<<8),_[b++]=J>>>4&4095,_[b++]=J>>>16&4095,_[b++]=4095&(J>>>28|(255&re)<<4),_[b++]=re>>>8&4095,_[b]=re>>>20&4095}(r,e,i,s);case 16:return void function(m,v,_,T){let b=T;const I=m[v]>>>0,M=m[v+1]>>>0,A=m[v+2]>>>0,D=m[v+3]>>>0,F=m[v+4]>>>0,k=m[v+5]>>>0,L=m[v+6]>>>0,O=m[v+7]>>>0,j=m[v+8]>>>0,Y=m[v+9]>>>0,J=m[v+10]>>>0,re=m[v+11]>>>0,te=m[v+12]>>>0,ae=m[v+13]>>>0,le=m[v+14]>>>0,ne=m[v+15]>>>0;_[b++]=I>>>0&65535,_[b++]=I>>>16&65535,_[b++]=M>>>0&65535,_[b++]=M>>>16&65535,_[b++]=A>>>0&65535,_[b++]=A>>>16&65535,_[b++]=D>>>0&65535,_[b++]=D>>>16&65535,_[b++]=F>>>0&65535,_[b++]=F>>>16&65535,_[b++]=k>>>0&65535,_[b++]=k>>>16&65535,_[b++]=L>>>0&65535,_[b++]=L>>>16&65535,_[b++]=O>>>0&65535,_[b++]=O>>>16&65535,_[b++]=j>>>0&65535,_[b++]=j>>>16&65535,_[b++]=Y>>>0&65535,_[b++]=Y>>>16&65535,_[b++]=J>>>0&65535,_[b++]=J>>>16&65535,_[b++]=re>>>0&65535,_[b++]=re>>>16&65535,_[b++]=te>>>0&65535,_[b++]=te>>>16&65535,_[b++]=ae>>>0&65535,_[b++]=ae>>>16&65535,_[b++]=le>>>0&65535,_[b++]=le>>>16&65535,_[b++]=ne>>>0&65535,_[b]=ne>>>16&65535}(r,e,i,s);case 32:for(let m=0;m<32;m=m+1|0)i[s+m|0]=0|r[e+m|0];return}const l=Jh[o]>>>0;let u=e,p=0,g=r[u]>>>0;for(let m=0;m<32;m++)if(p+o<=32)i[s+m]=g>>>p&l,p+=o,p===32&&(p=0,u++,m!==31&&(g=r[u]>>>0));else{const v=32-p,_=g>>>p;u++,g=r[u]>>>0,i[s+m]=(_|(g&Jh[o-v]>>>0)<<v)&l,p=o-v}}function hi(r,e,i){const s=new Uint32Array(i);let o=0,l=e.get();for(let u=0;u<s.length;u++){let p=r[l++],g=127&p;p<128||(p=r[l++],g|=(127&p)<<7,p<128||(p=r[l++],g|=(127&p)<<14,p<128||(p=r[l++
5],g|=(127&p)<<21,p<128||(p=r[l++],g|=(15&p)<<28)))),s[o++]=g}return e.set(l),s}function xa(r,e,i){const s=new BigUint64Array(i);for(let o=0;o<s.length;o++)s[o]=Zg(r,e);return s}function Zg(r,e){let i=0n,s=0,o=e.get();for(;o<r.length;){const l=r[o++];if(i|=BigInt(127&l)<<BigInt(s),!(128&l))break;if(s+=7,s>=64)throw new Error("Varint too long")}return e.set(o),i}function qg(r,e){let i,s;return s=r[e.get()],e.increment(),i=127&s,s<128?i:(s=r[e.get()],e.increment(),i|=(127&s)<<7,s<128?i:(s=r[e.get()],e.increment(),i|=(127&s)<<14,s<128?i:(s=r[e.get()],e.increment(),i|=(127&s)<<21,s<128?i:(s=r[e.get()],i|=(15&s)<<28,function(o,l,u){let p,g;if(g=l[u.get()],u.increment(),p=(112&g)>>4,g<128||(g=l[u.get()],u.increment(),p|=(127&g)<<3,g<128)||(g=l[u.get()],u.increment(),p|=(127&g)<<10,g<128)||(g=l[u.get()],u.increment(),p|=(127&g)<<17,g<128)||(g=l[u.get()],u.increment(),p|=(127&g)<<24,g<128)||(g=l[u.get()],u.increment(),p|=(1&g)<<31,g<128))return 4294967296*p+(o>>>0);throw new Error("Expected varint not more than 10 bytes")}(i,r,e)))))}function nt(r){return r>>>1^-(1&r)}function xi(r){return r>>1n^-(1n&r)}function ba(r){return r%2==1?(r+1)/-2:r/2}function td(r,e,i){if(i===void 0){i=0;for(let l=0;l<e;l++)i+=r[l]}const s=new Uint32Array(i);let o=0;for(let l=0;l<e;l++){const u=r[l];s.fill(r[l+e],o,o+u),o+=u}return s}function id(r,e,i){if(i===void 0){i=0;for(let l=0;l<e;l++)i+=Number(r[l])}const s=new BigUint64Array(i);let o=0;for(let l=0;l<e;l++){const u=Number(r[l]);s.fill(r[l+e],o,o+u),o+=u}return s}function Up(r,e,i){const s=new Float64Array(i);let o=0;for(let l=0;l<e;l++){const u=r[l];s.fill(r[l+e],o,o+u),o+=u}return s}function Gp(r){const e=new Int32Array(r.length);e[0]=nt(r[0]);const i=r.length/4*4;let s=1;if(i>=4)for(;s<i-4;s+=4){const o=r[s+1],l=r[s+2],u=r[s+3];e[s]=nt(r[s])+e[s-1],e[s+1]=nt(o)+e[s],e[s+2]=nt(l)+e[s+1],e[s+3]=nt(u)+e[s+2]}for(;s!==r.length;++s)e[s]=nt(r[s])+e[s-1];return e}function $p(r){const e=new BigInt64Array(r.length);e[0]=xi(r[0]);const i=r.length/4*4;let s=1;if(i>=4)for(;s<i-4;s+=4){const o=r[s+1],l=r[s+2],u=r[s+3];e[s]=xi(r[s])+e[s-1],e[s+1]=xi(o)+e[s],e[s+2]=xi(l)+e[s+1],e[s+3]=xi(u)+e[s+2]}for(;s!==e.length;++s)e[s]=xi(r[s])+e[s-1];return e}function rd(r){const e=r.length/4*4;let i=1;if(e>=4)for(let s=r[0];i<e-4;i+=4)s=r[i]+=s,s=r[i+1]+=s,s=r[i+2]+=s,s=r[i+3]+=s;for(;i!==r.length;)r[i]+=r[i-1],++i}var ti,yr,oo,Ui,ut,Vt,Zp,hs;function bi(r,e){const i=function(s,o){const l=s[o.get()],u=Object.values(ti)[l>>4];let p=null;switch(u){case ti.DATA:p={dictionaryType:Object.values(yr)[15&l]};break;case ti.OFFSET:p={offsetType:Object.values(oo)[15&l]};break;case ti.LENGTH:p={lengthType:Object.values(Ui)[15&l]}}o.increment();const g=s[o.get()],m=Object.values(Ue)[g>>5],v=Object.values(Ue)[g>>2&7],_=Object.values(us)[3&g];o.increment();const T=hi(s,o,2),b=T[0];return{physicalStreamType:u,logicalStreamType:p,logicalLevelTechnique1:m,logicalLevelTechnique2:v,physicalLevelTechnique:_,numValues:b,byteLength:T[1],decompressedCount:b}}(r,e);return i.logicalLevelTechnique1===Ue.MORTON?function(s,o,l){const u=hi(o,l,2);return{physicalStreamType:s.physicalStreamType,logicalStreamType:s.logicalStreamType,logicalLevelTechnique1:s.logicalLevelTechnique1,logicalLevelTechnique2:s.logicalLevelTechnique2,physicalLevelTechnique:s.physicalLevelTechnique,numValues:s.numValues,byteLength:s.byteLength,decompressedCount:s.decompressedCount,numBits:u[0],coordinateShift:u[1]}}(i,r,e):Ue.RLE!==i.logicalLevelTechnique1&&Ue.RLE!==i.logicalLevelTechnique2||us.NONE===i.physicalLevelTechnique?i:function(s,o,l){const u=hi(o,l,2);return{physicalStreamType:s.physicalStreamType,logicalStreamType:s.logicalStreamType,logicalLevelTechnique1:s.logicalLevelTechnique1,logicalLevelTechnique2:s.logicalLevelTechnique2,physicalLevelTechnique:s.physicalLevelTechnique,numValues:s.numValues,byteLength:s.byteLength,decompressedCount:u[1],runs:u[0],numRleValues:u[1]}}(i,r,e)}(function(r){r.PRESENT="PRESENT",r.DATA="DATA",r.OFFSET="OFFSET",r.LENGTH="LENGTH"})(ti||(ti={})),function(r){r.NONE="NONE",r.SINGLE="SINGLE",r.SHARED="SHARED",r.VERTEX="VERTEX",r.MORTON="MORTON",r.FSST="FSST"}(yr||(yr={})),function(r){r.VERTEX="VERTEX",r.INDEX="INDEX",r.STRING="STRING",r.KEY="KEY"}(oo||(oo={})),function(r){r.VAR_BINARY="VAR_BINARY",r.GEOMETRIES="GEOMETRIES",r.PARTS="PARTS",r.RINGS="RINGS",r.TRIANGLES="TRIANGLES",r.SYMBOL="SYMBOL",r.DICTIONARY="DICTIONARY"}(Ui||(Ui={})),function(r){r[r.FLAT=0]="FLAT",r[r.CONST=1]="CONST",r[r.SEQUENCE=2]="SEQUENCE",r[r.DICTIONARY=3]="DICTIONARY",r[r.FSST_DICTIONARY=4]="FSST_DICTIONARY"}(ut||(ut={}));class vr{constructor(e,i){this.values=e,this._size=i}get(e){const i=Math.floor(e/8);return(this.values[i]>>e%8&1)==1}set(e,i){const s=Math.floor(e/8);this.values[s]=this.values[s]|(i?1:0)<<e%8}getInt(e){const i=Math.floor(e/8);return this.values[i]>>e%8&1}size(){return this._size}getBuffer(){return this.values}}function wa(r,e,i){if(!e)return r;const s=e.size(),o=new r.constructor(s);let l=0;for(let u=0;u<s;u++)o[u]=e.get(u)?r[l++]:i;return o}
5function nd(r,e,i,s,o){return function(l,u,p,g){let m;switch(u.logicalLevelTechnique1){case Ue.DELTA:if(u.logicalLevelTechnique2===Ue.RLE){const v=u;if(!g)return function(_,T,b){const I=new Int32Array(b);let M=0,A=0;for(let D=0;D<T;D++){const F=_[D],k=nt(_[D+T]);for(let L=0;L<F;L++)A+=k,I[M++]=A}return I}(l,v.runs,v.numRleValues);m=Gp(l=td(l,v.runs,v.numRleValues))}else m=Gp(l);break;case Ue.RLE:m=function(v,_,T){if(T===void 0){T=0;for(let M=0;M<_;M++)T+=v[M]}const b=new Int32Array(T);let I=0;for(let M=0;M<_;M++){const A=v[M];let D=v[M+_];D=nt(D),b.fill(D,I,I+A),I+=A}return b}(l,u.runs,u.numRleValues);break;case Ue.MORTON:rd(l),m=new Int32Array(l);break;case Ue.COMPONENTWISE_DELTA:m=function(v){if(v.length<2)return new Int32Array(v);const _=new Int32Array(v.length);_[0]=nt(v[0]),_[1]=nt(v[1]);const T=v.length/4*4;let b=2;if(T>=4)for(;b<T-4;b+=4){const I=v[b+1],M=v[b+2],A=v[b+3];_[b]=nt(v[b])+_[b-2],_[b+1]=nt(I)+_[b-1],_[b+2]=nt(M)+_[b],_[b+3]=nt(A)+_[b+1]}for(;b!==v.length;b+=2)_[b]=nt(v[b])+_[b-2],_[b+1]=nt(v[b+1])+_[b-1];return _}(l);break;case Ue.NONE:m=function(v){const _=new Int32Array(v.length);for(let T=0;T<v.length;T++)_[T]=nt(v[T]);return _}(l);break;default:throw new Error(`The specified Logical level technique is not supported: ${u.logicalLevelTechnique1}`)}return g?wa(m,g,0):m}(Ta(r,e,i),i,0,o)}function Gi(r,e,i,s,o){return function(l,u,p,g){let m;switch(u.logicalLevelTechnique1){case Ue.DELTA:m=function(v){const _=new Uint32Array(v.length);_[0]=nt(v[0])>>>0;for(let T=1;T<v.length;T++)_[T]=_[T-1]+nt(v[T])>>>0;return _}(u.logicalLevelTechnique2===Ue.RLE?td(l,u.runs,u.numRleValues):l);break;case Ue.RLE:m=td(l,u.runs,u.numRleValues);break;case Ue.MORTON:rd(l),m=l;break;case Ue.COMPONENTWISE_DELTA:m=function(v){if(v.length<2)return new Uint32Array(v);const _=new Uint32Array(v.length);_[0]=nt(v[0])>>>0,_[1]=nt(v[1])>>>0;for(let T=2;T<v.length;T+=2)_[T]=_[T-2]+nt(v[T])>>>0,_[T+1]=_[T-1]+nt(v[T+1])>>>0;return _}(l);break;case Ue.NONE:m=l;break;default:throw new Error(`The specified Logical level technique is not supported: ${u.logicalLevelTechnique1}`)}return g?wa(m,g,0):m}(Ta(r,e,i),i,0,o)}function ds(r,e,i){return function(s,o){if(o.logicalLevelTechnique1===Ue.DELTA&&o.logicalLevelTechnique2===Ue.NONE)return function(l){const u=new Int32Array(l.length+1);u[0]=0,u[1]=nt(l[0]);let p=u[1];for(let g=2;g!==u.length;++g)p+=nt(l[g-1]),u[g]=u[g-1]+p;return new Uint32Array(u)}(s);if(o.logicalLevelTechnique1===Ue.RLE&&o.logicalLevelTechnique2===Ue.NONE)return function(l,u,p){const g=new Uint32Array(p+1);g[0]=0;let m=1,v=g[0];for(let _=0;_<u;_++){const T=l[_],b=l[_+u];for(let I=m;I<m+T;I++)g[I]=b+v,v=g[I];m+=T}return g}(s,o.runs,o.numRleValues);if(o.logicalLevelTechnique1===Ue.NONE&&o.logicalLevelTechnique2===Ue.NONE){(function(u){let p=0;for(let g=0;g<u.length;g++)u[g]+=p,p=u[g]})(s);const l=new Uint32Array(o.numValues+1);return l[0]=0,l.set(s,1),l}if(o.logicalLevelTechnique1===Ue.DELTA&&o.logicalLevelTechnique2===Ue.RLE){const l=function(u,p,g){const m=new Int32Array(g+1);m[0]=0;let v=1,_=m[0];for(let T=0;T<p;T++){const b=u[T];let I=u[T+p];I=nt(I);for(let M=v;M<v+b;M++)m[M]=I+_,_=m[M];v+=b}return m}(s,o.runs,o.numRleValues);return rd(l),new Uint32Array(l)}throw new Error("Only delta encoding is supported for transforming length to offset streams yet.")}(Ta(r,e,i),i)}function Ta(r,e,i){const s=i.physicalLevelTechnique;switch(s){case us.FAST_PFOR:return function(o,l,u,p){return function(g,m,v,_,T){const b=_.get();if(3&v)throw new Error(`FastPFOR: invalid encodedByteLength=${v} at offset=${b} (encodedBytes.length=${g.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);const I=v>>>2,M=function(D,F){if(F<=D.encodedWords.length)return D.encodedWords;const k=new Uint32Array(Math.max(16,2*F));return D.encodedWords=k,k}(T,I);(function(D,F,k,L){if(F<0||k<0||F+k>D.length)throw new RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${F}, byteLength=${k}, bytes.length=${D.length})`);const O=Math.floor(k/4),j=k%4!=0,Y=j?O+1:O;if(L.length<Y)throw new RangeError(`decodeBigEndianInt32sInto: out.length=${L.length} < ${Y}`);if(O>0){const J=D.byteOffset+F;if(3&J)for(let re=0;re<O;re++){const te=F+4*re;L[re]=D[te]<<24|D[te+1]<<16|D[te+2]<<8|D[te+3]}else{const re=new Uint32Array(D.buffer,J,O);for(let te=0;te<O;te++)L[te]=0|Og(re[te])}}if(j){const J=F+4*O,re=k-4*O;let te=0;for(let ae=0;ae<re;ae++)te|=D[J+ae]<<24-8*ae;L[O]=0|te}})(g,b,v,M);const A=function(D,F,k){let L=0,O=0;const j=new Uint32Array(F),Y=k??Np();if(D.length>0){const J=0|D[L];if(L=L+1|0,255&J)throw new Error(`FastPFOR decode: invalid alignedLength=${J} (expected multiple of 256)`);if(O+J>j.length)throw new Error(`FastPFOR decode: output buffer too small (outPos=${O}, alignedLength=${J}, out.length=${j.length})`);L=function(re,te,ae,le,ne,ie){const fe=le+Qh(ne,Mn);let xe=le,ye=ae;for(;xe!==fe;){const me=Math.min(ed,fe-xe);ye=Gg(re,te,ye,xe,me,ie),xe=xe+me|0}return ye}(D,j,L,O,J,Y),O=O+J|0}return function(J,re,te,ae,le,ne){if(ne===0)return re;let ie=0,fe=re;const xe=re+te,ye=le;let me=le;const Ae=le+ne;let Xe=0,Ke=0;for(;fe<xe&&me<Ae;){const it=J[fe]>>>ie&255;if(ie+=8,fe+=ie>>>5,ie&=31,Xe|=(127&it)<<Ke,128&it)ae[me++]=0|Xe,Xe=0,Ke=0;else if(Ke+=7,Ke>28)throw new Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${Ke}, partial=${Xe}, decoded=${me-ye}/${ne}, inPos=${fe}, inEnd=${xe})`)}if(me!==Ae)throw new Error(`FastPFOR VByte: truncated stream (decoded=${me-ye}, expected=${ne}, consumedWords=${fe-re}/${te}, vbyteStart=${re}, vbyteEnd=${xe})`)}(D,L,D.length-L|0,j,O,F-O|0),j}(M.subarray(0,I),m,T.decoderWorkspace);return _.add(v),A}(o,l,u,p,function(g=16){if(g<0)throw new RangeError(`initialEncodedWordCapacity must be >= 0, got ${g}`);const m=Math.max(16,0|g);return{encodedWords:new Uint32Array(m),decoderWorkspace:Np()}}(u>>>2))}(r,i.numValues,i.byteLength,e);case us.VARINT:return hi(r,e,i.numValues);case us.NONE:{const o=e.get();e.add(i.byteLength);const l=r.subarray(o,e.get());return new Uint32Array(l)}default:throw new Error(`Specified physicalLevelTechnique ${s} is not supported (yet).`)}}function sd(r,e,i){const s=Ta(r,e,i);return s.length===1?s[0]:function(o){return o[1]}(s)}function qp(r,e,i){return function(s){if(s.length===2){const o=nt(s[1]);return[o,o]}return[nt(s[2]),nt(s[3])]}(Ta(r,e,i))}function Wp(r,e,i){return function(s){if(s.length===2){const o=xi(s[1]);return[o,o]}return[xi(s[2]),xi(s[3])]}(xa(r,e,i.numValues))}function Hp(r,e,i,s){return function(o,l,u){let p;switch(l.logicalLevelTechnique1){case Ue.DELTA:p=function(g){const m=new BigUint64Array(g.length);m[0]=BigInt.asUintN(64,xi(g[0]));for(let v=1;v<g.length;v++)m[v]=BigInt.asUintN(64,m[v-1]+xi(g[v]));return m}(l.logicalLevelTechnique2===Ue.RLE?id(o,l.runs,l.numRleValues):o);break;case Ue.RLE:p=id(o,l.runs,l.numRleValues);break;case Ue.NONE:p=o;break;default:throw new Error(`The specified Logical level technique is not supported: ${l.logicalLevelTechnique1}`)}return u?wa(p,u,0n):p}(xa(r,e,i.numValues),i,s)}function Xp(r,e,i){const s=xa(r,e,i.numValues);return s.length===1?s[0]:function(o){return o[1]}(s)}
5function Mu(r,e,i,s,o="int32"){const l=r.logicalLevelTechnique1;if(l===Ue.RLE)return r.runs===1?ut.CONST:ut.FLAT;if(l!==Ue.DELTA||r.logicalLevelTechnique2!==Ue.RLE)return r.numValues===1?ut.CONST:ut.FLAT;const u=e instanceof vr?e.size():e;if(r.numRleValues!==u)return ut.FLAT;if(r.runs===1)return ut.SEQUENCE;if(r.runs!==2)return r.numValues===1?ut.CONST:ut.FLAT;const p=s.get();if(r.physicalLevelTechnique===us.VARINT)return function(v,_,T){const b=new jp(_.get());if(T==="int64"){const M=xa(v,b,4);return M[2]===2n&&M[3]===2n}const I=hi(v,b,4);return I[2]===2&&I[3]===2}(i,s,o)?ut.SEQUENCE:r.numValues===1?ut.CONST:ut.FLAT;const g=s.get(),m=new Int32Array(i.buffer,i.byteOffset+g,4);return s.set(p),m[2]===2&&m[3]===2?ut.SEQUENCE:r.numValues===1?ut.CONST:ut.FLAT}class Yp extends Iu{getValueFromBuffer(e){return this.dataBuffer[e]}}class Kp extends Vp{constructor(e,i,s,o){super(e,BigInt64Array.of(i),s,o)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}}function od(r,e,i){return{x:Jp(r,e)-i,y:Jp(r>>1,e)-i}}function Jp(r,e){let i=0;for(let s=0;s<e;s++)i|=(r&1<<2*s)>>s;return i}function Sa(r,e,i,s,o,l,u){return r===hs.MORTON?function(p,g,m,v,_,T){const b=new Array(_?v+1:v);for(let I=0;I<v;I++){const M=od(p[g[m+I]],T.numBits,T.coordinateShift);b[I]=new Te(M.x,M.y)}return _&&(b[b.length-1]=b[0]),b}(e,i,s,o,l,u):function(p,g,m,v,_){const T=new Array(_?v+1:v);for(let b=0;b<2*v;b+=2){const I=2*g[m+b/2];T[b/2]=new Te(p[I],p[I+1])}return _&&(T[T.length-1]=T[0]),T}(e,i,s,o,l)}function Pa(r,e,i,s){const o=new Array(s?i+1:i);for(let l=0;l<2*i;l+=2)o[l/2]=new Te(r[e+l],r[e+l+1]);return s&&(o[o.length-1]=o[0]),o}(function(r){r[r.POINT=0]="POINT",r[r.LINESTRING=1]="LINESTRING",r[r.POLYGON=2]="POLYGON",r[r.MULTIPOINT=3]="MULTIPOINT",r[r.MULTILINESTRING=4]="MULTILINESTRING",r[r.MULTIPOLYGON=5]="MULTIPOLYGON"})(Vt||(Vt={})),function(r){r[r.POINT=0]="POINT",r[r.LINESTRING=1]="LINESTRING",r[r.POLYGON=2]="POLYGON"}(Zp||(Zp={})),function(r){r[r.MORTON=0]="MORTON",r[r.VEC_2=1]="VEC_2",r[r.VEC_3=2]="VEC_3"}(hs||(hs={}));class Qp{constructor(e,i,s,o,l){this._vertexBufferType=e,this._topologyVector=i,this._vertexOffsets=s,this._vertexBuffer=o,this._mortonSettings=l}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){const i=this.vertexOffsets?2*this.vertexOffsets[e]:2*e;return[this.vertexBuffer[i],this.vertexBuffer[i+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){const s=od(this.vertexBuffer[this.vertexOffsets[e]],this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[s.x,s.y]}const i=this.vertexOffsets?2*this.vertexOffsets[e]:2*e;return[this.vertexBuffer[i],this.vertexBuffer[i+1]]}getGeometries(){return function(e){const i=new Array(e.numGeometries);let s=1,o=1,l=1,u=0,p=0,g=0;const m=e.mortonSettings,v=e.topologyVector,_=v.geometryOffsets,T=v.partOffsets,b=v.ringOffsets,I=e.vertexOffsets,M=!I||I.length===0,A=e.containsPolygonGeometry(),D=e.vertexBuffer;for(let F=0;F<e.numGeometries;F++)switch(e.geometryType(F)){case Vt.POINT:{let k,L;if(M)k=D[p++],L=D[p++];else if(e.vertexBufferType===hs.MORTON){const O=od(D[I[g++]],m.numBits,m.coordinateShift);k=O.x,L=O.y}else{const O=2*I[g++];k=D[O],L=D[O+1]}i[u++]=[[new Te(k,L)]],_&&l++,T&&s++,b&&o++}break;case Vt.MULTIPOINT:{const k=_[l]-_[l-1];l++;const L=new Array(k);if(M)for(let O=0;O<k;O++){const j=D[p++],Y=D[p++];L[O]=new Te(j,Y)}else for(let O=0;O<k;O++){const j=2*I[g++];L[O]=new Te(D[j],D[j+1])}i[u++]=L.map(O=>[O]),s+=k,o+=k}break;case Vt.LINESTRING:{let k,L;A?(k=b[o]-b[o-1],o++):k=T[s]-T[s-1],s++,M?(L=Pa(D,p,k,!1),p+=2*k):(L=Sa(e.vertexBufferType,D,I,g,k,!1,m),g+=k),i[u++]=[L],_&&l++}break;case Vt.POLYGON:{const k=T[s]-T[s-1];s++;const L=new Array(k-1);let O,j=b[o]-b[o-1];if(o++,M){O=Pa(D,p,j,!0),p+=2*j;for(let Y=0;Y<L.length;Y++)j=b[o]-b[o-1],o++,L[Y]=Pa(D,p,j,!0),p+=2*j}else{O=Sa(e.vertexBufferType,D,I,g,j,!0,m),g+=j;for(let Y=0;Y<L.length;Y++)j=b[o]-b[o-1],o++,L[Y]=Sa(e.vertexBufferType,D,I,g,j,!0,m),g+=j}i[u++]=[O].concat(L),_&&l++}break;case Vt.MULTILINESTRING:{const k=_[l]-_[l-1];l++;const L=new Array(k);for(let O=0;O<k;O++){let j;
5if(A?(j=b[o]-b[o-1],o++):j=T[s]-T[s-1],s++,M)L[O]=Pa(D,p,j,!1),p+=2*j;else{const Y=Sa(e.vertexBufferType,D,I,g,j,!1,m);L[O]=Y,g+=j}}i[u++]=L}break;case Vt.MULTIPOLYGON:{const k=_[l]-_[l-1];l++;const L=new Array(k);for(let O=0;O<k;O++){const j=T[s]-T[s-1];let Y;s++;const J=new Array(j-1),re=b[o]-b[o-1];o++,M?(Y=Pa(D,p,re,!0),p+=2*re):(Y=Sa(e.vertexBufferType,D,I,g,re,!0,m),g+=re);for(let te=0;te<J.length;te++){const ae=b[o]-b[o-1];o++,M?(J[te]=Pa(D,p,ae,!0),p+=2*ae):(J[te]=Sa(e.vertexBufferType,D,I,g,ae,!0,m),g+=ae)}L[O]=[Y].concat(J)}i[u++]=L.flat()}break;default:throw new Error("The specified geometry type is currently not supported.")}return i}(this)}get mortonSettings(){return this._mortonSettings}}class ef extends Qp{constructor(e,i,s,o,l,u,p){super(s,o,l,u,p),this._numGeometries=e,this._geometryType=i}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Vt.POLYGON||this._geometryType===Vt.MULTIPOLYGON}containsSingleGeometryType(){return!0}}class tf extends Qp{constructor(e,i,s,o,l,u){super(e,s,o,l,u),this._geometryTypes=i}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let e=0;e<this.numGeometries;e++)if(this.geometryType(e)===Vt.POLYGON||this.geometryType(e)===Vt.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}}class rf{constructor(e,i,s,o){this._triangleOffsets=e,this._indexBuffer=i,this._vertexBuffer=s,this._topologyVector=o}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw new Error("Cannot convert GpuVector to coordinates without topology information");const e=new Array(this.numGeometries),i=this._topologyVector,s=i.partOffsets,o=i.ringOffsets,l=i.geometryOffsets;let u=0,p=1,g=1,m=1;for(let v=0;v<this.numGeometries;v++)switch(this.geometryType(v)){case Vt.POLYGON:{const _=s[p]-s[p-1];p++;const T=[];for(let b=0;b<_;b++){const I=o[g]-o[g-1];g++;const M=[];for(let A=0;A<I;A++){const D=this._vertexBuffer[u++],F=this._vertexBuffer[u++];M.push(new Te(D,F))}M.length>0&&M.push(M[0]),T.push(M)}e[v]=T,l&&m++}break;case Vt.MULTIPOLYGON:{const _=l[m]-l[m-1];m++;const T=[];for(let b=0;b<_;b++){const I=s[p]-s[p-1];p++;for(let M=0;M<I;M++){const A=o[g]-o[g-1];g++;const D=[];for(let F=0;F<A;F++){const k=this._vertexBuffer[u++],L=this._vertexBuffer[u++];D.push(new Te(k,L))}D.length>0&&D.push(D[0]),T.push(D)}}e[v]=T}}return e}[Symbol.iterator](){return null}}function nf(r,e,i,s,o,l){return new Wg(r,e,i,s,o,l)}class Wg extends rf{constructor(e,i,s,o,l,u){super(s,o,l,u),this._numGeometries=e,this._geometryType=i}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}}function sf(r,e,i,s,o){return new Hg(r,e,i,s,o)}class Hg extends rf{constructor(e,i,s,o,l){super(i,s,o,l),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}}function Xg(r,e,i,s,o){const l=bi(r,i);let u,p,g,m;if(Mu(l,s,r,i)===ut.CONST){const F=sd(r,i,l);let k,L,O,j;for(let Y=0;Y<e-1;Y++){const J=bi(r,i);switch(J.physicalStreamType){case ti.LENGTH:switch(J.logicalStreamType.lengthType){case Ui.GEOMETRIES:k=ds(r,i,J);break;case Ui.PARTS:L=ds(r,i,J);break;case Ui.RINGS:O=ds(r,i,J);break;case Ui.TRIANGLES:j=ds(r,i,J)}break;case ti.OFFSET:switch(J.logicalStreamType.offsetType){case oo.VERTEX:u=Gi(r,i,J);break;case oo.INDEX:m=Gi(r,i,J)}break;case ti.DATA:yr.VERTEX===J.logicalStreamType.dictionaryType?p=nd(r,i,J):(g={numBits:J.numBits,coordinateShift:J.coordinateShift},p=Gi(r,i,J))}}return m?k!==void 0||L!==void 0?nf(s,F,j,m,p,{geometryOffsets:k,partOffsets:L,ringOffsets:O}):nf(s,F,j,m,p):g===void 0?function(Y,J,re,te,ae){return new ef(Y,J,hs.VEC_2,re,te,ae)}(s,F,{geometryOffsets:k,partOffsets:L,ringOffsets:O},u,p):function(Y,J,re,te,ae,le){return new ef(Y,J,hs.MORTON,re,te,ae,le)}
5(s,F,{geometryOffsets:k,partOffsets:L,ringOffsets:O},u,p,g)}const v=Gi(r,i,l);let _,T,b,I,M,A,D;for(let F=0;F<e-1;F++){const k=bi(r,i);switch(k.physicalStreamType){case ti.LENGTH:switch(k.logicalStreamType.lengthType){case Ui.GEOMETRIES:_=Gi(r,i,k);break;case Ui.PARTS:T=Gi(r,i,k);break;case Ui.RINGS:b=Gi(r,i,k);break;case Ui.TRIANGLES:I=ds(r,i,k)}break;case ti.OFFSET:switch(k.logicalStreamType.offsetType){case oo.VERTEX:u=Gi(r,i,k);break;case oo.INDEX:m=Gi(r,i,k)}break;case ti.DATA:yr.VERTEX===k.logicalStreamType.dictionaryType?p=nd(r,i,k):(g={numBits:k.numBits,coordinateShift:k.coordinateShift},p=Gi(r,i,k))}}return _?(M=ad(v,_,2),T&&b?(A=of(v,M,T,!1),D=function(F,k,L,O){const j=new Uint32Array(L[L.length-1]+1);let Y=0;j[0]=Y;let J=1,re=1,te=0;for(let ae=0;ae<F.length;ae++){const le=F[ae],ne=k[ae+1]-k[ae];if(le!==0&&le!==3)for(let ie=0;ie<ne;ie++){const fe=L[J]-L[J-1];J++;for(let xe=0;xe<fe;xe++)Y=j[re++]=Y+O[te++]}else for(let ie=0;ie<ne;ie++)j[re++]=++Y,J++}return j}(v,M,A,b)):T&&(A=function(F,k,L){const O=new Uint32Array(k[k.length-1]+1);let j=0;O[0]=j;let Y=1,J=0;for(let re=0;re<F.length;re++){const te=F[re],ae=k[re+1]-k[re];if(te===4||te===1)for(let le=0;le<ae;le++)j=O[Y++]=j+L[J++];else for(let le=0;le<ae;le++)O[Y++]=++j}return O}(v,M,T))):T&&b?(A=ad(v,T,1),D=of(v,A,b,!0)):T&&(A=ad(v,T,0)),m&&!A?sf(v,I,m,p):m?sf(v,I,m,p,{geometryOffsets:M,partOffsets:A,ringOffsets:D}):g===void 0?function(F,k,L,O){return new tf(hs.VEC_2,F,k,L,O)}(v,{geometryOffsets:M,partOffsets:A,ringOffsets:D},u,p):function(F,k,L,O,j){return new tf(hs.MORTON,F,k,L,O,j)}(v,{geometryOffsets:M,partOffsets:A,ringOffsets:D},u,p,g)}function ad(r,e,i){const s=new Uint32Array(r.length+1);let o=0;s[0]=o;let l=0;for(let u=0;u<r.length;u++)o=s[u+1]=o+(r[u]>i?e[l++]:1);return s}function of(r,e,i,s){const o=new Uint32Array(e[e.length-1]+1);let l=0;o[0]=l;let u=1,p=0;for(let g=0;g<r.length;g++){const m=r[g],v=e[g+1]-e[g];if(m===5||m===2||s&&(m===4||m===1))for(let _=0;_<v;_++)l=o[u++]=l+i[p++];else for(let _=0;_<v;_++)o[u++]=++l}return o}class Yg extends va{constructor(e,i,s){super(e,i.getBuffer(),s),this.dataVector=i}getValueFromBuffer(e){return this.dataVector.get(e)}}class Kg extends Iu{getValueFromBuffer(e){return this.dataBuffer[e]}}class af extends va{constructor(e,i,s,o){super(e,o?BigInt64Array.of(i):BigUint64Array.of(i),s)}getValueFromBuffer(e){return this.dataBuffer[0]}}
5function Ql(r,e,i,s,o){const l=function(u,p,g,m){const v=new Uint8Array(p);let _=0;const T=m.get()+g;for(;_<p&&!(m.get()>=T);){const b=u[m.increment()];if(b<=127){const I=b+3,M=u[m.increment()],A=Math.min(_+I,p);v.fill(M,_,A),_=A}else{const I=256-b;for(let M=0;M<I&&_<p;M++)v[_++]=u[m.increment()]}}return m.set(T),v}(r,Math.ceil(e/8),i,s);return o?function(u,p,g){if(!g)return u;const m=g.size(),v=new vr(u,p),_=new vr(new Uint8Array(Math.ceil(m/8)),m);let T=0;for(let b=0;b<m;b++){const I=!!g.get(b)&&v.get(T++);_.set(b,I)}return _.getBuffer()}(l,e,o):l}const Jg=new TextDecoder;function ld(r,e,i){return i-e>=12?Jg.decode(r.subarray(e,i)):function(s,o,l){let u="",p=o;for(;p<l;){const g=s[p];let m,v,_,T=null,b=g>239?4:g>223?3:g>191?2:1;if(p+b>l)break;b===1?g<128&&(T=g):b===2?(m=s[p+1],(192&m)==128&&(T=(31&g)<<6|63&m,T<=127&&(T=null))):b===3?(m=s[p+1],v=s[p+2],(192&m)==128&&(192&v)==128&&(T=(15&g)<<12|(63&m)<<6|63&v,(T<=2047||T>=55296&&T<=57343)&&(T=null))):b===4&&(m=s[p+1],v=s[p+2],_=s[p+3],(192&m)==128&&(192&v)==128&&(192&_)==128&&(T=(15&g)<<18|(63&m)<<12|(63&v)<<6|63&_,(T<=65535||T>=1114112)&&(T=null))),T===null?(T=65533,b=1):T>65535&&(T-=65536,u+=String.fromCharCode(T>>>10&1023|55296),T=56320|1023&T),u+=String.fromCharCode(T),p+=b}return u}(r,e,i)}class cd extends va{constructor(e,i,s,o){super(e,s,o),this.offsetBuffer=i}}class lf extends cd{constructor(e,i,s,o){super(e,i,s,o??i.length-1)}getValueFromBuffer(e){return ld(this.dataBuffer,this.offsetBuffer[e],this.offsetBuffer[e+1])}}class Ia extends cd{constructor(e,i,s,o,l){super(e,s,o,l??i.length),this.indexBuffer=i,this.indexBuffer=i}getValueFromBuffer(e){const i=this.indexBuffer[e];return ld(this.dataBuffer,this.offsetBuffer[i],this.offsetBuffer[i+1])}}class cf extends cd{constructor(e,i,s,o,l,u,p){super(e,s,o,p),this.indexBuffer=i,this.symbolOffsetBuffer=l,this.symbolTableBuffer=u}getValueFromBuffer(e){this.decodedDictionary==null&&(this.symbolLengthBuffer==null&&(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer)),this.decodedDictionary=function(s,o,l){const u=[],p=new Array(o.length).fill(0);for(let g=1;g<o.length;g++)p[g]=p[g-1]+o[g-1];for(let g=0;g<l.length;g++)if(l[g]===255)u.push(l[++g]);else{const m=o[l[g]],v=p[l[g]];for(let _=0;_<m;_++)u.push(s[v+_])}return new Uint8Array(u)}(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer));const i=this.indexBuffer[e];return ld(this.decodedDictionary,this.offsetBuffer[i],this.offsetBuffer[i+1])}offsetToLengthBuffer(e){const i=new Uint32Array(e.length-1);let s=e[0];for(let o=1;o<e.length;o++){const l=e[o];i[o-1]=l-s,s=l}return i}}function Qg(r,e,i,s,o,l){return i.type==="scalarType"?function(u,p,g,m,v,_){let T=null;if(u===0)return null;if(_.nullable){const I=bi(p,g),M=I.numValues,A=g.get(),D=Ql(p,M,I.byteLength,g);g.set(A+I.byteLength),T=new vr(D,I.numValues)}const b=T??m;switch(v.physicalType){case 4:case 3:return function(I,M,A,D,F){const k=bi(I,M),L=Mu(k,F,I,M),O=D.physicalType===3;if(L===ut.FLAT){const Y=ec(F)?F:void 0,J=O?nd(I,M,k,0,Y):Gi(I,M,k,0,Y);return new Wh(A.name,J,F)}if(L===ut.SEQUENCE){const Y=qp(I,M,k);return new Xh(A.name,Y[0],Y[1],k.numRleValues)}const j=O?function(Y,J,re){const te=Ta(Y,J,re);return te.length===1?nt(te[0]):function(ae){return nt(ae[1])}(te)}(I,M,k):sd(I,M,k);return new Yh(A.name,j,F,O)}(p,g,_,v,b);case 9:return function(I,M,A,D,F){let k=null,L=null,O=null,j=null,Y=null,J=F??null,re=null,te=null;for(let ae=0;ae<D;ae++){const le=bi(M,A);switch(le.physicalStreamType){case ti.PRESENT:{const ne=Ql(M,le.numValues,le.byteLength,A),ie=new vr(ne,le.numValues);J=F??ie;break}case ti.OFFSET:L=Gi(M,A,le,0,J);break;case ti.LENGTH:{const ne=ds(M,A,le);Ui.DICTIONARY===le.logicalStreamType.lengthType?k=ne:Ui.SYMBOL===le.logicalStreamType.lengthType?j=ne:re=ne;break}case ti.DATA:{const ne=M.subarray(A.get(),A.get()+le.byteLength);A.add(le.byteLength);const ie=le.logicalStreamType.dictionaryType;yr.FSST===ie?Y=ne:yr.SINGLE===ie||yr.SHARED===ie?O=ne:yr.NONE===ie&&(te=ne);break}}}return function(ae,le,ne,ie,fe,xe,ye){return le?new cf(ae,ne,ie,fe,xe,le,ye):null}(I,Y,L,k,O,j,J)??function(ae,le,ne,ie,fe){return le?fe?new Ia(ae,ne,ie,le,fe):new Ia(ae,ne,ie,le):null}(I,O,L,k,J)??function(ae,le,ne,ie,fe){if(!le||!ne)return null;
5if(ie)return fe?new Ia(ae,ie,le,ne,fe):new Ia(ae,ie,le,ne);if(fe&&fe.size()!==le.length-1){const xe=new Uint32Array(fe.size());let ye=0;for(let me=0;me<fe.size();me++)xe[me]=fe.get(me)?ye++:0;return new Ia(ae,xe,le,ne,fe)}return fe?new lf(ae,le,ne,fe):new lf(ae,le,ne)}(I,re,te,L,J)}(_.name,p,g,_.nullable?u-1:u,T);case 0:return function(I,M,A,D,F){const k=bi(I,M),L=k.numValues,O=M.get(),j=ec(F)?F:void 0,Y=Ql(I,L,k.byteLength,M,j);M.set(O+k.byteLength);const J=new vr(Y,L);return new Yg(A.name,J,F)}(p,g,_,0,b);case 6:case 5:return function(I,M,A,D,F){const k=bi(I,M),L=Mu(k,D,I,M,"int64"),O=F.physicalType===5;if(L===ut.FLAT){const Y=ec(D)?D:void 0,J=O?function(re,te,ae,le){return function(ne,ie,fe){let xe;switch(ie.logicalLevelTechnique1){case Ue.DELTA:if(ie.logicalLevelTechnique2===Ue.RLE){const ye=ie;if(!fe)return function(me,Ae,Xe){const Ke=new BigInt64Array(Xe);let it=0,ri=0n;for(let bt=0;bt<Ae;bt++){const Rt=Number(me[bt]),jt=xi(me[bt+Ae]);for(let ht=0;ht<Rt;ht++)ri+=jt,Ke[it++]=ri}return Ke}(ne,ye.runs,ye.numRleValues);xe=$p(ne=id(ne,ye.runs,ye.numRleValues))}else xe=$p(ne);break;case Ue.RLE:xe=function(ye,me,Ae){if(Ae===void 0){Ae=0;for(let it=0;it<me;it++)Ae+=Number(ye[it])}const Xe=new BigInt64Array(Ae);let Ke=0;for(let it=0;it<me;it++){const ri=Number(ye[it]);let bt=ye[it+me];bt=xi(bt),Xe.fill(bt,Ke,Ke+ri),Ke+=ri}return Xe}(ne,ie.runs,ie.numRleValues);break;case Ue.NONE:xe=function(ye){const me=new BigInt64Array(ye.length);for(let Ae=0;Ae<ye.length;Ae++)me[Ae]=xi(ye[Ae]);return me}(ne);break;default:throw new Error(`The specified Logical level technique is not supported: ${ie.logicalLevelTechnique1}`)}return fe?wa(xe,fe,0n):xe}(xa(re,te,ae.numValues),ae,le)}(I,M,k,Y):Hp(I,M,k,Y);return new Yp(A.name,J,D)}if(L===ut.SEQUENCE){const Y=Wp(I,M,k);return new Kp(A.name,Y[0],Y[1],k.numRleValues)}const j=O?function(Y,J,re){const te=xa(Y,J,re.numValues);return te.length===1?xi(te[0]):function(ae){return xi(ae[1])}(te)}(I,M,k):Xp(I,M,k);return new af(A.name,j,D,O)}(p,g,_,b,v);case 7:return function(I,M,A,D){const F=bi(I,M),k=ec(D)?D:void 0,L=function(O,j,Y,J){const re=j.get(),te=re+Y*Float32Array.BYTES_PER_ELEMENT,ae=new Uint8Array(O.subarray(re,te)).buffer,le=new Float32Array(ae);return j.set(te),J?wa(le,J,0):le}(I,M,F.numValues,k);return new Kg(A.name,L,D)}(p,g,_,b);case 8:return function(I,M,A,D){const F=bi(I,M),k=ec(D)?D:void 0,L=function(O,j,Y,J){const re=j.get(),te=re+Y*Float64Array.BYTES_PER_ELEMENT,ae=new Uint8Array(O.subarray(re,te)).buffer,le=new Float64Array(ae);return j.set(te),J?wa(le,J,0):le}(I,M,F.numValues,k);return new Hh(A.name,L,D)}(p,g,_,b);default:throw new Error(`The specified data type for the field is currently not supported: ${v}`)}}(s,r,e,o,i.scalarType,i):s===0?null:function(u,p,g,m){let v=null,_=null,T=null,b=null,I=!1;for(;!I;){const F=bi(u,p);switch(F.physicalStreamType){case ti.LENGTH:Ui.DICTIONARY===F.logicalStreamType.lengthType?v=ds(u,p,F):T=ds(u,p,F);break;case ti.DATA:yr.SINGLE===F.logicalStreamType.dictionaryType||yr.SHARED===F.logicalStreamType.dictionaryType?(_=u.subarray(p.get(),p.get()+F.byteLength),I=!0):b=u.subarray(p.get(),p.get()+F.byteLength),p.add(F.byteLength)}}const M=g.complexType.children,A=[];let D=0;for(const F of M){const k=hi(u,p,1)[0];if(k===0)continue;const L=F.name?`${g.name}${F.name}`:g.name;if(k!==2||F.type!=="scalarField"||F.scalarField.physicalType!==9)throw new Error("Currently only optional string fields are implemented for a struct.");const O=bi(u,p),j=Ql(u,O.numValues,O.byteLength,p),Y=bi(u,p),J=Gi(u,p,Y,0,Y.decompressedCount!==m?new vr(j,O.numValues):void 0);A[D++]=b?new cf(L,J,v,_,T,b,new vr(j,O.numValues)):new Ia(L,J,v,_,new vr(j,O.numValues))}return A}(r,e,i,o)}function ec(r){return r instanceof vr}function uf(r){switch(r){case 0:case 1:case 2:case 3:{const e={};e.nullable=!!(1&r),e.columnScope=0;const i={type:"logicalType",logicalType:0};return i.longID=!!(2&r),e.scalarType=i,e.type="scalarType",e}case 4:{const e={nullable:!1,columnScope:0},i={type:"physicalType",physicalType:0};return e.type="complexType",e.complexType=i,e}case 30:{const e={nullable:!1,columnScope:0},i={type:"physicalType",physicalType:1};return e.type="complexType",e.complexType=i,e}default:return function(e){let i;switch(e){case 10:case 11:i=0;break;case 12:case 13:i=1;break;case 14:case 15:i=2;break;case 16:case 17:i=3;break;case 18:case 19:i=4;break;case 20:case 21:i=5;break;case 22:case 23:i=6;break;case 24:case 25:i=7;break;case 26:case 27:i=8;break;case 28:case 29:i=9;break;default:return null}const s={};s.nullable=!!(1&e),s.columnScope=0;const o={type:"physicalType"};
5return o.physicalType=i,s.type="scalarType",s.scalarType=o,s}(r)}}function hf(r){return r>=10}function df(r){return r===30}function e_(r){if(r.type==="scalarType"){const e=r.scalarType;if(e.type==="physicalType")switch(e.physicalType){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:default:return!1;case 9:return!0}if(e.type==="logicalType")return!1}else if(r.type==="complexType"){const e=r.complexType;if(e.type==="physicalType")switch(e.physicalType){case 0:case 1:return!0;default:return!1}}return!1}function t_(r){return r.type==="complexType"&&r.complexType?.type==="physicalType"&&r.complexType.physicalType===0}const i_=new TextDecoder;function ud(r,e){const i=hi(r,e,1)[0];if(i===0)return"";const s=e.get(),o=r.subarray(s,s+i);return e.add(i),i_.decode(o)}function pf(r,e){const i=hi(r,e,1)[0]>>>0;if(i<10||i>30)throw new Error(`Unsupported field type code ${i}. Supported: 10-29(scalars), 30(STRUCT)`);const s=uf(i);if(hf(i)&&(s.name=ud(r,e)),df(i)){const o=hi(r,e,1)[0]>>>0;s.complexType.children=new Array(o);for(let l=0;l<o;l++)s.complexType.children[l]=pf(r,e)}return function(o){return{name:o.name,nullable:o.nullable,scalarField:o.scalarType,complexField:o.complexType,type:o.type==="scalarType"?"scalarField":"complexField"}}(s)}function r_(r,e){const i=hi(r,e,1)[0]>>>0,s=uf(i);if(!s)throw new Error(`Unsupported column type code ${i}. Supported: 0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT)`);if(hf(i)?s.name=ud(r,e):i>=0&&i<=3?s.name="id":i===4&&(s.name="geometry"),df(i)){const o=hi(r,e,1)[0]>>>0,l=s.complexType;l.children=new Array(o);for(let u=0;u<o;u++)l.children[u]=pf(r,e)}return s}function n_(r,e){const i={featureTables:[]},s={};s.name=ud(r,e);const o=hi(r,e,1)[0]>>>0,l=hi(r,e,1)[0]>>>0;s.columns=new Array(l);for(let u=0;u<l;u++)s.columns[u]=r_(r,e);return i.featureTables.push(s),[i,o]}function s_(r,e,i,s,o,l,u=!1){const p=e.scalarType;if(!p||p.type!=="logicalType"||p.logicalType!==0)throw new Error(`ID column must be a logical ID scalar type: ${s}`);const g=p.longID?6:4,m=typeof l=="number"?void 0:l,v=Mu(o,l,r,i,g===6?"int64":"int32");if(g===4)switch(v){case ut.FLAT:{const _=Gi(r,i,o,0,m);return new Wh(s,_,l)}case ut.SEQUENCE:{const _=qp(r,i,o);return new Xh(s,_[0],_[1],o.numRleValues)}case ut.CONST:{const _=sd(r,i,o);return new Yh(s,_,l,!1)}}switch(v){case ut.FLAT:{if(u){const T=function(b,I,M){const A=function(D,F,k){const L=new Float64Array(k);for(let O=0;O<k;O++)L[O]=qg(D,F);return L}(b,I,M.numValues);return function(D,F){switch(F.logicalLevelTechnique1){case Ue.DELTA:return F.logicalLevelTechnique2===Ue.RLE&&(D=Up(D,F.runs,F.numRleValues)),function(k){k[0]=ba(k[0]);const L=k.length/4*4;let O=1;if(L>=4)for(;O<L-4;O+=4){const j=k[O+1],Y=k[O+2],J=k[O+3];k[O]=ba(k[O])+k[O-1],k[O+1]=ba(j)+k[O],k[O+2]=ba(Y)+k[O+1],k[O+3]=ba(J)+k[O+2]}for(;O!==k.length;++O)k[O]=ba(k[O])+k[O-1]}(D),D;case Ue.RLE:return function(k,L){return Up(k,L.runs,L.numRleValues)}(D,F);case Ue.NONE:return D;default:throw new Error(`The specified Logical level technique is not supported: ${F.logicalLevelTechnique1}`)}}(A,M)}(r,i,o);return new Hh(s,T,l)}const _=Hp(r,i,o,m);return new Yp(s,_,l)}case ut.SEQUENCE:{const _=Wp(r,i,o);return new Kp(s,_[0],_[1],o.numRleValues)}case ut.CONST:{const _=Xp(r,i,o);return new af(s,_,l,!1)}}throw new Error("Vector type not supported for id column.")}class o_{constructor(e,i){var s;switch(this._featureData=e,this.properties=this._featureData.properties||{},(s=this._featureData.geometry)===null||s===void 0?void 0:s.type){case Vt.POINT:case Vt.MULTIPOINT:this.type=1;break;case Vt.LINESTRING:case Vt.MULTILINESTRING:this.type=2;break;case Vt.POLYGON:case Vt.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=i,this.id=Number(this._featureData.id)}loadGeometry(){const e=[];for(const i of this._featureData.geometry.coordinates){const s=[];for(const o of i)s.push(new Te(o.x,o.y));e.push(s)}return e}}class a_{constructor(e){this.features=[],this.featureTable=e,this.name=e.name,this.extent=e.extent,this.version=2,this.features=e.getFeatures(),this.length=this.features.length}feature(e){return new o_(this.features[e],this.extent)}}class ff{constructor(e){this.layers={};const i=function(s,o,l=!0){const u=new jp(0),p=[];for(;u.get()<s.length;){const m=hi(s,u,1)[0]>>>0,v=u.get()+m;if(v>s.length)throw new Error(`Block overruns tile: ${v} > ${s.length}`);if(hi(s,u,1)[0]>>>0!=1){u.set(v);continue}const[_,T]=n_(s,u),b=_.featureTables[0];let I=null,M=null;const A=[];let D=0;for(const k of b.columns){const L=k.name;if((g=k).type==="scalarType"&&g.scalarType?.type==="logicalType"&&g.scalarType.logicalType===0){let O=null;if(k.nullable){const Y=bi(s,u),J=u.get(),re=Ql(s,Y.numValues,Y.byteLength,u);u.set(J+Y.byteLength),O=new vr(re,Y.numValues)}const j=bi(s,u);D=O?O.size():j.decompressedCount,I=s_(s,k,u,L,j,O??D,l)}else if(t_(k)){const O=hi(s,u,1)[0];if(D===0){const j=u.get();D=bi(s,u).decompressedCount,u.set(j)}M=Xg(s,O,u,D)}else{const O=e_(k)?hi(s,u,1)[0]:1;if(O===0)continue;const j=Qg(s,u,k,O,D);if(j)if(Array.isArray(j))for(const Y of j)A.push(Y);else A.push(j)}}const F=new Bg(b.name,M,I,A,T);p.push(F),u.set(v)}var g;return p}(new Uint8Array(e));this.layers=i.reduce((s,o)=>Object.assign(Object.assign({},s),{[o.name]:new a_(o)}),{})}}class l_{constructor(e,i){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{}
5,this.extent=i,"id"in e&&(typeof e.id=="string"?this.id=parseInt(e.id,10):typeof e.id!="number"||isNaN(e.id)||(this.id=e.id))}loadGeometry(){const e=[],i=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(const s of i){const o=[];for(const l of s)o.push(new Te(l[0],l[1]));e.push(o)}return e}}const tc="_geojsonTileLayer";function c_(r,e,i=""){e.writeVarintField(15,r.version||1),e.writeStringField(1,r.name||""),e.writeVarintField(5,r.extent||4096);const s={jsonPrefix:i,keys:[],values:[],keycache:{},valuecache:{}};for(let u=0;u<r.length;u++)s.feature=r.feature(u),e.writeMessage(2,u_,s);const o=s.keys;for(const u of o)e.writeStringField(3,u);const l=s.values;for(const u of l)e.writeMessage(4,p_,u)}function u_(r,e){if(!r.feature)return;const i=r.feature;i.id!==void 0&&e.writeVarintField(1,i.id),e.writeMessage(2,h_,r),e.writeVarintField(3,i.type),e.writeMessage(4,d_,i)}function h_(r,e){for(const i in r.feature?.properties){let s=r.feature.properties[i],o=r.keycache[i];if(s==null)continue;o===void 0&&(r.keys.push(i),o=r.keys.length-1,r.keycache[i]=o),e.writeVarint(o),typeof s!="string"&&typeof s!="boolean"&&typeof s!="number"&&(s=r.jsonPrefix+JSON.stringify(s));const l=typeof s+":"+s;let u=r.valuecache[l];u===void 0&&(r.values.push(s),u=r.values.length-1,r.valuecache[l]=u),e.writeVarint(u)}}function hd(r,e){return(e<<3)+(7&r)}function mf(r){return r<<1^r>>31}function d_(r,e){const i=r.loadGeometry(),s=r.type;let o=0,l=0;for(const u of i){let p=1;s===1&&(p=u.length),e.writeVarint(hd(1,p));const g=s===3?u.length-1:u.length;for(let m=0;m<g;m++){m===1&&s!==1&&e.writeVarint(hd(2,g-1));const v=u[m].x-o,_=u[m].y-l;e.writeVarint(mf(v)),e.writeVarint(mf(_)),o+=v,l+=_}r.type===3&&e.writeVarint(hd(7,1))}}function p_(r,e){const i=typeof r;i==="string"?e.writeStringField(1,r):i==="boolean"?e.writeBooleanField(7,r):i==="number"&&(r%1!=0?e.writeDoubleField(3,r):r<0?e.writeSVarintField(6,r):e.writeVarintField(5,r))}class gf{constructor(e,i){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new dr(De,16,0),this.grid3D=new dr(De,16,0),this.featureIndexArray=new B,this.promoteId=i}insert(e,i,s,o,l,u){const p=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(s,o,l);const g=u?this.grid3D:this.grid;for(const m of i){const v=[1/0,1/0,-1/0,-1/0];for(const _ of m)v[0]=Math.min(v[0],_.x),v[1]=Math.min(v[1],_.y),v[2]=Math.max(v[2],_.x),v[3]=Math.max(v[3],_.y);v[0]<De&&v[1]<De&&v[2]>=0&&v[3]>=0&&g.insert(p,v[0],v[1],v[2],v[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding!=="mlt"?new Ud(new bu(this.rawTileData)).layers:new ff(this.rawTileData).layers,this.sourceLayerCoder=new Bp(this.vtLayers?Object.keys(this.vtLayers).sort():[tc])),this.vtLayers}query(e,i,s,o){this.loadVTLayers();const l=e.params,u=De/e.tileSize/e.scale,p=Os(l.filter,l.globalState),g=e.queryGeometry,m=e.queryPadding*u,v=so.fromPoints(g),_=this.grid.query(v.minX-m,v.minY-m,v.maxX+m,v.maxY+m),T=so.fromPoints(e.cameraQueryGeometry).expandBy(m),b=this.grid3D.query(T.minX,T.minY,T.maxX,T.maxY,(A,D,F,k)=>function(L,O,j,Y,J){for(const te of L)if(O<=te.x&&j<=te.y&&Y>=te.x&&J>=te.y)return!0;const re=[new Te(O,j),new Te(O,J),new Te(Y,J),new Te(Y,j)];if(L.length>2){for(const te of re)if(aa(L,te))return!0}for(let te=0;te<L.length-1;te++)if($f(L[te],L[te+1],re))return!0;return!1}(e.cameraQueryGeometry,A-m,D-m,F+m,k+m));for(const A of b)_.push(A);_.sort(f_);const I={};let M;for(const A of _){if(A===M)continue;M=A;const D=this.featureIndexArray.get(A);let F=null;this.loadMatchingFeature(I,D.bucketIndex,D.sourceLayerIndex,D.featureIndex,p,l.layers,l.availableImages,i,s,o,(k,L,O)=>(F||(F=Ur(k)),L.queryIntersectsFeature({queryGeometry:g,feature:k,featureState:O,geometry:F,zoom:this.z,transform:e.transform,pixelsToTileUnits:u,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return I}loadMatchingFeature(e,i,s,o,l,u,p,g,m,v,_){const T=this.bucketLayerIDs[i];if(u&&!T.some(A=>u.has(A)))return;const b=this.sourceLayerCoder.decode(s),I=this.vtLayers[b].feature(o);if(l.needGeometry){const A=Gr(I,!0);
vendor: 16,955 bytes, line 5
5if(!l.filter(new at(this.tileID.overscaledZ),A,this.tileID.canonical))return}else if(!l.filter(new at(this.tileID.overscaledZ),I))return;const M=this.getId(I,b);for(const A of T){if(u&&!u.has(A))continue;const D=g[A];if(!D)continue;let F={};M&&v&&(F=v.getState(D.sourceLayer||tc,M));const k=Fi({},m[A]);k.paint=_f(k.paint,D.paint,I,F,p),k.layout=_f(k.layout,D.layout,I,F,p);const L=!_||_(I,D,F);if(!L)continue;const O=new Op(I,this.z,this.x,this.y,M);O.layer=k;let j=e[A];j===void 0&&(j=e[A]=[]),j.push({featureIndex:o,feature:O,intersectionZ:L})}}lookupSymbolFeatures(e,i,s,o,l,u,p,g){const m={};this.loadVTLayers();const v=Os(l.filterSpec,l.globalState);for(const _ of e)this.loadMatchingFeature(m,s,o,_,v,u,p,g,i);return m}hasLayer(e){for(const i of this.bucketLayerIDs)for(const s of i)if(e===s)return!0;return!1}getId(e,i){var s;let o=e.id;return this.promoteId&&(o=e.properties[typeof this.promoteId=="string"?this.promoteId:this.promoteId[i]],typeof o=="boolean"&&(o=Number(o)),o===void 0&&(!((s=e.properties)===null||s===void 0)&&s.cluster)&&this.promoteId&&(o=Number(e.properties.cluster_id))),o}}function _f(r,e,i,s,o){return Ir(r,(l,u)=>{const p=e instanceof Ys?e.get(u):null;return p?.evaluate?p.evaluate(i,s,o):p})}function f_(r,e){return e-r}function yf(r,e,i,s,o){const l=[];for(const u of r){let p;for(let g=0;g<u.length-1;g++){let m=u[g],v=u[g+1];m.x<e&&v.x<e||(m.x<e?m=new Te(e,m.y+(e-m.x)/(v.x-m.x)*(v.y-m.y))._round():v.x<e&&(v=new Te(e,m.y+(e-m.x)/(v.x-m.x)*(v.y-m.y))._round()),m.y<i&&v.y<i||(m.y<i?m=new Te(m.x+(i-m.y)/(v.y-m.y)*(v.x-m.x),i)._round():v.y<i&&(v=new Te(m.x+(i-m.y)/(v.y-m.y)*(v.x-m.x),i)._round()),m.x>=s&&v.x>=s||(m.x>=s?m=new Te(s,m.y+(s-m.x)/(v.x-m.x)*(v.y-m.y))._round():v.x>=s&&(v=new Te(s,m.y+(s-m.x)/(v.x-m.x)*(v.y-m.y))._round()),m.y>=o&&v.y>=o||(m.y>=o?m=new Te(m.x+(o-m.y)/(v.y-m.y)*(v.x-m.x),o)._round():v.y>=o&&(v=new Te(m.x+(o-m.y)/(v.y-m.y)*(v.x-m.x),o)._round()),p&&m.equals(p[p.length-1])||(p=[m],l.push(p)),p.push(v)))))}}return l}function vf(r,e,i,s,o){switch(e){case 1:return function(l,u,p,g){const m=[];for(const v of l)for(const _ of v){const T=g===0?_.x:_.y;T>=u&&T<=p&&m.push([_])}return m}(r,i,s,o);case 2:return xf(r,i,s,o,!1);case 3:return xf(r,i,s,o,!0)}return[]}function m_(r,e,i,s,o){const l=s===0?g_:__;let u=[];const p=[];for(let v=0;v<r.length-1;v++){const _=r[v],T=r[v+1],b=s===0?_.x:_.y,I=s===0?T.x:T.y;let M=!1;b<e?I>e&&u.push(l(_,T,e)):b>i?I<i&&u.push(l(_,T,i)):u.push(_),I<e&&b>=e&&(u.push(l(_,T,e)),M=!0),I>i&&b<=i&&(u.push(l(_,T,i)),M=!0),!o&&M&&(p.push(u),u=[])}const g=r.length-1,m=s===0?r[g].x:r[g].y;return m>=e&&m<=i&&u.push(r[g]),o&&u.length>0&&!u[0].equals(u[u.length-1])&&u.push(new Te(u[0].x,u[0].y)),u.length>0&&p.push(u),p}function xf(r,e,i,s,o){const l=[];for(const u of r){const p=m_(u,e,i,s,o);p.length>0&&l.push(...p)}return l}function g_(r,e,i){return new Te(i,r.y+(i-r.x)/(e.x-r.x)*(e.y-r.y))}function __(r,e,i){return new Te(r.x+(i-r.y)/(e.y-r.y)*(e.x-r.x),i)}Se("FeatureIndex",gf,{omit:["rawTileData","sourceLayerCoder"]});class ps extends Te{constructor(e,i,s,o){super(e,i),this.angle=s,o!==void 0&&(this.segment=o)}clone(){return new ps(this.x,this.y,this.angle,this.segment)}}function bf(r,e,i,s,o){if(e.segment===void 0||i===0)return!0;let l=e,u=e.segment+1,p=0;for(;p>-i/2;){if(u--,u<0)return!1;p-=r[u].dist(l),l=r[u]}p+=r[u].dist(r[u+1]),u++;const g=[];let m=0;for(;p<i/2;){const v=r[u],_=r[u+1];if(!_)return!1;let T=r[u-1].angleTo(v)-v.angleTo(_);for(T=Math.abs((T+3*Math.PI)%(2*Math.PI)-Math.PI),g.push({distance:p,angleDelta:T}),m+=T;p-g[0].distance>s;)m-=g.shift().angleDelta;if(m>o)return!1;u++,p+=v.dist(_)}return!0}function wf(r){let e=0;for(let i=0;i<r.length-1;i++)e+=r[i].dist(r[i+1]);return e}function Tf(r,e,i){return r?.6*e*i:0}function Sf(r,e){return Math.max(r?r.right-r.left:0,e?e.right-e.left:0)}function y_(r,e,i,s,o,l){const u=Tf(i,o,l),p=Sf(i,s)*l;let g=0;const m=wf(r)/2;for(let v=0;v<r.length-1;v++){const _=r[v],T=r[v+1],b=_.dist(T);if(g+b>m){const I=(m-g)/b,M=Mi.number(_.x,T.x,I),A=Mi.number(_.y,T.y,I),D=new ps(M,A,T.angleTo(_),v);return D._round(),!u||bf(r,D,p,u,e)?D:void 0}g+=b}}function v_(r,e,i,s,o,l,u,p,g){const m=Tf(s,l,u),v=Sf(s,o),_=v*u,T=r[0].x===0||r[0].x===g||r[0].y===0||r[0].y===g;return e-_<e/4&&(e=_+e/4),Pf(r,T?e/2*p%e:(v/2+2*l)*u*p%e,e,m,i,_,T,!1,g)}function Pf(r,e,i,s,o,l,u,p,g){const m=l/2,v=wf(r);let _=0,T=e-i,b=[];for(let I=0;I<r.length-1;I++){const M=r[I],A=r[I+1],D=M.dist(A),F=A.angleTo(M);for(;T+i<_+D;){T+=i;const k=(T-_)/D,L=Mi.number(M.x,A.x,k),O=Mi.number(M.y,A.y,k);if(L>=0&&L<g&&O>=0&&O<g&&T-m>=0&&T+m<=v){const j=new ps(L,O,F,I);j._round(),s&&!bf(r,j,l,s,o)||b.push(j)}}_+=D}return p||b.length||u||(b=Pf(r,_/2,i,s,o,l,u,!0,g)),b}function If(r,e,i,s){const o=[],l=r.image,u=l.pixelRatio,p=l.paddedRect.w-2,g=l.paddedRect.h-2;let m={x1:r.left,y1:r.top,x2:r.right,y2:r.bottom};const v=l.stretchX||[[0,p]],_=l.stretchY||[[0,g]],T=(ie,fe)=>ie+fe[1]-fe[0],b=v.reduce(T,0),I=_.reduce(T,0),M=p-b,A=g-I;let D=0,F=b,k=0,L=I,O=0,j=M,Y=0,J=A;if(l.content&&s){const ie=l.content,fe=ie[2]-ie[0],xe=ie[3]-ie[1];(l.textFitWidth||l.textFitHeight)&&(m=bp(r)),D=Eu(v,0,ie[0]),k=Eu(_,0,ie[1]),F=Eu(v,ie[0],ie[2]),L=Eu(_,ie[1],ie[3]),O=ie[0]-D,Y=ie[1]-k,j=fe-F,J=xe-L}const re=m.x1,te=m.y1,ae=m.x2-re,le=m.y2-te,ne=(ie,fe,xe,ye)=>{const me=Cu(ie.stretch-D,F,ae,re),Ae=Au(ie.fixed-O,j,ie.stretch,b),Xe=Cu(fe.stretch-k,L,le,te),Ke=Au(fe.fixed-Y,J,fe.stretch,I),it=Cu(xe.stretch-D,F,ae,re),ri=Au(xe.fixed-O,j,xe.stretch,b),bt=Cu(ye.stretch-k,L,le,te),Rt=Au(ye.fixed-Y,J,ye.stretch,I),jt=new Te(me,Xe),ht=new Te(it,Xe),Yt=new Te(it,bt),di=new Te(me,bt),pi=new Te(Ae/u,Ke/u),zi=new Te(ri/u,Rt/u),ni=e*Math.PI/180;if(ni){const Nt=Math.sin(ni),gt=Math.cos(ni),Dt=[gt,-Nt,Nt,gt];jt._matMult(Dt),ht._matMult(Dt),di._matMult(Dt),Yt._matMult(Dt)}const ki=ie.stretch+ie.fixed,or=fe.stretch+fe.fixed;return{tl:jt,tr:ht,bl:di,br:Yt,tex:{x:l.paddedRect.x+1+ki,y:l.paddedRect.y+1+or,w:xe.stretch+xe.fixed-ki,h:ye.stretch+ye.fixed-or},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:pi,pixelOffsetBR:zi,minFontScaleX:j/u/ae,minFontScaleY:J/u/le,isSDF:i}};if(s&&(l.stretchX||l.stretchY)){const ie=Mf(v,M,b),fe=Mf(_,A,I);for(let xe=0;xe<ie.length-1;xe++){const ye=ie[xe],me=ie[xe+1];for(let Ae=0;Ae<fe.length-1;Ae++)o.push(ne(ye,fe[Ae],me,fe[Ae+1]))}}else o.push(ne({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:p+1},{fixed:0,stretch:g+1}));return o}function Eu(r,e,i){let s=0;for(const o of r)s+=Math.max(e,Math.min(i,o[1]))-Math.max(e,Math.min(i,o[0]));return s}function Mf(r,e,i){const s=[{fixed:-1,stretch:0}];for(const[o,l]of r){const u=s[s.length-1];s.push({fixed:o-u.stretch,stretch:u.stretch}),s.push({fixed:o-u.stretch,stretch:u.stretch+(l-o)})}return s.push({fixed:e+1,stretch:i}),s}function Cu(r,e,i,s){return r/e*i+s}function Au(r,e,i,s){return r-e*i/s}Se("Anchor",ps);class Du{constructor(e,i,s,o,l,u,p,g,m,v){var _;if(this.boxStartIndex=e.length,m){let T=u.top,b=u.bottom;const I=u.collisionPadding;I&&(T-=I[1],b+=I[3]);let M=b-T;M>0&&(M=Math.max(10,M),this.circleDiameter=M)}else{const T=!((_=u.image)===null||_===void 0)&&_.content&&(u.image.textFitWidth||u.image.textFitHeight)?bp(u):{x1:u.left,y1:u.top,x2:u.right,y2:u.bottom};T.y1=T.y1*p-g[0],T.y2=T.y2*p+g[2],T.x1=T.x1*p-g[3],T.x2=T.x2*p+g[1];const b=u.collisionPadding;if(b&&(T.x1-=b[0]*p,T.y1-=b[1]*p,T.x2+=b[2]*p,T.y2+=b[3]*p),v){const I=new Te(T.x1,T.y1),M=new Te(T.x2,T.y1),A=new Te(T.x1,T.y2),D=new Te(T.x2,T.y2),F=v*Math.PI/180;I._rotate(F),M._rotate(F),A._rotate(F),D._rotate(F),T.x1=Math.min(I.x,M.x,A.x,D.x),T.x2=Math.max(I.x,M.x,A.x,D.x),T.y1=Math.min(I.y,M.y,A.y,D.y),T.y2=Math.max(I.y,M.y,A.y,D.y)}e.emplaceBack(i.x,i.y,T.x1,T.y1,T.x2,T.y2,s,o,l)}this.boxEndIndex=e.length}}class x_{constructor(e=[],i=(s,o)=>s<o?-1:s>o?1:0){if(this.data=e,this.length=this.data.length,this.compare=i,this.length>0)for(let s=(this.length>>1)-1;s>=0;s--)this._down(s)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;const e=this.data[0],i=this.data.pop();return--this.length>0&&(this.data[0]=i,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:i,compare:s}=this,o=i[e];for(;e>0;){const l=e-1>>1,u=i[l];if(s(o,u)>=0)break;i[e]=u,e=l}i[e]=o}_down(e){const{data:i,compare:s}=this,o=this.length>>1,l=i[e];for(;e<o;){let u=1+(e<<1);const p=u+1;if(p<this.length&&s(i[p],i[u])<0&&(u=p),s(i[u],l)>=0)break;i[e]=i[u],e=u}i[e]=l}}function b_(r,e=1){const i=so.fromPoints(r[0]),s=Math.min(i.width(),i.height());let o=s/2;const l=new x_([],w_),{minX:u,minY:p,maxX:g,maxY:m}=i;if(s===0)return new Te(u,p);for(let T=u;T<g;T+=s)for(let b=p;b<m;b+=s)l.push(new Ma(T+o,b+o,o,r));const v=function(T){let b=0,I=0,M=0;const A=T[0];for(let D=0,F=A.length,k=F-1;D<F;k=D++){const L=A[D],O=A[k],j=L.x*O.y-O.x*L.y;I+=(L.x+O.x)*j,M+=(L.y+O.y)*j,b+=3*j}return new Ma(I/b,M/b,0,T)}(r);let _=v;for(;l.length;){const T=l.pop();(T.d>_.d||!_.d)&&(_=T),T.max-_.d<=e||(o=T.h/2,l.push(new Ma(T.p.x-o,T.p.y-o,o,r)),l.push(new Ma(T.p.x+o,T.p.y-o,o,r)),l.push(new Ma(T.p.x-o,T.p.y+o,o,r)),l.push(new Ma(T.p.x+o,T.p.y+o,o,r)))}return v.d>0&&_.d-v.d<=e?v.p:_.p}function w_(r,e){return e.max-r.max}class Ma{constructor(e,i,s,o){this.p=new Te(e,i),this.h=s,this.d=function(l,u){let p=!1,g=1/0;for(const m of u)for(let v=0,_=m.length,T=_-1;v<_;T=v++){const b=m[v],I=m[T];b.y>l.y!=I.y>l.y&&l.x<(I.x-b.x)*(l.y-b.y)/(I.y-b.y)+b.x&&(p=!p),g=Math.min(g,_d(l,b,I))}return(p?1:-1)*Math.sqrt(g)}(this.p,o),this.max=this.d+this.h*Math.SQRT2}}var ii;R.aM=void 0,(ii=R.aM||(R.aM={}))[ii.center=1]="center",ii[ii.left=2]="left",ii[ii.right=3]="right",ii[ii.top=4]="top",ii[ii.bottom=5]="bottom",ii[ii["top-left"]=6]="top-left",ii[ii["top-right"]=7]="top-right",ii[ii["bottom-left"]=8]="bottom-left",ii[ii["bottom-right"]=9]="bottom-right";const dd=Number.POSITIVE_INFINITY;function Ef(r,e){return e[1]!==dd?function(i,s,o){let l=0,u=0;switch(s=Math.abs(s),o=Math.abs(o),i){case"top-right":case"top-left":case"top":u=o-7;break;case"bottom-right":case"bottom-left":case"bottom":u=7-o}switch(i){case"top-right":case"bottom-right":case"right":l=-s;break;case"top-left":case"bottom-left":case"left":l=s}return[l,u]}(r,e[0],e[1]):function(i,s){let o=0,l=0;s<0&&(s=0);const u=s/Math.SQRT2;switch(i){case"top-right":case"top-left":l=u-7;break;case"bottom-right":case"bottom-left":l=7-u;break;case"bottom":l=7-s;break;case"top":l=s-7}switch(i){case"top-right":case"bottom-right":o=-u;break;case"top-left":case"bottom-left":o=u;break;case"left":o=s;break;case"right":o=-s}return[o,l]}(r,e[0])}function Cf(r,e,i){var s;const o=r.layout,l=(s=o.get("text-variable-anchor-offset"))===null||s===void 0?void 0:s.evaluate(e,{},i);if(l){const p=l.values,g=[];for(let m=0;m<p.length;m+=2){const v=g[m]=p[m],_=p[m+1].map(T=>T*Ot);v.startsWith("top")?_[1]-=7:v.startsWith("bottom")&&(_[1]+=7),g[m+1]=_}return new oi(g)}const u=o.get("text-variable-anchor");if(u){let p;p=r._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[o.get("text-radial-offset").evaluate(e,{},i)*Ot,dd]:o.get("text-offset").evaluate(e,{},i).map(m=>m*Ot);const g=[];for(const m of u)g.push(m,Ef(m,p));return new oi(g)}return null}function pd(r){switch(r){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function T_(r,e,i,s,o,l,u,p,g,m,v,_){let T=l.textMaxSize.evaluate(e,{});T===void 0&&(T=u);const b=r.layers[0].layout,I=b.get("icon-offset").evaluate(e,{},v),M=Df(i.horizontal),A=u/24,D=r.tilePixelRatio*A,F=r.tilePixelRatio*T/24,k=r.tilePixelRatio*p,L=r.tilePixelRatio*b.get("symbol-spacing"),O=b.get("text-padding")*r.tilePixelRatio,j=function(xe,ye,me,Ae=1){const Xe=xe.get("icon-padding").evaluate(ye,{},me),Ke=Xe?.values;return[Ke[0]*Ae,Ke[1]*Ae,Ke[2]*Ae,Ke[3]*Ae]}(b,e,v,r.tilePixelRatio),Y=b.get("text-max-angle")/180*Math.PI,J=b.get("text-rotation-alignment")!=="viewport"&&b.get("symbol-placement")!=="point",re=b.get("icon-rotation-alignment")==="map"&&b.get("symbol-placement")!=="point",te=b.get("symbol-placement"),ae=L/2,le=b.get("icon-text-fit");let ne;s&&le!=="none"&&(r.allowVerticalPlacement&&i.vertical&&(ne=wp(s,i.vertical,le,b.get("icon-text-fit-padding"),I,A)),M&&(s=wp(s,M,le,b.get("icon-text-fit-padding"),I,A)));const ie=v?_.line.getGranularityForZoomLevel(v.z):1,fe=(xe,ye)=>{ye.x<0||ye.x>=De||ye.y<0||ye.y>=De||function(me,Ae,Xe,Ke,it,ri,bt,Rt,jt,ht,Yt,di,pi,zi,ni,ki,or,Nt,gt,Dt,wt,Ut,En,xr,ic){const fs=me.addToLineVertexArray(Ae,Xe);let ao,Ea,Ca,Aa,zf=0,kf=0,Rf=0,Ff=0,fd=-1,md=-1;const Cn={};let Lf=Bt("");if(me.allowVerticalPlacement&&Ke.vertical){const fi=Rt.layout.get("text-rotate").evaluate(wt,{},xr)+90;Ca=new Du(jt,Ae,ht,Yt,di,Ke.vertical,pi,zi,ni,fi),bt&&(Aa=new Du(jt,Ae,ht,Yt,di,bt,or,Nt,ni,fi))}if(it){const fi=Rt.layout.get("icon-rotate").evaluate(wt,{}),Qi=Rt.layout.get("icon-text-fit")!=="none",lo=If(it,fi,En,Qi),wr=bt?If(bt,fi,En,Qi):void 0;Ea=new Du(jt,Ae,ht,Yt,di,it,or,Nt,!1,fi),zf=4*lo.length;const co=me.iconSizeData;let $r=null;co.kind==="source"?($r=[In*Rt.layout.get("icon-size").evaluate(wt,{})],$r[0]>ls&&$t(`${me.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):co.kind==="composite"&&($r=[In*Ut.compositeIconSizes[0].evaluate(wt,{},xr),In*Ut.compositeIconSizes[1].evaluate(wt,{},xr)],($r[0]>ls||$r[1]>ls)&&$t(`${me.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),me.addSymbols(me.icon,lo,$r,Dt,gt,wt,R.ax.none,Ae,fs.lineStartIndex,fs.lineLength,-1,xr),fd=me.icon.placedSymbolArray.length-1,wr&&(kf=4*wr.length,me.addSymbols(me.icon,wr,$r,Dt,gt,wt,R.ax.vertical,Ae,fs.lineStartIndex,fs.lineLength,-1,xr),md=me.icon.placedSymbolArray.length-1)}const Bf=Object.keys(Ke.horizontal);for(const fi of Bf){const Qi=Ke.horizontal[fi];if(!ao){Lf=Bt(Qi.text);const wr=Rt.layout.get("text-rotate").evaluate(wt,{},xr);ao=new Du(jt,Ae,ht,Yt,di,Qi,pi,zi,ni,wr)}const lo=Qi.positionedLines.length===1;if(Rf+=Af(me,Ae,Qi,ri,Rt,ni,wt,ki,fs,Ke.vertical?R.ax.horizontal:R.ax.horizontalOnly,lo?Bf:[fi],Cn,fd,Ut,xr),lo)break}Ke.vertical&&(Ff+=Af(me,Ae,Ke.vertical,ri,Rt,ni,wt,ki,fs,R.ax.vertical,["vertical"],Cn,md,Ut,xr));const P_=ao?ao.boxStartIndex:me.collisionBoxArray.length,I_=ao?ao.boxEndIndex:me.collisionBoxArray.length,M_=Ca?Ca.boxStartIndex:me.collisionBoxArray.length,E_=Ca?Ca.boxEndIndex:me.collisionBoxArray.length,C_=Ea?Ea.boxStartIndex:me.collisionBoxArray.length,A_=Ea?Ea.boxEndIndex:me.collisionBoxArray.length,D_=Aa?Aa.boxStartIndex:me.collisionBoxArray.length,z_=Aa?Aa.boxEndIndex:me.collisionBoxArray.length;let br=-1;const zu=(fi,Qi)=>fi?.circleDiameter?Math.max(fi.circleDiameter,Qi):Qi;br=zu(ao,br),br=zu(Ca,br),br=zu(Ea,br),br=zu(Aa,br);const Of=br>-1?1:0;Of&&(br*=ic/Ot),me.glyphOffsetArray.length>=_a.MAX_GLYPHS&&$t("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),wt.sortKey!==void 0&&me.addToSortKeyRanges(me.symbolInstances.length,wt.sortKey);const k_=Cf(Rt,wt,xr),[R_,F_]=function(fi,Qi){const lo=fi.length,wr=Qi?.values;if(wr?.length>0)for(let co=0;co<wr.length;co+=2){const $r=wr[co+1];fi.emplaceBack(R.aM[wr[co]],$r[0],$r[1])}return[lo,fi.length]}(me.textAnchorOffsets,k_);me.symbolInstances.emplaceBack(Ae.x,Ae.y,Cn.right>=0?Cn.right:-1,Cn.center>=0?Cn.center:-1,Cn.left>=0?Cn.left:-1,Cn.vertical||-1,fd,md,Lf,P_,I_,M_,E_,C_,A_,D_,z_,ht,Rf,Ff,zf,kf,Of,0,pi,br,R_,F_)}(r,ye,xe,i,s,o,ne,r.layers[0],r.collisionBoxArray,e.index,e.sourceLayerIndex,r.index,D,[O,O,O,O],J,g,k,j,re,I,e,l,m,v,u)};if(te==="line")for(const xe of yf(e.geometry,0,0,De,De)){const ye=no(xe,ie),me=v_(ye,L,Y,i.vertical||M,s,24,F,r.overscaling,De);for(const Ae of me)M&&S_(r,M.text,ae,Ae)||fe(ye,Ae)}else if(te==="line-center"){for(const xe of e.geometry)if(xe.length>1){const ye=no(xe,ie),me=y_(ye,Y,i.vertical||M,s,24,F);me&&fe(ye,me)}}else if(e.type==="Polygon")for(const xe of Ao(e.geometry,0)){const ye=b_(xe,16);fe(no(xe[0],ie,!0),new ps(ye.x,ye.y,0))}else if(e.type==="LineString")for(const xe of e.geometry){const ye=no(xe,ie);fe(ye,new ps(ye[0].x,ye[0].y,0))}else if(e.type==="Point")for(const xe of e.geometry)for(const ye of xe)fe([ye],new ps(ye.x,ye.y,0))}function Af(r,e,i,s,o,l,u,p,g,m,v,_,T,b,I){const M=function(F,k,L,O,j,Y,J,re){const te=O.layout.get("text-rotate").evaluate(Y,{})*Math.PI/180,ae=[];for(const le of k.positionedLines)for(const ne of le.positionedGlyphs){if(!ne.rect)continue;const ie=ne.rect||{};let fe=4,xe=!0,ye=1,me=0;const Ae=(j||re)&&ne.vertical,Xe=ne.metrics.advance*ne.scale/2;if(re&&k.verticalizable&&(me=le.lineOffset/2-(ne.imageName?-(Ot-ne.metrics.width*ne.scale)/2:(ne.scale-1)*Ot)),ne.imageName){const Nt=J[ne.imageName];xe=Nt.sdf,ye=Nt.pixelRatio,fe=1/ye}const Ke=j?[ne.x+Xe,ne.y]:[0,0];let it=j?[0,0]:[ne.x+Xe+L[0],ne.y+L[1]-me],ri=[0,0];Ae&&(ri=it,it=[0,0]);const bt=ne.metrics.isDoubleResolution?2:1,Rt=(ne.metrics.left-fe)*ne.scale-Xe+it[0],jt=(-ne.metrics.top-fe)*ne.scale+it[1],ht=Rt+ie.w/bt*ne.scale/ye,Yt=jt+ie.h/bt*ne.scale/ye,di=new Te(Rt,jt),pi=new Te(ht,jt),zi=new Te(Rt,Yt),ni=new Te(ht,Yt);
5if(Ae){const Nt=new Te(-Xe,Xe- -17),gt=-Math.PI/2,Dt=12-Xe,wt=new Te(22-Dt,-(ne.imageName?Dt:0)),Ut=new Te(...ri);di._rotateAround(gt,Nt)._add(wt)._add(Ut),pi._rotateAround(gt,Nt)._add(wt)._add(Ut),zi._rotateAround(gt,Nt)._add(wt)._add(Ut),ni._rotateAround(gt,Nt)._add(wt)._add(Ut)}if(te){const Nt=Math.sin(te),gt=Math.cos(te),Dt=[gt,-Nt,Nt,gt];di._matMult(Dt),pi._matMult(Dt),zi._matMult(Dt),ni._matMult(Dt)}const ki=new Te(0,0),or=new Te(0,0);ae.push({tl:di,tr:pi,bl:zi,br:ni,tex:ie,writingMode:k.writingMode,glyphOffset:Ke,sectionIndex:ne.sectionIndex,isSDF:xe,pixelOffsetTL:ki,pixelOffsetBR:or,minFontScaleX:0,minFontScaleY:0})}return ae}(0,i,p,o,l,u,s,r.allowVerticalPlacement),A=r.textSizeData;let D=null;A.kind==="source"?(D=[In*o.layout.get("text-size").evaluate(u,{})],D[0]>ls&&$t(`${r.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):A.kind==="composite"&&(D=[In*b.compositeTextSizes[0].evaluate(u,{},I),In*b.compositeTextSizes[1].evaluate(u,{},I)],(D[0]>ls||D[1]>ls)&&$t(`${r.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),r.addSymbols(r.text,M,D,p,l,u,m,e,g.lineStartIndex,g.lineLength,T,I);for(const F of v)_[F]=r.text.placedSymbolArray.length-1;return 4*M.length}function Df(r){for(const e in r)return r[e];return null}function S_(r,e,i,s){const o=r.compareText;if(e in o){const l=o[e];for(let u=l.length-1;u>=0;u--)if(s.dist(l[u])<i)return!0}else o[e]=[];return o[e].push(s),!1}R.$=rc,R.A=zt,R.B=Ho,R.C=Xc,R.D=Ie,R.E=fo,R.F=ir,R.G=function([r,e,i]){return e+=90,e*=Math.PI/180,i*=Math.PI/180,{x:r*Math.cos(e)*Math.sin(i),y:r*Math.sin(e)*Math.sin(i),z:r*Math.cos(i)}},R.H=Mi,R.I=Oh,R.J=at,R.K=qs,R.L=function(r){if(mi==null){const e=r.navigator?r.navigator.userAgent:null;mi=!!r.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return mi},R.M=Li,R.N=class{constructor(r,e){this.target=r,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Fg(()=>this.process()),this.subscription=uo(this.target,"message",i=>this.receive(i),!1),this.globalScope=Zt(self)?r:window}registerMessageHandler(r,e){this.messageHandlers[r]=e}unregisterMessageHandler(r){delete this.messageHandlers[r]}sendAsync(r,e){return new Promise((i,s)=>{const o=Math.round(1e18*Math.random()).toString(36).substring(0,10),l=e?uo(e.signal,"abort",()=>{l?.unsubscribe(),delete this.resolveRejects[o];const g={id:o,type:"<cancel>",origin:location.origin,targetMapId:r.targetMapId,sourceMapId:this.mapId};this.target.postMessage(g)},Lg):null;this.resolveRejects[o]={resolve:g=>{l?.unsubscribe(),i(g)},reject:g=>{l?.unsubscribe(),s(g)}};const u=[],p=Object.assign(Object.assign({},r),{id:o,sourceMapId:this.mapId,origin:location.origin,data:pr(r.data,u)});this.target.postMessage(p,{transfer:u})})}receive(r){const e=r.data,i=e.id,s=["file://","resource://android","null"],o=[e.origin,location.origin],l=e.origin===location.origin,u=o.some(p=>s.includes(p));if((l||u)&&(!e.targetMapId||this.mapId===e.targetMapId)){if(e.type==="<cancel>"){delete this.tasks[i];const p=this.abortControllers[i];return delete this.abortControllers[i],void(p&&p.abort())}if(Zt(self)||e.mustQueue)return this.tasks[i]=e,this.taskQueue.push(i),void this.invoker.trigger();this.processTask(i,e)}}process(){if(this.taskQueue.length===0)return;const r=this.taskQueue.shift(),e=this.tasks[r];delete this.tasks[r],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(r,e)}processTask(r,e){return d(this,void 0,void 0,function*(){if(e.type==="<response>"){const o=this.resolveRejects[r];return delete this.resolveRejects[r],o?void(e.error?o.reject(yt(Hs(e.error))):o.resolve(Hs(e.data))):void 0}if(!this.messageHandlers[e.type])return void this.completeTask(r,new Error(`Could not find a registered handler for ${e.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const i=Hs(e.data),s=new AbortController;this.abortControllers[r]=s;try{const o=yield this.messageHandlers[e.type](e.sourceMapId,i,s);this.completeTask(r,null,o)}catch(o){this.completeTask(r,yt(o))}})}completeTask(r,e,i){const s=[];delete this.abortControllers[r];const o={id:r,type:"<response>",sourceMapId:this.mapId,origin:location.origin,error:e?pr(e):null,data:pr(i,s)};this.target.postMessage(o,{transfer:s})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},R.O=function(){var r=new zt(16);return zt!=Float32Array&&(r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=0,r[12]=0,r[13]=0,r[14]=0),r[0]=1,r[5]=1,r[10]=1,r[15]=1,r},R.P=Te,R.Q=function(r,e,i){var s,o,l,u,p,g,m,v,_,T,b,I,M=i[0],A=i[1],D=i[2];return e===r?(r[12]=e[0]*M+e[4]*A+e[8]*D+e[12],r[13]=e[1]*M+e[5]*A+e[9]*
vendor: 23,418 bytes, line 5
5D+e[13],r[14]=e[2]*M+e[6]*A+e[10]*D+e[14],r[15]=e[3]*M+e[7]*A+e[11]*D+e[15]):(o=e[1],l=e[2],u=e[3],p=e[4],g=e[5],m=e[6],v=e[7],_=e[8],T=e[9],b=e[10],I=e[11],r[0]=s=e[0],r[1]=o,r[2]=l,r[3]=u,r[4]=p,r[5]=g,r[6]=m,r[7]=v,r[8]=_,r[9]=T,r[10]=b,r[11]=I,r[12]=s*M+p*A+_*D+e[12],r[13]=o*M+g*A+T*D+e[13],r[14]=l*M+m*A+b*D+e[14],r[15]=u*M+v*A+I*D+e[15]),r},R.R=Di,R.S=function(r,e,i){var s=i[0],o=i[1],l=i[2];return r[0]=e[0]*s,r[1]=e[1]*s,r[2]=e[2]*s,r[3]=e[3]*s,r[4]=e[4]*o,r[5]=e[5]*o,r[6]=e[6]*o,r[7]=e[7]*o,r[8]=e[8]*l,r[9]=e[9]*l,r[10]=e[10]*l,r[11]=e[11]*l,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r},R.T=fh,R.U=function(r,e,i){var s=e[0],o=e[1],l=e[2],u=e[3],p=e[4],g=e[5],m=e[6],v=e[7],_=e[8],T=e[9],b=e[10],I=e[11],M=e[12],A=e[13],D=e[14],F=e[15],k=i[0],L=i[1],O=i[2],j=i[3];return r[0]=k*s+L*p+O*_+j*M,r[1]=k*o+L*g+O*T+j*A,r[2]=k*l+L*m+O*b+j*D,r[3]=k*u+L*v+O*I+j*F,r[4]=(k=i[4])*s+(L=i[5])*p+(O=i[6])*_+(j=i[7])*M,r[5]=k*o+L*g+O*T+j*A,r[6]=k*l+L*m+O*b+j*D,r[7]=k*u+L*v+O*I+j*F,r[8]=(k=i[8])*s+(L=i[9])*p+(O=i[10])*_+(j=i[11])*M,r[9]=k*o+L*g+O*T+j*A,r[10]=k*l+L*m+O*b+j*D,r[11]=k*u+L*v+O*I+j*F,r[12]=(k=i[12])*s+(L=i[13])*p+(O=i[14])*_+(j=i[15])*M,r[13]=k*o+L*g+O*T+j*A,r[14]=k*l+L*m+O*b+j*D,r[15]=k*u+L*v+O*I+j*F,r},R.V=function(r,e){const i={};for(const s of e)s in r&&(i[s]=r[s]);return i},R.W=cs,R.X=zn,R.Y=Dp,R.Z=Ap,R._=d,R.a=vs,R.a$=function(r){var e=new zt(3);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e},R.a0=Hr,R.a1=Ti,R.a2=ka,R.a3=Ni,R.a4=kp,R.a5=Pu,R.a6=De,R.a7=Jl,R.a8=so,R.a9=25,R.aA=function(r){var e=r[0],i=r[1];return Math.sqrt(e*e+i*i)},R.aB=function(r){return r[0]=0,r[1]=0,r},R.aC=function(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r},R.aD=Nh,R.aE=$e,R.aF=function(r,e,i,s){const o=e.y-r.y,l=e.x-r.x,u=s.y-i.y,p=s.x-i.x,g=u*l-p*o;if(g===0)return null;const m=(p*(r.y-i.y)-u*(r.x-i.x))/g;return new Te(r.x+m*l,r.y+m*o)},R.aG=yf,R.aH=oa,R.aI=function(r){let e=1/0,i=1/0,s=-1/0,o=-1/0;for(const l of r)e=Math.min(e,l.x),i=Math.min(i,l.y),s=Math.max(s,l.x),o=Math.max(o,l.y);return[e,i,s,o]},R.aJ=Ot,R.aK=_t,R.aL=function(r,e,i,s,o=!1){if(!i[0]&&!i[1])return[0,0];const l=o?s==="map"?-r.bearingInRadians:0:s==="viewport"?r.bearingInRadians:0;if(l){const u=Math.sin(l),p=Math.cos(l);i=[i[0]*p-i[1]*u,i[0]*u+i[1]*p]}return[o?i[0]:_t(e,i[0],r.zoom),o?i[1]:_t(e,i[1],r.zoom)]},R.aN=jh,R.aO=pd,R.aP=Vh,R.aQ=r=>r.type==="symbol",R.aR=mu,R.aS=lt,R.aT=fu,R.aU=V,R.aV=we,R.aW=he,R.aX=Qr,R.aY=Rp,R.aZ=K,R.a_=W,R.aa=qh,R.ab=r=>{const e=window.document.createElement("video");return e.muted=!0,new Promise(i=>{e.onloadstart=()=>{i(e)};for(const s of r){const o=window.document.createElement("source");qi(s)||(e.crossOrigin="Anonymous"),o.src=s,e.appendChild(o)}})},R.ac=_e,R.ad=function(){return ys++},R.ae=c,R.af=_a,R.ag=tc,R.ah=Os,R.ai=Gr,R.aj=Op,R.ak=function(r){const e={};if(r.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(i,s,o,l)=>{const u=o||l;return e[s]=!u||u.toLowerCase(),""}),e["max-age"]){const i=parseInt(e["max-age"],10);isNaN(i)?delete e["max-age"]:e["max-age"]=i}return e},R.al=si,R.am=85.051129,R.an=Er,R.ao=function(r){return Math.pow(2,r)},R.ap=Dn,R.aq=zp,R.ar=function(r){return Math.log(r)/Math.LN2},R.as=function(r){var e=r[0],i=r[1];return e*e+i*i},R.at=function(r){if(!r.length)return new Set;const e=Math.max(...r.map(g=>g.canonical.z));let i=1/0,s=-1/0,o=1/0,l=-1/0;const u=[];for(const g of r){const{x:m,y:v,z:_}=g.canonical,T=Math.pow(2,e-_),b=m*T,I=v*T;u.push({id:g,x:b,y:I}),b<i&&(i=b),b>s&&(s=b),I<o&&(o=I),I>l&&(l=I)}const p=new Set;for(const g of u)g.x!==i&&g.x!==s&&g.y!==o&&g.y!==l||p.add(g.id);return p},R.au=function(r,e){const i=Math.abs(2*r.wrap)-+(r.wrap<0),s=Math.abs(2*e.wrap)-+(e.wrap<0);return r.overscaledZ-e.overscaledZ||s-i||e.canonical.y-r.canonical.y||e.canonical.x-r.canonical.x},R.av=class{constructor(r,e){this.max=r,this.onRemove=e,this.reset()}reset(){for(const r in this.data)for(const e of this.data[r])e.timeout&&clearTimeout(e.timeout),this.onRemove(e.value);return this.data={},this.order=[],this}add(r,e,i){const s=r.wrapped().key;this.data[s]===void 0&&(this.data[s]=[]);const o={value:e,timeout:void 0};if(i!==void 0&&(o.timeout=setTimeout(()=>{this.remove(r,o)},i)),this.data[s].push(o),this.order.push(s),this.order.length>this.max){const l=this._getAndRemoveByKey(this.order[0]);l&&this.onRemove(l)}return this}has(r){return r.wrapped().key in this.data}getAndRemove(r){return this.has(r)?this._getAndRemoveByKey(r.wrapped().key):null}_getAndRemoveByKey(r){const e=this.data[r].shift();return e.timeout&&clearTimeout(e.timeout),this.data[r].length===0&&delete this.data[r],this.order.splice(this.order.indexOf(r),1),e.value}getByKey(r){const e=this.data[r];return e?e[0].value:null}get(r){return this.has(r)?this.data[r.wrapped().key][0].value:null}remove(r,e){if(!this.has(r))return this;const i=r.wrapped().key,s=e===void 0?0:this.data[i].indexOf(e),o=this.data[i][s];return this.data[i].splice(s,1),o.timeout&&clearTimeout(o.timeout),this.data[i].length===0&&delete this.data[i],this.onRemove(o.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(r){for(this.max=r;this.order.length>this.max;){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(r){const e=[];for(const i in this.data)for(const s of this.data[i])r(s.value)||e.push(s);for(const i of e)this.remove(i.value.tileID,i)}},R.aw=function(r,e){let i=0,s=0;if(r.kind==="constant")s=r.layoutSize;else if(r.kind!=="source"){const{interpolationType:o,minZoom:l,maxZoom:u}=r,p=o?si(It.interpolationFactor(o,e,l,u),0,1):0;r.kind==="camera"?s=Mi.number(r.minSize,r.maxSize,p):i=p}return{uSizeT:i,uSize:s}},R.ay=function(r,{uSize:e,uSizeT:i},{lowerSize:s,upperSize:o}){return r.kind==="source"?s/In:r.kind==="composite"?Mi.number(s/In,o/In,i):e},R.az=Le,R.b=Jr,R.b$=ra,R.b0=function(r,e,i){return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],r},R.b1=function(r,e){var i=e[0],s=e[1],o=e[2],l=i*i+s*s+o*o;return l>0&&(l=1/Math.sqrt(l)),r[0]=e[0]*l,r[1]=e[1]*l,r[2]=e[2]*l,r},R.b2=ee,R.b3=function(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]},R.b4=function(r,e,i){return r[0]=e[0]*i[0],r[1]=e[1]*i[1],r[2]=e[2]*i[2],r[3]=e[3]*i[3],r},R.b5=gs,R.b6=function(r,e,i){const s=e[0]*i[0]+e[1]*i[1]+e[2]*i[2];return s===0?null:(-(r[0]*i[0]+r[1]*i[1]+r[2]*i[2])-i[3])/s},R.b7=Me,R.b8=function(r,e,i){return r[0]=e[0]*i,r[1]=e[1]*i,r[2]=e[2]*i,r[3]=e[3]*i,r},R.b9=function(r,e){return r[0]*e[0]+r[1]*e[1]+r[2]*e[2]+r[3]},R.bA=Ge,R.bB=function(r,e,i){var s=i[0],o=i[1],l=i[2],u=i[3],p=e[0],g=e[1],m=e[2],v=o*m-l*g,_=l*p-s*m,T=s*g-o*p;return r[0]=p+u*(v+=v)+o*(T+=T)-l*(_+=_),r[1]=g+u*_+l*v-s*T,r[2]=m+u*T+s*_-o*v,r},R.bC=function(r,e,i){const s=(o=[r[0],r[1],r[2],e[0],e[1],e[2],i[0],i[1],i[2]])[0]*((v=o[8])*(u=o[4])-(p=o[5])*(m=o[7]))+o[1]*(-v*(l=o[3])+p*(g=o[6]))+o[2]*(m*l-u*g);var o,l,u,p,g,m,v;if(s===0)return null;const _=ee([],[e[0],e[1],e[2]],[i[0],i[1],i[2]]),T=ee([],[i[0],i[1],i[2]],[r[0],r[1],r[2]]),b=ee([],[r[0],r[1],r[2]],[e[0],e[1],e[2]]),I=K([],_,-r[3]);return W(I,I,K([],T,-e[3])),W(I,I,K([],b,-i[3])),K(I,I,1/s),I},R.bD=Zh,R.bE=function(){return new Float64Array(4)},R.bF=function(r,e,i,s){var o=[],l=[];return o[0]=e[0]-i[0],o[1]=e[1]-i[1],o[2]=e[2]-i[2],l[0]=o[0]*Math.cos(s)-o[1]*Math.sin(s),l[1]=o[0]*Math.sin(s)+o[1]*Math.cos(s),l[2]=o[2],r[0]=l[0]+i[0],r[1]=l[1]+i[1],r[2]=l[2]+i[2],r},R.bG=function(r,e,i,s){var o=[],l=[];return o[0]=e[0]-i[0],o[1]=e[1]-i[1],o[2]=e[2]-i[2],l[0]=o[0],l[1]=o[1]*Math.cos(s)-o[2]*Math.sin(s),l[2]=o[1]*Math.sin(s)+o[2]*Math.cos(s),r[0]=l[0]+i[0],r[1]=l[1]+i[1],r[2]=l[2]+i[2],r},R.bH=function(r,e,i,s){var o=[],l=[];return o[0]=e[0]-i[0],o[1]=e[1]-i[1],o[2]=e[2]-i[2],l[0]=o[2]*Math.sin(s)+o[0]*Math.cos(s),l[1]=o[1],l[2]=o[2]*Math.cos(s)-o[0]*Math.sin(s),r[0]=l[0]+i[0],r[1]=l[1]+i[1],r[2]=l[2]+i[2],r},R.bI=function(r,e,i){var s=Math.sin(i),o=Math.cos(i),l=e[0],u=e[1],p=e[2],g=e[3],m=e[8],v=e[9],_=e[10],T=e[11];return e!==r&&(r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=l*o-m*s,r[1]=u*o-v*s,r[2]=p*o-_*s,r[3]=g*o-T*s,r[8]=l*s+m*o,r[9]=u*s+v*o,r[10]=p*s+_*o,r[11]=g*s+T*o,r},R.bJ=function(r,e){const i=Zi(r,360),s=Zi(e,360),o=s-i,l=s>i?o-360:o+360;return Math.abs(o)<Math.abs(l)?o:l},R.bK=function(r){return r[0]=0,r[1]=0,r[2]=0,r},R.bL=function(r,e,i,s){const o=Math.sqrt(r*r+e*e),l=Math.sqrt(i*i+s*s);r/=o,e/=o,i/=l,s/=l;const u=Math.acos(r*i+e*s);return-e*i+r*s>0?u:-u},R.bM=function(r,e){const i=Zi(r,2*Math.PI),s=Zi(e,2*Math.PI);return Math.min(Math.abs(i-s),Math.abs(i-s+2*Math.PI),Math.abs(i-s-2*Math.PI))},R.bN=function(){const r={},e=ce.$version;for(const i in ce.$root){const s=ce.$root[i];if(s.required){let o=null;o=i==="version"?e:s.type==="array"?[]:{},o!=null&&(r[i]=o)}}return r},R.bO=La,R.bP=xl,R.bQ=function r(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return!1;for(let s=0;s<e.length;s++)if(!r(e[s],i[s]))return!1;return!0}if(typeof e=="object"&&e!==null&&i!==null){if(typeof i!="object"||Object.keys(e).length!==Object.keys(i).length)return!1;for(const s in e)if(!r(e[s],i[s]))return!1;return!0}return e===i},R.bR=po,R.bS=function(r){r=r.slice();const e=Object.create(null);for(let i=0;i<r.length;i++)e[r[i].id]=r[i];for(let i=0;i<r.length;i++)"ref"in r[i]&&(r[i]=Oa(r[i],e[r[i].ref]));return r},R.bT=function(r,e){if(r.type==="custom")return new Rg(r,e);switch(r.type){case"background":return new kg(r,e);case"circle":return new Kf(r,e);case"color-relief":return new rm(r,e);case"fill":return new ym(r,e);case"fill-extrusion":return new Am(r,e);case"heatmap":return new Qf(r,e);case"hillshade":return new tm(r,e);case"line":return new ig(r,e);case"raster":return new oh(r,e);case"symbol":return new Su(r,e)}},R.bU=r=>r.type==="raster",R.bV=ke,R.bW=function(r,e){if(!r)return[{command:"setStyle",args:[e]}];let i=[];try{if(!et(r.version,e.version))return[{command:"setStyle",args:[e]}];et(r.center,e.center)||i.push({command:"setCenter",args:[e.center]}),et(r.state,e.state)||i.push({command:"setGlobalState",args:[e.state]}),et(r.centerAltitude,e.centerAltitude)||i.push({command:"setCenterAltitude",args:[e.centerAltitude]}),et(r.zoom,e.zoom)||i.push({command:"setZoom",args:[e.zoom]}),et(r.bearing,e.bearing)||i.push({command:"setBearing",args:[e.bearing]}),et(r.pitch,e.pitch)||i.push({command:"setPitch",args:[e.pitch]}),et(r.roll,e.roll)||i.push({command:"setRoll",args:[e.roll]}),et(r.sprite,e.sprite)||i.push({command:"setSprite",args:[e.sprite]}),et(r.glyphs,e.glyphs)||i.push({command:"setGlyphs",args:[e.glyphs]}),et(r.transition,e.transition)||i.push({command:"setTransition",args:[e.transition]}),et(r.light,e.light)||i.push({command:"setLight",args:[e.light]}),et(r.terrain,e.terrain)||i.push({command:"setTerrain",args:[e.terrain]}),et(r.sky,e.sky)||i.push({command:"setSky",args:[e.sky]}),et(r.projection,e.projection)||i.push({command:"setProjection",args:[e.projection]});const s={},o=[];(function(u,p,g,m){let v;for(v in p=p||{},u=u||{})Object.prototype.hasOwnProperty.call(u,v)&&(Object.prototype.hasOwnProperty.call(p,v)||nc(v,g,m));for(v in p)Object.prototype.hasOwnProperty.call(p,v)&&(Object.prototype.hasOwnProperty.call(u,v)?et(u[v],p[v])||(u[v].type==="geojson"&&p[v].type==="geojson"&&Ru(u,p,v)?gi(g,{command:"setGeoJSONSourceData",args:[v,p[v].data]}):sc(v,p,g,m)):rn(v,p,g))})(r.sources,e.sources,o,s);const l=[];r.layers&&r.layers.forEach(u=>{"source"in u&&s[u.source]?i.push({command:"removeLayer",args:[u.id]}):l.push(u)}),i=i.concat(o),function(u,p,g){p=p||[];const m=(u=u||[]).map(Va),v=p.map(Va),_=u.reduce(oc,{}),T=p.reduce(oc,{}),b=m.slice(),I=Object.create(null);let M,A,D,F,k;for(let L=0,O=0;L<m.length;L++)M=m[L],Object.prototype.hasOwnProperty.call(T,M)?O++:(gi(g,{command:"removeLayer",args:[M]}),b.splice(b.indexOf(M,O),1));for(let L=0,O=0;L<v.length;L++)M=v[v.length-1-L],b[b.length-1-L]!==M&&(Object.prototype.hasOwnProperty.call(_,M)?(gi(g,{command:"removeLayer",args:[M]}),b.splice(b.lastIndexOf(M,b.length-O),1)):O++,F=b[b.length-L],gi(g,{command:"addLayer",args:[T[M],F]}),b.splice(b.length-L,0,M),I[M]=!0);for(let L=0;L<v.length;L++)if(M=v[L],A=_[M],D=T[M],!I[M]&&!et(A,D))if(et(A.source,D.source)&&et(A["source-layer"],D["source-layer"])&&et(A.type,D.type)){for(k in mo(A.layout,D.layout,g,M,null,"setLayoutProperty"),mo(A.paint,D.paint,g,M,null,"setPaintProperty"),et(A.filter,D.filter)||gi(g,{command:"setFilter",args:[M,D.filter]}),et(A.minzoom,D.minzoom)&&et(A.maxzoom,D.maxzoom)||gi(g,{command:"setLayerZoomRange",args:[M,D.minzoom,D.maxzoom]}),A)Object.prototype.hasOwnProperty.call(A,k)&&k!=="layout"&&k!=="paint"&&k!=="filter"&&k!=="metadata"&&k!=="minzoom"&&k!=="maxzoom"&&(k.indexOf("paint.")===0?mo(A[k],D[k],g,M,k.slice(6),"setPaintProperty"):et(A[k],D[k])||gi(g,{command:"setLayerProperty",args:[M,k,D[k]]}));for(k in D)Object.prototype.hasOwnProperty.call(D,k)&&!Object.prototype.hasOwnProperty.call(A,k)&&k!=="layout"&&k!=="paint"&&k!=="filter"&&k!=="metadata"&&k!=="minzoom"&&k!=="maxzoom"&&(k.indexOf("paint.")===0?mo(A[k],D[k],g,M,k.slice(6),"setPaintProperty"):et(A[k],D[k])||gi(g,{command:"setLayerProperty",args:[M,k,D[k]]}))}else gi(g,{command:"removeLayer",args:[M]}),F=b[b.lastIndexOf(M)+1],gi(g,{command:"addLayer",args:[D,F]})}(l,e.layers,i)}catch{i=[{command:"setStyle",args:[e]}]}return i},R.bX=function(r){const e=[],i=r.id;return i===void 0&&e.push({message:`layers.${i}: missing required property "id"`}),r.render===void 0&&e.push({message:`layers.${i}: missing required method "render"`}),r.renderingMode&&r.renderingMode!=="2d"&&r.renderingMode!=="3d"&&e.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),e},R.bY=Ir,R.bZ=Kr,R.b_=class extends ei{constructor(r,e){super(r,e),this.current=0}set(r){this.current!==r&&(this.current=r,this.gl.uniform1i(this.location,r))}},R.ba=Lp,R.bb=ya,R.bc=function(r,e,i,s,o){var l=1/Math.tan(e/2);if(r[0]=l/i,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=l,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[11]=-1,r[12]=0,r[13]=0,r[15]=0,o!=null&&o!==1/0){var u=1/(s-o);r[10]=(o+s)*u,r[14]=2*o*s*u}else r[10]=-1,r[14]=-2*s;return r},R.bd=function(r){var e=new zt(16);return e[0]=r[0],e[1]=r[1],e[2]=r[2],e[3]=r[3],e[4]=r[4],e[5]=r[5],e[6]=r[6],e[7]=r[7],e[8]=r[8],e[9]=r[9],e[10]=r[10],e[11]=r[11],e[12]=r[12],e[13]=r[13],e[14]=r[14],e[15]=r[15],e},R.be=function(r,e,i){var s=Math.sin(i),o=Math.cos(i),l=e[0],u=e[1],p=e[2],g=e[3],m=e[4],v=e[5],_=e[6],T=e[7];return e!==r&&(r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[0]=l*o+m*s,r[1]=u*o+v*s,r[2]=p*o+_*s,r[3]=g*o+T*s,r[4]=m*o-l*s,r[5]=v*o-u*s,r[6]=_*o-p*s,r[7]=T*o-g*s,r},R.bf=function(r,e,i){var s=Math.sin(i),o=Math.cos(i),l=e[4],u=e[5],p=e[6],g=e[7],m=e[8],v=e[9],_=e[10],T=e[11];return e!==r&&(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r[4]=l*o+m*s,r[5]=u*o+v*s,r[6]=p*o+_*s,r[7]=g*o+T*s,r[8]=m*o-l*s,r[9]=v*o-u*s,r[10]=_*o-p*s,r[11]=T*o-g*s,r},R.bg=function(r,e){var i=e[0],s=e[1],o=e[2],l=e[3],u=e[4],p=e[5],g=e[6],m=e[7],v=e[8],_=e[9],T=e[10],b=e[11],I=e[12],M=e[13],A=e[14],D=e[15],F=i*p-s*u,k=i*g-o*u,L=i*m-l*u,O=s*g-o*p,j=s*m-l*p,Y=o*m-l*g,J=v*M-_*I,re=v*A-T*I,te=v*D-b*I,ae=_*A-T*M,le=_*D-b*M,ne=T*D-b*A,ie=F*ne-k*le+L*ae+O*te-j*re+Y*J;return ie?(r[0]=(p*ne-g*le+m*ae)*(ie=1/ie),r[1]=(o*le-s*ne-l*ae)*ie,r[2]=(M*Y-A*j+D*O)*ie,r[3]=(T*j-_*Y-b*O)*ie,r[4]=(g*te-u*ne-m*re)*ie,r[5]=(i*ne-o*te+l*re)*ie,r[6]=(A*L-I*Y-D*k)*ie,r[7]=(v*Y-T*L+b*k)*ie,r[8]=(u*le-p*te+m*J)*ie,r[9]=(s*te-i*le-l*J)*ie,r[10]=(I*j-M*L+D*F)*ie,r[11]=(_*L-v*j-b*F)*ie,r[12]=(p*re-u*ae-g*J)*ie,r[13]=(i*ae-s*re+o*J)*ie,r[14]=(M*k-I*O-A*F)*ie,r[15]=(v*O-_*k+T*F)*ie,r):null},R.bh=function(){const r=new Float32Array(16);return Dn(r),r},R.bi=function(){const r=new Float64Array(16);return Dn(r),r},R.bj=function(){return new Float64Array(16)},R.bk=function(r,e,i){const s=new Float64Array(4);return Ge(s,r,e-90,i),s},R.bl=function(r,e,i,s){var o,l,u,p,g,m=e[0],v=e[1],_=e[2],T=e[3],b=i[0],I=i[1],M=i[2],A=i[3];return(l=m*b+v*I+_*M+T*A)<0&&(l=-l,b=-b,I=-I,M=-M,A=-A),1-l>pe?(o=Math.acos(l),u=Math.sin(o),p=Math.sin((1-s)*o)/u,g=Math.sin(s*o)/u):(p=1-s,g=s),r[0]=p*m+g*b,r[1]=p*v+g*I,r[2]=p*_+g*M,r[3]=p*T+g*A,r},R.bm=function(r){const e=new Float64Array(9);var i,s,o,l,u,p,g,m,v,_,T,b,I,M,A,D,F,k;_=(o=(s=r)[0])*(g=o+o),T=(l=s[1])*g,I=(u=s[2])*g,M=u*(m=l+l),D=(p=s[3])*g,F=p*m,k=p*(v=u+u),(i=e)[0]=1-(b=l*m)-(A=u*v),i[3]=T-k,i[6]=I+F,i[1]=T+k,i[4]=1-_-A,i[7]=M-D,i[2]=I-F,i[5]=M+D,i[8]=1-_-b;const L=Qr(-Math.asin(si(e[2],-1,1)));let O,j;return Math.hypot(e[5],e[8])<.001?(O=0,j=-Qr(Math.atan2(e[3],e[4]))):(O=Qr(e[5]===0&&e[8]===0?0:Math.atan2(e[5],e[8])),j=Qr(e[1]===0&&e[0]===0?0:Math.atan2(e[1],e[0]))),{roll:O,pitch:L+90,bearing:j}},R.bn=function(r,e){return r.roll==e.roll&&r.pitch==e.pitch&&r.bearing==e.bearing},R.bo=Ve,R.bp=gr,R.bq=ha,R.br=$l,R.bs=ua,R.bt=Ri,R.bu=Pr,R.bv=ai,R.bw=function(r,e,i,s,o){return Ri(s,o,si((r-e)/(i-e),0,1))},R.bx=function(r,e,i,s){return r[0]=e[0]+i[0]*s,r[1]=e[1]+i[1]*s,r[2]=e[2]+i[2]*s,r},R.by=Zi,R.bz=function(){return new Float64Array(3)},R.c=Cr,R.c$=Bs,R.c0=class extends ei{constructor(r,e){super(r,e),this.current=nr}set(r){if(r[12]!==this.current[12]||r[0]!==this.current[0])return this.current=r,void this.gl.uniformMatrix4fv(this.location,!1,r);for(let e=1;e<16;e++)if(r[e]!==this.current[e]){this.current=r,this.gl.uniformMatrix4fv(this.location,!1,r);break}}},R.c1=jr,R.c2=class extends ei{constructor(r,e){super(r,e),this.current=[0,0,0]}set(r){r[0]===this.current[0]&&r[1]===this.current[1]&&r[2]===this.current[2]||(this.current=r,this.gl.uniform3f(this.location,r[0],r[1],r[2]))}},R.c3=class extends ei{constructor(r,e){super(r,e),this.current=[0,0]}set(r){r[0]===this.current[0]&&r[1]===this.current[1]||(this.current=r,this.gl.uniform2f(this.location,r[0],r[1]))}},R.c4=Xr,R.c5=function(r,e){var i=Math.sin(e),s=Math.cos(e);return r[0]=s,r[1]=i,r[2]=0,r[3]=-i,r[4]=s,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r},R.c6=function(r,e,i){var s=e[0],o=e[1],l=e[2];return r[0]=s*i[0]+o*i[3]+l*i[6],r[1]=s*i[1]+o*i[4]+l*i[7],r[2]=s*i[2]+o*i[5]+l*i[8],r},R.c7=function(r,e,i,s,o,l,u){var p=1/(e-i),g=1/(s-o),m=1/(l-u);return r[0]=-2*p,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*g,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*m,r[11]=0,r[12]=(e+i)*p,r[13]=(o+s)*g,r[14]=(u+l)*m,r[15]=1,r},R.c8=class extends ei{constructor(r,e){super(r,e),this.current=new Array}set(r){if(r!=this.current){this.current=r;const e=new Float32Array(4*r.length);for(let i=0;i<r.length;i++)e[4*i]=r[i].r,e[4*i+1]=r[i].g,e[4*i+2]=r[i].b,e[4*i+3]=r[i].a;this.gl.uniform4fv(this.location,e)}}},R.c9=class extends ei{constructor(r,e){super(r,e),this.current=new Array}set(r){if(r!=this.current){this.current=r;const e=new Float32Array(r);this.gl.uniform1fv(this.location,e)}}},R.cA=function(r,e){return Ra[e]&&"touches"in r},R.cB=function(r){return Ra[r]||Fa[r]},R.cC=function(r,e,i){var s=e[0],o=e[1];return r[0]=i[0]*s+i[4]*o+i[12],r[1]=i[1]*s+i[5]*o+i[13],r},R.cD=function(r,e){const{x:i,y:s}=Jl.fromLngLat(e);return!(r<0||r>25||s<0||s>=1||i<0||i>=1)},R.cE=function(r,e){return r[0]=e[0],r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=e[1],r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=e[2],r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},R.cF=class extends Yo{},R.cG=Rn,R.cH=function(r,e){Cr.REGISTERED_PROTOCOLS[r]=e},R.cI=function(r){delete Cr.REGISTERED_PROTOCOLS[r]},R.cJ=function(r,e){const i={};for(let o=0;o<r.length;o++){const l=e&&e[r[o].id]||Qu(r[o]);e&&(e[r[o].id]=l);let u=i[l];u||(u=i[l]=[]),u.push(r[o])}const s=[];for(const o in i)s.push(i[o]);return s},R.cK=Se,R.cL=Bp,R.cM=gf,R.cN=vp,R.cO=function(r){var e,i;r.bucket.createArrays(),r.bucket.tilePixelRatio=De/(512*r.bucket.overscaling),r.bucket.compareText={},r.bucket.iconsNeedLinear=!1;const s=r.bucket.layers[0],o=s.layout,l=s._unevaluatedLayout._values,u={layoutIconSize:l["icon-size"].possiblyEvaluate(new at(r.bucket.zoom+1),r.canonical),layoutTextSize:l["text-size"].possiblyEvaluate(new at(r.bucket.zoom+1),r.canonical),textMaxSize:l["text-size"].possiblyEvaluate(new at(18))};if(r.bucket.textSizeData.kind==="composite"){const{minZoom:_,maxZoom:T}=r.bucket.textSizeData;u.compositeTextSizes=[l["text-size"].possiblyEvaluate(new at(_),r.canonical),l["text-size"].possiblyEvaluate(new at(T),r.canonical)]}if(r.bucket.iconSizeData.kind==="composite"){const{minZoom:_,maxZoom:T}=r.bucket.iconSizeData;u.compositeIconSizes=[l["icon-size"].possiblyEvaluate(new at(_),r.canonical),l["icon-size"].possiblyEvaluate(new at(T),r.canonical)]}const p=o.get("text-line-height")*Ot,g=o.get("text-rotation-alignment")!=="viewport"&&o.get("symbol-placement")!=="point",m=o.get("text-keep-upright"),v=o.get("text-size");for(const _ of r.bucket.features){const T=o.get("text-font").evaluate(_,{},r.canonical).join(","),b=v.evaluate(_,{},r.canonical),I=u.layoutTextSize.evaluate(_,{},r.canonical),M=u.layoutIconSize.evaluate(_,{},r.canonical),A={horizontal:{},vertical:void 0},D=_.text;let F,k=[0,0];if(D){const j=D.toString(),Y=o.get("text-letter-spacing").evaluate(_,{},r.canonical)*Ot,J=qo(j)?Y:0,re=o.get("text-anchor").evaluate(_,{},r.canonical),te=Cf(s,_,r.canonical);if(!te){const ie=o.get("text-radial-offset").evaluate(_,{},r.canonical);k=ie?Ef(re,[ie*Ot,dd]):o.get("text-offset").evaluate(_,{},r.canonical).map(fe=>fe*Ot)}let ae=g?"center":o.get("text-justify").evaluate(_,{},r.canonical);const le=o.get("symbol-placement")==="point"?o.get("text-max-width").evaluate(_,{},r.canonical)*Ot:1/0,ne=()=>{r.bucket.allowVerticalPlacement&&bl(j)&&(A.vertical=wu(D,r.glyphMap,r.glyphPositions,r.imagePositions,T,le,p,re,"left",J,k,R.ax.vertical,!0,I,b))};if(!g&&te){const ie=new Set;if(ae==="auto")for(let xe=0;xe<te.values.length;xe+=2)ie.add(pd(te.values[xe]));else ie.add(ae);let fe=!1;for(const xe of ie)if(!A.horizontal[xe])if(fe)A.horizontal[xe]=A.horizontal[0];else{const ye=wu(D,r.glyphMap,r.glyphPositions,r.imagePositions,T,le,p,"center",xe,J,k,R.ax.horizontal,!1,I,b);ye&&(A.horizontal[xe]=ye,fe=ye.positionedLines.length===1)}ne()}else{ae==="auto"&&(ae=pd(re));const ie=wu(D,r.glyphMap,r.glyphPositions,r.imagePositions,T,le,p,re,ae,J,k,R.ax.horizontal,!1,I,b);ie&&(A.horizontal[ae]=ie),ne(),bl(j)&&g&&m&&(A.vertical=wu(D,r.glyphMap,r.glyphPositions,r.imagePositions,T,le,p,re,ae,J,k,R.ax.vertical,!1,I,b))}}let L=!1;if(!((e=_.icon)===null||e===void 0)&&e.name){const j=r.imageMap[_.icon.name];j&&(F=Cg(r.imagePositions[_.icon.name],o.get("icon-offset").evaluate(_,{},r.canonical),o.get("icon-anchor").evaluate(_,{},r.canonical)),L=!!j.sdf,r.bucket.sdfIcons===void 0?r.bucket.sdfIcons=L:r.bucket.sdfIcons!==L&&$t("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(j.pixelRatio!==r.bucket.pixelRatio||o.get("icon-rotate").constantOr(1)!==0)&&(r.bucket.iconsNeedLinear=!0))}const O=Df(A.horizontal)||A.vertical;(i=r.bucket).iconsInText||(i.iconsInText=!!O&&O.iconsInText),(O||F)&&T_(r.bucket,_,A,F,r.imageMap,u,I,M,k,L,r.canonical,r.subdivisionGranularity)}r.showCollisionBoxes&&r.bucket.generateCollisionDebugBuffers()},R.cP=yh,R.cQ=xh,R.cR=Lh,R.cS=function(r,e=""){const i=new bu;return function(s,o,l=""){for(const u in s.layers)o.writeMessage(3,(p,g)=>c_(p,g,l),s.layers[u])}(r,i,e),i.finish()},R.cT=function(r,e,i,s,o,l){let u=vf(r,e,i,o,0);return u=vf(u,e,s,l,1),u},R.cU=class{constructor(r){this.maxEntries=r,this.map=new Map}get(r){const e=this.map.get(r);return e!==void 0&&(this.map.delete(r),this.map.set(r,e)),e}set(r,e){if(this.map.has(r))this.map.delete(r);else if(this.map.size>
5=this.maxEntries){const i=this.map.keys().next().value;this.map.delete(i)}this.map.set(r,e)}clear(){this.map.clear()}},R.cV=Ud,R.cW=bu,R.cX=ff,R.cY=function(r,e,i,s,o){return d(this,void 0,void 0,function*(){if(Ti())try{return yield ka(r,e,i,s,o)}catch{}return function(l,u,p,g,m){const v=l.width,_=l.height;Mr&&kn||(Mr=new OffscreenCanvas(v,_),kn=Mr.getContext("2d",{willReadFrequently:!0})),Mr.width=v,Mr.height=_,kn.drawImage(l,0,0,v,_);const T=kn.getImageData(u,p,g,m);return kn.clearRect(0,0,v,_),T.data}(r,e,i,s,o)})},R.cZ=Ad,R.c_=class{constructor(r,e){this.layers={[tc]:this},this.name=tc,this.version=e?e.version:1,this.extent=e?e.extent:4096,this.length=r.length,this.features=r}feature(r){return new l_(this.features[r],this.extent)}},R.ca=class extends wn{},R.cb=og,R.cc=class extends io{},R.cd=ph,R.ce=function(r){return r<=1?1:Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))},R.cf=Id,R.cg=function(r,e,i){var s=e[0],o=e[1],l=e[2],u=i[3]*s+i[7]*o+i[11]*l+i[15];return r[0]=(i[0]*s+i[4]*o+i[8]*l+i[12])/(u=u||1),r[1]=(i[1]*s+i[5]*o+i[9]*l+i[13])/u,r[2]=(i[2]*s+i[6]*o+i[10]*l+i[14])/u,r},R.ch=class extends Ko{},R.ci=class extends t{},R.cj=function(r,e){return r[0]===e[0]&&r[1]===e[1]&&r[2]===e[2]&&r[3]===e[3]&&r[4]===e[4]&&r[5]===e[5]&&r[6]===e[6]&&r[7]===e[7]&&r[8]===e[8]&&r[9]===e[9]&&r[10]===e[10]&&r[11]===e[11]&&r[12]===e[12]&&r[13]===e[13]&&r[14]===e[14]&&r[15]===e[15]},R.ck=function(r,e){var i=r[0],s=r[1],o=r[2],l=r[3],u=r[4],p=r[5],g=r[6],m=r[7],v=r[8],_=r[9],T=r[10],b=r[11],I=r[12],M=r[13],A=r[14],D=r[15],F=e[0],k=e[1],L=e[2],O=e[3],j=e[4],Y=e[5],J=e[6],re=e[7],te=e[8],ae=e[9],le=e[10],ne=e[11],ie=e[12],fe=e[13],xe=e[14],ye=e[15];return Math.abs(i-F)<=pe*Math.max(1,Math.abs(i),Math.abs(F))&&Math.abs(s-k)<=pe*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(o-L)<=pe*Math.max(1,Math.abs(o),Math.abs(L))&&Math.abs(l-O)<=pe*Math.max(1,Math.abs(l),Math.abs(O))&&Math.abs(u-j)<=pe*Math.max(1,Math.abs(u),Math.abs(j))&&Math.abs(p-Y)<=pe*Math.max(1,Math.abs(p),Math.abs(Y))&&Math.abs(g-J)<=pe*Math.max(1,Math.abs(g),Math.abs(J))&&Math.abs(m-re)<=pe*Math.max(1,Math.abs(m),Math.abs(re))&&Math.abs(v-te)<=pe*Math.max(1,Math.abs(v),Math.abs(te))&&Math.abs(_-ae)<=pe*Math.max(1,Math.abs(_),Math.abs(ae))&&Math.abs(T-le)<=pe*Math.max(1,Math.abs(T),Math.abs(le))&&Math.abs(b-ne)<=pe*Math.max(1,Math.abs(b),Math.abs(ne))&&Math.abs(I-ie)<=pe*Math.max(1,Math.abs(I),Math.abs(ie))&&Math.abs(M-fe)<=pe*Math.max(1,Math.abs(M),Math.abs(fe))&&Math.abs(A-xe)<=pe*Math.max(1,Math.abs(A),Math.abs(xe))&&Math.abs(D-ye)<=pe*Math.max(1,Math.abs(D),Math.abs(ye))},R.cl=function(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r[6]=e[6],r[7]=e[7],r[8]=e[8],r[9]=e[9],r[10]=e[10],r[11]=e[11],r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r},R.cm=r=>r.type==="circle",R.cn=r=>r.type==="heatmap",R.co=r=>r.type==="line",R.cp=r=>r.type==="fill",R.cq=r=>r.type==="fill-extrusion",R.cr=r=>r.type==="hillshade",R.cs=r=>r.type==="color-relief",R.ct=r=>r.type==="background",R.cu=r=>r.type==="custom",R.cv=Yr,R.cw=function(r,e,i){if(e<=0)return r;const s=1/e;return i===void 0||Math.abs(i)<1e-10?Math.round(r*s)/s:(i>0?Math.ceil(r*s-1e-9):Math.floor(r*s+1e-10))/s},R.cx=function(r,e,i){const s=Ye(e.x-i.x,e.y-i.y),o=Ye(r.x-i.x,r.y-i.y);var l,u;return Qr(Math.atan2(s[0]*o[1]-s[1]*o[0],(l=s)[0]*(u=o)[0]+l[1]*u[1]))},R.cy=_s,R.cz=function(r,e){var i;if(!Fa[e])return!1;const s=r?.target,o=((i=s?.ownerDocument)===null||i===void 0?void 0:i.defaultView)||window;return r instanceof o.MouseEvent||r instanceof o.WheelEvent},R.d=yt,R.d0=class{constructor(r,e){const i=(e=this.options=Object.assign({},Xm,e)).debug;if(e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");let s=Ph(r,e);s=Ch(s,e),e.updateable&&(this.source=s),this.initializeIndex(s,e)}initializeIndex(r,e){this.tileIndex=e.cluster?new Um(e.clusterOptions):new Hm(e),r.length&&this.tileIndex.initialize(r)}getTile(r,e,i){return e=+e,i=+i,(r=+r)<0||r>24?null:this.tileIndex.getTile(r,e,i)}updateData(r,e){const i=this.options;if(!i.updateable)throw new Error("to update tile geojson `updateable` option must be set to true");let{affected:s,source:o}=function(l,u,p){const g=function(v,_){return v?{removeAll:v.removeAll,remove:ne
5w Set(v.remove||[]),add:new Map(v.add?.map(T=>[_.promoteId?T.properties[_.promoteId]:T.id,T])),update:new Map(v.update?.map(T=>[T.id,T]))}:{remove:new Set,add:new Map,update:new Map}}(u,p);let m=[];if(g.removeAll&&(m=l,l=[]),g.remove.size||g.add.size){const v=[];for(const _ of l)(g.remove.has(_.id)||g.add.has(_.id))&&v.push(_);if(v.length){m.push(...v);const _=new Set(v.map(T=>T.id));l=l.filter(T=>!_.has(T.id))}if(g.add.size){let _=Ph({type:"FeatureCollection",features:Array.from(g.add.values())},p);_=Ch(_,p),m.push(..._),l.push(..._)}}if(g.update.size){const v=new Map,_=[];for(const T of l)g.update.has(T.id)?v.set(T.id,[...v.get(T.id)||[],T]):_.push(T);for(const[T,b]of g.update){const I=v.get(T);if(!I||I.length===0)continue;const M=Nm(I,b,p);m.push(...I,...M),_.push(...M)}l=_}return{affected:m,source:l}}(this.source,r,i);e&&({affected:s,source:o}=this.filterUpdate(o,s,e)),s.length&&(this.source=o,this.tileIndex.updateIndex(o,s,i))}filterUpdate(r,e,i){const s=new Set;for(const o of r)o.id!=null&&(i(_u(o))||(e.push(o),s.add(o.id)));return{affected:e,source:r=r.filter(o=>!s.has(o.id))}}getData(){if(!this.options.updateable)throw new Error("to retrieve data the `updateable` option must be set to true");return{type:"FeatureCollection",features:this.source.map(r=>_u(r))}}updateClusterOptions(r,e){const i=this.options.cluster;this.options.cluster=r,this.options.clusterOptions=e,i!=r?this.initializeIndex(this.source,this.options):this.tileIndex.updateIndex(this.source,[],this.options)}getClusterExpansionZoom(r){return this.tileIndex.getClusterExpansionZoom(r)}getClusterChildren(r){return this.tileIndex.getChildren(r)}getClusterLeaves(r,e,i){return this.tileIndex.getLeaves(r,e,i)}},R.d1=fr,R.e=Fi,R.f=qi,R.g=lr,R.h=r=>d(void 0,void 0,void 0,function*(){if(r.byteLength===0)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(r)],{type:"image/png"});try{return createImageBitmap(e)}catch(i){throw new Error(`Could not load image because of ${yt(i).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),R.i=Zt,R.j=r=>new Promise((e,i)=>{const s=new Image;s.onload=()=>{e(s),URL.revokeObjectURL(s.src),s.onload=null,window.requestAnimationFrame(()=>s.src=za)},s.onerror=()=>i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const o=new Blob([new Uint8Array(r)],{type:"image/png"});s.src=r.byteLength?URL.createObjectURL(o):za}),R.k=(r,e)=>en(Fi(r,{type:"json"}),e),R.l=Ln,R.m=en,R.n=xs,R.o=(r,e)=>en(Fi(r,{type:"arrayBuffer"}),e),R.p=yp,R.q=function(r){return new bu(r).readFields(bg,[])},R.r=function(r){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(r))},R.s=uo,R.t=Vl,R.u=li,R.v=Zs,R.w=$t,R.x=ce,R.y=Ml,R.z=Ci}),qr("worker",["./shared"],function(R){class d{constructor(W,K){this.keyCache={},W&&this.replace(W,K)}replace(W,K){this._layerConfigs={},this._layers={},this.update(W,[],K)}update(W,K,ee){for(const Me of W){this._layerConfigs[Me.id]=Me;const $e=this._layers[Me.id]=R.bT(Me,ee);$e._featureFilter=R.ah($e.filter,ee),this.keyCache[Me.id]&&delete this.keyCache[Me.id]}for(const Me of K)delete this.keyCache[Me],delete this._layerConfigs[Me],delete this._layers[Me];this.familiesBySource={};const ge=R.cJ(Object.values(this._layerConfigs),this.keyCache);for(const Me of ge){const $e=Me.map(_t=>this._layers[_t.id]),ze=$e[0];if(ze.isHidden())continue;const Ge=ze.source||"";let Le=this.familiesBySource[Ge];Le||(Le=this.familiesBySource[Ge]={});const Ye=ze.sourceLayer||R.ag;let De=Le[Ye];De||(De=Le[Ye]=[]),De.push($e)}}}class Te{constructor(W){const K={},ee=[];for(const ze in W){const Ge=W[ze],Le=K[ze]={};for(const Ye in Ge){const De=Ge[+Ye];if(!De||De.bitmap.width===0||De.bitmap.height===0)continue;const _t={x:0,y:0,w:De.bitmap.width+2,h:De.bitmap.height+2};ee.push(_t),Le[Ye]={rect:_t,metrics:De.metrics}}}const{w:ge,h:Me}=R.p(ee),$e=new R.t({width:ge||1,height:Me||1});for(const ze in W){const Ge=W[ze];for(const Le in Ge){const Ye=Ge[+Le];if(!Ye||Ye.bitmap.width===0||Ye.bitmap.height===0)continue;const De=K[ze][Le].rect;R.t.copy(Ye.bitmap,$e,{x:0,y:0},{x:De.x+1,y:De.y+1},Ye.bitmap)}}this.image=$e,this.positions=K}}R.cK("GlyphAtlas",Te);class Tr{constructor(W){this.tileID=new R.a3(W.tileID.overscaledZ,W.tileID.wrap,W.tileID.canonical.z,W.tileID.canonical.x,W.tileID.canonical.y),this.uid=W.uid,this.zoom=W.zoom,this.pixelRatio=W.pixelRatio,this.tileSize=W.tileSize,this.source=W.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=W.showCollisionBoxes,this.collectResourceTiming=!!W.collectResourceTiming,this.returnDependencies=!!W.returnDependencies,this.promoteId=W.promoteId,this.inFlightDependencies=[]}parse(W,K,ee,ge,Me){return R._(this,void 0,void 0,function*(){this.status="parsing",this.data=W,this.collisionBoxArray=new R.ae;const $e=new R.cL(Object.keys(W.layers).sort()),ze=new R.cM(this.tileID,this.promoteId);ze.bucketLayerIDs=[];const Ge={},Le={featureIndex:ze,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:ee,subdivisionGranularity:Me},Ye=K.familiesBySource[this.source];for(const ke in Ye){const Ft=W.layers[ke];if(!Ft)continue;Ft.version===1&&R.w(`Vector tile source "${this.source}" layer "${ke}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const $t=$e.encode(ke),Si=[];for(let Zt=0;Zt<Ft.length;Zt++){const mi=Ft.feature(Zt),Jr=ze.getId(mi,ke);Si.push({feature:mi,id:Jr,index:Zt,sourceLayerIndex:$t})}for(const Zt of Ye[ke]){const mi=Zt[0];mi.source!==this.source&&R.w(`layer.source = ${mi.source} does not equal this.source = ${this.source}`),mi.isHidden(this.zoom,!0)||(wi(Zt,this.zoom,ee),(Ge[mi.id]=mi.createBucket({index:ze.bucketLayerIDs.length,layers:Zt,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:$t,s
5ourceID:this.source})).populate(Si,Le,this.tileID.canonical),ze.bucketLayerIDs.push(Zt.map(Jr=>Jr.id)))}}const De=R.bY(Le.glyphDependencies,ke=>Object.keys(ke).map(Number));for(const ke of this.inFlightDependencies)ke?.abort();this.inFlightDependencies=[];let _t=Promise.resolve({});if(Object.keys(De).length){const ke=new AbortController;this.inFlightDependencies.push(ke),_t=ge.sendAsync({type:"GG",data:{stacks:De,source:this.source,tileID:this.tileID,type:"glyphs"}},ke)}const yt=Object.keys(Le.iconDependencies);let Zi=Promise.resolve({});if(yt.length){const ke=new AbortController;this.inFlightDependencies.push(ke),Zi=ge.sendAsync({type:"GI",data:{icons:yt,source:this.source,tileID:this.tileID,type:"icons"}},ke)}const Ri=Object.keys(Le.patternDependencies);let Pr=Promise.resolve({});if(Ri.length){const ke=new AbortController;this.inFlightDependencies.push(ke),Pr=ge.sendAsync({type:"GI",data:{icons:Ri,source:this.source,tileID:this.tileID,type:"patterns"}},ke)}const Yr=Le.dashDependencies;let _s=Promise.resolve({});if(Object.keys(Yr).length){const ke=new AbortController;this.inFlightDependencies.push(ke),_s=ge.sendAsync({type:"GDA",data:{dashes:Yr}},ke)}const[si,zn,Fi,ys]=yield Promise.all([_t,Zi,Pr,_s]),Ir=new Te(si),Kr=new R.cN(zn,Fi);for(const ke in Ge){const Ft=Ge[ke];Ft instanceof R.af?(wi(Ft.layers,this.zoom,ee),R.cO({bucket:Ft,glyphMap:si,glyphPositions:Ir.positions,imageMap:zn,imagePositions:Kr.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:Le.subdivisionGranularity})):Ft.hasDependencies&&(Ft instanceof R.cP||Ft instanceof R.cQ||Ft instanceof R.cR)&&(wi(Ft.layers,this.zoom,ee),Ft.addFeatures(Le,this.tileID.canonical,Kr.patternPositions,ys))}return this.status="done",{buckets:Object.values(Ge).filter(ke=>!ke.isEmpty()),featureIndex:ze,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ir.image,imageAtlas:Kr,dashPositions:ys,glyphMap:this.returnDependencies?si:null,iconMap:this.returnDependencies?zn:null,glyphPositions:this.returnDependencies?Ir.positions:null}})}}function wi(qe,W,K){const ee=new R.J(W);for(const ge of qe)ge.recalculate(ee,K)}class Wr{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(W,K){this.loading[W]=K}finishLoading(W){delete this.loading[W]}abort(W){const K=this.loading[W];K?.abort&&(K.abort.abort(),delete this.loading[W])}setParsing(W,K){this.parsing[W]=K}consumeParsing(W){const K=this.parsing[W];if(K)return delete this.parsing[W],K}clearParsing(W){delete this.parsing[W]}markLoaded(W,K){this.loaded[W]=K}getLoaded(W){const K=this.loaded[W];if(K)return K}removeLoaded(W){delete this.loaded[W]}clearLoaded(){this.loaded={}}}class An{constructor(W){this.start=`${W}#start`,this.end=`${W}#end`,this.measure=W,performance.mark(this.start)}finish(){performance.mark(this.end);let W=performance.getEntriesByName(this.measure);return W.length===0&&(performance.measure(this.measure,this.start,this.end),W=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),W}}class Gt{constructor(W,K,ee,ge,Me){this.type=W,this.properties=ee||{},this.extent=Me,this.pointsArray=K,this.id=ge}loadGeometry(){return this.pointsArray.map(W=>W.map(K=>new R.P(K.x,K.y)))}}class Sr{constructor(W,K,ee){this.version=2,this._myFeatures=W,this.name=K,this.length=W.length,this.extent=ee}feature(W){return this._myFeatures[W]}}class He{constructor(){this.layers={}}addLayer(W){this.layers[W.name]=W}}function Hr(qe){let W=R.cS(qe);return W.byteOffset===0&&W.byteLength===W.buffer.byteLength||(W=new Uint8Array(W)),{vectorTile:qe,rawData:W.buffer}}function Ti(qe,W,K){const{extent:ee}=qe,ge=Math.pow(2,K.z-W.z),Me=(K.x-W.x*ge)*ee,$e=(K.y-W.y*ge)*ee,ze=[];for(let Ge=0;Ge<qe.length;Ge++){const Le=qe.feature(Ge);let Ye=Le.loadGeometry();for(const _t of Ye)for(const yt of _t)yt.x=yt.x*ge-Me,yt.y=yt.y*ge-$e;const De=128;Ye=R.cT(Ye,Le.type,-De,-De,ee+De,ee+De),Ye.length!==0&&ze.push(new Gt(Le.type,Ye,Le.properties,Le.id,ee))}return new Sr(ze,qe.name,ee)}class pe{constructor(W,K,ee){this.actor=W,this.layerIndex=K,this.availableImages=ee,this.tileState=new Wr,this.overzoomedTileResultCache=new R.cU(1e3)}loadVectorTile(W,K){try{return{vectorTile:W.encoding!=="mlt"?new R.cV(new R.cW(K)):new R.cX(K),rawData:K}}catch(ee){const ge=new Uint8Array(K);let Me=`Unable to parse the tile at ${W.request.url}, `;throw Me+=ge[0]===31&&ge[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${R.d(ee).message}`,new Error(Me)}}loadTile(W){return R._(this,void 0,void 0,function*(){const{uid:K,overzoomParameters:ee}=W;ee&&(W.request=ee.overzoomRequest);const ge=this._startRequestTiming(W),Me=new Tr(W);this.tileState.startLoading(K,Me);const $e=new AbortController;Me.abort=$e;try{const ze=yield R.o(W.request,$e);if(W.etag&&W.etag===ze.etag)return this.tileState.finishLoading(K),this._getEtagUnmodifiedResult(ze,ge);const Ge=this.loadVectorTile(W,ze.data);if(this.tileState.finishLoading(K),!Ge)return null;let{vectorTile:Le,rawData:Ye}=Ge;ee&&({vectorTile:Le,rawData:Ye}=this._getOverzoomTile(W,Le));const De=this._getExpiryData(ze),_t=this._finishRequestTiming(ge);Me.vectorTile=Le,this.tileState.markLoaded(K,Me);const yt={rawData:Ye,cacheControl:De,resourceTiming:_t};this.tileState.setParsing(K,yt);try{return yield this._parseWorkerTile(Me,W,yt)}finally{this.tileState.clearParsing(K)}}catch(ze){throw this.tileState.finishLoading(K),Me.status="done",this.tileState.markLoaded(K,Me),ze}})}_getEtagUnmodifiedResult(W,K){const ee=this._getExpiryData(W),ge=this._finishRequestTiming(K);return R.e({etagUnmodified:!0},ee,ge)}_parseWorkerTile(W,K,ee){return R._(this,void 0,void 0,function*(){let ge=yield W.parse(W.vectorTile,this.layerIndex,this.availableImages,this.actor,K.subdivisionGranularity);if(ee){const{rawData:Me,cacheControl:$e,resourceTiming:ze}=ee;ge=R.e({rawTileData:Me.slice(0),encoding:K.encoding},ge,$e,ze)}return ge})}_getExpiryData({expires:W,cacheControl:K,etag:ee}){const ge={};return W&&(ge.expires=W),K&&(ge.cacheControl=K),ee&&(ge.etag=ee),ge}_startRequestTiming(W){var K;if(!((K=W.request)===null||K===void 0)&&K.collectResourceTiming)return new An(W.request.url)}_finishRequestTiming(W){const K=W?.finish();return K?{resourceTiming:JSON.parse(JSON.stringify(K))}:{}}_getOverzoomTile(W,K){var ee;const{tileID:ge,source:Me,overzoomParameters:$e}=W,{maxZoomTileID:ze}=$e,Ge=`${ze.key}_${ge.key}_${(ee=W.request)===null||ee===void 0?void 0:ee.url}`,Le=this.overzoomedTileResultCache.get(Ge);if(Le)return Le;const Ye=new He,De=this.layerIndex.familiesBySource[Me];for(const yt in De){const Zi=K.layers[yt];if(!Zi)continue;const Ri=Ti(Zi,ze,ge.canonical);Ri.length>0&&Ye.addLayer(Ri)}const _t=Hr(Ye);return this.overzoomedTileResultCache.set(Ge,_t),_t}reloadTile(W){return R._(this,void 0,void 0,function*(){const K=W.uid,ee=this.tileState.getLoaded(K);if(!ee)throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");if(ee.showCollisionBoxes=W.showCollisionBoxes,ee.status==="parsing"){const ge=this.tileState.consumeParsing(K);return yield this._parseWorkerTile(ee,W,ge)}if(ee.status==="done"&&ee.vectorTile)return yield this._parseWorkerTile(ee,W)})}abortTile(W){return R._(this,void 0,void 0,function*(){this.tileState.abort(W.uid)})}removeTile(W){return R._(this,void 0,void 0,function*(){this.tileState.removeLoaded(W.uid)})}}class zt{constructor(){this.loaded={}}loadTile(W){return R._(this,void 0,void 0,function*(){const{uid:K,encoding:ee,rawImageData:ge,redFactor:Me,greenFactor:$e,blueFactor:ze,baseShift:Ge}=W,Le=ge.width+2,Ye=ge.height+2,De=R.b(ge)?new R.R({width:Le,height:Ye},yield R.cY(ge,-1,-1,Le,Ye)):ge,_t=new R.cZ(K,De,ee,Me,$e,ze,Ge);return this.loaded||(this.loaded={}),this.loaded[K]=_t,_t})}removeTile(W){const K=this.loaded,ee=W.uid;K?.[ee]&&delete K[ee]}}class Xr{constructor(W,K,ee,ge=Dn){this.actor=W,this.layerIndex=K,this.availableImages=ee,this.tileState=new Wr,this._createGeoJSONIndex=ge}loadVectorTile(W){if(!this._geoJSONIndex)throw new Error("Unable to parse the data into a cluster or geojson");const{z:K,x:ee,y:ge}=W.tileID.canonical,Me=this._geoJSONIndex.getTile(K,ee,ge);return Me?Hr(new R.c_(Me.features,{version:2,extent:R.a6})):null}loadTile(W){return R._(this,void 0,void 0,function*(){const{uid:K}=W,ee=new Tr(W);ee.abort=new AbortController;try{const ge=this.loadVectorTile(W);if(!ge)return null;const{vectorTile:Me,rawData:$e}=ge;ee.vectorTile=Me,this.tileState.markLoaded(K,ee);const ze={rawData:$e};this.tileState.setParsing(K,ze);try{return yield this._parseWorkerTile(ee,W,ze)}finally{this.tileState.clearParsing(K)}}catch(ge){throw ee.status="done",this.tileState.markLoaded(K,ee),ge}})}_reloadLoadedTile(W){return R._(this,void 0,void 0,function*(){const K=W.uid,ee=this.tileState.getLoaded(K);if(!ee)throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");if(ee.showCollisionBoxes=W.showCollisionBoxes,ee.status==="parsing"){const ge=this.tileState.consumeParsing(K);return yield this._parseWorkerTile(ee,W,ge)}if(ee.status==="done"&&ee.vectorTile)return yield this._parseWorkerTile(ee,W)})}_parseWorkerTile(W,K,ee){return R._(this,void 0,void 0,function*(){let ge=yield W.parse(W.vectorTile,this.layerIndex,this.availableImages,this.actor,K.subdivisionGranularity);if(ee){const{rawData:Me}=ee;ge=R.e({rawTileData:Me.slice(0),encoding:"mvt"},ge)}return ge})}abortTile(W){return R._(this,void 0,void 0,function*(){this.tileState.abort(W.uid)})}removeTile(W){return R._(this,void 0,void 0,function*(){this.tileState.removeLoaded(W.uid)})}loadData(W){return R._(this,void 0,void 0,function*(){var K;
5(K=this._pendingRequest)===null||K===void 0||K.abort();const ee=this._startRequestTiming(W);this._pendingRequest=new AbortController;try{yield this.loadAndProcessGeoJSON(W,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();const ge={};return W.request&&(ge.data=W.data),this._finishRequestTiming(ee,W,ge),ge}catch(ge){if(delete this._pendingRequest,!R.$(ge))throw ge;return{abandoned:!0}}})}_startRequestTiming(W){var K;if(!((K=W.request)===null||K===void 0)&&K.collectResourceTiming)return new An(W.request.url)}_finishRequestTiming(W,K,ee){const ge=W?.finish();ge&&(ee.resourceTiming={[K.source]:JSON.parse(JSON.stringify(ge))})}reloadTile(W){return this.tileState.getLoaded(W.uid)?this._reloadLoadedTile(W):this.loadTile(W)}loadAndProcessGeoJSON(W,K){return R._(this,void 0,void 0,function*(){var ee;if(W.request&&(W.data=(yield R.k(W.request,K)).data),W.data)return W.data=this._filterGeoJSON(W.data,W.filter),void(this._geoJSONIndex=this._createGeoJSONIndex(W.data,W));if(W.dataDiff)return(ee=this._geoJSONIndex)!==null&&ee!==void 0||(this._geoJSONIndex=this._createGeoJSONIndex({type:"FeatureCollection",features:[]},W)),void this._geoJSONIndex.updateData(W.dataDiff,this._getFilterPredicate(W.filter));if(W.updateCluster&&this._geoJSONIndex.updateClusterOptions(W.geojsonVtOptions.cluster,ms(W)),this._geoJSONIndex==null)throw new Error(`Input data given to '${W.source}' is not a valid GeoJSON object.`)})}_filterGeoJSON(W,K){if(W.type!=="FeatureCollection")return W;const ee=this._getFilterPredicate(K);return ee?{type:"FeatureCollection",features:W.features.filter(ge=>ee(ge))}:W}_getFilterPredicate(W){if(typeof W!="boolean"&&!W?.length)return;const K=R.c$(W,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(K.result==="error")throw new Error(K.value.map(ee=>`${ee.key}: ${ee.message}`).join(", "));return ee=>K.value.evaluate({zoom:0},ee)}removeSource(W){return R._(this,void 0,void 0,function*(){var K;(K=this._pendingRequest)===null||K===void 0||K.abort()})}getClusterExpansionZoom(W){return this._geoJSONIndex.getClusterExpansionZoom(W.clusterId)}getClusterChildren(W){return this._geoJSONIndex.getClusterChildren(W.clusterId)}getClusterLeaves(W){return this._geoJSONIndex.getClusterLeaves(W.clusterId,W.limit,W.offset)}}function Dn(qe,W){const K=R.e(W.geojsonVtOptions||{},{updateable:!0,clusterOptions:ms(W)});return new R.d0(qe,K)}function ms({geojsonVtOptions:qe,clusterProperties:W}){if(!W||!qe.clusterOptions)return qe.clusterOptions;const K={},ee={},ge={accumulated:null,zoom:0},Me={properties:null},$e=Object.keys(W);for(const ze of $e){const[Ge,Le]=W[ze],Ye=R.c$(Le),De=R.c$(typeof Ge=="string"?[Ge,["accumulated"],["get",ze]]:Ge);K[ze]=Ye.value,ee[ze]=De.value}return qe.clusterOptions.map=ze=>{Me.properties=ze;const Ge={};for(const Le of $e)Ge[Le]=K[Le].evaluate(ge,Me);return Ge},qe.clusterOptions.reduce=(ze,Ge)=>{Me.properties=Ge;for(const Le of $e)ge.accumulated=ze[Le],ze[Le]=ee[Le].evaluate(ge,Me)},qe.clusterOptions}class gs{constructor(W){this.self=W,this.actor=new R.N(W),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(K,ee)=>{if(this.externalWorkerSourceTypes[K])throw new Error(`Worker source with name "${K}" already registered.`);this.externalWorkerSourceTypes[K]=ee},this.self.addProtocol=R.cH,this.self.removeProtocol=R.cI,this.self.registerRTLTextPlugin=K=>{R.d1.setMethods(K)},this.self.makeRequest=R.m,this.actor.registerMessageHandler("LDT",(K,ee)=>this._getDEMWorkerSource(K,ee.source).loadTile(ee)),this.actor.registerMessageHandler("RDT",(K,ee)=>R._(this,void 0,void 0,function*(){this._getDEMWorkerSource(K,ee.source).removeTile(ee)})),this.actor.registerMessageHandler("GCEZ",(K,ee)=>R._(this,void 0,void 0,function*(){return this._getWorkerSource(K,ee.type,ee.source).getClusterExpansionZoom(ee)})),this.actor.registerMessageHandler("GCC",(K,ee)=>R._(this,void 0,void 0,function*(){return this._getWorkerSource(K,ee.type,ee.source).getClusterChildren(ee)})),this.actor.registerMessageHandler("GCL",(K,ee)=>R._(this,void 0,void 0,function*(){return this._getWorkerSource(K,ee.type,ee.source).getClusterLeaves(ee)})),this.actor.registerMessageHandler("LD",(K,ee)=>this._getWorkerSource(K,ee.type,ee.source).loadData(ee)),this.actor.registerMessageHandler("LT",(K,ee)=>this._getWorkerSource(K,ee.type,ee.source).loadTile(ee)),this.actor.registerMessageHandler("RT",(K,ee)=>this._getWorkerSource(K,ee.type,ee.source).reloadTile(ee)),this.actor.registerMessageHandler("AT",(K,ee)=>this._getWorkerSource(K,ee.type,ee.source).abortTile(ee)),this.actor.registerMessageHandler("RMT",(K,ee)=>this._getWorkerSource(K,ee.type,ee.source).removeTile(ee)),this.actor.registerMessageHandler("RS",(K,ee)=>R._(this,void 0,void 0,function*(){var ge,Me;if(!(!((Me=(ge=this.workerSources[K])===null||ge===void 0?void 0:ge[ee.type])===null||Me===void 0)&&Me[ee.source]))return;const $e=this.workerSources[K][ee.type][ee.source];delete this.workerSources[K][ee.type][ee.source],$e.removeSource!==void 0&&$e.removeSource(ee)})),this.actor.registerMessageHandler("RM",K=>R._(this,void 0,void 0,function*(){delete this.layerIndexes[K],delete this.availableImages[K],delete this.workerSources[K],delete this.demWorkerSources[K],this.globalStates.delete(K)})),this.actor.registerMessageHandler("SR",(K,ee)=>R._(this,void 0,void 0,function*(){this.referrer=ee})),this.actor.registerMessageHandler("SRPS",(K,ee)=>this._syncRTLPluginState(K,ee)),this.actor.registerMessageHandler("IS",(K,ee)=>R._(this,void 0,void 0,function*(){this.self.importScripts(ee)})),this.actor.registerMessageHandler("SI",(K,ee)=>this._setImages(K,ee)),this.actor.registerMessageHandler("UL",(K,ee)=>R._(this,void 0,void 0,function*(){this._getLayerIndex(K).update(ee.layers,ee.removedIds,this._getGlobalState(K))})),this.actor.registerMessageHandler("UGS",(K,ee)=>R._(this,void 0,void 0,function*(){const ge=this._getGlobalState(K);for(const Me in ee)ge[Me]=ee[Me]})),this.actor.registerMessageHandler("SL",(K,ee)=>R._(this,void 0,void 0,function*(){this._getLayerIndex(K).replace(ee,this._getGlobalState(K))}))}_getGlobalState(W){let K=this.globalStates.get(W);return K||(K={},this.globalStates.set(W,K)),K}_setImages(W,K){return R._(this,void 0,void 0,function*(){this.availableImages[W]=K;for(const ee in this.workerSources[W]){const ge=this.workerSources[W][ee];for(const Me in ge)ge[Me].availableImages=K}})}_syncRTLPluginState(W,K){return R._(this,void 0,void 0,function*(){return yield R.d1.syncState(K,this.self.importScripts)})}_getAvailableImages(W){let K=this.availableImages[W];return K||(K=[]),K}_getLayerIndex(W){let K=this.layerIndexes[W];return K||(K=this.layerIndexes[W]=new d),K}_getWorkerSource(W,K,ee){var ge,Me;if((ge=this.workerSources)[W]||(ge[W]={}),(Me=this.workerSources[W])[K]||(Me[K]={}),!this.workerSources[W][K][ee]){const $e={sendAsync:(ze,Ge)=>(ze.targetMapId=W,this.actor.sendAsync(ze,Ge))};switch(K){case"vector":this.workerSources[W][K][ee]=new pe($e,this._getLayerIndex(W),this._getAvailableImages(W));break;case"geojson":this.workerSources[W][K][ee]=new Xr($e,this._getLayerIndex(W),this._getAvailableImages(W));break;default:this.workerSources[W][K][ee]=new this.externalWorkerSourceTypes[K]($e,this._getLayerIndex(W),this._getAvailableImages(W))}}return this.workerSources[W][K][ee]}_getDEMWorkerSource(W,K){var ee,ge;return(ee=this.demWorkerSources)[W]||(ee[W]={}),(ge=this.demWorkerSources[W])[K]||(ge[K]=new zt),this.demWorkerSources[W][K]}}return R.i(self)&&(self.worker=new gs(self)),gs}),qr("index",["exports","./shared"],function(R,d){var Te="5.24.0";function Tr(){var h=new d.A(4);return d.A!=Float32Array&&(h[1]=0,h[2]=0),h[0]=1,h[3]=1,h}let wi,Wr,An;const Gt={frame(h,t,n,a){const c=a||window,f=c.requestAnimationFrame(x=>{y(),t(x)}),{unsubscribe:y}=d.s(h.signal,"abort",()=>{y(),c.cancelAnimationFrame(f),n(new d.a(h.signal.reason))},!1)},frameAsync(h,t){return new Promise((n,a)=>{this.frame(h,n,a,t)})},getImageData(h,t=0){return this.getImageCanvasContext(h).getImageData(-t,-t,h.width+2*t,h.height+2*t)},getImageCanvasContext(h){const t=window.document.createElement("canvas"),n=t.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("failed to create canvas 2d context");return t.width=h.width,t.height=h.height,n.drawImage(h,0,0,h.width,h.height),n},resolveURL:h=>(wi||(wi=document.createElement("a")),wi.href=h,wi.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return An!==void 0?An:!!matchMedia&&(Wr!=null||(Wr=matchMedia("(prefers-reduced-motion: reduce)")),Wr.matches)},set prefersReducedMotion(h){An=h}},Sr=new class{constructor(){this._frozenAt=null}getCurrentTime(){return this._frozenAt!==null?this._frozenAt:performance.now()}setNow(h){this._frozenAt=h}restoreNow(){this._frozenAt=null}isFrozen(){return this._frozenAt!==null}};function He(){return Sr.getCurrentTime()}var Hr,Ti;class pe{static create(t,n,a){const c=window.document.createElement(t);return n!==void 0&&(c.className=n),a&&a.appendChild(c),c}static createNS(t,n){return window.document.createElementNS(t,n)}static disableDrag(){pe.docStyle&&pe.selectProp&&(pe.userSelect=pe.docStyle[pe.selectProp],pe.docStyle[pe.selectProp]="none")}static enableDrag(){pe.docStyle&&pe.selectProp&&(pe.docStyle[pe.selectProp]=pe.userSelect)}static suppressClickInternal(t){t.preventDefault(),t.stopPropagation(),window.removeEventListener("click",pe.suppressClickInternal,!0)}static suppressClick(){window.addEventListener("click",pe.suppressClickInternal,!0),window.setTimeout(()=>{window.removeEventListener("click",pe.suppressClickInternal,!0)},0)}static getScale(t){const n=t.getBoundingClientRect();return{x:n.width/t.offsetWidth||1,y:n.height/t.offsetHeight||1,boundingClientRect:n}}static getPoint(t,n,a){const c=n.boundingClientRect;return new d.P((a.clientX-c.left)/n.x-t.clientLeft,(a.clientY-c.top)/n.y-t.clientTop)}static mousePos(t,n){const a=pe.getScale(t);return pe.getPoint(t,a,n)}static touchPos(t,n){const a=[],c=pe.getScale(t);for(const f of n)a.push(pe.getPoint(t,c,f));return a}static sanitize(t){const n=new DOMParser().parseFromString(t,"text/html").body||document.createElement("body"),a=n.querySelectorAll("script");for(const c of a)c.remove();return pe.clean(n),n.innerHTML}static isPossiblyDangerous(t,n){const a=n.replace(/\s+/g,"").toLowerCase();return!(!["src","href","xlink:href"].includes(t)||!a.includes("javascript:")&&!a.includes("data:"))||!!t.startsWith("on")||void 0}static clean(t){const n=t.children;for(const a of n)pe.removeAttributes(a),pe.clean(a)}static removeAttributes(t){for(const{name:n,value:a}of t.attributes)pe.isPossiblyDangerous(n,a)&&t.removeAttribute(n)}}pe.docStyle=typeof window<"u"&&((Hr=window.document)===null||Hr===void 0?void 0:Hr.documentElement.style),pe.selectProp=!pe.docStyle||"userSelect"in pe.docStyle?"userSelect":"webkitUserSelect",function(h){let t,n,a,c;h.resetRequestQueue=()=>{t=[],n=0,a=0,c={}},h.addThrottleControl=w=>{const S=a++;return c[S]=w,S},h.removeThrottleControl=w=>{delete c[w],y()},h.getImage=(w,S,P=!0)=>new Promise((E,C)=>{w.headers||(w.headers={}),w.headers.accept="image/webp,*/*",d.e(w,{type:"image"}),t.push({abortController:S,requestParameters:w,supportImageRefresh:P,state:"queued",onError:z=>{C(z)},onSuccess:z=>{E(z)}}),y()});const f=w=>
5d._(this,void 0,void 0,function*(){w.state="running";const{requestParameters:S,supportImageRefresh:P,onError:E,onSuccess:C,abortController:z}=w,B=P===!1&&!d.i(self)&&!d.g(S.url)&&(!S.headers||Object.keys(S.headers).reduce((N,$)=>N&&$==="accept",!0));n++;const V=B?x(S,z):d.m(S,z);try{const N=yield V;delete w.abortController,w.state="completed",N.data instanceof HTMLImageElement||d.b(N.data)?C(N):N.data&&C({data:yield(G=N.data,typeof createImageBitmap=="function"?d.h(G):d.j(G)),cacheControl:N.cacheControl,expires:N.expires})}catch(N){delete w.abortController,E(d.d(N))}finally{n--,y()}var G}),y=()=>{const w=(()=>{for(const S of Object.keys(c))if(c[S]())return!0;return!1})()?d.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:d.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let S=n;S<w&&t.length>0;S++){const P=t.shift();P.abortController.signal.aborted?S--:f(P)}},x=(w,S)=>new Promise((P,E)=>{const C=new Image,z=w.url,B=w.credentials;B&&B==="include"?C.crossOrigin="use-credentials":(B&&B==="same-origin"||!d.f(z))&&(C.crossOrigin="anonymous"),S.signal.addEventListener("abort",()=>{C.src="",E(new d.a(S.signal.reason))}),C.fetchPriority="high",C.onload=()=>{C.onerror=C.onload=null,P({data:C})},C.onerror=()=>{C.onerror=C.onload=null,S.signal.aborted||E(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},C.src=z})}(Ti||(Ti={})),Ti.resetRequestQueue();class zt{constructor(t){this._transformRequestFn=t??null}transformRequest(t,n){return this._transformRequestFn&&this._transformRequestFn(t,n)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function Xr(h){const t=[];if(typeof h=="string")t.push({id:"default",url:h});else if(h&&h.length>0){const n=[];for(const{id:a,url:c}of h){const f=`${a}${c}`;n.includes(f)||(n.push(f),t.push({id:a,url:c}))}}return t}function Dn(h,t,n){try{const a=new URL(h);return a.pathname+=`${t}${n}`,a.toString()}catch{throw new Error(`Invalid sprite URL "${h}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function ms(h){const{userImage:t}=h;return!(!t?.render||!t.render()||(h.data.replace(new Uint8Array(t.data.buffer)),0))}class gs extends d.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new d.R({width:1,height:1}),this.dirty=!0}destroy(){this.atlasTexture&&(this.atlasTexture.destroy(),this.atlasTexture=null);for(const t of Object.keys(this.images))this.removeImage(t);this.patterns={},this.atlasImage=new d.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:n,promiseResolve:a}of this.requestors)a(this._getImagesForIds(n));this.requestors=[]}}getImage(t){const n=this.images[t];if(n&&!n.data&&n.spriteData){const a=n.spriteData;n.data=new d.R({width:a.width,height:a.height},a.context.getImageData(a.x,a.y,a.width,a.height).data),n.spriteData=null}return n}addImage(t,n){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,n)&&(this.images[t]=n)}_validate(t,n){let a=!0;const c=n.data||n.spriteData;return this._validateStretch(n.stretchX,c?.width)||(this.fire(new d.l(new Error(`Image "${t}" has invalid "stretchX" value`))),a=!1),this._validateStretch(n.stretchY,c?.height)||(this.fire(new d.l(new Error(`Image "${t}" has invalid "stretchY" value`))),a=!1),this._validateContent(n.content,n)||(this.fire(new d.l(new Error(`Image "${t}" has invalid "content" value`))),a=!1),a}_validateStretch(t,n){if(!t)return!0;let a=0;for(const c of t){if(c[0]<a||c[1]<c[0]||n<c[1])return!1;a=c[1]}return!0}_validateContent(t,n){if(!t)return!0;if(t.length!==4)return!1;const a=n.spriteData,c=a?.width||n.data.width,f=a?.height||n.data.height;return!(t[0]<0||c<t[0]||t[1]<0||f<t[1]||t[2]<0||c<t[2]||t[3]<0||f<t[3]||t[2]<t[0]||!(t[3]>=t[1]))}updateImage(t,n,a=!0){const c=this.getImage(t);if(a&&(c.data.width!==n.data.width||c.data.height!==n.data.height))throw new Error(`size mismatch between old image (${c.data.width}x${c.data.height}) and new image (${n.data.width}x${n.data.height}).`);n.version=c.version+1,this.images[t]=n,this.updatedImages[t]=!0}removeImage(t){var n;const a=this.images[t];delete this.images[t],delete this.patterns[t],!((n=a.userImage)===null||n===void 0)&&n.onRemove&&a.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(t){return new Promise((n,a)=>{let c=!0;if(!this.isLoaded())for(const f of t)this.images[f]||(c=!1);this.isLoaded()||c?n(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:n})})}_getImagesForIds(t){var n;const a={};for(const c of t){let f=this.getImage(c);f||(this.fire(new d.n("styleimagemissing",{id:c})),f=this.getImage(c)),f?a[c]={data:f.data.clone(),pixelRatio:f.pixelRatio,sdf:f.sdf,version:f.version,stretchX:f.stretchX,stretchY:f.stretchY,content:f.content,textFitWidth:f.textFitWidth,textFitHeight:f.textFitHeight,hasRenderCallback:!!(!((n=f.userImage)===null||n===void 0)&&n.render)}:d.w(`Image "${c}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return a}getPixelSize(){const{width:t,height:n}=this.atlasImage;return{width:t,height:n}}getPattern(t){const n=this.patterns[t],a=this.getImage(t);if(!a)return null;if(n&&n.position.version===a.version)return n.position;if(n)n.position.version=a.version;else{const c={w:a.data.width+2,h:a.data.height+2,x:0,y:0},f=new d.I(c,a);
5this.patterns[t]={bin:c,position:f}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const n=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new d.T(t,this.atlasImage,n.RGBA),this.atlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const f in this.patterns)t.push(this.patterns[f].bin);const{w:n,h:a}=d.p(t),c=this.atlasImage;c.resize({width:n||1,height:a||1});for(const f in this.patterns){const{bin:y}=this.patterns[f],x=y.x+1,w=y.y+1,S=this.getImage(f).data,P=S.width,E=S.height;d.R.copy(S,c,{x:0,y:0},{x,y:w},{width:P,height:E}),d.R.copy(S,c,{x:0,y:E-1},{x,y:w-1},{width:P,height:1}),d.R.copy(S,c,{x:0,y:0},{x,y:w+E},{width:P,height:1}),d.R.copy(S,c,{x:P-1,y:0},{x:x-1,y:w},{width:1,height:E}),d.R.copy(S,c,{x:0,y:0},{x:x+P,y:w},{width:1,height:E})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const n of t){if(this.callbackDispatchedThisFrame[n])continue;this.callbackDispatchedThisFrame[n]=!0;const a=this.getImage(n);a||d.w(`Image with ID: "${n}" was not found`),ms(a)&&this.updateImage(n,a)}}cloneImages(){const t={};for(const n in this.images){const a=this.images[n];t[n]=Object.assign(Object.assign({},a),{data:a.data?a.data.clone():null})}return t}}const qe=1e20,W=new Float64Array(256);for(let h=0;h<256;h++){const t=.5-Math.pow(h/255,.45454545454545453);W[h]=t*Math.abs(t)}function K(h,t,n,a,c,f,y,x,w){for(let S=t;S<t+a;S++)ee(h,n*f+S,f,c,y,x,w);for(let S=n;S<n+c;S++)ee(h,S*f+t,1,a,y,x,w)}function ee(h,t,n,a,c,f,y){f[0]=0,y[0]=-qe,y[1]=qe,c[0]=h[t];for(let x=1,w=0,S=0;x<a;
5x++){c[x]=h[t+x*n];const P=x*x;do{const E=f[w];S=(c[x]-c[E]+P-E*E)/(x-E)/2}while(S<=y[w]&&--w>-1);w++,f[w]=x,y[w]=S,y[w+1]=qe}for(let x=0,w=0;x<a;x++){for(;y[w+1]<x;)w++;const S=f[w],P=x-S;h[t+x*n]=c[S]+P*P}}W[255]=-qe;const ge=d.v.layout_symbol["text-font"].default.join(",");class Me{constructor(t,n,a){this.requestManager=t,this.localIdeographFontFamily=n,this.entries={},this.lang=a}setURL(t){this.url=t}getGlyphs(t){return d._(this,void 0,void 0,function*(){const n=[];for(const f in t)for(const y of t[f])n.push(this._getAndCacheGlyphsPromise(f,y));const a=yield Promise.all(n),c={};for(const{stack:f,id:y,glyph:x}of a)c[f]||(c[f]={}),c[f][y]=x&&{id:x.id,bitmap:x.bitmap.clone(),metrics:x.metrics};return c})}_getAndCacheGlyphsPromise(t,n){return d._(this,void 0,void 0,function*(){var a,c;(a=(c=this.entries)[t])!==null&&a!==void 0||(c[t]={glyphs:{},requests:{},ranges:{}});const f=this.entries[t];let y=f.glyphs[n];return y!==void 0?{stack:t,id:n,glyph:y}:!this.url||this._charUsesLocalIdeographFontFamily(n)?(y=f.glyphs[n]=this._drawGlyph(f,t,n),{stack:t,id:n,glyph:y}):yield this._downloadAndCacheRangePromise(t,n)})}_downloadAndCacheRangePromise(t,n){return d._(this,void 0,void 0,function*(){var a;const c=this.entries[t],f=Math.floor(n/256);if(c.ranges[f])return{stack:t,id:n,glyph:null};(a=c.requests)[f]||(a[f]=Me.loadGlyphRange(t,f,this.url,this.requestManager));try{const y=yield c.requests[f];for(const x in y)c.glyphs[+x]=y[+x];return c.ranges[f]=!0,{stack:t,id:n,glyph:y[n]||null}}catch(y){const x=c.glyphs[n]=this._drawGlyph(c,t,n);return this._warnOnMissingGlyphRange(x,f,n,d.d(y)),{stack:t,id:n,glyph:x}}})}_warnOnMissingGlyphRange(t,n,a,c){const f=256*n,y=f+255,x=a.toString(16).padStart(4,"0").toUpperCase();d.w(`Unable to load glyph range ${n}, ${f}-${y}. Rendering codepoint U+${x} locally instead. ${c}`)}_charUsesLocalIdeographFontFamily(t){return!!this.localIdeographFontFamily&&d.r(t)}_drawGlyph(t,n,a){const c=n===ge&&this.localIdeographFontFamily!==""&&this._charUsesLocalIdeographFontFamily(a),f=c?"ideographTinySDF":"tinySDF";t[f]||(t[f]=this._createTinySDF(c?this.localIdeographFontFamily:n));const y=t[f].draw(String.fromCodePoint(a)),x=/^\p{gc=Cf}+$/u.test(String.fromCodePoint(a));return{id:a,bitmap:new d.t({width:y.width||60,height:y.height||60},y.data),metrics:{width:x?0:y.glyphWidth/2||24,height:y.glyphHeight/2||24,left:y.glyphLeft/2+.5||0,top:y.glyphTop/2-27.5||-8,advance:x?0:y.glyphAdvance/2||24,isDoubleResolution:!0}}}_createTinySDF(t){const n=t?t.split(","):[];n.push("sans-serif");const a=n.map(c=>/[-\w]+/.test(c)?c:`'${CSS.escape(c)}'`).join(",");return new Me.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:a,fontWeight:this._fontWeight(n[0]),fontStyle:this._fontStyle(n[0]),lang:this.lang})}_fontStyle(t){return/italic/i.test(t)?"italic":/oblique/i.test(t)?"oblique":"normal"}_fontWeight(t){const n={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950};let a;for(const[c,f]of Object.entries(n))new RegExp(`\\b${c}\\b`,"i").test(t)&&(a=`${f}`);return a}destroy(){for(const t in this.entries){const n=this.entries[t];n.tinySDF=null,n.ideographTinySDF=null,n.glyphs={},n.requests={},n.ranges={}}this.entries={}}}Me.loadGlyphRange=function(h,t,n,a){return d._(this,void 0,void 0,function*(){const c=256*t,f=c+255,y=yield a.transformRequest(n.replace("{fontstack}",h).replace("{range}",`${c}-${f}`),"Glyphs"),x=yield d.o(y,new AbortController);if(!x?.data)throw new Error(`Could not load glyph range. range: ${t}, ${c}-${f}`);const w={};for(const S of d.q(x.data))w[S.id]=S;return w})},Me.TinySDF=class{constructor({fontSize:h=24,buffer:t=3,radius:n=8,cutoff:a=.25,fontFamily:c="sans-serif",fontWeight:f="normal",fontStyle:y="normal",lang:x=null}={}){this.buffer=t,this.radius=n,this.cutoff=a,this.lang=x;const w=this.size=h+4*t,S=this._createCanvas(w),P=this.ctx=S.getContext("2d",{willReadFrequently:!0});P.font=`${y} ${f} ${h}px ${c}`,P.textBaseline="alphabetic",P.textAlign="left",P.fillStyle="black",this.gridOuter=new Float64Array(w*w),this.gridInner=new Float64Array(w*w),this.f=new Float64Array(w),this.z=new Float64Array(w+1),this.v=new Uint16Array(w)}_createCanvas(h){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(h,h);const t=document.createElement("canvas");return t.width=t.height=h,t}draw(h){const{width:t,actualBoundingBoxAscent:n,actualBoundingBoxDescent:a,actualBoundingBoxLeft:c,actualBoundingBoxRight:f}=this.ctx.measureText(h),y=Math.ceil(n),x=Math.floor(c),w=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(f)-x)),S=Math.max(0,Math.min(this.size-this.buffer,y+Math.ceil(a))),P=w+2*this.buffer,E=S+2*this.buffer,C=Math.max(P*E,0),z=new Uint8ClampedArray(C),B={data:z,width:P,height:E,glyphWidth:w,glyphHeight:S,glyphTop:y,glyphLeft:x,glyphAdvance:t};if(w===0||S===0)return B;const{ctx:V,buffer:G,gridInner:N,gridOuter:$}=this;this.lang&&(V.lang=this.lang),V.clearRect(G,G,w,S),V.fillText(h,G-x,G+y);const X=V.getImageData(G,G,w,S);$.fill(qe,0,C),N.fill(0,0,C);let Z=3;for(let q=0;q<S;q++){let Q=(q+G)*P+G;for(let se=0;se<w;se++,Z+=4,Q++){const oe=X.data[Z];if(oe===0)continue;const de=W[oe];$[Q]=Math.max(0,de),N[Q]=Math.max(0,-de)}}K($,0,0,P,E,P,this.f,this.v,this.z),K(N,G,G,w,S,P,this.f,this.v,this.z);const U=255/this.radius,H=255*(1-this.cutoff);for(let q=0;q<C;q++){const Q=Math.sqrt($[q])-Math.sqrt(N[q]);z[q]=Math.round(H-U*Q)}return B}};class $e{constructor(){this.specification=d.x.light.position}possiblyEvaluate(t,n){return d.G(t.expression.evaluate(n))}interpolate(t,n,a){return{x:d.H.number(t.x,n.x,a),y:d.H.number(t.y,n.y,a),z:d.H.number(t.z,n.z,a)}}}let ze;class Ge extends d.E{constructor(t){super(),ze||(ze=new d.u({anchor:new d.D(d.x.light.anchor),position:new $e,color:new d.D(d.x.light.color),intensity:new d.D(d.x.light.intensity)})),this._transitionable=new d.y(ze,void 0),this.setLight(t),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(t,n={}
vendor: 4,043 bytes, line 5
5){if(!this._validate(d.z,t,n))for(const a in t){const c=t[a];a.endsWith(d.B)?this._transitionable.setTransition(a.slice(0,-d.B.length),c):this._transitionable.setValue(a,c)}}updateTransitions(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(t){this.properties=this._transitioning.possiblyEvaluate(t)}_validate(t,n,a){return a?.validate!==!1&&d.C(this,t.call(d.F,{value:n,style:{glyphs:!0,sprite:!0},styleSpec:d.x}))}}const Le=new d.u({"sky-color":new d.D(d.x.sky["sky-color"]),"horizon-color":new d.D(d.x.sky["horizon-color"]),"fog-color":new d.D(d.x.sky["fog-color"]),"fog-ground-blend":new d.D(d.x.sky["fog-ground-blend"]),"horizon-fog-blend":new d.D(d.x.sky["horizon-fog-blend"]),"sky-horizon-blend":new d.D(d.x.sky["sky-horizon-blend"]),"atmosphere-blend":new d.D(d.x.sky["atmosphere-blend"])});class Ye extends d.E{constructor(t){super(),this._transitionable=new d.y(Le,void 0),this.setSky(t),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new d.J(0))}setSky(t,n={}){if(!this._validate(d.K,t,n)){t||(t={"sky-color":"transparent","horizon-color":"transparent","fog-color":"transparent","fog-ground-blend":1,"atmosphere-blend":0});for(const a in t){const c=t[a];a.endsWith(d.B)?this._transitionable.setTransition(a.slice(0,-d.B.length),c):this._transitionable.setValue(a,c)}}}getSky(){return this._transitionable.serialize()}updateTransitions(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(t){this.properties=this._transitioning.possiblyEvaluate(t)}_validate(t,n,a={}){return a?.validate!==!1&&d.C(this,t.call(d.F,d.e({value:n,style:{glyphs:!0,sprite:!0},styleSpec:d.x})))}calculateFogBlendOpacity(t){return t<60?0:t<70?(t-60)/10:1}}class De{constructor(t,n){this.width=t,this.height=n,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(t,n){var a;const c=t.join(",")+String(n);return(a=this.dashEntry)[c]||(a[c]=this.addDash(t,n)),this.dashEntry[c]}getDashRanges(t,n,a){const c=[];let f=t.length%2==1?-t[t.length-1]*a:0,y=t[0]*a,x=!0;c.push({left:f,right:y,isDash:x,zeroLength:t[0]===0});let w=t[0];for(let S=1;S<t.length;S++){x=!x;const P=t[S];f=w*a,w+=P,y=w*a,c.push({left:f,right:y,isDash:x,zeroLength:P===0})}return c}addRoundDash(t,n,a){const c=n/2;for(let f=-a;f<=a;f++){const y=this.width*(this.nextRow+a+f);let x=0,w=t[x];for(let S=0;S<this.width;S++){S/w.right>1&&(w=t[++x]);const P=Math.abs(S-w.left),E=Math.abs(S-w.right),C=Math.min(P,E);let z;const B=f/a*(c+1);if(w.isDash){const V=c-Math.abs(B);z=Math.sqrt(C*C+V*V)}else z=c-Math.sqrt(C*C+B*B);this.data[y+S]=Math.max(0,Math.min(255,z+128))}}}addRegularDash(t){for(let x=t.length-1;x>=0;--x){const w=t[x],S=t[x+1];w.zeroLength?t.splice(x,1):S&&S.isDash===w.isDash&&(S.left=w.left,t.splice(x,1))}const n=t[0],a=t[t.length-1];n.isDash===a.isDash&&(n.left=a.left-this.width,a.right=n.right+this.width);const c=this.width*this.nextRow;let f=0,y=t[f];for(let x=0;x<this.width;x++){x/y.right>1&&(y=t[++f]);const w=Math.abs(x-y.left),S=Math.abs(x-y.right),P=Math.min(w,S);this.data[c+x]=Math.max(0,Math.min(255,(y.isDash?P:-P)+128))}}addDash(t,n){const a=n?7:0,c=2*a+1;if(this.nextRow+c>this.height)return d.w("LineAtlas out of space"),null;let f=0;for(const x of t)f+=x;if(f!==0){const x=this.width/f,w=this.getDashRanges(t,this.width,x);n?this.addRoundDash(w,x,a):this.addRegularDash(w)}const y={y:this.nextRow+a,height:2*a,width:f};return this.nextRow+=c,this.dirty=!0,y}bind(t){const n=t.gl;this.texture?(n.bindTexture(n.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,n.texSubImage2D(n.TEXTURE_2D,0,0,0,this.width,this.height,n.ALPHA,n.UNSIGNED_BYTE,this.data))):(this.texture=n.createTexture(),n.bindTexture(n.TEXTURE_2D,this.texture),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.REPEAT),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.REPEAT),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.L
5INEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),n.texImage2D(n.TEXTURE_2D,0,n.ALPHA,this.width,this.height,0,n.ALPHA,n.UNSIGNED_BYTE,this.data))}}const _t="maplibre_preloaded_worker_pool";class yt{constructor(){this.active={}}acquire(t){if(!this.workers)for(this.workers=[];this.workers.length<yt.workerCount;)this.workers.push(new Worker(d.c.WORKER_URL));return this.active[t]=!0,this.workers.slice()}release(t){if(delete this.active[t],this.numActive()===0){for(const n of this.workers)n.terminate();this.workers=null}}isPreloaded(){return!!this.active[_t]}numActive(){return Object.keys(this.active).length}}const Zi=Math.floor(Gt.hardwareConcurrency/2);let Ri,Pr;function Yr(){return Ri||(Ri=new yt),Ri}yt.workerCount=d.L(globalThis)?Math.max(Math.min(Zi,3),1):1;class _s{constructor(t,n){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=n;const a=this.workerPool.acquire(n);for(let c=0;c<a.length;c++){const f=new d.N(a[c],n);f.name=`Worker ${c}`,this.actors.push(f)}if(!this.actors.length)throw new Error("No actors found")}broadcast(t,n){const a=[];for(const c of this.actors)a.push(c.sendAsync({type:t,data:n}));return Promise.all(a)}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(t=!0){for(const n of this.actors)n.remove();this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,n){for(const a of this.actors)a.registerMessageHandler(t,n)}unregisterMessageHandler(t){for(const n of this.actors)n.unregisterMessageHandler(t)}}function si(){return Pr||(Pr=new _s(Yr(),d.M),Pr.registerMessageHandler("GR",(h,t,n)=>d.m(t,n))),Pr}function zn(h,t){const n=d.O();return d.Q(n,n,[1,1,0]),d.S(n,n,[.5*h.width,.5*h.height,1]),h.calculatePosMatrix?d.U(n,n,h.calculatePosMatrix(t.toUnwrapped())):n}function Fi(h,t,n,a,c,f,y){var x;const w=function(C,z,B){if(C)for(const V of C){const G=z[V];if(G?.source===B&&G.type==="fill-extrusion")return!0}else for(const V in z){const G=z[V];if(G.source===B&&G.type==="fill-extrusion")return!0}return!1}((x=c?.layers)!==null&&x!==void 0?x:null,t,h.id),S=f.maxPitchScaleFactor(),P=h.tilesIn(a,S,w);P.sort(ys);const E=[];for(const C of P)E.push({wrappedTileID:C.tileID.wrapped().key,queryResults:C.tile.queryRenderedFeatures(t,n,h.getState(),C.queryGeometry,C.cameraQueryGeometry,C.scale,c,f,S,zn(f,C.tileID),y?(z,B)=>y(C.tileID,z,B):void 0)});return function(C,z){for(const B in C)for(const V of C[B])Ir(V,z);return C}(function(C){const z={},B={};for(const{queryResults:V,wrappedTileID:G}of C){B[G]||(B[G]={});const N=B[G];for(const $ in V){const X=V[$];N[$]||(N[$]={});const Z=N[$];z[$]||(z[$]=[]);for(const U of X)Z[U.featureIndex]||(Z[U.featureIndex]=!0,z[$].push(U))}}return z}(E),h)}function ys(h,t){const n=h.tileID,a=t.tileID;return n.overscaledZ-a.overscaledZ||n.canonical.y-a.canonical.y||n.wrap-a.wrap||n.canonical.x-a.canonical.x}function Ir(h,t){const n=h.feature,a=t.getFeatureState(n.layer["source-layer"],n.id);n.source=n.layer.source,n.layer["source-layer"]&&(n.sourceLayer=n.layer["source-layer"]),n.state=a}function Kr(h,t,n,a){return d._(this,void 0,void 0,function*(){let c=h;if(h.url?c=(yield d.k(yield t.transformRequest(h.url,"Source"),n)).data:yield Gt.frameAsync(n,a),!c)return null;const f=d.V(d.e(c,h),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in c&&c.vector_layers&&(f.vectorLayerIds=c.vector_layers.map(y=>y.id)),f})}class ke{constructor(t,n){t&&(n?this.setSouthWest(t).setNorthEast(n):Array.isArray(t)&&(t.length===4?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof d.W?new d.W(t.lng,t.lat):d.W.convert(t),this}setSouthWest(t){return this._sw=t instanceof d.W?new d.W(t.lng,t.lat):d.W.convert(t),this}extend(t){const n=this._sw,a=this._ne;let c,f;if(t instanceof d.W)c=t,f=t;else{if(!(t instanceof ke))return Array.isArray(t)?t.length===4||t.every(Array.isArray)?this.extend(ke.convert(t)):this.extend(d.W.convert(t)):t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(d.W.convert(t)):this;if(c=t._sw,f=t._ne,!c||!f)return this}return n||a?(n.lng=Math.min(c.lng,n.lng),n.lat=Math.min(c.lat,n.lat),a.lng=Math.max(f.lng,a.lng),a.lat=Math.max(f.lat,a.lat)):(this._sw=new d.W(c.lng,c.lat),this._ne=new d.W(f.lng,f.lat)),this}getCenter(){return new d.W((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}
5getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new d.W(this.getWest(),this.getNorth())}getSouthEast(){return new d.W(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:n,lat:a}=d.W.convert(t);let c=this._sw.lng<=n&&n<=this._ne.lng;return this._sw.lng>this._ne.lng&&(c=this._sw.lng>=n&&n>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&c}intersects(t){if(!((t=ke.convert(t)).getNorth()>=this.getSouth()&&t.getSouth()<=this.getNorth()))return!1;const n=Math.abs(this.getEast()-this.getWest()),a=Math.abs(t.getEast()-t.getWest());if(n>=360||a>=360)return!0;const c=d.X(this.getWest(),-180,180),f=d.X(this.getEast(),-180,180),y=d.X(t.getWest(),-180,180),x=d.X(t.getEast(),-180,180),w=c>f,S=y>x;return!(!w||!S)||(w?x>=c||y<=f:S?f>=y||c<=x:y<=f&&x>=c)}static convert(t){return t instanceof ke?t:t&&new ke(t)}static fromLngLat(t,n=0){const a=360*n/40075017,c=a/Math.cos(Math.PI/180*t.lat);return new ke(new d.W(t.lng-c,t.lat-a),new d.W(t.lng+c,t.lat+a))}adjustAntiMeridian(){const t=new d.W(this._sw.lng,this._sw.lat),n=new d.W(this._ne.lng,this._ne.lat);return new ke(t,t.lng>n.lng?new d.W(n.lng+360,n.lat):n)}}class Ft{constructor(t,n,a){this.bounds=ke.convert(this.validateBounds(t)),this.minzoom=n||0,this.maxzoom=a||24}
5validateBounds(t){return Array.isArray(t)&&t.length===4?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const n=Math.pow(2,t.z),a=Math.floor(d.Z(this.bounds.getWest())*n),c=Math.floor(d.Y(this.bounds.getNorth())*n),f=Math.ceil(d.Z(this.bounds.getEast())*n),y=Math.ceil(d.Y(this.bounds.getSouth())*n);return t.x>=a&&t.x<f&&t.y>=c&&t.y<y}}class $t extends d.E{constructor(t,n,a,c){if(super(),this.id=t,this.dispatcher=a,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,d.e(this,d.V(n,["url","scheme","tileSize","promoteId","encoding"])),this._options=d.e({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,this.tileSize!==512)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(c)}load(){return d._(this,arguments,void 0,function*(t=!1){this._loaded=!1,this.fire(new d.n("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const n=yield Kr(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,n&&(d.e(this,n),n.bounds&&(this.tileBounds=new Ft(n.bounds,this.minzoom,this.maxzoom)),this.fire(new d.n("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new d.n("data",{dataType:"source",sourceDataType:"content",sourceDataChanged:t})))}catch(n){this._tileJSONRequest=null,this._loaded=!0,d.$(n)||this.fire(new d.l(d.d(n)))}})}loaded(){return this._loaded}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}onAdd(t){this.map=t,this.load()}setSourceProperty(t){this._tileJSONRequest&&this._tileJSONRequest.abort(),t(),this.load(!0)}setTiles(t){return this.setSourceProperty(()=>{this._options.tiles=t}),this}setUrl(t){return this.setSourceProperty(()=>{this.url=t,this._options.url=t}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return d.e({},this._options)}loadTile(t){return d._(this,void 0,void 0,function*(){const n=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a={request:yield this.map._requestManager.transformRequest(n,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.t
5ype,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:yield this._getOverzoomParameters(t),etag:t.etag};a.request.collectResourceTiming=this._collectResourceTiming;let c="RT";if(t.actor&&t.state!=="expired"){if(t.state==="loading")return new Promise((f,y)=>{t.reloadPromise={resolve:f,reject:y}})}else t.actor=this.dispatcher.getActor(),c="LT";t.abortController=new AbortController;try{const f=yield t.actor.sendAsync({type:c,data:a},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,f);const y={};return f?.etagUnmodified&&(y.unmodified=!0),y}catch(f){if(delete t.abortController,t.aborted)return;if(f&&f.status!==404)throw f;this._afterTileLoadWorkerResponse(t,null)}})}_getOverzoomParameters(t){return d._(this,void 0,void 0,function*(){if(t.tileID.canonical.z<=this.maxzoom||this.map._zoomLevelsToOverscale===void 0)return;const n=t.tileID.scaledTo(this.maxzoom).canonical,a=n.url(this.tiles,this.map.getPixelRatio(),this.scheme);return{maxZoomTileID:n,overzoomRequest:yield this.map._requestManager.transformRequest(a,"Tile")}})}_afterTileLoadWorkerResponse(t,n){if(n?.resourceTiming&&(t.resourceTiming=n.resourceTiming),n&&this.map._refreshExpiredTiles&&t.setExpiryData(n),t.etag=n?.etag,t.loadVectorData(n,this.map.painter),t.reloadPromise){const a=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(a.resolve).catch(a.reject)}}abortTile(t){return d._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.t
5ype,source:this.id}}))})}unloadTile(t){return d._(this,void 0,void 0,function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Si extends d.E{constructor(t,n,a,c){super(),this.id=t,this.dispatcher=a,this.setEventedParent(c),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=d.e({type:"raster"},n),d.e(this,d.V(n,["url","scheme","tileSize"]))}load(){return d._(this,arguments,void 0,function*(t=!1){this._loaded=!1,this.fire(new d.n("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const n=yield Kr(this._options,this.map._requestManager,this._tileJSONRequest,this.map._ownerWindow);this._tileJSONRequest=null,this._loaded=!0,n&&(d.e(this,n),n.bounds&&(this.tileBounds=new Ft(n.bounds,this.minzoom,this.maxzoom)),this.fire(new d.n("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new d.n("data",{dataType:"source",sourceDataType:"content",sourceDataChanged:t})))}catch(n){this._tileJSONRequest=null,this._loaded=!0,d.$(n)||this.fire(new d.l(d.d(n)))}})}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load(!0)}setTiles(t){return this.setSourceProperty(()=>{this._options.tiles=t}),this}setUrl(t){return this.setSourceProperty(()=>{this.url=t,this._options.url=t}),this}serialize(){return d.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return d._(this,void 0,void 0,function*(){const n=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const a=yield Ti.getImage(yield this.map._requestManager.transformRequest(n,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(a?.data){this.map._refreshExpiredTiles&&(a.cacheControl||a.expires)&&t.setExpiryData({cacheControl:a.cacheControl,expires:a.expires});const c=this.map.painter.context,f=c.gl,y=a.data;t.texture=this.map.painter.getTileTexture(y.width),t.texture?t.texture.update(y,{useMipmap:!0}):(t.texture=new d.T(c,y,f.RGBA,{useMipmap:!0}),t.texture.bind(f.LINEAR,f.CLAMP_TO_EDGE,f.LINEAR_MIPMAP_NEAREST)),t.state="loaded"}}catch(a){if(delete t.abortController,t.aborted)t.state="unloaded";else if(a)throw t.state="errored",a}})}abortTile(t){return d._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)})}unloadTile(t){return d._(this,void 0,void 0,function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)})}hasTransition(){return!1}}class Zt extends Si{constructor(t,n,a,c){super(t,n,a,c),this.type="raster-dem",this.maxzoom=22,this._options=d.e({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox",this.redFactor=n.redFactor,this.greenFactor=n.greenFactor,this.blueFactor=n.blueFactor,this.baseShift=n.baseShift}loadTile(t){return d._(this,void 0,void 0,function*(){const n=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=yield this.map._requestManager.transformRequest(n,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const c=yield Ti.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(c?.data){const f=c.data;this.map._refreshExpiredTiles&&(c.cacheControl||c.expires)&&t.setExpiryData({cacheControl:c.cacheControl,expires:c.expires});const y=d.b(f)&&d.a0()?f:yield this.readImageNow(f),x={type:this.type,uid:t.uid,source:this.id,rawImageData:y,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(t.actor&&t.state!=="expired"&&t.state!=="reloading")return;t.actor&&t.state!=="expired"||(t.actor=this.dispatcher.getActor()),t.dem=yield t.actor.sendAsync({type:"LDT",data:x}
5),t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}catch(c){if(delete t.abortController,t.aborted)t.state="unloaded";else if(c)throw t.state="errored",c}})}readImageNow(t){return d._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&d.a1()){const n=t.width+2,a=t.height+2;try{return new d.R({width:n,height:a},yield d.a2(t,-1,-1,n,a))}catch{}}return Gt.getImageData(t,1)})}_getNeighboringTiles(t){const n=t.canonical,a=Math.pow(2,n.z),c=(n.x-1+a)%a,f=n.x===0?t.wrap-1:t.wrap,y=(n.x+1+a)%a,x=n.x+1===a?t.wrap+1:t.wrap,w={};return w[new d.a3(t.overscaledZ,f,n.z,c,n.y).key]={backfilled:!1},w[new d.a3(t.overscaledZ,x,n.z,y,n.y).key]={backfilled:!1},n.y>0&&(w[new d.a3(t.overscaledZ,f,n.z,c,n.y-1).key]={backfilled:!1},w[new d.a3(t.overscaledZ,t.wrap,n.z,n.x,n.y-1).key]={backfilled:!1},w[new d.a3(t.overscaledZ,x,n.z,y,n.y-1).key]={backfilled:!1}),n.y+1<a&&(w[new d.a3(t.overscaledZ,f,n.z,c,n.y+1).key]={backfilled:!1},w[new d.a3(t.overscaledZ,t.wrap,n.z,n.x,n.y+1).key]={backfilled:!1},w[new d.a3(t.overscaledZ,x,n.z,y,n.y+1).key]={backfilled:!1}),w}unloadTile(t){return d._(this,void 0,void 0,function*(){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&(yield t.actor.sendAsync({type:"RDT",data:{type:this.type,uid:t.uid,source:this.id}}))})}}function mi(h,t){return t?h.properties[t]:h.id}function Jr(h,t){const n={id:h.id};if(t.removeAllProperties&&(delete h.removeProperties,delete h.addOrUpdateProperties,delete t.removeProperties),t.removeProperties)for(const a of t.removeProperties){const c=h.addOrUpdateProperties.findIndex(f=>f.key===a);c>-1&&h.addOrUpdateProperties.splice(c,1)}return(h.removeAllProperties||t.removeAllProperties)&&(n.removeAllProperties=!0),(h.removeProperties||t.removeProperties)&&(n.removeProperties=[...h.removeProperties||[],...t.removeProperties||[]]),(h.addOrUpdateProperties||t.addOrUpdateProperties)&&(n.addOrUpdateProperties=[...h.addOrUpdateProperties||[],...t.addOrUpdateProperties||[]]),(h.newGeometry||t.newGeometry)&&(n.newGeometry=t.newGeometry||h.newGeometry),n}function za(h){var t,n;if(!h)return{};const a={};return a.removeAll=h.removeAll,a.remove=new Set(h.remove||[]),a.add=new Map((t=h.add)===null||t===void 0?void 0:t.map(c=>[c.id,c])),a.update=new Map((n=h.update)===null||n===void 0?void 0:n.map(c=>[c.id,c])),a}function ka(h){return h&&h.length!==0?typeof h[0]=="number"?[h]:h.flatMap(t=>ka(t)):[]}function Mr(h){return h.type==="GeometryCollection"?h.geometries.flatMap(t=>Mr(t)):ka(h.coordinates)}function kn(h){const t=new ke;let n;switch(h.type){case"FeatureCollection":n=h.features.flatMap(a=>Mr(a.geometry));break;case"Feature":n=Mr(h.geometry);break;default:n=Mr(h)}if(n.length===0)return t;for(const a of n){const[c,f]=a;t.extend([c,f])}return t}class uo extends d.E{constructor(t,n,a,c){super(),this.id=t,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._isUpdatingWorker=!1,this._pendingWorkerUpdate={data:n.data},this.actor=a.getActor(),this.setEventedParent(c),this._data=typeof n.data=="str
5ing"?{url:n.data}:{geojson:n.data},this._options=d.e({},n),this._collectResourceTiming=n.collectResourceTiming,n.maxzoom!==void 0&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId,n.clusterMaxZoom!==void 0&&this.maxzoom<=n.clusterMaxZoom&&d.w(`The maxzoom value "${this.maxzoom}" is expected to be greater than the clusterMaxZoom value "${n.clusterMaxZoom}".`),this.workerOptions=d.e({source:this.id,geojsonVtOptions:{buffer:this._pixelsToTileUnits(n.buffer!==void 0?n.buffer:128),tolerance:this._pixelsToTileUnits(n.tolerance!==void 0?n.tolerance:.375),extent:d.a6,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1,promoteId:typeof n.promoteId=="string"?n.promoteId:void 0,cluster:n.cluster||!1,clusterOptions:{maxZoom:this._getClusterMaxZoom(n.clusterMaxZoom),minPoints:Math.max(2,n.clusterMinPoints||2),extent:d.a6,radius:this._pixelsToTileUnits(n.clusterRadius||50),log:!1,generateId:n.generateId||!1}},clusterProperties:n.clusterProperties,filter:n.filter},n.workerOptions)}_hasPendingWorkerUpdate(){return this._pendingWorkerUpdate.data!==void 0||this._pendingWorkerUpdate.diff!==void 0||this._pendingWorkerUpdate.updateCluster}_pixelsToTileUnits(t){return t*(d.a6/this.tileSize)}_getClusterMaxZoom(t){const n=t?Math.round(t):this.maxzoom-1;return Number.isInteger(t)||t===void 0||d.w(`Integer expected for option 'clusterMaxZoom': provided value "${t}" rounded to "${n}"`),n}load(){return d._(this,void 0,void 0,function*(){yield this._updateWorkerData()})}onAdd(t){this.map=t,this.load()}setData(t,n){this._data=typeof t=="string"?{url:t}:{geojson:t},this._pendingWorkerUpdate={data:t};const a=this._updateWorkerData();return n?a:this}updateData(t,n){this._pendingWorkerUpdate.diff=function(c,f){if(!c)return f||{};if(!f)return c||{};const y=za(c),x=za(f);(function(S,P){P.removeAll&&(S.add.clear(),S.update.clear(),S.remove.clear(),P.remove.clear());for(const E of P.remove)S.add.delete(E),S.update.delete(E);for(const[E,C]of P.update){const z=S.update.get(E);z&&(P.update.set(E,Jr(z,C)),S.update.delete(E))}})(y,x);const w={};if((y.removeAll||x.removeAll)&&(w.removeAll=!0),w.remove=new Set([...y.remove,...x.remove]),w.add=new Map([...y.add,...x.add]),w.update=new Map([...y.update,...x.update]),w.remove.size&&w.add.size)for(const S of w.add.keys())w.remove.delete(S);return function(S){const P={};return S.removeAll&&(P.removeAll=S.removeAll),S.remove&&(P.remove=Array.from(S.remove)),S.add&&(P.add=Array.from(S.add.values())),S.update&&(P.update=Array.from(S.update.values())
5),P}(w)}(this._pendingWorkerUpdate.diff,t);const a=this._updateWorkerData();return n?a:this}getData(){return d._(this,void 0,void 0,function*(){return this._data.url&&(yield this.once("data")),this._data.geojson?this._data.geojson:{type:"FeatureCollection",features:Array.from(this._data.updateable.values())}})}getBounds(){return d._(this,void 0,void 0,function*(){return kn(yield this.getData())})}setClusterOptions(t){return this.workerOptions.geojsonVtOptions.cluster=t.cluster,t.clusterRadius!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.radius=this._pixelsToTileUnits(t.clusterRadius)),t.clusterMaxZoom!==void 0&&(this.workerOptions.geojsonVtOptions.clusterOptions.maxZoom=this._getClusterMaxZoom(t.clusterMaxZoom)),this._pendingWorkerUpdate.updateCluster=!0,this._updateWorkerData(),this}getClusterExpansionZoom(t){return this.actor.sendAsync({type:"GCEZ",data:{type:this.type,clusterId:t,source:this.id}})}getClusterChildren(t){return this.actor.sendAsync({type:"GCC",data:{type:this.type,clusterId:t,source:this.id}})}getClusterLeaves(t,n,a){return this.actor.sendAsync({type:"GCL",data:{type:this.type,source:this.id,clusterId:t,limit:n,offset:a}})}_updateWorkerData(){return d._(this,void 0,void 0,function*(){if(this._isUpdatingWorker)return;if(!this._hasPendingWorkerUpdate())return void d.w(`No pending worker updates for GeoJSONSource ${this.id}.`);const{data:t,diff:n,updateCluster:a}=this._pendingWorkerUpdate,c=this._getLoadGeoJSONParameters(t,n,a);t!==void 0?this._pendingWorkerUpdate.data=void 0:n?this._pendingWorkerUpdate.diff=void 0:a&&(this._pendingWorkerUpdate.updateCluster=void 0),yield this._dispatchWorkerUpdate(c)})}_getLoadGeoJSONParameters(t,n,a){return d._(this,void 0,void 0,function*(){const c=d.e({type:this.type},this.workerOptions);return typeof t=="string"?(c.request=yield this.map._requestManager.transformRequest(Gt.resolveURL(t),"Source"),c.request.collectResourceTiming=this._collectResourceTiming,c):t!==void 0?(c.data=t,c):n?(c.dataDiff=n,c):a?(c.updateCluster=!0,c):void 0})}_dispatchWorkerUpdate(t){return d._(this,void 0,void 0,function*(){this._isUpdatingWorker=!0,this.fire(new d.n("dataloading",{dataType:"source"}));try{const n=yield t,a=yield this.actor.sendAsync({type:"LD",data:n});if(this._isUpdatingWorker=!1,this._removed||a.abandoned)return void this.fire(new d.n("dataabort",{dataType:"source"}));a.data&&(this._data={geojson:a.data});const c=this._applyDiffToSource(n.dataDiff),f=this._getShouldReloadTileOptions(c),y={dataType:"source"};this._applyResourceTiming(y,a),this.fire(new d.n("data",Object.assign(Object.assign({},y),{sourceDataType:"metadata"}))),this.fire(new d.n("data",Object.assign(Object.assign({},y),{sourceDataType:"content",shouldReloadTileOptions:f})))}catch(n){if(this._isUpdatingWorker=!1,this._removed)return void this.fire(new d.n("dataabort",{dataType:"source"}));this.fire(new d.l(d.d(n)))}finally{this._hasPendingWorkerUpdate()&&this._updateWorkerData()}})}_applyResourceTiming(t,n){var a;if(!this._collectResourceTiming)return;const c=(a=n.resourceTiming)===null||a===void 0?void 0:a[this.id];if(!c)return;const f=c.slice(0);f?.length&&d.e(t,{resourceTiming:f})}_applyDiffToSource(t){if(!t)return;const n=typeof this.promoteId=="string"?this.promoteId:void 0;if(!this._data.url&&!this._data.updateable){const c=function(f,y){const x=new Map;if(f==null||f.type==null)return x;if(f.type==="Feature"){const w=mi(f,y);return w==null?void 0:(x.set(w,f),x)}if(f.type==="FeatureCollection"){const w=new Set;for(const S of f.features){const P=mi(S,y);if(P==null||w.has(P))return;w.add(P),x.set(P,S)}return x}}(this._data.geojson,n);if(!c)throw new Error(`GeoJSONSource "${this.id}": GeoJSON data is not compatible with updateData`);this._data={updateable:c}}if(!this._data.updateable)return;const a=function(c,f,y){var x,w;const S=[];if(f.removeAll)c.clear();else if(f.remove)for(const P of f.remove){const E=c.get(P);E&&(S.push(E.geometry),c.delete(P))}if(f.add)for(const P of f.add){const E=mi(P,y);if(E==null)continue;const C=c.get(E);C&&S.push(C.geometry),S.push(P.geometry),c.set(E,P)}if(f.update)for(const P of f.update){const E=c.get(P.id);if(!E)continue;const C=!!P.newGeometry,z=P.removeAllProperties||((x=P.removeProperties)===null||x===void 0?void 0:x.length)>0||((w=P.addOrUpdateProperties)===null||w===void 0?void 0:w.length)>0;if(!C&&!z)continue;S.push(E.geometry);const B=Object.assign({},E);if(c.set(P.id,B),C&&(S.push(P.newGeometry),B.geometry=P.newGeometry),z){if(B.properties=P.removeAllProperties?{}:Object.assign({},B.properties||{}),P.removeProperties)for(const V of P.removeProperties)delete B.properties[V];if(P.addOrUpdateProperties)for(const{key:V,value:G}of P.addOrUpdateProperties)B.properties[V]=G}}return S}(this._data.updateable,t,n);return t.removeAll||this._options.cluster?void 0:a}_getShouldReloadTileOptions(t){if(t)return{affectedBounds:t.filter(Boolean).map(n=>kn(n))}}shouldReloadTile(t,{affectedBounds:n}){if(t.state==="loading")return!0;
5if(t.state==="unloaded")return!1;const{buffer:a,extent:c}=this.workerOptions.geojsonVtOptions,f=function({x:y,y:x,z:w},S=0){const P=d.a4((y-S)/Math.pow(2,w)),E=d.a5((x+1+S)/Math.pow(2,w)),C=d.a4((y+1+S)/Math.pow(2,w)),z=d.a5((x-S)/Math.pow(2,w));return new ke([P,E],[C,z])}(t.tileID.canonical,a/c);for(const y of n)if(f.intersects(y))return!0;return!1}loaded(){return!this._isUpdatingWorker&&!this._hasPendingWorkerUpdate()}loadTile(t){return d._(this,void 0,void 0,function*(){const n=t.actor?"RT":"LT";t.actor=this.actor;const a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};t.abortController=new AbortController;const c=yield this.actor.sendAsync({type:n,data:a},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(c,this.map.painter,n==="RT")})}abortTile(t){return d._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0})}unloadTile(t){return d._(this,void 0,void 0,function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.t
5ype,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return d.e({},this._options,{type:this.type,data:this._data.updateable?{type:"FeatureCollection",features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}}class Er extends d.E{constructor(t,n,a,c){super(),this.flippedWindingOrder=!1,this.id=t,this.dispatcher=a,this.coordinates=n.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(c),this.options=n}load(t){return d._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new d.n("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const n=yield Ti.getImage(yield this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,n?.data&&(this.image=n.data,t&&(this.coordinates=t),this._finishLoading())}catch(n){this._request=null,this._loaded=!0,d.$(n)||this.fire(new d.l(d.d(n)))}})}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally(()=>this.texture=null),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new d.n("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const n=t.map(d.a7.fromLngLat);var a;return this.tileID=function(c){const f=d.a8.fromPoints(c),y=f.width(),x=f.height(),w=Math.max(y,x),S=Math.max(0,Math.floor(-Math.log(w)/Math.LN2)),P=Math.pow(2,S);return new d.aa(S,Math.floor((f.minX+f.maxX)/2*P),Math.floor((f.minY+f.maxY)/2*P))}(n),this.terrainTileRanges=this._getOverlappingTileRanges(n),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=n.map(c=>this.tileID.getTilePoint(c)._round()),this.flippedWindingOrder=((a=this.tileCoords)[1].x-a[0].x)*(a[2].y-a[0].y)-(a[1].y-a[0].y)*(a[2].x-a[0].x)<0,this.fire(new d.n("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;const t=this.map.painter.context,n=t.gl;this.texture||(this.texture=new d.T(t,this.image,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let a=!1;for(const c in this.tiles){const f=this.tiles[c];f.state!=="loaded"&&(f.state="loaded",f.texture=this.texture,a=!0)}a&&this.fire(new d.n("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return d._(this,void 0,void 0,function*(){var n;!((n=this.tileID)===null||n===void 0)&&n.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(t){const{minX:n,minY:a,maxX:c,maxY:f}=d.a8.fromPoints(t),y={};for(let x=0;x<=d.a9;x++){const w=Math.pow(2,x),S=Math.floor(n*w),P=Math.floor(a*w),E=Math.floor(c*w),C=Math.floor(f*w),z=(S%w+w)%w,B=E%w,V=Math.floor(S/w),G=Math.floor(E/w);y[x]={minWrap:V,maxWrap:G,minTileXWrapped:z,maxTileXWrapped:B,minTileY:P,maxTileY:C}}return y}}class Qr extends Er{constructor(t,n,a,c){super(t,n,a,c),this._onPlayingHandler=()=>{var f;(f=this.map)===null||f===void 0||f.triggerRepaint()},this.roundZoom=!0,this.type="video",this.options=n}load(){return d._(this,void 0,void 0,function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const n of t.urls)this.urls.push((yield this.map._requestManager.transformRequest(n,"Source")).url);try{const n=yield d.ab(this.urls);if(this._loaded=!0,!n)return;this.video=n,this.video.loop=!0,this.video.addEventListener("playing",this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(n){this.fire(new d.l(d.d(n)))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const n=this.video.seekable;t<n.start(0)||t>n.end(0)?this.fire(new d.l(new d.ac(`sources.${this.id}`,null,`Playback for this video can be set only between the ${n.start(0)} and ${n.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}
5onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener("playing",this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const t=this.map.painter.context,n=t.gl;this.texture?this.video.paused||(this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE),n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,this.video)):(this.texture=new d.T(t,this.video,n.RGBA),this.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE));let a=!1;for(const c in this.tiles){const f=this.tiles[c];f.state!=="loaded"&&(f.state="loaded",f.texture=this.texture,a=!0)}a&&this.fire(new d.n("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Ra extends Er{constructor(t,n,a,c){super(t,n,a,c),n.coordinates?Array.isArray(n.coordinates)&&n.coordinates.length===4&&!n.coordinates.some(f=>!Array.isArray(f)||f.length!==2||f.some(y=>typeof y!="number"))||this.fire(new d.l(new d.ac(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new d.l(new d.ac(`sources.${t}`,null,'missing required property "coordinates"'))),n.animate&&typeof n.animate!="boolean"&&this.fire(new d.l(new d.ac(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),n.canvas?typeof n.canvas=="string"||n.canvas instanceof HTMLCanvasElement||this.fire(new d.l(new d.ac(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new d.l(new d.ac(`sources.${t}`,null,'missing required property "canvas"'))),this.options=n,this.animate=n.animate===void 0||n.animate}load(){return d._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new d.l(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const n=this.map.painter.context,a=n.gl;this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new d.T(n,this.canvas,a.RGBA,{premultiply:!0}),this.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE));let c=!1;for(const f in this.tiles){const y=this.tiles[f];y.state!=="loaded"&&(y.state="loaded",y.texture=this.texture,c=!0)}c&&this.fire(new d.n("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const Fa={},ho=h=>{switch(h){case"geojson":return uo;case"image":return Er;case"raster":return Si;case"raster-dem":return Zt;case"vector":return $t;case"video":return Qr;case"canvas":return Ra}return Fa[h]},vs="RTLPluginLoaded";class rc extends d.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=si()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch(n=>{throw this.status="error",n})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return d._(this,arguments,void 0,function*(n,a=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=Gt.resolveURL(n),!this.url)throw new Error(`requested url ${n}
5 is invalid`);if(this.status==="unavailable"){if(!a)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return d._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new d.n(vs))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let po=null;function Cr(){return po||(po=new rc),po}var lr,Li;(function(h){h[h.Base=0]="Base",h[h.Parent=1]="Parent"})(lr||(lr={})),function(h){h[h.Departing=0]="Departing",h[h.Incoming=1]="Incoming"}(Li||(Li={}));class Rn{constructor(t,n){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=t,this.uid=d.ad(),this.uses=0,this.tileSize=n,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state="loading"}isRenderable(t){return this.hasData()&&(!this.fadeEndTime||this.fadeOpacity>0)&&(t||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:t,fadingDirection:n,fadingParentID:a,fadeEndTime:c}){this.resetFadeLogic(),this.fadingRole=t,this.fadingDirection=n,this.fadingParentID=a,this.fadeEndTime=c}setSelfFadeLogic(t){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=t}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=He(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state==="errored"||this.state==="loaded"||this.state==="reloading"}clearTextures(t){this.demTexture&&t.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(t,n,a){if(t?.etagUnmodified!==!0)if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestEncoding=t.encoding,this.latestFeatureIndex.rawTileData=t.rawTileData,this.latestFeatureIndex.encoding=t.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(c,f){const y={};if(!f)return y;for(const x of c){const w=x.layerIds.map(S=>f.getLayer(S)).filter(Boolean);if(w.length!==0){x.layers=w,x.stateDependentLayerIds&&(x.stateDependentLayers=x.stateDependentLayerIds.map(S=>w.filter(P=>P.id===S)[0]));for(const S of w)y[S.id]=x}}return y}(t.buckets,n?.style),this.hasSymbolBuckets=!1;for(const c in this.buckets){const f=this.buckets[c];if(f instanceof d.af){if(this.hasSymbolBuckets=!0,!a)break;f.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const c in this.buckets){const f=this.buckets[c];if(f instanceof d.af&&f.hasRTLText){this.hasRTLText=!0,Cr().lazyLoad();break}}this.queryPadding=0;for(const c in this.buckets){const f=this.buckets[c];this.queryPadding=Math.max(this.queryPadding,n.style.getLayer(c).queryRadius(f))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),this.dashPositions=t.dashPositions}else this.collisionBoxArray=new d.ae;else this.state="loaded"}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const a in this.buckets){const c=this.buckets[a];c.uploadPending()&&c.upload(t)}const n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new d.T(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new d.T(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,n,a,c,f,y,x,w,S,P,E){var C;return!((C=this.latestFeatureIndex)===null||C===void 0)&&C.rawTileData?this.latestFeatureIndex.query({queryGeometry:c,cameraQueryGeometry:f,scale:y,tileSize:this.tileSize,pixelPosMatrix:P,transform:w,params:x,queryPadding:this.queryPadding*S,getElevation:E},t,n,a):{}}
5querySourceFeatures(t,n){const a=this.latestFeatureIndex;if(!a?.rawTileData)return;const c=a.loadVTLayers(),f=n?.sourceLayer?n.sourceLayer:"",y=c[d.ag]||c[f];if(!y)return;const x=d.ah(n?.filter,n?.globalState),{z:w,x:S,y:P}=this.tileID.canonical,E={z:w,x:S,y:P};for(let C=0;C<y.length;C++){const z=y.feature(C);if(x.needGeometry){const G=d.ai(z,!0);if(!x.filter(new d.J(this.tileID.overscaledZ),G,this.tileID.canonical))continue}else if(!x.filter(new d.J(this.tileID.overscaledZ),z))continue;const B=a.getId(z,f),V=new d.aj(z,w,S,P,B);V.tile=E,t.push(V)}}hasData(){return this.state==="loaded"||this.state==="reloading"||this.state==="expired"}patternsLoaded(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length}setExpiryData(t){const n=this.expirationTime;if(t.cacheControl){const a=d.ak(t.cacheControl);a["max-age"]&&(this.expirationTime=Date.now()+1e3*a["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){const a=Date.now();let c=!1;if(this.expirationTime>a)c=!1;else if(n)if(this.expirationTime<n)c=!0;else{const f=this.expirationTime-n;f?this.expirationTime=a+Math.max(f,3e4):c=!0}else c=!0;c?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(t,n){var a,c,f;if(!(!((a=this.latestFeatureIndex)===null||a===void 0)&&a.rawTileData)||Object.keys(t).length===0)return;const y=this.latestFeatureIndex.loadVTLayers();for(const x in this.buckets){if(!n.style.hasLayer(x))continue;const w=this.buckets[x],S=w.layers[0].sourceLayer||d.ag,P=y[S],E=t[S];if(!P||!E||Object.keys(E).length===0)continue;w.update(E,P,((c=this.imageAtlas)===null||c===void 0?void 0:c.patternPositions)||{},this.dashPositions||{});const C=(f=n?.style)===null||f===void 0?void 0:f.getLayer(x);C&&(this.queryPadding=Math.max(this.queryPadding,C.queryRadius(w)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<He()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(t){this.symbolFadeHoldUntil=He()+t}setDependencies(t,n){const a={};for(const c of n)a[c]=!0;this.dependencies[t]=a}hasDependency(t,n){for(const a of t){const c=this.dependencies[a];if(c){for(const f of n)if(c[f])return!0}}return!1}}class La{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(t,n,a){var c,f,y,x,w;const S=String(n);if((x=this.stateChanges)[t]||(x[t]={}),(w=this.stateChanges[t])[S]||(w[S]={}),d.e(this.stateChanges[t][S],a),this.deletedStates[t]===null){this.deletedStates[t]={};for(const P in this.state[t])P!==S&&(this.deletedStates[t][P]=null)}else if(((c=this.deletedStates[t])===null||c===void 0?void 0:c[S])===null){this.deletedStates[t][S]={};for(const P in this.state[t][S])a[P]||(this.deletedStates[t][S][P]=null)}else for(const P in a)((y=(f=this.deletedStates[t])===null||f===void 0?void 0:f[S])===null||y===void 0?void 0:y[P])===null&&delete this.deletedStates[t][S][P]}removeFeatureState(t,n,a){var c,f,y;if(this.deletedStates[t]===null)return;const x=String(n);if((f=this.deletedStates)[t]||(f[t]={}),a&&n!==void 0)this.deletedStates[t][x]!==null&&((y=this.deletedStates[t])[x]||(y[x]={}),this.deletedStates[t][x][a]=null);else if(n!==void 0)if(!((c=this.stateChanges[t])===null||c===void 0)&&c[x])for(a in this.deletedStates[t][x]={},this.stateChanges[t][x])this.deletedStates[t][x][a]=null;else this.deletedStates[t][x]=null;else this.deletedStates[t]=null}getState(t,n){const a=String(n),c=d.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);if(this.deletedStates[t]===null)return{};if(this.deletedStates[t]){const f=this.deletedStates[t][n];if(f===null)return{};for(const y in f)delete c[y]}return c}initializeTileState(t,n){t.setFeatureState(this.state,n)}coalesceChanges(t,n){var a,c,f;const y={};for(const x in this.stateChanges){(a=this.state)[x]||(a[x]={});const w={};for(const S in this.stateChanges[x])(c=this.state[x])[S]||(c[S]={}),d.e(this.state[x][S],this.stateChanges[x][S]),w[S]=this.state[x][S];
5y[x]=w}for(const x in this.deletedStates){(f=this.state)[x]||(f[x]={});const w={};if(this.deletedStates[x]===null)for(const S in this.state[x])w[S]={},this.state[x][S]={};else for(const S in this.deletedStates[x]){if(this.deletedStates[x][S]===null)this.state[x][S]={};else for(const P of Object.keys(this.deletedStates[x][S]))delete this.state[x][S][P];w[S]=this.state[x][S]}y[x]||(y[x]={}),d.e(y[x],w)}this.stateChanges={},this.deletedStates={},Object.keys(y).length!==0&&(this.revision++,t.setFeatureState(y,n))}}const en=89.25;function qi(h,t){const n=d.al(t.lat,-d.am,d.am);return new d.P(d.Z(t.lng)*h,d.Y(n)*h)}function Fn(h,t){return new d.a7(t.x/h,t.y/h).toLngLat()}function tn(h){return h.cameraToCenterDistance*Math.min(.85*Math.tan(d.an(90-h.pitch)),Math.tan(d.an(en-h.pitch)))}function xs(h,t){const n=h.canonical,a=t/d.ao(n.z),c=n.x+Math.pow(2,n.z)*h.wrap,f=d.ap(new Float64Array(16));return d.Q(f,f,[c*a,n.y*a,0]),d.S(f,f,[a/d.a6,a/d.a6,1]),f}function Ln(h,t,n,a,c){const f=d.a7.fromLngLat(h,t),y=c*d.aq(1,h.lat),{x,y:w,z:S}=fo(n,a);return new d.a7(f.x+y*-x,f.y+y*-w,f.z+y*-S)}function fo(h,t){const n=d.an(h),a=d.an(t),c=Math.cos(-n),f=Math.sin(n);return{x:f*Math.sin(a),y:-f*Math.cos(a),z:c}}function ce(h,t,n){const a=t.intersectsFrustum(h);if(!n||a===0)return a;const c=t.intersectsPlane(n);return c===0?0:a===2&&c===2?2:1}function Ba(h,t,n){let a=0;const c=(n-t)/10;for(let f=0;f<10;f++)a+=c*Math.pow(Math.cos(t+(f+.5)/10*(n-t)),h);return a}function Oa(h,t){return function(n,a,c,f,y){const x=2*((h-1)/d.ar(Math.cos(d.an(en-y))/Math.cos(d.an(en)))-1),w=Math.acos(c/f),S=2*Ba(x-1,0,d.an(y/2)),P=Math.min(d.an(en),w+d.an(y/2)),E=Ba(x-1,Math.min(P,w-d.an(y/2)),P),C=Math.atan(a/c),z=Math.hypot(a,c);let B=n;return B+=d.ar(f/z/Math.max(.5,Math.cos(d.an(y/2)))),B+=x*d.ar(Math.cos(C))/2,B-=d.ar(Math.max(1,E/S/t))/2,B}}const et=Oa(9.314,3);function gi(h,t){const n=(t.roundZoom?Math.round:Math.floor)(h.zoom+d.ar(h.tileSize/t.tileSize));return Math.max(0,n)}function rn(h,t){const n=h.getCameraFrustum(),a=h.getClippingPlane(),c=h.screenPointToMercatorCoordinate(h.getCameraPoint()),f=d.a7.fromLngLat(h.center,h.elevation);c.z=f.z+Math.cos(h.pitchInRadians)*h.cameraToCenterDistance/h.worldSize;const y=h.getCoveringTilesDetailsProvider(),x=y.allowVariableZoom(h,t),w=gi(h,t),S=t.minzoom||0,P=t.maxzoom!==void 0?t.maxzoom:h.maxZoom,E=Math.min(Math.max(0,w),P),C=Math.pow(2,E),z=[C*c.x,C*c.y,0],B=[C*f.x,C*f.y,0],V=Math.hypot(f.x-c.x,f.y-c.y),G=Math.abs(f.z-c.z),N=Math.hypot(V,G),$=U=>({zoom:0,x:0,y:0,wrap:U,fullyVisible:!1}),X=[],Z=[];if(h.renderWorldCopies&&y.allowWorldCopies())for(let U=1;U<=3;U++)X.push($(-U)),X.push($(U));for(X.push($(0));X.length>0;){const U=X.pop(),H=U.x,q=U.y;let Q=U.fullyVisible;const se={x:H,y:q,z:U.zoom},oe=y.getTileBoundingVolume(se,U.wrap,h.elevation,t);if(!Q){const ve=ce(n,oe,a);if(ve===0)continue;Q=ve===2}const de=y.distanceToTile2d(c.x,c.y,se,oe);let he=w;x&&(he=(t.calculateTileZoom||et)(h.zoom+d.ar(h.tileSize/t.tileSize),de,G,N,h.fov)),he=(t.roundZoom?Math.round:Math.floor)(he),he=Math.max(0,he);const Pe=Math.min(he,P);if(U.wrap=y.getWrap(f,se,U.wrap),U.zoom>=Pe){if(U.zoom<S)continue;const ve=E-U.zoom,ue=z[0]-.5-(H<<ve),we=z[1]-.5-(q<<ve),Ee=t.reparseOverscaled?Math.max(U.zoom,he):U.zoom;Z.push({tileID:new d.a3(U.zoom===P?Ee:U.zoom,U.wrap,U.zoom,H,q),distanceSq:d.as([B[0]-.5-H,B[1]-.5-q]),tileDistanceToCamera:Math.sqrt(ue*ue+we*we)})}else for(let ve=0;ve<4;ve++)X.push({zoom:U.zoom+1,x:(H<<1)+ve%2,y:(q<<1)+(ve>>1),wrap:U.wrap,fullyVisible:Q})}return Z.sort((U,H)=>U.distanceSq-H.distanceSq).map(U=>U.tileID)}const nc=d.a8.fromPoints([new d.P(0,0),new d.P(d.a6,d.a6)]);function sc(h){return h==="raster"||h==="image"||h==="video"}function Ru(h,t,n,a,c,f,y){if(!t.hasData())return!1;const{tileID:x,fadingRole:w,fadingDirection:S,fadingParentID:P}=t;if(w===lr.Base&&S===Li.Incoming&&P)return n[P.key]=P,!0;const E=Math.max(x.overscaledZ-c,f);for(let C=x.overscaledZ-1;C>=E;C--){const z=x.scaledTo(C),B=h.getLoadedTile(z);if(B)return t.setCrossFadeLogic({fadingRole:lr.Base,fadingDirection:Li.Incoming,fadingParentID:B.tileID,fadeEndTime:a+y}),B.setCrossFadeLogic({fadingRole:lr.Parent,fadingDirection:Li.Departing,fadeEndTime:a+y}),n[z.key]=z,!0}return!1}function mo(h,t,n,a,c,f){if(!t.hasData())return!1;
5const y=t.tileID.children(c);let x=Va(h,t,y,n,a,c,f);if(x)return!0;for(const w of y)Va(h,t,w.children(c),n,a,c,f)&&(x=!0);return x}function Va(h,t,n,a,c,f,y){if(n[0].overscaledZ>=f)return!1;let x=!1;for(const w of n){const S=h.getLoadedTile(w);if(!S)continue;const{fadingRole:P,fadingDirection:E,fadingParentID:C}=S;P===lr.Base&&E===Li.Departing&&C||(S.setCrossFadeLogic({fadingRole:lr.Base,fadingDirection:Li.Departing,fadingParentID:t.tileID,fadeEndTime:c+y}),t.setCrossFadeLogic({fadingRole:lr.Parent,fadingDirection:Li.Incoming,fadeEndTime:c+y})),a[w.key]=w,x=!0}return x}function oc(h,t,n,a){const c=h.tileID;return!!h.selfFading||!h.hasData()&&!!t.has(c)&&(h.setSelfFadeLogic(n+a),!0)}function _e(h,t){var n;h.needsHillshadePrepare=!0,h.needsTerrainPrepare=!0;let a=t.tileID.canonical.x-h.tileID.canonical.x;const c=t.tileID.canonical.y-h.tileID.canonical.y,f=Math.pow(2,h.tileID.canonical.z),y=t.tileID.key;a===0&&c===0||Math.abs(c)>1||(Math.abs(a)>1&&(Math.abs(a+f)===1?a+=f:Math.abs(a-f)===1&&(a-=f)),t.dem&&h.dem&&(h.dem.backfillBorder(t.dem,a,c),!((n=h.neighboringTiles)===null||n===void 0)&&n[y]&&(h.neighboringTiles[y].backfilled=!0)))}class nn{constructor(){this._tiles={}}handleWrapJump(t){const n={};for(const a in this._tiles){const c=this._tiles[a];c.tileID=c.tileID.unwrapTo(c.tileID.wrap+t),n[c.tileID.key]=c}this._tiles=n}setFeatureState(t,n){for(const a in this._tiles)this._tiles[a].setFeatureState(t,n)}getAllTiles(){return Object.values(this._tiles)}getAllIds(t=!1){return t?Object.values(this._tiles).map(n=>n.tileID).sort(d.au).map(n=>n.key):Object.keys(this._tiles)}getTileById(t){return this._tiles[t]}setTile(t,n){this._tiles[t]=n}deleteTileById(t){delete this._tiles[t]}getLoadedTile(t){const n=this.getTileById(t.key);return n?.hasData()?n:null}isIdRenderable(t,n=!1){var a;return(a=this.getTileById(t))===null||a===void 0?void 0:a.isRenderable(n)}getRenderableIds(t=0,n){const a=[];for(const c of this.getAllIds())this.isIdRenderable(c,n)&&a.push(this.getTileById(c));return n?a.sort((c,f)=>{const y=c.tileID,x=f.tileID,w=new d.P(y.canonical.x,y.canonical.y)._rotate(-t),S=new d.P(x.canonical.x,x.canonical.y)._rotate(-t);return y.overscaledZ-x.overscaledZ||S.y-w.y||S.x-w.x}).map(c=>c.tileID.key):a.map(c=>c.tileID).sort(d.au).map(c=>c.key)}}class qt extends d.E{constructor(t,n,a){super(),this.id=t,this.dispatcher=a,this.on("data",c=>{this._dataHandler(c)}),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((c,f,y,x)=>{const w=new(ho(f.type))(c,f,y,x);if(w.id!==c)throw new Error(`Expected Source id to be ${c} instead of ${w.id}`);return w})(t,n,a,this),this._inViewTiles=new nn,this._outOfViewCache=new d.av(0,c=>this._unloadTile(c)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new La,this._didEmitContent=!1,this._updated=!1}onAdd(t){var n;this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,!((n=this._source)===null||n===void 0)&&n.onAdd&&this._source.onAdd(t)}onRemove(t){var n;for(const a of this._inViewTiles.getAllTiles())a.unloadVectorData();this.clearTiles(),!((n=this._source)===null||n===void 0)&&n.onRemove&&this._source.onRemove(t),this._inViewTiles=new nn}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t of this._inViewTiles.getAllTiles())if(t.state!=="loaded"&&t.state!=="errored")return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,n,a){return d._(this,void 0,void 0,function*(){try{const c=yield this._source.loadTile(t);this._tileLoaded(t,n,a,c)}catch(c){t.state="errored",c.status!==404?this._source.fire(new d.l(d.d(c),{tile:t})):this.update(this.transform,this.terrain)}})}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new d.n("dataabort",{tile:t,coord:t.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(const n of this._inViewTiles.getAllTiles())n.upload(t),n.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(t){var n;return this._inViewTiles.getRenderableIds((n=this.transform)===null||n===void 0?void 0:n.bearingInRadians,t)}hasRenderableParent(t){const n=t.overscaledZ-1;if(n>=this._source.minzoom){const a=this.getLoadedTile(t.scaledTo(n));if(a)return this._inViewTiles.isIdRenderable(a.tileID.key)}return!1}reload(t,n=void 0){if(this._paused)this._shouldReloadOnResume=!0;else{this._outOfViewCache.reset();for(const a of this._inViewTiles.getAllIds()){const c=this._inViewTiles.getTileById(a);n&&!this._source.shouldReloadTile(c,n)||(t?this._reloadTile(a,"expired"):c.state!=="errored"&&this._reloadTile(a,"reloading"))}}}_reloadTile(t,n){return d._(this,void 0,void 0,function*(){const a=this._inViewTiles.getTileById(t);a&&(a.state!=="loading"&&(a.state=n),yield this._loadTile(a,t,n))})}_tileLoaded(t,n,a,c){t.timeAdded=He(),t.selfFading&&(t.fadeEndTime=t.timeAdded+this._rasterFadeDuration),a==="expired"&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(n,t),c?.unmodified||(this.getSource().type==="raster-dem"&&t.dem&&function(f,y){var x,w,S;const P=y.getRenderableIds();for(const E of P){if(!(!((x=f.neighboringTiles)===null||x===void 0)&&x[E]))continue;const C=y.getTileById(E);f.neighboringTiles[E].backfilled||_e(f,C),!((S=(w=C.neighboringTiles)===null||w===void 0?void 0:w[f.tileID.key])===null||S===void 0)&&S.backfilled||_e(C,f)}}(t,this._inViewTiles),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new d.n("data",{dataType:"source",tile:t,coord:t.tileID})))}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._inViewTiles.getTileById(t)}_retainLoadedChildren(t,n){const a=this._getLoadedDescendents(n),c=new Set;for(const f of n){const y=a[f.key];if(!y?.length){c.add(f);continue}const x=f.overscaledZ+qt.maxOverzooming,w=y.filter(E=>E.tileID.overscaledZ<=x);if(!w.length){c.add(f);continue}const S=Math.min(...w.map(E=>
5E.tileID.overscaledZ)),P=w.filter(E=>E.tileID.overscaledZ===S).map(E=>E.tileID);for(const E of P)t[E.key]=E;this._areDescendentsComplete(P,S,f.overscaledZ)||c.add(f)}return c}_getLoadedDescendents(t){var n;const a={};for(const c of this._inViewTiles.getAllTiles().filter(f=>f.hasData()))for(const f of t)c.tileID.isChildOf(f)&&(a[n=f.key]||(a[n]=[]),a[f.key].push(c));return a}_areDescendentsComplete(t,n,a){return t.length===1&&t[0].isOverscaled()?t[0].overscaledZ===n:Math.pow(4,n-a)===t.length}getLoadedTile(t){return this._inViewTiles.getLoadedTile(t)}updateCacheSize(t){const n=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,c=Math.floor(n*a*(this._maxTileCacheZoomLevels===null?d.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),f=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,c):c;this._outOfViewCache.setMaxSize(f)}handleWrapJump(t){const n=Math.round((t-(this._prevLng===void 0?t:this._prevLng))/360);this._prevLng=t,n&&(this._inViewTiles.handleWrapJump(n),this._resetTileReloadTimers())}update(t,n){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=n,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(w=>new d.a3(w.canonical.z,w.wrap,w.canonical.z,w.canonical.x,w.canonical.y)):(a=rn(t,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type==="vector"&&this.map._zoomLevelsToOverscale!==void 0?t.maxZoom-this.map._zoomLevelsToOverscale:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:n,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(a=a.filter(w=>this._source.hasTile(w)))):a=[],this.usedForTerrain&&(a=this._addTerrainIdealTiles(a));const c=a.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,c&&this.fire(new d.n("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const f=gi(t,this._source),y=this._updateRetainedTiles(a,f),x=sc(this._source.type);x&&this._rasterFadeDuration>0&&!n&&function(w,S,P,E,C,z,B){const V=He(),G=d.at(S);for(const N of S){const $=w.getTileById(N.key);$.fadingDirection!==Li.Departing&&$.fadeOpacity!==0||$.resetFadeLogic(),Ru(w,$,P,V,E,C,B)||mo(w,$,P,V,z,B)||oc($,G,V,B)||$.resetFadeLogic()}}(this._inViewTiles,a,y,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),x?this._cleanUpRasterTiles(y):this._cleanUpVectorTiles(y)}_cleanUpRasterTiles(t){for(const n of this._inViewTiles.getAllIds())t[n]||this._removeTile(n)}_cleanUpVectorTiles(t){for(const n of this._inViewTiles.getAllIds()){const a=this._inViewTiles.getTileById(n);t[n]?a.clearSymbolFadeHold():a.hasSymbolBuckets?a.holdingForSymbolFade()?a.symbolFadeFinished()&&this._removeTile(n):a.setSymbolHoldDuration(this.map._fadeDuration):this._removeTile(n)}}_addTerrainIdealTiles(t){const n=[];for(const a of t)if(a.canonical.z>this._source.minzoom){const c=a.scaledTo(a.canonical.z-1);n.push(c);const f=a.scaledTo(Math.max(this._source.minzoom,Math.min(a.canonical.z,5)));n.push(f)}return t.concat(n)}releaseSymbolFadeTiles(){for(const t of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(t).holdingForSymbolFade()&&this._removeTile(t)}_updateRetainedTiles(t,n){var a;const c=new Set;for(const S of t)this._addTile(S).hasData()||c.add(S);const f=t.reduce((S,P)=>(S[P.key]=P,S),{}),y=this._retainLoadedChildren(f,c),x={},w=Math.max(n-qt.maxUnderzooming,this._source.minzoom);for(const S of y){let P=this._inViewTiles.getTileById(S.key),E=P?.wasRequested();for(let C=S.overscaledZ-1;C>=w;--C){const z=S.scaledTo(C);if(x[z.key])break;if(x[z.key]=!0,P=this.getTile(z),!P&&E&&(P=this._addTile(z)),P){const B=P.hasData();if((B||!(!((a=this.map)===null||a===void 0)&&a.cancelPendingTileRequestsWhileZooming)||E)&&(f[z.key]=z),E=P.wasRequested(),B)break}}}return f}_addTile(t){let n=this._inViewTiles.getTileById(t.key);if(n)return n;n=this._outOfViewCache.getAndRemove(t),n&&(n.resetFadeLogic(),this._setTileReloadTimer(t.key,n),n.tileID=t,this._state.initializeTileState(n,this.map?this.map.painter:null));const a=n;return n||(n=new Rn(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(n,t.key,n.state)),n.uses++,this._inViewTiles.setTile(t.key,n),a||this._source.fire(new d.n("dataloading",{tile:n,coord:n.tileID,dataType:"source"})),n}_setTileReloadTimer(t,n){this._clearTileReloadTimer(t);const a=n.getExpiryTimeout();a&&(this._timers[t]=setTimeout(()=>{this._reloadTile(t,"expired"),delete this._timers[t]},a))}_clearTileReloadTimer(t){const n=this._timers[t];
5n&&(clearTimeout(n),delete this._timers[t])}_resetTileReloadTimers(){for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t of this._inViewTiles.getAllIds()){const n=this._inViewTiles.getTileById(t);this._setTileReloadTimer(t,n)}}refreshTiles(t){for(const n of this._inViewTiles.getAllIds()){const a=this._inViewTiles.getTileById(n);(this._inViewTiles.isIdRenderable(n)||a.state=="errored")&&t.some(c=>c.equals(a.tileID.canonical))&&this._reloadTile(n,"expired")}}_removeTile(t){const n=this._inViewTiles.getTileById(t);n&&(n.uses--,this._inViewTiles.deleteTileById(t),this._clearTileReloadTimer(t),n.uses>0||(n.hasData()&&n.state!=="reloading"?this._outOfViewCache.add(n.tileID,n,n.getExpiryTimeout()):(n.aborted=!0,this._abortTile(n),this._unloadTile(n))))}_dataHandler(t){t.dataType==="source"&&(t.sourceDataType!=="metadata"?t.sourceDataType==="content"&&this._sourceLoaded&&!this._paused&&(this.reload(t.sourceDataChanged,t.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0):this._sourceLoaded=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t of this._inViewTiles.getAllIds())this._removeTile(t);this._outOfViewCache.reset()}tilesIn(t,n,a){const c=[],f=this.transform;if(!f)return c;const y=f.getCoveringTilesDetailsProvider().allowWorldCopies(),x=a?f.getCameraQueryGeometry(t):t,w=z=>f.screenPointToMercatorCoordinate(z,this.terrain),S=this.transformBbox(t,w,!y),P=this.transformBbox(x,w,!y),E=this.getIds(),C=d.a8.fromPoints(P);for(const z of E){const B=this._inViewTiles.getTileById(z);if(B.holdingForSymbolFade())continue;const V=y?[B.tileID]:[B.tileID.unwrapTo(-1),B.tileID.unwrapTo(0)],G=Math.pow(2,f.zoom-B.tileID.overscaledZ),N=n*B.queryPadding*d.a6/B.tileSize/G;for(const $ of V){const X=C.map(Z=>$.getTilePoint(new d.a7(Z.x,Z.y)));if(X.expandBy(N),X.intersects(nc)){const Z=S.map(H=>$.getTilePoint(H)),U=P.map(H=>$.getTilePoint(H));c.push({tile:B,tileID:y?$:$.unwrapTo(0),queryGeometry:Z,cameraQueryGeometry:U,scale:G})}}}return c}transformBbox(t,n,a){let c=t.map(n);if(a){const f=d.a8.fromPoints(t);f.shrinkBy(.001*Math.min(f.width(),f.height()));const y=f.map(n);d.a8.fromPoints(c).covers(y)||(c=c.map(x=>x.x>.5?new d.a7(x.x-1,x.y,x.z):x))}return c}getVisibleCoordinates(t){const n=this.getRenderableIds(t).map(a=>this._inViewTiles.getTileById(a).tileID);return this.transform&&this.transform.populateCache(n),n}hasTransition(){return!!this._source.hasTransition()||sc(this._source.type)&&function(t,n){if(n<=0)return!1;const a=He();for(const c of t.getAllTiles())if(c.fadeEndTime>=a)return!0;return!1}(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(t){this._rasterFadeDuration=t}setFeatureState(t,n,a){t||(t=d.ag),this._state.updateState(t,n,a)}removeFeatureState(t,n,a){t||(t=d.ag),this._state.removeFeatureState(t,n,a)}getFeatureState(t,n){return t||(t=d.ag),this._state.getState(t,n)}setDependencies(t,n,a){const c=this._inViewTiles.getTileById(t);c&&c.setDependencies(n,a)}reloadTilesForDependencies(t,n){for(const a of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(a).hasDependency(t,n)&&this._reloadTile(a,"reloading");this._outOfViewCache.filter(a=>!a.hasDependency(t,n))}areTilesLoaded(){for(const t of this._inViewTiles.getAllTiles())if(t.state!=="loaded"&&t.state!=="errored")return!1;return!0}}qt.maxUnderzooming=10,qt.maxOverzooming=3;class ja{constructor(t,n){this.reset(t,n)}reset(t,n){this.points=t||[],this._distances=[0];for(let a=1;a<this.points.length;a++)this._distances[a]=this._distances[a-1]+this.points[a].dist(this.points[a-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(n||0,.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(t){if(this.points.length===1)return this.points[0];t=d.al(t,0,1);let n=1,a=this._distances[n];const c=t*this.paddedLength+this.padding;for(;a<c&&n<this._distances.length;)a=this._distances[++n];const f=n-1,y=this._distances[f],x=a-y,w=x>0?(c-y)/x:0;return this.points[f].mult(1-w).add(this.points[n].mult(w))}}function Ar(h,t){let n=!0;return h==="always"||h!=="never"&&t!=="never"||(n=!1),n}class be{constructor(t,n,a){const c=this.boxCells=[],f=this.circleCells=[];this.xCellCount=Math.ceil(t/a),this.yCellCount=Math.ceil(n/a);for(let y=0;y<this.xCellCount*this.yCellCount;y++)c.push([]),f.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=n,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/n,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}
vendor: 12,253 bytes, line 5
5insert(t,n,a,c,f){this._forEachCell(n,a,c,f,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(n),this.bboxes.push(a),this.bboxes.push(c),this.bboxes.push(f)}insertCircle(t,n,a,c){this._forEachCell(n-c,a-c,n+c,a+c,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(n),this.circles.push(a),this.circles.push(c)}_insertBoxCell(t,n,a,c,f,y){this.boxCells[f].push(y)}_insertCircleCell(t,n,a,c,f,y){this.circleCells[f].push(y)}_query(t,n,a,c,f,y,x){if(a<0||t>this.width||c<0||n>this.height)return[];const w=[];if(t<=0&&n<=0&&this.width<=a&&this.height<=c){if(f)return[{key:null,x1:t,y1:n,x2:a,y2:c}];for(let S=0;S<this.boxKeys.length;S++)w.push({key:this.boxKeys[S],x1:this.bboxes[4*S],y1:this.bboxes[4*S+1],x2:this.bboxes[4*S+2],y2:this.bboxes[4*S+3]});for(let S=0;S<this.circleKeys.length;S++){const P=this.circles[3*S],E=this.circles[3*S+1],C=this.circles[3*S+2];w.push({key:this.circleKeys[S],x1:P-C,y1:E-C,x2:P+C,y2:E+C})}}else this._forEachCell(t,n,a,c,this._queryCell,w,{hitTest:f,overlapMode:y,seenUids:{box:{},circle:{}}},x);return w}query(t,n,a,c){return this._query(t,n,a,c,!1,null)}hitTest(t,n,a,c,f,y){return this._query(t,n,a,c,!0,f,y).length>0}hitTestCircle(t,n,a,c,f){const y=t-a,x=t+a,w=n-a,S=n+a;if(x<0||y>this.width||S<0||w>this.height)return!1;const P=[];return this._forEachCell(y,w,x,S,this._queryCellCircle,P,{hitTest:!0,overlapMode:c,circle:{x:t,y:n,radius:a},seenUids:{box:{},circle:{}}},f),P.length>0}_queryCell(t,n,a,c,f,y,x,w){const{seenUids:S,hitTest:P,overlapMode:E}=x,C=this.boxCells[f],z=1e-6;if(C!==null){const V=this.bboxes;for(const G of C)if(!S.box[G]){S.box[G]=!0;const N=4*G,$=this.boxKeys[G];if(t<=V[N+2]+z&&n<=V[N+3]+z&&a>=V[N+0]-z&&c>=V[N+1]-z&&(!w||w($))&&(!P||!Ar(E,$.overlapMode))&&(y.push({key:$,x1:V[N],y1:V[N+1],x2:V[N+2],y2:V[N+3]}),P))return!0}}const B=this.circleCells[f];if(B!==null){const V=this.circles;for(const G of B)if(!S.circle[G]){S.circle[G]=!0;const N=3*G,$=this.circleKeys[G];if(this._circleAndRectCollide(V[N],V[N+1],V[N+2],t,n,a,c)&&(!w||w($))&&(!P||!Ar(E,$.overlapMode))){const X=V[N],Z=V[N+1],U=V[N+2];if(y.push({key:$,x1:X-U,y1:Z-U,x2:X+U,y2:Z+U}),P)return!0}}}return!1}_queryCellCircle(t,n,a,c,f,y,x,w){const{circle:S,seenUids:P,overlapMode:E}=x,C=this.boxCells[f];if(C!==null){const B=this.bboxes;for(const V of C)if(!P.box[V]){P.box[V]=!0;const G=4*V,N=this.boxKeys[V];if(this._circleAndRectCollide(S.x,S.y,S.radius,B[G+0],B[G+1],B[G+2],B[G+3])&&(!w||w(N))&&!Ar(E,N.overlapMode))return y.push(!0),!0}}const z=this.circleCells[f];if(z!==null){const B=this.circles;for(const V of z)if(!P.circle[V]){P.circle[V]=!0;const G=3*V,N=this.circleKeys[V];if(this._circlesCollide(B[G],B[G+1],B[G+2],S.x,S.y,S.radius)&&(!w||w(N))&&!Ar(E,N.overlapMode))return y.push(!0),!0}}}_forEachCell(t,n,a,c,f,y,x,w){const S=this._convertToXCellCoord(t),P=this._convertToYCellCoord(n),E=this._convertToXCellCoord(a),C=this._convertToYCellCoord(c);for(let z=S;z<=E;z++)for(let B=P;B<=C;B++)if(f.call(this,t,n,a,c,this.xCellCount*B+z,y,x,w))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,n,a,c,f,y){const x=c-t,w=f-n,S=a+y;return S*S>x*x+w*w}_circleAndRectCollide(t,n,a,c,f,y,x){const w=(y-c)/2,S=Math.abs(t-(c+w));if(S>w+a)return!1;const P=(x-f)/2,E=Math.abs(n-(f+P));if(E>P+a)return!1;if(S<=w||E<=P)return!0;const C=S-w,z=E-P;return C*C+z*z<=a*a}}function Fe(h,t){const n=1/(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]),a=1/(t[8]*t[8]+t[9]*t[9]+t[10]*t[10]),c=t[0]*n,f=t[4]*n,y=t[8]*a,x=t[1]*n,w=t[5]*n,S=t[9]*a,P=t[2]*n,E=t[6]*n,C=t[10]*a;h[0]=c,h[1]=f,h[2]=y,h[4]=x,h[5]=w,h[6]=S,h[8]=P,h[9]=E,h[10]=C;const z=t[12],B=t[13],V=t[14];return h[12]=-c*z-x*B-P*V,h[13]=-f*z-w*B-E*V,h[14]=-y*z-S*B-C*V,h[3]=0,h[7]=0,h[11]=0,h[15]=1,h}const je=d.O();function Pi(h,t,n){const a=d.O();if(!h){const{vecSouth:E,vecEast:C}=cr(t),z=Tr();z[0]=C[0],z[1]=C[1],z[2]=E[0],z[3]=E[1],c=z,(P=(y=(f=z)[0])*(S=f[3])-(w=f[2])*(x=f[1]))&&(c[0]=S*(P=1/P),c[1]=-x*P,c[2]=-w*P,c[3]=y*P),a[0]=z[0],a[1]=z[1],a[4]=z[2],a[5]=z[3]}var c,f,y,x,w,S,P;return d.S(a,a,[1/n,1/n,1]),a}function go(h,t,n,a){if(h){const c=d.O();if(!t){const{vecSouth:f,vecEast:y}=cr(n);c[0]=y[0],c[1]=y[1],c[4]=f[0],c[5]=f[1]}return d.S(c,c,[a,a,1]),c}return n.pixelsToClipSpaceMatrix}function cr(h){const t=Math.cos(h.rollInRadians),n=Math.sin(h.rollInRadians),a=Math.cos(h.pitchInRadians),c=Math.cos(h.bearingInRadians),f=Math.sin(h.bearingInRadians),y=d.az();y[0]=-c*a*n-f*t,y[1]=-f*a*n+c*t;const x=d.aA(y);x<1e-9?d.aB(y):d.aC(y,y,1/x);const w=d.az();w[0]=c*a*t-f*n,w[1]=f*a*t+c*n;const S=d.aA(w);return S<1e-9?d.aB(w):d.aC(w,w,1/S),{vecEast:w,vecSouth:y}}function Be(h,t,n,a){let c;a?(c=[h,t,a(h,t),1],d.aE(c,c,n)):(c=[h,t,0,1],vo(c,c,n));const f=c[3];return{point:new d.P(c[0]/f,c[1]/f),signedDistanceFromCamera:f,isOccluded:!1}}function bs(h,t){return .5+h/t*.5}function ws(h,t){return h.x>=-t[0]&&h.x<=t[0]&&h.y>=-t[1]&&h.y<=t[1]}function _o(h,t,n,a,c,f,y,x,w,S,P,E,C){const z=n?h.textSizeData:h.iconSizeData,B=d.aw(z,t.transform.zoom),V=[256/t.width*2+1,256/t.height*2+1],G=n?h.text.dynamicLayoutVertexArray:h.icon.dynamicLayoutVertexArray;G.clear();const N=h.lineVertexArray,$=n?h.text.placedSymbolArray:h.icon.placedSymbolArray,X=t.transform.width/t.transform.height;let Z=!1;for(let U=0;U<$.length;U++){const H=$.get(U);if(H.hidden||H.writingMode===d.ax.vertical&&!Z){on(H.numGlyphs,G);continue}Z=!1;const q=new d.P(H.anchorX,H.anchorY),Q={getElevation:C,pitchedLabelPlaneMatrix:a,lineVertexArray:N,pitchWithMap:f,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:t.transform,tileAnchorPoint:q,unwrappedTileID:w,width:S,height:P,translation:E},se=Vn(H.anchorX,H.anchorY,Q);if(!ws(se.point,V)){on(H.numGlyphs,G);continue}const oe=bs(t.transform.cameraToCenterDistance,se.signedDistanceFromCamera),de=d.ay(z,B,H),he=f?de*t.transform.getPitchedTextCorrection(H.anchorX,H.anchorY,w)/oe:de*oe,Pe=On({projectionContext:Q,pitchedLabelPlaneMatrixInverse:c,symbol:H,fontSize:he,flip:!1,keepUpright:y,glyphOffsetArray:h.glyphOffsetArray,dynamicLayoutVertexArray:G,aspectRatio:X,rotateToLine:x});Z=Pe.useVertical,(Pe.notEnoughRoom||Z||Pe.needsFlipping&&On({projectionContext:Q,pitchedLabelPlaneMatrixInverse:c,symbol:H,fontSize:he,flip:!0,keepUpright:y,glyphOffsetArray:h.glyphOffsetArray,dynamicLayoutVertexArray:G,aspectRatio:X,rotateToLine:x}).notEnoughRoom)&&on(H.numGlyphs,G)}n?h.text.dynamicLayoutVertexBuffer.updateData(G):h.icon.dynamicLayoutVertexBuffer.updateData(G)}function Bn(h,t,n,a,c,f,y,x){const w=f.glyphStartIndex+f.numGlyphs,S=f.lineStartIndex,P=f.lineStartIndex+f.lineLength,E=t.getoffsetX(f.glyphStartIndex),C=t.getoffsetX(w-1),z=Wi(h*E,n,a,c,f.segment,S,P,x,y);if(!z)return null;const B=Wi(h*C,n,a,c,f.segment,S,P,x,y);return B?x.projectionCache.anyProjectionOccluded?null:{first:z,last:B}:null}function Ts(h,t,n,a){return h===d.ax.horizontal&&Math.abs(n.y-t.y)>Math.abs(n.x-t.x)*a?{useVertical:!0}:(h===d.ax.vertical?t.y<n.y:t.x>n.x)?{needsFlipping:!0}:null}function On(h){const{projectionContext:t,pitchedLabelPlaneMatrixInverse:n,symbol:a,fontSize:c,flip:f,keepUpright:y,glyphOffsetArray:x,dynamicLayoutVertexArray:w,aspectRatio:S,rotateToLine:P}=h,E=c/24,C=a.lineOffsetX*E,z=a.lineOffsetY*E;let B;if(a.numGlyphs>1){const V=a.glyphStartIndex+a.numGlyphs,G=a.lineStartIndex,N=a.lineStartIndex+a.lineLength,$=Bn(E,x,C,z,f,a,P,t);if(!$)return{notEnoughRoom:!0};const X=yo($.first.point.x,$.first.point.y,t,n),Z=yo($.last.point.x,$.last.point.y,t,n);if(y&&!f){const U=Ts(a.writingMode,X,Z,S);if(U)return U}B=[$.first];for(let U=a.glyphStartIndex+1;U<V-1;U++){const H=Wi(E*x.getoffsetX(U),C,z,f,a.segment,G,N,t,P);if(!H)return{notEnoughRoom:!0};B.push(H)}B.push($.last)}else{if(y&&!f){const G=tt(t.tileAnchorPoint.x,t.tileAnchorPoint.y,t).point,N=a.lineStartIndex+a.segment+1,$=new d.P(t.lineVertexArray.getx(N),t.lineVertexArray.gety(N)),X=tt($.x,$.y,t),Z=X.signedDistanceFromCamera>0?X.point:Ss(t.tileAnchorPoint,$,G,1,t),U=yo(G.x,G.y,t,n),H=yo(Z.x,Z.y,t,n),q=Ts(a.writingMode,U,H,S);if(q)return q}const V=Wi(E*x.getoffsetX(a.glyphStartIndex),C,z,f,a.segment,a.lineStartIndex,a.lineStartIndex+a.lineLength,t,P);if(!V||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};B=[V]}for(const V of B)d.aD(w,V.point,V.angle);return{}}function Ss(h,t,n,a,c){const f=h.add(h.sub(t)._unit()),y=tt(f.x,f.y,c).point,x=n.sub(y);return n.add(x._mult(a/x.mag()))}function Wt(h,t,n){const a=t.projectionCache;if(a.projections[h])return a.projections[h];const c=new d.P(t.lineVertexArray.getx(h),t.lineVertexArray.gety(h)),f=tt(c.x,c.y,t);if(f.signedDistanceFromCamera>0)return a.projections[h]=f.point,a.anyProjectionOccluded||(a.anyProjectionOccluded=f.isOccluded),f.point;const y=h-n.direction;return Ss(n.distanceFromAnchor===0?t.tileAnchorPoint:new d.P(t.lineVertexArray.getx(y),t.lineVertexArray.gety(y)),c,n.previousVertex,n.absOffsetX-n.distanceFromAnchor+1,t)}function tt(h,t,n){const a=h+n.translation[0],c=t+n.translation[1];let f;return n.pitchWithMap?(f=Be(a,c,n.pitchedLabelPlaneMatrix,n.getElevation),f.isOccluded=!1):(f=n.transform.projectTileCoordinates(a,c,n.unwrappedTileID,n.getElevation),f.point.x=(.5*f.point.x+.5)*n.width,f.point.y=(.5*-f.point.y+.5)*n.height),f}function yo(h,t,n,a){if(n.pitchWithMap){const c=[h,t,0,1];return d.aE(c,c,a),n.transform.projectTileCoordinates(c[0]/c[3],c[1]/c[3],n.unwrappedTileID,n.getElevation).point}return{x:h/n.width*2-1,y:1-t/n.height*2}}function Vn(h,t,n){return n.transform.projectTileCoordinates(h,t,n.unwrappedTileID,n.getElevation)}function Ps(h,t,n){return h._unit()._perp()._mult(t*n)}function sn(h,t,n,a,c,f,y,x,w){if(x.projectionCache.offsets[h])return x.projectionCache.offsets[h];const S=n.add(t);if(h+w.direction<a||h+w.direction>=c)return x.projectionCache.offsets[h]=S,S;const P=Wt(h+w.direction,x,w),E=Ps(P.sub(n),y,w.direction),C=n.add(E),z=P.add(E);return x.projectionCache.offsets[h]=d.aF(f,S,C,z)||S,x.projectionCache.offsets[h]}function Wi(h,t,n,a,c,f,y,x,w){const S=a?h-t:h+t;let P=S>0?1:-1,E=0;a&&(P*=-1,E=Math.PI),P<0&&(E+=Math.PI);let C,z=P>0?f+c:f+c+1;x.projectionCache.cachedAnchorPoint?C=x.projectionCache.cachedAnchorPoint:(C=tt(x.tileAnchorPoint.x,x.tileAnchorPoint.y,x).point,x.projectionCache.cachedAnchorPoint=C);let B,V,G=C,N=C,$=0,X=0;const Z=Math.abs(S),U=[];let H;for(;$+X<=Z;){if(z+=P,z<f||z>=y)return null;$+=X,N=G,V=B;const se={absOffsetX:Z,direction:P,distanceFromAnchor:$,previousVertex:N};if(G=Wt(z,x,se),n===0)U.push(N),H=G.sub(N);else{let oe;const de=G.sub(N);oe=de.mag()===0?Ps(Wt(z+P,x,se).sub(G),n,P):Ps(de,n,P),V||(V=N.add(oe)),B=sn(z,oe,G,f,y,V,n,x,se),U.push(V),H=B.sub(V)}X=H.mag()}const q=H._mult((Z-$)/X)._add(V||N),Q=E+Math.atan2(G.y-N.y,G.x-N.x);return U.push(q),{point:q,angle:w?Q:0,path:U}}const ac=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function on(h,t){for(let n=0;n<h;n++){const a=t.length;t.resize(a+4),t.float32.set(ac,3*a)}}function vo(h,t,n){const a=t[0],c=t[1];return h[0]=n[0]*a+n[4]*c+n[12],h[1]=n[1]*a+n[5]*c+n[13],h[3]=n[3]*a+n[7]*c+n[15],h}const vt=100;class lc{constructor(t,n=new be(t.width+200,t.height+200,25),a=new be(t.width+200,t.height+200,25)){this.transform=t,this.grid=n,this.ignoredGrid=a,this.pitchFactor=Math.cos(t.pitch*Math.PI/180)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+vt,this.screenBottomBoundary=t.height+vt,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200,this.perspectiveRatioCutoff=.6}placeCollisionBox(t,n,a,c,f,y,x,w,S,P,E,C){const z=this.projectAndGetPerspectiveRatio(t.anchorPointX+w[0],t.anchorPointY+w[1],f,P,C),B=a*z.perspectiveRatio;let V;if(y||x)V=this._projectCollisionBox(t,B,c,f,y,x,w,z,P,E,C);else{const H=z.x+(E?E.x*B:0),q=z.y+(E?E.y*B:0);V={allPointsOccluded:!1,box:[H+t.x1*B,q+t.y1*B,H+t.x2*B,q+t.y2*B]}}const[G,N,$,X]=V.box,Z=y?V.allPointsOccluded:z.isOccluded;let U=Z;return U||(U=z.perspectiveRatio<this.perspectiveRatioCutoff),U||(U=!this.isInsideGrid(G,N,$,X)),U||n!=="always"&&this.grid.hitTest(G,N,$,X,n,S)?{box:[G,N,$,X],placeable:!1,offscreen:!1,occluded:Z}:{box:[G,N,$,X],placeable:!0,offscreen:this.isOffscreen(G,N,$,X),occluded:Z}}
5placeCollisionCircles(t,n,a,c,f,y,x,w,S,P,E,C,z,B){const V=[],G=new d.P(n.anchorX,n.anchorY),N=this.getPerspectiveRatio(G.x,G.y,y,B),$=(S?f*this.transform.getPitchedTextCorrection(n.anchorX,n.anchorY,y)/N:f*N)/d.aJ,X={getElevation:B,pitchedLabelPlaneMatrix:x,lineVertexArray:a,pitchWithMap:S,projectionCache:{projections:{},offsets:{},cachedAnchorPoint:void 0,anyProjectionOccluded:!1},transform:this.transform,tileAnchorPoint:G,unwrappedTileID:y,width:this.transform.width,height:this.transform.height,translation:z},Z=Bn($,c,n.lineOffsetX*$,n.lineOffsetY*$,!1,n,!1,X);let U=!1,H=!1,q=!0;if(Z){const Q=.5*E*N+C,se=new d.P(-100,-100),oe=new d.P(this.screenRightBoundary,this.screenBottomBoundary),de=new ja,he=Z.first,Pe=Z.last;let ve=[];for(let Ee=he.path.length-1;Ee>=1;Ee--)ve.push(he.path[Ee]);for(let Ee=1;Ee<Pe.path.length;Ee++)ve.push(Pe.path[Ee]);const ue=2.5*Q;if(S){const Ee=this.projectPathToScreenSpace(ve,X);ve=Ee.some(Qe=>Qe.signedDistanceFromCamera<=0)?[]:Ee.map(Qe=>Qe.point)}let we=[];if(ve.length>0){const Ee=ve[0].clone(),Qe=ve[0].clone();for(let Pt=1;Pt<ve.length;Pt++)Ee.x=Math.min(Ee.x,ve[Pt].x),Ee.y=Math.min(Ee.y,ve[Pt].y),Qe.x=Math.max(Qe.x,ve[Pt].x),Qe.y=Math.max(Qe.y,ve[Pt].y);we=Ee.x>=se.x&&Qe.x<=oe.x&&Ee.y>=se.y&&Qe.y<=oe.y?[ve]:Qe.x<se.x||Ee.x>oe.x||Qe.y<se.y||Ee.y>oe.y?[]:d.aG([ve],se.x,se.y,oe.x,oe.y)}for(const Ee of we){de.reset(Ee,.25*Q);let Qe=0;Qe=de.length<=.5*Q?1:Math.ceil(de.paddedLength/ue)+1;for(let Pt=0;Pt<Qe;Pt++){const rt=Pt/Math.max(Qe-1,1),Mt=de.lerp(rt),Ct=Mt.x+vt,Jt=Mt.y+vt;V.push(Ct,Jt,Q,0);const xt=Ct-Q,ci=Jt-Q,Ht=Ct+Q,Bt=Jt+Q;if(q&&(q=this.isOffscreen(xt,ci,Ht,Bt)),H||(H=this.isInsideGrid(xt,ci,Ht,Bt)),t!=="always"&&this.grid.hitTestCircle(Ct,Jt,Q,t,P)&&(U=!0,!w))return{circles:[],offscreen:!1,collisionDetected:U}}}}return{circles:!w&&U||!H||N<this.perspectiveRatioCutoff?[]:V,offscreen:q,collisionDetected:U}}projectPathToScreenSpace(t,n){const a=function(c,f){const y=je;return function(x,w){const S=1/(w[0]*w[5]-w[1]*w[4]);x[0]=w[5]*S,x[1]=-w[1]*S,x[2]=0,x[3]=0,x[4]=-w[4]*S,x[5]=w[0]*S,x[6]=0,x[7]=0,x[8]=0,x[9]=0,x[10]=1/w[10],x[11]=0,x[12]=0,x[13]=0,x[14]=0,x[15]=1/w[15]}(y,f.pitchedLabelPlaneMatrix),c.map(x=>{const w=Be(x.x,x.y,y,f.getElevation),S=f.transform.projectTileCoordinates(w.point.x,w.point.y,f.unwrappedTileID,f.getElevation);return S.point.x=(.5*S.point.x+.5)*f.width,S.point.y=(.5*-S.point.y+.5)*f.height,S})}(t,n);return function(c){let f=0,y=0,x=0,w=0;for(let S=0;S<c.length;S++)c[S].isOccluded?(x=S+1,w=0):(w++,w>y&&(y=w,f=x));return c.slice(f,f+y)}(a)}queryRenderedSymbols(t){if(t.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};const n=[],a=new d.a8;for(const E of t){const C=new d.P(E.x+vt,E.y+vt);a.extend(C),n.push(C)}const{minX:c,minY:f,maxX:y,maxY:x}=a,w=this.grid.query(c,f,y,x).concat(this.ignoredGrid.query(c,f,y,x)),S={},P={};for(const E of w){const C=E.key;if(S[C.bucketInstanceId]===void 0&&(S[C.bucketInstanceId]={}),S[C.bucketInstanceId][C.featureIndex])continue;const z=[new d.P(E.x1,E.y1),new d.P(E.x2,E.y1),new d.P(E.x2,E.y2),new d.P(E.x1,E.y2)];d.aH(n,z)&&(S[C.bucketInstanceId][C.featureIndex]=!0,P[C.bucketInstanceId]===void 0&&(P[C.bucketInstanceId]=[]),P[C.bucketInstanceId].push(C.featureIndex))}return P}insertCollisionBox(t,n,a,c,f,y){(a?this.ignoredGrid:this.grid).insert({bucketInstanceId:c,featureIndex:f,collisionGroupID:y,overlapMode:n},t[0],t[1],t[2],t[3])}insertCollisionCircles(t,n,a,c,f,y){const x=a?this.ignoredGrid:this.grid,w={bucketInstanceId:c,featureIndex:f,collisionGroupID:y,overlapMode:n};for(let S=0;S<t.length;S+=4)x.insertCircle(w,t[S],t[S+1],t[S+2])}projectAndGetPerspectiveRatio(t,n,a,c,f){if(f){let y;c?(y=[t,n,c(t,n),1],d.aE(y,y,f)):(y=[t,n,0,1],vo(y,y,f));const x=y[3];return{x:(y[0]/x+1)/2*this.transform.width+vt,y:(-y[1]/x+1)/2*this.transform.height+vt,perspectiveRatio:.5+this.transform.cameraToCenterDistance/x*.5,isOccluded:!1,signedDistanceFromCamera:x}}{const y=this.transform.projectTileCoordinates(t,n,a,c);return{x:(y.point.x+1)/2*this.transform.width+vt,y:(1-y.point.y)/2*this.transform.height+vt,perspectiveRatio:.5+this.transform.cameraToCenterDistance/y.signedDistanceFromCamera*.5,isOccluded:y.isOccluded,signedDistanceFromCamera:y.signedDistanceFromCamera}}}
vendor: 5,470 bytes, line 5
5getPerspectiveRatio(t,n,a,c){const f=this.transform.projectTileCoordinates(t,n,a,c);return .5+this.transform.cameraToCenterDistance/f.signedDistanceFromCamera*.5}isOffscreen(t,n,a,c){return a<vt||t>=this.screenRightBoundary||c<vt||n>this.screenBottomBoundary}isInsideGrid(t,n,a,c){return a>=0&&t<this.gridRightBoundary&&c>=0&&n<this.gridBottomBoundary}getViewportMatrix(){const t=d.ap([]);return d.Q(t,t,[-100,-100,0]),t}_projectCollisionBox(t,n,a,c,f,y,x,w,S,P,E){let C=1,z=0,B=0,V=1;const G=t.anchorPointX+x[0],N=t.anchorPointY+x[1];if(y&&!f){const ve=this.projectAndGetPerspectiveRatio(G+1,N,c,S,E),ue=ve.x-w.x,we=Math.atan((ve.y-w.y)/ue)+(ue<0?Math.PI:0),Ee=Math.sin(we),Qe=Math.cos(we);C=Qe,z=Ee,B=-Ee,V=Qe}else if(!y&&f){const ve=cr(this.transform);C=ve.vecEast[0],z=ve.vecEast[1],B=ve.vecSouth[0],V=ve.vecSouth[1]}let $=w.x,X=w.y,Z=n;f&&($=G,X=N,Z=Math.pow(2,-(this.transform.zoom-a.overscaledZ)),Z*=this.transform.getPitchedTextCorrection(G,N,c),P||(Z*=d.al(.5+w.signedDistanceFromCamera/this.transform.cameraToCenterDistance*.5,0,4))),P&&($+=C*P.x*Z+B*P.y*Z,X+=z*P.x*Z+V*P.y*Z);const U=t.x1*Z,H=t.x2*Z,q=(U+H)/2,Q=t.y1*Z,se=t.y2*Z,oe=(Q+se)/2,de=[{offsetX:U,offsetY:Q},{offsetX:q,offsetY:Q},{offsetX:H,offsetY:Q},{offsetX:H,offsetY:oe},{offsetX:H,offsetY:se},{offsetX:q,offsetY:se},{offsetX:U,offsetY:se},{offsetX:U,offsetY:oe}];let he=[];for(const{offsetX:ve,offsetY:ue}of de)he.push(new d.P($+C*ve+B*ue,X+z*ve+V*ue));let Pe=!1;if(f){const ve=he.map(ue=>this.projectAndGetPerspectiveRatio(ue.x,ue.y,c,S,E));Pe=ve.some(ue=>!ue.isOccluded),he=ve.map(ue=>new d.P(ue.x,ue.y))}else Pe=!0;return{box:d.aI(he),allPointsOccluded:!Pe}}}class cc{constructor(t,n,a,c){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?n:-n))):c&&a?1:0,this.placed=a}isHidden(){return this.opacity===0&&!this.placed}}class Is{constructor(t,n,a,c,f){this.text=new cc(t?t.text:null,n,a,f),this.icon=new cc(t?t.icon:null,n,c,f)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class uc{constructor(t,n,a){this.text=t,this.icon=n,this.skipFade=a}}class hc{constructor(t,n,a,c,f){this.bucketInstanceId=t,this.featureIndex=n,this.sourceLayerIndex=a,this.bucketIndex=c,this.tileID=f}}class dc{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const n=++this.maxGroupID;this.collisionGroups[t]={ID:n,predicate:a=>a.collisionGroupID===n}}return this.collisionGroups[t]}}function xo(h,t,n,a,c){const{horizontalAlign:f,verticalAlign:y}=d.aP(h);return new d.P(-(f-.5)*t+a[0]*c,-(y-.5)*n+a[1]*c)}class Na{constructor(t,n,a,c,f){this.transform=t.clone(),this.terrain=n,this.collisionIndex=new lc(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=a,this.retainedQueryData={},this.collisionGroups=new dc(c),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=f,f&&(f.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const n=this.terrain;return n?(a,c)=>n.getElevation(t,a,c):null}getBucketParts(t,n,a,c){const f=a.getBucket(n),y=a.latestFeatureIndex;if(!f||!y||n.id!==f.layerIds[0])return;const x=a.collisionBoxArray,w=f.layers[0].layout,S=f.layers[0].paint,P=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),E=a.tileSize/d.a6,C=a.tileID.toUnwrapped(),z=w.get("text-rotation-alignment")==="map",B=d.aK(a,1,this.transform.zoom),V=d.aL(this.collisionIndex.transform,a,S.get("text-translate"),S.get("text-translate-anchor")),G=d.aL(this.collisionIndex.transform,a,S.get("icon-translate"),S.get("icon-translate-anchor")),N=Pi(z,this.transform,B);this.retainedQueryData[f.bucketInstanceId]=new hc(f.bucketInstanceId,y,f.sourceLayerIndex,f.index,a.tileID);const $={bucket:f,layout:w,translationText:V,translationIcon:G,unwrappedTileID:C,pitchedLabelPlaneMatrix:N,scale:P,textPixelRatio:E,holdingForFade:a.holdingForSymbolFade(),collisionBoxArray:x,partiallyEvaluatedTextSize:d.aw(f.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(f.sourceID)};if(c)for(const X of f.sortKeyRanges){const{sortKey:Z,symbolInstanceStart:U,symbolInstanceEnd:H}=X;t.push({sortKey:Z,symbolInstanceStart:U,symbolInstanceEnd:H,parameters:$})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:f.symbolInstances.length,parameters:$})}attemptAnchorPlacement(t,n,a,c,f,y,x,w,S,P,E,C,z,B,V,G,N,$,X,Z){var U,H,q;const Q=d.aM[t.textAnchor],se=[t.textOffset0,t.textOffset1],oe=xo(Q,a,c,se,f),de=this.collisionIndex.placeCollisionBox(n,C,w,S,P,x,y,G,E.predicate,X,oe,Z);if((!$||this.collisionIndex.placeCollisionBox($,C,w,S,P,x,y,N,E.predicate,X,oe,Z).placeable)&&de.placeable){let he;if(!((U=this.prevPlacement)===null||U===void 0)&&U.variableOffsets[z.crossTileID]&&(!((q=(H=this.prevPlacement)===null||H===void 0?void 0:H.placements[z.crossTileID])===null||q===void 0)&&q.text)&&(he=this.prevPlacement.variableOffsets[z.crossTileID].anchor),z.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[z.crossTileID]={textOffset:se,width:a,height:c,anchor:Q,textBoxScale:f,prevAnchor:he},this.markUsedJustification(B,Q,z,V),B.allowVerticalPlacement&&(this.markUsedOrientation(B,V,z),this.placedOrientations[z.crossTileID]=V),{shift:oe,placedGlyphBoxes:de}}}placeLayerBucketPart(t,n,a){const{bucket:c,layout:f,translationText:y,translationIcon:x,unwrappedTileID:w,pitchedLabelPlaneMatr
5ix:S,textPixelRatio:P,holdingForFade:E,collisionBoxArray:C,partiallyEvaluatedTextSize:z,collisionGroup:B}=t.parameters,V=f.get("text-optional"),G=f.get("icon-optional"),N=d.aN(f,"text-overlap","text-allow-overlap"),$=N==="always",X=d.aN(f,"icon-overlap","icon-allow-overlap"),Z=X==="always",U=f.get("text-rotation-alignment")==="map",H=f.get("text-pitch-alignment")==="map",q=f.get("icon-text-fit")!=="none",Q=f.get("symbol-z-order")==="viewport-y",se=$&&(Z||!c.hasIconData()||G),oe=Z&&($||!c.hasTextData()||V);!c.collisionArrays&&C&&c.deserializeCollisionBoxes(C);const de=this.retainedQueryData[c.bucketInstanceId].tileID,he=this._getTerrainElevationFunc(de),Pe=this.transform.getFastPathSimpleProjectionMatrix(de),ve=(ue,we,Ee)=>{var Qe,Pt;if(n[ue.crossTileID])return;if(E)return void(this.placements[ue.crossTileID]=new uc(!1,!1,!1));let rt=!1,Mt=!1,Ct=!0,Jt=null,xt={box:null,placeable:!1,offscreen:null,occluded:!1},ci={placeable:!1},Ht=null,Bt=null,Qt=null,Br=0,Or=0,Vr=0;we.textFeatureIndex?Br=we.textFeatureIndex:ue.useRuntimeCollisionCircles&&(Br=ue.featureIndex),we.verticalTextFeatureIndex&&(Or=we.verticalTextFeatureIndex);const ei=we.textBox;if(ei){const nr=ft=>{let ct=d.ax.horizontal;if(c.allowVerticalPlacement&&!ft&&this.prevPlacement){const At=this.prevPlacement.placedOrientations[ue.crossTileID];At&&(this.placedOrientations[ue.crossTileID]=At,ct=At,this.markUsedOrientation(c,ct,ue))}return ct},sr=(ft,ct)=>{if(c.allowVerticalPlacement&&ue.numVerticalGlyphVertices>0&&we.verticalTextBox){for(const At of c.writingModes)if(At===d.ax.vertical?(xt=ct(),ci=xt):xt=ft(),xt?.placeable)break}else xt=ft()},Ai=ue.textAnchorOffsetStartIndex,ji=ue.textAnchorOffsetEndIndex;if(ji===Ai){const ft=(ct,At)=>{const mt=this.collisionIndex.placeCollisionBox(ct,N,P,de,w,H,U,y,B.predicate,he,void 0,Pe);return mt?.placeable&&(this.markUsedOrientation(c,At,ue),this.placedOrientations[ue.crossTileID]=At),mt};sr(()=>ft(ei,d.ax.horizontal),()=>{const ct=we.verticalTextBox;return c.allowVerticalPlacement&&ue.numVerticalGlyphVertices>0&&ct?ft(ct,d.ax.vertical):{box:null,offscreen:null}}),nr(xt?.placeable)}else{let ft=d.aM[(Pt=(Qe=this.prevPlacement)===null||Qe===void 0?void 0:Qe.variableOffsets[ue.crossTileID])===null||Pt===void 0?void 0:Pt.anchor];const ct=(mt,Sn,na)=>{const _r=mt.x2-mt.x1,Fl=mt.y2-mt.y1,au=ue.textBoxScale,Ll=q&&X==="never"?Sn:null;let Nr=null,Ur=N==="never"?1:2,Gr="never";ft&&Ur++;for(let Bl=0;Bl<Ur;Bl++){for(let Ol=Ai;Ol<ji;Ol++){const sa=c.textAnchorOffsets.get(Ol);if(ft&&sa.textAnchor!==ft)continue;const oa=this.attemptAnchorPlacement(sa,mt,_r,Fl,au,U,H,P,de,w,B,Gr,ue,c,na,y,x,Ll,he);if(oa&&(Nr=oa.placedGlyphBoxes,Nr?.placeable))return rt=!0,Jt=oa.shift,Nr}ft?ft=null:Gr=N}return a&&!Nr&&(Nr={box:this.collisionIndex.placeCollisionBox(ei,"always",P,de,w,H,U,y,B.predicate,he,void 0,Pe).box,offscreen:!1,placeable:!1,occluded:!1}),Nr};sr(()=>ct(ei,we.iconBox,d.ax.horizontal),()=>{const mt=we.verticalTextBox;return c.allowVerticalPlacement&&!xt?.placeable&&ue.numVerticalGlyphVertices>0&&mt?ct(mt,we.verticalIconBox,d.ax.vertical):{box:null,occluded:!0,offscreen:null}}),xt&&(rt=xt.placeable,Ct=xt.offscreen);const At=nr(xt?.placeable);if(!rt&&this.prevPlacement){const mt=this.prevPlacement.variableOffsets[ue.crossTileID];mt&&(this.variableOffsets[ue.crossTileID]=mt,this.markUsedJustification(c,mt.anchor,ue,At))}}}if(Ht=xt,rt=Ht?.placeable,Ct=Ht?.offscreen,ue.useRuntimeCollisionCircles&&ue.centerJustifiedTextSymbolIndex>=0){const nr=c.text.placedSymbolArray.get(ue.centerJustifiedTextSymbolIndex),sr=d.ay(c.textSizeData,z,nr),Ai=f.get("text-padding");Bt=this.collisionIndex.placeCollisionCircles(N,nr,c.lineVertexArray,c.glyphOffsetArray,sr,w,S,a,H,B.predicate,ue.collisionCircleDiameter,Ai,y,he),Bt.circles.length&&Bt.collisionDetected&&!a&&d.w("Collisions detected, but collision boxes are not shown"),rt=$||Bt.circles.length>0&&!Bt.collisionDetected,Ct&&(Ct=Bt.offscreen)}if(we.iconFeatureIndex&&(Vr=we.iconFeatureIndex),we.iconBox){const nr=sr=>this.collisionIndex.placeCollisionBox(sr,X,P,de,w,H,U,x,B.predicate,he,q&&Jt?Jt:void 0,Pe);ci&&ci.placeable&&we.verticalIconBox?(Qt=nr(we.verticalIconBox),Mt=Qt.placeable):(Qt=nr(we.iconBox),Mt=Qt.placeable),Ct&&(Ct=Qt.offscreen)}const gr=V||ue.numHorizontalGlyphVertices===0&&ue.numVerticalGlyphVertices===0,jr=G||ue.numIconVertices===0;gr||jr?jr?gr||Mt&&(Mt=rt):rt=Mt&&rt:Mt=rt=Mt&&rt;const ra=Mt&&Qt.placeable;if(rt&&Ht.placeable&&this.collisionIndex.insertCollisionBox(Ht.box,N,f.get("text-ignore-placement"),c.bucketInstanceId,ci&&ci.placeable&&Or?Or:Br,B.ID),ra&&this.collisionIndex.insertCollisionBox(Qt.box,X,f.get("icon-ignore-placement"),c.bucketInstanceId,Vr,B.ID),Bt&&rt&&this.collisionIndex.insertCollisionCircles(Bt.circles,N,f.get("text-ignore-placement"),c.bucketInstanceId,Br,B.ID),a&&this.storeCollisionData(c.bucketInstanceId,Ee,we,Ht,Qt,Bt),ue.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(c.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[ue.crossTileID]=new uc((rt||se)&&!Ht?.occluded,(Mt||oe)&&!Qt?.occluded,Ct||c.justReloaded),n[ue.crossTileID]=!0};if(Q){if(t.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");
vendor: 11,043 bytes, line 5
5const ue=c.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let we=ue.length-1;we>=0;--we){const Ee=ue[we];ve(c.symbolInstances.get(Ee),c.collisionArrays[Ee],Ee)}}else for(let ue=t.symbolInstanceStart;ue<t.symbolInstanceEnd;ue++)ve(c.symbolInstances.get(ue),c.collisionArrays[ue],ue);c.justReloaded=!1}storeCollisionData(t,n,a,c,f,y){if(a.textBox||a.iconBox){let x,w;this.collisionBoxArrays.has(t)?x=this.collisionBoxArrays.get(t):(x=new Map,this.collisionBoxArrays.set(t,x)),x.has(n)?w=x.get(n):(w={text:null,icon:null},x.set(n,w)),a.textBox&&(w.text=c.box),a.iconBox&&(w.icon=f.box)}if(y){let x=this.collisionCircleArrays[t];x===void 0&&(x=this.collisionCircleArrays[t]=[]);for(let w=0;w<y.circles.length;w+=4)x.push(y.circles[w+0]-vt),x.push(y.circles[w+1]-vt),x.push(y.circles[w+2]),x.push(y.collisionDetected?1:0)}}markUsedJustification(t,n,a,c){let f;f=c===d.ax.vertical?a.verticalPlacedTextSymbolIndex:{left:a.leftJustifiedTextSymbolIndex,center:a.centerJustifiedTextSymbolIndex,right:a.rightJustifiedTextSymbolIndex}[d.aO(n)];const y=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex,a.verticalPlacedTextSymbolIndex];for(const x of y)x>=0&&(t.text.placedSymbolArray.get(x).crossTileID=f>=0&&x!==f?0:a.crossTileID)}markUsedOrientation(t,n,a){const c=n===d.ax.horizontal||n===d.ax.horizontalOnly?n:0,f=n===d.ax.vertical?n:0,y=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const x of y)t.text.placedSymbolArray.get(x).placedOrientation=c;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=f)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const n=this.prevPlacement;let a=!1;this.prevZoomAdjustment=n?n.zoomAdjustment(this.transform.zoom):0;const c=n?n.symbolFadeChange(t):1,f=n?n.opacities:{},y=n?n.variableOffsets:{},x=n?n.placedOrientations:{};for(const w in this.placements){const S=this.placements[w],P=f[w];P?(this.opacities[w]=new Is(P,c,S.text,S.icon),a||(a=S.text!==P.text.placed),a||(a=S.icon!==P.icon.placed)):(this.opacities[w]=new Is(null,c,S.text,S.icon,S.skipFade),a||(a=S.text||S.icon))}for(const w in f){const S=f[w];if(!this.opacities[w]){const P=new Is(S,c,!1,!1);P.isHidden()||(this.opacities[w]=P,a||(a=S.text.placed),a||(a=S.icon.placed))}}for(const w in y)this.variableOffsets[w]||!this.opacities[w]||this.opacities[w].isHidden()||(this.variableOffsets[w]=y[w]);for(const w in x)this.placedOrientations[w]||!this.opacities[w]||this.opacities[w].isHidden()||(this.placedOrientations[w]=x[w]);if(n&&n.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");a?this.lastPlacementChangeTime=t:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=n?n.lastPlacementChangeTime:t)}updateLayerOpacities(t,n){const a={};for(const c of n){const f=c.getBucket(t);f&&c.latestFeatureIndex&&t.id===f.layerIds[0]&&this.updateBucketOpacities(f,c.tileID,a,c.collisionBoxArray)}}updateBucketOpacities(t,n,a,c){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const f=t.layers[0],y=f.layout,x=new Is(null,0,!1,!1,!0),w=y.get("text-allow-overlap"),S=y.get("icon-allow-overlap"),P=f._unevaluatedLayout.hasValue("text-variable-anchor")||f._unevaluatedLayout.hasValue("text-variable-anchor-offset"),E=y.get("text-rotation-alignment")==="map",C=y.get("text-pitch-alignment")==="map",z=y.get("icon-text-fit")!=="none",B=new Is(null,0,w&&(S||!t.hasIconData()||y.get("icon-optional")),S&&(w||!t.hasTextData()||y.get("text-optional")),!0);!t.collisionArrays&&c&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(c);const V=(N,$,X)=>{for(let Z=0;Z<$/4;Z++)N.opacityVertexArray.emplaceBack(X);N.hasVisibleVertices||(N.hasVisibleVertices=X!==Es)},G=this.collisionBoxArrays.get(t.bucketInstanceId);for(let N=0;N<t.symbolInstances.length;N++){const $=t.symbolInstances.get(N),{numHorizontalGlyphVertices:X,numVerticalGlyphVertices:Z,crossTileID:U}=$;let H=this.opacities[U];a[U]?H=x:H||(H=B,this.opacities[U]=H),a[U]=!0;const q=$.numIconVertices>0,Q=this.placedOrientations[$.crossTileID],se=Q===d.ax.vertical,oe=Q===d.ax.horizontal||Q===d.ax.horizontalOnly;if(X>0||Z>0){const he=Za(H.text);V(t.text,X,se?Es:he),V(t.text,Z,oe?Es:he);const Pe=H.text.isHidden(),ve=[$.rightJustifiedTextSymbolIndex,$.centerJustifiedTextSymbolIndex,$.leftJustifiedTextSymbolIndex];for(const Ee of ve)Ee>=0&&(t.text.placedSymbolArray.get(Ee).hidden=Pe||se?1:0);$.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get($.verticalPlacedTextSymbolIndex).hidden=Pe||oe?1:0);const ue=this.variableOffsets[$.crossTileID];ue&&this.markUsedJustification(t,ue.anchor,$,Q);const we=this.placedOrientations[$.crossTileID];we&&(this.markUsedJustification(t,"left",$,we),this.markUsedOrientation(t,we,$))}if(q){const he=Za(H.icon),Pe=!(z&&$.verticalPlacedIconSymbolIndex&&se);$.placedIconSymbolIndex>=0&&(V(t.icon,$.numIconVertices,Pe?he:Es),t.icon.placedSymbolArray.get($.placedIconSymbolIndex).hidden=H.icon.isHidden()),$.verticalPlacedIconSymbolIndex>=0&&(V(t.icon,$.numVerticalIconVertices,Pe?Es:he),t.icon.placedSymbolArray.get($.verticalPlacedIconSymbolIndex).hidden=H.icon.isHidden())}const de=G?.has(N)?G.get(N):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const he=t.collisionArrays[N];if(he){let Pe=new d.P(0,0);if(he.textBox||he.verticalTextBox){let ve=!0;if(P){const ue=this.variableOffsets[U];ue?(Pe=xo(ue.anchor,ue.width,ue.height,ue.textOffset,ue.textBoxScale),E&&Pe._rotate(C?-this.transform.bearingInRadians:this.transform.bearingInRadians)):ve=!1}if(he.textBox||he.verticalTextBox){let ue;he.textBox&&(ue=se),he.verticalTextBox&&(ue=oe),Ua(t.textCollisionBox.collisionVertexArray,H.text.placed,!ve||ue,de.text,Pe.x,Pe.y)}}if(he.iconBox||he.verticalIconBox){const ve=!!(!oe&&he.verticalIconBox);let ue;he.iconBox&&(ue=ve),he.verticalIconBox&&(ue=!ve),Ua(t.iconCollisionBox.collisionVertexArray,H.icon.placed,ue,de.icon,z?Pe.x:0,z?Pe.y:0)}}}}if(t.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);t.bucketInstanceId in this.collisionCircleArrays&&(t.collisionCircleArray=this.collisionCircleArrays[t.bucketInstanceId],delete this.collisionCircleArrays[t.bucketInstanceId])}symbolFadeChange(t){return this.fadeDuration===0?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration}stillRecent(t,n){const a=this.zoomAtLastRecencyCheck===n?1-this.zoomAdjustment(n):1;return this.zoomAtLastRecencyCheck=n,this.commitTime+this.fadeDuration*a>t}setStale(){this.stale=!0}}function Ua(h,t,n,a,c,f){a&&a.length!==0||(a=[0,0,0,0]);const y=a[0]-vt,x=a[1]-vt,w=a[2]-vt,S=a[3]-vt;h.emplaceBack(t?1:0,n?1:0,c||0,f||0,y,x),h.emplaceBack(t?1:0,n?1:0,c||0,f||0,w,x),h.emplaceBack(t?1:0,n?1:0,c||0,f||0,w,S),h.emplaceBack(t?1:0,n?1:0,c||0,f||0,y,S)}const Ga=Math.pow(2,25),$a=Math.pow(2,24),Fu=Math.pow(2,17),Ms=Math.pow(2,16),bo=Math.pow(2,9),pc=Math.pow(2,8),jn=Math.pow(2,1);function Za(h){if(h.opacity===0&&!h.placed)return 0;if(h.opacity===1&&h.placed)return 4294967295;const t=h.placed?1:0,n=Math.floor(127*h.opacity);return n*Ga+t*$a+n*Fu+t*Ms+n*bo+t*pc+n*jn+t}const Es=0;class Dr{constructor(t){this._sortAcrossTiles=t.layout.get("symbol-z-order")!=="viewport-y"&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,n,a,c,f){const y=this._bucketParts;for(;this._currentTileIndex<t.length;)if(n.getBucketParts(y,c,t[this._currentTileIndex],this._sortAcrossTiles),this._currentTileIndex++,f())return!0;for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,y.sort((x,w)=>x.sortKey-w.sortKey));this._currentPartIndex<y.length;)if(n.placeLayerBucketPart(y[this._currentPartIndex],this._seenCrossTileIDs,a),this._currentPartIndex++,f())return!0;return!1}}class Nn{constructor(t,n,a,c,f,y,x,w){this.placement=new Na(t,n,y,x,w),this._currentPlacementIndex=a.length-1,this._forceFullPlacement=c,this._showCollisionBoxes=f,this._done=!1}isDone(){return this._done}continuePlacement(t,n,a){const c=He(),f=()=>!this._forceFullPlacement&&He()-c>2;for(;this._currentPlacementIndex>=0;){const y=n[t[this._currentPlacementIndex]],x=this.placement.collisionIndex.transform.zoom;if(d.aQ(y)&&y.layout&&(!y.minzoom||y.minzoom<=x)&&(!y.maxzoom||y.maxzoom>x)){if(this._inProgressLayer||(this._inProgressLayer=new Dr(y)),this._inProgressLayer.continuePlacement(a[y.source],this.placement,this._showCollisionBoxes,y,f))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const Ve=512/d.a6/2;class qa{constructor(t,n,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const c=new Map;for(let f=0;f<n.length;f++){const y=n.get(f),x=y.key,w=c.get(x);w?w.push(y):c.set(x,[y])}for(const[f,y]of c){const x={positions:y.map(w=>({x:Math.floor(w.anchorX*Ve),y:Math.floor(w.anchorY*Ve)})),crossTileIDs:y.map(w=>w.crossTileID)};if(x.positions.length>128){const w=new d.aR(x.positions.length,16,Uint16Array);for(const{x:S,y:P}of x.positions)w.add(S,P);w.finish(),delete x.positions,x.index=w}this._symbolsByKey[f]=x}}getScaledCoordinates(t,n){const{x:a,y:c,z:f}=this.tileID.canonical,{x:y,y:x,z:w}=n.canonical,S=Ve/Math.pow(2,w-f),P=(x*d.a6+t.anchorY)*S,E=c*d.a6*Ve;return{x:Math.floor((y*d.a6+t.anchorX)*S-a*d.a6*Ve),y:Math.floor(P-E)}}
5findMatches(t,n,a){const c=this.tileID.canonical.z<n.canonical.z?1:Math.pow(2,this.tileID.canonical.z-n.canonical.z);for(let f=0;f<t.length;f++){const y=t.get(f);if(y.crossTileID)continue;const x=this._symbolsByKey[y.key];if(!x)continue;const w=this.getScaledCoordinates(y,n);if(x.index){const S=x.index.range(w.x-c,w.y-c,w.x+c,w.y+c).sort();for(const P of S){const E=x.crossTileIDs[P];if(!a[E]){a[E]=!0,y.crossTileID=E;break}}}else if(x.positions)for(let S=0;S<x.positions.length;S++){const P=x.positions[S],E=x.crossTileIDs[S];if(Math.abs(P.x-w.x)<=c&&Math.abs(P.y-w.y)<=c&&!a[E]){a[E]=!0,y.crossTileID=E;break}}}}getCrossTileIDsLists(){return Object.values(this._symbolsByKey).map(({crossTileIDs:t})=>t)}}class Lu{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Wa{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const n=Math.round((t-this.lng)/360);if(n!==0)for(const a in this.indexes){const c=this.indexes[a],f={};for(const y in c){const x=c[y];x.tileID=x.tileID.unwrapTo(x.tileID.wrap+n),f[x.tileID.key]=x}this.indexes[a]=f}this.lng=t}addBucket(t,n,a){var c,f,y;if(!((c=this.indexes[t.overscaledZ])===null||c===void 0)&&c[t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===n.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let w=0;w<n.symbolInstances.length;w++)n.symbolInstances.get(w).crossTileID=0;(f=this.usedCrossTileIDs)[y=t.overscaledZ]||(f[y]={});const x=this.usedCrossTileIDs[t.overscaledZ];for(const w in this.indexes){const S=this.indexes[w];if(Number(w)>t.overscaledZ)for(const P in S){const E=S[P];E.tileID.isChildOf(t)&&E.findMatches(n.symbolInstances,t,x)}else{const P=S[t.scaledTo(Number(w)).key];P&&P.findMatches(n.symbolInstances,t,x)}}for(let w=0;w<n.symbolInstances.length;w++){const S=n.symbolInstances.get(w);S.crossTileID||(S.crossTileID=a.generate(),x[S.crossTileID]=!0)}return this.indexes[t.overscaledZ]===void 0&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new qa(t,n.symbolInstances,n.bucketInstanceId),!0}removeBucketCrossTileIDs(t,n){for(const a of n.getCrossTileIDsLists())for(const c of a)delete this.usedCrossTileIDs[t][c]}removeStaleBuckets(t){let n=!1;for(const a in this.indexes){const c=this.indexes[a];for(const f in c)t[c[f].bucketInstanceId]||(this.removeBucketCrossTileIDs(a,c[f]),delete c[f],n=!0)}return n}}class _i{constructor(){this.layerIndexes={},this.crossTileIDs=new Lu,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}}addLayer(t,n,a){let c=this.layerIndexes[t.id];c===void 0&&(c=this.layerIndexes[t.id]=new Wa);let f=!1;const y={};c.handleWrapJump(a);for(const x of n){const w=x.getBucket(t);t.id===w?.layerIds[0]&&(w.bucketInstanceId||(this.maxBucketInstanceId+=1,w.bucketInstanceId=this.maxBucketInstanceId),c.addBucket(x.tileID,w,this.crossTileIDs)&&(f=!0),y[w.bucketInstanceId]=!0)}return c.removeStaleBuckets(y)&&(f=!0),f}pruneUnusedLayers(t){const n={};for(const a of t)n[a]=!0;for(const a in this.layerIndexes)n[a]||delete this.layerIndexes[a]}}var Kt="void main() {fragColor=vec4(1.0);}";const dt={prelude:Re(`#ifdef GL_ES 6precision mediump float; 7#else 8#if !defined(lowp) 9#define lowp 10#endif 11#if !defined(mediump) 12#define mediump 13#endif 14#if !defined(highp) 15#define highp 16#endif 17#endif 18out highp vec4 fragColor;`,`#ifdef GL_ES 19precision highp float; 20#else 21#if !defined(lowp) 22#define lowp 23#endif 24#if !defined(mediump) 25#define mediump 26#endif 27#if !defined(highp) 28#define highp 29#endif 30#endif 31vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 32);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);
32return (tile_units_to_pixels*pos+offset)/pattern_size;}mat3 rotationMatrixFromAxisAngle(vec3 u,float angle) {float c=cos(angle);float s=sin(angle);float c2=1.0-c;return mat3(u.x*u.x*c2+ c,u.x*u.y*c2-u.z*s,u.x*u.z*c2+u.y*s,u.y*u.x*c2+u.z*s,u.y*u.y*c2+ c,u.y*u.z*c2-u.x*s,u.z*u.x*c2-u.y*s,u.z*u.y*c2+u.x*s,u.z*u.z*c2+ c 33);} 34#ifdef TERRAIN3D 35uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; 36#endif 37const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { 38#ifdef TERRAIN3D 39highp float d=unpack(texture(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); 40#else 41return 1.0; 42#endif 43}float calculate_visibility(vec4 pos) { 44#ifdef TERRAIN3D 45vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; 46#else 47return 1.0; 48#endif 49}float ele(vec2 pos) { 50#ifdef TERRAIN3D 51vec4 rgb=(texture(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; 52#else 53return 0.0; 54#endif 55}float get_elevation(vec2 pos) { 56#ifdef TERRAIN3D 57#ifdef GLOBE 58if ((pos.y <-32767.5) || (pos.y > 32766.5)) {return 0.0;} 59#endif 60vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; 61#else 62return 0.0; 63#endif 64}const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:Re("","float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y <-32767.5 || rawPos.y > 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}"),projectionGlobe:Re("",`#define GLOBE_RADIUS 6371008.8 65uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos 66);}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); 67if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len 68);if (rawPos.y <-32767.5) {pos=vec3(0.0,1.0,0.0);}if (rawPos.y > 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y <-32767.5) || (posInTile.y > 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:Re(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; 69#ifdef OVERDRAW_INSPECTOR 70fragColor=vec4(1.0); 71#endif 72}`,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),backgroundPattern:Re(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;
72uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; 73#ifdef OVERDRAW_INSPECTOR 74fragColor=vec4(1.0); 75#endif 76}`,"uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:Re(`in vec3 v_data;in float v_visibility; 77#pragma mapbox: define highp vec4 color 78#pragma mapbox: define mediump float radius 79#pragma mapbox: define lowp float blur 80#pragma mapbox: define lowp float opacity 81#pragma mapbox: define highp vec4 stroke_color 82#pragma mapbox: define mediump float stroke_width 83#pragma mapbox: define lowp float stroke_opacity 84void main() { 85#pragma mapbox: initialize highp vec4 color 86#pragma mapbox: initialize mediump float radius 87#pragma mapbox: initialize lowp float blur 88#pragma mapbox: initialize lowp float opacity 89#pragma mapbox: initialize highp vec4 stroke_color 90#pragma mapbox: initialize mediump float stroke_width 91#pragma mapbox: initialize lowp float stroke_opacity 92vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a < epsilon) {discard;} 93#ifdef OVERDRAW_INSPECTOR 94fragColor=vec4(1.0); 95#endif 96}`,`uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform highp float u_globe_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;uniform vec2 u_translate;in vec2 a_pos;out vec3 v_data;out float v_visibility; 97#pragma mapbox: define highp vec4 color 98#pragma mapbox: define mediump float radius 99#pragma mapbox: define lowp float blur 100#pragma mapbox: define lowp float opacity 101#pragma mapbox: define highp vec4 stroke_color 102#pragma mapbox: define mediump float stroke_width 103#pragma mapbox: define lowp float stroke_opacity 104void main(void) { 105#pragma mapbox: initialize highp vec4 color 106#pragma mapbox: initialize mediump float radius 107#pragma mapbox: initialize lowp float blur 108#pragma mapbox: initialize lowp float opacity 109#pragma mapbox: initialize highp vec4 stroke_color 110#pragma mapbox: initialize mediump float stroke_width 111#pragma mapbox: initialize lowp float stroke_opacity 112vec2 pos_raw=a_pos+32768.0;vec2 extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);vec2 circle_center=floor(pos_raw/8.0)+u_translate;float ele=get_elevation(circle_center);v_visibility=calculate_visibility(projectTileWithElevation(circle_center,ele));if (u_pitch_with_map) { 113#ifdef GLOBE 114vec3 center_vector=projectToSphere(circle_center); 115#endif 116float angle_scale=u_globe_extrude_scale;vec2 corner_position=circle_center;if (u_scale_with_map) {angle_scale*=(radius+stroke_width);corner_position+=extrude*u_extrude_scale*(radius+stroke_width);} else { 117#ifdef GLOBE 118vec4 projected_center=interpolateProjection(circle_center,center_vector,ele); 119#else 120vec4 projected_center=projectTileWithElevation(circle_center,ele); 121#endif 122corner_position+=extrude*u_extrude_scale*(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);angle_scale*=(radius+stroke_width)*(projected_center.w/u_camera_to_center_distance);} 123#ifdef GLOBE 124vec2 angles=extrude*angle_scale;vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(corner_position,corner_vector,ele); 125#else 126gl_Position=projectTileWithElevation(corner_position,ele); 127#endif 128} else {gl_Position=projectTileWithElevation(circle_center,ele);if (gl_Position.z/gl_Position.w > 1.0) {gl_Position.xy=vec2(10000.0);}if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Re(Kt,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),heatmap:Re(`uniform highp float u_intensity;in vec2 v_extrude; 129#pragma mapbox: define highp float weight 130#define GAUSS_COEF 0.3989422804014327 131void main() { 132#pragma mapbox: initialize highp float weight 133float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);fragColor=vec4(val,1.0,1.0,1.0); 134#ifdef OVERDRAW_INSPECTOR 135fragColor=vec4(1.0); 136#endif 137}`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out vec2 v_extrude; 138#pragma mapbox: define highp float weight 139#pragma mapbox: define mediump float radius 140const highp float ZERO=1.0/255.0/16.0; 141#define GAUSS_COEF 0.3989422804014327 142void main(void) { 143#pragma mapbox: initialize highp float weight 144#pragma mapbox: initialize mediump float radius 145vec2 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.0*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 circle_center=floor(pos_raw/8.0); 146#ifdef GLOBE 147vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0); 148#else 149gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); 150#endif 151}`),heatmapTexture:Re(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; 152#ifdef OVERDRAW_INSPECTOR 153fragColor=vec4(0.0); 154#endif 155}`,"uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Re("in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}","in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Re("in float v_radius;in vec2 v_extrude;in float v_collision;void main() {float alpha=0.5;float stroke_radius=0.9;float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);fragColor=color*alpha*opacity_t;}","in vec2 a_pos;in float a_radius;in vec2 a_flags;uniform vec2 u_viewport_size;out float v_radius;out vec2 v_extrude;out float v_collision;void main() {float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_collision=collision;gl_Position=vec4((a_pos/u_viewport_size*2.0-1.0)*vec2(1.0,-1.0),0.0,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),colorRelief:Re(`#ifdef GL_ES 156precision highp float; 157#endif 158uniform sampler2D u_image;uniform vec4 u_unpack;uniform sampler2D u_elevation_stops;uniform sampler2D u_color_stops;uniform int u_color_ramp_size;uniform float u_opacity;in vec2 v_pos;float getElevation(vec2 coord) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}float getElevationStop(int stop) {float x=(float(stop)+0.5)/float(u_color_ramp_size);vec4 data=texture(u_elevation_stops,vec2(x,0))*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {float el=getElevation(v_pos);int r=(u_color_ramp_size-1);int l=0;float el_l=getElevationStop(l);float el_r=getElevationStop(r);while(r-l > 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else 159{l=m;el_l=el_m;}}float x=(float(l)+(el-el_l)/(el_r-el_l)+0.5)/float(u_color_ramp_size);fragColor=u_opacity*texture(u_color_stops,vec2(x,0)); 160#ifdef OVERDRAW_INSPECTOR 161fragColor=vec4(1.0); 162#endif 163}`,"uniform vec2 u_dimension;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),debug:Re("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}","in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}"),depth:Re(Kt,`in vec2 a_pos;void main() { 164#ifdef GLOBE 165gl_Position=projectTileFor3D(a_pos,0.0); 166#else 167gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); 168#endif 169}`),fill:Re(`#pragma mapbox: define highp vec4 color 170#pragma mapbox: define lowp float opacity 171void main() { 172#pragma mapbox: initialize highp vec4 color 173#pragma mapbox: initialize lowp float opacity 174fragColor=color*opacity; 175#ifdef OVERDRAW_INSPECTOR 176fragColor=vec4(1.0); 177#endif 178}`,`uniform vec2 u_fill_translate;in vec2 a_pos; 179#pragma mapbox: define highp vec4 color 180#pragma mapbox: define lowp float opacity 181void main() { 182#pragma mapbox: initialize highp vec4 color 183#pragma mapbox: initialize lowp float opacity 184gl_Position=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:Re(`in vec2 v_pos; 185#ifdef GLOBE 186in float v_depth; 187#endif 188#pragma mapbox: define highp vec4 outline_color 189#pragma mapbox: define lowp float opacity 190void main() { 191#pragma mapbox: initialize highp vec4 outline_color 192#pragma mapbox: initialize lowp float opacity 193float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=outline_color*(alpha*opacity); 194#ifdef GLOBE 195if (v_depth > 1.0) {discard;} 196#endif 197#ifdef OVERDRAW_INSPECTOR 198fragColor=vec4(1.0); 199#endif 200}`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos; 201#ifdef GLOBE 202out float v_depth; 203#endif 204#pragma mapbox: define highp vec4 outline_color 205#pragma mapbox: define lowp float opacity 206void main() { 207#pragma mapbox: initialize highp vec4 outline_color 208#pragma mapbox: initialize lowp float opacity 209gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; 210#ifdef GLOBE 211v_depth=gl_Position.z/gl_Position.w; 212#endif 213}`),fillOutlinePattern:Re(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; 214#ifdef GLOBE 215in float v_depth; 216#endif 217#pragma mapbox: define lowp float opacity 218#pragma mapbox: define lowp vec4 pattern_from 219#pragma mapbox: define lowp vec4 pattern_to 220void main() { 221#pragma mapbox: initialize lowp float opacity 222#pragma mapbox: initialize mediump vec4 pattern_from 223#pragma mapbox: initialize mediump vec4 pattern_to 224vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity; 225#ifdef GLOBE 226if (v_depth > 1.0) {discard;} 227#endif 228#ifdef OVERDRAW_INSPECTOR 229fragColor=vec4(1.0); 230#endif 231}`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; 232#ifdef GLOBE 233out float v_depth; 234#endif 235#pragma mapbox: define lowp float opacity 236#pragma mapbox: define lowp vec4 pattern_from 237#pragma mapbox: define lowp vec4 pattern_to 238#pragma mapbox: define lowp float pixel_ratio_from 239#pragma mapbox: define lowp float pixel_ratio_to 240void main() { 241#pragma mapbox: initialize lowp float opacity 242#pragma mapbox: initialize mediump vec4 pattern_from 243#pragma mapbox: initialize mediump vec4 pattern_to 244#pragma mapbox: initialize lowp float pixel_ratio_from 245#pragma mapbox: initialize lowp float pixel_ratio_to 246vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; 247#ifdef GLOBE 248v_depth=gl_Position.z/gl_Position.w; 249#endif 250}`),fillPattern:Re(`#ifdef GL_ES 251precision highp float; 252#endif 253uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b; 254#pragma mapbox: define lowp float opacity 255#pragma mapbox: define lowp vec4 pattern_from 256#pragma mapbox: define lowp vec4 pattern_to 257void main() { 258#pragma mapbox: initialize lowp float opacity 259#pragma mapbox: initialize mediump vec4 pattern_from 260#pragma mapbox: initialize mediump vec4 pattern_to 261vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity; 262#ifdef OVERDRAW_INSPECTOR 263fragColor=vec4(1.0); 264#endif 265}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b; 266#pragma mapbox: define lowp float opacity 267#pragma mapbox: define lowp vec4 pattern_from 268#pragma mapbox: define lowp vec4 pattern_to 269#pragma mapbox: define lowp float pixel_ratio_from 270#pragma mapbox: define lowp float pixel_ratio_to 271void main() { 272#pragma mapbox: initialize lowp float opacity 273#pragma mapbox: initialize mediump vec4 pattern_from 274#pragma mapbox: initialize mediump vec4 pattern_to 275#pragma mapbox: initialize lowp float pixel_ratio_from 276#pragma mapbox: initialize lowp float pixel_ratio_to 277vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_siz
277e_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=projectTile(a_pos+u_fill_translate,a_pos);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Re(`in vec4 v_color;void main() {fragColor=v_color; 278#ifdef OVERDRAW_INSPECTOR 279fragColor=vec4(1.0); 280#endif 281}`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed; 282#ifdef TERRAIN3D 283in vec2 a_centroid; 284#endif 285out vec4 v_color; 286#pragma mapbox: define highp float base 287#pragma mapbox: define highp float height 288#pragma mapbox: define highp vec4 color 289void main() { 290#pragma mapbox: initialize highp float base 291#pragma mapbox: initialize highp float height 292#pragma mapbox: initialize highp vec4 color 293vec3 normal=a_normal_ed.xyz; 294#ifdef TERRAIN3D 295float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); 296#else 297float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 298#endif 299base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 300#ifdef GLOBE 301vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 302#else 303gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 304#endif 305float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0); 306#ifdef GLOBE 307mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); 308#endif 309directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Re(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in vec4 v_lighting; 310#pragma mapbox: define lowp float base 311#pragma mapbox: define lowp float height 312#pragma mapbox: define lowp vec4 pattern_from 313#pragma mapbox: define lowp vec4 pattern_to 314#pragma mapbox: define lowp float pixel_ratio_from 315#pragma mapbox: define lowp float pixel_ratio_to 316void main() { 317#pragma mapbox: initialize lowp float base 318#pragma mapbox: initialize lowp float height 319#pragma mapbox: initialize mediump vec4 pattern_from 320#pragma mapbox: initialize mediump vec4 pattern_to 321#pragma mapbox: initialize lowp float pixel_ratio_from 322#pragma mapbox: initialize lowp float pixel_ratio_to 323vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting; 324#ifdef OVERDRAW_INSPECTOR 325fragColor=vec4(1.0); 326#endif 327}`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed; 328#ifdef TERRAIN3D 329in vec2 a_centroid; 330#endif 331#ifdef GLOBE 332out vec3 v_sphere_pos; 333#endif 334out vec2 v_pos_a;out vec2 v_pos_b;out vec4 v_lighting; 335#pragma mapbox: define lowp float base 336#pragma mapbox: define lowp float height 337#pragma mapbox: define lowp vec4 pattern_from 338#pragma mapbox: define lowp vec4 pattern_to 339#pragma mapbox: define lowp float pixel_ratio_from 340#pragma mapbox: define lowp float pixel_ratio_to 341void main() { 342#pragma mapbox: initialize lowp float base 343#pragma mapbox: initialize lowp float height 344#pragma mapbox: initialize mediump vec4 pattern_from 345#pragma mapbox: initialize mediump vec4 pattern_to 346#pragma mapbox: initialize lowp float pixel_ratio_from 347#pragma mapbox: initialize lowp float pixel_ratio_to 348vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; 349#ifdef TERRAIN3D 350float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); 351#else 352float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; 353#endif 354base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; 355#ifdef GLOBE 356vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); 357#else 358gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); 359#endif 360vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 361? a_pos 362: vec2(edgedistance,elevation*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Re(`#ifdef GL_ES 363precision highp float; 364#endif 365uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))*tileSize/p
365ow(2.0,exaggeration+(28.2562-u_zoom));fragColor=clamp(vec4(deriv.x/8.0+0.5,deriv.y/8.0+0.5,1.0,1.0),0.0,1.0); 366#ifdef OVERDRAW_INSPECTOR 367fragColor=vec4(1.0); 368#endif 369}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Re(`uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform float u_exaggeration;uniform vec4 u_accent;uniform int u_method;uniform float u_altitudes[NUM_ILLUMINATION_SOURCES];uniform float u_azimuths[NUM_ILLUMINATION_SOURCES];uniform vec4 u_shadows[NUM_ILLUMINATION_SOURCES];uniform vec4 u_highlights[NUM_ILLUMINATION_SOURCES]; 370#define PI 3.141592653589793 371#define STANDARD 0 372#define COMBINED 1 373#define IGOR 2 374#define MULTIDIRECTIONAL 3 375#define BASIC 4 376float get_aspect(vec2 deriv){return deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else 377{fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i < NUM_ILLUMINATION_SOURCES; i++){float cos_alt=cos(u_altitudes[i]);float sin_alt=sin(u_altitudes[i]);float cos_az=-cos(u_azimuths[i]);float sin_az=-sin(u_azimuths[i]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else 378{fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;if (u_method==BASIC) {basic_hillshade(deriv);} else if (u_method==COMBINED) {combined_hillshade(deriv);} else if (u_method==IGOR) {igor_hillshade(deriv);} else if (u_method==MULTIDIRECTIONAL) {multidirectional_hillshade(deriv);} else if (u_method==STANDARD) {standard_hillshade(deriv);} else {standard_hillshade(deriv);} 379#ifdef OVERDRAW_INSPECTOR 380fragColor=vec4(1.0); 381#endif 382}`,"uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y <-32767.5) {v_pos.y=0.0;}if (a_pos.y > 32766.5) {v_pos.y=1.0;}}"),line:Re(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; 383#ifdef GLOBE 384in float v_depth; 385#endif 386#pragma mapbox: define highp vec4 color 387#pragma mapbox: define lowp float blur 388#pragma mapbox: define lowp float opacity 389void main() { 390#pragma mapbox: initialize highp vec4 color 391#pragma mapbox: initialize lowp float blur 392#pragma mapbox: initialize lowp float opacity 393float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);fragColor=color*(alpha*opacity); 394#ifdef GLOBE 395if (v_depth > 1.0) {discard;} 396#endif 397#ifdef OVERDRAW_INSPECTOR 398fragColor=vec4(1.0); 399#endif 400}`,` 401#define scale 0.015873016 402in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; 403#ifdef GLOBE 404out float v_depth; 405#endif 406#pragma mapbox: define highp vec4 color 407#pragma mapbox: define lowp float blur 408#pragma mapbox: define lowp float opacity 409#pragma mapbox: define mediump float gapwidth 410#pragma mapbox: define lowp float offset 411#pragma mapbox: define mediump float width 412void main() { 413#pragma mapbox: initialize highp vec4 color 414#pragma mapbox: initialize lowp float blur 415#pragma mapbox: initialize lowp float opacity 416#pragma mapbox: initialize mediump float gapwidth 417#pragma mapbox: initialize lowp float offset 418#pragma mapbox: initialize mediump float width 419float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
419float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 420#ifdef GLOBE 421v_depth=gl_Position.z/gl_Position.w; 422#endif 423#ifdef TERRAIN3D 424v_gamma_scale=1.0; 425#else 426float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 427#endif 428v_width2=vec2(outset,inset);}`),lineGradient:Re(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; 429#ifdef GLOBE 430in float v_depth; 431#endif 432#pragma mapbox: define lowp float blur 433#pragma mapbox: define lowp float opacity 434void main() { 435#pragma mapbox: initialize lowp float blur 436#pragma mapbox: initialize lowp float opacity 437float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);fragColor=color*(alpha*opacity); 438#ifdef GLOBE 439if (v_depth > 1.0) {discard;} 440#endif 441#ifdef OVERDRAW_INSPECTOR 442fragColor=vec4(1.0); 443#endif 444}`,` 445#define scale 0.015873016 446in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; 447#ifdef GLOBE 448out float v_depth; 449#endif 450#pragma mapbox: define lowp float blur 451#pragma mapbox: define lowp float opacity 452#pragma mapbox: define mediump float gapwidth 453#pragma mapbox: define lowp float offset 454#pragma mapbox: define mediump float width 455void main() { 456#pragma mapbox: initialize lowp float blur 457#pragma mapbox: initialize lowp float opacity 458#pragma mapbox: initialize mediump float gapwidth 459#pragma mapbox: initialize lowp float offset 460#pragma mapbox: initialize mediump float width 461float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 462#ifdef GLOBE 463v_depth=gl_Position.z/gl_Position.w; 464#endif 465#ifdef TERRAIN3D 466v_gamma_scale=1.0; 467#else 468float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 469#endif 470v_width2=vec2(outset,inset);}`),linePattern:Re(`#ifdef GL_ES 471precision highp float; 472#endif 473uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width; 474#ifdef GLOBE 475in float v_depth; 476#endif 477#pragma mapbox: define lowp vec4 pattern_from 478#pragma mapbox: define lowp vec4 pattern_to 479#pragma mapbox: define lowp float pixel_ratio_from 480#pragma mapbox: define lowp float pixel_ratio_to 481#pragma mapbox: define lowp float blur 482#pragma mapbox: define lowp float opacity 483void main() { 484#pragma mapbox: initialize mediump vec4 pattern_from 485#pragma mapbox: initialize mediump vec4 pattern_to 486#pragma mapbox: initialize lowp float pixel_ratio_from 487#pragma mapbox: initialize lowp float pixel_ratio_to 488#pragma mapbox: initialize lowp float blur 489#pragma mapbox: initialize lowp float opacity 490vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity; 491#ifdef GLOBE 492if (v_depth > 1.0) {discard;} 493#endif 494#ifdef OVERDRAW_INSPECTOR 495fragColor=vec4(1.0); 496#endif 497}`,` 498#define scale 0.015873016 499#define LINE_DISTANCE_SCALE 2.0 500in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width; 501#ifdef GLOBE 502out float v_depth; 503#endif 504#pragma mapbox: define lowp float blur 505#pragma mapbox: define lowp float opacity 506#pragma mapbox: define lowp float offset 507#pragma mapbox: define mediump float gapwidth 508#pragma mapbox: define mediump float width 509#pragma mapbox: define lowp float floorwidth 510#pragma mapbox: define lowp vec4 pattern_from 511#pragma mapbox: define lowp vec4 pattern_to 512#pragma mapbox: define lowp float pixel_ratio_from 513#pragma mapbox: define lowp float pixel_ratio_to 514void main() { 515#pragma mapbox: initialize lowp float blur 516#pragma mapbox: initialize lowp float opacity 517#pragma mapbox: initialize lowp float offset 518#pragma mapbox: initialize mediump float gapwidth 519#pragma mapbox: initialize mediump float width 520#pragma mapbox: initialize lowp float floorwidth 521#pragma mapbox: initialize mediump vec4 pattern_from 522#pragma mapbox: initialize mediump vec4 pattern_to 523#pragma mapbox: initialize lowp float pixel_ratio_from 524#pragma mapbox: initialize lowp float pixel_ratio_to 525float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);
525float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 526#ifdef GLOBE 527v_depth=gl_Position.z/gl_Position.w; 528#endif 529#ifdef TERRAIN3D 530v_gamma_scale=1.0; 531#else 532float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 533#endif 534v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Re(`uniform lowp float u_device_pixel_ratio;uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; 535#ifdef GLOBE 536in float v_depth; 537#endif 538#pragma mapbox: define highp vec4 color 539#pragma mapbox: define lowp float blur 540#pragma mapbox: define lowp float opacity 541#pragma mapbox: define mediump float width 542#pragma mapbox: define lowp float floorwidth 543#pragma mapbox: define mediump vec4 dasharray_from 544#pragma mapbox: define mediump vec4 dasharray_to 545void main() { 546#pragma mapbox: initialize highp vec4 color 547#pragma mapbox: initialize lowp float blur 548#pragma mapbox: initialize lowp float opacity 549#pragma mapbox: initialize mediump float width 550#pragma mapbox: initialize lowp float floorwidth 551#pragma mapbox: initialize mediump vec4 dasharray_from 552#pragma mapbox: initialize mediump vec4 dasharray_to 553float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);
553float sdfgamma=(u_lineatlas_width/256.0/u_device_pixel_ratio)/min(dasharray_from.w,dasharray_to.w);alpha*=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity); 554#ifdef GLOBE 555if (v_depth > 1.0) {discard;} 556#endif 557#ifdef OVERDRAW_INSPECTOR 558fragColor=vec4(1.0); 559#endif 560}`,` 561#define scale 0.015873016 562#define LINE_DISTANCE_SCALE 2.0 563in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; 564#ifdef GLOBE 565out float v_depth; 566#endif 567#pragma mapbox: define highp vec4 color 568#pragma mapbox: define lowp float blur 569#pragma mapbox: define lowp float opacity 570#pragma mapbox: define mediump float gapwidth 571#pragma mapbox: define lowp float offset 572#pragma mapbox: define mediump float width 573#pragma mapbox: define lowp float floorwidth 574#pragma mapbox: define mediump vec4 dasharray_from 575#pragma mapbox: define mediump vec4 dasharray_to 576void main() { 577#pragma mapbox: initialize highp vec4 color 578#pragma mapbox: initialize lowp float blur 579#pragma mapbox: initialize lowp float opacity 580#pragma mapbox: initialize mediump float gapwidth 581#pragma mapbox: initialize lowp float offset 582#pragma mapbox: initialize mediump float width 583#pragma mapbox: initialize lowp float floorwidth 584#pragma mapbox: initialize mediump vec4 dasharray_from 585#pragma mapbox: initialize mediump vec4 dasharray_to 586float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 587#ifdef GLOBE 588v_depth=gl_Position.z/gl_Position.w; 589#endif 590#ifdef TERRAIN3D 591v_gamma_scale=1.0; 592#else 593float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 594#endif 595float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:Re(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; 596#ifdef GLOBE 597in float v_depth; 598#endif 599#pragma mapbox: define lowp float blur 600#pragma mapbox: define lowp float opacity 601#pragma mapbox: define mediump float width 602#pragma mapbox: define lowp float floorwidth 603#pragma mapbox: define mediump vec4 dasharray_from 604#pragma mapbox: define mediump vec4 dasharray_to 605void main() { 606#pragma mapbox: initialize lowp float blur 607#pragma mapbox: initialize lowp float opacity 608#pragma mapbox: initialize mediump float width 609#pragma mapbox: initialize lowp float floorwidth 610#pragma mapbox: initialize mediump vec4 dasharray_from 611#pragma mapbox: initialize mediump vec4 dasharray_to 612float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture(u_image,v_uv);float sdfdist_a=texture(u_image_dash,v_tex_a).a;float sdfdist_b=texture(u_image_dash,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);
612float sdfgamma=(u_lineatlas_width/256.0)/min(dasharray_from.w,dasharray_to.w);float dash_alpha=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*dash_alpha*opacity); 613#ifdef GLOBE 614if (v_depth > 1.0) {discard;} 615#endif 616#ifdef OVERDRAW_INSPECTOR 617fragColor=vec4(1.0); 618#endif 619}`,` 620#define scale 0.015873016 621#define LINE_DISTANCE_SCALE 2.0 622in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b; 623#ifdef GLOBE 624out float v_depth; 625#endif 626#pragma mapbox: define lowp float blur 627#pragma mapbox: define lowp float opacity 628#pragma mapbox: define mediump float gapwidth 629#pragma mapbox: define lowp float offset 630#pragma mapbox: define mediump float width 631#pragma mapbox: define lowp float floorwidth 632#pragma mapbox: define mediump vec4 dasharray_from 633#pragma mapbox: define mediump vec4 dasharray_to 634void main() { 635#pragma mapbox: initialize lowp float blur 636#pragma mapbox: initialize lowp float opacity 637#pragma mapbox: initialize mediump float gapwidth 638#pragma mapbox: initialize lowp float offset 639#pragma mapbox: initialize mediump float width 640#pragma mapbox: initialize lowp float floorwidth 641#pragma mapbox: initialize mediump vec4 dasharray_from 642#pragma mapbox: initialize mediump vec4 dasharray_to 643float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;float texel_height=1.0/u_image_height;float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; 644#ifdef GLOBE 645v_depth=gl_Position.z/gl_Position.w; 646#endif 647#ifdef TERRAIN3D 648v_gamma_scale=1.0; 649#else 650float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; 651#endif 652float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),raster:Re(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture(u_image0,v_pos0);vec4 color1=texture(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); 653#ifdef OVERDRAW_INSPECTOR 654fragColor=vec4(1.0); 655#endif 656}`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5; 657#ifdef GLOBE 658if (a_pos.y <-32767.5) {v_pos0.y=0.0;}if (a_pos.y > 32766.5) {v_pos0.y=1.0;} 659#endif 660v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:Re(`uniform sampler2D u_texture;in vec2 v_tex;in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity; 661#ifdef OVERDRAW_INSPECTOR 662fragColor=vec4(1.0); 663#endif 664}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_tex;out float v_total_opacity; 665#pragma mapbox: define lowp float opacity 666void main() { 667#pragma mapbox: initialize lowp float opacity 668vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_total_opacity=opacity*max(0.0,min(visibility,fade_opacity[0]+fade_change));if (v_total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 669camera_to_anchor_distance/u_camera_to_center_distance : 670u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 671#ifdef GLOBE 672if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 673#endif 674vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;}`),symbolSDF:Re(`#define SDF_PX 8.0 675uniform bool u_is_halo;uniform bool u_is_plain;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;in vec2 v_data0;in vec3 v_data1; 676#pragma mapbox: define highp vec4 fill_color 677#pragma mapbox: define highp vec4 halo_color 678#pragma mapbox: define lowp float halo_width 679#pragma mapbox: define lowp float halo_blur 680void main() { 681#pragma mapbox: initialize highp vec4 fill_color 682#pragma mapbox: initialize highp vec4 halo_color 683#pragma mapbox: initialize lowp float halo_width 684#pragma mapbox: initialize lowp float halo_blur 685float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float total_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out_text,color_alpha_out_halo;if (u_is_plain){highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);color_alpha_out_text=total_opacity*alpha*fill_color;}if (u_is_halo) {float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);float inner_edge_halo=inner_edge+gamma_halo*gamma_scale;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(inner_edge_halo-gamma_scaled_halo,inner_edge_halo+gamma_scaled_halo,dist);highp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha_halo= min(smoothstep(halo_edge-gamma_scaled_halo,halo_edge+gamma_scaled_halo,dist),1.0-alpha_halo);color_alpha_out_halo=total_opacity*alpha_halo*halo_color;}if (u_is_plain && u_is_halo) {fragColor=color_alpha_out_text+(1.-color_alpha_out_text.a)*color_alpha_out_halo;} else if (u_is_halo){fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out_text;} 686#ifdef OVERDRAW_INSPECTOR 687fragColor=vec4(1.0); 688#endif 689}`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;out vec2 v_data0;out vec3 v_data1; 690#pragma mapbox: define highp vec4 fill_color 691#pragma mapbox: define highp vec4 halo_color 692#pragma mapbox: define lowp float opacity 693#pragma mapbox: define lowp float halo_width 694#pragma mapbox: define lowp float halo_blur 695void main() { 696#pragma mapbox: initialize highp vec4 fill_color 697#pragma mapbox: initialize highp vec4 halo_color 698#pragma mapbox: initialize lowp float opacity 699#pragma mapbox: initialize lowp float halo_width 700#pragma mapbox: initialize lowp float halo_blur 701vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy/16.0;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 702camera_to_anchor_distance/u_camera_to_center_distance : 703u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 704#ifdef GLOBE 705if(u_pitch_with_map) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 706#endif 707vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,total_opacity);}`),symbolTextAndIcon:Re(`#define SDF_PX 8.0 708#define SDF 1.0 709#define ICON 0.0 710uniform bool u_is_halo;uniform bool u_is_text;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;in vec4 v_data0;in vec4 v_data1; 711#pragma mapbox: define highp vec4 fill_color 712#pragma mapbox: define highp vec4 halo_color 713#pragma mapbox: define lowp float halo_width 714#pragma mapbox: define lowp float halo_blur 715void main() { 716#pragma mapbox: initialize highp vec4 fill_color 717#pragma mapbox: initialize highp vec4 halo_color 718#pragma mapbox: initialize lowp float halo_width 719#pragma mapbox: initialize lowp float halo_blur 720float total_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;
720fragColor=texture(u_texture_icon,tex_icon)*total_opacity; 721#ifdef OVERDRAW_INSPECTOR 722fragColor=vec4(1.0); 723#endif 724return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;lowp float dist=texture(u_texture,tex).a;lowp vec4 color_alpha_out,color_alpha_out_halo;if (u_is_text) {highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);color_alpha_out=fill_color*(alpha*total_opacity);}if (u_is_halo) {highp float gamma_halo=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);lowp float buff_halo=(6.0-halo_width/fontScale)/SDF_PX;highp float gamma_scaled_halo=gamma_halo*gamma_scale;highp float alpha_halo=smoothstep(buff_halo-gamma_scaled_halo,buff_halo+gamma_scaled_halo,dist);color_alpha_out_halo=halo_color*(alpha_halo*total_opacity);}if (u_is_text && u_is_halo) {fragColor=color_alpha_out+(1.-color_alpha_out.a)*color_alpha_out_halo;} else if (u_is_halo) {fragColor=color_alpha_out_halo;} else {fragColor=color_alpha_out;} 725#ifdef OVERDRAW_INSPECTOR 726fragColor=vec4(1.0); 727#endif 728}`,`in vec4 a_pos_offset;in vec4 a_data;in vec3 a_projected_pos;in float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;out vec4 v_data0;out vec4 v_data1; 729#pragma mapbox: define highp vec4 fill_color 730#pragma mapbox: define highp vec4 halo_color 731#pragma mapbox: define lowp float opacity 732#pragma mapbox: define lowp float halo_width 733#pragma mapbox: define lowp float halo_blur 734void main() { 735#pragma mapbox: initialize highp vec4 fill_color 736#pragma mapbox: initialize highp vec4 halo_color 737#pragma mapbox: initialize lowp float opacity 738#pragma mapbox: initialize lowp float halo_width 739#pragma mapbox: initialize lowp float halo_blur 740vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity < 0.1){gl_Position=vec4(-2.,-2.,-2.,1.);return;}highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? 741camera_to_anchor_distance/u_camera_to_center_distance : 742u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0; 743#ifdef GLOBE 744if(u_pitch_with_map && !u_is_along_line) {float anchor_pos_tile_y=(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w,z,1.0)).y;projectionScaling=mix(projectionScaling,1.0/circumferenceRatioAtTileY(anchor_pos_tile_y)*u_pitched_scale,u_projection_transition);} 745#endif 746vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,total_opacity,is_sdf);}`),terrain:Re("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;uniform bool u_is_globe_mode;in vec2 v_texture_pos;in float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture(u_texture,vec2(v_texture_pos.x,1.0-v_texture_pos.y));if (!u_is_globe_mode && u_fog_ground_blend_opacity > 0.0 && v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);
746float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}","in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Re("in float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {fragColor=pack(v_depth);}","in vec3 a_pos3d;uniform float u_ele_delta;out float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:Re("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","in vec3 a_pos3d;uniform float u_ele_delta;out vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}"),projectionErrorMeasurement:Re("in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}","in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}"),atmosphere:Re(`#ifdef GL_ES 747precision highp float; 748#endif 749in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d < 0.0) return vec2(1e5,-1e5);return vec2((-b-sqrt(d))/(2.0*a),(-b+sqrt(d))/(2.0*a));}vec4 atmosphere(vec3 r,vec3 r0,vec3 pSun,float iSun,float rPlanet,float rAtmos,vec3 kRlh,float kMie,float shRlh,float shMie,float g) {pSun=normalize(pSun);r=normalize(r);vec2 p=rsi(r0,r,rAtmos);if (p.x > p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x <=p2.y && p2.x > 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j < jSteps; j++) {vec3 jPos=iPos+pSun*jTime;float jHeight=length(jPos)-rPlanet;jOdRlh+=exp(-jHeight/shRlh)*jStepSize;jOdMie+=exp(-jHeight/shMie)*jStepSize;jTime+=jStepSize;}vec3 attn=exp(-(kMie*(iOdMie+jOdMie)+kRlh*(iOdRlh+jOdRlh)));totalRlh+=odStepRlh*attn;totalMie+=odStepMie*attn;iTime+=iStepSize;}float opacity=exp(-(length(kRlh)*length(totalRlh)+kMie*length(totalMie)));vec3 color=iSun*(pRlh*kRlh*totalRlh+pMie*kMie*totalMie);return vec4(color,opacity);}void main() {vec3 scale_camera_pos=-u_globe_position*EARTH_RADIUS/u_globe_radius;vec4 color=atmosphere(normalize(view_direction),scale_camera_pos,u_sun_pos,22.0,EARTH_RADIUS,ATMOS_RADIUS,vec3(5.5e-6,13.0e-6,22.4e-6),21e-6,8e3,1.2e3,0.758 750);color.rgb=1.0-exp(-1.0*color.rgb);color=pow(color,vec4(1.0/2.2));fragColor=vec4(color.rgb,1.0-color.a)*u_atmosphere_blend;}`,"in vec2 a_pos;uniform mat4 u_inv_proj_matrix;out vec3 view_direction;void main() {view_direction=(u_inv_proj_matrix*vec4(a_pos,0.0,1.0)).xyz;gl_Position=vec4(a_pos,0.0,1.0);}"),sky:Re("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform vec2 u_horizon;uniform vec2 u_horizon_normal;uniform float u_sky_horizon_blend;uniform float u_sky_blend;void main() {float x=gl_FragCoord.x;float y=gl_FragCoord.y;float blend=(y-u_horizon.y)*u_horizon_normal.y+(x-u_horizon.x)*u_horizon_normal.x;if (blend > 0.0) {if (blend < u_sky_horizon_blend) {fragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {fragColor=u_sky_color;}}fragColor=mix(fragColor,vec4(vec3(0.0),0.0),u_sky_blend);}","in vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};
vendor: 10,889 bytes, lines 750-799
750function Re(h,t){const n=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,a=t.match(/in ([\w]+) ([\w]+)/g),c=h.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),f=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),y=f?f.concat(c):c,x={};return{fragmentSource:h=h.replace(n,(w,S,P,E,C)=>(x[C]=!0,S==="define"?` 751#ifndef HAS_UNIFORM_u_${C} 752in ${P} ${E} ${C}; 753#else 754uniform ${P} ${E} u_${C}; 755#endif 756`:` 757#ifdef HAS_UNIFORM_u_${C} 758 ${P} ${E} ${C} = u_${C}; 759#endif 760`)),vertexSource:t=t.replace(n,(w,S,P,E,C)=>{const z=E==="float"?"vec2":"vec4",B=C.match(/color/)?"color":z;return x[C]?S==="define"?` 761#ifndef HAS_UNIFORM_u_${C} 762uniform lowp float u_${C}_t; 763in ${P} ${z} a_${C}; 764out ${P} ${E} ${C}; 765#else 766uniform ${P} ${E} u_${C}; 767#endif 768`:B==="vec4"?` 769#ifndef HAS_UNIFORM_u_${C} 770 ${C} = a_${C}; 771#else 772 ${P} ${E} ${C} = u_${C}; 773#endif 774`:` 775#ifndef HAS_UNIFORM_u_${C} 776 ${C} = unpack_mix_${B}(a_${C}, u_${C}_t); 777#else 778 ${P} ${E} ${C} = u_${C}; 779#endif 780`:S==="define"?` 781#ifndef HAS_UNIFORM_u_${C} 782uniform lowp float u_${C}_t; 783in ${P} ${z} a_${C}; 784#else 785uniform ${P} ${E} u_${C}; 786#endif 787`:B==="vec4"?` 788#ifndef HAS_UNIFORM_u_${C} 789 ${P} ${E} ${C} = a_${C}; 790#else 791 ${P} ${E} ${C} = u_${C}; 792#endif 793`:` 794#ifndef HAS_UNIFORM_u_${C} 795 ${P} ${E} ${C} = unpack_mix_${B}(a_${C}, u_${C}_t); 796#else 797 ${P} ${E} ${C} = u_${C}; 798#endif 799`}),staticAttributes:a,staticUniforms:y}}class st{constructor(t,n,a){this.vertexBuffer=t,this.indexBuffer=n,this.segments=a}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var zr=d.aS([{name:"a_pos",type:"Int16",components:2}]);const oi="#define PROJECTION_MERCATOR",Ii="mercator";class ai{constructor(){this._cachedMesh=null}get name(){return"mercator"}get useSubdivision(){return!1}get shaderVariantName(){return Ii}get shaderDefine(){return oi}get shaderPreludeCode(){return dt.projectionMercator}get vertexShaderPreludeCode(){return dt.projectionMercator.vertexSource}get subdivisionGranularity(){return d.aT.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(t){}getMeshFromTileID(t,n,a,c,f){if(this._cachedMesh)return this._cachedMesh;const y=new d.aU;y.emplaceBack(0,0),y.emplaceBack(d.a6,0),y.emplaceBack(0,d.a6),y.emplaceBack(d.a6,d.a6);const x=t.createVertexBuffer(y,zr.members),w=d.aV.simpleSegment(0,0,4,2),S=new d.aW;S.emplaceBack(1,0,2),S.emplaceBack(1,2,3);const P=t.createIndexBuffer(S);return this._cachedMesh=new st(x,P,w),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(t){}}class Un{constructor(t=0,n=0,a=0,c=0){if(isNaN(t)||t<0||isNaN(n)||n<0||isNaN(a)||a<0||isNaN(c)||c<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=n,this.left=a,this.right=c}interpolate(t,n,a){return n.top!=null&&t.top!=null&&(this.top=d.H.number(t.top,n.top,a)),n.bottom!=null&&t.bottom!=null&&(this.bottom=d.H.number(t.bottom,n.bottom,a)),n.left!=null&&t.left!=null&&(this.left=d.H.number(t.left,n.left,a)),n.right!=null&&t.right!=null&&(this.right=d.H.number(t.right,n.right,a)),this}getCenter(t,n){const a=d.al((this.left+t-this.right)/2,0,t),c=d.al((this.top+n-this.bottom)/2,0,n);return new d.P(a,c)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Un(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function kr(h,t){if(!h.renderWorldCopies||h.lngRange)return;const n=t.lng-h.center.lng;t.lng+=n>180?-360:n<-180?360:0}function Tt(h){return Math.max(0,Math.floor(h))}class an{constructor(t,n){var a;this.applyConstrain=(c,f)=>this._constrainOverride!==null?this._constrainOverride(c,f):this._callbacks.defaultConstrain(c,f),this._callbacks=t,this._tileSize=512,this._renderWorldCopies=n?.renderWorldCopies===void 0||!!n?.renderWorldCopies,this._minZoom=n?.minZoom||0,this._maxZoom=n?.maxZoom||22,this._minPitch=n?.minPitch==null?0:n?.minPitch,this._maxPitch=n?.maxPitch==null?60:n?.maxPitch,this._constrainOverride=(a=n?.constrainOverride)!==null&&a!==void 0?a:null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new d.W(0,0),this._elevation=0,this._zoom=0,this._tileZoom=Tt(this._zoom),this._scale=d.ao(this._zoom),this._bearingInRadians=0,this._fovInRadians=.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new Un,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(t,n,a){this._constrainOverride=t.constrainOverride,this._latRange=t.latRange,this._lngRange=t.lngRange,this._width=t.width,this._height=t.height,this._center=t.center,this._elevation=t.elevation,this._minElevationForCurrentTile=t.minElevationForCurrentTile,this._zoom=t.zoom,this._tileZoom=Tt(this._zoom),this._scale=d.ao(this._zoom),this._bearingInRadians=t.bearingInRadians,this._fovInRadians=t.fovInRadians,this._pitchInRadians=t.pitchInRadians,this._rollInRadians=t.rollInRadians,this._unmodified=t.unmodified,this._edgeInsets=new Un(t.padding.top,t.padding.bottom,t.padding.left,t.padding.right),this._minZoom=t.minZoom,this._maxZoom=t.maxZoom,this._minPitch=t.minPitch,this._maxPitch=t.maxPitch,this._renderWorldCopies=t.renderWorldCopies,this._cameraToCenterDistance=t.cameraToCenterDistance,this._nearZ=t.nearZ,this._farZ=t.farZ,this._autoCalculateNearFarZ=!a&&t.autoCalculateNearFarZ,n&&this.constrainInternal(),this._calcMatrices()}get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(t){this._minElevationForCurrentTile=t}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(t){this._minZoom!==t&&(this._minZoom=t,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(t){this._minPitch!==t&&(this._minPitch=t,this.setPitch(Math.max(this.pitch,t)))}get maxPitch(){return this._maxPitch}setMaxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.setPitch(Math.min(this.pitch,t)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(t){t===void 0?t=!0:t===null&&(t=!1),this._renderWorldCopies=t}get constrainOverride(){return this._constrainOverride}setConstrainOverride(t){t===void 0&&(t=null),this._constrainOverride!==t&&(this._constrainOverride=t,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new d.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(t){const n=d.X(t,-180,180)*Math.PI/180;var a,c,f,y,x,w,S,P,E;this._bearingInRadians!==n&&(this._unmodified=!1,this._bearingInRadians=n,this._calcMatrices(),this._rotationMatrix=Tr(),a=this._rotationMatrix,f=-this._bearingInRadians,y=(c=this._rotationMatrix)[0],x=c[1],w=c[2],S=c[3],P=Math.sin(f),E=Math.cos(f),a[0]=y*E+w*P,a[1]=x*E+S*P,a[2]=y*-P+w*E,a[3]=x*-P+S*E)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(t){const n=d.al(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==n&&(this._unmodified=!1,this._pitchInRadians=n,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(t){const n=t/180*Math.PI;this._rollInRadians!==n&&(this._unmodified=!1,this._rollInRadians=n,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return d.aX(this._fovInRadians)}setFov(t){t=d.al(t,.1,150),this.fov!==t&&(this._unmodified=!1,this._fovInRadians=d.an(t),this._calcMatrices())}get zoom(){return this._zoom}setZoom(t){const n=this.applyConstrain(this._center,t).zoom;this._zoom!==n&&(this._unmodified=!1,this._zoom=n,this._tileZoom=Math.max(0,Math.floor(n)),this._scale=d.ao(n),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(t){t!==this._elevation&&(this._elevation=t,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(t,n){this._autoCalculateNearFarZ=!1,this._nearZ=t,this._farZ=n,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,n,a){this._unmodified=!1,this._edgeInsets.interpolate(t,n,a),this.constrainInternal(),this._calcMatrices()}resize(t,n,a=!0){this._width=t,this._height=n,a&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){var t,n;return((t=this._latRange)===null||t===void 0?void 0:t.length)!==2||((n=this._lngRange)===null||n===void 0?void 0:n.length)!==2?null:new ke([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]])}setMaxBounds(t){t?(this._lngRange=[t.getWest(),t.getEast()],this._latRange=[t.getSouth(),t.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-d.am,d.am])}getCameraQueryGeometry(t,n){if(n.length===1)return[n[0],t];{const{minX:a,minY:c,maxX:f,maxY:y}=d.a8.fromPoints(n).extend(t);return[new d.P(a,c),new d.P(f,c),new d.P(f,y),new d.P(a,y),new d.P(a,c)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:n,zoom:a}=this.applyConstrain(this.center,this.zoom);this.setCenter(n),this.setZoom(a),this._unmodified=t,this._constraining=!1}
799_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let t=d.ap(new Float64Array(16));d.S(t,t,[this._width/2,-this._height/2,1]),d.Q(t,t,[1,-1,0]),this._clipSpaceToPixelsMatrix=t,t=d.ap(new Float64Array(16)),d.S(t,t,[1,-1,1]),d.Q(t,t,[-1,-1,0]),d.S(t,t,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=t,this._cameraToCenterDistance=.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(t,n,a,c){const f=a!==void 0?a:this.bearing,y=c=c!==void 0?c:this.pitch,{distanceToCenter:x,clampedElevation:w}=this._distanceToCenterFromAltElevationPitch(n,this.elevation,y),{x:S,y:P}=fo(y,f),E=d.a7.fromLngLat(t,n);let C,z,B=d.aY(1,E.y),V=0;do{if(V+=1,V>10)break;z=x/B,C=new d.a7(E.x+S*z,E.y+P*z),B=1/C.meterInMercatorCoordinateUnits()}while(Math.abs(x-z*B)>1e-12);return{center:C.toLngLat(),elevation:w,zoom:d.ar(this.height/2/Math.tan(this.fovInRadians/2)/z/this.tileSize)}}recalculateZoomAndCenter(t){if(this.elevation-t==0)return;const n=1/this.worldSize,a=d.aq(1,this.center.lat)*this.worldSize,c=d.a7.fromLngLat(this.center,this.elevation),f=c.x/n,y=c.y/n,x=c.z/n,w=this.pitch,S=this.bearing,{x:P,y:E,z:C}=fo(w,S),z=this.cameraToCenterDistance,B=f+z*-P,V=y+z*-E,G=x+z*C,{distanceToCenter:N,clampedElevation:$}=this._distanceToCenterFromAltElevationPitch(G/a,t,w),X=N*a,Z=new d.a7((B+P*X)*n,(V+E*X)*n,0).toLngLat(),U=d.aq(1,Z.lat),H=d.ar(this.height/2/Math.tan(this.fovInRadians/2)/N/U/this.tileSize);this._elevation=$,this._center=Z,this.setZoom(H)}_distanceToCenterFromAltElevationPitch(t,n,a){const c=-Math.cos(d.an(a)),f=t-n;let y,x=n;return c*f>=0||Math.abs(c)<.1?(y=1e4,x=t+y*c):y=-f/c,{distanceToCenter:y,clampedElevation:x}}getCameraPoint(){const t=Math.tan(this.pitchInRadians)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new d.P(t*Math.sin(this.rollInRadians),t*Math.cos(this.rollInRadians)))}getCameraAltitude(){return Math.cos(this.pitchInRadians)*this._cameraToCenterDistance/this._pixelPerMeter+this.elevation}getCameraLngLat(){const t=d.aq(1,this.center.lat)*this.worldSize;return Ln(this.center,this.elevation,this.pitch,this.bearing,this.cameraToCenterDistance/t).toLngLat()}getMercatorTileCoordinates(t){if(!t)return[0,0,1,1];const n=t.canonical.z>=0?1<<t.canonical.z:Math.pow(2,t.canonical.z);return[t.canonical.x/n,t.canonical.y/n,1/n/d.a6,1/n/d.a6]}}class er{constructor(t,n){this.min=t,this.max=n,this.center=d.aZ([],d.a_([],this.min,this.max),.5)}quadrant(t){const n=[t%2==0,t<2],a=d.a$(this.min),c=d.a$(this.max);for(let f=0;f<n.length;f++)a[f]=n[f]?this.min[f]:this.center[f],c[f]=n[f]?this.center[f]:this.max[f];return c[2]=this.max[2],new er(a,c)}distanceX(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]}distanceY(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]}intersectsFrustum(t){let n=!0;for(const a of t.planes){const c=this.intersectsPlane(a);if(c===0)return 0;c===1&&(n=!1)}return n?2:t.aabb.min[0]>this.max[0]||t.aabb.min[1]>this.max[1]||t.aabb.min[2]>this.max[2]||t.aabb.max[0]<this.min[0]||t.aabb.max[1]<this.min[1]||t.aabb.max[2]<this.min[2]?0:1}intersectsPlane(t){let n=t[3],a=t[3];for(let c=0;c<3;c++)t[c]>0?(n+=t[c]*this.min[c],a+=t[c]*this.max[c]):(a+=t[c]*this.min[c],n+=t[c]*this.max[c]);return n>=0?2:a<0?0:1}}class wo{distanceToTile2d(t,n,a,c){const f=c,y=f.distanceX([t,n]),x=f.distanceY([t,n]);return Math.hypot(y,x)}getWrap(t,n,a){return a}getTileBoundingVolume(t,n,a,c){var f,y;let x=0,w=0;if(c?.terrain){const P=new d.a3(t.z,n,t.z,t.x,t.y),E=c.terrain.getMinMaxElevation(P);x=(f=E.minElevation)!==null&&f!==void 0?f:Math.min(0,a),w=(y=E.maxElevation)!==null&&y!==void 0?y:Math.max(0,a)}const S=1<<t.z;return new er([n+t.x/S,t.y/S,x],[n+(t.x+1)/S,(t.y+1)/S,w])}allowVariableZoom(t,n){const a=t.fov*(Math.abs(Math.cos(t.rollInRadians))*t.height+Math.abs(Math.sin(t.rollInRadians))*t.width)/t.height,c=d.al(78.5-a/2,0,60);return!!n.terrain||t.pitch>c}allowWorldCopies(){return!0}prepareNextFrame(){}}class yi{constructor(t,n,a){this.points=t,this.planes=n,this.aabb=a}static fromInvProjectionMatrix(t,n=1,a=0,c,f){const y=f?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],x=Math.pow(2,a),w=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(C=>function(z,B,V,G){const N=d.aE([],z,B),$=1/N[3]/V*G;return d.b4(N,N,[$,$,1/N[3],$])}(C,t,n,x));c&&function(C,z,B,V){const G=V?4:0,N=V?0:4;let $=0;const X=[],Z=[];for(let q=0;q<4;q++){const Q=d.b0([],C[q+N],C[q+G]),se=d.b5(Q);d.aZ(Q,Q,1/se),X.push(se),Z.push(Q)}for(let q=0;q<4;q++){const Q=d.b6(C[q+G],Z[q],B);$=Q!==null&&Q>=0?Math.max($,Q):Math.max($,X[q])}const U=function(q,Q){const se=d.b0([],q[Q[0]],q[Q[1]]),oe=d.b0([],q[Q[2]],q[Q[1]]),de=[0,0,0,0];return d.b1(de,d.b2([],se,oe)),de[3]=-d.b3(de,q[Q[0]]),de}(C,z),H=function(q,Q){const se=d.b7(q),oe=d.b8([],q,1/se),de=d.b0([],Q,d.aZ([],oe,d.b3(Q,oe))),he=d.b7(de);if(he>0){const Pe=Math.sqrt(1-oe[3]*oe[3]),ve=d.aZ([],oe,-oe[3]),ue=d.a_([],ve,d.aZ([],de,Pe/he));return d.b9(Q,ue)}return null}(B,U);if(H!==null){const q=H/d.b3(Z[0],U);
vendor: 47,564 bytes, line 799
799$=Math.min($,q)}for(let q=0;q<4;q++){const Q=Math.min($,X[q]);C[q+N]=[C[q+G][0]+Z[q][0]*Q,C[q+G][1]+Z[q][1]*Q,C[q+G][2]+Z[q][2]*Q,1]}}(w,y[0],c,f);const S=y.map(C=>{const z=d.b0([],w[C[0]],w[C[1]]),B=d.b0([],w[C[2]],w[C[1]]),V=d.b1([],d.b2([],z,B)),G=-d.b3(V,w[C[1]]);return V.concat(G)}),P=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY],E=[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY];for(const C of w)for(let z=0;z<3;z++)P[z]=Math.min(P[z],C[z]),E[z]=Math.max(E[z],C[z]);return new yi(w,S,new er(P,E))}}class ln{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(t){this._helper.setMinZoom(t)}setMaxZoom(t){this._helper.setMaxZoom(t)}setMinPitch(t){this._helper.setMinPitch(t)}setMaxPitch(t){this._helper.setMaxPitch(t)}setRenderWorldCopies(t){this._helper.setRenderWorldCopies(t)}setBearing(t){this._helper.setBearing(t)}setPitch(t){this._helper.setPitch(t)}setRoll(t){this._helper.setRoll(t)}setFov(t){this._helper.setFov(t)}setZoom(t){this._helper.setZoom(t)}setCenter(t){this._helper.setCenter(t)}setElevation(t){this._helper.setElevation(t)}setMinElevationForCurrentTile(t){this._helper.setMinElevationForCurrentTile(t)}setPadding(t){this._helper.setPadding(t)}interpolatePadding(t,n,a){this._helper.interpolatePadding(t,n,a)}isPaddingEqual(t){return this._helper.isPaddingEqual(t)}resize(t,n,a=!0){this._helper.resize(t,n,a)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(t){this._helper.setMaxBounds(t)}setConstrainOverride(t){this._helper.setConstrainOverride(t)}overrideNearFarZ(t,n){this._helper.overrideNearFarZ(t,n)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(t){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),t)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(t,n){}constructor(t){this._posMatrixCache=new Map,this._alignedPosMatrixCache=new Map,this._fogMatrixCacheF32=new Map,this.defaultConstrain=(n,a)=>{a=d.al(+a,this.minZoom,this.maxZoom);const c={center:new d.W(n.lng,n.lat),zoom:a};let f=this._helper._lngRange;if(!this._helper._renderWorldCopies&&f===null){const Z=179.9999999999;f=[-Z,Z]}const y=this.tileSize*d.ao(c.zoom);let x=0,w=y,S=0,P=y,E=0,C=0;const{x:z,y:B}=this.size;if(this._helper._latRange){const Z=this._helper._latRange;x=d.Y(Z[1])*y,w=d.Y(Z[0])*y,w-x<B&&(E=B/(w-x))}f&&(S=d.X(d.Z(f[0])*y,0,y),P=d.X(d.Z(f[1])*y,0,y),P<S&&(P+=y),P-S<z&&(C=z/(P-S)));const{x:V,y:G}=qi(y,n);let N,$;const X=Math.max(C||0,E||0);if(X){const Z=new d.P(C?(P+S)/2:V,E?(w+x)/2:G);return c.center=Fn(y,Z).wrap(),c.zoom+=d.ar(X),c}if(this._helper._latRange){const Z=B/2;G-Z<x&&($=x+Z),G+Z>w&&($=w-Z)}if(f){const Z=(S+P)/2;let U=V;this._helper._renderWorldCopies&&(U=d.X(V,Z-y/2,Z+y/2));const H=z/2;U-H<S&&(N=S+H),U+H>P&&(N=P-H)}if(N!==void 0||$!==void 0){const Z=new d.P(N??V,$??G);c.center=Fn(y,Z).wrap()}return c},this.applyConstrain=(n,a)=>this._helper.applyConstrain(n,a),this._helper=new an({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(n,a)=>this.defaultConstrain(n,a)},t),this._coveringTilesDetailsProvider=new wo}clone(){const t=new ln;return t.apply(this,!1),t}apply(t,n,a){this._helper.apply(t,n,a)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(t){const n=[new d.ba(0,t)];if(this._helper._renderWorldCopies){const a=this.screenPointToMercatorCoordinate(new d.P(0,0)),c=this.screenPointToMercatorCoordinate(new d.P(this._helper._width,0)),f=this.screenPointToMercatorCoordinate(new d.P(this._helper._width,this._helper._height)),y=this.screenPointToMercatorCoordinate(new d.P(0,this._helper._height)),x=Math.floor(Math.min(a.x,c.x,f.x,y.x)),w=Math.floor(Math.max(a.x,c.x,f.x,y.x)),S=1;for(let P=x-S;P<=w+S;P++)P!==0&&n.push(new d.ba(P,t))}return n}getCameraFrustum(){return yi.fromInvProjectionMatrix(this._invViewProjMatrix,this.worldSize)}getClippingPlane(){return null}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(t){const n=this.screenPointToLocation(this.centerPoint,t),a=t?t.getElevationForLngLatZoom(n,this._helper._tileZoom):0;this._helper.recalculateZoomAndCenter(a)}setLocationAtPoint(t,n){const a=d.aq(this.elevation,this.center.lat),c=this.screenPointToMercatorCoordinateAtZ(n,a),f=this.screenPointToMercatorCoordinateAtZ(this.centerPoint,a),y=d.a7.fromLngLat(t),x=new d.a7(y.x-(c.x-f.x),y.y-(c.y-f.y));this.setCenter(x?.toLngLat()),this._helper._renderWorldCopies&&this.setCenter(this.center.wrap())}locationToScreenPoint(t,n){return n?this.coordinatePoint(d.a7.fromLngLat(t),n.getElevationForLngLat(t,this),this._pixelMatrix3D):this.coordinatePoint(d.a7.fromLngLat(t))}screenPointToLocation(t,n){var a;return(a=this.screenPointToMercatorCoordinate(t,n))===null||a===void 0?void 0:a.toLngLat()}screenPointToMercatorCoordinate(t,n){if(n){const a=n.pointCoordinate(t);if(a!=null)return a}return this.screenPointToMercatorCoordinateAtZ(t)}screenPointToMercatorCoordinateAtZ(t,n){const a=n||0,c=[t.x,t.y,0,1],f=[t.x,t.y,1,1];d.aE(c,c,this._pixelMatrixInverse),d.aE(f,f,this._pixelMatrixInverse);const y=c[3],x=f[3],w=c[1]/y,S=f[1]/x,P=c[2]/y,E=f[2]/x,C=P===E?0:(a-P)/(E-P);return new d.a7(d.H.number(c[0]/y,f[0]/x,C)/this.worldSize,d.H.number(w,S,C)/this.worldSize,a)}coordinatePoint(t,n=0,a=this._pixelMatrix){const c=[t.x*this.worldSize,t.y*this.worldSize,n,1];return d.aE(c,c,a),new d.P(c[0]/c[3],c[1]/c[3])}getBounds(){const t=Math.max(0,this._helper._height/2-tn(this));return new ke().extend(this.screenPointToLocation(new d.P(0,t))).extend(this.screenPointToLocation(new d.P(this._helper._width,t))).extend(this.screenPointToLocation(new d.P(this._helper._width,this._helper._height))).extend(this.screenPointToLocation(new d.P(0,this._helper._height)))}isPointOnMapSurface(t,n){return n?n.pointCoordinate(t)!=null:t.y>this.height/2-tn(this)}calculatePosMatrix(t,n=!1,a){var c;const f=(c=t.key)!==null&&c!==void 0?c:d.bb(t.wrap,t.canonical.z,t.canonical.z,t.canonical.x,t.canonical.y),y=n?this._alignedPosMatrixCache:this._posMatrixCache;if(y.has(f)){const S=y.get(f);return a?S.f32:S.f64}const x=xs(t,this.worldSize);d.U(x,n?this._alignedProjMatrix:this._viewProjMatrix,x);const w={f64:x,f32:new Float32Array(x)};return y.set(f,w),a?w.f32:w.f64}calculateFogMatrix(t){const n=t.key,a=this._fogMatrixCacheF32;if(a.has(n))return a.get(n);const c=xs(t,this.worldSize);return d.U(c,this._fogMatrix,c),a.set(n,new Float32Array(c)),a.get(n)}calculateCenterFromCameraLngLatAlt(t,n,a,c){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,a,c)}_calculateNearFarZIfNeeded(t,n,a){if(!this._helper.autoCalculateNearFarZ)return;const c=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),f=t-c*this._helper._pixelPerMeter/Math.cos(n),y=c<0?f:t,x=Math.PI/2+this.pitchInRadians,w=d.an(this.fov)*(Math.abs(Math.cos(d.an(this.roll)))*this.height+Math.abs(Math.sin(d.an(this.roll)))*this.width)/this.height*(.5+a.y/this.height),S=Math.sin(w)*y/Math.sin(d.al(Math.PI-x-w,.01,Math.PI-.01)),P=tn(this),E=Math.atan(P/this._helper.cameraToCenterDistance),C=d.an(.75),z=E>C?2*E*(.5+a.y/(2*P)):C,B=Math.sin(z)*y/Math.sin(d.al(Math.PI-x-z,.01,Math.PI-.01)),V=Math.min(S,B);this._helper._farZ=1.01*(Math.cos(Math.PI/2-n)*V+y),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;const t=this.centerOffset,n=qi(this.worldSize,this.center),a=n.x,c=n.y;this._helper._pixelPerMeter=d.aq(1,this.center.lat)*this.worldSize;const f=d.an(Math.min(this.pitch,en)),y=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(f));let x;var w,S;this._calculateNearFarZIfNeeded(y,f,t),x=new Float64Array(16),d.bc(x,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),(w=this._invProjMatrix)[0]=1/(S=x)[0],w[1]=0,w[2]=0,w[3]=0,w[4]=0,w[5]=1/S[5],w[6]=0,w[7]=0,w[8]=0,w[9]=0,w[10]=0,w[11]=1/S[14],w[12]=0,w[13]=0,w[14]=-1,w[15]=S[10]/S[14],x[8]=2*-t.x/this._helper._width,x[9]=2*t.y/this._helper._height,this._projectionMatrix=d.bd(x),d.S(x,x,[1,-1,1]),d.Q(x,x,[0,0,-this._helper.cameraToCenterDistance]),d.be(x,x,-this.rollInRadians),d.bf(x,x,this.pitchInRadians),d.be(x,x,-this.bearingInRadians),d.Q(x,x,[-a,-c,0]),this._mercatorMatrix=d.S([],x,[this.worldSize,this.worldSize,this.worldSize]),d.S(x,x,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=d.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,x),d.Q(x,x,[0,0,-this.elevation]),this._viewProjMatrix=x,this._invViewProjMatrix=d.bg([],x);const P=[0,0,-1,1];d.aE(P,P,this._invViewProjMatrix),this._cameraPosition=[P[0]/P[3],P[1]/P[3],P[2]/P[3]],this._fogMatrix=new Float64Array(16),d.bc(this._fogMatrix,this.fovInRadians,this.width/this.height,y,this._helper._farZ),this._fogMatrix[8]=2*-t.x/this.width,this._fogMatrix[9]=2*t.y/this.height,d.S(this._fogMatrix,this._fogMatrix,[1,-1,1]),d.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),d.be(this._fogMatrix,this._fogMatrix,-this.rollInRadians),d.bf(this._fogMatrix,this._fogMatrix,this.pitchInRadians),d.be(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),d.Q(this._fogMatrix,this._fogMatrix,[-a,-c,0]),d.S(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),d.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=d.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,x);const E=this._helper._width%2/2,C=this._helper._height%2/2,z=Math.cos(this.bearingInRadians),B=Math.sin(-this.bearingInRadians),V=a-Math.round(a)+z*E+B*C,G=c-Math.round(c)+z*C+B*E,N=new Float64Array(x);if(d.Q(N,N,[V>.5?V-1:V,G>.5?G-1:G,0]),this._alignedProjMatrix=N,x=d.bg(new Float64Array(16),this._pixelMatrix),!x)throw new Error("failed to invert matrix");this._pixelMatrixInverse=x,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;const t=this.screenPointToMercatorCoordinate(new d.P(0,0)),n=[t.x*this.worldSize,t.y*this.worldSize,0,1];return d.aE(n,n,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){const t=d.aq(1,this.center.lat)*this.worldSize;return Ln(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/t).toLngLat()}lngLatToCameraDepth(t,n){const a=d.a7.fromLngLat(t),c=[a.x*this.worldSize,a.y*this.worldSize,n,1];return d.aE(c,c,this._viewProjMatrix),c[2]/c[3]}getProjectionData(t){const{overscaledTileID:n,aligned:a,applyTerrainMatrix:c}=t,f=this._helper.getMercatorTileCoordinates(n),y=n?this.calculatePosMatrix(n,a,!0):null;let x;return x=n?.terrainRttPosMatrix32f&&c?n.terrainRttPosMatrix32f:y||d.bh(),{mainMatrix:x,tileMercatorCoords:f,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:x}}isLocationOccluded(t){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(t,n,a){return 1}transformLightDirection(t){return d.a$(t)}getRayDirectionFromPixel(t){throw new Error("Not implemented.")}projectTileCoordinates(t,n,a,c){const f=this.calculatePosMatrix(a);let y;c?(y=[t,n,c(t,n),1],d.aE(y,y,f)):(y=[t,n,0,1],vo(y,y,f));const x=y[3];return{point:new d.P(y[0]/x,y[1]/x),signedDistanceFromCamera:x,isOccluded:!1}}populateCache(t){for(const n of t)this.calculatePosMatrix(n)}getMatrixForModel(t,n){const a=d.a7.fromLngLat(t,n),c=a.meterInMercatorCoordinateUnits(),f=d.bi();return d.Q(f,f,[a.x,a.y,a.z]),d.be(f,f,Math.PI),d.bf(f,f,Math.PI/2),d.S(f,f,[-c,c,c]),f}getProjectionDataForCustomLayer(t=!0){const n=new d.a3(0,0,0,0,0),a=this.getProjectionData({overscaledTileID:n,applyGlobeMatrix:t}),c=xs(n,this.worldSize);d.U(c,this._viewProjMatrix,c),a.tileMercatorCoords=[0,0,1,1];const f=[d.a6,d.a6,this.worldSize/this._helper.pixelsPerMeter],y=d.bj();return d.S(y,c,f),a.fallbackMatrix=y,a.mainMatrix=y,a}getFastPathSimpleProjectionMatrix(t){return this.calculatePosMatrix(t)}}function ur(){d.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}function fc(h){if(h.useSlerp)if(h.k<1){const t=d.bk(h.startEulerAngles.roll,h.startEulerAngles.pitch,h.startEulerAngles.bearing),n=d.bk(h.endEulerAngles.roll,h.endEulerAngles.pitch,h.endEulerAngles.bearing),a=new Float64Array(4);d.bl(a,t,n,h.k);const c=d.bm(a);h.tr.setRoll(c.roll),h.tr.setPitch(c.pitch),h.tr.setBearing(c.bearing)}else h.tr.setRoll(h.endEulerAngles.roll),h.tr.setPitch(h.endEulerAngles.pitch),h.tr.setBearing(h.endEulerAngles.bearing);else h.tr.setRoll(d.H.number(h.startEulerAngles.roll,h.endEulerAngles.roll,h.k)),h.tr.setPitch(d.H.number(h.startEulerAngles.pitch,h.endEulerAngles.pitch,h.k)),h.tr.setBearing(d.H.number(h.startEulerAngles.bearing,h.endEulerAngles.bearing,h.k))}function Ha(h,t,n,a,c){const f=c.padding,y=qi(c.worldSize,n.getNorthWest()),x=qi(c.worldSize,n.getNorthEast()),w=qi(c.worldSize,n.getSouthEast()),S=qi(c.worldSize,n.getSouthWest()),P=d.an(-a),E=y.rotate(P),C=x.rotate(P),z=w.rotate(P),B=S.rotate(P),V=new d.P(Math.max(E.x,C.x,B.x,z.x),Math.max(E.y,C.y,B.y,z.y)),G=new d.P(Math.min(E.x,C.x,B.x,z.x),Math.min(E.y,C.y,B.y,z.y)),N=V.sub(G),$=(c.width-(f.left+f.right+t.left+t.right))/N.x,X=(c.height-(f.top+f.bottom+t.top+t.bottom))/N.y;if(X<0||$<0)return void ur();const Z=Math.min(d.ar(c.scale*Math.min($,X)),h.maxZoom),U=d.P.convert(h.offset),H=new d.P((t.left-t.right)/2,(t.top-t.bottom)/2).rotate(d.an(a)),q=U.add(H).mult(c.scale/d.ao(Z));return{center:Fn(c.worldSize,y.add(w).div(2).sub(q)),zoom:Z,bearing:a}}class cn{get useGlobeControls(){return!1}handlePanInertia(t,n){const a=t.mag(),c=Math.abs(tn(n));return{easingOffset:t.mult(Math.min(.75*c/a,1)),easingCenter:n.center}}handleMapControlsRollPitchBearingZoom(t,n){t.bearingDelta&&n.setBearing(n.bearing+t.bearingDelta),t.pitchDelta&&n.setPitch(n.pitch+t.pitchDelta),t.rollDelta&&n.setRoll(n.roll+t.rollDelta),t.zoomDelta&&n.setZoom(n.zoom+t.zoomDelta)}handleMapControlsPan(t,n,a){t.around.distSqr(n.centerPoint)<.01||n.setLocationAtPoint(a,t.around)}cameraForBoxAndBearing(t,n,a,c,f){return Ha(t,n,a,c,f)}handleJumpToCenterZoom(t,n){t.zoom!==(n.zoom!==void 0?+n.zoom:t.zoom)&&t.setZoom(+n.zoom),n.center!==void 0&&t.setCenter(d.W.convert(n.center))}handleEaseTo(t,n){const a=t.zoom,c=t.padding,f={roll:t.roll,pitch:t.pitch,bearing:t.bearing},y={roll:n.roll===void 0?t.roll:n.roll,pitch:n.pitch===void 0?t.pitch:n.pitch,bearing:n.bearing===void 0?t.bearing:n.bearing},x=n.zoom!==void 0,w=!t.isPaddingEqual(n.padding);let S=!1;const P=x?+n.zoom:t.zoom;let E=t.centerPoint.add(n.offsetAsPoint);const C=t.screenPointToLocation(E),{center:z,zoom:B}=t.applyConstrain(d.W.convert(n.center||C),P??a);kr(t,z);const V=qi(t.worldSize,C),G=qi(t.worldSize,z).sub(V),N=d.ao(B-a);return S=B!==a,{easeFunc:$=>{if(S&&t.setZoom(d.H.number(a,B,$)),d.bn(f,y)||fc({startEulerAngles:f,endEulerAngles:y,tr:t,k:$,useSlerp:f.roll!=y.roll}),w&&(t.interpolatePadding(c,n.padding,$),E=t.centerPoint.add(n.offsetAsPoint)),n.around)t.setLocationAtPoint(n.around,n.aroundPoint);else{const X=d.ao(t.zoom-a),Z=B>a?Math.min(2,N):Math.max(.5,N),U=Math.pow(Z,1-$),H=Fn(t.worldSize,V.add(G.mult($*U)).mult(X));t.setLocationAtPoint(t.renderWorldCopies?H.wrap():H,E)}},isZooming:S,elevationCenter:z}}handleFlyTo(t,n){const a=n.zoom!==void 0,c=t.zoom,f=t.applyConstrain(d.W.convert(n.center||n.locationAtOffset),a?+n.zoom:c),y=f.center,x=f.zoom;kr(t,y);const w=qi(t.worldSize,n.locationAtOffset),S=qi(t.worldSize,y).sub(w),P=S.mag(),E=d.ao(x-c);let C;if(n.minZoom!==void 0){const z=Math.min(+n.minZoom,c,x),B=t.applyConstrain(y,z).zoom;C=d.ao(B-c)}return{easeFunc:(z,B,V,G)=>{t.setZoom(z===1?x:c+d.ar(B));const N=z===1?y:Fn(t.worldSize,w.add(S.mult(V)).mult(B));t.setLocationAtPoint(t.renderWorldCopies?N.wrap():N,G)},scaleOfZoom:E,targetCenter:y,scaleOfMinZoom:C,pixelPathLength:P}}}class ot{constructor(t,n,a){this.blendFunction=t,this.blendColor=n,this.mask=a}}ot.Replace=[1,0],ot.disabled=new ot(ot.Replace,d.bo.transparent,[!1,!1,!1,!1]),ot.unblended=new ot(ot.Replace,d.bo.transparent,[!0,!0,!0,!0]),ot.alphaBlended=new ot([1,771],d.bo.transparent,[!0,!0,!0,!0]);const Gn=2305;class Ze{constructor(t,n,a){this.enable=t,this.mode=n,this.frontFace=a}}Ze.disabled=new Ze(!1,1029,Gn),Ze.backCCW=new Ze(!0,1029,Gn),Ze.frontCCW=new Ze(!0,1028,Gn);class Oe{constructor(t,n,a){this.func=t,this.mask=n,this.range=a}}Oe.ReadOnly=!1,Oe.ReadWrite=!0,Oe.disabled=new Oe(519,Oe.ReadOnly,[0,1]);const $n=7680;class We{constructor(t,n,a,c,f,y){this.test=t,this.ref=n,this.mask=a,this.fail=c,this.depthFail=f,this.pass=y}}function Hi(h){return typeof WebGL2RenderingContext<"u"&&h instanceof WebGL2RenderingContext}We.disabled=new We({func:519,mask:0},0,0,$n,$n,$n);class Zn{get awaitingQuery(){return!!this._readbackQueue}constructor(t){this._readbackWaitFrames=4,this._measureWaitFrames=6,this._texWidth=1,this._texHeight=1,this._measuredError=0,this._updateCount=0,this._lastReadbackFrame=-1e3,this._readbackQueue=null,this._cachedRenderContext=t;const n=t.context,a=n.gl;this._texFormat=a.RGBA,this._texType=a.UNSIGNED_BYTE;const c=new d.aU;c.emplaceBack(-1,-1),c.emplaceBack(2,-1),c.emplaceBack(-1,2);const f=new d.aW;f.emplaceBack(0,1,2),this._fullscreenTriangle=new st(n.createVertexBuffer(c,zr.members),n.createIndexBuffer(f),d.aV.simpleSegment(0,0,c.length,f.length)),this._resultBuffer=new Uint8Array(4),n.activeTexture.set(a.TEXTURE1);const y=a.createTexture();a.bindTexture(a.TEXTURE_2D,y),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texImage2D(a.TEXTURE_2D,0,this._texFormat,this._texWidth,this._texHeight,0,this._texFormat,this._texType,null),this._fbo=n.createFramebuffer(this._texWidth,this._texHeight,!1,!1),this._fbo.colorAttachment.set(y),Hi(a)&&(this._pbo=a.createBuffer(),a.bindBuffer(a.PIXEL_PACK_BUFFER,this._pbo),a.bufferData(a.PIXEL_PACK_BUFFER,4,a.STREAM_READ),a.bindBuffer(a.PIXEL_PACK_BUFFER,null))}destroy(){const t=this._cachedRenderContext.context.gl;this._fullscreenTriangle.destroy(),this._fbo.destroy(),t.deleteBuffer(this._pbo),this._fullscreenTriangle=null,this._fbo=null,this._pbo=null,this._resultBuffer=null}updateErrorLoop(t,n){const a=this._updateCount;return this._readbackQueue?a>=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():a>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(t,n),this._updateCount++,this._measuredError}_bindFramebuffer(){const t=this._cachedRenderContext.context,n=t.gl;t.activeTexture.set(n.TEXTURE1),n.bindTexture(n.TEXTURE_2D,this._fbo.colorAttachment.get()),t.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(t,n){const a=this._cachedRenderContext.context,c=a.gl;if(this._bindFramebuffer(),a.viewport.set([0,0,this._texWidth,this._texHeight]),a.clear({color:d.bo.transparent}),this._cachedRenderContext.useProgram("projectionErrorMeasurement").draw(a,c.TRIANGLES,Oe.disabled,We.disabled,ot.unblended,Ze.disabled,((f,y)=>({u_input:f,u_output_expected:y}))(t,n),null,null,"$clipping",this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&Hi(c)){c.bindBuffer(c.PIXEL_PACK_BUFFER,this._pbo),c.readBuffer(c.COLOR_ATTACHMENT0),c.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),c.bindBuffer(c.PIXEL_PACK_BUFFER,null);const f=c.fenceSync(c.SYNC_GPU_COMMANDS_COMPLETE,0);c.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:f}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){const t=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&Hi(t)){const n=t.clientWaitSync(this._readbackQueue.sync,0,0);if(n===t.WAIT_FAILED)return d.w("WebGL2 clientWaitSync failed."),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(n===t.TIMEOUT_EXPIRED)return;t.bindBuffer(t.PIXEL_PACK_BUFFER,this._pbo),t.getBufferSubData(t.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),t.bindBuffer(t.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),t.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=Zn._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(t){let n=0;return n+=t[0]/256,n+=t[1]/65536,n+=t[2]/16777216,t[3]<127&&(n=-n),n/128}}const un=d.a6/128;function qn(h,t){const n=h.granularity!==void 0?Math.max(h.granularity,1):1,a=n+(h.generateBorders?2:0),c=n+(h.extendToNorthPole||h.generateBorders?1:0)+(h.extendToSouthPole||h.generateBorders?1:0),f=a+1,y=c+1,x=h.generateBorders?-1:0,w=h.generateBorders||h.extendToNorthPole?-1:0,S=n+(h.generateBorders?1:0),P=n+(h.generateBorders||h.extendToSouthPole?1:0),E=f*y,C=a*c*6,z=f*y>65536;if(z&&t==="16bit")throw new Error("Granularity is too large and meshes would not fit inside 16 bit vertex indices.");const B=z||t==="32bit",V=new Int16Array(2*E);let G=0;for(let X=w;X<=P;X++)for(let Z=x;Z<=S;Z++){let U=Z/n*d.a6;Z===-1&&(U=-un),Z===n+1&&(U=d.a6+un);let H=X/n*d.a6;X===-1&&(H=h.extendToNorthPole?d.bq:-un),X===n+1&&(H=h.extendToSouthPole?d.br:d.a6+un),V[G++]=U,V[G++]=H}const N=B?new Uint32Array(C):new Uint16Array(C);let $=0;for(let X=0;X<c;X++)for(let Z=0;Z<a;Z++){const U=Z+1+X*f,H=Z+(X+1)*f,q=Z+1+(X+1)*f;N[$++]=Z+X*f,N[$++]=H,N[$++]=U,N[$++]=U,N[$++]=H,N[$++]=q}return{vertices:V.buffer.slice(0),indices:N.buffer.slice(0),uses32bitIndices:B}}const Xa=new d.aT({fill:new d.bs(128,2),line:new d.bs(512,0),tile:new d.bs(128,32),stencil:new d.bs(128,1),circle:3});class To{constructor(){this._tileMeshCache={},this._errorCorrectionUsable=0,this._errorMeasurementLastValue=0,this._errorCorrectionPreviousValue=0,this._errorMeasurementLastChangeTime=-1e3}get name(){return"vertical-perspective"}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return"globe"}get shaderDefine(){return"#define GLOBE"}get shaderPreludeCode(){return dt.projectionGlobe}get vertexShaderPreludeCode(){return dt.projectionMercator.vertexSource}get subdivisionGranularity(){return Xa}get useGlobeControls(){return!0}get latitudeErrorCorrectionRadians(){return this._errorCorrectionUsable}destroy(){this._errorMeasurement&&this._errorMeasurement.destroy()}updateGPUdependent(t){this._errorMeasurement||(this._errorMeasurement=new Zn(t));const n=d.Y(this._errorQueryLatitudeDegrees),a=2*Math.atan(Math.exp(Math.PI-n*Math.PI*2))-.5*Math.PI,c=this._errorMeasurement.updateErrorLoop(n,a),f=He();c!==this._errorMeasurementLastValue&&(this._errorCorrectionPreviousValue=this._errorCorrectionUsable,this._errorMeasurementLastValue=c,this._errorMeasurementLastChangeTime=f);const y=Math.min(Math.max((f-this._errorMeasurementLastChangeTime)/1e3/.5,0),1);this._errorCorrectionUsable=d.bt(this._errorCorrectionPreviousValue,-this._errorMeasurementLastValue,d.bu(y))}_getMeshKey(t){return`${t.granularity.toString(36)}_${t.generateBorders?"b":""}${t.extendToNorthPole?"n":""}${t.extendToSouthPole?"s":""}`}getMeshFromTileID(t,n,a,c,f){const y=(f==="stencil"?Xa.stencil:Xa.tile).getGranularityForZoomLevel(n.z);return this._getMesh(t,{granularity:y,generateBorders:a,extendToNorthPole:n.y===0&&c,extendToSouthPole:n.y===(1<<n.z)-1&&c})}_getMesh(t,n){const a=this._getMeshKey(n);if(a in this._tileMeshCache)return this._tileMeshCache[a];const c=function(f,y){const x=qn(y,"16bit"),w=d.aU.deserialize({arrayBuffer:x.vertices,length:x.vertices.byteLength/2/2}),S=d.aW.deserialize({arrayBuffer:x.indices,length:x.indices.byteLength/2/3});return new st(f.createVertexBuffer(w,zr.members),f.createIndexBuffer(S),d.aV.simpleSegment(0,0,w.length,S.length))}(t,n);return this._tileMeshCache[a]=c,c}recalculate(t){}hasTransition(){var t;const n=He();let a=!1;return a||(a=(n-this._errorMeasurementLastChangeTime)/1e3<.7),a||(a=(t=this._errorMeasurement)===null||t===void 0?void 0:t.awaitingQuery),a}setErrorQueryLatitudeDegrees(t){this._errorQueryLatitudeDegrees=t}}const mc=new d.u({type:new d.D(d.x.projection.type)});class gc extends d.E{constructor(t){super(),this._transitionable=new d.y(mc,void 0),this.setProjection(t),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new d.J(0)),this._mercatorProjection=new ai,this._verticalPerspectiveProjection=new To}get transitionState(){const t=this.properties.get("type");if(typeof t=="string"&&t==="mercator")return 0;if(typeof t=="string"&&t==="vertical-perspective")return 1;if(t instanceof d.bv){if(t.from==="vertical-perspective"&&t.to==="mercator")return 1-t.transition;if(t.from==="mercator"&&t.to==="vertical-perspective")return t.transition}return 1}get useGlobeRendering(){return this.transitionState>0}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return"globe"}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(t){this._mercatorProjection.updateGPUdependent(t),this._verticalPerspectiveProjection.updateGPUdependent(t)}getMeshFromTileID(t,n,a,c,f){return this.currentProjection.getMeshFromTileID(t,n,a,c,f)}setProjection(t){this._transitionable.setValue("type",t?.type||"mercator")}updateTransitions(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(t){this.properties=this._transitioning.possiblyEvaluate(t)}setErrorQueryLatitudeDegrees(t){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(t),this._mercatorProjection.setErrorQueryLatitudeDegrees(t)}}function _c(h){const t=Mi(h.worldSize,h.center.lat);return 2*Math.PI*t}function It(h,t,n,a,c){const f=1/(1<<c),y=t/d.a6*f+a*f,x=d.by((h/d.a6*f+n*f)*Math.PI*2+Math.PI,2*Math.PI),w=2*Math.atan(Math.exp(Math.PI-y*Math.PI*2))-.5*Math.PI,S=Math.cos(w),P=new Float64Array(3);return P[0]=Math.sin(x)*S,P[1]=Math.sin(w),P[2]=Math.cos(x)*S,P}function Lt(h){return function(t,n){const a=Math.cos(n),c=new Float64Array(3);return c[0]=Math.sin(t)*a,c[1]=Math.sin(n),c[2]=Math.cos(t)*a,c}(h.lng*Math.PI/180,h.lat*Math.PI/180)}function Mi(h,t){return h/(2*Math.PI)/Math.cos(t*Math.PI/180)}function Cs(h){const t=Math.asin(h[1])/Math.PI*180,n=Math.sqrt(h[0]*h[0]+h[2]*h[2]);if(n>1e-6){const a=h[0]/n,c=Math.acos(h[2]/n),f=(a>0?c:-c)/Math.PI*180;return new d.W(d.X(f,-180,180),t)}return new d.W(0,t)}function As(h){return Math.cos(h*Math.PI/180)}function kt(h,t){const n=As(h),a=As(t);return d.ar(a/n)}function hn(h,t){const n=h.rotate(t.bearingInRadians),a=t.zoom+kt(t.center.lat,0),c=d.bt(1/As(t.center.lat),1/As(Math.min(Math.abs(t.center.lat),60)),d.bw(a,7,3,0,1)),f=360/_c({worldSize:t.worldSize,center:{lat:t.center.lat}});return new d.W(t.center.lng-n.x*f*c,d.al(t.center.lat+n.y*f,-d.am,d.am))}function Ya(h){const t=.5*h,n=Math.sin(t),a=Math.cos(t);return Math.log(n+a)-Math.log(a-n)}function yc(h,t,n,a){const c=h.lat+n*a;if(Math.abs(n)>1){const f=(Math.sign(h.lat+n)!==Math.sign(h.lat)?-Math.abs(h.lat):Math.abs(h.lat))*Math.PI/180,y=Math.abs(h.lat+n)*Math.PI/180,x=Ya(f+a*(y-f)),w=Ya(f),S=Ya(y);return new d.W(h.lng+t*((x-w)/(S-w)),c)}return new d.W(h.lng+t*a,c)}class Bu{constructor(t){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._boundingVolumeFactory=t}swapBuffers(){if(!this._hadAnyChanges)return;const t=this._cachePrevious;this._cachePrevious=this._cache,this._cache=t,this._cache.clear(),this._hadAnyChanges=!1}getTileBoundingVolume(t,n,a,c){const f=`${t.z}_${t.x}_${t.y}_${c?.terrain?"t":""}`,y=this._cache.get(f);if(y)return y;const x=this._cachePrevious.get(f);if(x)return this._cache.set(f,x),x;const w=this._boundingVolumeFactory(t,n,a,c);return this._cache.set(f,w),this._hadAnyChanges=!0,w}}class Wn{constructor(t,n,a,c){this.min=a,this.max=c,this.points=t,this.planes=n}static fromAabb(t,n){const a=[];for(let c=0;c<8;c++)a.push([1&~c?t[0]:n[0],(c>>1&1)==1?n[1]:t[1],(c>>2&1)==1?n[2]:t[2]]);return new Wn(a,[[-1,0,0,n[0]],[1,0,0,-t[0]],[0,-1,0,n[1]],[0,1,0,-t[1]],[0,0,-1,n[2]],[0,0,1,-t[2]]],t,n)}static fromCenterSizeAngles(t,n,a){const c=d.bA([],a[0],a[1],a[2]),f=d.bB([],[n[0],0,0],c),y=d.bB([],[0,n[1],0],c),x=d.bB([],[0,0,n[2]],c),w=[...t],S=[...t];for(let E=0;E<8;E++)for(let C=0;C<3;C++){const z=t[C]+f[C]*(1&~E?-1:1)+y[C]*((E>>1&1)==1?1:-1)+x[C]*((E>>2&1)==1?1:-1);w[C]=Math.min(w[C],z),S[C]=Math.max(S[C],z)}const P=[];for(let E=0;E<8;E++){const C=[...t];d.a_(C,C,d.aZ([],f,1&~E?-1:1)),d.a_(C,C,d.aZ([],y,(E>>1&1)==1?1:-1)),d.a_(C,C,d.aZ([],x,(E>>2&1)==1?1:-1)),P.push(C)}return new Wn(P,[[...f,-d.b3(f,P[0])],[...y,-d.b3(y,P[0])],[...x,-d.b3(x,P[0])],[-f[0],-f[1],-f[2],-d.b3(f,P[7])],[-y[0],-y[1],-y[2],-d.b3(y,P[7])],[-x[0],-x[1],-x[2],-d.b3(x,P[7])]],w,S)}intersectsFrustum(t){let n=!0;const a=this.points.length,c=this.planes.length,f=t.planes.length,y=t.points.length;for(let x=0;x<f;x++){const w=t.planes[x];let S=0;for(let P=0;P<a;P++){const E=this.points[P];w[0]*E[0]+w[1]*E[1]+w[2]*E[2]+w[3]>=0&&S++}if(S===0)return 0;S<a&&(n=!1)}if(n)return 2;for(let x=0;x<c;x++){const w=this.planes[x];let S=0;for(let P=0;P<y;P++){const E=t.points[P];w[0]*E[0]+w[1]*E[1]+w[2]*E[2]+w[3]>=0&&S++}if(S===0)return 0}return 1}intersectsPlane(t){const n=this.points.length;let a=0;for(let c=0;c<n;c++){const f=this.points[c];t[0]*f[0]+t[1]*f[1]+t[2]*f[2]+t[3]>=0&&a++}return a===n?2:a===0?0:1}}function So(h,t,n){const a=h-t;return a<0?-a:Math.max(0,a-n)}function Ka(h,t,n,a,c){const f=h-n;let y;return y=f<0?Math.min(-f,1+f-c):f>c?Math.min(Math.max(f-c,0),1-f):0,Math.max(y,So(t,a,c))}class Po{constructor(){this._boundingVolumeCache=new Bu(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(t,n,a,c){const f=1<<a.z,y=1/f,x=a.x/f,w=a.y/f;let S=2;return S=Math.min(S,Ka(t,n,x,w,y)),S=Math.min(S,Ka(t,n,x+.5,-w-y,y)),S=Math.min(S,Ka(t,n,x+.5,2-w-y,y)),S}getWrap(t,n,a){const c=1<<n.z,f=1/c,y=n.x/c,x=So(t.x,y,f),w=So(t.x,y-1,f),S=So(t.x,y+1,f),P=Math.min(x,w,S);return P===S?1:P===w?-1:0}allowVariableZoom(t,n){return gi(t,n)>4}allowWorldCopies(){return!1}getTileBoundingVolume(t,n,a,c){return this._boundingVolumeCache.getTileBoundingVolume(t,n,a,c)}_computeTileBoundingVolume(t,n,a,c){var f,y;let x=0,w=0;if(c?.terrain){const S=new d.a3(t.z,n,t.z,t.x,t.y),P=c.terrain.getMinMaxElevation(S);x=(f=P.minElevation)!==null&&f!==void 0?f:Math.min(0,a),w=(y=P.maxElevation)!==null&&y!==void 0?y:Math.max(0,a)}if(x/=d.bD,w/=d.bD,x+=1,w+=1,t.z<=0)return Wn.fromAabb([-w,-w,-w],[w,w,w]);if(t.z===1)return Wn.fromAabb([t.x===0?-w:0,t.y===0?0:-w,-w],[t.x===0?0:w,t.y===0?w:0,w]);{const S=[It(0,0,t.x,t.y,t.z),It(d.a6,0,t.x,t.y,t.z),It(d.a6,d.a6,t.x,t.y,t.z),It(0,d.a6,t.x,t.y,t.z)],P=[];for(const de of S)P.push(d.aZ([],de,w));if(w!==x)for(const de of S)P.push(d.aZ([],de,x));t.y===0&&P.push([0,1,0]),t.y===(1<<t.z)-1&&P.push([0,-1,0]);const E=[1,1,1],C=[-1,-1,-1];for(const de of P)for(let he=0;he<3;he++)E[he]=Math.min(E[he],de[he]),C[he]=Math.max(C[he],de[he]);const z=It(d.a6/2,d.a6/2,t.x,t.y,t.z),B=d.b2([],[0,1,0],z);d.b1(B,B);const V=d.b2([],z,B);d.b1(V,V);const G=d.b2([],S[2],S[1]);d.b1(G,G);const N=d.b2([],S[0],S[3]);d.b1(N,N),P.push(d.aZ([],z,w)),t.y>=(1<<t.z)/2&&P.push(d.aZ([],It(d.a6/2,0,t.x,t.y,t.z),w)),t.y<(1<<t.z)/2&&P.push(d.aZ([],It(d.a6/2,d.a6,t.x,t.y,t.z),w));const $=Io(z,P),X=Io(V,P),Z=[-z[0],-z[1],-z[2],$.max],U=[z[0],z[1],z[2],-$.min],H=[-V[0],-V[1],-V[2],X.max],q=[V[0],V[1],V[2],-X.min],Q=[...G,0],se=[...N,0],oe=[];return t.y===0?oe.push(d.bC(se,Q,Z),d.bC(se,Q,U)):oe.push(d.bC(H,Q,Z),d.bC(H,Q,U),d.bC(H,se,Z),d.bC(H,se,U)),t.y===(1<<t.z)-1?oe.push(d.bC(se,Q,Z),d.bC(se,Q,U)):oe.push(d.bC(q,Q,Z),d.bC(q,Q,U),d.bC(q,se,Z),d.bC(q,se,U)),new Wn(oe,[Z,U,H,q,Q,se],E,C)}}}function Io(h,t){let n=1/0,a=-1/0;for(const c of t){const f=d.b3(h,c);n=Math.min(n,f),a=Math.max(a,f)}return{min:n,max:a}}class dn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(t){this._helper.setMinZoom(t)}setMaxZoom(t){this._helper.setMaxZoom(t)}setMinPitch(t){this._helper.setMinPitch(t)}setMaxPitch(t){this._helper.setMaxPitch(t)}setRenderWorldCopies(t){this._helper.setRenderWorldCopies(t)}setBearing(t){this._helper.setBearing(t)}setPitch(t){this._helper.setPitch(t)}setRoll(t){this._helper.setRoll(t)}setFov(t){this._helper.setFov(t)}setZoom(t){this._helper.setZoom(t)}setCenter(t){this._helper.setCenter(t)}setElevation(t){this._helper.setElevation(t)}setMinElevationForCurrentTile(t){this._helper.setMinElevationForCurrentTile(t)}setPadding(t){this._helper.setPadding(t)}interpolatePadding(t,n,a){this._helper.interpolatePadding(t,n,a)}isPaddingEqual(t){return this._helper.isPaddingEqual(t)}resize(t,n){this._helper.resize(t,n)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(t){this._helper.setMaxBounds(t)}setConstrainOverride(t){this._helper.setConstrainOverride(t)}overrideNearFarZ(t,n){this._helper.overrideNearFarZ(t,n)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(t){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),t)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}setTransitionState(t){}constructor(t){this._cachedClippingPlane=d.bE(),this._projectionMatrix=d.bi(),this._globeViewProjMatrix32f=d.bh(),this._globeViewProjMatrixNoCorrection=d.bi(),this._globeViewProjMatrixNoCorrectionInverted=d.bi(),this._globeProjMatrixInverted=d.bi(),this._cameraPosition=d.bz(),this._globeLatitudeErrorCorrectionRadians=0,this.defaultConstrain=(n,a)=>{const c=d.al(n.lat,-d.am,d.am),f=d.al(+a,this.minZoom+kt(0,c),this.maxZoom);return{center:new d.W(n.lng,c),zoom:f}},this.applyConstrain=(n,a)=>this._helper.applyConstrain(n,a),this._helper=new an({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(n,a)=>this.defaultConstrain(n,a)},t),this._coveringTilesDetailsProvider=new Po}clone(){const t=new dn;return t.apply(this,!1),t}apply(t,n,a){this._globeLatitudeErrorCorrectionRadians=a||0,this._helper.apply(t,n)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){const t=d.bz();return t[0]=this._cameraPosition[0],t[1]=this._cameraPosition[1],t[2]=this._cameraPosition[2],t}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(t){const{overscaledTileID:n,applyGlobeMatrix:a}=t,c=this._helper.getMercatorTileCoordinates(n);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:c,clippingPlane:this._cachedClippingPlane,projectionTransition:a?1:0,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(t){const n=this.pitchInRadians,a=this.cameraToCenterDistance/t,c=Math.sin(n)*a,f=Math.cos(n)*a+1,y=1/Math.sqrt(c*c+f*f)*1;let x=-c,w=f;const S=Math.sqrt(x*x+w*w);x/=S,w/=S;const P=[0,x,w];d.bF(P,P,[0,0,0],-this.bearingInRadians),d.bG(P,P,[0,0,0],-1*this.center.lat*Math.PI/180),d.bH(P,P,[0,0,0],this.center.lng*Math.PI/180);const E=1/d.b5(P);return d.aZ(P,P,E),[...P,-y*E]}isLocationOccluded(t){return!this.isSurfacePointVisible(Lt(t))}transformLightDirection(t){const n=this._helper._center.lng*Math.PI/180,a=this._helper._center.lat*Math.PI/180,c=Math.cos(a),f=[Math.sin(n)*c,Math.sin(a),Math.cos(n)*c],y=[f[2],0,-f[0]],x=[0,0,0];d.b2(x,y,f),d.b1(y,y),d.b1(x,x);const w=[0,0,0];return d.b1(w,[y[0]*t[0]+x[0]*t[1]+f[0]*t[2],y[1]*t[0]+x[1]*t[1]+f[1]*t[2],y[2]*t[0]+x[2]*t[1]+f[2]*t[2]]),w}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(t,n,a){const c=function(x,w,S){const P=1/(1<<S.z);return new d.a7(x/d.a6*P+S.x*P,w/d.a6*P+S.y*P)}(t,n,a.canonical),f=(y=c.y,[d.by(c.x*Math.PI*2+Math.PI,2*Math.PI),2*Math.atan(Math.exp(Math.PI-y*Math.PI*2))-.5*Math.PI]);var y;return this.getCircleRadiusCorrection()/Math.cos(f[1])}projectTileCoordinates(t,n,a,c){const f=a.canonical,y=It(t,n,f.x,f.y,f.z),x=1+(c?c(t,n):0)/d.bD,w=[y[0]*x,y[1]*x,y[2]*x,1];d.aE(w,w,this._globeViewProjMatrixNoCorrection);const S=this._cachedClippingPlane,P=S[0]*y[0]+S[1]*y[1]+S[2]*y[2]+S[3]<0;return{point:new d.P(w[0]/w[3],w[1]/w[3]),signedDistanceFromCamera:w[3],isOccluded:P}}_calcMatrices(){if(!this._helper._width||!this._helper._height)return;const t=Mi(this.worldSize,this.center.lat),n=d.bj(),a=d.bj();this._helper.autoCalculateNearFarZ&&(this._helper._nearZ=.5,this._helper._farZ=this.cameraToCenterDistance+2*t),d.bc(n,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);const c=this.centerOffset;n[8]=2*-c.x/this._helper._width,n[9]=2*c.y/this._helper._height,this._projectionMatrix=d.bd(n),this._globeProjMatrixInverted=d.bj(),d.bg(this._globeProjMatrixInverted,n),d.Q(n,n,[0,0,-this.cameraToCenterDistance]),d.be(n,n,this.rollInRadians),d.bf(n,n,-this.pitchInRadians),d.be(n,n,this.bearingInRadians),d.Q(n,n,[0,0,-t]);const f=d.bz();f[0]=t,f[1]=t,f[2]=t,d.bf(a,n,this.center.lat*Math.PI/180),d.bI(a,a,-this.center.lng*Math.PI/180),d.S(a,a,f),this._globeViewProjMatrixNoCorrection=a,d.bf(n,n,this.center.lat*Math.PI/180-this._globeLatitudeErrorCorrectionRadians),d.bI(n,n,-this.center.lng*Math.PI/180),d.S(n,n,f),this._globeViewProjMatrix32f=new Float32Array(n),this._globeViewProjMatrixNoCorrectionInverted=d.bj(),d.bg(this._globeViewProjMatrixNoCorrectionInverted,a);const y=d.bz();this._cameraPosition=d.bz(),this._cameraPosition[2]=this.cameraToCenterDistance/t,d.bF(this._cameraPosition,this._cameraPosition,y,-this.rollInRadians),d.bG(this._cameraPosition,this._cameraPosition,y,this.pitchInRadians),d.bF(this._cameraPosition,this._cameraPosition,y,-this.bearingInRadians),d.a_(this._cameraPosition,this._cameraPosition,[0,0,1]),d.bG(this._cameraPosition,this._cameraPosition,y,-this.center.lat*Math.PI/180),d.bH(this._cameraPosition,this._cameraPosition,y,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(t);const x=d.bd(this._globeViewProjMatrixNoCorrectionInverted);d.S(x,x,[1,1,-1]),this._cachedFrustum=yi.fromInvProjectionMatrix(x,1,0,this._cachedClippingPlane,!0)}calculateFogMatrix(t){d.w("calculateFogMatrix is not supported on globe projection.");const n=d.bj();return d.ap(n),n}getVisibleUnwrappedCoordinates(t){return[new d.ba(0,t)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(t){t&&d.w("terrain is not fully supported on vertical perspective projection."),this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(t,n){if(!this._globeViewProjMatrixNoCorrection)return 1;const a=Lt(t);d.aZ(a,a,1+n/d.bD);const c=d.bE();return d.aE(c,[a[0],a[1],a[2],1],this._globeViewProjMatrixNoCorrection),c[2]/c[3]}populateCache(t){}getBounds(){const t=.5*this.width,n=.5*this.height,a=[new d.P(0,0),new d.P(t,0),new d.P(this.width,0),new d.P(this.width,n),new d.P(this.width,this.height),new d.P(t,this.height),new d.P(0,this.height),new d.P(0,n)],c=[];for(const E of a)c.push(this.unprojectScreenPoint(E));let f=0,y=0,x=0,w=0;const S=this.center;for(const E of c){const C=d.bJ(S.lng,E.lng),z=d.bJ(S.lat,E.lat);C<y&&(y=C),C>f&&(f=C),z<w&&(w=z),z>x&&(x=z)}const P=[S.lng+y,S.lat+w,S.lng+f,S.lat+x];return this.isSurfacePointOnScreen([0,1,0])&&(P[3]=90,P[0]=-180,P[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(P[1]=-90,P[0]=-180,P[2]=180),new ke(P)}calculateCenterFromCameraLngLatAlt(t,n,a,c){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,a,c)}setLocationAtPoint(t,n){const a=Lt(this.unprojectScreenPoint(n)),c=Lt(t),f=d.bz();d.bK(f);const y=d.bz();d.bH(y,a,f,-this.center.lng*Math.PI/180),d.bG(y,y,f,this.center.lat*Math.PI/180);const x=c[0]*c[0]+c[2]*c[2],w=y[0]*y[0];if(x<w)return;const S=Math.sqrt(x-w),P=-S,E=d.bL(c[0],c[2],y[0],S),C=d.bL(c[0],c[2],y[0],P),z=d.bz();d.bH(z,c,f,-E);const B=d.bL(z[1],z[2],y[1],y[2]),V=d.bz();d.bH(V,c,f,-C);const G=d.bL(V[1],V[2],y[1],y[2]),N=.5*Math.PI,$=B>=-N&&B<=N,X=G>=-N&&G<=N;let Z,U;if($&&X){const se=this.center.lng*Math.PI/180,oe=this.center.lat*Math.PI/180;d.bM(E,se)+d.bM(B,oe)<d.bM(C,se)+d.bM(G,oe)?(Z=E,U=B):(Z=C,U=G)}else if($)Z=E,U=B;else{if(!X)return;Z=C,U=G}const H=Z/Math.PI*180,q=U/Math.PI*180,Q=this.center.lat;this.setCenter(new d.W(H,d.al(q,-90,90))),this.setZoom(this.zoom+kt(Q,this.center.lat))}locationToScreenPoint(t,n){const a=Lt(t);if(n){const c=n.getElevationForLngLatZoom(t,this._helper._tileZoom);d.aZ(a,a,1+c/d.bD)}return this._projectSurfacePointToScreen(a)}_projectSurfacePointToScreen(t){const n=d.bE();return d.aE(n,[...t,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],new d.P((.5*n[0]+.5)*this.width,(.5*-n[1]+.5)*this.height)}screenPointToMercatorCoordinate(t,n){if(n){const a=n.pointCoordinate(t);if(a)return a}return d.a7.fromLngLat(this.unprojectScreenPoint(t))}screenPointToLocation(t,n){var a;return(a=this.screenPointToMercatorCoordinate(t,n))===null||a===void 0?void 0:a.toLngLat()}isPointOnMapSurface(t,n){const a=this._cameraPosition,c=this.getRayDirectionFromPixel(t);return!!this.rayPlanetIntersection(a,c)}getRayDirectionFromPixel(t){const n=d.bE();n[0]=t.x/this.width*2-1,n[1]=-1*(t.y/this.height*2-1),n[2]=1,n[3]=1,d.aE(n,n,this._globeViewProjMatrixNoCorrectionInverted),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3];const a=d.bz();a[0]=n[0]-this._cameraPosition[0],a[1]=n[1]-this._cameraPosition[1],a[2]=n[2]-this._cameraPosition[2];const c=d.bz();return d.b1(c,a),c}isSurfacePointVisible(t){const n=this._cachedClippingPlane;return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]>=0}isSurfacePointOnScreen(t){if(!this.isSurfacePointVisible(t))return!1;const n=d.bE();return d.aE(n,[...t,1],this._globeViewProjMatrixNoCorrection),n[0]/=n[3],n[1]/=n[3],n[2]/=n[3],n[0]>-1&&n[0]<1&&n[1]>-1&&n[1]<1&&n[2]>-1&&n[2]<1}rayPlanetIntersection(t,n){const a=d.b3(t,n),c=d.bz(),f=d.bz();d.aZ(f,n,a),d.b0(c,t,f);const y=1-d.b3(c,c);if(y<0)return null;const x=d.b3(t,t)-1,w=-a+(a<0?1:-1)*Math.sqrt(y),S=x/w,P=w;return{tMin:Math.min(S,P),tMax:Math.max(S,P)}}unprojectScreenPoint(t){const n=this._cameraPosition,a=this.getRayDirectionFromPixel(t),c=this.rayPlanetIntersection(n,a);if(c){const P=d.bz();d.a_(P,n,[a[0]*c.tMin,a[1]*c.tMin,a[2]*c.tMin]);const E=d.bz();return d.b1(E,P),Cs(E)}const f=this._cachedClippingPlane,y=f[0]*a[0]+f[1]*a[1]+f[2]*a[2],x=-d.b9(f,n)/y,w=d.bz();if(x>0)d.a_(w,n,[a[0]*x,a[1]*x,a[2]*x]);else{const P=d.bz();d.a_(P,n,[2*a[0],2*a[1],2*a[2]]);const E=d.b9(this._cachedClippingPlane,P);d.b0(w,P,[this._cachedClippingPlane[0]*E,this._cachedClippingPlane[1]*E,this._cachedClippingPlane[2]*E]
vendor: 6,280 bytes, line 799
799)}const S=function(P){const E=d.bz();return E[0]=P[0]*-P[3],E[1]=P[1]*-P[3],E[2]=P[2]*-P[3],{center:E,radius:Math.sqrt(1-P[3]*P[3])}}(f);return Cs(function(P,E,C){const z=d.bz();d.b0(z,C,P);const B=d.bz();return d.bx(B,P,z,E/d.b7(z)),B}(S.center,S.radius,w))}getMatrixForModel(t,n){const a=d.W.convert(t),c=1/d.bD,f=d.bi();return d.bI(f,f,a.lng/180*Math.PI),d.bf(f,f,-a.lat/180*Math.PI),d.Q(f,f,[0,0,1+n/d.bD]),d.bf(f,f,.5*Math.PI),d.S(f,f,[c,c,c]),f}getProjectionDataForCustomLayer(t=!0){const n=this.getProjectionData({overscaledTileID:new d.a3(0,0,0,0,0),applyGlobeMatrix:t});return n.tileMercatorCoords=[0,0,1,1],n}getFastPathSimpleProjectionMatrix(t){}}class Hn{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(t){this._helper.setMinZoom(t)}setMaxZoom(t){this._helper.setMaxZoom(t)}setMinPitch(t){this._helper.setMinPitch(t)}setMaxPitch(t){this._helper.setMaxPitch(t)}setRenderWorldCopies(t){this._helper.setRenderWorldCopies(t)}setBearing(t){this._helper.setBearing(t)}setPitch(t){this._helper.setPitch(t)}setRoll(t){this._helper.setRoll(t)}setFov(t){this._helper.setFov(t)}setZoom(t){this._helper.setZoom(t)}setCenter(t){this._helper.setCenter(t)}setElevation(t){this._helper.setElevation(t)}setMinElevationForCurrentTile(t){this._helper.setMinElevationForCurrentTile(t)}setPadding(t){this._helper.setPadding(t)}interpolatePadding(t,n,a){this._helper.interpolatePadding(t,n,a)}isPaddingEqual(t){return this._helper.isPaddingEqual(t)}resize(t,n,a=!0){this._helper.resize(t,n,a)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(t){this._helper.setMaxBounds(t)}setConstrainOverride(t){this._helper.setConstrainOverride(t)}overrideNearFarZ(t,n){this._helper.overrideNearFarZ(t,n)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(t){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),t)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(t,n){this._globeness=t,this._globeLatitudeErrorCorrectionRadians=n,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(t){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this.defaultConstrain=(n,a)=>this.currentTransform.defaultConstrain(n,a),this.applyConstrain=(n,a)=>this._helper.applyConstrain(n,a),this._helper=new an({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(n,a)=>this.defaultConstrain(n,a)},t),this._globeness=1,this._mercatorTransform=new ln,this._verticalPerspectiveTransform=new dn}clone(){const t=new Hn;return t._globeness=this._globeness,t._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,t.apply(this,!1),t}apply(t,n){this._helper.apply(t,n),this._mercatorTransform.apply(this,!1),this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(t){const n=this._mercatorTransform.getProjectionData(t),a=this._verticalPerspectiveTransform.getProjectionData(t);return{mainMatrix:this.isGlobeRendering?a.mainMatrix:n.mainMatrix,clippingPlane:a.clippingPlane,tileMercatorCoords:a.tileMercatorCoords,projectionTransition:t.applyGlobeMatrix?this._globeness:0,fallbackMatrix:n.fallbackMatrix}}isLocationOccluded(t){return this.currentTransform.isLocationOccluded(t)}transformLightDirection(t){return this.currentTransform.transformLightDirection(t)}getPixelScale(){return d.bt(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return d.bt(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(t,n,a){const c=this._mercatorTransform.getPitchedTextCorrection(t,n,a),f=this._verticalPerspectiveTransform.getPitchedTextCorrection(t,n,a);return d.bt(c,f,this._globeness)}
vendor: 8,616 bytes, line 799
799projectTileCoordinates(t,n,a,c){return this.currentTransform.projectTileCoordinates(t,n,a,c)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(t){return this.currentTransform.calculateFogMatrix(t)}getVisibleUnwrappedCoordinates(t){return this.currentTransform.getVisibleUnwrappedCoordinates(t)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(t){this._mercatorTransform.recalculateZoomAndCenter(t),this._verticalPerspectiveTransform.recalculateZoomAndCenter(t)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(t,n){return this.currentTransform.lngLatToCameraDepth(t,n)}populateCache(t){this._mercatorTransform.populateCache(t),this._verticalPerspectiveTransform.populateCache(t)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(t,n,a,c){return this._helper.calculateCenterFromCameraLngLatAlt(t,n,a,c)}setLocationAtPoint(t,n){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(t,n),void this.apply(this._mercatorTransform,!1);this._verticalPerspectiveTransform.setLocationAtPoint(t,n),this.apply(this._verticalPerspectiveTransform,!1)}locationToScreenPoint(t,n){return this.currentTransform.locationToScreenPoint(t,n)}screenPointToMercatorCoordinate(t,n){return this.currentTransform.screenPointToMercatorCoordinate(t,n)}screenPointToLocation(t,n){return this.currentTransform.screenPointToLocation(t,n)}isPointOnMapSurface(t,n){return this.currentTransform.isPointOnMapSurface(t,n)}getRayDirectionFromPixel(t){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(t)}getMatrixForModel(t,n){return this.currentTransform.getMatrixForModel(t,n)}getProjectionDataForCustomLayer(t=!0){const n=this._mercatorTransform.getProjectionDataForCustomLayer(t);if(!this.isGlobeRendering)return n;const a=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(t);return a.fallbackMatrix=n.mainMatrix,a}getFastPathSimpleProjectionMatrix(t){return this.currentTransform.getFastPathSimpleProjectionMatrix(t)}}class Ei{get useGlobeControls(){return!0}handlePanInertia(t,n){const a=hn(t,n);return Math.abs(a.lng-n.center.lng)>180&&(a.lng=n.center.lng+179.5*Math.sign(a.lng-n.center.lng)),{easingCenter:a,easingOffset:new d.P(0,0)}}handleMapControlsRollPitchBearingZoom(t,n){const a=t.around,c=n.screenPointToLocation(a);t.bearingDelta&&n.setBearing(n.bearing+t.bearingDelta),t.pitchDelta&&n.setPitch(n.pitch+t.pitchDelta),t.rollDelta&&n.setRoll(n.roll+t.rollDelta);const f=n.zoom;t.zoomDelta&&n.setZoom(n.zoom+t.zoomDelta);const y=n.zoom-f;if(y===0)return;const x=d.bJ(n.center.lng,c.lng),w=x/(Math.abs(x/180)+1),S=d.bJ(n.center.lat,c.lat),P=n.getRayDirectionFromPixel(a),E=n.cameraPosition,C=-1*d.b3(E,P),z=d.bz();d.a_(z,E,[P[0]*C,P[1]*C,P[2]*C]);const B=d.b5(z)-1,V=Math.exp(.5*-Math.max(B-.3,0)),G=Mi(n.worldSize,n.center.lat)/Math.min(n.width,n.height),N=d.bw(G,.9,.5,1,.25),$=(1-d.ao(-y))*Math.min(V,N),X=n.center.lat,Z=n.zoom,U=new d.W(n.center.lng+w*$,d.al(n.center.lat+S*$,-d.am,d.am));n.setLocationAtPoint(c,a);const H=n.center,q=d.bw(Math.abs(x),45,85,0,1),Q=d.bw(G,.75,.35,0,1),se=Math.pow(Math.max(q,Q),.25),oe=d.bJ(H.lng,U.lng),de=d.bJ(H.lat,U.lat);n.setCenter(new d.W(H.lng+oe*se,H.lat+de*se).wrap()),n.setZoom(Z+kt(X,n.center.lat))}handleMapControlsPan(t,n,a){if(!t.panDelta)return;const c=n.center.lat,f=n.zoom;n.setCenter(hn(t.panDelta,n).wrap()),n.setZoom(f+kt(c,n.center.lat))}cameraForBoxAndBearing(t,n,a,c,f){const y=Ha(t,n,a,c,f),x=n.left/f.width*2-1,w=(f.width-n.right)/f.width*2-1,S=n.top/f.height*-2+1,P=(f.height-n.bottom)/f.height*-2+1,E=d.bJ(a.getWest(),a.getEast())<0,C=E?a.getEast():a.getWest(),z=E?a.getWest():a.getEast(),B=Math.max(a.getNorth(),a.getSouth()),V=Math.min(a.getNorth(),a.getSouth()),G=C+.5*d.bJ(C,z),N=B+.5*d.bJ(B,V),$=f.clone();$.setCenter(y.center),$.setBearing(y.bearing),$.setPitch(0),$.setRoll(0),$.setZoom(y.zoom);const X=$.modelViewProjectionMatrix,Z=[Lt(a.getNorthWest()),Lt(a.getNorthEast()),Lt(a.getSouthWest()),Lt(a.getSouthEast()),Lt(new d.W(z,N)),Lt(new d.W(C,N)),Lt(new d.W(G,B)),Lt(new d.W(G,V))],U=Lt(y.center);let H=Number.POSITIVE_INFINITY;for(const q of Z)x<0&&(H=Ei.getLesserNonNegativeNonNull(H,Ei.solveVectorScale(q,U,X,"x",x))),w>0&&(H=Ei.getLesserNonNegativeNonNull(H,Ei.solveVectorScale(q,U,X,"x",w))),S>0&&(H=Ei.getLesserNonNegativeNonNull(H,Ei.solveVectorScale(q,U,X,"y",S))),P<0&&(H=Ei.getLesserNonNegativeNonNull(H,Ei.solveVectorScale(q,U,X,"y",P)));if(Number.isFinite(H)&&H!==0)return y.zoom=Math.min($.zoom+d.ar(H),t.maxZoom),y;ur()}handleJumpToCenterZoom(t,n){const a=t.center.lat,c=t.applyConstrain(n.center?d.W.convert(n.center):t.center,t.zoom).center;t.setCenter(c.wrap());const f=n.zoom!==void 0?+n.zoom:t.zoom+kt(a,c.lat);t.zoom!==f&&t.setZoom(f)}handleEaseTo(t,n){const a=t.zoom,c=t.center,f=t.padding,y={roll:t.roll,pitch:t.pitch,bearing:t.bearing},x={roll:n.roll===void 0?t.roll:n.roll,pitch:n.pitch===void 0?t.pitch:n.pitch,bearing:n.bearing===void 0?t.bearing:n.bearing},w=n.zoom!==void 0,S=!t.isPaddingEqual(n.padding);let P=!1;const E=n.center?d.W.convert(n.center):c,C=t.applyConstrain(E,a).center;kr(t,C);const z=t.clone();z.setCenter(C),z.setZoom(w?+n.zoom:a+kt(c.lat,E.lat)),z.setBearing(n.bearing);const B=new d.P(d.al(t.centerPoint.x+n.offsetAsPoint.x,0,t.width),d.al(t.centerPoint.y+n.offsetAsPoint.y,0,t.height));z.setLocationAtPoint(C,B);const V=(n.offset&&n.offsetAsPoint.mag())>0?z.center:C,G=w?+n.zoom:a+kt(c.lat,V.lat),N=a+kt(c.lat,0),$=G+kt(V.lat,0),X=d.bJ(c.lng,V.lng),Z=d.bJ(c.lat,V.lat),U=d.ao($-N);return P=G!==a,{easeFunc:H=>{if(d.bn(y,x)||fc({startEulerAngles:y,endEulerAngles:x,tr:t,k:H,useSlerp:y.roll!=x.roll}),S&&t.interpolatePadding(f,n.padding,H),n.around)d.w("Easing around a point is not supported under globe projection."),t.setLocationAtPoint(n.around,n.aroundPoint);else{const q=$>N?Math.min(2,U):Math.max(.5,U),Q=Math.pow(q,1-H),se=yc(c,X,Z,H*Q);t.setCenter(se.wrap())}if(P){const q=d.H.number(N,$,H)+kt(0,t.center.lat);t.setZoom(q)}},isZooming:P,elevationCenter:V}}handleFlyTo(t,n){const a=n.zoom!==void 0,c=t.center,f=t.zoom,y=t.padding,x=!t.isPaddingEqual(n.padding),w=t.applyConstrain(d.W.convert(n.center||n.locationAtOffset),f).center,S=a?+n.zoom:t.zoom+kt(t.center.lat,w.lat),P=t.clone();P.setCenter(w),P.setZoom(S),P.setBearing(n.bearing);const E=new d.P(d.al(t.centerPoint.x+n.offsetAsPoint.x,0,t.width),d.al(t.centerPoint.y+n.offsetAsPoint.y,0,t.height));P.setLocationAtPoint(w,E);const C=P.center;kr(t,C);const z=function(Z,U,H){const q=Lt(U),Q=Lt(H),se=d.b3(q,Q),oe=Math.acos(se),de=_c(Z);return oe/(2*Math.PI)*de}(t,c,C),B=f+kt(c.lat,0),V=S+kt(C.lat,0),G=d.ao(V-B);let N;if(typeof n.minZoom=="number"){const Z=+n.minZoom+kt(C.lat,0),U=Math.min(Z,B,V)+kt(0,C.lat),H=t.applyConstrain(C,U).zoom+kt(C.lat,0);N=d.ao(H-B)}const $=d.bJ(c.lng,C.lng),X=d.bJ(c.lat,C.lat);return{easeFunc:(Z,U,H,q)=>{const Q=yc(c,$,X,H);x&&t.interpolatePadding(y,n.padding,Z);const se=Z===1?C:Q;t.setCenter(se.wrap());const oe=B+d.ar(U);t.setZoom(Z===1?S:oe+kt(0,se.lat))},scaleOfZoom:G,targetCenter:C,scaleOfMinZoom:N,pixelPathLength:z}}static solveVectorScale(t,n,a,c,f){const y=c==="x"?[a[0],a[4],a[8],a[12]]:[a[1],a[5],a[9],a[13]],x=[a[3],a[7],a[11],a[15]],w=t[0]*y[0]+t[1]*y[1]+t[2]*y[2],S=t[0]*x[0]+t[1]*x[1]+t[2]*x[2],P=n[0]*y[0]+n[1]*y[1]+n[2]*y[2],E=n[0]*x[0]+n[1]*x[1]+n[2]*x[2];return P+f*S===w+f*E||x[3]*(w-P)+y[3]*(E-S)+w*E==P*S?null:(P+y[3]-f*E-f*x[3])/(P-w-f*E+f*S)}static getLesserNonNegativeNonNull(t,n){return n!==null&&n>=0&&n<t?n:t}}class Xi{constructor(t){this._globe=t,this._mercatorCameraHelper=new cn,this._verticalPerspectiveCameraHelper=new Ei}get useGlobeControls(){return this._globe.useGlobeRendering}get currentHelper(){return this.useGlobeControls?this._verticalPerspectiveCameraHelper:this._mercatorCameraHelper}handlePanInertia(t,n){return this.currentHelper.handlePanInertia(t,n)}
799handleMapControlsRollPitchBearingZoom(t,n){this.currentHelper.handleMapControlsRollPitchBearingZoom(t,n)}handleMapControlsPan(t,n,a){this.currentHelper.handleMapControlsPan(t,n,a)}cameraForBoxAndBearing(t,n,a,c,f){return this.currentHelper.cameraForBoxAndBearing(t,n,a,c,f)}handleJumpToCenterZoom(t,n){this.currentHelper.handleJumpToCenterZoom(t,n)}handleEaseTo(t,n){return this.currentHelper.handleEaseTo(t,n)}handleFlyTo(t,n){return this.currentHelper.handleFlyTo(t,n)}}const Mo=(h,t)=>d.C(h,t?.filter(n=>n.identifier!=="source.canvas")),Ja=d.bN();class pn extends d.E{constructor(t,n={}){var a,c;super(),this._rtlPluginLoaded=()=>{for(const y in this.tileManagers){const x=this.tileManagers[y].getSource().type;x!=="vector"&&x!=="geojson"||this.tileManagers[y].reload()}},this.map=t,this.dispatcher=new _s(Yr(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",(y,x)=>this.getGlyphs(y,x)),this.dispatcher.registerMessageHandler("GI",(y,x)=>this.getImages(y,x)),this.dispatcher.registerMessageHandler("GDA",(y,x)=>this.getDashes(y,x)),this.imageManager=new gs,this.imageManager.setEventedParent(this);const f=((a=t._container)===null||a===void 0?void 0:a.lang)||typeof document<"u"&&((c=document.documentElement)===null||c===void 0?void 0:c.lang)||void 0;this.glyphManager=new Me(t._requestManager,n.localIdeographFontFamily,f),this.lineAtlas=new De(256,512),this.crossTileSymbolIndex=new _i,this._setInitialValues(),this._resetUpdates(),this.dispatcher.broadcast("SR",d.bO()),Cr().on(vs,this._rtlPluginLoaded),this.on("data",y=>{if(y.dataType!=="source"||y.sourceDataType!=="metadata")return;const x=this.tileManagers[y.sourceId];if(!x)return;const w=x.getSource();if(w?.vectorLayerIds)for(const S in this._layers){const P=this._layers[S];P.source===w.id&&this._validateLayer(P)}})}_setInitialValues(){var t;this._spritesImagesIds={},this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new d.bP,this._availableImages=[],this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this.crossTileSymbolIndex=new(((t=this.crossTileSymbolIndex)===null||t===void 0?void 0:t.constructor)||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(t,n){var a,c,f;this._checkLoaded();const y=n===null?(f=(c=(a=this.stylesheet.state)===null||a===void 0?void 0:a[t])===null||c===void 0?void 0:c.default)!==null&&f!==void 0?f:null:n;if(d.bQ(y,this._globalState[t]))return this;this._globalState[t]=y,this._applyGlobalStateChanges([t])}getGlobalState(){return this._globalState}setGlobalState(t){this._checkLoaded();const n=[];for(const a in t)!d.bQ(this._globalState[a],t[a].default)&&(n.push(a),this._globalState[a]=t[a].default);this._applyGlobalStateChanges(n)}_applyGlobalStateChanges(t){if(t.length===0)return;const n=new Set,a={};for(const c of t){a[c]=this._globalState[c];for(const f in this._layers){const y=this._layers[f],x=y.getLayoutAffectingGlobalStateRefs(),w=y.getPaintAffectingGlobalStateRefs(),S=y.getVisibilityAffectingGlobalStateRefs();if(x.has(c)&&n.add(y.source),w.has(c))for(const{name:P,value:E}of w.get(c))this._updatePaintProperty(y,P,E);S?.has(c)&&(y.recalculateVisibility(),this._updateLayer(y))}}this.dispatcher.broadcast("UGS",a);for(const c in this.tileManagers)n.has(c)&&(this._reloadSource(c),this._changed=!0)}loadURL(t){return d._(this,arguments,void 0,function*(n,a={},c){this.fire(new d.n("dataloading",{dataType:"style"})),a.validate=typeof a.validate!="boolean"||a.validate,this._loadStyleRequest=new AbortController;const f=this._loadStyleRequest;try{const y=yield this.map._requestManager.transformRequest(n,"Style");d.bR(f.signal);const x=yield d.k(y,f);this._loadStyleRequest===f&&(this._loadStyleRequest=null),this._load(x.data,a,c)}catch(y){this._loadStyleRequest===f&&(this._loadStyleRequest=null),y&&!f.signal.aborted&&this.fire(new d.l(d.d(y)))}})}loadJSON(t,n={},a){this.fire(new d.n("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,Gt.frameAsync(this._frameRequest,this.map._ownerWindow).then(()=>{this._frameRequest=null,n.validate=n.validate!==!1,this._load(t,n,a)}).catch(()=>{})}loadEmpty(){this.fire(new d.n("dataloading",{dataType:"style"})),this._load(Ja,{validate:!1})}_load(t,n,a){var c,f;let y=n.transformStyle?n.transformStyle(a,t):t;if(!n.validate||!Mo(this,d.F(y))){y=Object.assign({},y),this._loaded=!0,this.stylesheet=y;for(const x in y.sources)this.addSource(x,y.sources[x],{validate:!1});y.sprite?this._loadSprite(y.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(y.glyphs),this._createLayers(),this.light=new Ge(this.stylesheet.light),this._setProjectionInternal(((c=this.stylesheet.projection)===null||c===void 0?void 0:c.type)||"mercator"),this.sky=new Ye(this.stylesheet.sky),this.map.setTerrain((f=this.stylesheet.terrain)!==null&&f!==void 0?f:null),this.fire(new d.n("data",{dataType:"style"})),this.fire(new d.n("style.load"))}}_createLayers(){var t,n,a;
799const c=d.bS(this.stylesheet.layers);this.setGlobalState((t=this.stylesheet.state)!==null&&t!==void 0?t:null),this.dispatcher.broadcast("SL",c),this._order=c.map(f=>f.id),this._layers={},this._serializedLayers=null;for(const f of c){const y=d.bT(f,this._globalState);if(y.setEventedParent(this,{layer:{id:f.id}}),this._layers[f.id]=y,d.bU(y)&&this.tileManagers[y.source]){const x=(a=(n=f.paint)===null||n===void 0?void 0:n["raster-fade-duration"])!==null&&a!==void 0?a:y.paint.get("raster-fade-duration");this.tileManagers[y.source].setRasterFadeDuration(x)}}}_loadSprite(t,n=!1,a=void 0){this.imageManager.setLoaded(!1);const c=new AbortController;let f;this._spriteRequest=c,function(y,x,w,S){return d._(this,void 0,void 0,function*(){const P=Xr(y),E=w>1?"@2x":"",C={},z={};for(const{id:B,url:V}of P){const G=yield x.transformRequest(Dn(V,E,".json"),"SpriteJSON");C[B]=d.k(G,S);const N=yield x.transformRequest(Dn(V,E,".png"),"SpriteImage");z[B]=Ti.getImage(N,S)}return yield Promise.all([...Object.values(C),...Object.values(z)]),function(B,V){return d._(this,void 0,void 0,function*(){const G={};for(const N in B){G[N]={};const $=Gt.getImageCanvasContext((yield V[N]).data),X=(yield B[N]).data;for(const Z in X){const{width:U,height:H,x:q,y:Q,sdf:se,pixelRatio:oe,stretchX:de,stretchY:he,content:Pe,textFitWidth:ve,textFitHeight:ue}=X[Z];G[N][Z]={data:null,pixelRatio:oe,sdf:se,stretchX:de,stretchY:he,content:Pe,textFitWidth:ve,textFitHeight:ue,spriteData:{width:U,height:H,x:q,y:Q,context:$}}}}return G})}(C,z)})}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(y=>{if(this._spriteRequest=null,y)for(const x in y){this._spritesImagesIds[x]=[];const w=this._spritesImagesIds[x]?this._spritesImagesIds[x].filter(S=>!(S in y)):[];for(const S of w)this.imageManager.removeImage(S),this._changedImages[S]=!0;for(const S in y[x]){const P=x==="default"?S:`${x}:${S}`;this._spritesImagesIds[x].push(P),P in this.imageManager.images?this.imageManager.updateImage(P,y[x][S],!1):this.imageManager.addImage(P,y[x][S]),n&&(this._changedImages[P]=!0)}}}).catch(y=>{this._spriteRequest=null,f=y,c.signal.aborted||this.fire(new d.l(f))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),n&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new d.n("data",{dataType:"style"})),a&&a(f)})}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new d.n("data",{dataType:"style"}))}_validateLayer(t){const n=this.tileManagers[t.source];if(!n)return;const a=t.sourceLayer;if(!a)return;const c=n.getSource();(c.type==="geojson"||c.vectorLayerIds&&!c.vectorLayerIds.includes(a))&&this.fire(new d.l(new Error(`Source layer "${a}" does not exist on source "${c.id}" as specified by style layer "${t.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const t in this.tileManagers)if(!this.tileManagers[t].loaded())return!1;return this.imageManager.isLoaded()}_serializeByIds(t,n=!1){const a=this._serializedAllLayers();if(!t||t.length===0)return Object.values(n?d.bV(a):a);const c=[];for(const f of t)if(a[f]){const y=n?d.bV(a[f]):a[f];c.push(y)}return c}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const n=Object.keys(this._layers);for(const a of n){const c=this._layers[a];c.type!=="custom"&&(t[a]=c.serialize())}return t}hasTransitions(){var t,n,a;if(!((t=this.light)===null||t===void 0)&&t.hasTransition()||!((n=this.sky)===null||n===void 0)&&n.hasTransition()||!((a=this.projection)===null||a===void 0)&&a.hasTransition())return!0;for(const c in this.tileManagers)if(this.tileManagers[c].hasTransition())return!0;for(const c in this._layers)if(this._layers[c].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(t){if(!this._loaded)return;const n=this._changed;if(n){const c=Object.keys(this._updatedLayers),f=Object.keys(this._removedLayers);(c.length||f.length)&&this._updateWorkerLayers(c,f);for(const y in this._updatedSources){const x=this._updatedSources[y];if(x==="reload")this._reloadSource(y);else{if(x!=="clear")throw new Error(`Invalid action ${x}`);this._clearSource(y)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const y in this._updatedPaintProps)this._layers[y].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const a={};for(const c in this.tileManagers){const f=this.tileManagers[c];a[c]=f.used,f.used=!1}for(const c of this._order){const f=this._layers[c];f.recalculate(t,this._availableImages),!f.isHidden(t.zoom)&&f.source&&(this.tileManagers[f.source].used=!0)}for(const c in a){const f=this.tileManagers[c];!!a[c]!=!!f.used&&f.fire(new d.n("data",{sourceDataType:"visibility",dataType:"source",sourceId:c}))}this.light.recalculate(t),this.sky.recalculate(t),this.projection.recalculate(t),this.z=t.zoom,n&&this.fire(new d.n("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const n in this.tileManagers)this.tileManagers[n].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.tileManagers)this.tileManagers[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,n){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t,!1),removedIds:n})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,n={}){var a;this._checkLoaded();const c=this.serialize();if(t=n.transformStyle?n.transformStyle(c,t):t,((a=n.validate)===null||a===void 0||a)&&Mo(this,d.F(t)))return!1;(t=d.bV(t)).layers=d.bS(t.layers);const f=d.bW(c,t),y=this._getOperationsToPerform(f);if(y.unimplemented.length>0)throw new Error(`Unimplemented: ${y.unimplemented.join(", ")}.`);
799if(y.operations.length===0)return!1;for(const x of y.operations)x();return this.stylesheet=t,this._serializedLayers=null,this.fire(new d.n("style.load",{style:this})),!0}_getOperationsToPerform(t){const n=[],a=[];for(const c of t)switch(c.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":case"setRoll":continue;case"addLayer":n.push(()=>this.addLayer.apply(this,c.args));break;case"removeLayer":n.push(()=>this.removeLayer.apply(this,c.args));break;case"setPaintProperty":n.push(()=>this.setPaintProperty.apply(this,c.args));break;case"setLayoutProperty":n.push(()=>this.setLayoutProperty.apply(this,c.args));break;case"setFilter":n.push(()=>this.setFilter.apply(this,c.args));break;case"addSource":n.push(()=>this.addSource.apply(this,c.args));break;case"removeSource":n.push(()=>this.removeSource.apply(this,c.args));break;case"setLayerZoomRange":n.push(()=>this.setLayerZoomRange.apply(this,c.args));break;case"setLight":n.push(()=>this.setLight.apply(this,c.args));break;case"setGeoJSONSourceData":n.push(()=>this.setGeoJSONSourceData.apply(this,c.args));break;case"setGlyphs":n.push(()=>this.setGlyphs.apply(this,c.args));break;case"setSprite":n.push(()=>this.setSprite.apply(this,c.args));break;case"setTerrain":n.push(()=>this.map.setTerrain.apply(this,c.args));break;case"setSky":n.push(()=>this.setSky.apply(this,c.args));break;case"setProjection":this.setProjection.apply(this,c.args);break;case"setGlobalState":n.push(()=>this.setGlobalState.apply(this,c.args));break;case"setTransition":n.push(()=>{});break;default:a.push(c.command)}return{operations:n,unimplemented:a}}addImage(t,n){if(this.getImage(t))return this.fire(new d.l(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,n),this._afterImageUpdated(t)}updateImage(t,n){this.imageManager.updateImage(t,n)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new d.l(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new d.n("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,n,a={}){var c;if(this._checkLoaded(),this.tileManagers[t]!==void 0)throw new Error(`Source "${t}" already exists.`);if(!n.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(n).join(", ")}.`);if(["vector","raster","geojson","video","image"].includes(n.type)&&this._validate(d.F.source,`sources.${t}`,n,null,a))return;!((c=this.map)===null||c===void 0)&&c._collectResourceTiming&&(n.collectResourceTiming=!0);const f=this.tileManagers[t]=new qt(t,n,this.dispatcher);f.style=this,f.setEventedParent(this,()=>({isSourceLoaded:f.loaded(),source:f.serialize(),sourceId:t})),f.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),this.tileManagers[t]===void 0)throw new Error(`There is no source with this ID=${t}`);for(const a in this._layers)if(this._layers[a].source===t)return this.fire(new d.l(new Error(`Source "${t}" cannot be removed while layer "${a}" is using it.`)));const n=this.tileManagers[t];delete this.tileManagers[t],delete this._updatedSources[t],n.fire(new d.n("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),n.setEventedParent(null),n.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,n){if(this._checkLoaded(),this.tileManagers[t]===void 0)throw new Error(`There is no source with this ID=${t}`);const a=this.tileManagers[t].getSource();if(a.type!=="geojson")throw new Error(`geojsonSource.type is ${a.type}, which is !== 'geojson`);a.setData(n),this._changed=!0}getSource(t){var n;return(n=this.tileManagers[t])===null||n===void 0?void 0:n.getSource()}addLayer(t,n,a={}){this._checkLoaded();const c=t.id;if(this.getLayer(c))return void this.fire(new d.l(new Error(`Layer "${c}" already exists on this map.`)));let f;if(t.type==="custom"){if(Mo(this,d.bX(t)))return;f=d.bT(t,this._globalState)}else{if("source"in t&&typeof t.source=="object"&&(this.addSource(c,t.source),t=d.bV(t),t=d.e(t,{source:c}
vendor: 6,301 bytes, line 799
799)),this._validate(d.F.layer,`layers.${c}`,t,{arrayIndex:-1},a))return;f=d.bT(t,this._globalState),this._validateLayer(f),f.setEventedParent(this,{layer:{id:c}})}const y=n?this._order.indexOf(n):this._order.length;if(n&&y===-1)this.fire(new d.l(new Error(`Cannot add layer "${c}" before non-existing layer "${n}".`)));else{if(this._order.splice(y,0,c),this._layerOrderChanged=!0,this._layers[c]=f,this._removedLayers[c]&&f.source&&f.type!=="custom"){const x=this._removedLayers[c];delete this._removedLayers[c],x.type!==f.type?this._updatedSources[f.source]="clear":(this._updatedSources[f.source]="reload",this.tileManagers[f.source].pause())}this._updateLayer(f),f.onAdd&&f.onAdd(this.map)}}moveLayer(t,n){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new d.l(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===n)return;const a=this._order.indexOf(t);this._order.splice(a,1);const c=n?this._order.indexOf(n):this._order.length;n&&c===-1?this.fire(new d.l(new Error(`Cannot move layer "${t}" before non-existing layer "${n}".`))):(this._order.splice(c,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const n=this._layers[t];if(!n)return void this.fire(new d.l(new Error(`Cannot remove non-existing layer "${t}".`)));n.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=n,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],n.onRemove&&n.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,n,a){this._checkLoaded();const c=this.getLayer(t);c?c.minzoom===n&&c.maxzoom===a||(n!=null&&(c.minzoom=n),a!=null&&(c.maxzoom=a),this._updateLayer(c)):this.fire(new d.l(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,n,a={}){this._checkLoaded();const c=this.getLayer(t);if(c){if(!d.bQ(c.filter,n))return n==null?(c.setFilter(void 0),void this._updateLayer(c)):void(this._validate(d.F.filter,`layers.${c.id}.filter`,n,null,a)||(c.setFilter(d.bV(n)),this._updateLayer(c)))}else this.fire(new d.l(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return d.bV(this.getLayer(t).filter)}setLayoutProperty(t,n,a,c={}){this._checkLoaded();const f=this.getLayer(t);f?d.bQ(f.getLayoutProperty(n),a)||(f.setLayoutProperty(n,a,c),this._updateLayer(f)):this.fire(new d.l(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,n){const a=this.getLayer(t);if(a)return a.getLayoutProperty(n);this.fire(new d.l(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,n,a,c={}){this._checkLoaded();const f=this.getLayer(t);f?d.bQ(f.getPaintProperty(n),a)||this._updatePaintProperty(f,n,a,c):this.fire(new d.l(new Error(`Cannot style non-existing layer "${t}".`)))}_updatePaintProperty(t,n,a,c={}){t.setPaintProperty(n,a,c)&&this._updateLayer(t),d.bU(t)&&n==="raster-fade-duration"&&this.tileManagers[t.source].setRasterFadeDuration(a),this._changed=!0,this._updatedPaintProps[t.id]=!0,this._serializedLayers=null}getPaintProperty(t,n){return this.getLayer(t).getPaintProperty(n)}setFeatureState(t,n){this._checkLoaded();const a=t.source,c=t.sourceLayer,f=this.tileManagers[a];if(f===void 0)return void this.fire(new d.l(new Error(`The source '${a}' does not exist in the map's style.`)));const y=f.getSource().type;y==="geojson"&&c?this.fire(new d.l(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):y!=="vector"||c?(t.id===void 0&&this.fire(new d.l(new Error("The feature id parameter must be provided."))),f.setFeatureState(c,t.id,n)):this.fire(new d.l(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,n){this._checkLoaded();const a=t.source,c=this.tileManagers[a];if(c===void 0)return void this.fire(new d.l(new Error(`The source '${a}' does not exist in the map's style.`)));const f=c.getSource().type,y=f==="vector"?t.sourceLayer:void 0;f!=="vector"||y?n&&typeof t.id!="string"&&typeof t.id!="number"?this.fire(new d.l(new Error("A feature id is required to remove its specific state property."))):c.removeFeatureState(y,t.id,n):this.fire(new d.l(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const n=t.source,a=t.sourceLayer,c=this.tileManagers[n];if(c!==void 0)return c.getSource().type!=="vector"||a?(t.id===void 0&&this.fire(new d.l(new Error("The feature id parameter must be provided."))),c.getFeatureState(a,t.id)):void this.fire(new d.l(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new d.l(new Error(`The source '${n}' does not exist in the map's style.`)))}getTransition(){var t;return d.e({duration:300,delay:0},(t=this.stylesheet)===null||t===void 0?void 0:t.transition)}serialize(){if(!this._loaded)return;const t=d.bY(this.tileManagers,f=>f.serialize()),n=this._serializeByIds(this._order,!0),a=this.map.getTerrain()||void 0,c=this.stylesheet;return d.bZ({version:c.version,name:c.name,metadata:c.metadata,light:c.light,sky:c.sky,center:c.center,zoom:c.zoom,bearing:c.bearing,pitch:c.pitch,sprite:c.sprite,glyphs:c.glyphs,transition:c.transition,projection:c.projection,sources:t,layers:n,terrain:a},f=>f!==void 0)}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&this.tileManagers[t.source].getSource().type!=="raster"&&(this._updatedSources[t.source]="reload",this.tileManagers[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const n=y=>this._layers[y].type==="fill-extrusion",a={},c=[];for(let y=this._order.length-1;y>=0;y--){const x=this._order[y];if(n(x)){a[x]=y;for(const w of t){const S=w[x];if(S)for(const P of S)c.push(P)}}}c.sort((y,x)=>x.intersectionZ-y.intersectionZ);const f=[];for(let y=this._order.length-1;y>=0;y--){const x=this._order[y];if(n(x))for(let w=c.length-1;w>=0;w--){const S=c[w].feature;if(a[S.layer.id]<y)break;f.push(S),c.pop()}else for(const w of t){const S=w[x];if(S)for(const P of S)f.push(P.feature)}}return f}
799queryRenderedFeatures(t,n,a){n?.filter&&this._validate(d.F.filter,"queryRenderedFeatures.filter",n.filter,null,n);const c={};if(n?.layers){if(!(Array.isArray(n.layers)||n.layers instanceof Set))return this.fire(new d.l(new Error("parameters.layers must be an Array or a Set of strings"))),[];for(const S of n.layers){const P=this._layers[S];if(!P)return this.fire(new d.l(new Error(`The layer '${S}' does not exist in the map's style and cannot be queried for features.`))),[];c[P.source]=!0}}const f=[];n.availableImages=this._availableImages;const y=this._serializedAllLayers(),x=n.layers instanceof Set?n.layers:Array.isArray(n.layers)?new Set(n.layers):null,w=Object.assign(Object.assign({},n),{layers:x,globalState:this._globalState});for(const S in this.tileManagers)n.layers&&!c[S]||f.push(Fi(this.tileManagers[S],this._layers,y,t,w,a,this.map.terrain?(P,E,C)=>this.map.terrain.getElevation(P,E,C):void 0));return this.placement&&f.push(function(S,P,E,C,z,B,V){const G={},N=B.queryRenderedSymbols(C),$=[];for(const X of Object.keys(N).map(Number))$.push(V[X]);$.sort(ys);for(const X of $){const Z=X.featureIndex.lookupSymbolFeatures(N[X.bucketInstanceId],P,X.bucketIndex,X.sourceLayerIndex,{filterSpec:z.filter,globalState:z.globalState},z.layers,z.availableImages,S);for(const U in Z){G[U]||(G[U]=[]);const H=Z[U];H.sort((q,Q)=>{const se=X.featureSortOrder;if(se){const oe=se.indexOf(q.featureIndex);return se.indexOf(Q.featureIndex)-oe}return Q.featureIndex-q.featureIndex});for(const q of H)G[U].push(q)}}return function(X,Z,U){for(const H in X)for(const q of X[H])Ir(q,U[Z[H].source]);return X}(G,S,E)}(this._layers,y,this.tileManagers,t,w,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(f)}querySourceFeatures(t,n){n?.filter&&this._validate(d.F.filter,"querySourceFeatures.filter",n.filter,null,n);const a=this.tileManagers[t];return a?function(c,f){const y=c.getRenderableIds().map(S=>c.getTileByID(S)),x=[],w={};for(const S of y){const P=S.tileID.canonical.key;w[P]||(w[P]=!0,S.querySourceFeatures(x,f))}return x}(a,n?Object.assign(Object.assign({},n),{globalState:this._globalState}):{globalState:this._globalState}):[]}getLight(){return this.light.getLight()}setLight(t,n={}){this._checkLoaded();const a=this.light.getLight();let c=!1;for(const y in t)if(!d.bQ(t[y],a[y])){c=!0;break}if(!c)return;const f={now:He(),transition:d.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(t,n),this.light.updateTransitions(f)}getProjection(){var t;return(t=this.stylesheet)===null||t===void 0?void 0:t.projection}setProjection(t){this._checkLoaded();const n=t??{type:"mercator"};if(this.stylesheet.projection=t,this.projection){if(this.projection.name===n.type)return;this.projection.destroy(),delete this.projection}this._setProjectionInternal(n.type)}getSky(){var t;return(t=this.stylesheet)===null||t===void 0?void 0:t.sky}setSky(t,n={}){this._checkLoaded();const a=this.getSky();let c=!1;if(!t&&!a)return;if(t&&!a)c=!0;else if(!t&&a)c=!0;else for(const y in t)if(!d.bQ(t[y],a[y])){c=!0;break}if(!c)return;const f={now:He(),transition:d.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=t,this.sky.setSky(t,n),this.sky.updateTransitions(f)}_setProjectionInternal(t){const n=function(a,c){const f={constrainOverride:c};if(Array.isArray(a)){const y=new gc({type:a});return{projection:y,transform:new Hn(f),cameraHelper:new Xi(y)}}switch(a){case"mercator":return{projection:new ai,transform:new ln(f),cameraHelper:new cn};case"globe":{const y=new gc({type:["interpolate",["linear"],["zoom"],11,"vertical-perspective",12,"mercator"]});return{projection:y,transform:new Hn(f),cameraHelper:new Xi(y)}}case"vertical-perspective":return{projection:new To,transform:new dn(f),cameraHelper:new Ei};default:return d.w(`Unknown projection name: ${a}. Falling back to mercator projection.`),{projection:new ai,transform:new ln(f),cameraHelper:new cn}}}(t,this.map.transformConstrain);this.projection=n.projection,this.map.migrateProjection(n.transform,n.cameraHelper);for(const a in this.tileManagers)this.tileManagers[a].reload()}_validate(t,n,a,c,f={}){return f?.validate!==!1&&Mo(this,t.call(d.F,d.e({key:n,style:this.serialize(),value:a,styleSpec:d.x},c)))}_remove(t=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),Cr().off(vs,this._rtlPluginLoaded);for(const n in this._layers)this._layers[n].setEventedParent(null);for(const n in this.tileManagers){const a=this.tileManagers[n];a.setEventedParent(null),a.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),t&&this.dispatcher.broadcast("RM",void 0),this.dispatcher.remove(t)}_clearSource(t){this.tileManagers[t].clearTiles()}_reloadSource(t){this.tileManagers[t].resume(),this.tileManagers[t].reload()}_updateSources(t){for(const n in this.tileManagers)this.tileManagers[n].update(t,this.map.terrain)}_generateCollisionBoxes(){for(const t in this.tileManagers)this._reloadSource(t)}_updatePlacement(t,n,a,c,f=!1){let y=!1,x=!1;const w={};for(const S of this._order){const P=this._layers[S];if(P.type!=="symbol")continue;if(!w[P.source]){const C=this.tileManagers[P.source];w[P.source]=C.getRenderableIds(!0).map(z=>C.getTileByID(z)).sort((z,B)=>B.tileID.overscaledZ-z.tileID.overscaledZ||(z.tileID.isLessThan(B.tileID)?-1:1))}const E=this.crossTileSymbolIndex.addLayer(P,w[P.source],t.center.lng);y||(y=E)}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),f||(f=this._layerOrderChanged||a===0),(f||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(He(),t.zoom))&&(this.pauseablePlacement=new Nn(t,this.map.terrain,this._order,f,n,a,c,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,w),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(He()),x=!0),y&&this.pauseablePlacement.placement.setStale()),x||y)for(const S of this._order){const P=this._layers[S];P.type==="symbol"&&this.placement.updateLayerOpacities(P,w[P.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(He())}_releaseSymbolFadeTiles(){for(const t in this.tileManagers)this.tileManagers[t].releaseSymbolFadeTiles()}getImages(t,n){return d._(this,void 0,void 0,function*(){const a=yield this.imageManager.getImages(n.icons);this._updateTilesForChangedImages();const c=this.tileManagers[n.source];return c&&c.setDependencies(n.tileID.key,n.type,n.icons),a})}getGlyphs(t,n){return d._(this,void 0,void 0,function*(){const a=yield this.glyphManager.getGlyphs(n.stacks),c=this.tileManagers[n.source];return c&&c.setDependencies(n.tileID.key,n.type,[""]),a})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,n={}
vendor: 53,420 bytes, lines 799-801
799){this._checkLoaded(),t&&this._validate(d.F.glyphs,"glyphs",t,null,n)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}getDashes(t,n){return d._(this,void 0,void 0,function*(){const a={};for(const[c,f]of Object.entries(n.dashes))a[c]=this.lineAtlas.getDash(f.dasharray,f.round);return a})}addSprite(t,n,a={},c){this._checkLoaded();const f=[{id:t,url:n}],y=[...Xr(this.stylesheet.sprite),...f];this._validate(d.F.sprite,"sprite",y,null,a)||(this.stylesheet.sprite=y,this._loadSprite(f,!0,c))}removeSprite(t){this._checkLoaded();const n=Xr(this.stylesheet.sprite);if(n.find(a=>a.id===t)){if(this._spritesImagesIds[t])for(const a of this._spritesImagesIds[t])this.imageManager.removeImage(a),this._changedImages[a]=!0;n.splice(n.findIndex(a=>a.id===t),1),this.stylesheet.sprite=n.length>0?n:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new d.n("data",{dataType:"style"}))}else this.fire(new d.l(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return Xr(this.stylesheet.sprite)}setSprite(t,n={},a){this._checkLoaded(),t&&this._validate(d.F.sprite,"sprite",t,null,n)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)))}destroy(){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null);for(const t in this.tileManagers){const n=this.tileManagers[t];n.setEventedParent(null),n.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this._availableImages=[],this._spritesImagesIds={}),this.glyphManager&&this.glyphManager.destroy();for(const t in this._layers){const n=this._layers[t];n.setEventedParent(null),n.onRemove&&n.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler("GG"),this.dispatcher.unregisterMessageHandler("GI"),this.dispatcher.unregisterMessageHandler("GDA"),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}}var Ds=d.aS([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Ou{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,n,a,c,f,y,x,w,S){this.context=t;let P=this.boundPaintVertexBuffers.length!==c.length;for(let E=0;!P&&E<c.length;E++)this.boundPaintVertexBuffers[E]!==c[E]&&(P=!0);!this.vao||this.boundProgram!==n||this.boundLayoutVertexBuffer!==a||P||this.boundIndexBuffer!==f||this.boundVertexOffset!==y||this.boundDynamicVertexBuffer!==x||this.boundDynamicVertexBuffer2!==w||this.boundDynamicVertexBuffer3!==S?this.freshBind(n,a,c,f,y,x,w,S):(t.bindVertexArray.set(this.vao),x&&x.bind(),f?.dynamicDraw&&f.bind(),w&&w.bind(),S&&S.bind())}freshBind(t,n,a,c,f,y,x,w){const S=t.numAttributes,P=this.context,E=P.gl;this.vao&&this.destroy(),this.vao=P.createVertexArray(),P.bindVertexArray.set(this.vao),this.boundProgram=t,this.boundLayoutVertexBuffer=n,this.boundPaintVertexBuffers=a,this.boundIndexBuffer=c,this.boundVertexOffset=f,this.boundDynamicVertexBuffer=y,this.boundDynamicVertexBuffer2=x,this.boundDynamicVertexBuffer3=w,n.enableAttributes(E,t);for(const C of a)C.enableAttributes(E,t);y&&y.enableAttributes(E,t),x&&x.enableAttributes(E,t),w&&w.enableAttributes(E,t),n.bind(),n.setVertexAttribPointers(E,t,f);for(const C of a)C.bind(),C.setVertexAttribPointers(E,t,f);y&&(y.bind(),y.setVertexAttribPointers(E,t,f)),c&&c.bind(),x&&(x.bind(),x.setVertexAttribPointers(E,t,f)),w&&(w.bind(),w.setVertexAttribPointers(E,t,f)),P.currentNumAttributes=S}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}const Eo=(h,t,n,a,c)=>({u_texture:0,u_ele_delta:h,u_fog_matrix:t,u_fog_color:n?n.properties.get("fog-color"):d.bo.white,u_fog_ground_blend:n?n.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:c?0:n?n.calculateFogBlendOpacity(a):0,u_horizon_color:n?n.properties.get("horizon-color"):d.bo.white,u_horizon_fog_blend:n?n.properties.get("horizon-fog-blend"):1,u_is_globe_mode:c?1:0}),Vu={mainMatrix:"u_projection_matrix",tileMercatorCoords:"u_projection_tile_mercator_coords",clippingPlane:"u_projection_clipping_plane",projectionTransition:"u_projection_transition",fallbackMatrix:"u_projection_fallback_matrix"};function hr(h){const t=[];for(const n of h){if(n===null)continue;const a=n.split(" ");t.push(a.pop())}return t}class ju{constructor(t,n,a,c,f,y,x,w,S=[]){const P=t.gl;this.program=P.createProgram();const E=hr(n.staticAttributes),C=a?a.getBinderAttributes():[],z=E.concat(C),B=dt.prelude.staticUniforms?hr(dt.prelude.staticUniforms):[],V=x.staticUniforms?hr(x.staticUniforms):[],G=n.staticUniforms?hr(n.staticUniforms):[],N=a?a.getBinderUniforms():[],$=B.concat(V).concat(G).concat(N),X=[];for(const oe of $)X.includes(oe)||X.push(oe);const Z=a?a.defines():[];Hi(P)&&Z.unshift("#version 300 es"),f&&Z.push("#define OVERDRAW_INSPECTOR;"),y&&Z.push("#define TERRAIN3D;"),w&&Z.push(w),S&&Z.push(...S);let U=Z.concat(dt.prelude.fragmentSource,x.fragmentSource,n.fragmentSource).join(` 800`),H=Z.concat(dt.prelude.vertexSource,x.vertexSource,n.vertexSource).join(` 801`);Hi(P)||(U=function(oe){return oe.replace(/\bin\s/g,"varying ").replace("out highp vec4 fragColor;","").replace(/fragColor/g,"gl_FragColor").replace(/texture\(/g,"texture2D(")}(U),H=function(oe){return oe.replace(/\bin\s/g,"attribute ").replace(/\bout\s/g,"varying ").replace(/texture\(/g,"texture2D(")}(H));const q=P.createShader(P.FRAGMENT_SHADER);if(P.isContextLost())return void(this.failedToCreate=!0);if(P.shaderSource(q,U),P.compileShader(q),!P.getShaderParameter(q,P.COMPILE_STATUS))throw new Error(`Could not compile fragment shader: ${P.getShaderInfoLog(q)}`);P.attachShader(this.program,q);const Q=P.createShader(P.VERTEX_SHADER);if(P.isContextLost())return void(this.failedToCreate=!0);if(P.shaderSource(Q,H),P.compileShader(Q),!P.getShaderParameter(Q,P.COMPILE_STATUS))throw new Error(`Could not compile vertex shader: ${P.getShaderInfoLog(Q)}`);P.attachShader(this.program,Q),this.attributes={};const se={};this.numAttributes=z.length;for(let oe=0;oe<this.numAttributes;oe++)z[oe]&&(P.bindAttribLocation(this.program,oe,z[oe]),this.attributes[z[oe]]=oe);if(P.linkProgram(this.program),!P.getProgramParameter(this.program,P.LINK_STATUS))throw new Error(`Program failed to link: ${P.getProgramInfoLog(this.program)}`);P.deleteShader(Q),P.deleteShader(q);for(const oe of X)if(oe&&!se[oe]){const de=P.getUniformLocation(this.program,oe);de&&(se[oe]=de)}this.fixedUniforms=c(t,se),this.terrainUniforms=((oe,de)=>({u_depth:new d.b_(oe,de.u_depth),u_terrain:new d.b_(oe,de.u_terrain),u_terrain_dim:new d.bp(oe,de.u_terrain_dim),u_terrain_matrix:new d.c0(oe,de.u_terrain_matrix),u_terrain_unpack:new d.c1(oe,de.u_terrain_unpack),u_terrain_exaggeration:new d.bp(oe,de.u_terrain_exaggeration)}))(t,se),this.projectionUniforms=((oe,de)=>({u_projection_matrix:new d.c0(oe,de.u_projection_matrix),u_projection_tile_mercator_coords:new d.c1(oe,de.u_projection_tile_mercator_coords),u_projection_clipping_plane:new d.c1(oe,de.u_projection_clipping_plane),u_projection_transition:new d.bp(oe,de.u_projection_transition),u_projection_fallback_matrix:new d.c0(oe,de.u_projection_fallback_matrix)}))(t,se),this.binderUniforms=a?a.getUniforms(t,se):[]}draw(t,n,a,c,f,y,x,w,S,P,E,C,z,B,V,G,N,$,X){var Z;const U=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(a),t.setStencilMode(c),t.setColorMode(f),t.setCullFace(y),w){t.activeTexture.set(U.TEXTURE2),U.bindTexture(U.TEXTURE_2D,w.depthTexture),t.activeTexture.set(U.TEXTURE3),U.bindTexture(U.TEXTURE_2D,w.texture);for(const q in this.terrainUniforms)this.terrainUniforms[q].set(w[q])}if(S)for(const q in S)this.projectionUniforms[Vu[q]].set(S[q]);if(x)for(const q in this.fixedUniforms)this.fixedUniforms[q].set(x[q]);G&&G.setUniforms(t,this.binderUniforms,B,{zoom:V});let H=0;switch(n){case U.LINES:H=2;break;case U.TRIANGLES:H=3;break;case U.LINE_STRIP:H=1}for(const q of z.get())q.vaos||(q.vaos={}),(Z=q.vaos)[P]||(Z[P]=new Ou),q.vaos[P].bind(t,this,E,G?G.getPaintVertexBuffers():[],C,q.vertexOffset,N,$,X),U.drawElements(n,q.primitiveLength*H,U.UNSIGNED_SHORT,q.primitiveOffset*H*2)}}function Qa(h,t,n){const a=1/d.aK(n,1,t.transform.tileZoom),c=Math.pow(2,n.tileID.overscaledZ),f=n.tileSize*Math.pow(2,t.transform.tileZoom)/c,y=f*(n.tileID.canonical.x+n.tileID.wrap*c),x=f*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[a,h.fromScale,h.toScale],u_fade:h.t,u_pixel_coord_upper:[y>>16,x>>16],u_pixel_coord_lower:[65535&y,65535&x]}}const vc=(h,t,n,a)=>{const c=h.style.light,f=c.properties.get("position"),y=[f.x,f.y,f.z],x=d.c4();c.properties.get("anchor")==="viewport"&&d.c5(x,h.transform.bearingInRadians),d.c6(y,y,x);const w=h.transform.transformLightDirection(y),S=c.properties.get("color");return{u_lightpos:y,u_lightpos_globe:w,u_lightintensity:c.properties.get("intensity"),u_lightcolor:[S.r,S.g,S.b],u_vertical_gradient:+t,u_opacity:n,u_fill_translate:a}},xc=(h,t,n,a,c,f,y)=>d.e(vc(h,t,n,a),Qa(f,h,y),{u_height_factor:-Math.pow(2,c.overscaledZ)/y.tileSize/8}),Co=(h,t,n,a)=>d.e(Qa(t,h,n),{u_fill_translate:a}),bc=(h,t)=>({u_world:h,u_fill_translate:t}),wc=(h,t,n,a,c)=>d.e(Co(h,t,n,c),{u_world:a}),Tc=(h,t,n,a,c)=>{const f=h.transform;let y,x,w=0;if(n.paint.get("circle-pitch-alignment")==="map"){const S=d.aK(t,1,f.zoom);y=!0,x=[S,S],w=S/(d.a6*Math.pow(2,t.tileID.overscaledZ))*2*Math.PI*c}else y=!1,x=f.pixelsToGLUnits;return{u_camera_to_center_distance:f.cameraToCenterDistance,u_scale_with_map:+(n.paint.get("circle-pitch-scale")==="map"),u_pitch_with_map:+y,u_device_pixel_ratio:h.pixelRatio,u_extrude_scale:x,u_globe_extrude_scale:w,u_translate:a}},Sc=h=>({u_pixel_extrude_scale:[1/h.width,1/h.height]}),fn=h=>({u_viewport_size:[h.width,h.height]}),el=(h,t=1)=>({u_color:h,u_overlay:0,u_overlay_scale:t}),tl=(h,t,n,a)=>{const c=d.aK(h,1,t)/(d.a6*Math.pow(2,h.tileID.overscaledZ))*2*Math.PI*a;return{u_extrude_scale:d.aK(h,1,t),u_intensity:n,u_globe_extrude_scale:c}},Xn=(h,t,n,a)=>{const c=d.O();d.c7(c,0,h.width,h.height,0,0,1);const f=h.context.gl;return{u_matrix:c,u_world:[f.drawingBufferWidth,f.drawingBufferHeight],u_image:n,u_color_ramp:a,u_opacity:t.paint.get("heatmap-opacity")}},Nu=(h,t,n)=>{const a=n.paint.get("hillshade-accent-color");let c;switch(n.paint.get("hillshade-method")){case"basic":c=4;break;case"combined":c=1;break;case"igor":c=2;break;case"multidirectional":c=3;break;default:c=0}const f=n.getIlluminationProperties();for(let y=0;y<f.directionRadians.length;y++)n.paint.get("hillshade-illumination-anchor")==="viewport"&&(f.directionRadians[y]+=h.transform.bearingInRadians);return{u_image:0,u_latrange:Uu(0,t.tileID),u_exaggeration:n.paint.get("hillshade-exaggeration"),u_altitudes:f.altitudeRadians,u_azimuths:f.directionRadians,u_accent:a,u_method:c,u_highlights:f.highlightColor,u_shadows:f.shadowColor}},Ao=(h,t)=>{const n=t.stride,a=d.O();return d.c7(a,0,d.a6,-d.a6,0,0,1),d.Q(a,a,[0,-d.a6,0]),{u_matrix:a,u_image:1,u_dimension:[n,n],u_zoom:h.overscaledZ,u_unpack:t.getUnpackVector()}};function Uu(h,t){const n=Math.pow(2,t.canonical.z),a=t.canonical.y;return[new d.a7(0,a/n).toLngLat().lat,new d.a7(0,(a+1)/n).toLngLat().lat]}const Gu=(h,t,n=0)=>({u_image:0,u_unpack:t.getUnpackVector(),u_dimension:[t.stride,t.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:n,u_opacity:h.paint.get("color-relief-opacity")}),zs=(h,t,n,a)=>{const c=h.transform;return{u_translation:tr(h,t,n),u_ratio:a/d.aK(t,1,c.zoom),u_device_pixel_ratio:h.pixelRatio,u_units_to_pixels:[1/c.pixelsToGLUnits[0],1/c.pixelsToGLUnits[1]]}},Pc=(h,t,n,a,c)=>d.e(zs(h,t,n,a),{u_image:0,u_image_height:c}),Ic=(h,t,n,a,c)=>{const f=h.transform,y=Yn(t,f);return{u_translation:tr(h,t,n),u_texsize:t.imageAtlasTexture.size,u_ratio:a/d.aK(t,1,f.zoom),u_device_pixel_ratio:h.pixelRatio,u_image:0,u_scale:[y,c.fromScale,c.toScale],u_fade:c.t,u_units_to_pixels:[1/f.pixelsToGLUnits[0],1/f.pixelsToGLUnits[1]]}},il=(h,t,n,a,c)=>{const f=Yn(t,h.transform);return d.e(zs(h,t,n,a),{u_tileratio:f,u_crossfade_from:c.fromScale,u_crossfade_to:c.toScale,u_image:0,u_mix:c.t,u_lineatlas_width:h.lineAtlas.width,u_lineatlas_height:h.lineAtlas.height})},Mc=(h,t,n,a,c,f)=>{const y=Yn(t,h.transform);return d.e(zs(h,t,n,a),{u_image:0,u_image_height:f,u_tileratio:y,u_crossfade_from:c.fromScale,u_crossfade_to:c.toScale,u_image_dash:1,u_mix:c.t,u_lineatlas_width:h.lineAtlas.width,u_lineatlas_height:h.lineAtlas.height})};function Yn(h,t){return 1/d.aK(h,1,t.tileZoom)}function tr(h,t,n){return d.aL(h.transform,t,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}const rl=(h,t,n,a,c)=>{return{u_tl_parent:h,u_scale_parent:t,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.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:(y=a.paint.get("raster-saturation"),y>0?1-1/(1.001-y):-y),u_contrast_factor:(f=a.paint.get("raster-contrast"),f>0?1/(1-f):1+f),u_spin_weights:nl(a.paint.get("raster-hue-rotate")),u_coords_top:[c[0].x,c[0].y,c[1].x,c[1].y],u_coords_bottom:[c[3].x,c[3].y,c[2].x,c[2].y]};var f,y};function nl(h){h*=Math.PI/180;const t=Math.sin(h),n=Math.cos(h);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}const Do=(h,t,n,a,c,f,y,x,w,S,P,E,C)=>{const z=y.transform;return{u_is_size_zoom_constant:+(h==="constant"||h==="source"),u_is_size_feature_constant:+(h==="constant"||h==="camera"),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:z.cameraToCenterDistance,u_pitch:z.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:z.width/z.height,u_fade_change:y.options.fadeDuration?y.symbolFadeChange:1,u_label_plane_matrix:x,u_coord_matrix:w,u_is_text:+P,u_pitch_with_map:+a,u_is_along_line:c,u_is_variable_anchor:f,u_texsize:E,u_texture:0,u_translation:S,u_pitched_scale:C}},sl=(h,t,n,a,c,f,y,x,w,S,P,E,C,z)=>{const B=y.transform;return d.e(Do(h,t,n,a,c,f,y,x,w,S,P,E,z),{u_gamma_scale:a?Math.cos(B.pitch*Math.PI/180)*B.cameraToCenterDistance:1,u_device_pixel_ratio:y.pixelRatio,u_is_halo:C?1:0,u_is_plain:1})},ol=(h,t,n,a,c,f,y,x,w,S,P,E,C)=>d.e(sl(h,t,n,a,c,f,y,x,w,S,!0,P,!0,C),{u_texsize_icon:E,u_texture_icon:1}),mn=(h,t)=>({u_opacity:h,u_color:t}),al=(h,t,n,a,c)=>d.e(function(f,y,x,w){const S=x.imageManager.getPattern(f.from.toString()),P=x.imageManager.getPattern(f.to.toString()),{width:E,height:C}=x.imageManager.getPixelSize(),z=Math.pow(2,w.tileID.overscaledZ),B=w.tileSize*Math.pow(2,x.transform.tileZoom)/z,V=B*(w.tileID.canonical.x+w.tileID.wrap*z),G=B*w.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:S.tl,u_pattern_br_a:S.br,u_pattern_tl_b:P.tl,u_pattern_br_b:P.br,u_texsize:[E,C],u_mix:y.t,u_pattern_size_a:S.displaySize,u_pattern_size_b:P.displaySize,u_scale_a:y.fromScale,u_scale_b:y.toScale,u_tile_units_to_pixels:1/d.aK(w,1,x.transform.tileZoom),u_pixel_coord_upper:[V>>16,G>>16],u_pixel_coord_lower:[65535&V,65535&G]}}(n,c,t,a),{u_opacity:h}),Ec=(h,t)=>{},$u={fillExtrusion:(h,t)=>({u_lightpos:new d.c2(h,t.u_lightpos),u_lightpos_globe:new d.c2(h,t.u_lightpos_globe),u_lightintensity:new d.bp(h,t.u_lightintensity),u_lightcolor:new d.c2(h,t.u_lightcolor),u_vertical_gradient:new d.bp(h,t.u_vertical_gradient),u_opacity:new d.bp(h,t.u_opacity),u_fill_translate:new d.c3(h,t.u_fill_translate)}),fillExtrusionPattern:(h,t)=>({u_lightpos:new d.c2(h,t.u_lightpos),u_lightpos_globe:new d.c2(h,t.u_lightpos_globe),u_lightintensity:new d.bp(h,t.u_lightintensity),u_lightcolor:new d.c2(h,t.u_lightcolor),u_vertical_gradient:new d.bp(h,t.u_vertical_gradient),u_height_factor:new d.bp(h,t.u_height_factor),u_opacity:new d.bp(h,t.u_opacity),u_fill_translate:new d.c3(h,t.u_fill_translate),u_image:new d.b_(h,t.u_image),u_texsize:new d.c3(h,t.u_texsize),u_pixel_coord_upper:new d.c3(h,t.u_pixel_coord_upper),u_pixel_coord_lower:new d.c3(h,t.u_pixel_coord_lower),u_scale:new d.c2(h,t.u_scale),u_fade:new d.bp(h,t.u_fade)}),fill:(h,t)=>({u_fill_translate:new d.c3(h,t.u_fill_translate)}),fillPattern:(h,t)=>({u_image:new d.b_(h,t.u_image),u_texsize:new d.c3(h,t.u_texsize),u_pixel_coord_upper:new d.c3(h,t.u_pixel_coord_upper),u_pixel_coord_lower:new d.c3(h,t.u_pixel_coord_lower),u_scale:new d.c2(h,t.u_scale),u_fade:new d.bp(h,t.u_fade),u_fill_translate:new d.c3(h,t.u_fill_translate)}),fillOutline:(h,t)=>({u_world:new d.c3(h,t.u_world),u_fill_translate:new d.c3(h,t.u_fill_translate)}),fillOutlinePattern:(h,t)=>({u_world:new d.c3(h,t.u_world),u_image:new d.b_(h,t.u_image),u_texsize:new d.c3(h,t.u_texsize),u_pixel_coord_upper:new d.c3(h,t.u_pixel_coord_upper),u_pixel_coord_lower:new d.c3(h,t.u_pixel_coord_lower),u_scale:new d.c2(h,t.u_scale),u_fade:new d.bp(h,t.u_fade),u_fill_translate:new d.c3(h,t.u_fill_translate)}),circle:(h,t)=>({u_camera_to_center_distance:new d.bp(h,t.u_camera_to_center_distance),u_scale_with_map:new d.b_(h,t.u_scale_with_map),u_pitch_with_map:new d.b_(h,t.u_pitch_with_map),u_extrude_scale:new d.c3(h,t.u_extrude_scale),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_globe_extrude_scale:new d.bp(h,t.u_globe_extrude_scale),u_translate:new d.c3(h,t.u_translate)}),collisionBox:(h,t)=>({u_pixel_extrude_scale:new d.c3(h,t.u_pixel_extrude_scale)}),collisionCircle:(h,t)=>({u_viewport_size:new d.c3(h,t.u_viewport_size)}),debug:(h,t)=>({u_color:new d.b$(h,t.u_color),u_overlay:new d.b_(h,t.u_overlay),u_overlay_scale:new d.bp(h,t.u_overlay_scale)}),depth:Ec,clippingMask:Ec,heatmap:(h,t)=>({u_extrude_scale:new d.bp(h,t.u_extrude_scale),u_intensity:new d.bp(h,t.u_intensity),u_globe_extrude_scale:new d.bp(h,t.u_globe_extrude_scale)}),heatmapTexture:(h,t)=>({u_matrix:new d.c0(h,t.u_matrix),u_world:new d.c3(h,t.u_world),u_image:new d.b_(h,t.u_image),u_color_ramp:new d.b_(h,t.u_color_ramp),u_opacity:new d.bp(h,t.u_opacity)}),hillshade:(h,t)=>({u_image:new d.b_(h,t.u_image),u_latrange:new d.c3(h,t.u_latrange),u_exaggeration:new d.bp(h,t.u_exaggeration),u_altitudes:new d.c9(h,t.u_altitudes),u_azimuths:new d.c9(h,t.u_azimuths),u_accent:new d.b$(h,t.u_accent),u_method:new d.b_(h,t.u_method),u_shadows:new d.c8(h,t.u_shadows),u_highlights:new d.c8(h,t.u_highlights)}),hillshadePrepare:(h,t)=>({u_matrix:new d.c0(h,t.u_matrix),u_image:new d.b_(h,t.u_image),u_dimension:new d.c3(h,t.u_dimension),u_zoom:new d.bp(h,t.u_zoom),u_unpack:new d.c1(h,t.u_unpack)}),colorRelief:(h,t)=>({u_image:new d.b_(h,t.u_image),u_unpack:new d.c1(h,t.u_unpack),u_dimension:new d.c3(h,t.u_dimension),u_elevation_stops:new d.b_(h,t.u_elevation_stops),u_color_stops:new d.b_(h,t.u_color_stops),u_color_ramp_size:new d.b_(h,t.u_color_ramp_size),u_opacity:new d.bp(h,t.u_opacity)}),line:(h,t)=>({u_translation:new d.c3(h,t.u_translation),u_ratio:new d.bp(h,t.u_ratio),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_units_to_pixels:new d.c3(h,t.u_units_to_pixels)}),lineGradient:(h,t)=>({u_translation:new d.c3(h,t.u_translation),u_ratio:new d.bp(h,t.u_ratio),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_units_to_pixels:new d.c3(h,t.u_units_to_pixels),u_image:new d.b_(h,t.u_image),u_image_height:new d.bp(h,t.u_image_height)}),linePattern:(h,t)=>({u_translation:new d.c3(h,t.u_translation),u_texsize:new d.c3(h,t.u_texsize),u_ratio:new d.bp(h,t.u_ratio),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_image:new d.b_(h,t.u_image),u_units_to_pixels:new d.c3(h,t.u_units_to_pixels),u_scale:new d.c2(h,t.u_scale),u_fade:new d.bp(h,t.u_fade)}),lineSDF:(h,t)=>({u_translation:new d.c3(h,t.u_translation),u_ratio:new d.bp(h,t.u_ratio),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_units_to_pixels:new d.c3(h,t.u_units_to_pixels),u_image:new d.b_(h,t.u_image),u_mix:new d.bp(h,t.u_mix),u_tileratio:new d.bp(h,t.u_tileratio),u_crossfade_from:new d.bp(h,t.u_crossfade_from),u_crossfade_to:new d.bp(h,t.u_crossfade_to),u_lineatlas_width:new d.bp(h,t.u_lineatlas_width),u_lineatlas_height:new d.bp(h,t.u_lineatlas_height)}),lineGradientSDF:(h,t)=>({u_translation:new d.c3(h,t.u_translation),u_ratio:new d.bp(h,t.u_ratio),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_units_to_pixels:new d.c3(h,t.u_units_to_pixels),u_image:new d.b_(h,t.u_image),u_image_height:new d.bp(h,t.u_image_height),u_tileratio:new d.bp(h,t.u_tileratio),u_crossfade_from:new d.bp(h,t.u_crossfade_from),u_crossfade_to:new d.bp(h,t.u_crossfade_to),u_image_dash:new d.b_(h,t.u_image_dash),u_mix:new d.bp(h,t.u_mix),u_lineatlas_width:new d.bp(h,t.u_lineatlas_width),u_lineatlas_height:new d.bp(h,t.u_lineatlas_height)}),raster:(h,t)=>({u_tl_parent:new d.c3(h,t.u_tl_parent),u_scale_parent:new d.bp(h,t.u_scale_parent),u_buffer_scale:new d.bp(h,t.u_buffer_scale),u_fade_t:new d.bp(h,t.u_fade_t),u_opacity:new d.bp(h,t.u_opacity),u_image0:new d.b_(h,t.u_image0),u_image1:new d.b_(h,t.u_image1),u_brightness_low:new d.bp(h,t.u_brightness_low),u_brightness_high:new d.bp(h,t.u_brightness_high),u_saturation_factor:new d.bp(h,t.u_saturation_factor),u_contrast_factor:new d.bp(h,t.u_contrast_factor),u_spin_weights:new d.c2(h,t.u_spin_weights),u_coords_top:new d.c1(h,t.u_coords_top),u_coords_bottom:new d.c1(h,t.u_coords_bottom)}),symbolIcon:(h,t)=>({u_is_size_zoom_constant:new d.b_(h,t.u_is_size_zoom_constant),u_is_size_feature_constant:new d.b_(h,t.u_is_size_feature_constant),u_size_t:new d.bp(h,t.u_size_t),u_size:new d.bp(h,t.u_size),u_camera_to_center_distance:new d.bp(h,t.u_camera_to_center_distance),u_pitch:new d.bp(h,t.u_pitch),u_rotate_symbol:new d.b_(h,t.u_rotate_symbol),u_aspect_ratio:new d.bp(h,t.u_aspect_ratio),u_fade_change:new d.bp(h,t.u_fade_change),u_label_plane_matrix:new d.c0(h,t.u_label_plane_matrix),u_coord_matrix:new d.c0(h,t.u_coord_matrix),u_is_text:new d.b_(h,t.u_is_text),u_pitch_with_map:new d.b_(h,t.u_pitch_with_map),u_is_along_line:new d.b_(h,t.u_is_along_line),u_is_variable_anchor:new d.b_(h,t.u_is_variable_anchor),u_texsize:new d.c3(h,t.u_texsize),u_texture:new d.b_(h,t.u_texture),u_translation:new d.c3(h,t.u_translation),u_pitched_scale:new d.bp(h,t.u_pitched_scale)}),symbolSDF:(h,t)=>({u_is_size_zoom_constant:new d.b_(h,t.u_is_size_zoom_constant),u_is_size_feature_constant:new d.b_(h,t.u_is_size_feature_constant),u_size_t:new d.bp(h,t.u_size_t),u_size:new d.bp(h,t.u_size),u_camera_to_center_distance:new d.bp(h,t.u_camera_to_center_distance),u_pitch:new d.bp(h,t.u_pitch),u_rotate_symbol:new d.b_(h,t.u_rotate_symbol),u_aspect_ratio:new d.bp(h,t.u_aspect_ratio),u_fade_change:new d.bp(h,t.u_fade_change),u_label_plane_matrix:new d.c0(h,t.u_label_plane_matrix),u_coord_matrix:new d.c0(h,t.u_coord_matrix),u_is_text:new d.b_(h,t.u_is_text),u_pitch_with_map:new d.b_(h,t.u_pitch_with_map),u_is_along_line:new d.b_(h,t.u_is_along_line),u_is_variable_anchor:new d.b_(h,t.u_is_variable_anchor),u_texsize:new d.c3(h,t.u_texsize),u_texture:new d.b_(h,t.u_texture),u_gamma_scale:new d.bp(h,t.u_gamma_scale),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_is_halo:new d.b_(h,t.u_is_halo),u_is_plain:new d.b_(h,t.u_is_plain),u_translation:new d.c3(h,t.u_translation),u_pitched_scale:new d.bp(h,t.u_pitched_scale)}),symbolTextAndIcon:(h,t)=>({u_is_size_zoom_constant:new d.b_(h,t.u_is_size_zoom_constant),u_is_size_feature_constant:new d.b_(h,t.u_is_size_feature_constant),u_size_t:new d.bp(h,t.u_size_t),u_size:new d.bp(h,t.u_size),u_camera_to_center_distance:new d.bp(h,t.u_camera_to_center_distance),u_pitch:new d.bp(h,t.u_pitch),u_rotate_symbol:new d.b_(h,t.u_rotate_symbol),u_aspect_ratio:new d.bp(h,t.u_aspect_ratio),u_fade_change:new d.bp(h,t.u_fade_change),u_label_plane_matrix:new d.c0(h,t.u_label_plane_matrix),u_coord_matrix:new d.c0(h,t.u_coord_matrix),u_is_text:new d.b_(h,t.u_is_text),u_pitch_with_map:new d.b_(h,t.u_pitch_with_map),u_is_along_line:new d.b_(h,t.u_is_along_line),u_is_variable_anchor:new d.b_(h,t.u_is_variable_anchor),u_texsize:new d.c3(h,t.u_texsize),u_texsize_icon:new d.c3(h,t.u_texsize_icon),u_texture:new d.b_(h,t.u_texture),u_texture_icon:new d.b_(h,t.u_texture_icon),u_gamma_scale:new d.bp(h,t.u_gamma_scale),u_device_pixel_ratio:new d.bp(h,t.u_device_pixel_ratio),u_is_halo:new d.b_(h,t.u_is_halo),u_translation:new d.c3(h,t.u_translation),u_pitched_scale:new d.bp(h,t.u_pitched_scale)}),background:(h,t)=>({u_opacity:new d.bp(h,t.u_opacity),u_color:new d.b$(h,t.u_color)}),backgroundPattern:(h,t)=>({u_opacity:new d.bp(h,t.u_opacity),u_image:new d.b_(h,t.u_image),u_pattern_tl_a:new d.c3(h,t.u_pattern_tl_a),u_pattern_br_a:new d.c3(h,t.u_pattern_br_a),u_pattern_tl_b:new d.c3(h,t.u_pattern_tl_b),u_pattern_br_b:new d.c3(h,t.u_pattern_br_b),u_texsize:new d.c3(h,t.u_texsize),u_mix:new d.bp(h,t.u_mix),u_pattern_size_a:new d.c3(h,t.u_pattern_size_a),u_pattern_size_b:new d.c3(h,t.u_pattern_size_b),u_scale_a:new d.bp(h,t.u_scale_a),u_scale_b:new d.bp(h,t.u_scale_b),u_pixel_coord_upper:new d.c3(h,t.u_pixel_coord_upper),u_pixel_coord_lower:new d.c3(h,t.u_pixel_coord_lower),u_tile_units_to_pixels:new d.bp(h,t.u_tile_units_to_pixels)}),terrain:(h,t)=>({u_texture:new d.b_(h,t.u_texture),u_ele_delta:new d.bp(h,t.u_ele_delta),u_fog_matrix:new d.c0(h,t.u_fog_matrix),u_fog_color:new d.b$(h,t.u_fog_color),u_fog_ground_blend:new d.bp(h,t.u_fog_ground_blend),u_fog_ground_blend_opacity:new d.bp(h,t.u_fog_ground_blend_opacity),u_horizon_color:new d.b$(h,t.u_horizon_color),u_horizon_fog_blend:new d.bp(h,t.u_horizon_fog_blend),u_is_globe_mode:new d.bp(h,t.u_is_globe_mode)}),terrainDepth:(h,t)=>({u_ele_delta:new d.bp(h,t.u_ele_delta)}),terrainCoords:(h,t)=>({u_texture:new d.b_(h,t.u_texture),u_terrain_coords_id:new d.bp(h,t.u_terrain_coords_id),u_ele_delta:new d.bp(h,t.u_ele_delta)}),projectionErrorMeasurement:(h,t)=>({u_input:new d.bp(h,t.u_input),u_output_expected:new d.bp(h,t.u_output_expected)}),atmosphere:(h,t)=>({u_sun_pos:new d.c2(h,t.u_sun_pos),u_atmosphere_blend:new d.bp(h,t.u_atmosphere_blend),u_globe_position:new d.c2(h,t.u_globe_position),u_globe_radius:new d.bp(h,t.u_globe_radius),u_inv_proj_matrix:new d.c0(h,t.u_inv_proj_matrix)}),sky:(h,t)=>({u_sky_color:new d.b$(h,t.u_sky_color),u_horizon_color:new d.b$(h,t.u_horizon_color),u_horizon:new d.c3(h,t.u_horizon),u_horizon_normal:new d.c3(h,t.u_horizon_normal),u_sky_horizon_blend:new d.bp(h,t.u_sky_horizon_blend),u_sky_blend:new d.bp(h,t.u_sky_blend)})};class Zu{constructor(t,n,a){this.context=t;const c=t.gl;this.buffer=c.createBuffer(),this.dynamicDraw=!!a,this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?c.DYNAMIC_DRAW:c.STATIC_DRAW),this.dynamicDraw||n.freeBufferAfterUpload()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const n=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),n.bufferSubData(n.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const qu={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Cc{constructor(t,n,a,c){this.length=n.length,this.attributes=a,this.itemSize=n.bytesPerElement,this.dynamicDraw=c,this.context=t;const f=t.gl;this.buffer=f.createBuffer(),t.bindVertexBuffer.set(this.buffer),f.bufferData(f.ARRAY_BUFFER,n.arrayBuffer,this.dynamicDraw?f.DYNAMIC_DRAW:f.STATIC_DRAW),this.dynamicDraw||n.freeBufferAfterUpload()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const n=this.context.gl;this.bind(),n.bufferSubData(n.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,n){for(const a of this.attributes){const c=n.attributes[a.name];c!==void 0&&t.enableVertexAttribArray(c)}}setVertexAttribPointers(t,n,a){for(const c of this.attributes){const f=n.attributes[c.name];f!==void 0&&t.vertexAttribPointer(f,c.components,t[qu[c.type]],!1,this.itemSize,c.offset+this.itemSize*(a||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class Je{constructor(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(t){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Ac extends Je{getDefault(){return d.bo.transparent}set(t){const n=this.current;(t.r!==n.r||t.g!==n.g||t.b!==n.b||t.a!==n.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)}}class zo extends Je{getDefault(){return 1}set(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)}}class ko extends Je{getDefault(){return 0}set(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)}}class Ro extends Je{getDefault(){return[!0,!0,!0,!0]}set(t){const n=this.current;(t[0]!==n[0]||t[1]!==n[1]||t[2]!==n[2]||t[3]!==n[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)}}class ll extends Je{getDefault(){return!0}set(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)}}class gn extends Je{getDefault(){return 255}set(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)}}class ks extends Je{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(t){const n=this.current;(t.func!==n.func||t.ref!==n.ref||t.mask!==n.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)}}class Kn extends Je{getDefault(){const t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]}set(t){const n=this.current;(t[0]!==n[0]||t[1]!==n[1]||t[2]!==n[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)}}class Bi extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;t?n.enable(n.STENCIL_TEST):n.disable(n.STENCIL_TEST),this.current=t,this.dirty=!1}}class Dc extends Je{getDefault(){return[0,1]}set(t){const n=this.current;(t[0]!==n[0]||t[1]!==n[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)}}class zc extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;t?n.enable(n.DEPTH_TEST):n.disable(n.DEPTH_TEST),this.current=t,this.dirty=!1}}class cl extends Je{getDefault(){return this.gl.LESS}set(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)}}class _n extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;t?n.enable(n.BLEND):n.disable(n.BLEND),this.current=t,this.dirty=!1}}class Fo extends Je{getDefault(){const t=this.gl;return[t.ONE,t.ZERO]}set(t){const n=this.current;(t[0]!==n[0]||t[1]!==n[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)}}class Lo extends Je{getDefault(){return d.bo.transparent}set(t){const n=this.current;(t.r!==n.r||t.g!==n.g||t.b!==n.b||t.a!==n.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)}}class Rs extends Je{getDefault(){return this.gl.FUNC_ADD}set(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)}}class Bo extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;t?n.enable(n.CULL_FACE):n.disable(n.CULL_FACE),this.current=t,this.dirty=!1}}class kc extends Je{getDefault(){return this.gl.BACK}set(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)}}class Jn extends Je{getDefault(){return this.gl.CCW}set(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)}}class Qn extends Je{getDefault(){return null}set(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)}}class Rc extends Je{getDefault(){return this.gl.TEXTURE0}set(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)}}class ul extends Je{getDefault(){const t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]}set(t){const n=this.current;(t[0]!==n[0]||t[1]!==n[1]||t[2]!==n[2]||t[3]!==n[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)}}class Ne extends Je{getDefault(){return null}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.bindFramebuffer(n.FRAMEBUFFER,t),this.current=t,this.dirty=!1}}class Oo extends Je{getDefault(){return null}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.bindRenderbuffer(n.RENDERBUFFER,t),this.current=t,this.dirty=!1}}class Wu extends Je{getDefault(){return null}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.bindTexture(n.TEXTURE_2D,t),this.current=t,this.dirty=!1}}class Fc extends Je{getDefault(){return null}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.bindBuffer(n.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}}class Fs extends Je{getDefault(){return null}set(t){const n=this.gl;n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1}}class Hu extends Je{getDefault(){return null}set(t){var n;if(t===this.current&&!this.dirty)return;const a=this.gl;Hi(a)?a.bindVertexArray(t):(n=a.getExtension("OES_vertex_array_object"))===null||n===void 0||n.bindVertexArrayOES(t),this.current=t,this.dirty=!1}}class Xu extends Je{getDefault(){return 4}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.pixelStorei(n.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}}class Lc extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}}class Yu extends Je{getDefault(){return!1}set(t){if(t===this.current&&!this.dirty)return;const n=this.gl;n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}}class Ls extends Je{constructor(t,n){super(t),this.context=t,this.parent=n}getDefault(){return null}}class Vo extends Ls{setDirty(){this.dirty=!0}set(t){if(t===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const n=this.gl;n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0,n.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}}class Bs extends Ls{set(t){if(t===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const n=this.gl;n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,t),this.current=t,this.dirty=!1}}class jo extends Ls{set(t){if(t===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const n=this.gl;n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_STENCIL_ATTACHMENT,n.RENDERBUFFER,t),this.current=t,this.dirty=!1}}const No="Framebuffer is not complete";class Bc{constructor(t,n,a,c,f){this.context=t,this.width=n,this.height=a;const y=t.gl,x=this.framebuffer=y.createFramebuffer();if(this.colorAttachment=new Vo(t,x),c)this.depthAttachment=f?new jo(t,x):new Bs(t,x);else if(f)throw new Error("Stencil cannot be set without depth");if(y.checkFramebufferStatus(y.FRAMEBUFFER)!==y.FRAMEBUFFER_COMPLETE)throw new Error(No)}destroy(){const t=this.context.gl,n=this.colorAttachment.get();if(n&&t.deleteTexture(n),this.depthAttachment){const a=this.depthAttachment.get();a&&t.deleteRenderbuffer(a)}t.deleteFramebuffer(this.framebuffer)}}class Uo{constructor(t){var n,a;if(this.gl=t,this.clearColor=new Ac(this),this.clearDepth=new zo(this),this.clearStencil=new ko(this),this.colorMask=new Ro(this),this.depthMask=new ll(this),this.stencilMask=new gn(this),this.stencilFunc=new ks(this),this.stencilOp=new Kn(this),this.stencilTest=new Bi(this),this.depthRange=new Dc(this),this.depthTest=new zc(this),this.depthFunc=new cl(this),this.blend=new _n(this),this.blendFunc=new Fo(this),this.blendColor=new Lo(this),this.blendEquation=new Rs(this),this.cullFace=new Bo(this),this.cullFaceSide=new kc(this),this.frontFace=new Jn(this),this.program=new Qn(this),this.activeTexture=new Rc(this),this.viewport=new ul(this),this.bindFramebuffer=new Ne(this),this.bindRenderbuffer=new Oo(this),this.bindTexture=new Wu(this),this.bindVertexBuffer=new Fc(this),this.bindElementBuffer=new Fs(this),this.bindVertexArray=new Hu(this),this.pixelStoreUnpack=new Xu(this),this.pixelStoreUnpackPremultiplyAlpha=new Lc(this),this.pixelStoreUnpackFlipY=new Yu(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=t.getParameter(t.MAX_TEXTURE_SIZE),Hi(t)){this.HALF_FLOAT=t.HALF_FLOAT;const c=t.getExtension("EXT_color_buffer_half_float");this.RGBA16F=(n=t.RGBA16F)!==null&&n!==void 0?n:c?.RGBA16F_EXT,this.RGB16F=(a=t.RGB16F)!==null&&a!==void 0?a:c?.RGB16F_EXT,t.getExtension("EXT_color_buffer_float")}else{t.getExtension("EXT_color_buffer_half_float"),t.getExtension("OES_texture_half_float_linear");const c=t.getExtension("OES_texture_half_float");this.HALF_FLOAT=c?.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(t,n){return new Zu(this,t,n)}createVertexBuffer(t,n,a){return new Cc(this,t,n,a)}createRenderbuffer(t,n,a){const c=this.gl,f=c.createRenderbuffer();return this.bindRenderbuffer.set(f),c.renderbufferStorage(c.RENDERBUFFER,t,n,a),this.bindRenderbuffer.set(null),f}createFramebuffer(t,n,a,c){return new Bc(this,t,n,a,c)}clear({color:t,depth:n,stencil:a}){const c=this.gl;let f=0;t&&(f|=c.COLOR_BUFFER_BIT,this.clearColor.set(t),this.colorMask.set([!0,!0,!0,!0])),n!==void 0&&(f|=c.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(n),this.depthMask.set(!0)),a!==void 0&&(f|=c.STENCIL_BUFFER_BIT,this.clearStencil.set(a),this.stencilMask.set(255)),c.clear(f)}setCullFace(t){t.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))}setDepthMode(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)}setStencilMode(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)}setColorMode(t){d.bQ(t.blendFunction,ot.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(t.blendFunction),this.blendColor.set(t.blendColor)),this.colorMask.set(t.mask)}createVertexArray(){var t;return Hi(this.gl)?this.gl.createVertexArray():(t=this.gl.getExtension("OES_vertex_array_object"))===null||t===void 0?void 0:t.createVertexArrayOES()}deleteVertexArray(t){var n;Hi(this.gl)?this.gl.deleteVertexArray(t):(n=this.gl.getExtension("OES_vertex_array_object"))===null||n===void 0||n.deleteVertexArrayOES(t)}unbindVAO(){this.bindVertexArray.set(null)}}let yn;function es(h,t,n,a,c){var f,y;const x=h.context,w=h.transform,S=x.gl,P=h.useProgram("collisionBox"),E=[];let C=0,z=0;for(const X of a){const Z=t.getTile(X).getBucket(n);if(!Z)continue;const U=c?Z.textCollisionBox:Z.iconCollisionBox,H=Z.collisionCircleArray;H.length>0&&(E.push({circleArray:H,circleOffset:z,coord:X}),C+=H.length/4,z=C),U&&P.draw(x,S.LINES,Oe.disabled,We.disabled,h.colorModeForRenderPass(),Ze.disabled,Sc(h.transform),(f=h.style.map.terrain)===null||f===void 0?void 0:f.getTerrainData(X),w.getProjectionData({overscaledTileID:X,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),n.id,U.layoutVertexBuffer,U.indexBuffer,U.segments,null,h.transform.zoom,null,null,U.collisionVertexBuffer)}if(!c||!E.length)return;const B=h.useProgram("collisionCircle"),V=new d.ca;V.resize(4*C),V._trim();let G=0;for(const X of E)for(let Z=0;Z<X.circleArray.length/4;Z++){const U=4*Z,H=X.circleArray[U+0],q=X.circleArray[U+1],Q=X.circleArray[U+2],se=X.circleArray[U+3];V.emplace(G++,H,q,Q,se,0),V.emplace(G++,H,q,Q,se,1),V.emplace(G++,H,q,Q,se,2),V.emplace(G++,H,q,Q,se,3)}(!yn||yn.length<2*C)&&(yn=function(X){const Z=2*X,U=new d.cc;U.resize(Z),U._trim();for(let H=0;H<Z;H++){const q=6*H;U.uint16[q+0]=4*H+0,U.uint16[q+1]=4*H+1,U.uint16[q+2]=4*H+2,U.uint16[q+3]=4*H+2,U.uint16[q+4]=4*H+3,U.uint16[q+5]=4*H+0}return U}(C));const N=x.createIndexBuffer(yn,!0),$=x.createVertexBuffer(V,d.cb.members,!0);for(const X of E){const Z=fn(h.transform);B.draw(x,S.TRIANGLES,Oe.disabled,We.disabled,h.colorModeForRenderPass(),Ze.disabled,Z,(y=h.style.map.terrain)===null||y===void 0?void 0:y.getTerrainData(X.coord),null,n.id,$,N,d.aV.simpleSegment(0,2*X.circleOffset,X.circleArray.length,X.circleArray.length/2),null,h.transform.zoom,null,null,null)}$.destroy(),N.destroy()}const ts=d.ap(new Float32Array(16));function hl(h,t,n,a,c,f){const{horizontalAlign:y,verticalAlign:x}=d.aP(h);return new d.P((-(y-.5)*t/c+a[0])*f,(-(x-.5)*n/c+a[1])*f)}function Ku(h,t,n,a,c,f){const y=t.tileAnchorPoint.add(new d.P(t.translation[0],t.translation[1]));if(t.pitchWithMap){let x=a.mult(f);n||(x=x.rotate(-c));const w=y.add(x);return Be(w.x,w.y,t.pitchedLabelPlaneMatrix,t.getElevation).point}if(n){const x=tt(t.tileAnchorPoint.x+1,t.tileAnchorPoint.y,t).point.sub(h),w=Math.atan(x.y/x.x)+(x.x<0?Math.PI:0);return h.add(a.rotate(w))}return h.add(a)}function Os(h,t,n,a,c,f,y,x,w,S,P,E){const C=h.text.placedSymbolArray,z=h.text.dynamicLayoutVertexArray,B=h.icon.dynamicLayoutVertexArray,V={};z.clear();for(let G=0;G<C.length;G++){const N=C.get(G),$=N.hidden||!N.crossTileID||h.allowVerticalPlacement&&!N.placedOrientation?null:a[N.crossTileID];if($){const X=new d.P(N.anchorX,N.anchorY),Z={getElevation:E,width:c.width,height:c.height,pitchedLabelPlaneMatrix:f,pitchWithMap:n,transform:c,tileAnchorPoint:X,translation:S,unwrappedTileID:P},U=n?Vn(X.x,X.y,Z):tt(X.x,X.y,Z),H=bs(c.cameraToCenterDistance,U.signedDistanceFromCamera);let q=d.ay(h.textSizeData,x,N)*H/d.aJ;n&&(q*=h.tilePixelRatio/y);const{width:Q,height:se,anchor:oe,textOffset:de,textBoxScale:he}=$,Pe=hl(oe,Q,se,de,he,q),ve=c.getPitchedTextCorrection(X.x+S[0],X.y+S[1],P),ue=Ku(U.point,Z,t,Pe,-c.bearingInRadians,ve),we=h.allowVerticalPlacement&&N.placedOrientation===d.ax.vertical?Math.PI/2:0;for(let Ee=0;Ee<N.numGlyphs;Ee++)d.aD(z,ue,we);w&&N.associatedIconIndex>=0&&(V[N.associatedIconIndex]={shiftedAnchor:ue,angle:we})}else on(N.numGlyphs,z)}if(w){B.clear();const G=h.icon.placedSymbolArray;for(let N=0;N<G.length;N++){const $=G.get(N);if($.hidden)on($.numGlyphs,B);else{const X=V[N];if(X)for(let Z=0;Z<$.numGlyphs;Z++)d.aD(B,X.shiftedAnchor,X.angle);else on($.numGlyphs,B)}}h.icon.dynamicLayoutVertexBuffer.updateData(B)}h.text.dynamicLayoutVertexBuffer.updateData(z)}function Ju(h,t,n){return n.iconsInText&&t?"symbolTextAndIcon":h?"symbolSDF":"symbolIcon"}function dl(h,t,n,a,c,f,y,x,w,S,P,E,C){var z,B;const V=h.context,G=V.gl,N=h.transform,$=x==="map",X=w==="map",Z=x!=="viewport"&&n.layout.get("symbol-placement")!=="point",U=$&&!X&&!Z,H=!n.layout.get("symbol-sort-key").isConstant();let q=!1;const Q=h.getDepthModeForSublayer(0,Oe.ReadOnly),se=n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"),oe=[],de=N.getCircleRadiusCorrection();for(const ve of a){const ue=t.getTile(ve),we=ue.getBucket(n);if(!we)continue;const Ee=c?we.text:we.icon;if(!Ee?.segments.get().length||!Ee.hasVisibleVertices)continue;const Qe=Ee.programConfigurations.get(n.id),Pt=c||we.sdfIcons,rt=c?we.textSizeData:we.iconSizeData,Mt=X||N.pitch!==0,Ct=h.useProgram(Ju(Pt,c,we),Qe),Jt=d.aw(rt,N.zoom),xt=(z=h.style.map.terrain)===null||z===void 0?void 0:z.getTerrainData(ve);let ci,Ht,Bt,Qt,Br=[0,0],Or=null;if(c)Ht=ue.glyphAtlasTexture,Bt=G.LINEAR,ci=ue.glyphAtlasTexture.size,we.iconsInText&&(Br=ue.imageAtlasTexture.size,Or=ue.imageAtlasTexture,Qt=Mt||h.options.rotating||h.options.zooming||rt.kind==="composite"||rt.kind==="camera"?G.LINEAR:G.NEAREST);else{const mt=n.layout.get("icon-size").constantOr(0)!==1||we.iconsNeedLinear;Ht=ue.imageAtlasTexture,Bt=Pt||h.options.rotating||h.options.zooming||mt||Mt?G.LINEAR:G.NEAREST,ci=ue.imageAtlasTexture.size}const Vr=d.aK(ue,1,h.transform.zoom),ei=Pi($,h.transform,Vr),gr=go(X,$,h.transform,Vr),jr=d.aL(N,ue,f,y),ra=N.getProjectionData({overscaledTileID:ve,applyGlobeMatrix:!C,applyTerrainMatrix:!0}),nr=se&&we.hasTextData(),sr=n.layout.get("icon-text-fit")!=="none"&&nr&&we.hasIconData();if(Z){const mt=d.O();Fe(mt,ei);const Sn=h.style.map.terrain?(_r,Fl)=>h.style.map.terrain.getElevation(ve,_r,Fl):null,na=n.layout.get("text-rotation-alignment")==="map";_o(we,h,c,ei,mt,X,S,na,ve.toUnwrapped(),N.width,N.height,jr,Sn)}const Ai=c&&se||sr,ji=Z||Ai?ts:X?ei:h.transform.clipSpaceToPixelsMatrix,ft=Pt&&n.paint.get(c?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let ct;ct=Pt?we.iconsInText?ol(rt.kind,Jt,U,X,Z,Ai,h,ji,gr,jr,ci,Br,de):sl(rt.kind,Jt,U,X,Z,Ai,h,ji,gr,jr,c,ci,ft,de):Do(rt.kind,Jt,U,X,Z,Ai,h,ji,gr,jr,c,ci,de);const At={program:Ct,buffers:Ee,uniformValues:ct,projectionData:ra,atlasTexture:Ht,atlasTextureIcon:Or,atlasInterpolation:Bt,atlasInterpolationIcon:Qt,isSDF:Pt,hasHalo:ft};if(H&&we.canOverlap){q=!0;const mt=Ee.segments.get();for(const Sn of mt)oe.push({segments:new d.aV([Sn]),sortKey:Sn.sortKey,state:At,terrainData:xt})}else oe.push({segments:Ee.segments,sortKey:0,state:At,terrainData:xt})}q&&oe.sort((ve,ue)=>ve.sortKey-ue.sortKey);const he=(B=n.paint.get(c?"text-halo-width":"icon-halo-width").constantOr(null))!==null&&B!==void 0?B:1/0,Pe=n.layout.get("text-letter-spacing").constantOr(0)*d.aJ<0||he>1;for(const ve of oe){const ue=ve.state;V.activeTexture.set(G.TEXTURE0),ue.atlasTexture.bind(ue.atlasInterpolation,G.CLAMP_TO_EDGE),ue.atlasTextureIcon&&(V.activeTexture.set(G.TEXTURE1),ue.atlasTextureIcon&&ue.atlasTextureIcon.bind(ue.atlasInterpolationIcon,G.CLAMP_TO_EDGE));const we=ue.isSDF&&ue.hasHalo;if(we){const Ee=ue.uniformValues;Ee.u_is_halo=1,Pe&&(Ee.u_is_plain=0,Vs(ue.buffers,ve.segments,n,h,ue.program,Q,P,E,Ee,ue.projectionData,ve.terrainData),Ee.u_is_halo=0,Ee.u_is_plain=1)}Vs(ue.buffers,ve.segments,n,h,ue.program,Q,P,E,ue.uniformValues,ue.projectionData,ve.terrainData),we&&!Pe&&(ue.uniformValues.u_is_halo=0)}}function Vs(h,t,n,a,c,f,y,x,w,S,P){const E=a.context;c.draw(E,E.gl.TRIANGLES,f,y,x,Ze.backCCW,w,P,S,n.id,h.layoutVertexBuffer,h.indexBuffer,t,n.paint,a.transform.zoom,h.programConfigurations.get(n.id),h.dynamicLayoutVertexBuffer,h.opacityVertexBuffer)}function pl(h,t,n,a,c){const f=h.context,y=f.gl,x=We.disabled,w=new ot([y.ONE,y.ONE],d.bo.transparent,[!0,!0,!0,!0]),S=t.getBucket(n);if(!S)return;const P=a.key;let E=n.heatmapFbos.get(P);E||(E=fl(f,t.tileSize,t.tileSize),n.heatmapFbos.set(P,E)),f.bindFramebuffer.set(E.framebuffer),f.viewport.set([0,0,t.tileSize,t.tileSize]),f.clear({color:d.bo.transparent});const C=S.programConfigurations.get(n.id),z=h.useProgram("heatmap",C,!c),B=h.transform.getProjectionData({overscaledTileID:t.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),V=h.style.map.terrain.getTerrainData(a);z.draw(f,y.TRIANGLES,Oe.disabled,x,w,Ze.disabled,tl(t,h.transform.zoom,n.paint.get("heatmap-intensity"),1),V,B,n.id,S.layoutVertexBuffer,S.indexBuffer,S.segments,n.paint,h.transform.zoom,C)}function Oc(h,t,n,a,c){const f=h.context,y=f.gl,x=h.transform;f.setColorMode(h.colorModeForRenderPass());const w=js(f,t),S=n.key,P=t.heatmapFbos.get(S);if(!P)return;f.activeTexture.set(y.TEXTURE0),y.bindTexture(y.TEXTURE_2D,P.colorAttachment.get()),f.activeTexture.set(y.TEXTURE1),w.bind(y.LINEAR,y.CLAMP_TO_EDGE);const E=x.getProjectionData({overscaledTileID:n,applyTerrainMatrix:c,applyGlobeMatrix:!a});h.useProgram("heatmapTexture").draw(f,y.TRIANGLES,Oe.disabled,We.disabled,h.colorModeForRenderPass(),Ze.disabled,Xn(h,t,0,1),null,E,t.id,h.rasterBoundsBuffer,h.quadTriangleIndexBuffer,h.rasterBoundsSegments,t.paint,x.zoom),P.destroy(),t.heatmapFbos.delete(S)}function fl(h,t,n){var a,c;const f=h.gl,y=f.createTexture();f.bindTexture(f.TEXTURE_2D,y),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,f.LINEAR);const x=(a=h.HALF_FLOAT)!==null&&a!==void 0?a:f.UNSIGNED_BYTE,w=(c=h.RGBA16F)!==null&&c!==void 0?c:f.RGBA;f.texImage2D(f.TEXTURE_2D,0,w,t,n,0,f.RGBA,x,null);const S=h.createFramebuffer(t,n,!1,!1);return S.colorAttachment.set(y),S}function js(h,t){return t.colorRampTexture||(t.colorRampTexture=new d.T(h,t.colorRamp,h.gl.RGBA)),t.colorRampTexture}function Go(h,t,n,a,c,f,y,x){let w=256;if(c.stepInterpolant){const S=t.getSource().maxzoom,P=y.canonical.z===S?Math.ceil(1<<h.transform.maxZoom-y.canonical.z):1;w=d.al(d.ce(f.maxLineLength/d.a6*1024*P),256,n.maxTextureSize)}return x.gradient=d.cf({expression:c.gradientExpression(),evaluationKey:"lineProgress",resolution:w,image:x.gradient||void 0,clips:f.lineClipsArray}),x.texture?x.texture.update(x.gradient):x.texture=new d.T(n,x.gradient,a.RGBA),x.version=c.gradientVersion,x.texture}function Qu(h,t,n,a,c){h.activeTexture.set(t.TEXTURE0),n.imageAtlasTexture.bind(t.LINEAR,t.CLAMP_TO_EDGE),a.updatePaintBuffers(c)}function Vc(h,t,n,a,c,f){(c||h.lineAtlas.dirty)&&(t.activeTexture.set(n.TEXTURE0),h.lineAtlas.bind(t)),a.updatePaintBuffers(f)}function St(h,t,n,a,c,f,y){const x=f.gradients[c.id];let w=x.texture;c.gradientVersion!==x.version&&(w=Go(h,t,n,a,c,f,y,x)),n.activeTexture.set(a.TEXTURE0),w.bind(c.stepInterpolant?a.NEAREST:a.LINEAR,a.CLAMP_TO_EDGE)}function vn(h,t,n,a,c,f,y,x,w){const S=f.gradients[c.id];let P=S.texture;c.gradientVersion!==S.version&&(P=Go(h,t,n,a,c,f,y,S)),n.activeTexture.set(a.TEXTURE0),P.bind(c.stepInterpolant?a.NEAREST:a.LINEAR,a.CLAMP_TO_EDGE),n.activeTexture.set(a.TEXTURE1),h.lineAtlas.bind(n),x.updatePaintBuffers(w)}function vi(h,t,n,a,c){if(!n||!a?.imageAtlas)return;const f=a.imageAtlas.patternPositions;let y=f[n.to.toString()],x=f[n.from.toString()];if(!y&&x&&(y=x),!x&&y&&(x=y),!y||!x){const w=c.getPaintProperty(t);y=f[w],x=f[w]}y&&x&&h.setConstantPatternPositions(y,x)}function $o(h,t,n,a,c,f,y,x){var w;const S=h.context.gl,P="fill-pattern",E=n.paint.get(P),C=E?.constantOr(1),z=n.getCrossfadeParameters();let B,V,G,N,$;const X=h.transform,Z=n.paint.get("fill-translate"),U=n.paint.get("fill-translate-anchor");y?(V=C&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",B=S.LINES):(V=C?"fillPattern":"fill",B=S.TRIANGLES);const H=E.constantOr(null);for(const q of a){const Q=t.getTile(q);if(C&&!Q.patternsLoaded())continue;const se=Q.getBucket(n);if(!se)continue;const oe=se.programConfigurations.get(n.id),de=h.useProgram(V,oe),he=(w=h.style.map.terrain)===null||w===void 0?void 0:w.getTerrainData(q);C&&(h.context.activeTexture.set(S.TEXTURE0),Q.imageAtlasTexture.bind(S.LINEAR,S.CLAMP_TO_EDGE),oe.updatePaintBuffers(z)),vi(oe,P,H,Q,n);const Pe=X.getProjectionData({overscaledTileID:q,applyGlobeMatrix:!x,applyTerrainMatrix:!0}),ve=d.aL(X,Q,Z,U);if(y){N=se.indexBuffer2,$=se.segments2;const we=[S.drawingBufferWidth,S.drawingBufferHeight];G=V==="fillOutlinePattern"&&C?wc(h,z,Q,we,ve):bc(we,ve)}else N=se.indexBuffer,$=se.segments,G=C?Co(h,z,Q,ve):{u_fill_translate:ve};const ue=h.stencilModeForClipping(q);de.draw(h.context,B,c,ue,f,Ze.backCCW,G,he,Pe,n.id,se.layoutVertexBuffer,N,$,n.paint,h.transform.zoom,oe)}}function is(h,t,n,a,c,f,y,x){var w;const S=h.context,P=S.gl,E="fill-extrusion-pattern",C=n.paint.get(E),z=C.constantOr(1),B=n.getCrossfadeParameters(),V=n.paint.get("fill-extrusion-opacity"),G=C.constantOr(null),N=h.transform;
801for(const $ of a){const X=t.getTile($),Z=X.getBucket(n);if(!Z)continue;const U=(w=h.style.map.terrain)===null||w===void 0?void 0:w.getTerrainData($),H=Z.programConfigurations.get(n.id),q=h.useProgram(z?"fillExtrusionPattern":"fillExtrusion",H);z&&(h.context.activeTexture.set(P.TEXTURE0),X.imageAtlasTexture.bind(P.LINEAR,P.CLAMP_TO_EDGE),H.updatePaintBuffers(B));const Q=N.getProjectionData({overscaledTileID:$,applyGlobeMatrix:!x,applyTerrainMatrix:!0});vi(H,E,G,X,n);const se=d.aL(N,X,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),oe=n.paint.get("fill-extrusion-vertical-gradient"),de=z?xc(h,oe,V,se,$,B,X):vc(h,oe,V,se);q.draw(S,S.gl.TRIANGLES,c,f,y,Ze.backCCW,de,U,Q,n.id,Z.layoutVertexBuffer,Z.indexBuffer,Z.segments,n.paint,h.transform.zoom,H,h.style.map.terrain&&Z.centroidVertexBuffer)}}function Zo(h,t,n,a,c,f,y,x,w){var S;const P=h.style.projection,E=h.context,C=h.transform,z=E.gl,B=[`#define NUM_ILLUMINATION_SOURCES ${n.paint.get("hillshade-highlight-color").values.length}`],V=h.useProgram("hillshade",null,!1,B),G=!h.options.moving;for(const N of a){const $=t.getTile(N),X=$.fbo;if(!X)continue;const Z=P.getMeshFromTileID(E,N.canonical,x,!0,"raster"),U=(S=h.style.map.terrain)===null||S===void 0?void 0:S.getTerrainData(N);E.activeTexture.set(z.TEXTURE0),z.bindTexture(z.TEXTURE_2D,X.colorAttachment.get());const H=C.getProjectionData({overscaledTileID:N,aligned:G,applyGlobeMatrix:!w,applyTerrainMatrix:!0});V.draw(E,z.TRIANGLES,f,c[N.overscaledZ],y,Ze.backCCW,Nu(h,$,n),U,H,n.id,Z.vertexBuffer,Z.indexBuffer,Z.segments)}}let Rr=0;function Ns(h,t,n,a,c,f,y,x,w){var S;const P=h.style.projection,E=h.context,C=h.transform,z=E.gl,B=h.useProgram("colorRelief"),V=!h.options.moving,G=n.paint.get("resampling")==="nearest"?z.NEAREST:z.LINEAR;let N=!0,$=0;for(const X of a){const Z=t.getTile(X),U=Z.dem;if(N){Rr||(Rr=z.getParameter(z.MAX_TEXTURE_SIZE));const de=Rr,{elevationTexture:he,colorTexture:Pe}=n.getColorRampTextures(E,de,U.getUnpackVector());E.activeTexture.set(z.TEXTURE1),he.bind(z.NEAREST,z.CLAMP_TO_EDGE),E.activeTexture.set(z.TEXTURE4),Pe.bind(z.LINEAR,z.CLAMP_TO_EDGE),N=!1,$=he.size[0]}if(!U?.data)continue;const H=U.stride,q=U.getPixels();if(E.activeTexture.set(z.TEXTURE0),E.pixelStoreUnpackPremultiplyAlpha.set(!1),Z.demTexture||(Z.demTexture=h.getTileTexture(H)),Z.demTexture){const de=Z.demTexture;de.update(q,{premultiply:!1}),de.bind(G,z.CLAMP_TO_EDGE)}else Z.demTexture=new d.T(E,q,z.RGBA,{premultiply:!1}),Z.demTexture.bind(G,z.CLAMP_TO_EDGE);const Q=P.getMeshFromTileID(E,X.canonical,x,!0,"raster"),se=(S=h.style.map.terrain)===null||S===void 0?void 0:S.getTerrainData(X),oe=C.getProjectionData({overscaledTileID:X,aligned:V,applyGlobeMatrix:!w,applyTerrainMatrix:!0});B.draw(E,z.TRIANGLES,f,c[X.overscaledZ],y,Ze.backCCW,Gu(n,Z.dem,$),se,oe,n.id,Q.vertexBuffer,Q.indexBuffer,Q.segments)}}const xn=[new d.P(0,0),new d.P(d.a6,0),new d.P(d.a6,d.a6),new d.P(0,d.a6)];function rs(h,t,n,a,c,f,y,x,w=!1,S=!1){var P;const E=a[a.length-1].overscaledZ,C=h.context,z=C.gl,B=h.useProgram("raster"),V=h.transform,G=h.style.projection,N=h.colorModeForRenderPass(),$=!h.options.moving,X=n.paint.get("raster-opacity"),Z=n.paint.get("resampling")==="nearest"||n.paint.get("raster-resampling")==="nearest"?z.NEAREST:z.LINEAR,U=n.paint.get("raster-fade-duration"),H=!!h.style.map.terrain;for(const q of a){const Q=h.getDepthModeForSublayer(q.overscaledZ-E,X===1?Oe.ReadWrite:Oe.ReadOnly,z.LESS),se=t.getTile(q);C.activeTexture.set(z.TEXTURE0),se.texture.bind(Z,z.CLAMP_TO_EDGE,z.LINEAR_MIPMAP_NEAREST),C.activeTexture.set(z.TEXTURE1);const{parentTile:oe,parentScaleBy:de,parentTopLeft:he,fadeValues:Pe}=jc(se,t,U,H);se.fadeOpacity=Pe.tileOpacity,oe?(oe.fadeOpacity=Pe.parentTileOpacity,oe.texture.bind(Z,z.CLAMP_TO_EDGE,z.LINEAR_MIPMAP_NEAREST)):se.texture.bind(Z,z.CLAMP_TO_EDGE,z.LINEAR_MIPMAP_NEAREST),se.texture.useMipmap&&C.extTextureFilterAnisotropic&&h.transform.pitch>h.options.anisotropicFilterPitch&&z.texParameterf(z.TEXTURE_2D,C.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,C.extTextureFilterAnisotropicMax);const ve=(P=h.style.map.terrain)===null||P===void 0?void 0:P.getTerrainData(q),ue=V.getProjectionData({overscaledTileID:q,aligned:$,applyGlobeMatrix:!S,applyTerrainMatrix:!0}),we=rl(he,de,Pe.fadeMix,n,x),Ee=G.getMeshFromTileID(C,q.canonical,f,y,"raster");B.draw(C,z.TRIANGLES,Q,c?c[q.overscaledZ]:We.disabled,N,w?Ze.frontCCW:Ze.backCCW,we,ve,ue,n.id,Ee.vertexBuffer,Ee.indexBuffer,Ee.segments)}}function jc(h,t,n,a){const c={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(n===0||a)return c;if(h.fadingParentID){const f=t.getLoadedTile(h.fadingParentID);if(!f)return c;
801const y=Math.pow(2,f.tileID.overscaledZ-h.tileID.overscaledZ),x=[h.tileID.canonical.x*y%1,h.tileID.canonical.y*y%1],w=function(S,P,E){const C=He(),z=(C-P.timeAdded)/E,B=S.fadingDirection===Li.Incoming,V=d.al((C-S.timeAdded)/E,0,1),G=d.al(1-z,0,1),N=B?V:G;return{tileOpacity:N,parentTileOpacity:B?G:V,fadeMix:{opacity:1,mix:1-N}}}(h,f,n);return{parentTile:f,parentScaleBy:y,parentTopLeft:x,fadeValues:w}}if(h.selfFading){const f=function(y,x){const w=(He()-y.timeAdded)/x,S=d.al(w,0,1);return{tileOpacity:S,fadeMix:{opacity:S,mix:0}}}(h,n);return{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:f}}return c}const Nc=new d.bo(1,0,0,1),Uc=new d.bo(0,1,0,1),Gc=new d.bo(0,0,1,1),$c=new d.bo(1,0,1,1),Fr=new d.bo(0,1,1,1);function ml(h,t,n,a){Us(h,0,t+n/2,h.transform.width,n,a)}function gl(h,t,n,a){Us(h,t-n/2,0,n,h.transform.height,a)}function Us(h,t,n,a,c,f){const y=h.context,x=y.gl;x.enable(x.SCISSOR_TEST),x.scissor(t*h.pixelRatio,n*h.pixelRatio,a*h.pixelRatio,c*h.pixelRatio),y.clear({color:f}),x.disable(x.SCISSOR_TEST)}function Zc(h,t,n){var a;const c=h.context,f=c.gl,y=h.useProgram("debug"),x=Oe.disabled,w=We.disabled,S=h.colorModeForRenderPass(),P="$debug",E=(a=h.style.map.terrain)===null||a===void 0?void 0:a.getTerrainData(n);c.activeTexture.set(f.TEXTURE0);const C=t.getTileByID(n.key).latestRawTileData,z=Math.floor((C?.byteLength||0)/1024),B=t.getTile(n).tileSize,V=512/Math.min(B,512)*(n.overscaledZ/h.transform.zoom)*.5;let G=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(G+=` => ${n.overscaledZ}`),function($,X){$.initDebugOverlayCanvas();const Z=$.debugOverlayCanvas,U=$.context.gl,H=$.debugOverlayCanvas.getContext("2d");H.clearRect(0,0,Z.width,Z.height),H.shadowColor="white",H.shadowBlur=2,H.lineWidth=1.5,H.strokeStyle="white",H.textBaseline="top",H.font="bold 36px Open Sans, sans-serif",H.fillText(X,5,5),H.strokeText(X,5,5),$.debugOverlayTexture.update(Z),$.debugOverlayTexture.bind(U.LINEAR,U.CLAMP_TO_EDGE)}(h,`${G} ${z}kB`);const N=h.transform.getProjectionData({overscaledTileID:n,applyGlobeMatrix:!0,applyTerrainMatrix:!0});y.draw(c,f.TRIANGLES,x,w,ot.alphaBlended,Ze.disabled,el(d.bo.transparent,V),null,N,P,h.debugBuffer,h.quadTriangleIndexBuffer,h.debugSegments),y.draw(c,f.LINE_STRIP,x,w,S,Ze.disabled,el(d.bo.red),E,N,P,h.debugBuffer,h.tileBorderIndexBuffer,h.debugSegments)}function _l(h,t,n,a){const{isRenderingGlobe:c}=a,f=h.context,y=f.gl,x=h.transform,w=h.colorModeForRenderPass(),S=h.getDepthModeFor3D(),P=h.useProgram("terrain");f.bindFramebuffer.set(null),f.viewport.set([0,0,h.width,h.height]);for(const E of n){const C=t.getTerrainMesh(E.tileID),z=h.renderToTexture.getTexture(E),B=t.getTerrainData(E.tileID);f.activeTexture.set(y.TEXTURE0),y.bindTexture(y.TEXTURE_2D,z.texture);const V=t.getMeshFrameDelta(x.zoom),G=x.calculateFogMatrix(E.tileID.toUnwrapped()),N=Eo(V,G,h.style.sky,x.pitch,c),$=x.getProjectionData({overscaledTileID:E.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});P.draw(f,y.TRIANGLES,S,We.disabled,w,Ze.backCCW,N,B,$,"terrain",C.vertexBuffer,C.indexBuffer,C.segments)}}function yl(h,t){if(!t.mesh){const n=new d.aU;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(1,1),n.emplaceBack(-1,1);const a=new d.aW;a.emplaceBack(0,1,2),a.emplaceBack(0,2,3),t.mesh=new st(h.createVertexBuffer(n,zr.members),h.createIndexBuffer(a),d.aV.simpleSegment(0,0,n.length,a.length))}return t.mesh}
801const qc={symbol:function(h,t,n,a,c,f){if(h.renderPass!=="translucent")return;const{isRenderingToTexture:y}=f,x=We.disabled,w=h.colorModeForRenderPass();(n._unevaluatedLayout.hasValue("text-variable-anchor")||n._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(S,P,E,C,z,B,V,G,N){var $;const X=P.transform,Z=P.style.map.terrain,U=z==="map",H=B==="map";for(const q of S){const Q=C.getTile(q),se=Q.getBucket(E);if(!(!(($=se?.text)===null||$===void 0)&&$.segments.get().length))continue;const oe=d.aw(se.textSizeData,X.zoom),de=d.aK(Q,1,P.transform.zoom),he=Pi(U,P.transform,de),Pe=E.layout.get("icon-text-fit")!=="none"&&se.hasIconData();if(oe){const ve=Math.pow(2,X.zoom-Q.tileID.overscaledZ),ue=Z?(we,Ee)=>Z.getElevation(q,we,Ee):null;Os(se,U,H,N,X,he,ve,oe,Pe,d.aL(X,Q,V,G),q.toUnwrapped(),ue)}}}(a,h,n,t,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),c),n.paint.get("icon-opacity").constantOr(1)!==0&&dl(h,t,n,a,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),x,w,y),n.paint.get("text-opacity").constantOr(1)!==0&&dl(h,t,n,a,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),x,w,y),t.map.showCollisionBoxes&&(es(h,t,n,a,!0),es(h,t,n,a,!1))},circle:function(h,t,n,a,c){var f;if(h.renderPass!=="translucent")return;const{isRenderingToTexture:y}=c,x=n.paint.get("circle-opacity"),w=n.paint.get("circle-stroke-width"),S=n.paint.get("circle-stroke-opacity"),P=!n.layout.get("circle-sort-key").isConstant();if(x.constantOr(1)===0&&(w.constantOr(1)===0||S.constantOr(1)===0))return;const E=h.context,C=E.gl,z=h.transform,B=h.getDepthModeForSublayer(0,Oe.ReadOnly),V=We.disabled,G=h.colorModeForRenderPass(),N=[],$=z.getCircleRadiusCorrection();for(const X of a){const Z=t.getTile(X),U=Z.getBucket(n);if(!U)continue;const H=n.paint.get("circle-translate"),q=n.paint.get("circle-translate-anchor"),Q=d.aL(z,Z,H,q),se=U.programConfigurations.get(n.id),oe=h.useProgram("circle",se),de=U.layoutVertexBuffer,he=U.indexBuffer,Pe=(f=h.style.map.terrain)===null||f===void 0?void 0:f.getTerrainData(X),ve={programConfiguration:se,program:oe,layoutVertexBuffer:de,indexBuffer:he,uniformValues:Tc(h,Z,n,Q,$),terrainData:Pe,projectionData:z.getProjectionData({overscaledTileID:X,applyGlobeMatrix:!y,applyTerrainMatrix:!0})};if(P){const ue=U.segments.get();for(const we of ue)N.push({segments:new d.aV([we]),sortKey:we.sortKey,state:ve})}else N.push({segments:U.segments,sortKey:0,state:ve})}P&&N.sort((X,Z)=>X.sortKey-Z.sortKey);for(const X of N){const{programConfiguration:Z,program:U,layoutVertexBuffer:H,indexBuffer:q,uniformValues:Q,terrainData:se,projectionData:oe}=X.state;U.draw(E,C.TRIANGLES,B,V,G,Ze.backCCW,Q,se,oe,n.id,H,q,X.segments,n.paint,h.transform.zoom,Z)}},heatmap:function(h,t,n,a,c){if(n.paint.get("heatmap-opacity")===0)return;const f=h.context,{isRenderingToTexture:y,isRenderingGlobe:x}=c;if(h.style.map.terrain){for(const w of a){const S=t.getTile(w);t.hasRenderableParent(w)||(h.renderPass==="offscreen"?pl(h,S,n,w,x):h.renderPass==="translucent"&&Oc(h,n,w,y,x))}f.viewport.set([0,0,h.width,h.height])}else h.renderPass==="offscreen"?function(w,S,P,E){const C=w.context,z=C.gl,B=w.transform,V=We.disabled,G=new ot([z.ONE,z.ONE],d.bo.transparent,[!0,!0,!0,!0]);(function(N,$,X){const Z=N.gl;N.activeTexture.set(Z.TEXTURE1),N.viewport.set([0,0,$.width/4,$.height/4]);let U=X.heatmapFbos.get(d.cd);U?(Z.bindTexture(Z.TEXTURE_2D,U.colorAttachment.get()),N.bindFramebuffer.set(U.framebuffer)):(U=fl(N,$.width/4,$.height/4),X.heatmapFbos.set(d.cd,U))})(C,w,P),C.clear({color:d.bo.transparent});for(const N of E){if(S.hasRenderableParent(N))continue;const $=S.getTile(N),X=$.getBucket(P);if(!X)continue;const Z=X.programConfigurations.get(P.id),U=w.useProgram("heatmap",Z),H=B.getProjectionData({overscaledTileID:N,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),q=B.getCircleRadiusCorrection();U.draw(C,z.TRIANGLES,Oe.disabled,V,G,Ze.backCCW,tl($,B.zoom,P.paint.get("heatmap-intensity"),q),null,H,P.id,X.layoutVertexBuffer,X.indexBuffer,X.segments,P.paint,B.zoom,Z)}C.viewport.set([0,0,w.width,w.height])}(h,t,n,a):h.renderPass==="translucent"&&function(w,S){const P=w.context,E=P.gl;P.setColorMode(w.colorModeForRenderPass());const C=S.heatmapFbos.get(d.cd);C&&(P.activeTexture.set(E.TEXTURE0),E.bindTexture(E.TEXTURE_2D,C.colorAttachment.get()),P.activeTexture.set(E.TEXTURE1),js(P,S).bind(E.LINEAR,E.CLAMP_TO_EDGE),w.useProgram("heatmapTexture").draw(P,E.TRIANGLES,Oe.disabled,We.disabled,w.colorModeForRenderPass(),Ze.disabled,Xn(w,S,0,1),null,null,S.id,w.viewportBuffer,w.quadTriangleIndexBuffer,w.viewportSegments,S.paint,w.transform.zoom))}(h,n)},line:function(h,t,n,a,c){var f;if(h.renderPass!=="translucent")return;const{isRenderingToTexture:y}=c,x=n.paint.get("line-opacity"),w=n.paint.get("line-width");if(x.constantOr(1)===0||w.constantOr(1)===0)return;
801const S=h.getDepthModeForSublayer(0,Oe.ReadOnly),P=h.colorModeForRenderPass(),E=n.paint.get("line-dasharray"),C=E.constantOr(1),z=n.paint.get("line-pattern"),B=z.constantOr(1),V=n.paint.get("line-gradient"),G=n.getCrossfadeParameters();let N;N=B?"linePattern":C&&V?"lineGradientSDF":C?"lineSDF":V?"lineGradient":"line";const $=h.context,X=$.gl,Z=h.transform;let U=!0;for(const H of a){const q=t.getTile(H);if(B&&!q.patternsLoaded())continue;const Q=q.getBucket(n);if(!Q)continue;const se=Q.programConfigurations.get(n.id),oe=h.context.program.get(),de=h.useProgram(N,se),he=U||de.program!==oe,Pe=(f=h.style.map.terrain)===null||f===void 0?void 0:f.getTerrainData(H),ve=z.constantOr(null),ue=E?.constantOr(null);if(ve&&q.imageAtlas){const rt=q.imageAtlas,Mt=rt.patternPositions[ve.to.toString()],Ct=rt.patternPositions[ve.from.toString()];Mt&&Ct&&se.setConstantPatternPositions(Mt,Ct)}else if(ue){const rt=n.layout.get("line-cap").constantOr(null)==="round",Mt=h.lineAtlas.getDash(ue.to,rt),Ct=h.lineAtlas.getDash(ue.from,rt);se.setConstantDashPositions(Mt,Ct)}const we=Z.getProjectionData({overscaledTileID:H,applyGlobeMatrix:!y,applyTerrainMatrix:!0}),Ee=Z.getPixelScale();let Qe;B?(Qe=Ic(h,q,n,Ee,G),Qu($,X,q,se,G)):C&&V?(Qe=Mc(h,q,n,Ee,G,Q.lineClipsArray.length),vn(h,t,$,X,n,Q,H,se,G)):C?(Qe=il(h,q,n,Ee,G),Vc(h,$,X,se,he,G)):V?(Qe=Pc(h,q,n,Ee,Q.lineClipsArray.length),St(h,t,$,X,n,Q,H)):Qe=zs(h,q,n,Ee);const Pt=h.stencilModeForClipping(H);de.draw($,X.TRIANGLES,S,Pt,P,Ze.disabled,Qe,Pe,we,n.id,Q.layoutVertexBuffer,Q.indexBuffer,Q.segments,n.paint,h.transform.zoom,se,Q.layoutVertexBuffer2),U=!1}},fill:function(h,t,n,a,c){const f=n.paint.get("fill-color"),y=n.paint.get("fill-opacity");if(y.constantOr(1)===0)return;const{isRenderingToTexture:x}=c,w=h.colorModeForRenderPass(),S=n.paint.get("fill-pattern"),P=h.opaquePassEnabledForLayer()&&!S.constantOr(1)&&f.constantOr(d.bo.transparent).a===1&&y.constantOr(0)===1?"opaque":"translucent";if(h.renderPass===P){const E=h.getDepthModeForSublayer(1,h.renderPass==="opaque"?Oe.ReadWrite:Oe.ReadOnly);$o(h,t,n,a,E,w,!1,x)}if(h.renderPass==="translucent"&&n.paint.get("fill-antialias")){const E=h.getDepthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,Oe.ReadOnly);$o(h,t,n,a,E,w,!0,x)}},fillExtrusion:function(h,t,n,a,c){const f=n.paint.get("fill-extrusion-opacity");if(f===0)return;const{isRenderingToTexture:y}=c;if(h.renderPass==="translucent"){const x=new Oe(h.context.gl.LEQUAL,Oe.ReadWrite,h.depthRangeFor3D);if(f!==1||n.paint.get("fill-extrusion-pattern").constantOr(1))is(h,t,n,a,x,We.disabled,ot.disabled,y),is(h,t,n,a,x,h.stencilModeFor3D(),h.colorModeForRenderPass(),y);else{const w=h.colorModeForRenderPass();is(h,t,n,a,x,We.disabled,w,y)}}},hillshade:function(h,t,n,a,c){if(h.renderPass!=="offscreen"&&h.renderPass!=="translucent")return;const{isRenderingToTexture:f}=c,y=h.context,x=h.style.projection.useSubdivision,w=h.getDepthModeForSublayer(0,Oe.ReadOnly),S=h.colorModeForRenderPass();if(h.renderPass==="offscreen")(function(P,E,C,z,B,V,G){const N=P.context,$=N.gl,X=z.paint.get("resampling")==="nearest"?$.NEAREST:$.LINEAR;for(const Z of C){const U=E.getTile(Z),H=U.dem;if(!H?.data||!U.needsHillshadePrepare)continue;const q=H.dim,Q=H.stride,se=H.getPixels();if(N.activeTexture.set($.TEXTURE1),N.pixelStoreUnpackPremultiplyAlpha.set(!1),U.demTexture||(U.demTexture=P.getTileTexture(Q)),U.demTexture){const de=U.demTexture;de.update(se,{premultiply:!1}),de.bind($.NEAREST,$.CLAMP_TO_EDGE)}else U.demTexture=new d.T(N,se,$.RGBA,{premultiply:!1}),U.demTexture.bind($.NEAREST,$.CLAMP_TO_EDGE);N.activeTexture.set($.TEXTURE0);let oe=U.fbo;if(!oe){const de=new d.T(N,{width:q,height:q,data:null},$.RGBA);de.bind(X,$.CLAMP_TO_EDGE),oe=U.fbo=N.createFramebuffer(q,q,!0,!1),oe.colorAttachment.set(de.texture)}N.bindFramebuffer.set(oe.framebuffer),N.viewport.set([0,0,q,q]),P.useProgram("hillshadePrepare").draw(N,$.TRIANGLES,B,V,G,Ze.disabled,Ao(U.tileID,H),null,null,z.id,P.rasterBoundsBuffer,P.quadTriangleIndexBuffer,P.rasterBoundsSegments),U.needsHillshadePrepare=!1}})(h,t,a,n,w,We.disabled,S),y.viewport.set([0,0,h.width,h.height]);else if(h.renderPass==="translucent")if(x){const[P,E,C]=h.stencilConfigForOverlapTwoPass(a);Zo(h,t,n,C,P,w,S,!1,f),Zo(h,t,n,C,E,w,S,!0,f)}else{const[P,E]=h.getStencilConfigForOverlapAndUpdateStencilID(a);Zo(h,t,n,E,P,w,S,!1,f)}},colorRelief:function(h,t,n,a,c){if(h.renderPass!=="translucent"||!a.length)return;const{isRenderingToTexture:f}=c,y=h.style.projection.useSubdivision,x=h.getDepthModeForSublayer(0,Oe.ReadOnly),w=h.colorModeForRenderPass();if(y){const[S,P,E]=h.stencilConfigForOverlapTwoPass(a);
vendor: 10,146 bytes, lines 801-803
801Ns(h,t,n,E,S,x,w,!1,f),Ns(h,t,n,E,P,x,w,!0,f)}else{const[S,P]=h.getStencilConfigForOverlapAndUpdateStencilID(a);Ns(h,t,n,P,S,x,w,!1,f)}},raster:function(h,t,n,a,c){if(h.renderPass!=="translucent"||n.paint.get("raster-opacity")===0||!a.length)return;const{isRenderingToTexture:f}=c,y=t.getSource(),x=h.style.projection.useSubdivision;if(y instanceof Er)rs(h,t,n,a,null,!1,!1,y.tileCoords,y.flippedWindingOrder,f);else if(x){const[w,S,P]=h.stencilConfigForOverlapTwoPass(a);rs(h,t,n,P,w,!1,!0,xn,!1,f),rs(h,t,n,P,S,!0,!0,xn,!1,f)}else{const[w,S]=h.getStencilConfigForOverlapAndUpdateStencilID(a);rs(h,t,n,S,w,!1,!0,xn,!1,f)}},background:function(h,t,n,a,c){var f;const y=n.paint.get("background-color"),x=n.paint.get("background-opacity");if(x===0)return;const{isRenderingToTexture:w}=c,S=h.context,P=S.gl,E=h.style.projection,C=h.transform,z=C.tileSize,B=n.paint.get("background-pattern");if(h.isPatternMissing(B))return;const V=!B&&y.a===1&&x===1&&h.opaquePassEnabledForLayer()?"opaque":"translucent";if(h.renderPass!==V)return;const G=We.disabled,N=h.getDepthModeForSublayer(0,V==="opaque"?Oe.ReadWrite:Oe.ReadOnly),$=h.colorModeForRenderPass(),X=h.useProgram(B?"backgroundPattern":"background"),Z=a||rn(C,{tileSize:z,terrain:h.style.map.terrain});B&&(S.activeTexture.set(P.TEXTURE0),h.imageManager.bind(h.context));const U=n.getCrossfadeParameters();for(const H of Z){const q=C.getProjectionData({overscaledTileID:H,applyGlobeMatrix:!w,applyTerrainMatrix:!0}),Q=B?al(x,h,B,{tileID:H,tileSize:z},U):mn(x,y),se=(f=h.style.map.terrain)===null||f===void 0?void 0:f.getTerrainData(H),oe=E.getMeshFromTileID(S,H.canonical,!1,!0,"raster");X.draw(S,P.TRIANGLES,N,G,$,Ze.backCCW,Q,se,q,n.id,oe.vertexBuffer,oe.indexBuffer,oe.segments)}},sky:function(h,t){const n=h.context,a=n.gl,c=((P,E,C)=>{const z=Math.cos(E.rollInRadians),B=Math.sin(E.rollInRadians),V=tn(E),G=E.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:P.properties.get("sky-color"),u_horizon_color:P.properties.get("horizon-color"),u_horizon:[(E.width/2-V*B)*C,(E.height/2+V*z)*C],u_horizon_normal:[-B,z],u_sky_horizon_blend:P.properties.get("sky-horizon-blend")*E.height/2*C,u_sky_blend:G}})(t,h.style.map.transform,h.pixelRatio),f=new Oe(a.LEQUAL,Oe.ReadWrite,[0,1]),y=We.disabled,x=h.colorModeForRenderPass(),w=h.useProgram("sky"),S=yl(n,t);w.draw(n,a.TRIANGLES,f,y,x,Ze.disabled,c,null,void 0,"sky",S.vertexBuffer,S.indexBuffer,S.segments)},atmosphere:function(h,t,n){const a=h.context,c=a.gl,f=h.useProgram("atmosphere"),y=new Oe(c.LEQUAL,Oe.ReadOnly,[0,1]),x=h.transform,w=function(G,N){const $=G.properties.get("position"),X=[-$.x,-$.y,-$.z],Z=d.ap(new Float64Array(16));return G.properties.get("anchor")==="map"&&(d.be(Z,Z,N.rollInRadians),d.bf(Z,Z,-N.pitchInRadians),d.be(Z,Z,N.bearingInRadians),d.bf(Z,Z,N.center.lat*Math.PI/180),d.bI(Z,Z,-N.center.lng*Math.PI/180)),d.cg(X,X,Z),X}(n,h.transform),S=x.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),P=t.properties.get("atmosphere-blend")*S.projectionTransition;if(P===0)return;const E=Mi(x.worldSize,x.center.lat),C=x.inverseProjectionMatrix,z=new Float64Array(4);z[3]=1,d.aE(z,z,x.modelViewProjectionMatrix),z[0]/=z[3],z[1]/=z[3],z[2]/=z[3],z[3]=1,d.aE(z,z,C),z[0]/=z[3],z[1]/=z[3],z[2]/=z[3],z[3]=1;const B=((G,N,$,X,Z)=>({u_sun_pos:G,u_atmosphere_blend:N,u_globe_position:$,u_globe_radius:X,u_inv_proj_matrix:Z}))(w,P,[z[0],z[1],z[2]],E,C),V=yl(a,t);f.draw(a,c.TRIANGLES,y,We.disabled,ot.alphaBlended,Ze.disabled,B,null,null,"atmosphere",V.vertexBuffer,V.indexBuffer,V.segments)},custom:function(h,t,n,a){const{isRenderingGlobe:c}=a,f=h.context,y=n.implementation,x=h.style.projection,w=h.transform,S=w.getProjectionDataForCustomLayer(c),P={farZ:w.farZ,nearZ:w.nearZ,fov:w.fov*Math.PI/180,modelViewProjectionMatrix:w.modelViewProjectionMatrix,projectionMatrix:w.projectionMatrix,shaderData:{variantName:x.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793; 802uniform mat4 u_projection_matrix; 803${x.shaderPreludeCode.vertexSource}`,define:x.shaderDefine},defaultProjectionData:S},E=y.renderingMode?y.renderingMode:"2d";if(h.renderPass==="offscreen"){const C=y.prerender;C&&(h.setCustomLayerDefaults(),f.setColorMode(h.colorModeForRenderPass()),C.call(y,f.gl,P),f.setDirty(),h.setBaseState())}else if(h.renderPass==="translucent"){h.setCustomLayerDefaults(),f.setColorMode(h.colorModeForRenderPass()),f.setStencilMode(We.disabled);const C=E==="3d"?h.getDepthModeFor3D():h.getDepthModeForSublayer(0,Oe.ReadOnly);f.setDepthMode(C),y.render(f.gl,P),f.setDirty(),h.setBaseState(),f.bindFramebuffer.set(null)}},debug:function(h,t,n){for(const a of n)Zc(h,t,a)},debugPadding:function(h){const t=h.transform.padding;ml(h,h.transform.height-(t.top||0),3,Nc),ml(h,t.bottom||0,3,Uc),gl(h,t.left||0,3,Gc),gl(h,h.transform.width-(t.right||0),3,$c);const n=h.transform.centerPoint;(function(a,c,f,y){Us(a,c-1,f-10,2,20,y),Us(a,c-10,f-1,20,2,y)})(h,n.x,h.transform.height-n.y,Fr)},terrainDepth:function(h,t){const n=h.context,a=n.gl,c=h.transform,f=ot.unblended,y=new Oe(a.LEQUAL,Oe.ReadWrite,[0,1]),x=t.tileManager.getRenderableTiles(),w=h.useProgram("terrainDepth");n.bindFramebuffer.set(t.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,h.width/devicePixelRatio,h.height/devicePixelRatio]),n.clear({color:d.bo.transparent,depth:1});for(const S of x){const P=t.getTerrainMesh(S.tileID),E=t.getTerrainData(S.tileID),C=c.getProjectionData({overscaledTileID:S.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),z={u_ele_delta:t.getMeshFrameDelta(c.zoom)};w.draw(n,a.TRIANGLES,y,We.disabled,f,Ze.backCCW,z,E,C,"terrain",P.vertexBuffer,P.indexBuffer,P.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,h.width,h.height])},terrainCoords:function(h,t){const n=h.context,a=n.gl,c=h.transform,f=ot.unblended,y=new Oe(a.LEQUAL,Oe.ReadWrite,[0,1]),x=t.getCoordsTexture(),w=t.tileManager.getRenderableTiles(),S=h.useProgram("terrainCoords");n.bindFramebuffer.set(t.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,h.width/devicePixelRatio,h.height/devicePixelRatio]),n.clear({color:d.bo.transparent,depth:1}),t.coordsIndex=[];for(const P of w){const E=t.getTerrainMesh(P.tileID),C=t.getTerrainData(P.tileID);n.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,x.texture);const z={u_terrain_coords_id:(255-t.coordsIndex.length)/255,u_texture:0,u_ele_delta:t.getMeshFrameDelta(c.zoom)},B=c.getProjectionData({overscaledTileID:P.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});S.draw(n,a.TRIANGLES,y,We.disabled,f,Ze.backCCW,z,C,B,"terrain",E.vertexBuffer,E.indexBuffer,E.segments),t.coordsIndex.push(P.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,h.width,h.height])}};class Gs{constructor(t,n){this.drawFunctions=qc,this.context=new Uo(t),this.transform=n,this._tileTextures={},this.terrainFacilitator={depthDirty:!0,coordsDirty:!1,matrix:d.ap(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=qt.maxOverzooming+qt.maxUnderzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new _i}resize(t,n,a){if(this.width=Math.floor(t*a),this.height=Math.floor(n*a),this.pixelRatio=a,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const c of this.style._order)this.style._layers[c].resize()}setup(){const t=this.context,n=new d.aU;n.emplaceBack(0,0),n.emplaceBack(d.a6,0),n.emplaceBack(0,d.a6),n.emplaceBack(d.a6,d.a6),this.tileExtentBuffer=t.createVertexBuffer(n,zr.members),this.tileExtentSegments=d.aV.simpleSegment(0,0,4,2);const a=new d.aU;a.emplaceBack(0,0),a.emplaceBack(d.a6,0),a.emplaceBack(0,d.a6),a.emplaceBack(d.a6,d.a6),this.debugBuffer=t.createVertexBuffer(a,zr.members),this.debugSegments=d.aV.simpleSegment(0,0,4,5);const c=new d.ch;c.emplaceBack(0,0,0,0),c.emplaceBack(d.a6,0,d.a6,0),c.emplaceBack(0,d.a6,0,d.a6),c.emplaceBack(d.a6,d.a6,d.a6,d.a6),this.rasterBoundsBuffer=t.createVertexBuffer(c,Ds.members),this.rasterBoundsSegments=d.aV.simpleSegment(0,0,4,2);const f=new d.aU;f.emplaceBack(0,0),f.emplaceBack(d.a6,0),f.emplaceBack(0,d.a6),f.emplaceBack(d.a6,d.a6),this.rasterBoundsBufferPosOnly=t.createVertexBuffer(f,zr.members),this.rasterBoundsSegmentsPosOnly=d.aV.simpleSegment(0,0,4,5);const y=new d.aU;y.emplaceBack(0,0),y.emplaceBack(1,0),y.emplaceBack(0,1),y.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(y,zr.members),this.viewportSegments=d.aV.simpleSegment(0,0,4,2);const x=new d.ci;x.emplaceBack(0),x.emplaceBack(1),x.emplaceBack(3),x.emplaceBack(2),x.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(x);const w=new d.aW;w.emplaceBack(1,0,2),w.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(w);const S=this.context.gl;this.stencilClearMode=new We({func:S.ALWAYS,mask:0},0,255,S.ZERO,S.ZERO,S.ZERO),this.tileExtentMesh=new st(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){const t=this.context,n=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=d.O();d.c7(a,0,this.width,this.height,0,0,1),d.S(a,a,[n.drawingBufferWidth,n.drawingBufferHeight,0]);const c={mainMatrix:a,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:a};this.useProgram("clippingMask",null,!0).draw(t,n.TRIANGLES,Oe.disabled,this.stencilClearMode,ot.disabled,Ze.disabled,null,null,c,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,n,a){if(this.currentStencilSource===t.source||!t.isTileClipped()||!n?.length)return;this.currentStencilSource=t.source,this.nextStencilID+n.length>256&&this.clearStencil();const c=this.context;c.setColorMode(ot.disabled),c.setDepthMode(Oe.disabled);const f={};for(const y of n)f[y.key]=this.nextStencilID++;this._renderTileMasks(f,n,a,!0),this._renderTileMasks(f,n,a,!1),this._tileClippingMaskIDs=f}_renderTileMasks(t,n,a,c){var f;const y=this.context,x=y.gl,w=this.style.projection,S=this.transform,P=this.useProgram("clippingMask");for(const E of n){const C=t[E.key],z=(f=this.style.map.terrain)===null||f===void 0?void 0:f.getTerrainData(E),B=w.getMeshFromTileID(this.context,E.c
803anonical,c,!0,"stencil"),V=S.getProjectionData({overscaledTileID:E,applyGlobeMatrix:!a,applyTerrainMatrix:!0});P.draw(y,x.TRIANGLES,Oe.disabled,new We({func:x.ALWAYS,mask:0},C,255,x.KEEP,x.KEEP,x.REPLACE),ot.disabled,a?Ze.disabled:Ze.backCCW,null,z,V,"$clipping",B.vertexBuffer,B.indexBuffer,B.segments)}}_renderTilesDepthBuffer(){var t;const n=this.context,a=n.gl,c=this.style.projection,f=this.transform,y=this.useProgram("depth"),x=this.getDepthModeFor3D(),w=rn(f,{tileSize:f.tileSize});for(const S of w){const P=(t=this.style.map.terrain)===null||t===void 0?void 0:t.getTerrainData(S),E=c.getMeshFromTileID(this.context,S.canonical,!0,!0,"raster"),C=f.getProjectionData({overscaledTileID:S,applyGlobeMatrix:!0,applyTerrainMatrix:!0});y.draw(n,a.TRIANGLES,x,We.disabled,ot.disabled,Ze.backCCW,null,P,C,"$clipping",E.vertexBuffer,E.indexBuffer,E.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,n=this.context.gl;return new We({func:n.NOTEQUAL,mask:255},t,255,n.KEEP,n.KEEP,n.REPLACE)}stencilModeForClipping(t){const n=this.context.gl;return new We({func:n.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,n.KEEP,n.KEEP,n.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(t){const n=this.context.gl,a=t.sort((y,x)=>x.overscaledZ-y.overscaledZ),c=a[a.length-1].overscaledZ,f=a[0].overscaledZ-c+1;if(f>1){this.currentStencilSource=void 0,this.nextStencilID+f>256&&this.clearStencil();const y={};for(let x=0;x<f;x++)y[x+c]=new We({func:n.GEQUAL,mask:255},x+this.nextStencilID,255,n.KEEP,n.KEEP,n.REPLACE);return this.nextStencilID+=f,[y,a]}return[{[c]:We.disabled},a]}stencilConfigForOverlapTwoPass(t){const n=this.context.gl,a=t.sort((y,x)=>x.overscaledZ-y.overscaledZ),c=a[a.length-1].overscaledZ,f=a[0].overscaledZ-c+1;if(this.clearStencil(),f>1){const y={},x={};for(let w=0;w<f;w++)y[w+c]=new We({func:n.GREATER,mask:255},f+1+w,255,n.KEEP,n.KEEP,n.REPLACE),x[w+c]=new We({func:n.GREATER,mask:255},1+w,255,n.KEEP,n.KEEP,n.REPLACE);return this.nextStencilID=2*f+1,[y,x,a]}return this.nextStencilID=3,[{[c]:new We({func:n.GREATER,mask:255},2,255,n.KEEP,n.KEEP,n.REPLACE)},{[c]:new We({func:n.GREATER,mask:255},1,255,n.KEEP,n.KEEP,n.REPLACE)},a]}colorModeForRenderPass(){const t=this.context.gl;return this._showOverdrawInspector?new ot([t.CONSTANT_COLOR,t.ONE],new d.bo(.125,.125,.125,0),[!0,!0,!0,!0]):this.renderPass==="opaque"?ot.unblended:ot.alphaBlended}getDepthModeForSublayer(t,n,a){if(!this.opaquePassEnabledForLayer())return Oe.disabled;const c=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new Oe(a||this.context.gl.LEQUAL,n,[c,c])}getDepthModeFor3D(){return new Oe(this.context.gl.LEQUAL,Oe.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(t,n){var a,c,f;this.style=t,this.options=n,this.lineAtlas=t.lineAtlas,this.imageManager=t.imageManager,this.glyphManager=t.glyphManager,this.symbolFadeChange=t.placement.symbolFadeChange(He()),this.imageManager.beginFrame();const y=this.style._order,x=this.style.tileManagers,w={},S={},P={},E={isRenderingToTexture:!1,isRenderingGlobe:((a=t.projection)===null||a===void 0?void 0:a.transitionState)>0};for(const z in x){const B=x[z];B.used&&B.prepare(this.context),w[z]=B.getVisibleCoordinates(!1),S[z]=w[z].slice().reverse(),P[z]=B.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let z=0;z<y.length;z++)if(this.style._layers[y[z]].is3D()){this.opaquePassCutoff=z;break}this.maybeDrawDepth(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass="offscreen";for(const z of y){const B=this.style._layers[z];if(!B.hasOffscreenPass()||B.isHidden(this.transform.zoom))continue;const V=S[B.source];(B.type==="custom"||V.length)&&this.renderLayer(this,x[B.source],B,V,E)}if((c=this.style.projection)===null||c===void 0||c.updateGPUdependent({context:this.context,useProgram:z=>this.useProgram(z)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?d.bo.black:d.bo.transparent,depth:1}),this.clearStencil(),this.style.sky&&this.drawFunctions.sky(this,this.style.sky),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=y.length-1;this.currentLayer>=0;this.currentLayer--){const z=this.style._layers[y[this.currentLayer]],B=x[z.source],V=w[z.source];this._renderTileClippingMasks(z,V,!1),this.renderLayer(this,B,z,V,E)}this.renderPass="translucent";let C=!1;for(this.currentLayer=0;this.currentLayer<y.length;this.currentLayer++){const z=this.style._layers[y[this.currentLayer]],B=x[z.source];if(!((f=this.renderToTexture)===null||f===void 0)&&f.renderLayer(z,E))continue;this.opaquePassEnabledForLayer()||C||(C=!0,E.isRenderingGlobe&&!this.style.map.terrain&&this._renderTilesDepthBuffer());const V=(z.type==="symbol"?P:S)[z.source];this._renderTileClippingMasks(z,w[z.source],!!this.renderToTexture),this.renderLayer(this,B,z,V,E)}if(E.isRenderingGlobe&&this.drawFunctions.atmosphere(this,this.style.sky,this.style.light),this.options.showTileBoundaries){const z=function(B,V){let G=null;const N=Object.values(B._layers).flatMap(U=>U.source&&!U.isHidden(V)?[B.tileManagers[U.source]]:[]),$=N.filter(U=>U.getSource().type==="vector"),X=N.filter(U=>U.getSource().type!=="vector"),Z=U=>{(!G||G.getSource().maxzoom<U.getSource().maxzoom)&&(G=U)};for(const U of $)Z(U);if(!G)for(const U of X)Z(U);return G}(this.style,this.transform.zoom);z&&this.drawFunctions.debug(this,z,z.getVisibleCoordinates())}this.options.showPadding&&this.drawFunctions.debugPadding(this),this.context.setDefault()}maybeDrawDepth(t){var n,a;if(!(!((a=(n=this.style)===null||n===void 0?void 0:n.map)===null||a===void 0)&&a.terrain))return;const c=this.terrainFacilitator.matrix,f=this.transform.modelViewProjectionMatrix;let y=this.terrainFacilitator.depthDirty;y||(y=t?!d.cj(c,f):!d.ck(c,f)),y||(y=this.style.map.terrain.tileManager.anyTilesAfterTime(this.terrainFacilitator.renderTime)),y&&(d.cl(c,f),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.depthDirty=!1,this.terrainFacilitator.coordsDirty=!0,this.drawFunctions.terrainDepth(this,this.style.map.terrain))}maybeDrawCoords(){var t,n;!((n=(t=this.style)===null||t===void 0?void 0:t.map)===null||n===void 0)&&n.terrain&&this.terrainFacilitator.coordsDirty&&(this.terrainFacilitator.coordsDirty=!1,this.drawFunctions.terrainCoords(this,this.style.map.terrain))}renderLayer(t,n,a,c,f){if(a.isHidden(this.transform.zoom)||a.type!=="background"&&a.type!=="custom"&&!(c||[]).length)return;this.id=a.id;const y=this.drawFunctions;d.aQ(a)?y.symbol(t,n,a,c,this.style.placement.variableOffsets,f):d.cm(a)?y.circle(t,n,a,c,f):d.cn(a)?y.heatmap(t,n,a,
803c,f):d.co(a)?y.line(t,n,a,c,f):d.cp(a)?y.fill(t,n,a,c,f):d.cq(a)?y.fillExtrusion(t,n,a,c,f):d.cr(a)?y.hillshade(t,n,a,c,f):d.cs(a)?y.colorRelief(t,n,a,c,f):d.bU(a)?y.raster(t,n,a,c,f):d.ct(a)?y.background(t,n,a,c,f):d.cu(a)&&y.custom(t,n,a,f)}saveTileTexture(t){const n=this._tileTextures[t.size[0]];n?n.length<Gs.MAX_TEXTURE_POOL_SIZE_PER_BUCKET?n.push(t):t.destroy():this._tileTextures[t.size[0]]=[t]}getTileTexture(t){const n=this._tileTextures[t];return n&&n.length>0?n.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const n=this.imageManager.getPattern(t.from.toString()),a=this.imageManager.getPattern(t.to.toString());return!n||!a}useProgram(t,n,a=!1,c=[]){var f;this.cache||(this.cache={});const y=!!this.style.map.terrain,x=this.style.projection,w=a?dt.projectionMercator:x.shaderPreludeCode,S=a?oi:x.shaderDefine,P=t+(n?n.cacheKey:"")+`/${a?Ii:x.shaderVariantName}`+(this._showOverdrawInspector?"/overdraw":"")+(y?"/terrain":"")+(c?`/${c.join("/")}`:"");return(f=this.cache)[P]||(f[P]=new ju(this.context,dt[t],n,$u[t],this._showOverdrawInspector,y,w,S,c)),this.cache[P]}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 t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new d.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){var t,n;if(this._tileTextures){for(const a in this._tileTextures){const c=this._tileTextures[a];if(c)for(const f of c)f.destroy()}this._tileTextures={}}if(this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&((t=this.tileExtentMesh.vertexBuffer)===null||t===void 0||t.destroy()),this.tileExtentMesh&&((n=this.tileExtentMesh.indexBuffer)===null||n===void 0||n.destroy()),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.cache){for(const a in this.cache){const c=this.cache[a];c?.program&&this.context.gl.deleteProgram(c.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:n}=this.context.gl;return this.width!==t||this.height!==n}}function vl(h,t){let n,a=!1,c=null;const f=()=>{c=null,a&&(h(...n),c=setTimeout(f,t),a=!1)};return(...y)=>(a=!0,n=y,c||f(),c)}Gs.MAX_TEXTURE_POOL_SIZE_PER_BUCKET=50;class $s{constructor(t){this._getCurrentHash=()=>{const n=window.location.hash.replace("#","");if(this._hashName){let a;const c=n.split("&").map(f=>f.split("="));for(const f of c)f[0]===this._hashName&&(a=f);return(a&&a[1]||"").split("/")}return n.split("/")},this._onHashChange=()=>{const n=this._getCurrentHash();if(!this._isValidHash(n))return!1;const a=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(n[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+n[2],+n[1]],zoom:+n[0],bearing:a,pitch:+(n[4]||0)}),!0},this._updateHashUnthrottled=()=>{const n=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,n)},this._removeHash=()=>{const n=this._getCurrentHash();if(n.length===0)return;const a=n.join("/");let c=a;c.split("&").length>0&&(c=c.split("&")[0]),this._hashName&&(c=`${this._hashName}=${a}`);let f=window.location.hash.replace(c,"");f.startsWith("#&")?f=f.slice(0,1)+f.slice(2):f==="#"&&(f="");let y=window.location.href.replace(/(#.+)?$/,f);y=y.replace("&&","&"),window.history.replaceState(window.history.state,null,y)},this._updateHash=vl(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,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(t){const n=this._map.getCenter(),a=Math.round(100*this._map.getZoom())/100,c=Math.ceil((a*Math.LN2+Math.log(512/360/.5))/Math.LN10),f=Math.pow(10,c),y=Math.round(n.lng*f)/f,x=Math.round(n.lat*f)/f,w=this._map.getBearing(),S=this._map.getPitch();let P="";if(P+=t?`/${y}/${x}/${a}`:`${a}/${x}/${y}`,(w||S)&&(P+="/"+Math.round(10*w)/10),S&&(P+=`/${Math.round(S)}`),this._hashName){const E=this._hashName;let C=!1;const z=window.location.hash.slice(1).split("&").map(B=>{const V=B.split("=")[0];return V===E?(C=!0,`${V}=${P}`):B}
vendor: 29,102 bytes, line 803
803).filter(B=>B);return C||z.push(`${E}=${P}`),`#${z.join("&")}`}return`#${P}`}_isValidHash(t){if(t.length<3||t.some(isNaN))return!1;try{new d.W(+t[2],+t[1])}catch{return!1}const n=+t[0],a=+(t[3]||0),c=+(t[4]||0);return n>=this._map.getMinZoom()&&n<=this._map.getMaxZoom()&&a>=-180&&a<=180&&c>=this._map.getMinPitch()&&c<=this._map.getMaxPitch()}}const ns={linearity:.3,easing:d.cv(0,0,.3,1)},Oi=d.e({deceleration:2500,maxSpeed:1400},ns),Yi=d.e({deceleration:20,maxSpeed:1400},ns),Wc=d.e({deceleration:1e3,maxSpeed:360},ns),Ki=d.e({deceleration:1e3,maxSpeed:90},ns),eh=d.e({deceleration:1e3,maxSpeed:360},ns);class th{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:He(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,n=He();for(;t.length>0&&n-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const n={zoom:0,bearing:0,pitch:0,roll:0,pan:new d.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:f}of this._inertiaBuffer)n.zoom+=f.zoomDelta||0,n.bearing+=f.bearingDelta||0,n.pitch+=f.pitchDelta||0,n.roll+=f.rollDelta||0,f.panDelta&&n.pan._add(f.panDelta),f.around&&(n.around=f.around),f.pinchAround&&(n.pinchAround=f.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,c={};if(n.pan.mag()){const f=ir(n.pan.mag(),a,d.e({},Oi,t||{})),y=n.pan.mult(f.amount/n.pan.mag()),x=this._map.cameraHelper.handlePanInertia(y,this._map.transform);c.center=x.easingCenter,c.offset=x.easingOffset,Zs(c,f)}if(n.zoom){const f=ir(n.zoom,a,Yi);c.zoom=d.cw(this._map.transform.zoom+f.amount,this._map.getZoomSnap(),f.amount),Zs(c,f)}if(n.bearing){const f=ir(n.bearing,a,Wc);c.bearing=this._map.transform.bearing+d.al(f.amount,-179,179),Zs(c,f)}if(n.pitch){const f=ir(n.pitch,a,Ki);c.pitch=this._map.transform.pitch+f.amount,Zs(c,f)}if(n.roll){const f=ir(n.roll,a,eh);c.roll=this._map.transform.roll+d.al(f.amount,-179,179),Zs(c,f)}if(c.zoom||c.bearing){const f=n.pinchAround===void 0?n.around:n.pinchAround;c.around=f?this._map.unproject(f):this._map.getCenter()}return this.clear(),d.e(c,{noMoveStart:!0})}}function Zs(h,t){(!h.duration||h.duration<t.duration)&&(h.duration=t.duration,h.easing=t.easing)}function ir(h,t,n){const{maxSpeed:a,linearity:c,deceleration:f}=n,y=d.al(h*c/(t/1e3),-a,a),x=Math.abs(y)/(f*c);return{easing:n.easing,duration:1e3*x,amount:y*(x/2)}}class Ci extends d.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,n,a,c={}){a=a instanceof MouseEvent?a:new MouseEvent(t,a);const f=pe.mousePos(n.getCanvas(),a),y=n.unproject(f);super(t,d.e({point:f,lngLat:y,originalEvent:a},c)),this._defaultPrevented=!1,this.target=n}}class qs extends d.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,n,a){const c=t==="touchend"?a.changedTouches:a.touches,f=pe.touchPos(n.getCanvasContainer(),c),y=f.map(w=>n.unproject(w)),x=f.reduce((w,S,P,E)=>w.add(S.div(E.length)),new d.P(0,0));super(t,{points:f,point:x,lngLats:y,lngLat:n.unproject(x),originalEvent:a}),this._defaultPrevented=!1}}class Hc extends d.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,n,a){super(t,{originalEvent:a}),this._defaultPrevented=!1}}class ih{constructor(t,n){this._map=t,this._clickTolerance=n.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Hc(t.type,this._map,t))}mousedown(t,n){return this._mousedownPos=n,this._firePreventable(new Ci(t.type,this._map,t))}mouseup(t){this._map.fire(new Ci(t.type,this._map,t))}click(t,n){this._mousedownPos&&this._mousedownPos.dist(n)>=this._clickTolerance||this._map.fire(new Ci(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Ci(t.type,this._map,t))}mouseover(t){this._map.fire(new Ci(t.type,this._map,t))}mouseout(t){this._map.fire(new Ci(t.type,this._map,t))}touchstart(t){return this._firePreventable(new qs(t.type,this._map,t))}touchmove(t){this._map.fire(new qs(t.type,this._map,t))}touchend(t){this._map.fire(new qs(t.type,this._map,t))}touchcancel(t){this._map.fire(new qs(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Xc{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Ci(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ci("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Ci(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class dr{constructor(t){this._map=t}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(t){return this.transform.screenPointToLocation(d.P.convert(t),this._map.terrain)}}class rr{constructor(t,n){this._map=t,this._tr=new dr(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=n.clickTolerance||1,n.boxZoom&&typeof n.boxZoom=="object"&&(this._boxZoomEnd=n.boxZoom.boxZoomEnd)}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,n){this.isEnabled()&&t.shiftKey&&t.button===0&&(pe.disableDrag(),this._startPos=this._lastPos=n,this._active=!0)}mousemoveWindow(t,n){if(!this._active)return;const a=n;if(this._lastPos.equals(a)||!this._box&&a.dist(this._startPos)<this._clickTolerance)return;const c=this._startPos;this._lastPos=a,this._box||(this._box=pe.create("div","maplibregl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair"),this._fireEvent("boxzoomstart",t));const f=Math.min(c.x,a.x),y=Math.max(c.x,a.x),x=Math.min(c.y,a.y),w=Math.max(c.y,a.y);this._box.style.transform=`translate(${f}px,${x}px)`,this._box.style.width=y-f+"px",this._box.style.height=w-x+"px"}mouseupWindow(t,n){if(!this._active||t.button!==0)return;const a=this._startPos,c=n;if(this.reset(),pe.suppressClick(),a.x!==c.x||a.y!==c.y)return this._map.fire(new d.n("boxzoomend",{originalEvent:t})),this._boxZoomEnd?void this._boxZoomEnd(this._map,a,c,t):{cameraAnimation:f=>f.fitScreenCoordinates(a,c,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&t.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(this._box.remove(),this._box=null),pe.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,n){return this._map.fire(new d.n(t,{originalEvent:n}))}}function Se(h,t){if(h.length!==t.length)throw new Error(`The number of touches and points are not equal - touches ${h.length}, points ${t.length}`);const n={};for(let a=0;a<h.length;a++)n[h[a].identifier]=t[a];return n}class Yc{constructor(t){this.reset(),this.numTouches=t.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(t,n,a){(this.centroid||a.length>this.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=t.timeStamp),a.length===this.numTouches&&(this.centroid=function(c){const f=new d.P(0,0);for(const y of c)f._add(y);return f.div(c.length)}(n),this.touches=Se(a,n)))}touchmove(t,n,a){if(this.aborted||!this.centroid)return;const c=Se(a,n);for(const f in this.touches){const y=c[f];(!y||y.dist(this.touches[f])>30)&&(this.aborted=!0)}}touchend(t,n,a){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),a.length===0){const c=!this.aborted&&this.centroid;if(this.reset(),c)return c}}}class Ws{constructor(t){this.singleTap=new Yc(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,n,a){this.singleTap.touchstart(t,n,a)}touchmove(t,n,a){this.singleTap.touchmove(t,n,a)}touchend(t,n,a){const c=this.singleTap.touchend(t,n,a);if(c){const f=t.timeStamp-this.lastTime<500,y=!this.lastTap||this.lastTap.dist(c)<30;if(f&&y||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=c,this.count===this.numTaps)return this.reset(),c}}}class Kc{constructor(t){this._tr=new dr(t),this._zoomIn=new Ws({numTouches:1,numTaps:2}),this._zoomOut=new Ws({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,n,a){this._zoomIn.touchstart(t,n,a),this._zoomOut.touchstart(t,n,a)}touchmove(t,n,a){this._zoomIn.touchmove(t,n,a),this._zoomOut.touchmove(t,n,a)}touchend(t,n,a){const c=this._zoomIn.touchend(t,n,a),f=this._zoomOut.touchend(t,n,a),y=this._tr;return c?(this._active=!0,t.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:d.cw(y.zoom+1,x.getZoomSnap()),around:y.unproject(c)},{originalEvent:t})}):f?(this._active=!0,t.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:x=>x.easeTo({duration:300,zoom:d.cw(y.zoom-1,x.getZoomSnap()),around:y.unproject(f)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class pr{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const n=this._moveFunction(...t);if(n.bearingDelta||n.pitchDelta||n.rollDelta||n.around||n.panDelta)return this._active=!0,n}dragStart(t,n){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=Array.isArray(n)?n[0]:n,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,n){if(!this.isEnabled())return;const a=this._lastPoint;if(!a)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const c=Array.isArray(n)?n[0]:n;return!this._moved&&c.dist(a)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=c,this._move(a,c))}dragEnd(t){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(t)&&(this._moved&&pe.suppressClick(),this.reset(t))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}const Hs=0,xl=2,rh={[Hs]:1,[xl]:2};class bn{constructor(t){this._correctEvent=t.checkCorrectEvent}startMove(t){this._eventButton=t.button}endMove(t){delete this._eventButton}isValidStartEvent(t){return this._correctEvent(t)}isValidMoveEvent(t){return!function(n,a){const c=rh[a];return n.buttons===void 0||(n.buttons&c)!==c}(t,this._eventButton)}isValidEndEvent(t){return t.button===this._eventButton}}class Jc{constructor(){this._firstTouch=void 0}_isOneFingerTouch(t){return t.targetTouches.length===1}_isSameTouchEvent(t){return t.targetTouches[0].identifier===this._firstTouch}startMove(t){this._firstTouch=t.targetTouches[0].identifier}endMove(t){delete this._firstTouch}isValidStartEvent(t){return this._isOneFingerTouch(t)}isValidMoveEvent(t){return this._isOneFingerTouch(t)&&this._isSameTouchEvent(t)}isValidEndEvent(t){return this._isOneFingerTouch(t)&&this._isSameTouchEvent(t)}}class bl{constructor(t=new bn({checkCorrectEvent:()=>!0}),n=new Jc){this.mouseMoveStateManager=t,this.oneFingerTouchMoveStateManager=n}_executeRelevantHandler(t,n,a){return t instanceof MouseEvent?n(t):typeof TouchEvent<"u"&&t instanceof TouchEvent?a(t):void 0}startMove(t){this._executeRelevantHandler(t,n=>{this.mouseMoveStateManager.startMove(n)},n=>{this.oneFingerTouchMoveStateManager.startMove(n)})}endMove(t){this._executeRelevantHandler(t,n=>{this.mouseMoveStateManager.endMove(n)},n=>{this.oneFingerTouchMoveStateManager.endMove(n)})}isValidStartEvent(t){return this._executeRelevantHandler(t,n=>this.mouseMoveStateManager.isValidStartEvent(n),n=>this.oneFingerTouchMoveStateManager.isValidStartEvent(n))}isValidMoveEvent(t){return this._executeRelevantHandler(t,n=>this.mouseMoveStateManager.isValidMoveEvent(n),n=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(n))}isValidEndEvent(t){return this._executeRelevantHandler(t,n=>this.mouseMoveStateManager.isValidEndEvent(n),n=>this.oneFingerTouchMoveStateManager.isValidEndEvent(n))}}const qo=h=>{h.mousedown=h.dragStart,h.mousemoveWindow=h.dragMove,h.mouseup=h.dragEnd,h.contextmenu=t=>{t.preventDefault()}};class Qc{constructor(t,n){this._clickTolerance=t.clickTolerance||1,this._map=n,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new d.P(0,0)}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,n,a){return this._calculateTransform(t,n,a)}touchmove(t,n,a){if(this._active){if(!this._shouldBePrevented(a.length))return t.preventDefault(),this._calculateTransform(t,n,a);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",t)}}touchend(t,n,a){this._calculateTransform(t,n,a),this._active&&this._shouldBePrevented(a.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(t,n,a){a.length>0&&(this._active=!0);const c=Se(a,n),f=new d.P(0,0),y=new d.P(0,0);let x=0;for(const S in c){const P=c[S],E=this._touches[S];E&&(f._add(P),y._add(P.sub(E)),x++,c[S]=P)}if(this._touches=c,this._shouldBePrevented(x)||!y.mag())return;const w=y.div(x);return this._sum._add(w),this._sum.mag()<this._clickTolerance?void 0:{around:f.div(x),panDelta:w}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class wl{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(t,n,a){this._firstTwoTouches||a.length<2||(this._firstTwoTouches=[a[0].identifier,a[1].identifier],this._start([n[0],n[1]]))}touchmove(t,n,a){if(!this._firstTwoTouches)return;t.preventDefault();const[c,f]=this._firstTwoTouches,y=Wo(a,n,c),x=Wo(a,n,f);if(!y||!x)return;const w=this._aroundCenter?null:y.add(x).div(2);return this._move([y,x],w,t)}touchend(t,n,a){if(!this._firstTwoTouches)return;const[c,f]=this._firstTwoTouches,y=Wo(a,n,c),x=Wo(a,n,f);y&&x||(this._active&&pe.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(t){this._enabled=!0,this._aroundCenter=!!t&&t.around==="center"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function Wo(h,t,n){for(let a=0;a<h.length;a++)if(h[a].identifier===n)return t[a]}function Tl(h,t){return Math.log(h/t)/Math.LN2}class eu extends wl{constructor(){super(),this._zoomRate=1,this._zoomThreshold=.1}setZoomRate(t){this._zoomRate=t??1}setZoomThreshold(t){this._zoomThreshold=t??.1}reset(){super.reset(),delete this._distance,delete this._startDistance}_start(t){this._startDistance=this._distance=t[0].dist(t[1])}_move(t,n){const a=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(Tl(this._distance,this._startDistance))<this._zoomThreshold))return this._active=!0,{zoomDelta:Tl(this._distance,a)*this._zoomRate,pinchAround:n}}}function Sl(h,t){return 180*h.angleWith(t)/Math.PI}class tu extends wl{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])}_move(t,n,a){const c=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:Sl(this._vector,c),pinchAround:n}}_isBelowThreshold(t){this._minDiameter=Math.min(this._minDiameter,t.mag());const n=25/(Math.PI*this._minDiameter)*360,a=Sl(t,this._startVector);return Math.abs(a)<n}}function Pl(h){return Math.abs(h.y)>Math.abs(h.x)}class fr extends wl{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,n,a){super.touchstart(t,n,a),this._currentTouchCount=a.length}_start(t){this._lastPoints=t,Pl(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,n,a){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const c=t[0].sub(this._lastPoints[0]),f=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(c,f,a.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(c.y+f.y)/2*-.5}):void 0}gestureBeginsVertically(t,n,a){if(this._valid!==void 0)return this._valid;const c=t.mag()>=2,f=n.mag()>=2;if(!c&&!f)return;if(!c||!f)return this._firstMove===void 0&&(this._firstMove=a),a-this._firstMove<100&&void 0;const y=t.y>0==n.y>0;return Pl(t)&&Pl(n)&&y}}const at={panStep:100,bearingStep:15,pitchStep:10};class iu{constructor(t){this._tr=new dr(t);const n=at;this._panStep=n.panStep,this._bearingStep=n.bearingStep,this._pitchStep=n.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let n=0,a=0,c=0,f=0,y=0;switch(t.keyCode){case 61:case 107:case 171:case 187:n=1;break;case 189:case 109:case 173:n=-1;break;case 37:t.shiftKey?a=-1:(t.preventDefault(),f=-1);break;case 39:t.shiftKey?a=1:(t.preventDefault(),f=1);break;case 38:t.shiftKey?c=1:(t.preventDefault(),y=-1);break;case 40:t.shiftKey?c=-1:(t.preventDefault(),y=1);break;default:return}return this._rotationDisabled&&(a=0,c=0),{cameraAnimation:x=>{const w=this._tr;x.easeTo({duration:300,easeId:"keyboardHandler",easing:Ho,zoom:n?d.cw(w.zoom+n*(t.shiftKey?2:1),x.getZoomSnap()):w.zoom,bearing:w.bearing+a*this._bearingStep,pitch:w.pitch+c*this._pitchStep,offset:[-f*this._panStep,-y*this._panStep],center:w.center},{originalEvent:t})}}}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 Ho(h){return h*(2-h)}const Xs=4.000244140625,Il=1/450;class Ml{constructor(t,n){this._onTimeout=a=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(a)},this._map=t,this._tr=new dr(t),this._triggerRenderFrame=n,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=Il}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&t.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(t){return!!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",t);let n=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const a=He(),c=a-(this._lastWheelEventTime||0);this._lastWheelEventTime=a,n!==0&&n%Xs==0?this._type="wheel":n!==0&&Math.abs(n)<4?this._type="trackpad":c>400?(this._type=null,this._lastValue=n,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(c*n)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,n+=this._lastValue)),t.shiftKey&&n&&(n/=4),this._type&&(this._lastWheelEvent=t,this._delta-=n,this._active||this._start(t)),t.preventDefault()}_start(t){if(!this._delta)return;this._needsRerender=!1,this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const n=pe.mousePos(this._map.getCanvas(),t),a=this._tr;this._aroundPoint=this._aroundCenter?a.transform.locationToScreenPoint(d.W.convert(a.center)):n,this._needsRerender||(this._needsRerender=!0,this._triggerRenderFrame())}renderFrame(){if(!this._needsRerender||(this._needsRerender=!1,!this.isActive()))return;const t=this._tr.transform;if(typeof this._lastExpectedZoom=="number"){const x=t.zoom-this._lastExpectedZoom;typeof this._startZoom=="number"&&(this._startZoom+=x),typeof this._targetZoom=="number"&&(this._targetZoom+=x)}if(this._delta!==0){const x=this._type==="wheel"&&Math.abs(this._delta)>Xs?this._wheelZoomRate:this._defaultZoomRate;let w=2/(1+Math.exp(-Math.abs(this._delta*x)));this._delta<0&&w!==0&&(w=1/w);const S=typeof this._targetZoom!="number"?t.scale:d.ao(this._targetZoom),P=t.applyConstrain(t.getCameraLngLat(),d.ar(S*w)).zoom,E=this._map.getZoomSnap();if(this._type==="wheel"&&E>0){const C=d.cw(t.zoom,E);this._targetZoom=d.cw(P,E,P-C)}else this._targetZoom=P;this._type==="wheel"&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const n=typeof this._targetZoom!="number"?t.zoom:this._targetZoom,a=this._startZoom,c=this._easing;let f,y=!1;if(this._type==="wheel"&&a&&c){const x=He()-this._lastWheelEventTime,w=Math.min((x+5)/200,1),S=c(w);f=d.H.number(a,n,S),w<1?this._needsRerender=!0:y=!0}else f=n,y=!0;return this._active=!0,y&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=f,{noInertia:!0,needsRenderFrame:!y,zoomDelta:f-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let n=d.cy;if(this._prevEase){const a=this._prevEase,c=(He()-a.start)/a.duration,f=a.easing(c+.01)-a.easing(c),y=.27/Math.sqrt(f*f+1e-4)*.01,x=Math.sqrt(.0729-y*y);n=d.cv(y,x,.25,1)}return this._prevEase={start:He(),duration:t,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class El{constructor(t,n){this._clickZoom=t,this._tapZoom=n}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 ru{constructor(t){this._tr=new dr(t),this.reset()}reset(){this._active=!1}dblclick(t,n){return t.preventDefault(),{cameraAnimation:a=>{a.easeTo({duration:300,zoom:d.cw(this._tr.zoom+(t.shiftKey?-1:1),a.getZoomSnap()),around:this._tr.unproject(n)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nh{constructor(){this._tap=new Ws({numTouches:1,numTaps:1}),this._zoomRate=1,this.reset()}setZoomRate(t){this._zoomRate=t??1}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,n,a){if(!this._swipePoint)if(this._tapTime){const c=n[0],f=t.timeStamp-this._tapTime<500,y=this._tapPoint.dist(c)<30;f&&y?a.length>0&&(this._swipePoint=c,this._swipeTouch=a[0].identifier):this.reset()}else this._tap.touchstart(t,n,a)}touchmove(t,n,a){if(this._tapTime){if(this._swipePoint){if(a[0].identifier!==this._swipeTouch)return;const c=n[0],f=c.y-this._swipePoint.y;return this._swipePoint=c,t.preventDefault(),this._active=!0,{zoomDelta:f/128*this._zoomRate}}}else this._tap.touchmove(t,n,a)}touchend(t,n,a){if(this._tapTime)this._swipePoint&&a.length===0&&this.reset();else{const c=this._tap.touchend(t,n,a);c&&(this._tapTime=t.timeStamp,this._tapPoint=c)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ji{constructor(t,n,a){this._el=t,this._mousePan=n,this._touchPan=a}enable(t){this._inertiaOptions=t||{},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 Ys{constructor(t,n,a,c){this._pitchWithRotate=t.pitchWithRotate,this._rollEnabled=t.rollEnabled,this._mouseRotate=n,this._mousePitch=a,this._mouseRoll=c}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 Ie{constructor(t,n,a,c){this._el=t,this._touchZoom=n,this._touchRotate=a,this._tapDragZoom=c,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),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()}setZoomRate(t){this._touchZoom.setZoomRate(t),this._tapDragZoom.setZoomRate(t)}setZoomThreshold(t){this._touchZoom.setZoomThreshold(t)}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ce{constructor(t,n){this._bypassKey=navigator.userAgent.includes("Mac")?"metaKey":"ctrlKey",this._map=t,this._options=n,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=pe.create("div","maplibregl-cooperative-gesture-screen",t);let n=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(n=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const a=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),c=document.createElement("div");c.className="maplibregl-desktop-message",c.textContent=n,this._container.appendChild(c);const f=document.createElement("div");f.className="maplibregl-mobile-message",f.textContent=a,this._container.appendChild(f),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(this._container.remove(),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(t){return t[this._bypassKey]}notifyGestureBlocked(t,n){this._enabled&&(this._map.fire(new d.n("cooperativegestureprevented",{gestureType:t,originalEvent:n})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const Lr=h=>h.zoom||h.drag||h.roll||h.pitch||h.rotate;class nu extends d.n{}function ss(h){var t;return((t=h.panDelta)===null||t===void 0?void 0:t.mag())||h.zoomDelta||h.bearingDelta||h.pitchDelta||h.rollDelta}class li{get _ownerDocument(){var t;return((t=this._el)===null||t===void 0?void 0:t.ownerDocument)||document}get _ownerWindow(){var t,n;return((n=(t=this._el)===null||t===void 0?void 0:t.ownerDocument)===null||n===void 0?void 0:n.defaultView)||window}constructor(t,n){this.handleWindowEvent=c=>{this.handleEvent(c,`${c.type}Window`)},this.handleEvent=(c,f)=>{if(c.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const y=c.type==="renderFrame"?void 0:c,x={needsRenderFrame:!1},w={},S={};for(const{handlerName:C,handler:z,allowed:B}of this._handlers){if(!z.isEnabled())continue;let V;if(this._blockedByActive(S,B,C))z.reset();else if(z[f||c.type]){if(d.cz(c,f||c.type)){const G=pe.mousePos(this._map.getCanvas(),c);V=z[f||c.type](c,G)}else if(d.cA(c,f||c.type)){const G=this._getMapTouches(c.touches),N=pe.touchPos(this._map.getCanvas(),G);V=z[f||c.type](c,N,G)}else d.cB(f||c.type)||(V=z[f||c.type](c));this.mergeHandlerResult(x,w,V,C,y),V?.needsRenderFrame&&this._triggerRe
vendor: 4,148 bytes, line 803
803nderFrame()}(V||z.isActive())&&(S[C]=z)}const P={};for(const C in this._previousActiveHandlers)S[C]||(P[C]=y);this._previousActiveHandlers=S,(Object.keys(P).length||ss(x))&&(this._changes.push([x,w,P]),this._triggerRenderFrame()),(Object.keys(S).length||ss(x))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:E}=x;E&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],E(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new th(t),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n);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],[this._ownerDocument,"mousemove",{capture:!0}],[this._ownerDocument,"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],[this._ownerWindow,"blur",void 0]];for(const[c,f,y]of this._listeners)c.addEventListener(f,c===this._ownerDocument?this.handleWindowEvent:this.handleEvent,y)}destroy(){for(const[t,n,a]of this._listeners)t.removeEventListener(n,t===this._ownerDocument?this.handleWindowEvent:this.handleEvent,a)}_addDefaultHandlers(t){const n=this._map,a=n.getCanvasContainer();this._add("mapEvent",new ih(n,t));const c=n.boxZoom=new rr(n,t);this._add("boxZoom",c),t.interactive&&t.boxZoom&&c.enable();const f=n.cooperativeGestures=new Ce(n,t.cooperativeGestures);this._add("cooperativeGestures",f),t.cooperativeGestures&&f.enable();const y=new Kc(n),x=new ru(n);n.doubleClickZoom=new El(x,y),this._add("tapZoom",y),this._add("clickZoom",x),t.interactive&&t.doubleClickZoom&&n.doubleClickZoom.enable();const w=new nh;this._add("tapDragZoom",w);const S=n.touchPitch=new fr(n);this._add("touchPitch",S),t.interactive&&t.touchPitch&&n.touchPitch.enable(t.touchPitch);const P=()=>n.project(n.getCenter()),E=function({enable:Z,clickTolerance:U,aroundCenter:H=!0,minPixelCenterThreshold:q=100,rotateDegreesPerPixelMoved:Q=.8},se){const oe=new bn({checkCorrectEvent:de=>de.button===0&&de.ctrlKey||de.button===2&&!de.ctrlKey});return new pr({clickTolerance:U,move:(de,he)=>{const Pe=se();if(H&&Math.abs(Pe.y-de.y)>q)return{bearingDelta:d.cx(new d.P(de.x,he.y),he,Pe)};let ve=(he.x-de.x)*Q;return H&&he.y<Pe.y&&(ve=-ve),{bearingDelta:ve}},moveStateManager:oe,enable:Z,assignEvents:qo})}(t,P),C=function({enable:Z,clickTolerance:U,pitchDegreesPerPixelMoved:H=-.5}){const q=new bn({checkCorrectEvent:Q=>Q.button===0&&Q.ctrlKey||Q.button===2});return new pr({clickTolerance:U,move:(Q,se)=>({pitchDelta:(se.y-Q.y)*H}),moveStateManager:q,enable:Z,assignEvents:qo})}(t),z=function({enable:Z,clickTolerance:U,rollDegreesPerPixelMoved:H=.3},q){const Q=new bn({checkCorrectEvent:se=>se.button===2&&se.ctrlKey});return new pr({clickTolerance:U,move:(se,oe)=>{const de=q();let he=(oe.x-se.x)*H;return oe.y<de.y&&(he=-he),{rollDelta:he}},moveStateManager:Q,enable:Z,assignEvents:qo})}(t,P);n.dragRotate=new Ys(t,E,C,z),this._add("mouseRotate",E,["mousePitch"]),this._add("mousePitch",C,["mouseRotate","mouseRoll"]),this._add("mouseRoll",z,["mousePitch"]),t.interactive&&t.dragRotate&&n.dragRotate.enable();const B=function({enable:Z,clickTolerance:U}){const H=new bn({checkCorrectEvent:q=>q.button===0&&!q.ctrlKey});return new pr({clickTolerance:U,move:(q,Q)=>({around:Q,panDelta:Q.sub(q)}),activateOnStart:!0,moveStateManager:H,enable:Z,assignEvents:qo})}(t),V=new Qc(t,n);n.dragPan=new Ji(a,B,V),this._add("mousePan",B),this._add("touchPan",V,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&n.dragPan.enable(t.dragPan);const G=new tu,N=new eu;n.touchZoomRotate=new Ie(a,N,G,w),this._add("touchRotate",G,["touchPan","touchZoom"]),this._add("touchZoom",N,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&n.touchZoomRotate.enable(t.touchZoomRotate),this._add("blockableMapEvent",new Xc(n));const $=n.scrollZoom=new Ml(n,()=>
vendor: 4,096 bytes, line 803
803this._triggerRenderFrame());this._add("scrollZoom",$,["mousePan"]),t.interactive&&t.scrollZoom&&n.scrollZoom.enable(t.scrollZoom);const X=n.keyboard=new iu(n);this._add("keyboard",X),t.interactive&&t.keyboard&&n.keyboard.enable()}_add(t,n,a){this._handlers.push({handlerName:t,handler:n,allowed:a}),this._handlersById[t]=n}stop(t){if(!this._updatingCamera){for(const{handler:n}of this._handlers)n.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Lr(this._eventsInProgress)||this.isZooming()}_blockedByActive(t,n,a){for(const c in t)if(c!==a&&!n?.includes(c))return!0;return!1}_getMapTouches(t){const n=[];for(const a of t)this._el.contains(a.target)&&n.push(a);return n}mergeHandlerResult(t,n,a,c,f){if(!a)return;d.e(t,a);const y={handlerName:c,originalEvent:a.originalEvent||f};a.zoomDelta!==void 0&&(n.zoom=y),a.panDelta!==void 0&&(n.drag=y),a.rollDelta!==void 0&&(n.roll=y),a.pitchDelta!==void 0&&(n.pitch=y),a.bearingDelta!==void 0&&(n.rotate=y)}_applyChanges(){const t={},n={},a={};for(const[c,f,y]of this._changes)c.panDelta&&(t.panDelta=(t.panDelta||new d.P(0,0))._add(c.panDelta)),c.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+c.zoomDelta),c.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+c.bearingDelta),c.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+c.pitchDelta),c.rollDelta&&(t.rollDelta=(t.rollDelta||0)+c.rollDelta),c.around!==void 0&&(t.around=c.around),c.pinchAround!==void 0&&(t.pinchAround=c.pinchAround),c.noInertia&&(t.noInertia=c.noInertia),d.e(n,f),d.e(a,y);this._updateMapTransform(t,n,a),this._changes=[]}_updateMapTransform(t,n,a){const c=this._map,f=c._getTransformForUpdate(),y=c.terrain;if(!(ss(t)||y&&this._terrainMovement))return void this._fireEvents(n,a,!0);c._stop(!0);let{panDelta:x,zoomDelta:w,bearingDelta:S,pitchDelta:P,rollDelta:E,around:C,pinchAround:z}=t;z!==void 0&&(C=z),C||(C=c.transform.centerPoint),y&&!f.isPointOnMapSurface(C)&&(C=f.centerPoint);const B={panDelta:x,zoomDelta:w,rollDelta:E,pitchDelta:P,bearingDelta:S,around:C};this._map.cameraHelper.useGlobeControls&&!f.isPointOnMapSurface(C)&&(C=f.centerPoint);const V=C.distSqr(f.centerPoint)<.01?f.center:f.screenPointToLocation(x?C.sub(x):C);this._handleMapControls({terrain:y,tr:f,deltasForHelper:B,preZoomAroundLoc:V,combinedEventsInProgress:n,panDelta:x}),c._applyUpdatedTransform(f),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(n,a,!0)}_handleMapControls({terrain:t,tr:n,deltasForHelper:a,preZoomAroundLoc:c,combinedEventsInProgress:f,panDelta:y}){const x=this._map.cameraHelper;if(x.handleMapControlsRollPitchBearingZoom(a,n),t)return x.useGlobeControls?(this._terrainMovement||!f.drag&&!f.zoom||(this._terrainMovement=!0,this._map._elevationFreeze=!0),void x.handleMapControlsPan(a,n,c)):this._terrainMovement||!f.drag&&!f.zoom?void(f.drag&&this._terrainMovement&&y?n.setCenter(n.screenPointToLocation(n.centerPoint.sub(y))):x.handleMapControlsPan(a,n,c)):(this._terrainMovement=!0,this._map._elevationFreeze=!0,void x.handleMapControlsPan(a,n,c));x.handleMapControlsPan(a,n,c)}_fireEvents(t,n,a){const c=Lr(this._eventsInProgress),f=Lr(t),y={};for(const E in t){const{originalEvent:C}=t[E];this._eventsInProgress[E]||(y[`${E}start`]=C),this._eventsInProgress[E]=t[E]}!c&&f&&this._fireEvent("movestart",f.originalEvent);for(const E in y)this._fireEvent(E,y[E]);f&&this._fireEvent("move",f.originalEvent);for(const E in t){const{originalEvent:C}=t[E];this._fireEvent(E,C)}const x={};let w;for(const E in this._eventsInProgress){const{handlerName:C,originalEvent:z}=this._eventsInProgress[E];this._handlersById[C].isActive()||(delete this._eventsInProgress[E],w=n[C]||z,x[`${E}end`]=w)}for(const E in x)this._fireEvent(E,x[E]);const S=Lr(this._eventsInProgress),P=(c||f)&&!S;if(P&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const E=this._map._getTransformForUpdate();
803this._map.getCenterClampedToGround()&&E.recalculateZoomAndCenter(this._map.terrain),this._map._applyUpdatedTransform(E)}if(a&&P){this._updatingCamera=!0;const E=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),C=z=>z!==0&&-this._bearingSnap<z&&z<this._bearingSnap;!E||!E.essential&&Gt.prefersReducedMotion?(this._map.fire(new d.n("moveend",{originalEvent:w})),C(this._map.getBearing())&&this._map.resetNorth()):(C(E.bearing||this._map.getBearing())&&(E.bearing=0),E.freezeElevation=!0,this._map.easeTo(E,{originalEvent:w})),this._updatingCamera=!1}}_fireEvent(t,n){this._map.fire(new d.n(t,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(t=>{delete this._frameId,this.handleEvent(new nu("renderFrame",{timeStamp:t})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class su extends d.E{constructor(t,n,a){super(),this._renderFrameCallback=()=>{const c=Math.min((He()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(c)),c<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=a.bearingSnap,this._zoomSnap=a.zoomSnap,this.cameraHelper=n,this.on("moveend",()=>{delete this._requestedCameraState})}migrateProjection(t,n){t.apply(this.transform,!0),this.transform=t,this.cameraHelper=n}getCenter(){return new d.W(this.transform.center.lng,this.transform.center.lat)}setCenter(t,n){return this.jumpTo({center:t},n)}getCenterElevation(){return this.transform.elevation}setCenterElevation(t,n){return this.jumpTo({elevation:t},n),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(t){this._centerClampedToGround=t}panBy(t,n,a){return t=d.P.convert(t).mult(-1),this.panTo(this.transform.center,d.e({offset:t},n),a)}panTo(t,n,a){return this.easeTo(d.e({center:t},n),a)}getZoom(){return this.transform.zoom}setZoom(t,n){return this.jumpTo({zoom:t},n),this}zoomTo(t,n,a){return this.easeTo(d.e({zoom:t},n),a)}zoomIn(t,n){return this.zoomTo(d.cw(this.getZoom()+1,this._zoomSnap),t,n),this}zoomOut(t,n){return this.zoomTo(d.cw(this.getZoom()-1,this._zoomSnap),t,n),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(t,n){return t!=this.transform.fov&&(this.transform.setFov(t),this.fire(new d.n("movestart",n)).fire(new d.n("move",n)).fire(new d.n("moveend",n))),this}getBearing(){return this.transform.bearing}setZoomSnap(t){return this._zoomSnap=t,this}getZoomSnap(){return this._zoomSnap}setBearing(t,n){return this.jumpTo({bearing:t},n),this}getPadding(){return this.transform.padding}setPadding(t,n){return this.jumpTo({padding:t},n),this}rotateTo(t,n,a){return this.easeTo(d.e({bearing:t},n),a)}resetNorth(t,n){return this.rotateTo(0,d.e({duration:1e3},t),n),this}resetNorthPitch(t,n){return this.easeTo(d.e({bearing:0,pitch:0,roll:0,duration:1e3},t),n),this}snapToNorth(t,n){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,n):this}getPitch(){return this.transform.pitch}setPitch(t,n){return this.jumpTo({pitch:t},n),this}getRoll(){return this.transform.roll}setRoll(t,n){return this.jumpTo({roll:t},n),this}cameraForBounds(t,n){t=ke.convert(t).adjustAntiMeridian();const a=n?.bearing||0;return this._cameraForBoxAndBearing(t.getNorthWest(),t.getSouthEast(),a,n)}_cameraForBoxAndBearing(t,n,a,c){const f={top:0,bottom:0,right:0,left:0};if(typeof(c=d.e({padding:f,offset:[0,0],maxZoom:this.transform.maxZoom},c)).padding=="number"){const P=c.padding;c.padding={top:P,bottom:P,right:P,left:P}}const y=d.e(f,c.padding);c.padding=y;const x=this.transform,w=new ke(t,n),S=this.cameraHelper.cameraForBoxAndBearing(c,y,w,a,x);return S&&this._zoomSnap&&(S.zoom=d.cw(S.zoom,this._zoomSnap,-1)),S}fitBounds(t,n,a){return this._fitInternal(this.cameraForBounds(t,n),n,a)}fitScreenCoordinates(t,n,a,c,f){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(d.P.convert(t)),this.transform.screenPointToLocation(d.P.convert(n)),a,c),c,f)}_fitInternal(t,n,a){return t?(delete(n=d.e(t,n)).padding,n.linear?this.easeTo(n,a):this.flyTo(n,a)):this}jumpTo(t,n){this.stop(),"zoom"in t&&this._zoomSnap&&(t.zoom=d.cw(t.zoom,this._zoomSnap));const a=this._getTransformForUpdate();let c=!1,f=!1,y=!1;const x=a.zoom;this.terrain&&a.setElevation(this.terrain.getElevationForLngLatZoom(t.center?d.W.convert(t.center):a.center,t.zoom||a.tileZoom)),this.cameraHelper.handleJumpToCenterZoom(a,t);const w=a.zoom!==x;return"elevation"in t&&a.elevation!==+t.elevation&&a.setElevation(+t.elevation),"bearing"in t&&a.bearing!==+t.bearing&&(c=!0,a.setBearing(+t.bearing)),"pitch"in t&&a.pitch!==+t.pitch&&(f=!0,a.setPitch(+t.pitch)),"roll"in t&&a.roll!==+t.roll&&(y=!0,a.setRoll(+t.roll)),t.padding==null||a.isPaddingEqual(t.padding)||a.setPadding(t.padding),this._applyUpdatedTransform(a),this.fire(new d.n("movestart",n)).fire(new d.n("move",n)),w&&this.fire(new d.n("zoomstart",n)).fire(new d.n("zoom",n)).fire(new d.n("zoomend",n)),c&&this.fire(new d.n("rotatestart",n)).fire(new d.n("rotate",n)).fire(new d.n("rotateend",n)),f&&this.fire(new d.n("pitchstart",n)).fire(new d.n("pitch",n)).fire(new d.n("pitchend",n)),y&&this.fire(new d.n("rollstart",n)).fire(new d.n("roll",n)).fire(new d.n("rollend",n)),this.fire(new d.n("moveend",n))}calculateCameraOptionsFromTo(t,n,a,c=0){const f=d.a7.fromLngLat(t,n),y=d.a7.fromLngLat(a,c),x=y.x-f.x,w=y.y-f.y,S=y.z-f.z,P=Math.hypot(x,w,S);if(P===0)throw new Error("Can't calculate camera options with same From and To");const E=Math.hypot(x,w),C=d.ar(this.transform.cameraToCenterDistance/P/this.transform.tileSize),z=180*Math.atan2(x,-w)/Math.PI;let B=180*Math.acos(E/P)/Math.PI;return B=S<0?90-B:90+B,{center:y.toLngLat(),elevation:c,zoom:C,pitch:B,bearing:z}}calculateCameraOptionsFromCameraLngLatAltRotation(t,n,a,c,f){const y=this.transform.calculateCenterFromCameraLngLatAlt(t,n,a,c);return{center:y.center,elevation:y.elevation,zoom:y.zoom,bearing:a,pitch:c,roll:f}}easeTo(t,n){this._stop(!1,t.easeId),"zoom"in(t=d.e({offset:[0,0],duration:500,easing:d.cy},t))&&this._zoomSnap&&(t.zoom=d.cw(t.zoom,this._zoomSnap)),(t.animate===!1||!t.essential&&Gt.prefersReducedMotion)&&(t.duration=0);const a=this._getTransformForUpdate(),c=this.getBearing(),f=a.pitch,y=a.roll,x="bearing"in t?this._normalizeBearing(t.bearing,c):c,w="pitch"in t?+t.pitch:f,S="roll"in t?this._normalizeBearing(t.roll,y):y,P="padding"in t?t.padding:a.padding,E=d.P.convert(t.offset);let C,z;t.around&&(C=d.W.convert(t.around),z=a.locationToScreenPoint(C));const B={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching,rolling:this._rolling},V=this.cameraHelper.handleEaseTo(a,{bearing:x,pitch:w,roll:S,padding:P,around:C,aroundPoint:z,offsetAsPoint:E,offset:t.offset,zoom:t.zoom,center:t.center});return this._rotating||(this._rotating=c!==x),this._pitching||(this._pitching=w!==f),this._rolling||(this._rolling=S!==y),this._padding=!a.isPaddingEqual(P),this._zooming||(this._zooming=V.isZooming),this._easeId=t.easeId,this._prepareEase(n,t.noMoveStart,B),this.terrain&&this._prepareElevation(V.elevationCenter),this._ease(G=>{V.easeFunc(G),this.terrain&&!t.freezeElevation&&this._updateElevation(G),this._applyUpdatedTransform(a),this._fireMoveEvents(n)},G=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(n,G)},t),this}_prepareEase(t,n,a={}){this._moving=!0,n||a.moving||this.fire(new d.n("movestart",t)),this._zooming&&!a.zooming&&this.fire(new d.n("zoomstart",t)),this._rotating&&!a.rotating&&this.fire(new d.n("rotatestart",t)),this._pitching&&!a.pitching&&this.fire(new d.n("pitchstart",t)),this._rolling&&!a.rolling&&this.fire(new d.n("rollstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this._elevationStart!==void 0&&this._elevationCenter!==void 0||this._prepareElevation(this.transform.center),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));const n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&n!==this._elevationTarget){const a=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(a-(n-(a*t+this._elevationStart))/(1-t)),this._elevationTarget=n}this.transform.setElevation(d.H.number(this._elevationStart,this._elevationTarget,t))}_finalizeElevation(){this._elevationFreeze=!1,this.getCenterClampedToGroun
vendor: 5,326 bytes, line 803
803d()&&this.transform.recalculateZoomAndCenter(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){if(!this.terrain&&t.elevation>=0&&t.pitch<=90)return{};const n=t.getCameraLngLat(),a=t.getCameraAltitude(),c=this.terrain?this.terrain.getElevationForLngLatZoom(n,t.zoom):0;if(a<c){const f=this.calculateCameraOptionsFromTo(n,c,t.center,t.elevation);return{pitch:f.pitch,zoom:f.zoom}}return{}}_applyUpdatedTransform(t){const n=[];if(n.push(c=>this._elevateCameraIfInsideTerrain(c)),this.transformCameraUpdate&&n.push(c=>this.transformCameraUpdate(c)),!n.length)return;const a=t.clone();for(const c of n){const f=a.clone(),{center:y,zoom:x,roll:w,pitch:S,bearing:P,elevation:E}=c(f);y&&f.setCenter(y),E!==void 0&&f.setElevation(E),x!==void 0&&f.setZoom(x),w!==void 0&&f.setRoll(w),S!==void 0&&f.setPitch(S),P!==void 0&&f.setBearing(P),a.apply(f,!1)}this.transform.apply(a,!1)}_fireMoveEvents(t){this.fire(new d.n("move",t)),this._zooming&&this.fire(new d.n("zoom",t)),this._rotating&&this.fire(new d.n("rotate",t)),this._pitching&&this.fire(new d.n("pitch",t)),this._rolling&&this.fire(new d.n("roll",t))}_afterEase(t,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;const a=this._zooming,c=this._rotating,f=this._pitching,y=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,a&&this.fire(new d.n("zoomend",t)),c&&this.fire(new d.n("rotateend",t)),f&&this.fire(new d.n("pitchend",t)),y&&this.fire(new d.n("rollend",t)),this.fire(new d.n("moveend",t))}flyTo(t,n){if(!t.essential&&Gt.prefersReducedMotion){const he=d.V(t,["center","zoom","bearing","pitch","roll","elevation","padding"]);return this.jumpTo(he,n)}this.stop(),"zoom"in(t=d.e({offset:[0,0],speed:1.2,curve:1.42,easing:d.cy},t))&&this._zoomSnap&&(t.zoom=d.cw(t.zoom,this._zoomSnap));const a=this._getTransformForUpdate(),c=a.bearing,f=a.pitch,y=a.roll,x=a.padding,w="bearing"in t?this._normalizeBearing(t.bearing,c):c,S="pitch"in t?+t.pitch:f,P="roll"in t?this._normalizeBearing(t.roll,y):y,E="padding"in t?t.padding:a.padding,C=d.P.convert(t.offset);let z=a.centerPoint.add(C);const B=a.screenPointToLocation(z),V=this.cameraHelper.handleFlyTo(a,{bearing:w,pitch:S,roll:P,padding:E,locationAtOffset:B,offsetAsPoint:C,center:t.center,minZoom:t.minZoom,zoom:t.zoom});let G=t.curve;const N=Math.max(a.width,a.height),$=N/V.scaleOfZoom,X=V.pixelPathLength;typeof V.scaleOfMinZoom=="number"&&(G=Math.sqrt(N/V.scaleOfMinZoom/X*2));const Z=G*G;function U(he){const Pe=($*$-N*N+(he?-1:1)*Z*Z*X*X)/(2*(he?$:N)*Z*X);return Math.log(Math.sqrt(Pe*Pe+1)-Pe)}function H(he){return(Math.exp(he)-Math.exp(-he))/2}function q(he){return(Math.exp(he)+Math.exp(-he))/2}const Q=U(!1);let se=function(he){return q(Q)/q(Q+G*he)},oe=function(he){return N*((q(Q)*(H(Pe=Q+G*he)/q(Pe))-H(Q))/Z)/X;var Pe},de=(U(!0)-Q)/G;if(Math.abs(X)<2e-6||!isFinite(de)){if(Math.abs(N-$)<1e-6)return this.easeTo(t,n);const he=$<N?-1:1;de=Math.abs(Math.log($/N))/G,oe=()=>0,se=Pe=>Math.exp(he*G*Pe)}return t.duration="duration"in t?+t.duration:1e3*de/("screenSpeed"in t?+t.screenSpeed/G:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=c!==w,this._pitching=S!==f,this._rolling=P!==y,this._padding=!a.isPaddingEqual(E),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(V.targetCenter),this._ease(he=>{const Pe=he*de,ve=1/se(Pe),ue=oe(Pe);this._rotating&&a.setBearing(d.H.number(c,w,he)),this._pitching&&a.setPitch(d.H.number(f,S,he)),this._rolling&&a.setRoll(d.H.number(y,P,he)),this._padding&&(a.interpolatePadding(x,E,he),z=a.centerPoint.add(C)),V.easeFunc(he,ve,ue,z),this.terrain&&!t.freezeElevation&&this._updateElevation(he),this._applyUpdatedTransform(a),this._fireMoveEvents(n)},()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(n)},t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,n){var a;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const c=this._onEaseEnd;delete this._onEaseEnd,c.call(this,n)}return t||(a=this.handlers)===null||a===void 0||a.stop(!1),this}_ease(t,n,a){a.animate===!1||a.duration===0?(t(1),n()):(this._easeStart=He(),this._easeOptions=a,this._onEaseFrame=t,this._onEaseEnd=n,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,n){t=d.X(t,-180,180);const a=Math.abs(t-n);return Math.abs(t-360-n)<a&&(t-=360),Math.abs(t+360-n)<a&&(t+=360),t}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLat(d.W.convert(t),this.transform):null}}const Xo={compact:!0,customAttribution:'<a href="https://maplibre.org/" target="_blank">MapLibre</a>'};class Vi{constructor(t=Xo){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=n=>
803{!n||n.sourceDataType!=="metadata"&&n.sourceDataType!=="visibility"&&n.dataType!=="style"&&n.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=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=pe.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=pe.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=pe.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(){this._container.remove(),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(t,n){const a=this._map._getUIString(`AttributionControl.${n}`);t.title=a,t.setAttribute("aria-label",a)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map(c=>typeof c!="string"?"":c)):typeof this.options.customAttribution=="string"&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const c=this._map.style.stylesheet;this.styleOwner=c.owner,this.styleId=c.id}const n=this._map.style.tileManagers;for(const c in n){const f=n[c];if(f.used||f.usedForTerrain){const y=f.getSource();y.attribution&&!t.includes(y.attribution)&&t.push(y.attribution)}}t=t.filter(c=>String(c).trim()),t.sort((c,f)=>c.length-f.length),t=t.filter((c,f)=>{for(let y=f+1;y<t.length;y++)if(t[y].includes(c))return!1;return!0});const a=t.join(" | ");a!==this._attribHTML&&(this._attribHTML=a,t.length?(this._innerContainer.innerHTML=pe.sanitize(a),this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Cl{constructor(t={}){this._updateCompact=()=>{const n=this._container.children;if(n.length){const a=n[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&a.classList.add("maplibregl-compact"):a.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){var n;this._map=t,this._compact=(n=this.options)===null||n===void 0?void 0:n.compact,this._container=pe.create("div","maplibregl-ctrl");const a=pe.create("a","maplibregl-ctrl-logo");return a.target="_blank",a.rel="noopener nofollow",a.href="https://maplibre.org/",a.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),a.setAttribute("rel","noopener nofollow"),this._container.appendChild(a),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class sh{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const n=++this._id;return this._queue.push({callback:t,id:n,cancelled:!1}),n}remove(t){const n=this._currentlyRunning,a=n?this._queue.concat(n):this._queue;
803for(const c of a)if(c.id===t)return void(c.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const n=this._currentlyRunning=this._queue;this._queue=[];for(const a of n)if(!a.cancelled&&(a.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var oh=d.aS([{name:"a_pos3d",type:"Int16",components:3}]);class ah extends d.E{constructor(t){super(),this._lastTilesetChange=He(),this.tileManager=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.deltaZoom=1,this.tileSize=t._source.tileSize*2**this.deltaZoom,t.usedForTerrain=!0,t.tileSize=this.tileSize}destruct(){this.tileManager.usedForTerrain=!1,this.tileManager.tileSize=null}getSource(){return this.tileManager._source}update(t,n){this.tileManager.update(t,n),this._renderableTilesKeys=[];const a={};for(const c of rn(t,{tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n,calculateTileZoom:this.tileManager._source.calculateTileZoom}))a[c.key]=!0,this._renderableTilesKeys.push(c.key),this._tiles[c.key]||(c.terrainRttPosMatrix32f=new Float64Array(16),d.c7(c.terrainRttPosMatrix32f,0,d.a6,d.a6,0,0,1),this._tiles[c.key]=new Rn(c,this.tileSize),this._lastTilesetChange=He());for(const c in this._tiles)a[c]||delete this._tiles[c]}freeRtt(t){for(const n in this._tiles){const a=this._tiles[n];(!t||a.tileID.equals(t)||a.tileID.isChildOf(t)||t.isChildOf(a.tileID))&&(a.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(t=>this.getTileByID(t))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t,n){return n?this._getTerrainCoordsForTileRanges(t,n):this._getTerrainCoordsForRegularTile(t)}_getTerrainCoordsForRegularTile(t){const n={};for(const a of this._renderableTilesKeys){const c=this._tiles[a].tileID,f=t.clone(),y=d.bj();if(c.canonical.equals(t.canonical))d.c7(y,0,d.a6,d.a6,0,0,1);else if(c.canonical.isChildOf(t.canonical)){const x=c.canonical.z-t.canonical.z,w=c.canonical.x-(c.canonical.x>>x<<x),S=c.canonical.y-(c.canonical.y>>x<<x),P=d.a6>>x;d.c7(y,0,P,P,0,0,1),d.Q(y,y,[-w*P,-S*P,0])}else{if(!t.canonical.isChildOf(c.canonical))continue;{const x=t.canonical.z-c.canonical.z,w=t.canonical.x-(t.canonical.x>>x<<x),S=t.canonical.y-(t.canonical.y>>x<<x),P=d.a6>>x;d.c7(y,0,d.a6,d.a6,0,0,1),d.Q(y,y,[w*P,S*P,0]),d.S(y,y,[1/2**x,1/2**x,0])}}f.terrainRttPosMatrix32f=new Float32Array(y),n[a]=f}return n}_getTerrainCoordsForTileRanges(t,n){const a={};for(const c of this._renderableTilesKeys){const f=this._tiles[c].tileID;if(!this._isWithinTileRanges(f,n))continue;const y=t.clone(),x=d.bj();if(f.canonical.z===t.canonical.z){const w=t.canonical.x-f.canonical.x+t.wrap*(1<<t.canonical.z),S=t.canonical.y-f.canonical.y;d.c7(x,0,d.a6,d.a6,0,0,1),d.Q(x,x,[w*d.a6,S*d.a6,0])}else if(f.canonical.z>t.canonical.z){const w=f.canonical.z-t.canonical.z,S=f.canonical.x-(f.canonical.x>>w<<w)+t.wrap*(1<<f.canonical.z),P=f.canonical.y-(f.canonical.y>>w<<w),E=t.canonical.x-(f.canonical.x>>w),C=t.canonical.y-(f.canonical.y>>w),z=d.a6>>w;d.c7(x,0,z,z,0,0,1),d.Q(x,x,[-S*z+E*d.a6,-P*z+C*d.a6,0])}else{const w=t.canonical.z-f.canonical.z,S=t.canonical.x-(t.canonical.x>>w<<w)+t.wrap*(1<<t.canonical.z),P=t.canonical.y-(t.canonical.y>>w<<w),E=(t.canonical.x>>w)-f.canonical.x,C=(t.canonical.y>>w)-f.canonical.y,z=d.a6<<w;d.c7(x,0,z,z,0,0,1),d.Q(x,x,[S*d.a6+E*z,P*d.a6+C*z,0])}y.terrainRttPosMatrix32f=new Float32Array(x),a[c]=y}return a}getSourceTile(t,n){var a,c;const f=this.tileManager._source;let y=t.overscaledZ-this.deltaZoom;if(y>f.maxzoom&&(y=f.maxzoom),y<f.minzoom)return;(a=this._sourceTileCache)[c=t.key]||(a[c]=t.scaledTo(y).key);let x=this.findTileInCaches(this._sourceTileCache[t.key]);if(!x?.dem&&n)for(;y>=f.minzoom&&!x?.dem;)x=this.findTileInCaches(t.scaledTo(y--).key);return x}findTileInCaches(t){let n=this.tileManager.getTileByID(t);return n||(n=this.tileManager._outOfViewCache.getByKey(t),n)}anyTilesAfterTime(t=Date.now()){return this._lastTilesetChange>=t}_isWithinTileRanges(t,n){const a=n[t.canonical.z];return!!a&&(t.wrap>a.minWrap||t.wrap<a.maxWrap||t.canonical.x>=a.minTileXWrapped&&t.canonical.x<=a.maxTileXWrapped&&t.canonical.y>=a.minTileY&&t.canonical.y<=a.maxTileY)}}class Ks{constructor(t,n,a){this._meshCache={},this.painter=t,this.tileManager=new ah(n),this.options=a,this.exaggeration=typeof a.exaggeration=="number"?a.exaggeration:1,this.qual
803ityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}destroy(){this._fbo&&(this._fbo.destroy(),this._fbo=null),this._fboCoordsTexture&&(this._fboCoordsTexture.destroy(),this._fboCoordsTexture=null),this._fboDepthTexture&&(this._fboDepthTexture.destroy(),this._fboDepthTexture=null),this._emptyDemTexture&&(this._emptyDemTexture.destroy(),this._emptyDemTexture=null),this._emptyDepthTexture&&(this._emptyDepthTexture.destroy(),this._emptyDepthTexture=null),this._coordsTexture&&(this._coordsTexture.destroy(),this._coordsTexture=null);for(const t in this._meshCache)this._meshCache[t].destroy();this._meshCache={},this.tileManager.destruct()}getDEMElevation(t,n,a,c=d.a6){var f;const y=t.normalizeCoordinates(n,a,c);if(!y)return 0;const x=this.getTerrainData(y.tileID),w=(f=x.tile)===null||f===void 0?void 0:f.dem;if(!w)return 0;const S=d.cC([],[y.x/c*d.a6,y.y/c*d.a6],x.u_terrain_matrix),P=[S[0]*w.dim,S[1]*w.dim],E=Math.floor(P[0]),C=Math.floor(P[1]),z=P[0]-E,B=P[1]-C;return w.get(E,C)*(1-z)*(1-B)+w.get(E+1,C)*z*(1-B)+w.get(E,C+1)*(1-z)*B+w.get(E+1,C+1)*z*B}getElevationForLngLatZoom(t,n){if(!d.cD(n,t.wrap()))return 0;const{tileID:a,mercatorX:c,mercatorY:f}=this._getOverscaledTileIDFromLngLatZoom(t,n);return this.getElevation(a,c%d.a6,f%d.a6,d.a6)}getElevationForLngLat(t,n){const a=rn(n,{maxzoom:this.tileManager.maxzoom,minzoom:this.tileManager.minzoom,tileSize:512,terrain:this});let c=0;for(const f of a)f.canonical.z>c&&(c=Math.min(f.canonical.z,this.tileManager.maxzoom));return this.getElevationForLngLatZoom(t,c)}getElevation(t,n,a,c=d.a6){return this.getDEMElevation(t,n,a,c)*this.exaggeration}getTerrainData(t){var n,a;if(!this._emptyDemTexture){const y=this.painter.context,x=new d.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new d.T(y,x,y.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new d.T(y,new d.R({width:1,height:1}),y.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(y.gl.NEAREST,y.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=d.ap([])}const c=this.tileManager.getSourceTile(t,!0);if(c?.dem&&(!c.demTexture||c.needsTerrainPrepare)){const y=this.painter.context;c.demTexture=this.painter.getTileTexture(c.dem.stride),c.demTexture?c.demTexture.update(c.dem.getPixels(),{premultiply:!1}):c.demTexture=new d.T(y,c.dem.getPixels(),y.gl.RGBA,{premultiply:!1}),c.demTexture.bind(y.gl.NEAREST,y.gl.CLAMP_TO_EDGE),c.needsTerrainPrepare=!1}const f=c&&c.toString()+c.tileID.key+t.key;if(f&&!this._demMatrixCache[f]){const y=this.tileManager.getSource().maxzoom;let x=t.canonical.z-c.tileID.canonical.z;t.overscaledZ>t.canonical.z&&(t.canonical.z>=y?x=t.canonical.z-y:d.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const w=t.canonical.x-(t.canonical.x>>x<<x),S=t.canonical.y-(t.canonical.y>>x<<x),P=d.cE(new Float64Array(16),[1/(d.a6<<x),1/(d.a6<<x),0]);d.Q(P,P,[w*d.a6,S*d.a6,0]),this._demMatrixCache[f]={matrix:P,coord:t}}return{u_depth:2,u_terrain:3,u_terrain_dim:((n=c?.dem)===null||n===void 0?void 0:n.dim)||1,u_terrain_matrix:f?this._demMatrixCache[f].matrix:this._emptyDemMatrix,u_terrain_unpack:((a=c?.dem)===null||a===void 0?void 0:a.getUnpackVector())||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(c?.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:c}}getFramebuffer(t){const n=this.painter,a=n.width/devicePixelRatio,c=n.height/devicePixelRatio;return!this._fbo||this._fbo.width===a&&this._fbo.height===c||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new d.T(n.context,{width:a,height:c,data:null},n.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(n.context.gl.NEAREST,n.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new d.T(n.context,{width:a,height:c,data:null},n.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(n.context.gl.NEAREST,n.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=n.context.createFramebuffer(a,c,!0,!1),this._fbo.depthAttachment.set(n.context.createRenderbuffer(n.context.gl.DEPTH_COMPONENT16,a,c))),this._fbo.colorAttachment.set(t==="coords"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){const t=this.painter.context;if(this._coordsTexture)return this._coordsTexture;const n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let f=0,y=0;f<this._coordsTextureSize;f++)for(let x=0;x<this._coordsTextureSize;x++,y+=4)n[y+0]=255&x,n[y+1]=255&f,n[y+2]=x>>8<<4|f>>8,n[y+3]=0;const a=new d.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),c=new d.T(t,a,t.gl.RGBA,{premultiply:!1});return c.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=c,c}pointCoordinate(t){this.painter.maybeDrawDepth(!0),this.painter.maybeDrawCoords();
vendor: 4,797 bytes, line 803
803const n=new Uint8Array(4),a=this.painter.context,c=a.gl,f=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),y=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),x=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),c.readPixels(f,x-y-1,1,1,c.RGBA,c.UNSIGNED_BYTE,n),a.bindFramebuffer.set(null);const w=n[0]+(n[2]>>4<<8),S=n[1]+((15&n[2])<<8),P=this.coordsIndex[255-n[3]],E=P&&this.tileManager.getTileByID(P);if(!E)return null;const C=this._coordsTextureSize,z=(1<<E.tileID.canonical.z)*C;return new d.a7((E.tileID.canonical.x*C+w)/z+E.tileID.wrap,(E.tileID.canonical.y*C+S)/z,this.getElevation(E.tileID,w,S,C))}depthAtPoint(t){const n=new Uint8Array(4),a=this.painter.context,c=a.gl;return a.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),c.readPixels(t.x,this.painter.height/devicePixelRatio-t.y-1,1,1,c.RGBA,c.UNSIGNED_BYTE,n),a.bindFramebuffer.set(null),(n[0]/16777216+n[1]/65536+n[2]/256+n[3])/256}getTerrainMesh(t){var n;const a=((n=this.painter.style.projection)===null||n===void 0?void 0:n.transitionState)>0,c=a&&t.canonical.y===0,f=a&&t.canonical.y===(1<<t.canonical.z)-1,y=`m_${c?"n":""}_${f?"s":""}`;if(this._meshCache[y])return this._meshCache[y];const x=this.painter.context,w=new d.cF,S=new d.aW,P=this.meshSize,E=d.a6/P,C=P*P;for(let q=0;q<=P;q++)for(let Q=0;Q<=P;Q++)w.emplaceBack(Q*E,q*E,0);for(let q=0;q<C;q+=P+1)for(let Q=0;Q<P;Q++)S.emplaceBack(Q+q,P+Q+q+1,P+Q+q+2),S.emplaceBack(Q+q,P+Q+q+2,Q+q+1);const z=w.length,B=z+(P+1),V=(P+1)*P,G=c?d.bq:0,N=c?0:1,$=f?d.br:d.a6,X=f?0:1;for(let q=0;q<=P;q++)w.emplaceBack(q*E,G,N);for(let q=0;q<=P;q++)w.emplaceBack(q*E,$,X);for(let q=0;q<P;q++)S.emplaceBack(V+q,B+q,B+q+1),S.emplaceBack(V+q,B+q+1,V+q+1),S.emplaceBack(0+q,z+q+1,z+q),S.emplaceBack(0+q,0+q+1,z+q+1);const Z=w.length,U=Z+2*(P+1);for(const q of[0,1])for(let Q=0;Q<=P;Q++)for(const se of[0,1])w.emplaceBack(q*d.a6,Q*E,se);for(let q=0;q<2*P;q+=2)S.emplaceBack(Z+q,Z+q+1,Z+q+3),S.emplaceBack(Z+q,Z+q+3,Z+q+2),S.emplaceBack(U+q,U+q+3,U+q+1),S.emplaceBack(U+q,U+q+2,U+q+3);const H=new st(x.createVertexBuffer(w,oh.members),x.createIndexBuffer(S),d.aV.simpleSegment(0,0,w.length,S.length));return this._meshCache[y]=H,H}getMeshFrameDelta(t){return 2*Math.PI*d.bD/Math.pow(2,Math.max(t,0))/5}getMinTileElevationForLngLatZoom(t,n){var a;if(!d.cD(n,t.wrap()))return 0;const{tileID:c}=this._getOverscaledTileIDFromLngLatZoom(t,n);return(a=this.getMinMaxElevation(c).minElevation)!==null&&a!==void 0?a:0}getMinMaxElevation(t){const n=this.getTerrainData(t).tile,a={minElevation:null,maxElevation:null};return n?.dem&&(a.minElevation=n.dem.min*this.exaggeration,a.maxElevation=n.dem.max*this.exaggeration),a}_getOverscaledTileIDFromLngLatZoom(t,n){const a=d.a7.fromLngLat(t.wrap()),c=(1<<n)*d.a6,f=a.x*c,y=a.y*c,x=Math.floor(f/d.a6),w=Math.floor(y/d.a6);return{tileID:new d.a3(n,0,n,x,w),mercatorX:f,mercatorY:y}}}class pt{constructor(t,n,a){this._context=t,this._size=n,this._tileSize=a,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(const t of this._objects)t.texture.destroy(),t.fbo.destroy()}_createObject(t){const n=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),a=new d.T(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),n.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),n.colorAttachment.set(a.texture),{id:t,fbo:n,texture:a,stamp:-1,inUse:!1}}getObjectForId(t){return this._objects[t]}useObject(t){t.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(n=>t.id!==n),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const n of this._recentlyUsed)if(!this._objects[n].inUse)return this._objects[n];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length<this._size)&&this._objects.some(t=>!t.inUse)===!1}}const lt={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0};class ou{constructor(t,n){this.painter=t,this.terrain=n,this.pool=new pt(t.context,30,n.tileManager.tileSize*n.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}
803prepareForRender(t,n){var a,c,f;this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=t._order.filter(y=>!t._layers[y].isHidden(n)),this._coordsAscending={};for(const y in t.tileManagers){this._coordsAscending[y]={};const x=t.tileManagers[y].getVisibleCoordinates(),w=t.tileManagers[y].getSource(),S=w instanceof Er?w.terrainTileRanges:null;for(const P of x){const E=this.terrain.tileManager.getTerrainCoords(P,S);for(const C in E)(f=this._coordsAscending[y])[C]||(f[C]=[]),this._coordsAscending[y][C].push(E[C])}}this._rttFingerprints={};for(const y of t._order){const x=t._layers[y],w=x.source;if(lt[x.type]&&!this._rttFingerprints[w]){this._rttFingerprints[w]={};const S=(c=(a=t.tileManagers[w])===null||a===void 0?void 0:a.getState().revision)!==null&&c!==void 0?c:0;for(const P in this._coordsAscending[w])this._rttFingerprints[w][P]=`${this._coordsAscending[w][P].map(E=>E.key).sort().join()}#${S}`}}for(const y of this._renderableTiles)for(const x in this._rttFingerprints){const w=this._rttFingerprints[x][y.tileID.key];w&&w!==y.rttFingerprint[x]&&(y.rtt=[])}}renderLayer(t,n){if(t.isHidden(this.painter.transform.zoom))return!1;const a=Object.assign(Object.assign({},n),{isRenderingToTexture:!0}),c=t.type,f=this.painter,y=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(lt[c]&&(this._prevType&<[this._prevType]||this._stacks.push([]),this._prevType=c,this._stacks[this._stacks.length-1].push(t.id),!y))return!0;if(lt[this._prevType]||lt[c]&&y){this._prevType=c;const x=this._stacks.length-1,w=this._stacks[x]||[];for(const S of this._renderableTiles){if(this.pool.isFull()&&(_l(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(S),S.rtt[x]){const E=this.pool.getObjectForId(S.rtt[x].id);if(E.stamp===S.rtt[x].stamp){this.pool.useObject(E);continue}}const P=this.pool.getOrCreateFreeObject();this.pool.useObject(P),this.pool.stampObject(P),S.rtt[x]={id:P.id,stamp:P.stamp},f.context.bindFramebuffer.set(P.fbo.framebuffer),f.context.clear({color:d.bo.transparent,stencil:0}),f.currentStencilSource=void 0;for(const E of w){const C=f.style._layers[E],z=C.source?this._coordsAscending[C.source][S.tileID.key]:[S.tileID];f.context.viewport.set([0,0,P.fbo.width,P.fbo.height]),f._renderTileClippingMasks(C,z,!0),f.renderLayer(f,f.style.tileManagers[C.source],C,z,a),C.source&&(S.rttFingerprint[C.source]=this._rttFingerprints[C.source][S.tileID.key])}}return _l(this.painter,this.terrain,this._rttTiles,a),this._rttTiles=[],this.pool.freeAllObjects(),lt[c]}return!1}}const Js={"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":"Drag to rotate map, click to reset 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"},Yo=Te,Ko={hash:!1,interactive:!0,bearingSnap:7,zoomSnap:0,attributionControl:Xo,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,maxTileC
803acheSize:null,maxTileCacheZoomLevels:d.c.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,transformConstrain:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:"sans-serif",pitchWithRotate:!0,rollEnabled:!1,reduceMotion:void 0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0,experimentalZoomLevelsToOverscale:void 0,anisotropicFilterPitch:20};let Jo=class extends su{get _ownerWindow(){var h,t;return((t=(h=this._container)===null||h===void 0?void 0:h.ownerDocument)===null||t===void 0?void 0:t.defaultView)||window}constructor(h){var t,n,a;const c=Object.assign(Object.assign(Object.assign({},Ko),h),{canvasContextAttributes:Object.assign(Object.assign({},Ko.canvasContextAttributes),h.canvasContextAttributes)});if(c.minZoom!=null&&c.maxZoom!=null&&c.minZoom>c.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(c.minPitch!=null&&c.maxPitch!=null&&c.minPitch>c.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(c.minPitch!=null&&c.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(c.maxPitch!=null&&c.maxPitch>180)throw new Error("maxPitch must be less than or equal to 180");const f=new ln,y=new cn;c.minZoom!==void 0&&f.setMinZoom(c.minZoom),c.maxZoom!==void 0&&f.setMaxZoom(c.maxZoom),c.minPitch!==void 0&&f.setMinPitch(c.minPitch),c.maxPitch!==void 0&&f.setMaxPitch(c.maxPitch),c.renderWorldCopies!==void 0&&f.setRenderWorldCopies(c.renderWorldCopies),c.transformConstrain!==null&&f.setConstrainOverride(c.transformConstrain),super(f,y,{bearingSnap:c.bearingSnap,zoomSnap:c.zoomSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sh,this._controls=[],this._mapId=d.ad(),this._lostContextStyle={style:null,images:null},this._contextLost=w=>{if(w.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.painter.destroy(),this._lostContextStyle=this._getStyleAndImages(),this.style){for(const S of Object.values(this.style._layers))if(S.type,S._listeners)for(const[P]of Object.entries(S._listeners));this.style.destroy(),this.style=null,this.fire(new d.n("webglcontextlost",{originalEvent:w}))}else this.fire(new d.n("webglcontextlost",{originalEvent:w}))},this._contextRestored=w=>{this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&this.style&&(this.style.imageManager.images=this._lostContextStyle.images),this._lostContextStyle={style:null,images:null},this._setupPainter(),this.resize(),this._update(),this._resizeInternal(),this.fire(new d.n("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=c.interactive,this._maxTileCacheSize=c.maxTileCacheSize,this._maxTileCacheZoomLevels=c.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},c.canvasContextAttributes),this._trackResize=c.trackResize===!0,this._bearingSnap=c.bearingSnap,this._zoomSnap=c.zoomSnap,this._centerClampedToGround=c.centerClampedToGround,this._refreshExpiredTiles=c.refreshExpiredTiles===!0,this._fadeDuration=c.fadeDuration,this._crossSourceCollisions=c.crossSourceCollisions===!0,this._collectResourceTiming=c.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Js),c.locale),this._clickTolerance=c.clickTolerance,this._overridePixelRatio=c.pixelRatio,this._maxCanvasSize=c.maxCanvasSize,this._zoomLevelsToOverscale=c.experimentalZoomLevelsToOverscale,this.transformCameraUpdate=c.transformCameraUpdate,this.transformConstrain=c.transformConstrain,this.cancelPendingTileRequestsWhileZooming=c.cancelPendingTileRequestsWhileZooming===!0,this.setAnisotropicFilterPitch(c.anisotropicFilterPitch),c.reduceMotion!==void 0&&(Gt.prefersReducedMotion=c.reduceMotion),this._imageQueueHandle=Ti.addThrottleControl(()=>this.isMoving()),this._requestManager=new zt(c.transformRequest),this._container=this._resolveContainer(c.container),c.maxBounds&&this.setMaxBounds(c.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.depthDirty=!0,this._update(!0)}),this.once("idle",()=>this._idleTriggered=!0),typeof window<"u"&&(this._ownerWindow.addEventListener("online",this._onWindowOnline,!1),this._setupResizeObserver()),this.handlers=new li(this,c),this._hash=c.hash?new $s(typeof c.hash=="string"&&c.hash||void 0).addTo(this):void 0,!((t=this._hash)===null||t===void 0)&&t._onHashChange()||(this.jumpTo({center:c.center,elevation:c.elevation,zoom:c.zoom,bearing:c.bearing,pitch:c.pitch,roll:c.roll}),c.bounds&&(this.resize(),this.fitBounds(c.bounds,d.e({}
803,c.fitBoundsOptions,{duration:0}))));const x=typeof c.style=="string"||((a=(n=c.style)===null||n===void 0?void 0:n.projection)===null||a===void 0?void 0:a.type)!=="globe";this.resize(null,x),this._localIdeographFontFamily=c.localIdeographFontFamily,this._validateStyle=c.validateStyle,c.style&&this.setStyle(c.style,{localIdeographFontFamily:c.localIdeographFontFamily}),c.attributionControl&&this.addControl(new Vi(typeof c.attributionControl=="boolean"?void 0:c.attributionControl)),c.maplibreLogo&&this.addControl(new Cl,c.logoPosition),this.on("style.load",()=>{if(x||this._resizeTransform(),this.transform.unmodified){const w=d.V(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(w)}}),this.on("data",w=>{this._update(w.dataType==="style"),this.fire(new d.n(`${w.dataType}data`,w))}),this.on("dataloading",w=>{this.fire(new d.n(`${w.dataType}dataloading`,w))}),this.on("dataabort",w=>{this.fire(new d.n("sourcedataabort",w))})}_getMapId(){return this._mapId}setGlobalStateProperty(h,t){return this.style.setGlobalStateProperty(h,t),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(h,t){if(t===void 0&&(t=h.getDefaultPosition?h.getDefaultPosition():"top-right"),!h?.onAdd)return this.fire(new d.l(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=h.onAdd(this);this._controls.push(h);const a=this._controlPositions[t];return t.includes("bottom")?a.insertBefore(n,a.firstChild):a.appendChild(n),this}removeControl(h){if(!h?.onRemove)return this.fire(new d.l(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const t=this._controls.indexOf(h);return t>-1&&this._controls.splice(t,1),h.onRemove(this),this}hasControl(h){return this._controls.includes(h)}coveringTiles(h){return rn(this.transform,h)}calculateCameraOptionsFromTo(h,t,n,a){return a==null&&this.terrain&&(a=this.terrain.getElevationForLngLat(n,this.transform)),super.calculateCameraOptionsFromTo(h,t,n,a)}resize(h,t=!0){if(this._lostContextStyle.style!==null)return this;this._resizeInternal(t);const n=!this._moving;return n&&(this.stop(),this.fire(new d.n("movestart",h)).fire(new d.n("move",h))),this.fire(new d.n("resize",h)),n&&this.fire(new d.n("moveend",h)),this}_resizeInternal(h=!0){const[t,n]=this._containerDimensions(),a=this._getClampedPixelRatio(t,n);if(this._resizeCanvas(t,n,a),this.painter.resize(t,n,a),this.painter.overLimit()){const c=this.painter.context.gl;this._maxCanvasSize=[c.drawingBufferWidth,c.drawingBufferHeight];const f=this._getClampedPixelRatio(t,n);this._resizeCanvas(t,n,f),this.painter.resize(t,n,f)}this._resizeTransform(h)}_resizeTransform(h=!0){var t;const[n,a]=this._containerDimensions();this.transform.resize(n,a,h),(t=this._requestedCameraState)===null||t===void 0||t.resize(n,a,h)}_getClampedPixelRatio(h,t){const{0:n,1:a}=this._maxCanvasSize,c=this.getPixelRatio(),f=h*c,y=t*c;return Math.min(f>n?n/f:1,y>a?a/y:1)*c}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(ke.convert(h)),this._update()}setMinZoom(h){if((h=h??-2)>=-2&&h<=this.transform.maxZoom){const t=this.transform.zoom,n=this._getTransformForUpdate();return n.setMinZoom(h),this._applyUpdatedTransform(n),this._update(),t!==this.transform.zoom&&this.fire(new d.n("zoomstart")).fire(new d.n("zoom")).fire(new d.n("zoomend")).fire(new d.n("movestart")).fire(new d.n("move")).fire(new d.n("moveend")),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){const t=this.transform.zoom,n=this._getTransformForUpdate();return n.setMaxZoom(h),this._applyUpdatedTransform(n),this._update(),t!==this.transform.zoom&&this.fire(new d.n("zoomstart")).fire(new d.n("zoom")).fire(new d.n("zoomend")).fire(new d.n("movestart")).fire(new d.n("move")).fire(new d.n("moveend")),this}
803throw 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){const t=this.transform.pitch,n=this._getTransformForUpdate();return n.setMinPitch(h),this._applyUpdatedTransform(n),this._update(),t!==this.transform.pitch&&this.fire(new d.n("pitchstart")).fire(new d.n("pitch")).fire(new d.n("pitchend")).fire(new d.n("movestart")).fire(new d.n("move")).fire(new d.n("moveend")),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){const t=this.transform.pitch,n=this._getTransformForUpdate();return n.setMaxPitch(h),this._applyUpdatedTransform(n),this._update(),t!==this.transform.pitch&&this.fire(new d.n("pitchstart")).fire(new d.n("pitch")).fire(new d.n("pitchend")).fire(new d.n("movestart")).fire(new d.n("move")).fire(new d.n("moveend")),this}throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getAnisotropicFilterPitch(){return this._anisotropicFilterPitch}setAnisotropicFilterPitch(h){if((h=h??20)>180)throw new Error("anisotropicFilterPitch must be less than or equal to 180");if(h<0)throw new Error("anisotropicFilterPitch must be greater than or equal to 0");return this._anisotropicFilterPitch=h,this._update()}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(h){return this.transform.setRenderWorldCopies(h),this._update()}setTransformConstrain(h){return this.transform.setConstrainOverride(h),this._update()}project(h){return this.transform.locationToScreenPoint(d.W.convert(h),this.style&&this.terrain)}unproject(h){return this.transform.screenPointToLocation(d.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,t,n){if(h==="mouseenter"||h==="mouseover"){let a=!1;return{layers:t,listener:n,delegates:{mousemove:f=>{const y=t.filter(w=>this.getLayer(w)),x=y.length!==0?this.queryRenderedFeatures(f.point,{layers:y}):[];x.length?a||(a=!0,n.call(this,new Ci(h,this,f.originalEvent,{features:x}))):a=!1},mouseout:()=>{a=!1}}}}if(h==="mouseleave"||h==="mouseout"){let a=!1;return{layers:t,listener:n,delegates:{mousemove:y=>{const x=t.filter(w=>this.getLayer(w));(x.length!==0?this.queryRenderedFeatures(y.point,{layers:x}):[]).length?a=!0:a&&(a=!1,n.call(this,new Ci(h,this,y.originalEvent)))},mouseout:y=>{a&&(a=!1,n.call(this,new Ci(h,this,y.originalEvent)))}}}}{const a=c=>{const f=t.filter(x=>this.getLayer(x)),y=f.length!==0?this.queryRenderedFeatures(c.point,{layers:f}):[];y.length&&(c.features=y,n.call(this,c),delete c.features)};return{layers:t,listener:n,delegates:{[h]:a}}}}_saveDelegatedListener(h,t){var n;this._delegatedListeners||(this._delegatedListeners={}),(n=this._delegatedListeners)[h]||(n[h]=[]),this._delegatedListeners[h].push(t)}_removeDelegatedListener(h,t,n){var a;if(!(!((a=this._delegatedListeners)===null||a===void 0)&&a[h]))return;const c=this._delegatedListeners[h];for(let f=0;f<c.length;f++){const y=c[f];if(y.listener===n&&y.layers.length===t.length&&y.layers.every(x=>t.includes(x))){for(const x in y.delegates)this.off(x,y.delegates[x]);return void c.splice(f,1)}}}on(h,t,n){if(n===void 0)return super.on(h,t);const a=typeof t=="string"?[t]:t,c=this._createDelegatedListener(h,a,n);this._saveDelegatedListener(h,c);for(const f in c.delegates)this.on(f,c.delegates[f]);return{unsubscribe:()=>{this._removeDelegatedListener(h,a,n)}}}once(h,t,n){if(n===void 0)return super.once(h,t);const a=typeof t=="string"?[t]:t,c=this._createDelegatedListener(h,a,n);for(const f in c.delegates){const y=c.delegates[f];c.delegates[f]=(...x)=>{this._removeDelegatedListener(h,a,n),y(...x)}}this._saveDelegatedListener(h,c);for(const f in c.delegates)this.once(f,c.delegates[f]);return this}off(h,t,n){return n===void 0?super.off(h,t):(this._removeDelegatedListener(h,typeof t=="string"?[t]:t,n),this)}queryRenderedFeatures(h,t){if(!this.style)return[];let n;const a=h instanceof d.P||Array.isArray(h),c=a?h:[[0,0],[this.transform.width,this.transform.height]];if(t||(t=(a?{}:h)||{}),c instanceof d.P||typeof c[0]=="number")n=[d.P.convert(c)];else{const f=d.P.convert(c[0]),y=d.P.convert(c[1]);n=[f,new d.P(y.x,f.y),y,new d.P(f.x,y.y),f]}return this.style.queryRenderedFeatures(n,t,this.transform)}querySourceFeatures(h,t){return this.style.querySourceFeatures(h,t)}setStyle(h,t){return(t=d.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._val
803idateStyle},t)).diff!==!1&&t.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&h?(this._diffStyle(h,t),this):(this._localIdeographFontFamily=t.localIdeographFontFamily,this._updateStyle(h,t))}setTransformRequest(h){return this._requestManager.setTransformRequest(h),this}_getUIString(h){const t=this._locale[h];if(t==null)throw new Error(`Missing UI string '${h}'`);return t}_updateStyle(h,t){var n,a,c;if((n=this._diffStyleRequest)===null||n===void 0||n.abort(),this._diffStyleRequest=null,t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(h,t));const f=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!h)),h?(this.style=new pn(this,t||{}),this.style.setEventedParent(this,{style:this.style}),typeof h=="string"?this.style.loadURL(h,t,f):this.style.loadJSON(h,t,f),this):(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),(c=(a=this.style)===null||a===void 0?void 0:a.projection)===null||c===void 0||c.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new pn(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(h,t){return d._(this,void 0,void 0,function*(){var n;if((n=this._diffStyleRequest)===null||n===void 0||n.abort(),typeof h=="string"){const a=h;this._diffStyleRequest=new AbortController;const c=this._diffStyleRequest;try{const f=yield this._requestManager.transformRequest(a,"Style");if(c.signal.aborted)return void(this._diffStyleRequest=null);const y=yield d.k(f,c);this._diffStyleRequest=null,this._updateDiff(y.data,t)}catch(f){this._diffStyleRequest=null,d.$(f)||this.fire(new d.l(d.d(f)))}}else typeof h=="object"&&(this._diffStyleRequest=null,this._updateDiff(h,t))})}_updateDiff(h,t){try{this.style.setState(h,t)&&this._update(!0)}catch(n){d.w(`Unable to perform style diff: ${d.d(n).message}. Rebuilding the style from scratch.`),this._updateStyle(h,t)}}getStyle(){if(this.style)return this.style.serialize()}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){if(this.style)return this.style.loaded();d.w("There is no style added to the map.")}addSource(h,t){return this._lazyInitEmptyStyle(),this.style.addSource(h,t),this._update(!0)}isSourceLoaded(h){var t;const n=(t=this.style)===null||t===void 0?void 0:t.tileManagers[h];if(n!==void 0)return n.loaded();this.fire(new d.l(new Error(`There is no tile manager with ID '${h}'`)))}setTerrain(h){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),h){const t=this.style.tileManagers[h.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${h.source}`);this.terrain===null&&t.reload();for(const n in this.style._layers){const a=this.style._layers[n];a.type==="hillshade"&&a.source===h.source&&d.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."),a.type==="color-relief"&&a.source===h.source&&d.w("You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new Ks(this.painter,t,h),this.painter.renderToTexture=new ou(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=n=>{var a;n.dataType==="style"?this.terrain.tileManager.freeRtt():n.dataType==="source"&&n.tile&&(n.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=n.source)===null||a===void 0?void 0:a.type)==="image"?this.terrain.tileManager.freeRtt():this.terrain.tileManager.freeRtt(n.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.destroy(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGroun
803d&&this.transform.setElevation(0);return this.fire(new d.n("terrain",{terrain:h})),this}getTerrain(){var h,t;return(t=(h=this.terrain)===null||h===void 0?void 0:h.options)!==null&&t!==void 0?t:null}areTilesLoaded(){var h;const t=(h=this.style)===null||h===void 0?void 0:h.tileManagers;for(const n of Object.values(t))if(!n.areTilesLoaded())return!1;return!0}removeSource(h){return this.style.removeSource(h),this._update(!0)}getSource(h){return this.style.getSource(h)}setSourceTileLodParams(h,t,n){if(n){const a=this.getSource(n);if(!a)throw new Error(`There is no source with ID "${n}", cannot set LOD parameters`);a.calculateTileZoom=Oa(Math.max(1,h),Math.max(1,t))}else for(const a in this.style.tileManagers)this.style.tileManagers[a].getSource().calculateTileZoom=Oa(Math.max(1,h),Math.max(1,t));return this._update(!0),this}refreshTiles(h,t){const n=this.style.tileManagers[h];if(!n)throw new Error(`There is no tile manager with ID "${h}", cannot refresh tile`);t===void 0?n.reload(!0):n.refreshTiles(t.map(a=>new d.aa(a.z,a.x,a.y)))}addImage(h,t,n={}){const{pixelRatio:a=1,sdf:c=!1,stretchX:f,stretchY:y,content:x,textFitWidth:w,textFitHeight:S}=n;if(this._lazyInitEmptyStyle(),!(t instanceof HTMLImageElement||d.b(t))){if(t.width===void 0||t.height===void 0)return this.fire(new d.l(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:P,height:E,data:C}=t,z=t;return this.style.addImage(h,{data:new d.R({width:P,height:E},new Uint8Array(C)),pixelRatio:a,stretchX:f,stretchY:y,content:x,textFitWidth:w,textFitHeight:S,sdf:c,version:0,userImage:z}),z.onAdd&&z.onAdd(this,h),this}}{const{width:P,height:E,data:C}=Gt.getImageData(t);this.style.addImage(h,{data:new d.R({width:P,height:E},C),pixelRatio:a,stretchX:f,stretchY:y,content:x,textFitWidth:w,textFitHeight:S,sdf:c,version:0})}}updateImage(h,t){const n=this.style.getImage(h);if(!n)return this.fire(new d.l(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const a=t instanceof HTMLImageElement||d.b(t)?Gt.getImageData(t):t,{width:c,height:f,data:y}=a;if(c===void 0||f===void 0)return this.fire(new d.l(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(c!==n.data.width||f!==n.data.height)return this.fire(new d.l(new Error("The width and height of the updated image must be that same as the previous version of the image")));const x=!(t instanceof HTMLImageElement||d.b(t));return n.data.replace(y,x),this.style.updateImage(h,n),this}getImage(h){return this.style.getImage(h)}hasImage(h){return h?!!this.style.getImage(h):(this.fire(new d.l(new Error("Missing required image id"))),!1)}removeImage(h){this.style.removeImage(h)}loadImage(h){return d._(this,void 0,void 0,function*(){return Ti.getImage(yield this._requestManager.transformRequest(h,"Image"),new AbortController)})}listImages(){return this.style.listImages()}addLayer(h,t){return this._lazyInitEmptyStyle(),this.style.addLayer(h,t),this._update(!0)}moveLayer(h,t){return this.style.moveLayer(h,t),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,t,n){return this.style.setLayerZoomRange(h,t,n),this._update(!0)}setFilter(h,t,n={}){return this.style.setFilter(h,t,n),this._update(!0)}getFilter(h){return this.style.getFilter(h)}setPaintProperty(h,t,n,a={}){return this.style.setPaintProperty(h,t,n,a),this._update(!0)}getPaintProperty(h,t){return this.style.getPaintProperty(h,t)}setLayoutProperty(h,t,n,a={}){return this.style.setLayoutProperty(h,t,n,a),this._update(!0)}getLayoutProperty(h,t){return this.style.getLayoutProperty(h,t)}setGlyphs(h,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(h,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(h,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(h,t,n,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,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(h,t,n=>{n||this._update(!0)}),this}setLight(h,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(h,t),this._update(!0)}getLight(){return this.style.getLight()}setSky(h,t={}){return this._lazyInitEmptyStyle(),this.style.setSky(h,t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(h,t){return this.style.setFeatureState(h,t),this._update()}removeFeatureState(h,t){return this.style.removeFeatureState(h,t),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,t=0;return this._container&&(h=this._container.clientWidth||400,t=this._container.clientHeight||300),[h,t]}_setupResizeObserver(){var h;let t=!1;const n=vl(c=>{this._trackResize&&!this._removed&&(this.resize(c),this.redraw())},50),a=(h=this._ownerWindow.ResizeObserver)!==null&&h!==void 0?h:ResizeObserver;this._resizeObserver=new a(c=>{t?n(c):t=!0}),this._resizeObserver.observe(this._container)}
803_resolveContainer(h){if(typeof h=="string"){const t=document.getElementById(h);if(!t)throw new Error(`Container '${h}' not found.`);return t}if(h instanceof HTMLElement||h&&typeof h=="object"&&h.nodeType===1)return h;throw new Error("Invalid type: 'container' must be a String or HTMLElement.")}_setupContainer(){const h=this._container;h.classList.add("maplibregl-map");const t=this._canvasContainer=pe.create("div","maplibregl-canvas-container",h);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=pe.create("canvas","maplibregl-canvas",t),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 n=this._containerDimensions(),a=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],a);const c=this._controlContainer=pe.create("div","maplibregl-control-container",h),f=this._controlPositions={};for(const y of["top-left","top-right","bottom-left","bottom-right"])f[y]=pe.create("div",`maplibregl-ctrl-${y} `,c);this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(h,t,n){this._canvas.width=Math.floor(n*h),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${h}px`,this._canvas.style.height=`${t}px`}_setupPainter(){const h=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0});let t=null;this._canvas.addEventListener("webglcontextcreationerror",a=>{t={requestedAttributes:h},a&&(t.statusMessage=a.statusMessage,t.type=a.type)},{once:!0});let n=null;if(n=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,h):this._canvas.getContext("webgl2",h)||this._canvas.getContext("webgl",h),!n){const a="Failed to initialize WebGL";throw t?(t.message=a,new Error(JSON.stringify(t))):new Error(a)}this.painter=new Gs(n,this.transform)}migrateProjection(h,t){super.migrateProjection(h,t),this.painter.transform=h,this.fire(new d.n("projectiontransition",{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(h){var t;return!((t=this.style)===null||t===void 0)&&t._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 t,n,a,c,f,y;const x=this._idleTriggered?this._fadeDuration:0,w=((t=this.style.projection)===null||t===void 0?void 0:t.transitionState)>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(h),this._removed)return;let S=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const C=this.transform.zoom,z=He();this.style.zoomHistory.update(C,z);const B=new d.J(C,{now:z,fadeDuration:x,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),V=B.crossFadingFactor();V===1&&V===this._crossFadingFactor||(S=!0,this._crossFadingFactor=V),this.style.update(B)}const P=((n=this.style.projection)===null||n===void 0?void 0:n.transitionState)>0!==w;(a=this.style.projection)===null||a===void 0||a.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState((c=this.style.projection)===null||c===void 0?void 0:c.transitionState,(f=this.style.projection)===null||f===void 0?void 0:f.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||P)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.tileManager.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._centerClampedToGroun
803d&&this.transform.setElevation(0)),this._placementDirty=(y=this.style)===null||y===void 0?void 0:y._updatePlacement(this.transform,this.showCollisionBoxes,x,this._crossSourceCollisions,P),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:x,showPadding:this.showPadding,anisotropicFilterPitch:this.getAnisotropicFilterPitch()}),this.fire(new d.n("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new d.n("load"))),this.style&&(this.style.hasTransitions()||S)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const E=this._sourcesDirty||this._styleDirty||this._placementDirty;return E||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new d.n("idle")),!this._loaded||this._fullyLoaded||E||(this._fullyLoaded=!0),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var h,t;this._hash&&this._hash.remove();for(const a of this._controls)a.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),(h=this._diffStyleRequest)===null||h===void 0||h.abort(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&this._ownerWindow.removeEventListener("online",this._onWindowOnline,!1),Ti.removeThrottleControl(this._imageQueueHandle),(t=this._resizeObserver)===null||t===void 0||t.disconnect();const n=this.painter.context.gl.getExtension("WEBGL_lose_context");n?.loseContext&&n.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),this._canvasContainer.remove(),this._controlContainer.remove(),this._container.removeEventListener("scroll",this._onMapScroll,!1),this._container.classList.remove("maplibregl-map"),this._removed=!0,this.fire(new d.n("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,Gt.frame(this._frameRequest,h=>{this._frameRequest=null;try{this._render(h)}catch(t){if(!d.$(t)&&!function(n){return n.message===No}(t))throw t}},()=>{},this._ownerWindow))}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 Yo}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(h){return this._lazyInitEmptyStyle(),this.style.setProjection(h),this._update(!0)}};const Al={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Qs{constructor(t,n,a=!1){this.mousedown=f=>{this.startMove(f,pe.mousePos(this.element,f)),window.addEventListener("mousemove",this.mousemove),window.addEventListener("mouseup",this.mouseup)},this.mousemove=f=>{this.move(f,pe.mousePos(this.element,f))},this.mouseup=f=>{this._rotatePitchHandler.dragEnd(f),this.offTemp()},this.touchstart=f=>{f.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=pe.touchPos(this.element,f.targetTouches)[0],this.startMove(f,this._startPos),window.addEventListener("touchmove",this.touchmove,{passive:!1}),window.addEventListener("touchend",this.touchend))},this.touchmove=f=>{f.targetTouches.length!==1?this.reset():(this._lastPos=pe.touchPos(this.element,f.targetTouches)[0],this.move(f,this._lastPos))},this.touchend=f=>{f.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._rotatePitchHandler.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=n;const c=new bl;this._rotatePitchHandler=new pr({clickTolerance:3,move:(f,y)=>{const x=n.getBoundingClientRect(),w=new d.P((x.bottom-x.top)/2,(x.right-x.left)/2);return{bearingDelta:d.cx(new d.P(f.x,y.y),y,w),pitchDelta:a?-.5*(y.y-f.y):void 0}},moveStateManager:c,enable:!0,assignEvents:()=>{}}),this.map=t,n.addEventListener("mousedown",this.mousedown),n.addEventListener("touchstart",this.touchstart,{passive:!1}),n.addEventListener("touchcancel",this.reset)}startMove(t,n){this._rotatePitchHandler.dragStart(t,n),pe.disableDrag()}move(t,n){const a=this.map,{bearingDelta:c,pitchDelta:f}=this._rotatePitchHandler.dragMove(t,n)||{};c&&a.setBearing(a.getBearing()+c),f&&a.setPitch(a.getPitch()+f)}off(){const t=this.element;t.removeEventListener("mousedown",this.mousedown),t.removeEventListener("touchstart",this.touchstart),window.removeEventListener("touchmove",this.touchmove),window.removeEventListener("touchend",this.touchend),t.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){pe.enableDrag(),window.removeEventListener("mousemove",this.mousemove),window.removeEventListener("mouseup",this.mouseup),window.removeEventListener("touchmove",this.touchmove),window.removeEventListener("touchend",this.touchend)}}let mr;function Qo(h,t,n,a=!1){if(a||!n.getCoveringTilesDetailsProvider().allowWorldCopies())return h?.wrap();const c=new d.W(h.lng,h.lat);if(h=new d.W(h.lng,h.lat),t){const f=new d.W(h.lng-360,h.lat),y=new d.W(h.lng+360,h.lat),x=n.locationToScreenPoint(h).distSqr(t);n.locationToScreenPoint(f).distSqr(t)<x?h=f:n.locationToScreenPoint(y).distSqr(t)<x&&(h=y)}for(;Math.abs(h.lng-n.center.lng)>180;){const f=n.locationToScreenPoint(h);if(f.x>=0&&f.y>=0&&f.x<=n.width&&f.y<=n.height)break;h.lng>n.center.lng?h.lng-=360:h.lng+=360}
803return h.lng!==c.lng&&n.isPointOnMapSurface(n.locationToScreenPoint(h))?h:c}const eo={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 ea(h,t,n){const a=h.classList;for(const c in eo)a.remove(`maplibregl-${n}-anchor-${c}`);a.add(`maplibregl-${n}-anchor-${t}`)}class to extends d.E{constructor(t){if(super(),this._onClick=n=>{this.fire(new d.n("click",{originalEvent:n}))},this._onKeyPress=n=>{n.code!=="Space"&&n.code!=="Enter"||this.togglePopup()},this._onMapClick=n=>{const a=n.originalEvent.target,c=this._element;this._popup&&(a===c||c.contains(a))&&this.togglePopup()},this._update=n=>{if(!this._map)return;const a=this._map.loaded()&&!this._map.isMoving();(n?.type==="terrain"||n?.type==="render"&&!a)&&this._map.once("render",this._update),this._lngLat=Qo(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 c="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?c=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(c=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let f="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?f="rotateX(0deg)":this._pitchAlignment==="map"&&(f=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||n&&n.type!=="moveend"||(this._pos=this._pos.round()),this._element.style.transform=`${eo[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${f} ${c}`,Gt.frameAsync(new AbortController,this._map._ownerWindow).then(()=>{this._updateOpacity(n?.type==="moveend")}).catch(()=>{})},this._onMove=n=>{if(!this._isDragging){const a=this._clickTolerance||this._map._clickTolerance;this._isDragging=n.point.dist(this._pointerdownPos)>=a}this._isDragging&&(this._pos=n.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 d.n("dragstart"))),this.fire(new d.n("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 d.n("dragend")),this._state="inactive"},this._addDragHandler=n=>{this._element.contains(n.originalEvent.target)&&(n.preventDefault(),this._positionDelta=n.point.sub(this._pos).add(this._offset),this._pointerdownPos=n.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=t?.anchor||"center",this._color=t?.color||"#3FB1CE",this._scale=t?.scale||1,this._draggable=t?.draggable||!1,this._clickTolerance=t?.clickTolerance||0,this._subpixelPositioning=t?.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=t?.rotation||0,this._rotationAlignment=t?.rotationAlignment||"auto",this._pitchAlignment=t?.pitchAlignment&&t.pitchAlignment!=="auto"?t.pitchAlignment:this._rotationAlignment,this.setOpacity(t?.opacity,t?.opacityWhenCovered),t?.element)this._element=t.element,this._offset=d.P.convert(t?.offset||[0,0]);else{this._defaultMarker=!0,this._element=pe.create("div");const n=pe.createNS("http://www.w3.org/2000/svg","svg"),a=41,c=27;n.setAttributeNS(null,"display","block"),n.setAttributeNS(null,"height",`${a}px`),n.setAttributeNS(null,"width",`${c}px`),n.setAttributeNS(null,"viewBox",`0 0 ${c} ${a}`);const f=pe.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"stroke","none"),f.setAttributeNS(null,"stroke-width","1"),f.setAttributeNS(null,"fill","none"),f.setAttributeNS(null,"fill-rule","evenodd");const y=pe.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"fill-rule","nonzero");const x=pe.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(3.0, 29.0)"),x.setAttributeNS(null,"fill","#000000");const w=[{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 N of w){const $=pe.createNS("http://www.w3.org/2000/svg","ellipse");$.setAttributeNS(null,"opacity","0.04"),$.setAttributeNS(null,"cx","10.5"),$.setAttributeNS(null,"cy","5.80029008"),$.setAttributeNS(null,"rx",N.rx),$.setAttributeNS(null,"ry",N.ry),x.appendChild($)}const S=pe.createNS("http://www.w3.org/2000/svg","g");S.setAttributeNS(null,"fill",this._color);const P=pe.createNS("http://www.w3.org/2000/svg","path");P.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"),S.appendChild(P);const E=pe.createNS("http://www.w3.org/2000/svg","g");E.setAttributeNS(null,"opacity","0.25"),E.setAttributeNS(null,"fill","#000000");const C=pe.createNS("http://www.w3.org/2000/svg","path");C.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"),E.appendChild(C);const z=pe.createNS("http://www.w3.org/2000/svg","g");z.setAttributeNS(null,"transform","translate(6.0, 7.0)"),z.setAttributeNS(null,"fill","#FFFFFF");const B=pe.createNS("http://www.w3.org/2000/svg","g");B.setAttributeNS(null,"transform","translate(8.0, 8.0)");const V=pe.createNS("http://www.w3.org/2000/svg","circle");V.setAttributeNS(null,"fill","#000000"),V.setAttributeNS(null,"opacity","0.25"),V.setAttributeNS(null,"cx","5.5"),V.setAttributeNS(null,"cy","5.5"),V.setAttributeNS(null,"r","5.4999962");const G=pe.createNS("http://www.w3.org/2000/svg","circle");G.setAttributeNS(null,"fill","#FFFFFF"),G.setAttributeNS(null,"cx","5.5"),G.setAttributeNS(null,"cy","5.5"),G.setAttributeNS(null,"r","5.4999962"),B.appendChild(V),B.appendChild(G),y.appendChild(x),y.appendChild(S),y.appendChild(E),y.appendChild(z),y.appendChild(B),n.appendChild(y),n.setAttributeNS(null,"height",a*this._scale+"px"),n.setAttributeNS(null,"width",c*this._scale+"px"),this._element.appendChild(n),this._offset=d.P.convert(t?.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",n=>{n.preventDefault()}),this._element.addEventListener("mousedown",n=>{n.preventDefault()}),ea(this._element,this._anchor,"marker"),t?.className)for(const n of t.className.split(" "))this._element.classList.add(n);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label",t._getUIString("Marker.Title")),this._element.hasAttribute("role")||this._element.setAttribute("role","button"),t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",this._update),t.on("projectiontransition",this._update),this._element.addEventListener("click",this._onClick),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),this._element.removeEventListener("click",this._onClick),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=d.W.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const c=Math.abs(13.5)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[
8030,-38.1],"bottom-left":[c,-1*(38.1-13.5+c)],"bottom-right":[-c,-1*(38.1-13.5+c)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var n,a;const c=(n=this._map)===null||n===void 0?void 0:n.terrain,f=this._map.transform.isLocationOccluded(this._lngLat);if(!c||f){const z=f?this._opacityWhenCovered:this._opacity;return void(this._element.style.opacity!==z&&(this._element.style.opacity=z,this._element.classList.toggle("maplibregl-marker-covered",f)))}if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const y=this._map,x=y.terrain.depthAtPoint(this._pos),w=y.terrain.getElevationForLngLat(this._lngLat,y.transform);if(y.transform.lngLatToCameraDepth(this._lngLat,w)-x<.006)return this._element.style.opacity=this._opacity,void this._element.classList.remove("maplibregl-marker-covered");const S=-this._offset.y/y.transform.pixelsPerMeter,P=Math.sin(y.getPitch()*Math.PI/180)*S,E=y.terrain.depthAtPoint(new d.P(this._pos.x,this._pos.y-this._offset.y)),C=y.transform.lngLatToCameraDepth(this._lngLat,w+P)-E>.006;!((a=this._popup)===null||a===void 0)&&a.isOpen()&&C&&this._popup.remove(),this._element.style.opacity=C?this._opacityWhenCovered:this._opacity,this._element.classList.toggle("maplibregl-marker-covered",C)}getOffset(){return this._offset}setOffset(t){return this._offset=d.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(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(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&t!=="auto"?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,n){return(this._opacity===void 0||t===void 0&&n===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),t!==void 0&&(this._opacity=String(t)),n!==void 0&&(this._opacityWhenCovered=String(n)),this._map&&this._updateOpacity(!0),this}}const Dl={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let os=0,wn=!1;const zl={maxWidth:100,unit:"metric"};function io(h,t,n){const a=n?.maxWidth||100,c=h._container.clientHeight/2,f=h._container.clientWidth/2,y=h.unproject([f-a/2,c]),x=h.unproject([f+a/2,c]),w=Math.round(h.project(x).x-h.project(y).x),S=Math.min(a,w,h._container.clientWidth),P=y.distanceTo(x);if(n?.unit==="imperial"){const E=3.2808*P;E>5280?Tn(t,S,E/5280,h._getUIString("ScaleControl.Miles")):Tn(t,S,E,h._getUIString("ScaleControl.Feet"))}else n?.unit==="nautical"?Tn(t,S,P/1852,h._getUIString("ScaleControl.NauticalMiles")):P>=1e3?Tn(t,S,P/1e3,h._getUIString("ScaleControl.Kilometers")):Tn(t,S,P,h._getUIString("ScaleControl.Meters"))}function Tn(h,t,n,a){const c=function(f){const y=Math.pow(10,`${Math.floor(f)}`.length-1);let x=f/y;return x=x>=10?10:x>=5?5:x>=3?3:x>=2?2:x>=1?1:function(w){const S=Math.pow(10,Math.ceil(-Math.log(w)/Math.LN10));return Math.round(w*S)/S}(x),y*x}(n);h.style.width=t*(c/n)+"px",h.innerHTML=`${c} ${a}`}const kl={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1,locationOccludedOpacity:void 0,padding:void 0}
vendor: 4,959 bytes, line 803
803,ta=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ia(h){if(h){if(typeof h=="number"){const t=Math.round(Math.abs(h)/Math.SQRT2);return{center:new d.P(0,0),top:new d.P(0,h),"top-left":new d.P(t,t),"top-right":new d.P(-t,t),bottom:new d.P(0,-h),"bottom-left":new d.P(t,-t),"bottom-right":new d.P(-t,-t),left:new d.P(h,0),right:new d.P(-h,0)}}if(h instanceof d.P||Array.isArray(h)){const t=d.P.convert(h);return{center:t,top:t,"top-left":t,"top-right":t,bottom:t,"bottom-left":t,"bottom-right":t,left:t,right:t}}return{center:d.P.convert(h.center||[0,0]),top:d.P.convert(h.top||[0,0]),"top-left":d.P.convert(h["top-left"]||[0,0]),"top-right":d.P.convert(h["top-right"]||[0,0]),bottom:d.P.convert(h.bottom||[0,0]),"bottom-left":d.P.convert(h["bottom-left"]||[0,0]),"bottom-right":d.P.convert(h["bottom-right"]||[0,0]),left:d.P.convert(h.left||[0,0]),right:d.P.convert(h.right||[0,0])}}return ia(new d.P(0,0))}const Rl=Te;R.AJAXError=d.cG,R.EXTENT=d.a6,R.Event=d.n,R.Evented=d.E,R.LngLat=d.W,R.MercatorCoordinate=d.a7,R.Point=d.P,R.addProtocol=d.cH,R.config=d.c,R.removeProtocol=d.cI,R.AttributionControl=Vi,R.BoxZoomHandler=rr,R.CanvasSource=Ra,R.CooperativeGesturesHandler=Ce,R.DoubleClickZoomHandler=El,R.DragPanHandler=Ji,R.DragRotateHandler=Ys,R.EdgeInsets=Un,R.FullscreenControl=class extends d.E{constructor(h={}){var t;super(),this._onFullscreenChange=()=>{var n;let a=window.document.fullscreenElement||window.document.webkitFullscreenElement;for(;!((n=a?.shadowRoot)===null||n===void 0)&&n.fullscreenElement;)a=a.shadowRoot.fullscreenElement;a===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,this._pseudo=(t=h.pseudo)!==null&&t!==void 0&&t,h?.container&&(h.container instanceof HTMLElement?this._container=h.container:d.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=pe.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const h=this._fullscreenButton=pe.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);pe.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 d.n("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new d.n("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){this._pseudo?this._togglePseudoFullScreen():window.document.exitFullscreen?window.document.exitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._pseudo?this._togglePseudoFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},R.GeoJSONSource=uo,R.GeolocateControl=class extends d.E{constructor(h){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new d.n("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_E
803RROR":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(t),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new d.n("geolocate",t)),this._finish()}},this._updateCamera=t=>{const n=new d.W(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,c=this._map.getBearing(),f=d.e({bearing:c},this.options.fitBoundsOptions),y=ke.fromLngLat(n,a);this._map.fitBounds(y,f,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const n=new d.W(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=t.coords.accuracy,this._updateCircleRadiusIfNeeded()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onUpdate=()=>{this._updateCircleRadiusIfNeeded()},this._onError=t=>{if(this._map){if(t.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 n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(t.code===3&&wn)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new d.n("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._onMoveStart=t=>{if(!this._map)return;const n=t?.[0]instanceof ResizeObserverEntry;t.geolocateSource||this._watchState!=="ACTIVE_LOCK"||n||this._map.isZooming()||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new d.n("trackuserlocationend")),this.fire(new d.n("userlocationlostfocus")))},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",t=>{t.preventDefault()}),this._geolocateButton=pe.create("button","maplibregl-ctrl-geolocate",this._container),pe.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=t=>{if(this._map){if(t===!1){d.w("Geolocation support is not available so the GeolocateControl will be disabled.");const n=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}else{const n=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=n,this._geolocateButton.setAttribute("aria-label",n)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=pe.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new to({element:this._dotElement}),this._circleElement=pe.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new to({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onUpdate),this._map.on("move",this._onUpdate),this._map.on("rotate",this._onUpdate),this._map.on("pitch",this._onUpdate)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",this._onMoveStart)}},this.options=d.e({},Dl,h)}onAdd(h){return this._map=h,this._container=pe.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return d._(this,arguments,void 0,function*(t=!1){if(mr!==void 0&&!t)return mr;if(window.navigator.permissions===void 0)return mr=!!window.navigator.geolocation,mr;try{mr=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{mr=!!window.navigator.geolocation}return mr})}().then(t=>this._finishSetupUI(t)),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(),this._container.remove(),this._map.off("movestart",this._onMoveStart),this._map.off("zoom",this._onUpdate),this._map.off("move",this._onUpdate),this._map.off("rotate",this._onUpdate),this._map.off("pitch",this._onUpdate),this._map=void 0,os=0,wn=!1}_isOutOfMapMaxBounds(h){const t=this._map.getMaxBounds(),n=h.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_E
803RROR",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":case"BACKGROUND_ERROR":case"OFF":case void 0:break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadiusIfNeeded(){const h=this._userLocationDotMarker.getLngLat();if(!(this.options.showUserLocation&&this.options.showAccuracyCircle&&this._accuracy&&h))return;const t=this._map.project(h),n=this._map.unproject([t.x+100,t.y]),a=h.distanceTo(n)/100,c=2*this._accuracy/a;this._circleElement.style.width=`${c.toFixed(2)}px`,this._circleElement.style.height=`${c.toFixed(2)}px`}trigger(){if(!this._setup)return d.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 d.n("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":os--,wn=!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 d.n("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 d.n("trackuserlocationstart")),this.fire(new d.n("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"),os++,os>1?(h={maximumAge:6e5,timeout:0},wn=!0):(h=this.options.positionOptions,wn=!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)}},R.GlobeControl=class{constructor(){this._toggleProjection=()=>{var h;const t=(h=this._map.getProjection())===null||h===void 0?void 0:h.type;this._map.setProjection(t!=="mercator"&&t?{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=pe.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._globeButton=pe.create("button","maplibregl-ctrl-globe",this._container),pe.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._map.on("projectiontransition",this._updateGlobeIcon),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateGlobeIcon),this._map.off("projectiontransition",this._updateGlobeIcon),this._globeButton.removeEventListener("click",this._toggleProjection),this._map=void 0}},R.Hash=$s,R.ImageSource=Er,R.KeyboardHandler=iu,R.LngLatBounds=ke,R.LogoControl
803=Cl,R.Map=Jo,R.MapLibreMap=Jo,R.MapMouseEvent=Ci,R.MapTouchEvent=qs,R.MapWheelEvent=Hc,R.Marker=to,R.NavigationControl=class{constructor(h){this._updateZoomButtons=()=>{const t=this._map.getZoom(),n=t===this._map.getMaxZoom(),a=t===this._map.getMinZoom();this._zoomInButton.disabled=n,this._zoomOutButton.disabled=a,this._zoomInButton.setAttribute("aria-disabled",n.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=(t,n)=>{const a=this._map._getUIString(`NavigationControl.${n}`);t.title=a,t.setAttribute("aria-label",a)},this.options=d.e({},Al,h),this._container=pe.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",t=>t.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",t=>this._map.zoomIn({},{originalEvent:t})),pe.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",t=>this._map.zoomOut({},{originalEvent:t})),pe.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})}),this._compassIcon=pe.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 Qs(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){this._container.remove(),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,t){const n=pe.create("button",h,this._container);return n.type="button",n.addEventListener("click",t),n}},R.Popup=class extends d.E{constructor(h){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:"")},this.remove=()=>(this._content&&this._content.remove(),this._container&&(this._container.remove(),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("terrain",this._update),this._map.off("projectiontransition",this._update),this._map.off("mousemove",this._update),this._map.off("mouseup",this._update),this._map.off("drag",this._update),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new d.n("close"))),this),this._update=t=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=pe.create("div","maplibregl-popup",this._map.getContainer()),this._tip=pe.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const x of this.options.className.split(" "))this._container.classList.add(x);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}let n;if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=Qo(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),t&&"point"in t&&t.point&&(n=t.point),this._trackPointer&&!n)return;const a=this._flatPos=this._pos=this._trackPointer&&n?n:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&n?n:this._map.transform.locationToScreenPoint(this._lngLat));let c=this.options.anchor;const f=ia(this.options.offset);if(!c){const x=this._container.offsetWidth,w=this._container.offsetHeight,S=function(E){var C,z,B,V;return E?{top:(C=E.top)!==null&&C!==void 0?C:0,right:(z=E.right)!==null&&z!==void 0?z:0,bottom:(B=E.bottom)!==null&&B!==void 0?B:0,left:(V=E.left)!==null&&V!==void 0?V:0}
vendor: 4,155 bytes, line 803
803:{top:0,right:0,bottom:0,left:0}}(this.options.padding);let P;P=a.y+f.bottom.y<w+S.top?["top"]:a.y>this._map.transform.height-w-S.bottom?["bottom"]:[],a.x<x/2+S.left?P.push("left"):a.x>this._map.transform.width-x/2-S.right&&P.push("right"),c=P.length===0?"bottom":P.join("-")}let y=a.add(f[c]);this.options.subpixelPositioning||(y=y.round()),this._container.style.transform=`${eo[c]} translate(${y.x}px,${y.y}px)`,ea(this._container,c,"popup"),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=d.e(Object.create(kl),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._map.on("terrain",this._update),this._map.on("projectiontransition",this._update),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._update),this._map.on("mouseup",this._update),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 d.n("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(h){return this._lngLat=d.W.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._update),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._update),this._map.on("drag",this._update),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 t=document.createDocumentFragment(),n=document.createElement("body");let a;for(n.innerHTML=h;a=n.firstChild,a;)t.appendChild(a);return this.setDOMContent(t)}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=pe.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}setPadding(h){this.options.padding=h,this._update()}_createCloseButton(){this.options.closeButton&&(this._closeButton=pe.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const h=this._container.querySelector(ta);h&&h.focus()}},R.RasterDEMTileSource=Zt,R.RasterTileSource=Si,R.ScaleControl=class{constructor(h){this._onMove=()=>{io(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,io(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},zl),h)}getDefaultPosition(){return"bottom-left"}onAdd(h){return this._map=h,this._container=pe.create("div","maplibregl-ctrl maplibregl-ctrl-scale",h.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._onMove),this._map=void 0}}
803,R.ScrollZoomHandler=Ml,R.Style=pn,R.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=pe.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=pe.create("button","maplibregl-ctrl-terrain",this._container),pe.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(){this._container.remove(),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},R.TwoFingersTouchPitchHandler=fr,R.TwoFingersTouchRotateHandler=tu,R.TwoFingersTouchZoomHandler=eu,R.TwoFingersTouchZoomRotateHandler=Ie,R.VectorTileSource=$t,R.VideoSource=Qr,R.addSourceType=(h,t)=>d._(void 0,void 0,void 0,function*(){if(ho(h))throw new Error(`A source type called "${h}" already exists.`);((n,a)=>{Fa[n]=a})(h,t)}),R.clearPrewarmedResources=function(){const h=Ri;h&&(h.isPreloaded()&&h.numActive()===1&&(h.release(_t),Ri=null))},R.createTileMesh=qn,R.getGlobalDispatcher=si,R.getMaxParallelImageRequests=function(){return d.c.MAX_PARALLEL_IMAGE_REQUESTS},R.getRTLTextPluginStatus=function(){return Cr().getRTLTextPluginStatus()},R.getVersion=function(){return Rl},R.getWorkerCount=function(){return yt.workerCount},R.getWorkerUrl=function(){return d.c.WORKER_URL},R.importScriptInWorkers=function(h){return si().broadcast("IS",h)},R.isTimeFrozen=function(){return Sr.isFrozen()},R.now=He,R.prewarm=function(){Yr().acquire(_t)},R.restoreNow=function(){Sr.restoreNow()},R.setMaxParallelImageRequests=function(h){d.c.MAX_PARALLEL_IMAGE_REQUESTS=h},R.setNow=function(h){Sr.setNow(h)},R.setRTLTextPlugin=function(h,t){return Cr().setRTLTextPlugin(h,t)},R.setWorkerCount=function(h){yt.workerCount=h},R.setWorkerUrl=function(h){d.c.WORKER_URL=h}});var Da=Zr;return Da})})(Vf);var Nf=Vf.exports;const V_=O_(Nf),j_=L_({__proto__:null,default:V_},[Nf]);export{B_ as c,O_ as g,j_ as m};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.