sagadeck 1.7.1 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +55 -4
  2. package/SKILL.md +10 -3
  3. package/bin/sagadeck.js +23 -0
  4. package/docs/ANDAMENTO.md +483 -1
  5. package/docs/PLANO-MELHORIAS.md +180 -0
  6. package/docs/REFERENCIA.md +184 -105
  7. package/package.json +34 -2
  8. package/src/ai/commands.js +2 -2
  9. package/src/ai/deck-ai.js +14 -5
  10. package/src/ai/ia-check.js +127 -0
  11. package/src/ai/ia-config.js +2 -2
  12. package/src/ai/llm.js +5 -1
  13. package/src/ai/map-analysis-run.js +119 -0
  14. package/src/ai/map-data.js +221 -0
  15. package/src/ai/quality.js +1 -1
  16. package/src/ai/video-generation.js +70 -25
  17. package/src/build.js +51 -15
  18. package/src/elements.js +39 -1
  19. package/src/export/browser.js +23 -1
  20. package/src/export/pptx.js +9 -3
  21. package/src/export/shots.js +10 -3
  22. package/src/fiscal/normalize.js +19 -0
  23. package/src/fs-retry.js +37 -2
  24. package/src/import/office.js +5 -4
  25. package/src/layouts.js +114 -99
  26. package/src/lessons.js +1 -1
  27. package/src/library.js +7 -7
  28. package/src/map-analysis.js +109 -0
  29. package/src/map-config.js +89 -0
  30. package/src/map-routing.js +82 -0
  31. package/src/map-services.js +60 -0
  32. package/src/map.js +274 -0
  33. package/src/mcp/server.js +17 -0
  34. package/src/motion.js +20 -6
  35. package/src/purpose.js +1 -1
  36. package/src/runtime/base.css +105 -329
  37. package/src/runtime/fit.js +3 -2
  38. package/src/runtime/fonts/amatic-sc.css +3 -0
  39. package/src/runtime/fonts/bebas-neue.css +2 -0
  40. package/src/runtime/fonts/cabin-sketch.css +2 -0
  41. package/src/runtime/fonts/fraunces.css +3 -0
  42. package/src/runtime/fonts/gelasio.css +3 -0
  43. package/src/runtime/fonts/ibm-plex-mono.css +4 -0
  44. package/src/runtime/fonts/index.json +10 -1
  45. package/src/runtime/fonts/itim.css +2 -0
  46. package/src/runtime/fonts/montserrat.css +2 -0
  47. package/src/runtime/fonts/space-grotesk.css +2 -0
  48. package/src/runtime/map-background.js +91 -0
  49. package/src/runtime/map.js +266 -0
  50. package/src/runtime/runtime.js +81 -100
  51. package/src/runtime/skins/caderno.css +33 -0
  52. package/src/runtime/skins/cartaz.css +27 -0
  53. package/src/runtime/skins/infografico.css +29 -0
  54. package/src/runtime/skins/lousa.css +22 -0
  55. package/src/runtime/skins/musgo.css +42 -0
  56. package/src/runtime/vendor/LEAFLET-LICENSE.txt +26 -0
  57. package/src/runtime/vendor/MAPLIBRE-LEAFLET-LICENSE.txt +15 -0
  58. package/src/runtime/vendor/MAPLIBRE-LICENSE.txt +116 -0
  59. package/src/runtime/vendor/geo-contornos.json +1 -0
  60. package/src/runtime/vendor/leaflet.css +661 -0
  61. package/src/runtime/vendor/leaflet.js +6 -0
  62. package/src/runtime/vendor/maplibre-gl.css +1 -0
  63. package/src/runtime/vendor/maplibre-gl.js +825 -0
  64. package/src/runtime/vendor/maplibre-leaflet.js +234 -0
  65. package/src/runtime/vendor/maplibre-worker.js +10 -0
  66. package/src/studio/ai-chat-route.js +20 -0
  67. package/src/studio/assets/imagens/tour-mapa-botao.jpg +0 -0
  68. package/src/studio/assets/imagens/tour-mapa-editor.jpg +0 -0
  69. package/src/studio/command-approval.js +2 -3
  70. package/src/studio/demo-decks.js +6 -2
  71. package/src/studio/export-jobs.js +86 -0
  72. package/src/studio/exporting.js +36 -18
  73. package/src/studio/feature-demos.js +144 -0
  74. package/src/studio/geo-routes.js +138 -0
  75. package/src/studio/ia-routes.js +9 -0
  76. package/src/studio/layout-samples.js +78 -16
  77. package/src/studio/library-routes.js +0 -9
  78. package/src/studio/project.js +2 -1
  79. package/src/studio/public/ai-settings.js +6 -3
  80. package/src/studio/public/app.js +46 -52
  81. package/src/studio/public/explorer.js +23 -8
  82. package/src/studio/public/export-status.js +154 -0
  83. package/src/studio/public/index.html +17 -10
  84. package/src/studio/public/library.css +12 -3
  85. package/src/studio/public/library.html +3 -0
  86. package/src/studio/public/library.js +39 -12
  87. package/src/studio/public/map-data.js +158 -0
  88. package/src/studio/public/map-editor.js +676 -0
  89. package/src/studio/public/map-fields.js +21 -0
  90. package/src/studio/public/map-settings.js +86 -0
  91. package/src/studio/public/slide-form.js +19 -16
  92. package/src/studio/public/style.css +58 -0
  93. package/src/studio/public/ui-icons.js +1 -1
  94. package/src/studio/public/viewers.js +2 -1
  95. package/src/studio/public/visual-editor.js +1 -1
  96. package/src/studio/server.js +34 -9
  97. package/src/studio/snapshot.js +8 -4
  98. package/src/studio/template-collections.js +1 -1
  99. package/src/studio/tour.js +158 -0
  100. package/src/themes.js +154 -0
  101. package/templates/cenario-e-ciencia.yaml +1 -21
  102. package/templates/ensaio-api.yaml +3 -3
  103. package/templates/cenario/Texto no cen/303/241rio.yaml" +0 -171
  104. package/templates/cenario/imagens/cidade.svg +0 -30
  105. package/templates/cenario/imagens/pessoa.svg +0 -15
@@ -0,0 +1,10 @@
1
+ (()=>{var Ky=Object.create,rp=Object.defineProperty,Qy=Object.getOwnPropertyDescriptor,e1=Object.getOwnPropertyNames,t1=Object.getPrototypeOf,ip=Object.prototype.hasOwnProperty,ll=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),r1=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(var n=e1(t),a=0,s=n.length,o;a<s;a++)o=n[a],!ip.call(e,o)&&o!==r&&rp(e,o,{get:(l=>t[l]).bind(null,o),enumerable:!(i=Qy(t,o))||i.enumerable});return e},i1=(e,t,r)=>(r=e==null?{}:Ky(t1(e)),r1(t||!e||!e.__esModule||!ip.call(e,"default")?rp(r,"default",{value:e,enumerable:!0}):r,e));function M(e,t){this.x=e,this.y=t}M.prototype={clone(){return new M(this.x,this.y)},add(e){return this.clone()._add(e)},sub(e){return this.clone()._sub(e)},multByPoint(e){return this.clone()._multByPoint(e)},divByPoint(e){return this.clone()._divByPoint(e)},mult(e){return this.clone()._mult(e)},div(e){return this.clone()._div(e)},rotate(e){return this.clone()._rotate(e)},rotateAround(e,t){return this.clone()._rotateAround(e,t)},matMult(e){return this.clone()._matMult(e)},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(e){return this.x===e.x&&this.y===e.y},dist(e){return Math.sqrt(this.distSqr(e))},distSqr(e){let t=e.x-this.x,r=e.y-this.y;return t*t+r*r},angle(){return Math.atan2(this.y,this.x)},angleTo(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith(e){return this.angleWithSep(e.x,e.y)},angleWithSep(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult(e){let t=e[0]*this.x+e[1]*this.y,r=e[2]*this.x+e[3]*this.y;return this.x=t,this.y=r,this},_add(e){return this.x+=e.x,this.y+=e.y,this},_sub(e){return this.x-=e.x,this.y-=e.y,this},_mult(e){return this.x*=e,this.y*=e,this},_div(e){return this.x/=e,this.y/=e,this},_multByPoint(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint(e){return this.x/=e.x,this.y/=e.y,this},_unit(){return this._div(this.mag()),this},_perp(){let e=this.y;return this.y=this.x,this.x=-e,this},_rotate(e){let t=Math.cos(e),r=Math.sin(e),i=t*this.x-r*this.y,n=r*this.x+t*this.y;return this.x=i,this.y=n,this},_rotateAround(e,t){let r=Math.cos(e),i=Math.sin(e),n=t.x+r*(this.x-t.x)-i*(this.y-t.y),a=t.y+i*(this.x-t.x)+r*(this.y-t.y);return this.x=n,this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:M},M.convert=function(e){if(e instanceof M)return e;if(Array.isArray(e))return new M(+e[0],+e[1]);if(e.x!==void 0&&e.y!==void 0)return new M(+e.x,+e.y);throw Error("Expected [x, y] or {x, y} point format")};function n1(e,t,r,i){let n=3*e,a=3*(r-e)-n,s=1-n-a,o=3*t,l=3*(i-t)-o,u=1-o-l;return function(h,c=1e-6){if(h<=0)return 0;if(h>=1)return 1;let p=h;for(let y=0;y<8;y++){let m=((s*p+a)*p+n)*p-h;if(Math.abs(m)<c)return((u*p+l)*p+o)*p;let g=(3*s*p+2*a)*p+n;if(Math.abs(g)<1e-6)break;p-=m/g}let f=0,d=1;p=h;for(let y=0;y<20;y++){let m=((s*p+a)*p+n)*p;if(Math.abs(m-h)<c)break;h>m?f=p:d=p,p=(f+d)*.5}return((u*p+l)*p+o)*p}}var bs;function a1(){return bs??(bs=typeof OffscreenCanvas<"u"&&!!new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),bs}var Vn;function s1(){if(Vn==null&&(Vn=!1,a1())){let e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let r=0;r<25;r++){let i=r*4;e.fillStyle=`rgb(${i},${i+1},${i+2})`,e.fillRect(r%5,Math.floor(r/5),1,1)}let t=e.getImageData(0,0,5,5).data;for(let r=0;r<100;r++)if(r%4!=3&&t[r]!==r){Vn=!0;break}}}return Vn||!1}var qu=typeof Float32Array<"u"?Float32Array:Array;function o1(){var e=new qu(4);return qu!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function l1(e,t,r){var i=t[0],n=t[1],a=t[2],s=t[3];return e[0]=r[0]*i+r[4]*n+r[8]*a+r[12]*s,e[1]=r[1]*i+r[5]*n+r[9]*a+r[13]*s,e[2]=r[2]*i+r[6]*n+r[10]*a+r[14]*s,e[3]=r[3]*i+r[7]*n+r[11]*a+r[15]*s,e}(function(){var e=o1();return function(t,r,i,n,a,s){var o,l;for(r||(r=4),i||(i=0),l=n?Math.min(n*r+i,t.length):t.length,o=i;o<l;o+=r)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],e[3]=t[o+3],a(e,e,s),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2],t[o+3]=e[3];return t}})();var xe=8192;function la(e){return e instanceof Error?e:Error(typeof e=="string"?e:String(e))}function u1(e){if(e<=0)return 0;if(e>=1)return 1;let t=e*e,r=t*e;return 4*(e<.5?r:3*(e-t)+r-.75)}function h1(e,t,r,i){return n1(e,t,r,i)}h1(.25,.1,.25,1);function Hr(e,t,r){return Math.min(r,Math.max(t,e))}function c1(e,t,r){let i=r-t,n=((e-t)%i+i)%i+t;return n===t?r:n}function Xe(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function p1(e){return Math.log(e)/Math.LN2%1==0}function ua(e,t,r){let i={};for(let n in e)i[n]=t.call(r||this,e[n],n,e);return i}function f1(e,t,r){let i={};for(let n in e)t.call(r||this,e[n],n,e)&&(i[n]=e[n]);return i}function Ys(e,t){if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Ys(e[r],t[r]))return!1;return!0}if(typeof e=="object"&&e&&t!==null){if(typeof t!="object"||Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e)if(!Ys(e[r],t[r]))return!1;return!0}return e===t}function Xt(e){return Array.isArray(e)?e.map(Xt):typeof e=="object"&&e?ua(e,Xt):e}var ju={};function Me(e){ju[e]||(typeof console<"u"&&console.warn(e),ju[e]=!0)}function Zt(e,t,r){return(r.y-e.y)*(t.x-e.x)>(t.y-e.y)*(r.x-e.x)}function Jr(e){return typeof WorkerGlobalScope<"u"&&e!==void 0&&e instanceof WorkerGlobalScope}function ul(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap}function d1(e,t,r,i,n){let a=Math.max(-t,0)*4,s=(Math.max(0,r)-r)*i*4+a,o=i*4,l=Math.max(0,t),u=Math.max(0,r),h=Math.min(e.width,t+i),c=Math.min(e.height,r+n);return{rect:{x:l,y:u,width:h-l,height:c-u},layout:[{offset:s,stride:o}]}}async function y1(e,t,r,i,n){if(typeof VideoFrame>"u")throw Error("VideoFrame not supported");let a=new VideoFrame(e,{timestamp:0});try{let s=a?.format;if(!s||!(s.startsWith("BGR")||s.startsWith("RGB")))throw Error(`Unrecognized format ${s}`);let o=s.startsWith("BGR"),l=new Uint8ClampedArray(i*n*4);if(await a.copyTo(l,d1(e,t,r,i,n)),o)for(let u=0;u<l.length;u+=4){let h=l[u];l[u]=l[u+2],l[u+2]=h}return l}finally{a.close()}}var _i,Si;function m1(e,t,r,i,n){let a=e.width,s=e.height;(!_i||!Si)&&(_i=new OffscreenCanvas(a,s),Si=_i.getContext("2d",{willReadFrequently:!0})),_i.width=a,_i.height=s,Si.drawImage(e,0,0,a,s);let o=Si.getImageData(t,r,i,n);return Si.clearRect(0,0,a,s),o.data}async function g1(e,t,r,i,n){if(s1())try{return await y1(e,t,r,i,n)}catch{}return m1(e,t,r,i,n)}function Gu(e,t,r,i){return e.addEventListener(t,r,i),{unsubscribe:()=>{e.removeEventListener(t,r,i)}}}function Yu(e){return e*Math.PI/180}var Xu="AbortError",hl=class extends Error{constructor(e=Xu){super(e instanceof Error?e.message:e),this.name=Xu,e instanceof Error&&e.stack&&(this.stack=e.stack)}};function np(e){return e instanceof Error&&e.name==="AbortError"}function x1(e){if(e.aborted)throw new hl(e.reason)}var Xs=class ap{constructor(t,r,i){let n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;let s=new Int32Array(this.arrayBuffer);t=s[0],r=s[1],i=s[2],this.d=r+2*i;for(let u=0;u<this.d*this.d;u++){let h=s[3+u],c=s[3+u+1];n.push(h===c?null:s.subarray(h,c))}let o=s[3+n.length],l=s[3+n.length+1];this.keys=s.subarray(o,l),this.bboxes=s.subarray(l),this.insert=this._insertReadonly}else{this.d=r+2*i;for(let s=0;s<this.d*this.d;s++)n.push([]);this.keys=[],this.bboxes=[]}this.n=r,this.extent=t,this.padding=i,this.scale=r/t,this.uid=0;let a=i/r*t;this.min=-a,this.max=t+a}insert(t,r,i,n,a){this._forEachCell(r,i,n,a,this._insertCell,this.uid++,void 0,void 0),this.keys.push(t),this.bboxes.push(r),this.bboxes.push(i),this.bboxes.push(n),this.bboxes.push(a)}_insertReadonly(){throw Error("Cannot insert into a GridIndex created from an ArrayBuffer.")}_insertCell(t,r,i,n,a,s){this.cells[a].push(s)}query(t,r,i,n,a){let s=this.min,o=this.max;if(t<=s&&r<=s&&o<=i&&o<=n&&!a)return[...this.keys];{let l=[];return this._forEachCell(t,r,i,n,this._queryCell,l,{},a),l}}_queryCell(t,r,i,n,a,s,o,l){let u=this.cells[a];if(u!==null){let h=this.keys,c=this.bboxes;for(let p of u)if(o[p]===void 0){let f=p*4;(l?l(c[f+0],c[f+1],c[f+2],c[f+3]):t<=c[f+2]&&r<=c[f+3]&&i>=c[f+0]&&n>=c[f+1])?(o[p]=!0,s.push(h[p])):o[p]=!1}}}_forEachCell(t,r,i,n,a,s,o,l){let u=this._convertToCellCoord(t),h=this._convertToCellCoord(r),c=this._convertToCellCoord(i),p=this._convertToCellCoord(n);for(let f=u;f<=c;f++)for(let d=h;d<=p;d++){let y=this.d*d+f;if((!l||l(this._convertFromCellCoord(f),this._convertFromCellCoord(d),this._convertFromCellCoord(f+1),this._convertFromCellCoord(d+1)))&&a.call(this,t,r,i,n,y,s,o,l))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let t=this.cells,r=3+this.cells.length+1+1,i=0;for(let s of this.cells)i+=s.length;let n=new Int32Array(r+i+this.keys.length+this.bboxes.length);n[0]=this.extent,n[1]=this.n,n[2]=this.padding;let a=r;for(let s=0;s<t.length;s++){let o=t[s];n[3+s]=a,n.set(o,a),a+=o.length}return n[3+t.length]=a,n.set(this.keys,a),a+=this.keys.length,n[3+t.length+1]=a,n.set(this.bboxes,a),a+=this.bboxes.length,n.buffer}static serialize(t,r){let i=t.toArrayBuffer();return r&&r.push(i),{buffer:i}}static deserialize(t){return new ap(t.buffer)}},sp={$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:{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"},"fill-extrusion-rounded-corner-distance":{type:"number",default:0,minimum:0,units:"meters","property-type":"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:{},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","feature"]},"property-type":"data-driven"},"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"},"symbol-height-offset":{type:"number",default:0,units:"meters",requires:[{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-height-anchor":{type:"enum",values:{ground:{},absolute:{}},default:"ground",requires:["symbol-height-offset"],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-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"fill-color":{type:"color",default:"#000000",transition:!0,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,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default: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"},"line-layer-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","global-state"]},"property-type":"data-constant"},"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"}]}}}}},D=sp,v1=["type","source","source-layer","minzoom","maxzoom","filter","layout"],F=class{constructor(e,t,r,i,n="error"){this.message=(e?`${e}: `:"")+r,i&&(this.identifier=i),this.severity=n,t!=null&&t.__line__&&(this.line=t.__line__)}},hn={kind:"null"},I={kind:"number"},X={kind:"string"},Q={kind:"boolean"},ht={kind:"color"},Fa={kind:"projectionDefinition"},hr={kind:"object"},H={kind:"value"},b1={kind:"error"},Ta={kind:"collator"},cn={kind:"formatted"},ka={kind:"padding"},Xi={kind:"colorArray"},Ia={kind:"numberArray"},pn={kind:"resolvedImage"},Ca={kind:"variableAnchorOffsetCollection"};function Ue(e,t){return{kind:"array",itemType:e,N:t}}function ye(e){if(e.kind==="array"){let t=ye(e.itemType);return typeof e.N=="number"?`array<${t}, ${e.N}>`:e.itemType.kind==="value"?"array":`array<${t}>`}return e.kind}var w1=[hn,I,X,Q,ht,Fa,cn,hr,Ue(H),ka,Ia,Xi,pn,Ca];function Zi(e,t){if(t.kind==="error")return null;if(e.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!Zi(e.itemType,t.itemType))&&(typeof e.N!="number"||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if(e.kind==="value"){for(let r of w1)if(!Zi(r,t))return null}}return`Expected ${ye(e)} but found ${ye(t)} instead.`}function cl(e,t){return t.some(r=>r.kind===e.kind)}function cr(e,t){return t.some(r=>r==="null"?e===null:r==="array"?Array.isArray(e):r==="object"?e&&!Array.isArray(e)&&typeof e=="object":r===typeof e)}function Ut(e,t){return e.kind==="array"&&t.kind==="array"?e.itemType.kind===t.itemType.kind&&typeof e.N=="number":e.kind===t.kind}var op=.96422,lp=.82521,up=4/29,Zs=6/29,hp=3*Zs*Zs,D1=Math.PI/180,_1=180/Math.PI;function cp(e){return e%=360,e<0&&(e+=360),e}function pp([e,t,r,i]){e=ws(e),t=ws(t),r=ws(r);let n,a,s=Ds((.2225045*e+.7168786*t+.0606169*r)/1);e===t&&t===r?n=a=s:(n=Ds((.4360747*e+.3850649*t+.1430804*r)/op),a=Ds((.0139322*e+.0971045*t+.7141733*r)/lp));let o=116*s-16;return[o<0?0:o,500*(n-s),200*(s-a),i]}function ws(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ds(e){return e>.008856451679035631?e**(1/3):e/hp+up}function fp([e,t,r,i]){let n=(e+16)/116,a=isNaN(t)?n:n+t/500,s=isNaN(r)?n:n-r/200;return n=1*Ss(n),a=op*Ss(a),s=lp*Ss(s),[_s(3.1338561*a-1.6168667*n-.4906146*s),_s(-.9787684*a+1.9161415*n+.033454*s),_s(.0719453*a-.2289914*n+1.4052427*s),i]}function _s(e){return e=e<=.00304?12.92*e:1.055*e**(1/2.4)-.055,e<0?0:e>1?1:e}function Ss(e){return e>Zs?e*e*e:hp*(e-up)}function S1(e){let[t,r,i,n]=pp(e),a=Math.sqrt(r*r+i*i);return[Math.round(a*1e4)?cp(Math.atan2(i,r)*_1):NaN,a,t,n]}function A1([e,t,r,i]){return e=isNaN(e)?0:e*D1,fp([r,Math.cos(e)*t,Math.sin(e)*t,i])}function E1([e,t,r,i]){e=cp(e),t/=100,r/=100;function n(a){let s=(a+e/30)%12,o=t*Math.min(r,1-r);return r-o*Math.max(-1,Math.min(s-3,9-s,1))}return[n(0),n(8),n(4),i]}var F1=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function $i(e,t){return F1(e,t)?e[t]:void 0}function T1(e){if(e=e.toLowerCase().trim(),e==="transparent")return[0,0,0,0];let t=$i(k1,e);if(t){let[i,n,a]=t;return[i/255,n/255,a/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){let i=e.length<6?1:2,n=1;return[On(e.slice(n,n+=i)),On(e.slice(n,n+=i)),On(e.slice(n,n+=i)),On(e.slice(n,n+i)||"ff")]}if(e.startsWith("rgb")){let i=e.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(i){let[n,a,s,o,l,u,h,c,p,f,d,y]=i,m=[o||" ",h||" ",f].join("");if(m===" "||m===" /"||m===",,"||m===",,,"){let g=[s,u,p].join(""),x=g==="%%%"?100:g===""?255:0;if(x){let b=[Mr(+a/x,0,1),Mr(+l/x,0,1),Mr(+c/x,0,1),d?Zu(+d,y):1];if(Wu(b))return b}}return}}let r=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){let[i,n,a,s,o,l,u,h,c]=r,p=[a||" ",o||" ",u].join("");if(p===" "||p===" /"||p===",,"||p===",,,"){let f=[+n,Mr(+s,0,100),Mr(+l,0,100),h?Zu(+h,c):1];if(Wu(f))return E1(f)}}}function On(e){return parseInt(e.padEnd(2,e),16)/255}function Zu(e,t){return Mr(t?e/100:e,0,1)}function Mr(e,t,r){return Math.min(Math.max(t,e),r)}function Wu(e){return!e.some(Number.isNaN)}var k1={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 Ht(e,t,r){return e+r*(t-e)}function Kr(e,t,r){return e.map((i,n)=>Ht(i,t[n],r))}function I1(e){return e==="rgb"||e==="hcl"||e==="lab"}var Be,me=(Be=class{constructor(t,r,i,n=1,a=!0){this.r=t,this.g=r,this.b=i,this.a=n,a||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[t,r,i,n]))}static parse(t){if(t instanceof Be)return t;if(typeof t!="string")return;let r=T1(t);if(r)return new Be(...r,!1)}get rgb(){let{r:t,g:r,b:i,a:n}=this,a=n||1/0;return this.overwriteGetter("rgb",[t/a,r/a,i/a,n])}get hcl(){return this.overwriteGetter("hcl",S1(this.rgb))}get lab(){return this.overwriteGetter("lab",pp(this.rgb))}overwriteGetter(t,r){return Object.defineProperty(this,t,{value:r}),r}toString(){let[t,r,i,n]=this.rgb;return`rgba(${[t,r,i].map(a=>Math.round(a*255)).join(",")},${n})`}static interpolate(t,r,i,n="rgb"){switch(n){case"rgb":{let[a,s,o,l]=Kr(t.rgb,r.rgb,i);return new Be(a,s,o,l,!1)}case"hcl":{let[a,s,o,l]=t.hcl,[u,h,c,p]=r.hcl,f,d;if(!isNaN(a)&&!isNaN(u)){let b=u-a;u>a&&b>180?b-=360:u<a&&a-u>180&&(b+=360),f=a+i*b}else isNaN(a)?isNaN(u)?f=NaN:(f=u,(o===1||o===0)&&(d=h)):(f=a,(c===1||c===0)&&(d=s));let[y,m,g,x]=A1([f,d??Ht(s,h,i),Ht(o,c,i),Ht(l,p,i)]);return new Be(y,m,g,x,!1)}case"lab":{let[a,s,o,l]=fp(Kr(t.lab,r.lab,i));return new Be(a,s,o,l,!1)}}}},Be.black=new Be(0,0,0,1),Be.white=new Be(1,1,1,1),Be.transparent=new Be(0,0,0,0),Be.red=new Be(1,0,0,1),Be),C1=["bottom","center","top"],Ws=class{constructor(e,t,r,i,n,a){this.text=e,this.image=t,this.scale=r,this.fontStack=i,this.textColor=n,this.verticalAlign=a}},Mt=class ta{constructor(t){this.sections=t}static fromString(t){return new ta([new Ws(t,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(t=>t.text.length!==0||t.image&&t.image.name.length!==0)}static factory(t){return t instanceof ta?t:ta.fromString(t)}toString(){return this.sections.length===0?"":this.sections.map(t=>t.text).join("")}},St=class Bi{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Bi)return t;if(typeof t=="number")return new Bi([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(let r of t)if(typeof r!="number")return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Bi(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new Bi(Kr(t.values,r.values,i))}},At=class Pi{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Pi)return t;if(typeof t=="number")return new Pi([t]);if(Array.isArray(t)){for(let r of t)if(typeof r!="number")return;return new Pi(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i){return new Pi(Kr(t.values,r.values,i))}},st=class Mi{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Mi)return t;if(typeof t=="string"){let i=me.parse(t);return i?new Mi([i]):void 0}if(!Array.isArray(t))return;let r=[];for(let i of t){if(typeof i!="string")return;let n=me.parse(i);if(!n)return;r.push(n)}return new Mi(r)}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n="rgb"){let a=[];if(t.values.length!=r.values.length)throw Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${r.values.length}), cannot interpolate.`);for(let s=0;s<t.values.length;s++)a.push(me.interpolate(t.values[s],r.values[s],i,n));return new Mi(a)}},fe=class extends Error{constructor(e,t){super(e),this.name="RuntimeError",this.path=t}toJSON(){return this.message}},B1=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]),Dt=class ra{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof ra)return t;if(!(!Array.isArray(t)||t.length<1||t.length%2!=0)){for(let r=0;r<t.length;r+=2){let i=t[r],n=t[r+1];if(typeof i!="string"||!B1.has(i)||!Array.isArray(n)||n.length!==2||typeof n[0]!="number"||typeof n[1]!="number")return}return new ra(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,r,i,n){let a=t.values,s=r.values;if(a.length!==s.length)throw new fe(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${r.toString()}`,n);let o=[];for(let l=0;l<a.length;l+=2){if(a[l]!==s[l])throw new fe(`Cannot interpolate values containing mismatched anchors. from[${l}]: ${a[l]}, to[${l}]: ${s[l]}`,n);o.push(a[l]);let[u,h]=a[l+1],[c,p]=s[l+1];o.push([Ht(u,c,i),Ht(h,p,i)])}return new ra(o)}},_t=class dp{constructor(t){this.name=t.name,this.available=t.available}toString(){return this.name}static fromString(t){return t?new dp({name:t,available:!1}):null}},xr=class zr{constructor(t,r,i){this.from=t,this.to=r,this.transition=i}toString(){return this.from===this.to&&this.transition===1?this.from:JSON.stringify([this.from,this.to,this.transition])}static interpolate(t,r,i){return new zr(t,r,i)}static parse(t){if(t instanceof zr)return t;if(Array.isArray(t)&&t.length===3&&typeof t[0]=="string"&&typeof t[1]=="string"&&typeof t[2]=="number")return new zr(t[0],t[1],t[2]);if(typeof t=="object"&&typeof t.from=="string"&&typeof t.to=="string"&&typeof t.transition=="number")return new zr(t.from,t.to,t.transition);if(typeof t=="string")return new zr(t,t,1)}},pl=class{constructor(e,t,r){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}};function yp(e,t,r,i){return typeof e=="number"&&e>=0&&e<=255&&typeof t=="number"&&t>=0&&t<=255&&typeof r=="number"&&r>=0&&r<=255?i===void 0||typeof i=="number"&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,r,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof i=="number"?[e,t,r,i]:[e,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Qr(e){if(e===null||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||e instanceof xr||e instanceof me||e instanceof pl||e instanceof Mt||e instanceof St||e instanceof At||e instanceof st||e instanceof Dt||e instanceof _t)return!0;if(Array.isArray(e)){for(let t of e)if(!Qr(t))return!1;return!0}if(typeof e=="object"){for(let t in e)if(!Qr(e[t]))return!1;return!0}return!1}function Se(e){if(e===null)return hn;if(typeof e=="string")return X;if(typeof e=="boolean")return Q;if(typeof e=="number")return I;if(e instanceof me)return ht;if(e instanceof xr)return Fa;if(e instanceof pl)return Ta;if(e instanceof Mt)return cn;if(e instanceof St)return ka;if(e instanceof At)return Ia;if(e instanceof st)return Xi;if(e instanceof Dt)return Ca;if(e instanceof _t)return pn;if(Array.isArray(e)){let t=e.length,r;for(let i of e){let n=Se(i);if(!r)r=n;else{if(r===n)continue;r=H;break}}return Ue(r||H,t)}return hr}function Ni(e){let t=typeof e;return e===null?"":t==="string"||t==="number"||t==="boolean"?String(e):e instanceof me||e instanceof xr||e instanceof Mt||e instanceof St||e instanceof At||e instanceof st||e instanceof Dt||e instanceof _t?e.toString():JSON.stringify(e)}var ei=class mp{constructor(t,r){this.type=t,this.value=r}static parse(t,r){if(t.length!==2)return r.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Qr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=Se(i),a=r.expectedType;return n.kind==="array"&&n.N===0&&a&&a.kind==="array"&&(typeof a.N!="number"||a.N===0)&&(n=a),new mp(n,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}},P1=["Unknown","Point","LineString","Polygon"],gp=class{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"?P1[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 t=this._parseColorCache.get(e);return t||(t=me.parse(e),this._parseColorCache.set(e,t)),t}};function Ba(e,t,r){let i=e.length-1,n=0,a=i,s=0,o,l;for(;n<=a;)if(s=Math.floor((n+a)/2),o=e[s],l=e[s+1],o<=t){if(s===i||t<l)return s;n=s+1}else if(o>t)a=s-1;else throw new fe("Input is not a number.",r);return 0}var fl=class xp{constructor(t,r,i,n){this.type=t,this.input=r,this.key=n,this.labels=[],this.outputs=[];for(let[a,s]of i)this.labels.push(a),this.outputs.push(s)}static parse(t,r){if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");let i=r.parse(t[1],1,I);if(!i)return null;let n=[],a=null;r.expectedType&&r.expectedType.kind!=="value"&&(a=r.expectedType);for(let s=1;s<t.length;s+=2){let o=s===1?-1/0:t[s],l=t[s+1],u=s,h=s+1;if(typeof o!="number")return r.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',u);if(n.length&&n[n.length-1][0]>=o)return r.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',u);let c=r.parse(l,h,a);if(!c)return null;a||(a=c.type),n.push([o,c])}return new xp(a,i,n,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;return n>=r[a-1]?i[a-1].evaluate(t):i[Ba(r,n,this.key)].evaluate(t)}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function M1(e,t,r,i){let n=3*e,a=3*(r-e)-n,s=1-n-a,o=3*t,l=3*(i-t)-o,u=1-o-l;return function(h,c=1e-6){if(h<=0)return 0;if(h>=1)return 1;let p=h;for(let y=0;y<8;y++){let m=((s*p+a)*p+n)*p-h;if(Math.abs(m)<c)return((u*p+l)*p+o)*p;let g=(3*s*p+2*a)*p+n;if(Math.abs(g)<1e-6)break;p-=m/g}let f=0,d=1;p=h;for(let y=0;y<20;y++){let m=((s*p+a)*p+n)*p;if(Math.abs(m-h)<c)break;h>m?f=p:d=p,p=(f+d)*.5}return((u*p+l)*p+o)*p}}var bt=class Hs{constructor(t,r,i,n,a,s){this.type=t,this.operator=r,this.interpolation=i,this.input=n,this.key=s,this.labels=[],this.outputs=[];for(let[o,l]of a)this.labels.push(o),this.outputs.push(l)}static interpolationFactor(t,r,i,n){let a=0;if(t.name==="exponential")a=As(r,t.base,i,n);else if(t.name==="linear")a=As(r,1,i,n);else if(t.name==="cubic-bezier"){let s=t.controlPoints;a=M1(s[0],s[1],s[2],s[3])(As(r,1,i,n))}return a}static parse(t,r){let[i,n,a,...s]=t;if(!Array.isArray(n)||n.length===0)return r.error("Expected an interpolation type expression.",1);if(n[0]==="linear")n={name:"linear"};else if(n[0]==="exponential"){let u=n[1];if(typeof u!="number")return r.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:u}}else if(n[0]==="cubic-bezier"){let u=n.slice(1);if(u.length!==4||u.some(h=>typeof h!="number"||h<0||h>1))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:u}}else return r.error(`Unknown interpolation type ${String(n[0])}`,1,0);if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");if(a=r.parse(a,2,I),!a)return null;let o=[],l=null;(i==="interpolate-hcl"||i==="interpolate-lab")&&r.expectedType!=Xi?l=ht:r.expectedType&&r.expectedType.kind!=="value"&&(l=r.expectedType);for(let u=0;u<s.length;u+=2){let h=s[u],c=s[u+1],p=u+3,f=u+4;if(typeof h!="number")return r.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(o.length&&o[o.length-1][0]>=h)return r.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);let d=r.parse(c,f,l);if(!d)return null;l||(l=d.type),o.push([h,d])}return!Ut(l,I)&&!Ut(l,Fa)&&!Ut(l,ht)&&!Ut(l,ka)&&!Ut(l,Ia)&&!Ut(l,Xi)&&!Ut(l,Ca)&&!Ut(l,Ue(I))?r.error(`Type ${ye(l)} is not interpolatable.`):new Hs(l,i,n,a,o,r.key)}evaluate(t){let r=this.labels,i=this.outputs;if(r.length===1)return i[0].evaluate(t);let n=this.input.evaluate(t);if(n<=r[0])return i[0].evaluate(t);let a=r.length;if(n>=r[a-1])return i[a-1].evaluate(t);let s=Ba(r,n,this.key),o=r[s],l=r[s+1],u=Hs.interpolationFactor(this.interpolation,n,o,l),h=i[s].evaluate(t),c=i[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return Ht(h,c,u);case"color":return me.interpolate(h,c,u);case"padding":return St.interpolate(h,c,u);case"colorArray":return st.interpolate(h,c,u);case"numberArray":return At.interpolate(h,c,u);case"variableAnchorOffsetCollection":return Dt.interpolate(h,c,u,this.key);case"array":return Kr(h,c,u);case"projectionDefinition":return xr.interpolate(h,c,u)}case"interpolate-hcl":switch(this.type.kind){case"color":return me.interpolate(h,c,u,"hcl");case"colorArray":return st.interpolate(h,c,u,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return me.interpolate(h,c,u,"lab");case"colorArray":return st.interpolate(h,c,u,"lab")}}}eachChild(t){t(this.input);for(let r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}};function As(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}var fr={color:me.interpolate,number:Ht,padding:St.interpolate,numberArray:At.interpolate,colorArray:st.interpolate,variableAnchorOffsetCollection:Dt.interpolate,array:Kr},vp=class bp{constructor(t){this.type=cn,this.sections=t}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[1];if(!Array.isArray(i)&&typeof i=="object")return r.error("First argument must be an image or text section.");let n=[],a=!1;for(let s=1;s<=t.length-1;++s){let o=t[s];if(a&&typeof o=="object"&&!Array.isArray(o)){a=!1;let l=null;if(o["font-scale"]&&(l=r.parse(o["font-scale"],1,I),!l))return null;let u=null;if(o["text-font"]&&(u=r.parse(o["text-font"],1,Ue(X)),!u))return null;let h=null;if(o["text-color"]&&(h=r.parse(o["text-color"],1,ht),!h))return null;let c=null;if(o["vertical-align"]){if(typeof o["vertical-align"]=="string"&&!C1.includes(o["vertical-align"]))return r.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${o["vertical-align"]}' instead.`);if(c=r.parse(o["vertical-align"],1,X),!c)return null}let p=n[n.length-1];p.scale=l,p.font=u,p.textColor=h,p.verticalAlign=c}else{let l=r.parse(t[s],1,H);if(!l)return null;let u=l.type.kind;if(u!=="string"&&u!=="value"&&u!=="null"&&u!=="resolvedImage")return r.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");a=!0,n.push({content:l,scale:null,font:null,textColor:null,verticalAlign:null})}}return new bp(n)}evaluate(t){return new Mt(this.sections.map(r=>{let i=r.content.evaluate(t);return Se(i)===pn?new Ws("",i,null,null,null,r.verticalAlign?r.verticalAlign.evaluate(t):null):new Ws(Ni(i),null,r.scale?r.scale.evaluate(t):null,r.font?r.font.evaluate(t).join(","):null,r.textColor?r.textColor.evaluate(t):null,r.verticalAlign?r.verticalAlign.evaluate(t):null)}))}eachChild(t){for(let r of this.sections)t(r.content),r.scale&&t(r.scale),r.font&&t(r.font),r.textColor&&t(r.textColor),r.verticalAlign&&t(r.verticalAlign)}outputDefined(){return!1}};function wp(e,t,r=0,i=e.length-1,n=z1){for(;i>r;){if(i-r>600){let l=i-r+1,u=t-r+1,h=Math.log(l),c=.5*Math.exp(2*h/3),p=.5*Math.sqrt(h*c*(l-c)/l)*(u-l/2<0?-1:1);wp(e,t,Math.max(r,Math.floor(t-u*c/l+p)),Math.min(i,Math.floor(t+(l-u)*c/l+p)),n)}let a=e[t],s=r,o=i;for(Ai(e,r,t),n(e[i],a)>0&&Ai(e,r,i);s<o;){for(Ai(e,s,o),s++,o--;n(e[s],a)<0;)s++;for(;n(e[o],a)>0;)o--}n(e[r],a)===0?Ai(e,r,o):(o++,Ai(e,o,i)),o<=t&&(r=o+1),t<=o&&(i=o-1)}}function Ai(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function z1(e,t){return e<t?-1:+(e>t)}function Pa(e,t){if(e.length<=1)return[e];let r=[],i,n;for(let a of e){let s=V1(a);s!==0&&(a.area=Math.abs(s),n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[a]):i.push(a))}if(i&&r.push(i),t>1)for(let a=0;a<r.length;a++)r[a].length<=t||(wp(r[a],t,1,r[a].length-1,L1),r[a]=r[a].slice(0,t));return r}function L1(e,t){return t.area-e.area}function V1(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}var Rn={string:X,number:I,boolean:Q,object:hr},Ct=class Dp{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=1,n,a=t[0];if(a==="array"){let o;if(t.length>2){let u=t[1];if(typeof u!="string"||!(u in Rn)||u==="object")return r.error('The item type argument of "array" must be one of string, number, boolean',1);o=Rn[u],i++}else o=H;let l;if(t.length>3){if(t[2]!==null&&(typeof t[2]!="number"||t[2]<0||t[2]!==Math.floor(t[2])))return r.error('The length argument to "array" must be a positive integer literal',2);l=t[2],i++}n=Ue(o,l)}else{if(!Rn[a])throw Error(`Types doesn't contain name = ${a}`);n=Rn[a]}let s=[];for(;i<t.length;i++){let o=r.parse(t[i],i,H);if(!o)return null;s.push(o)}return new Dp(n,s,r.key)}evaluate(t){for(let r=0;r<this.args.length;r++){let i=this.args[r].evaluate(t);if(!Zi(this.type,Se(i)))return i;if(r===this.args.length-1)throw new fe(`Expected value to be of type ${ye(this.type)}, but found ${ye(Se(i))} instead.`,this.key)}throw Error()}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}},Hu={"to-boolean":Q,"to-color":ht,"to-number":I,"to-string":X},$r=class _p{constructor(t,r,i){this.type=t,this.args=r,this.key=i}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=t[0];if(!Hu[i])throw Error(`Can't parse ${i} as it is not part of the known types`);if((i==="to-boolean"||i==="to-string")&&t.length!==2)return r.error("Expected one argument.");let n=Hu[i],a=[];for(let s=1;s<t.length;s++){let o=r.parse(t[s],s,H);if(!o)return null;a.push(o)}return new _p(n,a,r.key)}evaluate(t){switch(this.type.kind){case"boolean":return!!this.args[0].evaluate(t);case"color":{let r,i;for(let n of this.args){if(r=n.evaluate(t),i=null,r instanceof me)return r;if(typeof r=="string"){let a=t.parseColor(r);if(a)return a}else if(Array.isArray(r)&&(i=r.length<3||r.length>4?`Invalid rgba value ${JSON.stringify(r)}: expected an array containing either three or four numeric values.`:yp(r[0],r[1],r[2],r[3]),!i))return new me(r[0]/255,r[1]/255,r[2]/255,r[3])}throw new fe(i||`Could not parse color from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"padding":{let r;for(let i of this.args){r=i.evaluate(t);let n=St.parse(r);if(n)return n}throw new fe(`Could not parse padding from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"numberArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=At.parse(r);if(n)return n}throw new fe(`Could not parse numberArray from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"colorArray":{let r;for(let i of this.args){r=i.evaluate(t);let n=st.parse(r);if(n)return n}throw new fe(`Could not parse colorArray from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"variableAnchorOffsetCollection":{let r;for(let i of this.args){r=i.evaluate(t);let n=Dt.parse(r);if(n)return n}throw new fe(`Could not parse variableAnchorOffsetCollection from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}case"number":{let r=null;for(let i of this.args){if(r=i.evaluate(t),r===null)return 0;let n=Number(r);if(!isNaN(n))return n}throw new fe(`Could not convert ${JSON.stringify(r)} to number.`,this.key)}case"formatted":return Mt.fromString(Ni(this.args[0].evaluate(t)));case"resolvedImage":return _t.fromString(Ni(this.args[0].evaluate(t)));case"projectionDefinition":{let r=this.args[0].evaluate(t);if(xr.parse(r))return r;throw new fe(`Could not parse projectionDefinition from value '${typeof r=="string"?r:JSON.stringify(r)}'`,this.key)}default:return Ni(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}},Sp=class Ap{constructor(t,r){this.type=r.type,this.bindings=[].concat(t),this.result=r}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(let r of this.bindings)t(r[1]);t(this.result)}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);let i=[];for(let a=1;a<t.length-1;a+=2){let s=t[a];if(typeof s!="string")return r.error(`Expected string, but found ${typeof s} instead.`,a);if(/[^a-zA-Z0-9_]/.test(s))return r.error("Variable names must contain only alphanumeric characters or '_'.",a);let o=r.parse(t[a+1],a+1);if(!o)return null;i.push([s,o])}let n=r.parse(t[t.length-1],t.length-1,r.expectedType,i);return n?new Ap(i,n):null}outputDefined(){return this.result.outputDefined()}},Ep=class Fp{constructor(t,r){this.type=r.type,this.name=t,this.boundExpression=r}static parse(t,r){if(t.length!==2||typeof t[1]!="string")return r.error("'var' expression requires exactly one string literal argument.");let i=t[1];return r.scope.has(i)?new Fp(i,r.scope.get(i)):r.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(t){return this.boundExpression.evaluate(t)}eachChild(){}outputDefined(){return!1}},O1=class Tp{constructor(t,r,i,n){this.type=t,this.index=r,this.input=i,this.key=n}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,I),n=r.parse(t[2],2,Ue(r.expectedType||H));if(!i||!n)return null;let a=n.type;return new Tp(a.itemType,i,n,r.key)}evaluate(t){let r=this.index.evaluate(t),i=this.input.evaluate(t);if(r<0)throw new fe(`Array index out of bounds: ${r} < 0.`,this.key);if(r>=i.length)throw new fe(`Array index out of bounds: ${r} > ${i.length-1}.`,this.key);if(r!==Math.floor(r))throw new fe(`Array index must be an integer, but found ${r} instead.`,this.key);return i[r]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}},R1=class kp{constructor(t,r,i){this.needle=t,this.haystack=r,this.key=i,this.type=Q}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,H);return!i||!n?null:cl(i.type,[Q,X,I,hn,H])?new kp(i,n,r.key):r.error(`Expected first argument to be of type boolean, string, number or null, but found ${ye(i.type)} instead`)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!cr(r,["boolean","string","number","null"]))throw new fe(`Expected first argument to be of type boolean, string, number or null, but found ${ye(Se(r))} instead.`,this.key);if(!cr(i,["string","array"]))throw new fe(`Expected second argument to be of type array or string, but found ${ye(Se(i))} instead.`,this.key);return i.indexOf(r)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}},$1=class Js{constructor(t,r,i,n){this.needle=t,this.haystack=r,this.key=i,this.fromIndex=n,this.type=I}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,H);if(!i||!n)return null;if(!cl(i.type,[Q,X,I,hn,H]))return r.error(`Expected first argument to be of type boolean, string, number or null, but found ${ye(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,I);return a?new Js(i,n,r.key,a):null}return new Js(i,n,r.key)}evaluate(t){let r=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!cr(r,["boolean","string","number","null"]))throw new fe(`Expected first argument to be of type boolean, string, number or null, but found ${ye(Se(r))} instead.`,this.key);let n;if(this.fromIndex&&(n=this.fromIndex.evaluate(t)),cr(i,["string"])){let a=i.indexOf(r,n);return a===-1?-1:[...i.slice(0,a)].length}if(cr(i,["array"]))return i.indexOf(r,n);throw new fe(`Expected second argument to be of type array or string, but found ${ye(Se(i))} instead.`,this.key)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}},N1=class Ip{constructor(t,r,i,n,a,s){this.inputType=t,this.type=r,this.input=i,this.cases=n,this.outputs=a,this.otherwise=s}static parse(t,r){if(t.length<5)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return r.error("Expected an even number of arguments.");let i,n;r.expectedType&&r.expectedType.kind!=="value"&&(n=r.expectedType);let a={},s=[];for(let u=2;u<t.length-1;u+=2){let h=t[u],c=t[u+1];Array.isArray(h)||(h=[h]);let p=r.concat(u);if(h.length===0)return p.error("Expected at least one branch label.");for(let d of h){if(typeof d!="number"&&typeof d!="string")return p.error("Branch labels must be numbers or strings.");if(typeof d=="number"&&Math.abs(d)>2**53-1)return p.error(`Branch labels must be integers no larger than ${2**53-1}.`);if(typeof d=="number"&&Math.floor(d)!==d)return p.error("Numeric branch labels must be integer values.");if(!i)i=Se(d);else if(p.checkSubtype(i,Se(d)))return null;if(a[String(d)]!==void 0)return p.error("Branch labels must be unique.");a[String(d)]=s.length}let f=r.parse(c,u,n);if(!f)return null;n||(n=f.type),s.push(f)}let o=r.parse(t[1],1,H);if(!o)return null;let l=r.parse(t[t.length-1],t.length-1,n);return!l||o.type.kind!=="value"&&r.concat(1).checkSubtype(i,o.type)?null:new Ip(i,n,o,a,s,l)}evaluate(t){let r=this.input.evaluate(t);return(Se(r)===this.inputType&&this.outputs[this.cases[r]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}},U1=class Cp{constructor(t,r,i){this.type=t,this.branches=r,this.otherwise=i}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return r.error("Expected an odd number of arguments.");let i;r.expectedType&&r.expectedType.kind!=="value"&&(i=r.expectedType);let n=[];for(let s=1;s<t.length-1;s+=2){let o=r.parse(t[s],s,Q);if(!o)return null;let l=r.parse(t[s+1],s+1,i);if(!l)return null;n.push([o,l]),i||(i=l.type)}let a=r.parse(t[t.length-1],t.length-1,i);if(!a)return null;if(!i)throw Error("Can't infer output type");return new Cp(i,n,a)}evaluate(t){for(let[r,i]of this.branches)if(r.evaluate(t))return i.evaluate(t);return this.otherwise.evaluate(t)}eachChild(t){for(let[r,i]of this.branches)t(r),t(i);t(this.otherwise)}outputDefined(){return this.branches.every(([t,r])=>r.outputDefined())&&this.otherwise.outputDefined()}},q1=class Ks{constructor(t,r,i,n,a){this.type=t,this.input=r,this.beginIndex=i,this.key=n,this.endIndex=a}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 2 or 3 arguments, but found ${t.length-1} instead.`);let i=r.parse(t[1],1,H),n=r.parse(t[2],2,I);if(!i||!n)return null;if(!cl(i.type,[Ue(H),X,H]))return r.error(`Expected first argument to be of type array or string, but found ${ye(i.type)} instead`);if(t.length===4){let a=r.parse(t[3],3,I);return a?new Ks(i.type,i,n,r.key,a):null}return new Ks(i.type,i,n,r.key)}evaluate(t){let r=this.input.evaluate(t),i=this.beginIndex.evaluate(t),n;if(this.endIndex&&(n=this.endIndex.evaluate(t)),cr(r,["string"]))return[...r].slice(i,n).join("");if(cr(r,["array"]))return r.slice(i,n);throw new fe(`Expected first argument to be of type array or string, but found ${ye(Se(r))} instead.`,this.key)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}},Bp=class Qs{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let i=null,n=r.expectedType;n&&n.kind!=="value"&&(i=n);let a=[];for(let s of t.slice(1)){let o=r.parse(s,1+a.length,i,void 0,{typeAnnotation:"omit"});if(!o)return null;i||(i=o.type),a.push(o)}if(!i)throw Error("No output type");return n&&a.some(s=>Zi(n,s.type))?new Qs(H,a):new Qs(i,a)}evaluate(t){let r=null,i=0,n;for(let a of this.args)if(i++,r=a.evaluate(t),r&&r instanceof _t&&!r.available&&(n||(n=r.name),r=null,i===this.args.length&&(r=n)),r!==null)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}};function Ju(e,t){return e==="=="||e==="!="?t.kind==="boolean"||t.kind==="string"||t.kind==="number"||t.kind==="null"||t.kind==="value":t.kind==="string"||t.kind==="number"||t.kind==="value"}function j1(e,t,r){return t===r}function G1(e,t,r){return t!==r}function Y1(e,t,r){return t<r}function X1(e,t,r){return t>r}function Z1(e,t,r){return t<=r}function W1(e,t,r){return t>=r}function Pp(e,t,r,i){return i.compare(t,r)===0}function H1(e,t,r,i){return!Pp(e,t,r,i)}function J1(e,t,r,i){return i.compare(t,r)<0}function K1(e,t,r,i){return i.compare(t,r)>0}function Q1(e,t,r,i){return i.compare(t,r)<=0}function em(e,t,r,i){return i.compare(t,r)>=0}function si(e,t,r){let i=e!=="=="&&e!=="!=";return class Mp{constructor(a,s,o,l){this.lhs=a,this.rhs=s,this.key=o,this.collator=l,this.type=Q,this.hasUntypedArgument=a.type.kind==="value"||s.type.kind==="value"}static parse(a,s){if(a.length!==3&&a.length!==4)return s.error("Expected two or three arguments.");let o=a[0],l=s.parse(a[1],1,H);if(!l)return null;if(!Ju(o,l.type))return s.concat(1).error(`"${o}" comparisons are not supported for type '${ye(l.type)}'.`);let u=s.parse(a[2],2,H);if(!u)return null;if(!Ju(o,u.type))return s.concat(2).error(`"${o}" comparisons are not supported for type '${ye(u.type)}'.`);if(l.type.kind!==u.type.kind&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error(`Cannot compare types '${ye(l.type)}' and '${ye(u.type)}'.`);i&&(l.type.kind==="value"&&u.type.kind!=="value"?l=new Ct(u.type,[l],s.key):l.type.kind!=="value"&&u.type.kind==="value"&&(u=new Ct(l.type,[u],s.key)));let h=null;if(a.length===4){if(l.type.kind!=="string"&&u.type.kind!=="string"&&l.type.kind!=="value"&&u.type.kind!=="value")return s.error("Cannot use collator to compare non-string types.");if(h=s.parse(a[3],3,Ta),!h)return null}return new Mp(l,u,s.key,h)}evaluate(a){let s=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(i&&this.hasUntypedArgument){let l=Se(s),u=Se(o);if(l.kind!==u.kind||l.kind!=="string"&&l.kind!=="number")throw new fe(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${l.kind}, ${u.kind}) instead.`,this.key)}if(this.collator&&!i&&this.hasUntypedArgument){let l=Se(s),u=Se(o);if(l.kind!=="string"||u.kind!=="string")return t(a,s,o)}return this.collator?r(a,s,o,this.collator.evaluate(a)):t(a,s,o)}eachChild(a){a(this.lhs),a(this.rhs),this.collator&&a(this.collator)}outputDefined(){return!0}}}var tm=si("==",j1,Pp),rm=si("!=",G1,H1),im=si("<",Y1,J1),nm=si(">",X1,K1),am=si("<=",Z1,Q1),sm=si(">=",W1,em),zp=class Lp{constructor(t,r,i){this.type=Ta,this.locale=i,this.caseSensitive=t,this.diacriticSensitive=r}static parse(t,r){if(t.length!==2)return r.error("Expected one argument.");let i=t[1];if(typeof i!="object"||Array.isArray(i))return r.error("Collator options argument must be an object.");let n=r.parse(i["case-sensitive"]!==void 0&&i["case-sensitive"],1,Q);if(!n)return null;let a=r.parse(i["diacritic-sensitive"]!==void 0&&i["diacritic-sensitive"],1,Q);if(!a)return null;let s=null;return i.locale&&(s=r.parse(i.locale,1,X),!s)?null:new Lp(n,a,s)}evaluate(t){return new pl(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}},om=class Vp{constructor(t,r,i,n,a,s){this.type=X,this.number=t,this.locale=r,this.currency=i,this.unit=n,this.minFractionDigits=a,this.maxFractionDigits=s}static parse(t,r){if(t.length!==3)return r.error("Expected two arguments.");let i=r.parse(t[1],1,I);if(!i)return null;let n=t[2];if(typeof n!="object"||Array.isArray(n))return r.error("NumberFormat options argument must be an object.");let a=null;if(n.locale&&(a=r.parse(n.locale,1,X),!a))return null;let s=null;if(n.currency&&(s=r.parse(n.currency,1,X),!s))return null;let o=null;if(n.unit&&(o=r.parse(n.unit,1,X),!o))return null;if(s&&o)return r.error("NumberFormat options `currency` and `unit` are mutually exclusive");let l=null;if(n["min-fraction-digits"]&&(l=r.parse(n["min-fraction-digits"],1,I),!l))return null;let u=null;return n["max-fraction-digits"]&&(u=r.parse(n["max-fraction-digits"],1,I),!u)?null:new Vp(i,a,s,o,l,u)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,unit:this.unit?this.unit.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.unit&&t(this.unit),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}},lm=class Op{constructor(t){this.type=pn,this.input=t}static parse(t,r){if(t.length!==2)return r.error("Expected two arguments.");let i=r.parse(t[1],1,X);return i?new Op(i):r.error("No image name provided.")}evaluate(t){let r=this.input.evaluate(t),i=_t.fromString(r);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(r)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}},um=class Rp{constructor(t,r){this.input=t,this.key=r,this.type=I}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=r.parse(t[1],1);return i?i.type.kind!=="array"&&i.type.kind!=="string"&&i.type.kind!=="value"?r.error(`Expected argument of type string or array, but found ${ye(i.type)} instead.`):new Rp(i,r.key):null}evaluate(t){let r=this.input.evaluate(t);if(typeof r=="string")return[...r].length;if(Array.isArray(r))return r.length;throw new fe(`Expected value to be of type string or array, but found ${ye(Se(r))} instead.`,this.key)}eachChild(t){t(this.input)}outputDefined(){return!1}},wt=8192;function hm(e,t){let r=cm(e[0]),i=fm(e[1]),n=2**t.z;return[Math.round(r*n*wt),Math.round(i*n*wt)]}function dl(e,t){let r=2**t.z,i=(e[0]/wt+t.x)/r,n=(e[1]/wt+t.y)/r;return[pm(i),dm(n)]}function cm(e){return(180+e)/360}function pm(e){return e*360-180}function fm(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function dm(e){return 360/Math.PI*Math.atan(Math.exp((180-e*360)*Math.PI/180))-90}function fn(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function Wi(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function ym(e,t,r){return t[1]>e[1]!=r[1]>e[1]&&e[0]<(r[0]-t[0])*(e[1]-t[1])/(r[1]-t[1])+t[0]}function mm(e,t,r){let i=e[0]-t[0],n=e[1]-t[1],a=e[0]-r[0],s=e[1]-r[1];return i*s-a*n===0&&i*a<=0&&n*s<=0}function Ma(e,t,r,i){let n=[t[0]-e[0],t[1]-e[1]];return bm([i[0]-r[0],i[1]-r[1]],n)!==0&&!!(Ku(e,t,r,i)&&Ku(r,i,e,t))}function gm(e,t,r){for(let i of r)for(let n=0;n<i.length-1;++n)if(Ma(e,t,i[n],i[n+1]))return!0;return!1}function oi(e,t,r=!1){let i=!1;for(let n of t)for(let a=0;a<n.length-1;a++){if(mm(e,n[a],n[a+1]))return r;ym(e,n[a],n[a+1])&&(i=!i)}return i}function xm(e,t){for(let r of t)if(oi(e,r))return!0;return!1}function $p(e,t){for(let r of e)if(!oi(r,t))return!1;for(let r=0;r<e.length-1;++r)if(gm(e[r],e[r+1],t))return!1;return!0}function vm(e,t){for(let r of t)if($p(e,r))return!0;return!1}function bm(e,t){return e[0]*t[1]-e[1]*t[0]}function Ku(e,t,r,i){let n=e[0]-r[0],a=e[1]-r[1],s=t[0]-r[0],o=t[1]-r[1],l=i[0]-r[0],u=i[1]-r[1],h=n*u-l*a,c=s*u-l*o;return h>0&&c<0||h<0&&c>0}function yl(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=[];for(let s=0;s<e[n].length;s++){let o=hm(e[n][s],r);fn(t,o),a.push(o)}i.push(a)}return i}function Np(e,t,r){let i=[];for(let n=0;n<e.length;n++){let a=yl(e[n],t,r);i.push(a)}return i}function Up(e,t,r,i){if(e[0]<r[0]||e[0]>r[2]){let n=i*.5,a=e[0]-r[0]>n?-i:r[0]-e[0]>n?i:0;a===0&&(a=e[0]-r[2]>n?-i:r[2]-e[0]>n?i:0),e[0]+=a}fn(t,e)}function wm(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}function Qu(e,t,r,i){let n=2**i.z*wt,a=[i.x*wt,i.y*wt],s=[];for(let o of e)for(let l of o){let u=[l.x+a[0],l.y+a[1]];Up(u,t,r,n),s.push(u)}return s}function eh(e,t,r,i){let n=2**i.z*wt,a=[i.x*wt,i.y*wt],s=[];for(let o of e){let l=[];for(let u of o){let h=[u.x+a[0],u.y+a[1]];fn(t,h),l.push(h)}s.push(l)}if(t[2]-t[0]<=n/2){wm(t);for(let o of s)for(let l of o)Up(l,t,r,n)}return s}function Dm(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=yl(t.coordinates,i,n),s=Qu(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!oi(o,a))return!1}if(t.type==="MultiPolygon"){let a=Np(t.coordinates,i,n),s=Qu(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!xm(o,a))return!1}return!0}function _m(e,t){let r=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],n=e.canonicalID();if(t.type==="Polygon"){let a=yl(t.coordinates,i,n),s=eh(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!$p(o,a))return!1}if(t.type==="MultiPolygon"){let a=Np(t.coordinates,i,n),s=eh(e.geometry(),r,i,n);if(!Wi(r,i))return!1;for(let o of s)if(!vm(o,a))return!1}return!0}var ml=class ia{constructor(t,r){this.type=Q,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Qr(t[1])){let i=t[1];if(i.type==="FeatureCollection"){let n=[];for(let a of i.features){let{type:s,coordinates:o}=a.geometry;s==="Polygon"&&n.push(o),s==="MultiPolygon"&&n.push(...o)}if(n.length)return new ia(i,{type:"MultiPolygon",coordinates:n})}else if(i.type==="Feature"){let n=i.geometry.type;if(n==="Polygon"||n==="MultiPolygon")return new ia(i,i.geometry)}else if(i.type==="Polygon"||i.type==="MultiPolygon")return new ia(i,i)}return r.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return Dm(t,this.geometries);if(t.geometryType()==="LineString")return _m(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}},qp=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}},th=Math.PI/180,gl=class{constructor(e){let t=th*6378.137*1e3,r=Math.cos(e*th),i=1/(1-.0066943799901413165*(1-r*r)),n=Math.sqrt(i);this.kx=t*n*r,this.ky=t*n*i*.9933056200098587}distance(e,t){let r=this.wrap(e[0]-t[0])*this.kx,i=(e[1]-t[1])*this.ky;return Math.sqrt(r*r+i*i)}pointOnLine(e,t){let r=1/0,i,n,a,s;for(let o=0;o<e.length-1;o++){let l=e[o][0],u=e[o][1],h=this.wrap(e[o+1][0]-l)*this.kx,c=(e[o+1][1]-u)*this.ky,p=0;(h!==0||c!==0)&&(p=(this.wrap(t[0]-l)*this.kx*h+(t[1]-u)*this.ky*c)/(h*h+c*c),p>1?(l=e[o+1][0],u=e[o+1][1]):p>0&&(l+=h/this.kx*p,u+=c/this.ky*p)),h=this.wrap(t[0]-l)*this.kx,c=(t[1]-u)*this.ky;let f=h*h+c*c;f<r&&(r=f,i=l,n=u,a=o,s=p)}return{point:[i,n],index:a,t:Math.max(0,Math.min(1,s))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}};function jp(e,t){return t[0]-e[0]}function ha(e){return e[1]-e[0]+1}function zt(e,t){return e[1]>=e[0]&&e[1]<t}function eo(e,t){if(e[0]>e[1])return[null,null];let r=ha(e);if(t){if(r===2)return[e,null];let n=Math.floor(r/2);return[[e[0],e[0]+n],[e[0]+n,e[1]]]}if(r===1)return[e,null];let i=Math.floor(r/2)-1;return[[e[0],e[0]+i],[e[0]+i+1,e[1]]]}function to(e,t){if(!zt(t,e.length))return[1/0,1/0,-1/0,-1/0];let r=[1/0,1/0,-1/0,-1/0];for(let i=t[0];i<=t[1];++i)fn(r,e[i]);return r}function ro(e){let t=[1/0,1/0,-1/0,-1/0];for(let r of e)for(let i of r)fn(t,i);return t}function rh(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function xl(e,t,r){if(!rh(e)||!rh(t))return NaN;let i=0,n=0;return e[2]<t[0]&&(i=t[0]-e[2]),e[0]>t[2]&&(i=e[0]-t[2]),e[1]>t[3]&&(n=e[1]-t[3]),e[3]<t[1]&&(n=t[1]-e[3]),r.distance([0,0],[i,n])}function lr(e,t,r){let i=r.pointOnLine(t,e);return r.distance(e,i.point)}function vl(e,t,r,i,n){let a=Math.min(lr(e,[r,i],n),lr(t,[r,i],n)),s=Math.min(lr(r,[e,t],n),lr(i,[e,t],n));return Math.min(a,s)}function Sm(e,t,r,i,n){if(!(zt(t,e.length)&&zt(i,r.length)))return 1/0;let a=1/0;for(let s=t[0];s<t[1];++s){let o=e[s],l=e[s+1];for(let u=i[0];u<i[1];++u){let h=r[u],c=r[u+1];if(Ma(o,l,h,c))return 0;a=Math.min(a,vl(o,l,h,c,n))}}return a}function Am(e,t,r,i,n){if(!(zt(t,e.length)&&zt(i,r.length)))return NaN;let a=1/0;for(let s=t[0];s<=t[1];++s)for(let o=i[0];o<=i[1];++o)if(a=Math.min(a,n.distance(e[s],r[o])),a===0)return a;return a}function Em(e,t,r){if(oi(e,t,!0))return 0;let i=1/0;for(let n of t){let a=n[0],s=n[n.length-1];if(a!==s&&(i=Math.min(i,lr(e,[s,a],r)),i===0))return i;let o=r.pointOnLine(n,e);if(i=Math.min(i,r.distance(e,o.point)),i===0)return i}return i}function Fm(e,t,r,i){if(!zt(t,e.length))return NaN;for(let a=t[0];a<=t[1];++a)if(oi(e[a],r,!0))return 0;let n=1/0;for(let a=t[0];a<t[1];++a){let s=e[a],o=e[a+1];for(let l of r)for(let u=0,h=l.length,c=h-1;u<h;c=u++){let p=l[c],f=l[u];if(Ma(s,o,p,f))return 0;n=Math.min(n,vl(s,o,p,f,i))}}return n}function ih(e,t){for(let r of e)for(let i of r)if(oi(i,t,!0))return!0;return!1}function Tm(e,t,r,i=1/0){let n=ro(e),a=ro(t);if(i!==1/0&&xl(n,a,r)>=i)return i;if(Wi(n,a)){if(ih(e,t))return 0}else if(ih(t,e))return 0;let s=1/0;for(let o of e)for(let l=0,u=o.length,h=u-1;l<u;h=l++){let c=o[h],p=o[l];for(let f of t)for(let d=0,y=f.length,m=y-1;d<y;m=d++){let g=f[m],x=f[d];if(Ma(c,p,g,x))return 0;s=Math.min(s,vl(c,p,g,x,r))}}return s}function nh(e,t,r,i,n,a){if(!a)return;let s=xl(to(i,a),n,r);s<t&&e.push([s,a,[0,0]])}function $n(e,t,r,i,n,a,s){if(!a||!s)return;let o=xl(to(i,a),to(n,s),r);o<t&&e.push([o,a,s])}function ca(e,t,r,i,n=1/0){let a=Math.min(i.distance(e[0],r[0][0]),n);if(a===0)return a;let s=new qp([[0,[0,e.length-1],[0,0]]],jp),o=ro(r);for(;s.length>0;){let l=s.pop();if(l[0]>=a)continue;let u=l[1],h=t?50:100;if(ha(u)<=h){if(!zt(u,e.length))return NaN;if(t){let c=Fm(e,u,r,i);if(isNaN(c)||c===0)return c;a=Math.min(a,c)}else for(let c=u[0];c<=u[1];++c){let p=Em(e[c],r,i);if(a=Math.min(a,p),a===0)return 0}}else{let c=eo(u,t);nh(s,a,i,e,o,c[0]),nh(s,a,i,e,o,c[1])}}return a}function pa(e,t,r,i,n,a=1/0){let s=Math.min(a,n.distance(e[0],r[0]));if(s===0)return s;let o=new qp([[0,[0,e.length-1],[0,r.length-1]]],jp);for(;o.length>0;){let l=o.pop();if(l[0]>=s)continue;let u=l[1],h=l[2],c=t?50:100,p=i?50:100;if(ha(u)<=c&&ha(h)<=p){if(!zt(u,e.length)&&zt(h,r.length))return NaN;let f;if(t&&i)f=Sm(e,u,r,h,n),s=Math.min(s,f);else if(t&&!i){let d=e.slice(u[0],u[1]+1);for(let y=h[0];y<=h[1];++y)if(f=lr(r[y],d,n),s=Math.min(s,f),s===0)return s}else if(!t&&i){let d=r.slice(h[0],h[1]+1);for(let y=u[0];y<=u[1];++y)if(f=lr(e[y],d,n),s=Math.min(s,f),s===0)return s}else f=Am(e,u,r,h,n),s=Math.min(s,f)}else{let f=eo(u,t),d=eo(h,i);$n(o,s,n,e,r,f[0],d[0]),$n(o,s,n,e,r,f[0],d[1]),$n(o,s,n,e,r,f[1],d[0]),$n(o,s,n,e,r,f[1],d[1])}}return s}function km(e,t){let r=e.geometry(),i=r.flat().map(s=>dl([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new gl(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,pa(i,!1,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,pa(i,!1,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,ca(i,!1,s.coordinates,n,a))}if(a===0)return a}return a}function Im(e,t){let r=e.geometry(),i=r.flat().map(s=>dl([s.x,s.y],e.canonical));if(r.length===0)return NaN;let n=new gl(i[0][1]),a=1/0;for(let s of t){switch(s.type){case"Point":a=Math.min(a,pa(i,!0,[s.coordinates],!1,n,a));break;case"LineString":a=Math.min(a,pa(i,!0,s.coordinates,!0,n,a));break;case"Polygon":a=Math.min(a,ca(i,!0,s.coordinates,n,a))}if(a===0)return a}return a}function Cm(e,t){let r=e.geometry();if(r.length===0||r[0].length===0)return NaN;let i=Pa(r,0).map(s=>s.map(o=>o.map(l=>dl([l.x,l.y],e.canonical)))),n=new gl(i[0][0][0][1]),a=1/0;for(let s of t)for(let o of i){switch(s.type){case"Point":a=Math.min(a,ca([s.coordinates],!1,o,n,a));break;case"LineString":a=Math.min(a,ca(s.coordinates,!0,o,n,a));break;case"Polygon":a=Math.min(a,Tm(o,s.coordinates,n,a))}if(a===0)return a}return a}function Es(e){return e.type==="MultiPolygon"?e.coordinates.map(t=>({type:"Polygon",coordinates:t})):e.type==="MultiLineString"?e.coordinates.map(t=>({type:"LineString",coordinates:t})):e.type==="MultiPoint"?e.coordinates.map(t=>({type:"Point",coordinates:t})):[e]}var bl=class na{constructor(t,r){this.type=I,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Qr(t[1])){let i=t[1];if(i.type==="FeatureCollection")return new na(i,i.features.map(n=>Es(n.geometry)).flat());if(i.type==="Feature")return new na(i,Es(i.geometry));if("type"in i&&"coordinates"in i)return new na(i,Es(i))}return r.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return km(t,this.geometries);if(t.geometryType()==="LineString")return Im(t,this.geometries);if(t.geometryType()==="Polygon")return Cm(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}},Bm=class Gp{constructor(t){let r=null;for(let i of t)if(!r)r=i.type;else{if(r===i.type)continue;r=H;break}this.type=Ue(r??H,t.length),this.arr=t}static parse(t,r){if(t.length!==2)return r.error(`'semiliteral' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Qr(t[1]))return r.error(`invalid value of type "${typeof t[1]}"`);let i=t[1],n=Se(i);if(n.kind==="array"){let a=i,s=r.concat(1),o=[];for(let l=0;l<a.length;l++){let u=s.parse(a[l],l,H);if(!u)return null;o.push(u)}return new Gp(o)}return new ei(n,i)}evaluate(t){return this.arr.map(r=>r.evaluate(t))}eachChild(t){this.arr.forEach(t)}outputDefined(){return this.arr.every(t=>t.outputDefined())}},wl=class Yp{constructor(t){this.key=t,this.type=H}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);let i=t[1];return i==null?r.error("Global state property must be defined."):typeof i=="string"?new Yp(i):r.error(`Global state property must be string, but found ${typeof t[1]} instead.`)}evaluate(t){let r=t.globals?.globalState;return!r||Object.keys(r).length===0?null:$i(r,this.key)??null}eachChild(){}outputDefined(){return!1}},qr={"==":tm,"!=":rm,">":nm,"<":im,">=":sm,"<=":am,array:Ct,at:O1,boolean:Ct,case:U1,coalesce:Bp,collator:zp,format:vp,image:lm,in:R1,"index-of":$1,interpolate:bt,"interpolate-hcl":bt,"interpolate-lab":bt,length:um,let:Sp,literal:ei,match:N1,number:Ct,"number-format":om,object:Ct,semiliteral:Bm,slice:q1,step:fl,string:Ct,"to-boolean":$r,"to-color":$r,"to-number":$r,"to-string":$r,var:Ep,within:ml,distance:bl,"global-state":wl},gt=class extends Error{constructor(e,t){super(t),this.message=t,this.key=e}},Pm=class Xp{constructor(t,r=[]){this.parent=t,this.bindings={};for(let[i,n]of r)this.bindings[i]=n}concat(t){return new Xp(this,t)}get(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw Error(`${t} not found in scope.`)}has(t){return this.bindings[t]?!0:this.parent?this.parent.has(t):!1}},Zp=class Wp{constructor(t,r,i=[],n,a=new Pm,s=[]){this.registry=t,this.path=i,this.key=i.map(o=>`[${o}]`).join(""),this.scope=a,this.errors=s,this.expectedType=n,this._isConstant=r}parse(t,r,i,n,a={}){return r==null?this._parse(t,a):this.concat(r,i,n)._parse(t,a)}_parse(t,r){(t===null||typeof t=="string"||typeof t=="boolean"||typeof t=="number")&&(t=["literal",t]);let i=this.key;function n(a,s,o){return o==="assert"?new Ct(s,[a],i):o==="coerce"?new $r(s,[a],i):a}if(Array.isArray(t)){if(t.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let a=t[0];if(typeof a!="string")return this.error(`Expression name must be a string, but found ${typeof a} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let s=this.registry[a];if(s){let o=s.parse(t,this);if(!o)return null;if(this.expectedType){let l=this.expectedType,u=o.type;if((l.kind==="string"||l.kind==="number"||l.kind==="boolean"||l.kind==="object"||l.kind==="array")&&u.kind==="value")o=n(o,l,r.typeAnnotation||"assert");else if(l.kind==="projectionDefinition"&&["string","array","value"].includes(u.kind)||["color","formatted","resolvedImage"].includes(l.kind)&&["value","string"].includes(u.kind)||["padding","numberArray"].includes(l.kind)&&["value","number","array"].includes(u.kind)||l.kind==="colorArray"&&["value","string","array"].includes(u.kind)||l.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(u.kind))o=n(o,l,r.typeAnnotation||"coerce");else if(this.checkSubtype(l,u))return null}if(!(o instanceof ei)&&o.type.kind!=="resolvedImage"&&this._isConstant(o)){let l=new gp;try{o=new ei(o.type,o.evaluate(l))}catch(u){return this.error(u.message),null}}return o}return this.error(`Unknown expression "${a}". If you wanted a literal array, use ["literal", [...]].`,0)}return t===void 0?this.error("'undefined' value invalid. Use null instead."):typeof t=="object"?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,r,i){let n=typeof t=="number"?this.path.concat(t):this.path,a=i?this.scope.concat(i):this.scope;return new Wp(this.registry,this._isConstant,n,r||null,a,this.errors)}error(t,...r){let i=`${this.key}${r.map(n=>`[${n}]`).join("")}`;this.errors.push(new gt(i,t))}checkSubtype(t,r){let i=Zi(t,r);return i&&this.error(i),i}},vr=class zi{constructor(t,r,i,n,a){this.name=t,this.type=r,this._evaluate=i,this.args=n,this.key=a}evaluate(t){return this._evaluate(t,this.args,this.key)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,r){let i=t[0],n=zi.definitions[i];if(!n)return r.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);let a=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=s.filter(([u])=>!Array.isArray(u)||u.length===t.length-1),l=null;for(let[u,h]of o){l=new Zp(r.registry,fa,r.path,null,r.scope);let c=[],p=!1;for(let f=1;f<t.length;f++){let d=t[f],y=Array.isArray(u)?u[f-1]:u.type,m=l.parse(d,1+c.length,y);if(!m){p=!0;break}c.push(m)}if(!p){if(Array.isArray(u)&&u.length!==c.length){l.error(`Expected ${u.length} arguments, but found ${c.length} instead.`);continue}for(let f=0;f<c.length;f++){let d=Array.isArray(u)?u[f]:u.type,y=c[f];l.concat(f+1).checkSubtype(d,y.type)}if(l.errors.length===0)return new zi(i,a,h,c,r.key)}}if(o.length===1)r.errors.push(...l.errors);else{let u=(o.length?o:s).map(([c])=>zm(c)).join(" | "),h=[];for(let c=1;c<t.length;c++){let p=r.parse(t[c],1+h.length);if(!p)return null;h.push(ye(p.type))}r.error(`Expected arguments of type ${u}, but found (${h.join(", ")}) instead.`)}return null}static register(t,r){zi.definitions=r;for(let i in r)t[i]=zi}};function ah(e,[t,r,i,n],a){t=t.evaluate(e),r=r.evaluate(e),i=i.evaluate(e);let s=n?n.evaluate(e):1,o=yp(t,r,i,s);if(o)throw new fe(o,a);return new me(t/255,r/255,i/255,s,!1)}function sh(e,t){return e in t&&t[e]!==void 0}function Fs(e,t){let r=t[e];return r===void 0?null:r}function Mm(e,t,r,i){for(;r<=i;){let n=r+i>>1;if(t[n]===e)return!0;t[n]>e?i=n-1:r=n+1}return!1}function nr(e){return{type:e}}vr.register(qr,{error:[b1,[X],(e,[t],r)=>{throw new fe(t.evaluate(e),r)}],typeof:[X,[H],(e,[t])=>ye(Se(t.evaluate(e)))],"to-rgba":[Ue(I,4),[ht],(e,[t])=>{let[r,i,n,a]=t.evaluate(e).rgb;return[r*255,i*255,n*255,a]}],rgb:[ht,[I,I,I],ah],rgba:[ht,[I,I,I,I],ah],has:{type:Q,overloads:[[[X],(e,[t])=>sh(t.evaluate(e),e.properties())],[[X,hr],(e,[t,r])=>sh(t.evaluate(e),r.evaluate(e))]]},get:{type:H,overloads:[[[X],(e,[t])=>Fs(t.evaluate(e),e.properties())],[[X,hr],(e,[t,r])=>Fs(t.evaluate(e),r.evaluate(e))]]},"feature-state":[H,[X],(e,[t])=>Fs(t.evaluate(e),e.featureState||{})],properties:[hr,[],e=>e.properties()],"geometry-type":[X,[],e=>e.geometryType()],id:[H,[],e=>e.id()],zoom:[I,[],e=>e.globals.zoom],"heatmap-density":[I,[],e=>e.globals.heatmapDensity||0],elevation:[I,[],e=>e.globals.elevation||0],"line-progress":[I,[],e=>e.globals.lineProgress||0],accumulated:[H,[],e=>e.globals.accumulated===void 0?null:e.globals.accumulated],"+":[I,nr(I),(e,t)=>{let r=0;for(let i of t)r+=i.evaluate(e);return r}],"*":[I,nr(I),(e,t)=>{let r=1;for(let i of t)r*=i.evaluate(e);return r}],"-":{type:I,overloads:[[[I,I],(e,[t,r])=>t.evaluate(e)-r.evaluate(e)],[[I],(e,[t])=>-t.evaluate(e)]]},"/":[I,[I,I],(e,[t,r])=>t.evaluate(e)/r.evaluate(e)],"%":[I,[I,I],(e,[t,r])=>t.evaluate(e)%r.evaluate(e)],ln2:[I,[],()=>Math.LN2],pi:[I,[],()=>Math.PI],e:[I,[],()=>Math.E],"^":[I,[I,I],(e,[t,r])=>t.evaluate(e)**+r.evaluate(e)],sqrt:[I,[I],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[I,[I],(e,[t])=>Math.log(t.evaluate(e))],log2:[I,[I],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[I,[I],(e,[t])=>Math.sin(t.evaluate(e))],cos:[I,[I],(e,[t])=>Math.cos(t.evaluate(e))],tan:[I,[I],(e,[t])=>Math.tan(t.evaluate(e))],asin:[I,[I],(e,[t])=>Math.asin(t.evaluate(e))],acos:[I,[I],(e,[t])=>Math.acos(t.evaluate(e))],atan:[I,[I],(e,[t])=>Math.atan(t.evaluate(e))],min:[I,nr(I),(e,t)=>Math.min(...t.map(r=>r.evaluate(e)))],max:[I,nr(I),(e,t)=>Math.max(...t.map(r=>r.evaluate(e)))],abs:[I,[I],(e,[t])=>Math.abs(t.evaluate(e))],round:[I,[I],(e,[t])=>{let r=t.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[I,[I],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[I,[I],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[Q,[X,H],(e,[t,r])=>e.properties()[t.value]===r.value],"filter-id-==":[Q,[H],(e,[t])=>e.id()===t.value],"filter-type-==":[Q,[X],(e,[t])=>e.geometryType()===t.value],"filter-<":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<n}],"filter-id-<":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<i}],"filter->":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>n}],"filter-id->":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>i}],"filter-<=":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i<=n}],"filter-id-<=":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r<=i}],"filter->=":[Q,[X,H],(e,[t,r])=>{let i=e.properties()[t.value],n=r.value;return typeof i==typeof n&&i>=n}],"filter-id->=":[Q,[H],(e,[t])=>{let r=e.id(),i=t.value;return typeof r==typeof i&&r>=i}],"filter-has":[Q,[H],(e,[t])=>{let r=t.value,i=e.properties();return r in i&&i[r]!==void 0}],"filter-has-id":[Q,[],e=>e.id()!==null&&e.id()!==void 0],"filter-type-in":[Q,[Ue(X)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[Q,[Ue(H)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[Q,[X,Ue(H)],(e,[t,r])=>r.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[Q,[X,Ue(H)],(e,[t,r])=>Mm(e.properties()[t.value],r.value,0,r.value.length-1)],all:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)&&r.evaluate(e)],[nr(Q),(e,t)=>{for(let r of t)if(!r.evaluate(e))return!1;return!0}]]},any:{type:Q,overloads:[[[Q,Q],(e,[t,r])=>t.evaluate(e)||r.evaluate(e)],[nr(Q),(e,t)=>{for(let r of t)if(r.evaluate(e))return!0;return!1}]]},"!":[Q,[Q],(e,[t])=>!t.evaluate(e)],"is-supported-script":[Q,[X],(e,[t])=>{let r=e.globals&&e.globals.isSupportedScript;return!r||r(t.evaluate(e))}],upcase:[X,[X],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[X,[X],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[X,nr(H),(e,t)=>t.map(r=>Ni(r.evaluate(e))).join("")],split:[Ue(X),[X,X],(e,[t,r])=>t.evaluate(e).split(r.evaluate(e))],join:[X,[Ue(X),X],(e,[t,r])=>t.evaluate(e).join(r.evaluate(e))],"resolved-locale":[X,[Ta],(e,[t])=>t.evaluate(e).resolvedLocale()]});function zm(e){return Array.isArray(e)?`(${e.map(ye).join(", ")})`:`(${ye(e.type)}...)`}function fa(e){if(e instanceof Ep)return fa(e.boundExpression);if(e instanceof vr&&e.name==="error"||e instanceof zp||e instanceof ml||e instanceof bl||e instanceof wl)return!1;let t=e instanceof $r||e instanceof Ct,r=!0;return e.eachChild(i=>{r&&(r=t?fa(i):i instanceof ei)}),r?za(e)&&La(e,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"]):!1}function za(e){if(e instanceof vr&&(e.name==="get"&&e.args.length===1||e.name==="feature-state"||e.name==="has"&&e.args.length===1||e.name==="properties"||e.name==="geometry-type"||e.name==="id"||/^filter-/.test(e.name))||e instanceof ml||e instanceof bl)return!1;let t=!0;return e.eachChild(r=>{t&&!za(r)&&(t=!1)}),t}function Hi(e){if(e instanceof vr&&e.name==="feature-state")return!1;let t=!0;return e.eachChild(r=>{t&&!Hi(r)&&(t=!1)}),t}function La(e,t){if(e instanceof vr&&t.indexOf(e.name)>=0)return!1;let r=!0;return e.eachChild(i=>{r&&!La(i,t)&&(r=!1)}),r}function ti(e){return e["property-type"]==="data-driven"||e["property-type"]==="cross-faded-data-driven"}function Hp(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function Dl(e){return!!e.expression&&e.expression.interpolated}var _l=/^(.*)-transition$/;function Ji(e,...t){for(let r of t)for(let i in r)e[i]=r[i];return e}function K(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":e===null?"null":typeof e}function Va(e){return typeof e=="object"&&!!e&&!Array.isArray(e)&&Se(e)===hr}function Lm(e){return e}function Vm(e){switch(e.type){case"color":return me.parse;case"padding":return St.parse;case"numberArray":return At.parse;case"colorArray":return st.parse;default:return null}}function Om(e){switch(e){case"exponential":return Kp;case"interval":return $m;case"categorical":return Rm;case"identity":return Nm;default:throw Error(`Unknown function type "${e}"`)}}function Jp(e,t){let r=e.stops&&typeof e.stops[0][0]=="object",i=r||e.property!==void 0,n=r||!i,a=e.type||(Dl(t)?"exponential":"interval"),s=Vm(t);if(s&&(e=Ji({},e),e.stops&&(e.stops=e.stops.map(h=>[h[0],s(h[1])])),e.default?e.default=s(e.default):e.default=s(t.default)),e.colorSpace&&!I1(e.colorSpace))throw Error(`Unknown color space: "${e.colorSpace}"`);let o=Om(a),l,u;if(a==="categorical"){l=Object.create(null);for(let h of e.stops)l[h[0]]=h[1];u=typeof e.stops[0][0]}if(r){let h={},c=[];for(let d=0;d<e.stops.length;d++){let y=e.stops[d],m=y[0].zoom;h[m]===void 0&&(h[m]={zoom:m,type:e.type,property:e.property,default:e.default,stops:[]},c.push(m)),h[m].stops.push([y[0].value,y[1]])}let p=[];for(let d of c)p.push([h[d].zoom,Jp(h[d],t)]);let f={name:"linear"};return{kind:"composite",interpolationType:f,interpolationFactor:bt.interpolationFactor.bind(void 0,f),zoomStops:p.map(d=>d[0]),evaluate({zoom:d},y){return Kp({stops:p,base:e.base},t,d).evaluate(d,y)}}}if(n){let h=a==="exponential"?{name:"exponential",base:e.base===void 0?1:e.base}:null;return{kind:"camera",interpolationType:h,interpolationFactor:bt.interpolationFactor.bind(void 0,h),zoomStops:e.stops.map(c=>c[0]),evaluate:({zoom:c})=>o(e,t,c,l,u)}}return{kind:"source",evaluate(h,c){let p=c&&c.properties?c.properties[e.property]:void 0;return p===void 0?dn(e.default,t.default):o(e,t,p,l,u)}}}function dn(e,t,r){if(e!==void 0)return e;if(t!==void 0)return t;if(r!==void 0)return r}function Rm(e,t,r,i,n){return dn(typeof r===n?i[r]:void 0,e.default,t.default)}function $m(e,t,r){if(K(r)!=="number")return dn(e.default,t.default);let i=e.stops.length;if(i===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[i-1][0])return e.stops[i-1][1];let n=Ba(e.stops.map(a=>a[0]),r,"");return e.stops[n][1]}function Kp(e,t,r){let i=e.base===void 0?1:e.base;if(K(r)!=="number")return dn(e.default,t.default);let n=e.stops.length;if(n===1||r<=e.stops[0][0])return e.stops[0][1];if(r>=e.stops[n-1][0])return e.stops[n-1][1];let a=Ba(e.stops.map(h=>h[0]),r,""),s=Um(r,i,e.stops[a][0],e.stops[a+1][0]),o=e.stops[a][1],l=e.stops[a+1][1],u=fr[t.type]||Lm;return typeof o.evaluate=="function"?{evaluate(...h){let c=o.evaluate.apply(void 0,h),p=l.evaluate.apply(void 0,h);if(c!==void 0&&p!==void 0)return u(c,p,s,e.colorSpace)}}:u(o,l,s,e.colorSpace)}function Nm(e,t,r){switch(t.type){case"color":r=me.parse(r);break;case"formatted":r=Mt.fromString(r.toString());break;case"resolvedImage":r=_t.fromString(r.toString());break;case"padding":r=St.parse(r);break;case"colorArray":r=st.parse(r);break;case"numberArray":r=At.parse(r);break;default:K(r)!==t.type&&(t.type!=="enum"||!t.values[r])&&(r=void 0)}return dn(r,e.default,t.default)}function Um(e,t,r,i){let n=i-r,a=e-r;return n===0?0:t===1?a/n:(t**+a-1)/(t**+n-1)}function io(e){return{result:"success",value:e}}function Lr(e){return{result:"error",value:e}}var Sl=class{constructor(e,t,r,i){this.expression=e,this._warningHistory={},this._evaluator=new gp,this._defaultValue=r?af(r):null,this._enumValues=r&&r.type==="enum"?r.values:null,this._globalState=i,this._rootKey=t}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ri(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=r,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(e,t,r,i,n,a){this._globalState&&(e=ri(e,this._globalState)),this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=r||null,this._evaluator.canonical=i,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=a||null;try{let s=this.expression.evaluate(this._evaluator);if(s==null||typeof s=="number"&&s!==s)return this._defaultValue;if(this._enumValues&&!(s in this._enumValues))throw new fe(`Expected value to be one of ${Object.keys(this._enumValues).map(o=>JSON.stringify(o)).join(", ")}, but found ${JSON.stringify(s)} instead.`,"");return s}catch(s){let o=s instanceof fe?s.path:"",l=`${o}|${s.message}`;return this._warningHistory[l]||(this._warningHistory[l]=!0,typeof console<"u"&&console.warn(Qp(this._rootKey,o,s.message,this._defaultValue))),this._defaultValue}}};function Qp(e,t,r,i){return`${e}${t}: ${r}${i==null?"":` Falling back to ${String(i)}.`}`}function ef(e){if(!e)throw Error('rootKey must identify the location of the expression in the style JSON, e.g. "layers[3].paint.line-width".')}function Oa(e){return Array.isArray(e)&&e.length>0&&typeof e[0]=="string"&&e[0]in qr}function dr(e,t,r,i){ef(t);let n=new Zp(qr,fa,[],r?Gm(r):void 0),a=n.parse(e,void 0,void 0,void 0,r&&r.type==="string"?{typeAnnotation:"coerce"}:void 0);return a?io(new Sl(a,t,r,i)):Lr(n.errors)}var Ki=class{constructor(e,t,r){this.kind=e,this._styleExpression=t,this.isStateDependent=e!=="constant"&&!Hi(t.expression),this.globalStateRefs=yn(t.expression),this._globalState=r}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ri(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=ri(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}},da=class{constructor(e,t,r,i,n){this.kind=e,this.zoomStops=r,this._styleExpression=t,this.isStateDependent=e!=="camera"&&!Hi(t.expression),this.globalStateRefs=yn(t.expression),this.interpolationType=i,this._globalState=n}evaluateWithoutErrorHandling(e,t,r,i,n,a){return this._globalState&&(e=ri(e,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(e,t,r,i,n,a)}evaluate(e,t,r,i,n,a){return this._globalState&&(e=ri(e,this._globalState)),this._styleExpression.evaluate(e,t,r,i,n,a)}interpolationFactor(e,t,r){return this.interpolationType?bt.interpolationFactor(this.interpolationType,e,t,r):0}};function qm(e){return e._styleExpression!==void 0}function tf(e,t,r,i){let n=dr(e,t,r,i);if(n.result==="error")return n;let a=n.value.expression,s=za(a);if(!s&&!ti(r))return Lr([new gt("","data expressions not supported")]);let o=La(a,["zoom"]);if(!o&&!Hp(r))return Lr([new gt("","zoom expressions not supported")]);let l=aa(a);if(!l&&!o)return Lr([new gt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(l instanceof gt)return Lr([l]);if(l instanceof bt&&!Dl(r))return Lr([new gt("",'"interpolate" expressions cannot be used with this property')]);if(!l)return io(s?new Ki("constant",n.value,i):new Ki("source",n.value,i));let u=l instanceof bt?l.interpolation:void 0;return io(s?new da("camera",n.value,l.labels,u,i):new da("composite",n.value,l.labels,u,i))}var rf=class nf{constructor(t,r,i){this.isStateDependent=!1,this.globalStateRefs=new Set,this._globalState=null,ef(r),this._parameters=t,this._specification=i,this._rootKey=r,this._defaultValue=af(i),this._warningHistory={};let n=Jp(this._parameters,this._specification);this.kind=n.kind,this.interpolationFactor=n.interpolationFactor,this.zoomStops=n.zoomStops,this.interpolationType=n.interpolationType,this._innerEvaluate=n.evaluate}evaluate(t,r){try{return this._innerEvaluate(t,r)}catch(i){let n=i instanceof Error?i.message:String(i),a=`|${n}`;return this._warningHistory[a]||(this._warningHistory[a]=!0,typeof console<"u"&&console.warn(Qp(this._rootKey,"",n,this._defaultValue))),this._defaultValue}}static deserialize(t){return new nf(t._parameters,t._rootKey,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification,_rootKey:t._rootKey}}};function jm(e,t,r,i){if(Va(e))return new rf(e,t,r);if(Oa(e)){let n=tf(e,t,r,i);if(n.result==="error")throw Error(n.value.map(a=>`${a.key}: ${a.message}`).join(", "));return n.value}{let n=e;return r.type==="color"&&typeof e=="string"?n=me.parse(e):r.type==="padding"&&(typeof e=="number"||Array.isArray(e))?n=St.parse(e):r.type==="numberArray"&&(typeof e=="number"||Array.isArray(e))?n=At.parse(e):r.type==="colorArray"&&(typeof e=="string"||Array.isArray(e))?n=st.parse(e):r.type==="variableAnchorOffsetCollection"&&Array.isArray(e)?n=Dt.parse(e):r.type==="projectionDefinition"&&typeof e=="string"&&(n=xr.parse(e)),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>n}}}function aa(e){let t=null;if(e instanceof Sp)t=aa(e.result);else if(e instanceof Bp){for(let r of e.args)if(t=aa(r),t)break}else(e instanceof fl||e instanceof bt)&&e.input instanceof vr&&e.input.name==="zoom"&&(t=e);return t instanceof gt||e.eachChild(r=>{let i=aa(r);i instanceof gt?t=i:!t&&i?t=new gt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&i&&t!==i&&(t=new gt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),t}function yn(e,t=new Set){return e instanceof wl&&t.add(e.key),e.eachChild(r=>{yn(r,t)}),t}function Gm(e){let t={color:ht,string:X,number:I,enum:X,boolean:Q,formatted:cn,padding:ka,numberArray:Ia,colorArray:Xi,projectionDefinition:Fa,resolvedImage:pn,variableAnchorOffsetCollection:Ca};return e.type==="array"?Ue(t[e.value]||H,e.length):t[e.type]}function af(e){if(e.type==="color"&&Va(e.default))return new me(0,0,0,0);switch(e.type){case"color":return me.parse(e.default)||null;case"padding":return St.parse(e.default)||null;case"numberArray":return At.parse(e.default)||null;case"colorArray":return st.parse(e.default)||null;case"variableAnchorOffsetCollection":return Dt.parse(e.default)||null;case"projectionDefinition":return xr.parse(e.default)||null;default:return e.default===void 0?null:e.default}}function ri(e,t){let{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o}=e??{};return{zoom:r,heatmapDensity:i,elevation:n,lineProgress:a,isSupportedScript:s,accumulated:o,globalState:t}}function Ym(e){let t=!1;for(let r of e){let i=sf(r);if(i==="expression")return"expression";i==="legacy"&&(t=!0)}return t?"legacy":"neutral"}function sf(e){if(typeof e=="boolean")return"neutral";if(!Array.isArray(e)||e.length===0)return"legacy";switch(e[0]){case"has":return e.length<2||e[1]==="$id"||e[1]==="$type"?"legacy":e.length===2?"neutral":"expression";case"in":return e.length>=3&&(typeof e[1]!="string"||Array.isArray(e[2]))?"expression":"legacy";case"!in":case"!has":return"legacy";case"==":case"!=":case">":case">=":case"<":case"<=":return e.length!==3||Array.isArray(e[1])||Array.isArray(e[2])?"expression":"legacy";case"none":return"legacy";case"any":case"all":return Ym(e.slice(1));default:return"expression"}}function Al(e){return sf(e)!=="legacy"}function oh(e){return e==="$type"?["geometry-type"]:e==="$id"?["id"]:["get",e]}function Xm(e){switch(e[0]){case"==":case"!=":case"<":case"<=":case">":case">=":return e.length!==3||typeof e[1]!="string"?null:[e[0],oh(e[1]),e[2]];case"in":case"!in":{if(e.length<2||typeof e[1]!="string")return null;let t=["in",oh(e[1]),["literal",e.slice(2)]];return e[0]==="!in"?["!",t]:t}case"has":case"!has":{if(e.length!==2||typeof e[1]!="string"||e[1]==="$type"||e[1]==="$id")return null;let t=["has",e[1]];return e[0]==="!has"?["!",t]:t}default:return null}}function of(e){if((e[0]==="<"||e[0]==="<="||e[0]===">"||e[0]===">=")&&e[1]==="$type")return`"$type" cannot be use with operator "${e[0]}"`;let t=Xm(e);return t?`Mixing deprecated filter syntax with expression syntax is not supported. Replace ${JSON.stringify(e)} with ${JSON.stringify(t)}.`:`Mixing deprecated filter syntax with expression syntax is not supported. Convert ${JSON.stringify(e)} to expression syntax.`}function Ts(e,t,r){let i=r[e];return Array.isArray(i)?Al(i)?El(i,t.concat(e)):{path:t.concat(e),legacyFilter:i}:null}function El(e,t=[]){if(!Array.isArray(e)||e.length<1)return null;switch(e[0]){case"all":case"any":case"none":for(let r=1;r<e.length;r++){let i=Ts(r,t,e);if(i)return i}break;case"!":{let r=Ts(1,t,e);if(r)return r;break}case"case":for(let r=1;r<e.length-1;r+=2){let i=Ts(r,t,e);if(i)return i}}return null}function Zm(e,t){let r=El(e);if(!r||typeof console>"u")return;let i=r.path.map(n=>`[${n}]`).join("");console.warn(`${t}${i}: ${of(r.legacyFilter)}`)}var Wm={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Qi(e,t,r){if(e==null)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Al(e)?Zm(e,t):e=ya(e);let i=dr(e,t,Wm,r);if(i.result==="error")throw Error(i.value.map(n=>`${n.key}: ${n.message}`).join(", "));return{filter:(n,a,s)=>i.value.evaluate(n,a,{},s),needGeometry:lf(e),getGlobalStateRefs:()=>yn(i.value.expression)}}function Hm(e,t){return e<t?-1:+(e>t)}function lf(e){if(!Array.isArray(e))return!1;if(e[0]==="within"||e[0]==="distance")return!0;for(let t=1;t<e.length;t++)if(lf(e[t]))return!0;return!1}function ya(e){if(!e)return!0;let t=e[0];return e.length<=1?t!=="any":t==="=="?ks(e[1],e[2],"=="):t==="!="?Nn(ks(e[1],e[2],"==")):t==="<"||t===">"||t==="<="||t===">="?ks(e[1],e[2],t):t==="any"?Jm(e.slice(1)):t==="all"?["all"].concat(e.slice(1).map(ya)):t==="none"?["all"].concat(e.slice(1).map(ya).map(Nn)):t==="in"?lh(e[1],e.slice(2)):t==="!in"?Nn(lh(e[1],e.slice(2))):t==="has"?uh(e[1]):t!=="!has"||Nn(uh(e[1]))}function ks(e,t,r){switch(e){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,e,t]}}function Jm(e){return["any"].concat(e.map(ya))}function lh(e,t){if(t.length===0)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(r=>typeof r!=typeof t[0])?["filter-in-large",e,["literal",t.sort(Hm)]]:["filter-in-small",e,["literal",t]]}}function uh(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function Nn(e){return["!",e]}function no(e){let t=typeof e;if(t==="number"||t==="boolean"||t==="string"||e==null)return JSON.stringify(e);if(Array.isArray(e)){let n="[";for(let a of e)n+=`${no(a)},`;return`${n}]`}let r=Object.keys(e).sort(),i="{";for(let n=0;n<r.length;n++)i+=`${JSON.stringify(r[n])}:${no(e[r[n]])},`;return`${i}}`}function Km(e){let t="";for(let r of v1)t+=`/${no(e[r])}`;return t}function Qm(e,t){let r={};for(let n=0;n<e.length;n++){let a=t&&t[e[n].id]||Km(e[n]);t&&(t[e[n].id]=a);let s=r[a];s||(s=r[a]=[]),s.push(e[n])}let i=[];for(let n in r)i.push(r[n]);return i}function uf(e){let t=e.key,r=e.value;return r?[new F(t,r,"constants have been deprecated as of v8")]:[]}function De(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function yr(e){if(Array.isArray(e))return e.map(yr);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){let t={};for(let r in e)t[r]=yr(e[r]);return t}return De(e)}function Qe(e){let t=e.key,r=e.value,i=e.valueSpec||{},n=e.objectElementValidators||{},a=e.style,s=e.styleSpec,o=e.validateSpec,l=[],u=K(r);if(u!=="object")return[new F(t,r,`object expected, ${u} found`)];for(let h in r){let c=h.split(".")[0],p=$i(i,c)||i["*"],f;if($i(n,c))f=n[c];else if($i(i,c)){if(r[h]===void 0)continue;f=o}else if(n["*"])f=n["*"];else if(i["*"])f=o;else{l.push(new F(t,r[h],`unknown property "${h}"`));continue}l=l.concat(f({key:(t&&`${t}.`)+h,value:r[h],valueSpec:p,style:a,styleSpec:s,object:r,objectKey:h,validateSpec:o},r))}for(let h in i)n[h]||i[h].required&&i[h].default===void 0&&r[h]===void 0&&l.push(new F(t,r,`missing required property "${h}"`));return l}function Fl(e){let t=e.value,r=e.valueSpec,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.key,o=e.arrayElementValidator||i;if(K(t)!=="array")return[new F(s,t,`array expected, ${K(t)} found`)];if(r.length&&t.length!==r.length)return[new F(s,t,`array length ${r.length} expected, length ${t.length} found`)];let l={type:r.value,values:r.values};a.$version<7&&(l.function=r.function),K(r.value)==="object"&&(l=r.value);let u=[];for(let h=0;h<t.length;h++)u=u.concat(o({array:t,arrayIndex:h,value:t[h],valueSpec:l,validateSpec:e.validateSpec,style:n,styleSpec:a,key:`${s}[${h}]`}));return u}function Ra(e){let t=e.key,r=e.value,i=e.valueSpec,n=K(r);return n==="number"&&r!==r&&(n="NaN"),n==="number"?"minimum"in i&&r<i.minimum?[new F(t,r,`${r} is less than the minimum value ${i.minimum}`)]:"maximum"in i&&r>i.maximum?[new F(t,r,`${r} is greater than the maximum value ${i.maximum}`)]:[]:[new F(t,r,`number expected, ${n} found`)]}function hf(e){let t=e.valueSpec,r=De(e.value.type),i,n={},a,s,o=r!=="categorical"&&e.value.property===void 0,l=!o,u=K(e.value.stops)==="array"&&K(e.value.stops[0])==="array"&&K(e.value.stops[0][0])==="object",h=Qe({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:c,default:d}});return r==="identity"&&o&&h.push(new F(e.key,e.value,'missing required property "property"')),r!=="identity"&&!e.value.stops&&h.push(new F(e.key,e.value,'missing required property "stops"')),r==="exponential"&&e.valueSpec.expression&&!Dl(e.valueSpec)&&h.push(new F(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!ti(e.valueSpec)?h.push(new F(e.key,e.value,"property functions not supported")):o&&!Hp(e.valueSpec)&&h.push(new F(e.key,e.value,"zoom functions not supported"))),(r==="categorical"||u)&&e.value.property===void 0&&h.push(new F(e.key,e.value,'"property" property is required')),h;function c(y){if(r==="identity")return[new F(y.key,y.value,'identity function may not have a "stops" property')];let m=[],g=y.value;return m=m.concat(Fl({key:y.key,value:g,valueSpec:y.valueSpec,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,arrayElementValidator:p})),K(g)==="array"&&g.length===0&&m.push(new F(y.key,g,"array must have at least one stop")),m}function p(y){let m=[],g=y.value,x=y.key;if(K(g)!=="array")return[new F(x,g,`array expected, ${K(g)} found`)];if(g.length!==2)return[new F(x,g,`array length 2 expected, length ${g.length} found`)];if(u){if(K(g[0])!=="object")return[new F(x,g,`object expected, ${K(g[0])} found`)];if(g[0].zoom===void 0)return[new F(x,g,"object stop key must have zoom")];if(g[0].value===void 0)return[new F(x,g,"object stop key must have value")];if(s&&s>De(g[0].zoom))return[new F(x,g[0].zoom,"stop zoom values must appear in ascending order")];De(g[0].zoom)!==s&&(s=De(g[0].zoom),a=void 0,n={}),m=m.concat(Qe({key:`${x}[0]`,value:g[0],valueSpec:{zoom:{}},validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec,objectElementValidators:{zoom:Ra,value:f}}))}else m=m.concat(f({key:`${x}[0]`,value:g[0],valueSpec:{},validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec},g));return Oa(yr(g[1]))?m.concat([new F(`${x}[1]`,g[1],"expressions are not allowed in function stops.")]):m.concat(y.validateSpec({key:`${x}[1]`,value:g[1],valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec}))}function f(y,m){let g=K(y.value),x=De(y.value),b=y.value===null?m:y.value;if(!i)i=g;else if(g!==i)return[new F(y.key,b,`${g} stop domain type must match previous stop domain type ${i}`)];if(g!=="number"&&g!=="string"&&g!=="boolean")return[new F(y.key,b,"stop domain value must be a number, string, or boolean")];if(g!=="number"&&r!=="categorical"){let v=`number expected, ${g} found`;return ti(t)&&r===void 0&&(v+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new F(y.key,b,v)]}return r==="categorical"&&g==="number"&&(!isFinite(x)||Math.floor(x)!==x)?[new F(y.key,b,`integer expected, found ${x}`)]:r!=="categorical"&&g==="number"&&a!==void 0&&x<a?[new F(y.key,b,"stop domain values must appear in ascending order")]:(a=x,r==="categorical"&&x in n?[new F(y.key,b,"stop domain values must be unique")]:(n[x]=!0,[]))}function d(y){return y.validateSpec({key:y.key,value:y.value,valueSpec:t,validateSpec:y.validateSpec,style:y.style,styleSpec:y.styleSpec})}}function ii(e){let t=(e.expressionContext==="property"?tf:dr)(yr(e.value),e.key,e.valueSpec);if(t.result==="error")return t.value.map(i=>new F(`${e.key}${i.key}`,e.value,i.message));let r=t.value.expression||t.value._styleExpression.expression;if(e.expressionContext==="property"&&e.propertyKey==="text-font"&&!r.outputDefined())return[new F(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if(e.expressionContext==="property"&&e.propertyType==="layout"&&!Hi(r))return[new F(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if(e.expressionContext==="filter"&&!Hi(r))return[new F(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&e.expressionContext.indexOf("cluster")===0){if(!La(r,["zoom","feature-state"]))return[new F(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(e.expressionContext==="cluster-initial"&&!za(r))return[new F(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function e0(e){let t=e.value,r=e.key,i=K(t);return i==="boolean"?[]:[new F(r,t,`boolean expected, ${i} found`)]}function ao(e){let t=e.key,r=e.value,i=K(r);return i==="string"?me.parse(String(r))?[]:[new F(t,r,`color expected, "${r}" found`)]:[new F(t,r,`color expected, ${i} found`)]}function en(e){let t=e.key,r=e.value,i=e.valueSpec,n=[];return Array.isArray(i.values)?i.values.indexOf(De(r))===-1&&n.push(new F(t,r,`expected one of [${i.values.join(", ")}], ${JSON.stringify(r)} found`)):Object.keys(i.values).indexOf(De(r))===-1&&n.push(new F(t,r,`expected one of [${Object.keys(i.values).join(", ")}], ${JSON.stringify(r)} found`)),n}function t0(e,t){let r=e;for(let i of t)r=r[i];return r}function r0(e,t){let r=El(t);return r?[new F(`${e.key}${r.path.map(i=>`[${i}]`).join("")}`,t0(e.value,r.path),of(r.legacyFilter),null,"warning")]:[]}function Tl(e){let t=yr(e.value);return Al(t)?[...r0(e,t),...ii(Ji({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}}))]:cf(e)}function cf(e){let t=e.value,r=e.key;if(K(t)!=="array")return[new F(r,t,`array expected, ${K(t)} found`)];let i=e.styleSpec,n,a=[];if(t.length<1)return[new F(r,t,"filter array must have at least 1 element")];switch(a=a.concat(en({key:`${r}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),De(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&De(t[1])==="$type"&&a.push(new F(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":t.length!==3&&a.push(new F(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(n=K(t[1]),n!=="string"&&a.push(new F(`${r}[1]`,t[1],`string expected, ${n} found`)));for(let s=2;s<t.length;s++)n=K(t[s]),De(t[1])==="$type"?a=a.concat(en({key:`${r}[${s}]`,value:t[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):n!=="string"&&n!=="number"&&n!=="boolean"&&a.push(new F(`${r}[${s}]`,t[s],`string, number, or boolean expected, ${n} found`));break;case"any":case"all":case"none":for(let s=1;s<t.length;s++)a=a.concat(cf({key:`${r}[${s}]`,value:t[s],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":n=K(t[1]),t.length===2?n!=="string"&&a.push(new F(`${r}[1]`,t[1],`string expected, ${n} found`)):a.push(new F(r,t,`filter array for "${t[0]}" operator must have 2 elements`))}return a}function pf(e,t){let r=e.key,i=e.validateSpec,n=e.style,a=e.styleSpec,s=e.value,o=e.objectKey,l=a[`${t}_${e.layerType}`];if(!l)return[];let u=o.match(_l);if(t==="paint"&&u&&l[u[1]]&&l[u[1]].transition)return i({key:r,value:s,valueSpec:a.transition,style:n,styleSpec:a});let h=e.valueSpec||l[o];if(!h)return[new F(r,s,`unknown property "${o}"`)];let c;if(K(s)==="string"&&ti(h)&&!h.tokens&&(c=/^{([^}]+)}$/.exec(s)))return[new F(r,s,`"${o}" does not support interpolation syntax
2
+ Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(c[1])} }\`.`)];let p=[];return e.layerType==="symbol"&&o==="text-font"&&Va(yr(s))&&De(s.type)==="identity"&&p.push(new F(r,s,'"text-font" does not support identity functions')),p.concat(i({key:e.key,value:s,valueSpec:h,style:n,styleSpec:a,expressionContext:"property",propertyType:t,propertyKey:o}))}function ff(e){return pf(e,"paint")}function df(e){return pf(e,"layout")}function yf(e){let t=[],r=e.value,i=e.key,n=e.style,a=e.styleSpec;if(K(r)!=="object")return[new F(i,r,`object expected, ${K(r)} found`)];!r.type&&!r.ref&&t.push(new F(i,r,'either "type" or "ref" is required'));let s=De(r.type),o=De(r.ref);if(r.id){let l=De(r.id);for(let u=0;u<e.arrayIndex;u++){let h=n.layers[u];De(h.id)===l&&t.push(new F(i,r.id,`duplicate layer id "${r.id}", previously used at line ${h.id.__line__}`))}}if("ref"in r){["type","source","source-layer","filter","layout"].forEach(u=>{u in r&&t.push(new F(i,r[u],`"${u}" is prohibited for ref layers`))});let l;n.layers.forEach(u=>{De(u.id)===o&&(l=u)}),l?l.ref?t.push(new F(i,r.ref,"ref cannot reference another ref layer")):s=De(l.type):t.push(new F(i,r.ref,`ref layer "${o}" not found`))}else if(s!=="background")if(!r.source)t.push(new F(i,r,'missing required property "source"'));else{let l=n.sources&&n.sources[r.source],u=l&&De(l.type);l?u==="vector"&&s==="raster"?t.push(new F(i,r.source,`layer "${r.id}" requires a raster source`)):u!=="raster-dem"&&s==="hillshade"||u!=="raster-dem"&&s==="color-relief"?t.push(new F(i,r.source,`layer "${r.id}" requires a raster-dem source`)):u==="raster"&&s!=="raster"?t.push(new F(i,r.source,`layer "${r.id}" requires a vector source`)):u==="vector"&&!r["source-layer"]?t.push(new F(i,r,`layer "${r.id}" must specify a "source-layer"`)):u==="raster-dem"&&s!=="hillshade"&&s!=="color-relief"?t.push(new F(i,r.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):s==="line"&&r.paint&&r.paint["line-gradient"]&&(u!=="geojson"||!l.lineMetrics)&&t.push(new F(i,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new F(i,r.source,`source "${r.source}" not found`))}return s==="raster"&&r.paint?.resampling&&r.paint?.["raster-resampling"]&&t.push(new F(i,r.paint,`layer "${r.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),t=t.concat(Qe({key:i,value:r,valueSpec:a.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*"(){return[]},type(){return e.validateSpec({key:`${i}.type`,value:r.type,valueSpec:a.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:r,objectKey:"type"})},filter:Tl,layout(l){return Qe({layer:r,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(u){return df(Ji({layerType:s},u))}}})},paint(l){return Qe({layer:r,key:l.key,value:l.value,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*"(u){return ff(Ji({layerType:s},u))}}})}}})),t}function Kt(e){let t=e.value,r=e.key,i=K(t);return i==="string"?[]:[new F(r,t,`string expected, ${i} found`)]}function i0(e){let t=e.sourceName??"",r=e.value,i=e.styleSpec,n=i.source_raster_dem,a=e.style,s=[],o=K(r);if(r===void 0)return s;if(o!=="object")return s.push(new F("source_raster_dem",r,`object expected, ${o} found`)),s;let l=De(r.encoding)==="custom",u=["redFactor","greenFactor","blueFactor","baseShift"],h=e.value.encoding?`"${e.value.encoding}"`:"Default";for(let c in r)!l&&u.includes(c)?s.push(new F(c,r[c],`In "${t}": "${c}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):n[c]?s=s.concat(e.validateSpec({key:c,value:r[c],valueSpec:n[c],validateSpec:e.validateSpec,style:a,styleSpec:i})):s.push(new F(c,r[c],`unknown property "${c}"`));return s}var hh={promoteId:n0};function mf(e){let t=e.value,r=e.key,i=e.styleSpec,n=e.style,a=e.validateSpec;if(!t.type)return[new F(r,t,'"type" is required')];let s=De(t.type),o;switch(s){case"vector":case"raster":return o=Qe({key:r,value:t,valueSpec:i[`source_${s.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:hh,validateSpec:a}),o;case"raster-dem":return o=i0({sourceName:r,value:t,style:e.style,styleSpec:i,validateSpec:a}),o;case"geojson":if(o=Qe({key:r,value:t,valueSpec:i.source_geojson,style:n,styleSpec:i,validateSpec:a,objectElementValidators:hh}),t.cluster)for(let l in t.clusterProperties){let[u,h]=t.clusterProperties[l],c=typeof u=="string"?[u,["accumulated"],["get",l]]:u;o.push(...ii({key:`${r}.${l}.map`,value:h,validateSpec:a,expressionContext:"cluster-map"})),o.push(...ii({key:`${r}.${l}.reduce`,value:c,validateSpec:a,expressionContext:"cluster-reduce"}))}return o;case"video":return Qe({key:r,value:t,valueSpec:i.source_video,style:n,validateSpec:a,styleSpec:i});case"image":return Qe({key:r,value:t,valueSpec:i.source_image,style:n,validateSpec:a,styleSpec:i});case"canvas":return[new F(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return en({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,validateSpec:a,styleSpec:i})}}function n0({key:e,value:t}){if(K(t)==="string")return Kt({key:e,value:t});{let r=[];for(let i in t)r.push(...Kt({key:`${e}.${i}`,value:t[i]}));return r}}function gf(e){let t=e.value,r=e.styleSpec,i=r.light,n=e.style,a=[],s=K(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new F("light",t,`object expected, ${s} found`)]),a;for(let o in t){let l=o.match(_l);a=l&&i[l[1]]&&i[l[1]].transition?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,validateSpec:e.validateSpec,style:n,styleSpec:r})):i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new F(o,t[o],`unknown property "${o}"`)])}return a}function xf(e){let t=e.value,r=e.styleSpec,i=r.sky,n=e.style,a=K(t);if(t===void 0)return[];if(a!=="object")return[new F("sky",t,`object expected, ${a} found`)];let s=[];for(let o in t){let l=o.match(_l);s=l&&i[l[1]]&&i[l[1]].transition?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:r.transition,style:n,styleSpec:r})):i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new F(o,t[o],`unknown property "${o}"`)])}return s}function vf(e){let t=e.value,r=e.styleSpec,i=r.terrain,n=e.style,a=[],s=K(t);if(t===void 0)return a;if(s!=="object")return a=a.concat([new F("terrain",t,`object expected, ${s} found`)]),a;for(let o in t)a=i[o]?a.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],validateSpec:e.validateSpec,style:n,styleSpec:r})):a.concat([new F(o,t[o],`unknown property "${o}"`)]);return a}function a0(e){return Kt(e).length===0?[]:ii(e)}function s0(e){return Kt(e).length===0?[]:ii(e)}function o0(e){let t=e.key,r=e.value;if(K(r)==="array"){if(r.length<1||r.length>4)return[new F(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];let i={type:"number"},n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return Ra({key:t,value:r,valueSpec:{}})}function l0(e){let t=e.key,r=e.value;if(K(r)==="array"){let i={type:"number"};if(r.length<1)return[new F(t,r,"array length at least 1 expected, length 0 found")];let n=[];for(let a=0;a<r.length;a++)n=n.concat(e.validateSpec({key:`${t}[${a}]`,value:r[a],validateSpec:e.validateSpec,valueSpec:i}));return n}return Ra({key:t,value:r,valueSpec:{}})}function u0(e){let t=e.key,r=e.value;if(K(r)==="array"){if(r.length<1)return[new F(t,r,"array length at least 1 expected, length 0 found")];let i=[];for(let n=0;n<r.length;n++)i=i.concat(ao({key:`${t}[${n}]`,value:r[n],valueSpec:{}}));return i}return ao({key:t,value:r,valueSpec:{}})}function h0(e){let t=e.key,r=e.value,i=K(r),n=e.styleSpec;if(i!=="array"||r.length<1||r.length%2!=0)return[new F(t,r,"variableAnchorOffsetCollection requires a non-empty array of even length")];let a=[];for(let s=0;s<r.length;s+=2)a=a.concat(en({key:`${t}[${s}]`,value:r[s],valueSpec:n.layout_symbol["text-anchor"]})),a=a.concat(Fl({key:`${t}[${s+1}]`,value:r[s+1],valueSpec:{length:2,value:"number"},validateSpec:e.validateSpec,style:e.style,styleSpec:n}));return a}function bf(e){let t=[],r=e.value,i=e.key;if(Array.isArray(r)){let n=[],a=[];for(let s in r)r[s].id&&n.includes(r[s].id)&&t.push(new F(i,r,`all the sprites' ids must be unique, but ${r[s].id} is duplicated`)),n.push(r[s].id),r[s].url&&a.includes(r[s].url)&&t.push(new F(i,r,`all the sprites' URLs must be unique, but ${r[s].url} is duplicated`)),a.push(r[s].url),t=t.concat(Qe({key:`${i}[${s}]`,value:r[s],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:e.validateSpec}));return t}return Kt({key:i,value:r})}function c0(e){let t=e.value,r=e.styleSpec,i=r.projection,n=e.style,a=K(t);if(t===void 0)return[];if(a!=="object")return[new F("projection",t,`object expected, ${a} found`)];let s=[];for(let o in t)s=i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:n,styleSpec:r})):s.concat([new F(o,t[o],`unknown property "${o}"`)]);return s}function p0(e){let t=e.key,r=e.value;r=r instanceof String?r.valueOf():r;let i=K(r);return i==="array"&&!d0(r)&&!f0(r)?[new F(t,r,`projection expected, invalid array ${JSON.stringify(r)} found`)]:["array","string"].includes(i)?[]:[new F(t,r,`projection expected, invalid type "${i}" found`)]}function f0(e){return!!["interpolate","step","literal"].includes(e[0])}function d0(e){return Array.isArray(e)&&e.length===3&&typeof e[0]=="string"&&typeof e[1]=="string"&&typeof e[2]=="number"}function so(e){return!!e&&e.constructor===Object}function wf(e){return so(e.value)?[]:[new F(e.key,e.value,`object expected, ${K(e.value)} found`)]}var ch=1114111,y0=/^u\+(?:([0-9a-f]{1,6})(?:-([0-9a-f]{1,6}))?|([0-9a-f]{0,5}\?{1,6}))$/i;function m0(e,t){if(K(t)!=="string")return[];let r=`${t}`,i=()=>[new F(e,t,'invalid unicode range, expected a value such as "U+26", "U+0-10FFFF" or "U+4??"')],n=r.match(y0);if(!n)return i();let[,a,s,o]=n;if(o!==void 0)return o.length>6?i():[];let l=parseInt(a,16),u=s===void 0?l:parseInt(s,16);return l>ch||u>ch?[new F(e,t,"unicode range is out of bounds, the maximum code point is U+10FFFF")]:l>u?[new F(e,t,`unicode range start must not be greater than its end, but ${r} is`)]:[]}function Df(e){let t=e.key??"font-faces",r=e.value,i=e.validateSpec,n=e.styleSpec??sp,a=e.style;if(!so(r))return[new F(t,r,`object expected, ${K(r)} found`)];let s=[];for(let o in r){let l=r[o],u=K(l);if(u==="string")s.push(...Kt({key:`${t}.${o}`,value:l}));else if(u==="array"){let h={url:{type:"string",required:!0},"unicode-range":{type:"array",value:"string"}};for(let[c,p]of l.entries()){let f=`${t}.${o}[${c}]`;s.push(...Qe({key:f,value:p,valueSpec:h,styleSpec:n,style:a,validateSpec:i}));let d=so(p)?p["unicode-range"]:void 0;if(K(d)==="array")for(let[y,m]of d.entries())s.push(...m0(`${f}.unicode-range[${y}]`,m))}}else s.push(new F(`${t}.${o}`,l,`string or array expected, ${u} found`))}return s}var ph={"*"(){return[]},array:Fl,boolean:e0,number:Ra,color:ao,constants:uf,enum:en,filter:Tl,function:hf,layer:yf,object:Qe,source:mf,light:gf,sky:xf,terrain:vf,projection:c0,projectionDefinition:p0,string:Kt,formatted:a0,resolvedImage:s0,padding:o0,numberArray:l0,colorArray:u0,variableAnchorOffsetCollection:h0,sprite:bf,state:wf,fontFaces:Df};function Ui(e){let t=e.value,r=e.valueSpec,i=e.styleSpec;return e.validateSpec=Ui,r.expression&&Va(De(t))?hf(e):r.expression&&Oa(yr(t))?ii(e):r.type&&ph[r.type]?ph[r.type](e):Qe(Ji({},e,{valueSpec:r.type?i[r.type]:r}))}function _f(e){let t=e.value,r=e.key,i=Kt(e);return i.length||(t.indexOf("{fontstack}")===-1&&i.push(new F(r,t,'"glyphs" url must include a "{fontstack}" token')),t.indexOf("{range}")===-1&&i.push(new F(r,t,'"glyphs" url must include a "{range}" token'))),i}function He(e,t=D){let r=[];return r=r.concat(Ui({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:Ui,objectElementValidators:{glyphs:_f,"*"(){return[]}}})),e.constants&&(r=r.concat(uf({key:"constants",value:e.constants,style:e,styleSpec:t,validateSpec:Ui}))),Sf(r)}He.source=it(rt(mf)),He.sprite=it(rt(bf)),He.glyphs=it(rt(_f)),He.fontFaces=it(rt(Df)),He.light=it(rt(gf)),He.sky=it(rt(xf)),He.terrain=it(rt(vf)),He.state=it(rt(wf)),He.layer=it(rt(yf)),He.filter=it(rt(Tl)),He.paintProperty=it(rt(ff)),He.layoutProperty=it(rt(df));function rt(e){return function(t){return e(Object.assign({},t,{validateSpec:Ui}))}}function Sf(e){return[].concat(e).sort((t,r)=>t.line-r.line)}function it(e){return function(...t){return Sf(e.apply(this,t))}}var g0={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"},x0=class{constructor(e,t,r){this._rootKey=t,this._globalState=r,this.setValue(e)}evaluate(){return this._literalValue??this._compiledValue.evaluate({})}setValue(e){if(e==null||e==="visible"||e==="none"){this._literalValue=e==="none"?"none":"visible",this._compiledValue=void 0,this._globalStateRefs=new Set;return}let t=dr(e,this._rootKey,g0,this._globalState);if(t.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,Error(t.value.map(r=>`${r.key}: ${r.message}`).join(", "));this._literalValue=void 0,this._compiledValue=t.value,this._globalStateRefs=yn(t.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}};function v0(e,t,r){return new x0(e,t,r)}var kl={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function b0(e){return kl.REGISTERED_PROTOCOLS[e.substring(0,e.indexOf("://"))]}function w0(e,t){kl.REGISTERED_PROTOCOLS[e]=t}function D0(e){delete kl.REGISTERED_PROTOCOLS[e]}var fh="global-dispatcher",ma=class extends Error{constructor(e,t,r,i){super(`AJAXError: ${t} (${e}): ${r}`),this.status=e,this.statusText=t,this.url=r,this.body=i}};function Af(){if(Jr(self))return self.worker?.referrer;if(window.location.protocol==="blob:")try{return window.parent.location.href}catch{}return window.location.href}var _0=e=>e.startsWith("file:")||Af()?.startsWith("file:")&&!/^\w+:/.test(e);async function S0(e,t){let r=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,cache:e.cache,referrer:Af(),referrerPolicy:e.referrerPolicy,signal:t.signal});e.type==="json"&&!r.headers.has("Accept")&&r.headers.set("Accept","application/json");let i;try{i=await fetch(r)}catch(s){throw np(s)?s:new ma(0,la(s).message,e.url,new Blob)}if(!i.ok){let s=await i.blob();throw new ma(i.status,i.statusText,e.url,s)}let n;n=e.type==="arrayBuffer"||e.type==="image"?i.arrayBuffer():e.type==="json"?i.json():i.text();let a=await n;return x1(t.signal),{data:a,cacheControl:i.headers.get("Cache-Control"),expires:i.headers.get("Expires"),etag:i.headers.get("ETag")}}function A0(e,t){return new Promise((r,i)=>{let n=new XMLHttpRequest;n.open(e.method||"GET",e.url,!0),(e.type==="arrayBuffer"||e.type==="image")&&(n.responseType="arraybuffer");for(let a in e.headers)n.setRequestHeader(a,e.headers[a]);e.type==="json"&&(n.responseType="text",e.headers?.Accept||n.setRequestHeader("Accept","application/json")),n.withCredentials=e.credentials==="include",n.onerror=()=>{i(Error(n.statusText))},n.onload=()=>{if(!t.signal.aborted)if((n.status>=200&&n.status<300||n.status===0)&&n.response!==null){let a=n.response;if(e.type==="json")try{a=JSON.parse(n.response)}catch(s){i(s);return}r({data:a,cacheControl:n.getResponseHeader("Cache-Control"),expires:n.getResponseHeader("Expires"),etag:n.getResponseHeader("ETag")})}else{let a=new Blob([n.response],{type:n.getResponseHeader("Content-Type")});i(new ma(n.status,n.statusText,e.url,a))}},t.signal.addEventListener("abort",()=>{n.abort(),i(new hl(t.signal.reason))}),n.send(e.body)})}var Il=async function(e,t){if(e.url.includes("://")&&!/^https?:|^file:/.test(e.url)){let r=b0(e.url);if(r){let i=await r(e,t);return!i.data&&e.type==="arrayBuffer"?Xe(i,{data:new ArrayBuffer(0)}):i}if(Jr(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,targetMapId:fh},t)}if(!_0(e.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return S0(e,t);if(Jr(self)&&self.worker?.actor)return self.worker.actor.sendAsync({type:"GR",data:e,mustQueue:!0,targetMapId:fh},t)}return A0(e,t)},E0=(e,t)=>Il(Xe(e,{type:"json"}),t),F0=(e,t)=>Il(Xe(e,{type:"arrayBuffer"}),t),Bt={};function B(e,t,r={}){if(Bt[e])throw Error(`${e} is already registered.`);Object.defineProperty(t,"_classRegistryKey",{value:e,writeable:!1}),Bt[e]={klass:t,omit:r.omit||[],shallow:r.shallow||[]}}B("Object",Object),B("Set",Set),B("TransferableGridIndex",Xs),B("Color",me),B("Error",Error),B("AJAXError",ma),B("ResolvedImage",_t),B("StylePropertyFunction",rf),B("StyleExpression",Sl,{omit:["_evaluator"]}),B("ZoomDependentExpression",da),B("ZoomConstantExpression",Ki),B("CompoundExpression",vr,{omit:["_evaluate"]});for(let e in qr)qr[e]._classRegistryKey||B(`Expression_${e}`,qr[e]);function Ef(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor?.name==="ArrayBuffer")}function Cl(e){let t=e.constructor;return e.$name||t._classRegistryKey}function T0(e){if(typeof e!="object"||!e)return!1;let t=Cl(e);return t&&t!=="Object"}function Ff(e){return!T0(e)&&(e==null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||e instanceof Blob||e instanceof Error||Ef(e)||ul(e)||ArrayBuffer.isView(e)||e instanceof ImageData)}function qi(e,t){if(Ff(e))return(Ef(e)||ul(e))&&t&&t.push(e),ArrayBuffer.isView(e)&&t&&t.push(e.buffer),e instanceof ImageData&&t&&t.push(e.data.buffer),e;if(Array.isArray(e)){let a=[];for(let s of e)a.push(qi(s,t));return a}if(typeof e!="object")throw Error(`can't serialize object of type ${typeof e}`);let r=Cl(e);if(!r)throw Error(`can't serialize object of unregistered class ${e.constructor.name}`);if(!Bt[r])throw Error(`${r} is not registered.`);let{klass:i}=Bt[r],n=i.serialize?i.serialize(e,t):{};if(i.serialize){if(n===t?.[t.length-1])throw Error("statically serialized object won't survive transfer of $name property")}else{for(let a in e){if(!e.hasOwnProperty(a)||Bt[r].omit.includes(a))continue;let s=e[a];s!==void 0&&(n[a]=Bt[r].shallow.includes(a)?s:qi(s,t))}e instanceof Error&&(n.message=e.message)}if(n.$name)throw Error("$name property is reserved for worker serialization logic.");return r!=="Object"&&(n.$name=r),n}function ji(e){if(Ff(e))return e;if(Array.isArray(e))return e.map(ji);if(typeof e!="object")throw Error(`can't deserialize object of type ${typeof e}`);let t=Cl(e)||"Object";if(!Bt[t])throw Error(`can't deserialize unregistered class ${t}`);let{klass:r}=Bt[t];if(!r)throw Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(e);let i=Object.create(r.prototype);for(let n of Object.keys(e)){if(n==="$name")continue;let a=e[n];i[n]=Bt[t].shallow.includes(n)?a:ji(a)}return i}var k0=class{constructor(e){this._methodToThrottle=e,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){this._triggered||(this._triggered=!0,this._channel?.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}},I0={once:!0},C0=class{constructor(e,t){this.target=e,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new k0(()=>this.process()),this.subscription=Gu(this.target,"message",r=>this.receive(r),!1),this.globalScope=Jr(self)?e:window}registerMessageHandler(e,t){this.messageHandlers[e]=t}unregisterMessageHandler(e){delete this.messageHandlers[e]}sendAsync(e,t){return new Promise((r,i)=>{let n=Math.round(Math.random()*1e18).toString(36).substring(0,10),a=t?Gu(t.signal,"abort",()=>{a?.unsubscribe(),delete this.resolveRejects[n];let l={id:n,type:"<cancel>",origin:location.origin,targetMapId:e.targetMapId,sourceMapId:this.mapId};this.target.postMessage(l),i(new hl(t.signal.reason))},I0):null;this.resolveRejects[n]={resolve:l=>{a?.unsubscribe(),r(l)},reject:l=>{a?.unsubscribe(),i(l)}};let s=[],o={...e,id:n,sourceMapId:this.mapId,origin:location.origin,data:qi(e.data,s)};this.target.postMessage(o,{transfer:s})})}receive(e){let t=e.data,r=t.id,i=["file://","resource://android","null"],n=[t.origin,location.origin],a=t.origin===location.origin,s=n.some(o=>i.includes(o));if((a||s)&&!(t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type==="<cancel>"){delete this.tasks[r];let o=this.abortControllers[r];delete this.abortControllers[r],o&&o.abort();return}if(Jr(self)||t.mustQueue){this.tasks[r]=t,this.taskQueue.push(r),this.invoker.trigger();return}this.processTask(r,t)}}process(){if(this.taskQueue.length===0)return;let e=this.taskQueue.shift(),t=this.tasks[e];delete this.tasks[e],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(e,t)}async processTask(e,t){if(t.type==="<response>"){let n=this.resolveRejects[e];if(delete this.resolveRejects[e],!n)return;t.error?n.reject(la(ji(t.error))):n.resolve(ji(t.data));return}if(!this.messageHandlers[t.type]){this.completeTask(e,null,null);return}let r=ji(t.data),i=new AbortController;this.abortControllers[e]=i;try{let n=await this.messageHandlers[t.type](t.sourceMapId,r,i);this.completeTask(e,null,n)}catch(n){this.completeTask(e,la(n))}}completeTask(e,t,r){let i=[];delete this.abortControllers[e];let n={id:e,type:"<response>",sourceMapId:this.mapId,origin:location.origin,error:t?qi(t):null,data:qi(r,i)};this.target.postMessage(n,{transfer:i})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}};function dh(e,t,r){r[e]?.includes(t)||(r[e]||(r[e]=[]),r[e].push(t))}function Is(e,t,r){if(r?.[e]){let i=r[e].indexOf(t);i!==-1&&r[e].splice(i,1)}}var Tf=class{constructor(e,t={}){Xe(this,t),this.type=e}},ga=class extends Tf{constructor(e,t={}){super("error",Xe({error:e},t))}},B0=class{on(e,t){return this._listeners||(this._listeners={}),dh(e,t,this._listeners),{unsubscribe:()=>{this.off(e,t)}}}off(e,t){return Is(e,t,this._listeners),Is(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners||(this._oneTimeListeners={}),dh(e,t,this._oneTimeListeners),this):new Promise(r=>this.once(e,r))}fire(e,t){let r=typeof e=="string"?new Tf(e,t||{}):e,i=r.type;if(this.listens(i)){r.target=this;let n=this._listeners?.[i]?.slice()??[];for(let o of n)o.call(this,r);let a=this._oneTimeListeners?.[i]?.slice()??[];for(let o of a)Is(i,o,this._oneTimeListeners),o.call(this,r);let s=this._eventedParent;s&&(Xe(r,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),s.fire(r))}else r instanceof ga&&console.error(r.error);return this}listens(e){return!!(this._listeners?.[e]?.length||this._oneTimeListeners?.[e]?.length||this._eventedParent?.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}},yh=He;new Set(Object.keys(D).filter(e=>e.startsWith("source_")).map(e=>e.slice(7).replaceAll("_","-")));function P0(e,t){let r=!1;for(let i of t){if(i.severity==="warning"){Me(i.message);continue}e.fire(new ga(Error(i.message))),r=!0}return r}function M0(e,t,r,i){return i?.validate!==!1&&P0(e,t({styleSpec:D,...r}))}var mh=class{constructor(){this.first=!0}update(e,t){let r=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=t):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=t),e!==this.lastZoom&&(this.lastZoom=e,this.lastFloorZoom=r,!0))}},oe=class{constructor(e,t){this.zoom=e,t?(this.now=t.now||0,this.fadeDuration=t.fadeDuration||0,this.zoomHistory=t.zoomHistory||new mh,this.transition=t.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new mh,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let e=this.zoom,t=e-Math.floor(e),r=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:t+(1-t)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*t}}},tn=class{constructor(e,t,r,i){this.property=e,this.value=t,this.expression=jm(t===void 0?e.specification.default:t,r,e.specification,i)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}readsGlobalState(e){let t=this.getGlobalStateRefs();return e.some(r=>t.has(r))}possiblyEvaluate(e,t,r){return this.property.possiblyEvaluate(this,e,t,r)}},oo=class{constructor(e,t,r){this.property=e,this.value=new tn(e,void 0,t,r)}transitioned(e,t){return t.value===this.value?t:new gh(this.property,this.value,t,Xe({},e.transition,this.transition),e.now)}untransitioned(){return new gh(this.property,this.value,null,{},0)}},z0=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasProperty(e){return e in this._properties.defaultTransitionablePropertyValues}getValue(e){return Xt(this._values[e].value.value)}setValue(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new oo(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].value=new tn(this._values[e].property,t===null?void 0:Xt(t),this._propertyRootKey(e),this._globalState)}setValues(e){for(let t in e){let r=e[t];t.endsWith("-transition")?this.setTransition(t.slice(0,-11),r):Ys(this._values[t].value.value,r)||this.setValue(t,r)}}getTransition(e){return Xt(this._values[e].transition)}setTransition(e,t){Object.hasOwn(this._values,e)||(this._values[e]=new oo(this._values[e].property,this._propertyRootKey(e),this._globalState)),this._values[e].transition=Xt(t)||void 0}retainPriorGlobalState(e,t,r){for(let i of Object.keys(r._values))for(let n=r._values[i];n;n=n.prior){let{value:a}=n;a.property.specification.transition&&!a.isDataDriven()&&a.expression._globalState===this._globalState&&a.readsGlobalState(e)&&(n.value=new tn(a.property,a.value,this._propertyRootKey(i),t))}}applyGlobalStateChange(e,t,r,i){this.retainPriorGlobalState(e,t,r);let n=!1;for(let a of Object.keys(this._values)){let{value:s}=this._values[a];s.readsGlobalState(e)&&(this.setValue(a,s.value),n=!0)}return n?this.transitioned(i,r):r}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r);let i=this.getTransition(t);i!==void 0&&(e[`${t}-transition`]=i)}return e}transitioned(e,t){let r=new xh(this._properties);for(let i of Object.keys(this._values))r._values[i]=this._values[i].transitioned(e,t._values[i]);return r}untransitioned(){let e=new xh(this._properties);for(let t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}},gh=class{constructor(e,t,r,i,n){this.property=e,this.value=t,this.begin=n+i.delay||0,this.end=this.begin+i.duration||0,e.specification.transition&&(i.delay||i.duration)&&(this.prior=r)}possiblyEvaluate(e,t,r){let i=e.now||0,n=this.value.possiblyEvaluate(e,t,r),a=this.prior;if(!a)return n;if(i>this.end||this.value.isDataDriven())return this.prior=null,n;if(i<this.begin)return a.possiblyEvaluate(e,t,r);{let s=(i-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(e,t,r),n,u1(s))}}},xh=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,t,r){let i=new $a(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}hasTransition(){for(let e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}},L0=class{constructor(e,t,r){this._properties=e,this._values=Object.create(e.defaultPropertyValues),this._globalState=r,this._rootKey=t}_propertyRootKey(e){return`${this._rootKey}.${String(e)}`}hasValue(e){return this._values[e].value!==void 0}hasProperty(e){return e in this._properties.defaultPropertyValues}getValue(e){return Xt(this._values[e].value)}setValue(e,t){this._values[e]=new tn(this._values[e].property,t===null?void 0:Xt(t),this._propertyRootKey(e),this._globalState)}serialize(){let e={};for(let t of Object.keys(this._values)){let r=this.getValue(t);r!==void 0&&(e[t]=r)}return e}possiblyEvaluate(e,t,r){let i=new $a(this._properties);for(let n of Object.keys(this._values))i._values[n]=this._values[n].possiblyEvaluate(e,t,r);return i}},at=class{constructor(e,t,r){this.property=e,this.value=t,this.parameters=r}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,t,r,i){return this.property.evaluate(this.value,this.parameters,e,t,r,i)}},$a=class{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}};function vh(e){if(Array.isArray(e))return e.length;let t=e?.values;return Array.isArray(t)?t.length:void 0}function kf(e,t){let r=vh(e),i=vh(t);return r!==void 0&&i!==void 0&&r!==i}var L=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t){if(e.isDataDriven())throw Error("Value should not be data driven");return e.expression.evaluate(t)}interpolate(e,t,r){if(kf(e,t))return Me(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let i=this.specification.type,n=fr[i];return n?n(e,t,r):e}},N=class{constructor(e,t,r){this.specification=e,this.name=t,this.overrides=r}possiblyEvaluate(e,t,r,i){return e.expression.kind==="constant"||e.expression.kind==="camera"?new at(this,{kind:"constant",value:e.expression.evaluate(t,null,{},r,i)},t):new at(this,e.expression,t)}interpolate(e,t,r){if(e.value.kind!=="constant"||t.value.kind!=="constant")return e;if(e.value.value===void 0||t.value.value===void 0)return new at(this,{kind:"constant",value:void 0},e.parameters);if(kf(e.value.value,t.value.value))return Me(`Property "${this.name}" is trying to interpolate arrays of different lengths. Rendering may 'jump'.`),t;let i=this.specification.type,n=fr[i];if(n){let a=n(e.value.value,t.value.value,r);return new at(this,{kind:"constant",value:a},e.parameters)}return e}evaluate(e,t,r,i,n,a){return e.kind==="constant"?e.value:e.evaluate(t,r,i,n,a)}},rn=class extends N{possiblyEvaluate(e,t,r,i){if(e.value===void 0)return new at(this,{kind:"constant",value:void 0},t);if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i),a=e.property.specification.type==="resolvedImage"&&typeof n!="string"?n.name:n,s=this._calculate(a,a,a,t);return new at(this,{kind:"constant",value:s},t)}if(e.expression.kind==="camera"){let n=this._calculate(e.expression.evaluate({zoom:t.zoom-1}),e.expression.evaluate({zoom:t.zoom}),e.expression.evaluate({zoom:t.zoom+1}),t);return new at(this,{kind:"constant",value:n},t)}return new at(this,e.expression,t)}evaluate(e,t,r,i,n,a){if(e.kind==="source"){let s=e.evaluate(t,r,i,n,a);return this._calculate(s,s,s,t)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(t.zoom)-1},r,i),e.evaluate({zoom:Math.floor(t.zoom)},r,i),e.evaluate({zoom:Math.floor(t.zoom)+1},r,i),t):e.value}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},If=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){if(e.value!==void 0){if(e.expression.kind==="constant"){let n=e.expression.evaluate(t,null,{},r,i);return this._calculate(n,n,n,t)}return this._calculate(e.expression.evaluate(new oe(Math.floor(t.zoom-1),t)),e.expression.evaluate(new oe(Math.floor(t.zoom),t)),e.expression.evaluate(new oe(Math.floor(t.zoom+1),t)),t)}}_calculate(e,t,r,i){return i.zoom>i.zoomHistory.lastIntegerZoom?{from:e,to:t}:{from:r,to:t}}interpolate(e){return e}},Na=class{constructor(e,t){this.specification=e,this.name=t}possiblyEvaluate(e,t,r,i){return!!e.expression.evaluate(t,null,{},r,i)}interpolate(){return!1}},je=class{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let t in e){let r=e[t];r.specification.overridable&&this.overridableProperties.push(t);let i=this.defaultPropertyValues[t]=new tn(r,void 0,r.name,void 0),n=this.defaultTransitionablePropertyValues[t]=new oo(r,r.name,void 0);this.defaultTransitioningPropertyValues[t]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[t]=i.possiblyEvaluate({})}}};B("DataDrivenProperty",N),B("DataConstantProperty",L),B("CrossFadedDataDrivenProperty",rn),B("CrossFadedProperty",If),B("ColorRampProperty",Na);var bh=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",Cs=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?",pt=class extends B0{constructor(e,t,r){if(super(),this.id=e.id,this.type=e.type,this._globalState=r,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=v0(this.visibility,`layers[${this.id}].layout.visibility`,r),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=Qi(e.filter,`layers[${this.id}].filter`,r)),t.layout&&(this._unevaluatedLayout=new L0(t.layout,`layers[${this.id}].layout`,r)),t.paint)){this._transitionablePaint=new z0(t.paint,`layers[${this.id}].paint`,r);for(let i in e.paint)this.setPaintProperty(i,e.paint[i],{validate:!1});for(let i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new $a(t.paint)}}setFilter(e){this.filter=e,this._featureFilter=Qi(e,`layers[${this.id}].filter`,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){if(e==="visibility")return this.visibility;if(this._transitionablePaint?.hasProperty(e))throw Error(e+bh);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${e}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(e)}getLayoutAffectingGlobalStateRefs(){let e=new Set;for(let t of this._visibilityExpression.getGlobalStateRefs())e.add(t);if(this._unevaluatedLayout)for(let t in this._unevaluatedLayout._values){let r=this._unevaluatedLayout._values[t];for(let i of r.getGlobalStateRefs())e.add(i)}for(let t of this._featureFilter.getGlobalStateRefs())e.add(t);return e}getPaintAffectingGlobalStateRefs(){let e=new globalThis.Map;if(this._transitionablePaint)for(let t in this._transitionablePaint._values){let r=this._transitionablePaint._values[t].value;for(let i of r.getGlobalStateRefs()){let n=e.get(i)??[];n.push({name:t,value:r.value}),e.set(i,n)}}return e}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(e,t,r={}){if(e==="visibility"){this.visibility=t,this._visibilityExpression.setValue(t),this.recalculateVisibility();return}if(this._transitionablePaint?.hasProperty(e)){this.fire(new ga(Error(e+bh)));return}t!=null&&this._validate(yh.layoutProperty,`layers.${this.id}.layout.${e}`,e,t,r)||this._unevaluatedLayout.setValue(e,t)}getPaintProperty(e){if(e.endsWith("-transition")){let t=e.slice(0,-11);if(t==="visibility"||this._unevaluatedLayout?.hasProperty(t))throw Error(e+Cs);return this._transitionablePaint.getTransition(t)}if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))throw Error(e+Cs);return this._transitionablePaint.getValue(e)}setPaintProperty(e,t,r={}){if(e==="visibility"||this._unevaluatedLayout?.hasProperty(e))return this.fire(new ga(Error(e+Cs))),!1;if(t!=null&&this._validate(yh.paintProperty,`layers.${this.id}.paint.${e}`,e,t,r))return!1;if(e.endsWith("-transition"))return this._transitionablePaint.setTransition(e.slice(0,-11),t||void 0),!1;{let i=this._transitionablePaint._values[e],n=i.property.specification["property-type"]==="cross-faded-data-driven",a=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(e,t),this._handleSpecialPaintPropertyUpdate(e);let o=this._transitionablePaint._values[e].value;return o.isDataDriven()||a||n||this._handleOverridablePaintPropertyUpdate(e,s,o)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,t,r){return!1}isHidden(e=this.minzoom,t=!1){return this.minzoom&&e<(t?Math.floor(this.minzoom):this.minzoom)||this.maxzoom&&e>=this.maxzoom?!0:this._evaluatedVisibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}retainPriorGlobalState(e,t){this._transitionablePaint?.retainPriorGlobalState(e,t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(e,t){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){let e={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:this._unevaluatedLayout?.serialize(),paint:this._transitionablePaint?.serialize()};return this.visibility&&(e.layout||(e.layout={}),e.layout.visibility=this.visibility),f1(e,(t,r)=>t!==void 0&&!(r==="layout"&&!Object.keys(t).length)&&!(r==="paint"&&!Object.keys(t).length))}_validate(e,t,r,i,n={}){return M0(this,e,{key:t,layerType:this.type,objectKey:r,value:i},n)}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let e in this.paint._values){let t=this.paint.get(e);if(t instanceof at&&ti(t.property.specification)&&(t.value.kind==="source"||t.value.kind==="composite")&&t.value.isStateDependent)return!0}return!1}},V0={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},mn=class{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}},ge=class{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){let t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_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(this.capacity*5),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}};function Ae(e,t=1){let r=0,i=0;return{members:e.map(n=>{let a=O0(n.type),s=r=wh(r,Math.max(t,a)),o=n.components||1;return i=Math.max(i,a),r+=a*o,{name:n.name,type:n.type,components:o,offset:s}}),size:wh(r,Math.max(i,t)),alignment:t}}function O0(e){return V0[e].BYTES_PER_ELEMENT}function wh(e,t){return Math.ceil(e/t)*t}var nn=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.int16[i+0]=t,this.int16[i+1]=r,e}};nn.prototype.bytesPerElement=4,B("StructArrayLayout2i4",nn);var lo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.int16[n+0]=t,this.int16[n+1]=r,this.int16[n+2]=i,e}};lo.prototype.bytesPerElement=6,B("StructArrayLayout3i6",lo);var Dh=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.int16[a+0]=t,this.int16[a+1]=r,this.int16[a+2]=i,this.int16[a+3]=n,e}};Dh.prototype.bytesPerElement=8,B("StructArrayLayout4i8",Dh);var uo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};uo.prototype.bytesPerElement=12,B("StructArrayLayout2i4i12",uo);var ho=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.int8=new Int8Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,r,i,n,a,s,o)}emplace(e,t,r,i,n,a,s,o,l){let u=e*5,h=e*10;return this.int16[u+0]=t,this.int16[u+1]=r,this.uint8[h+4]=i,this.uint8[h+5]=n,this.uint8[h+6]=a,this.uint8[h+7]=s,this.int8[h+8]=o,this.int8[h+9]=l,e}};ho.prototype.bytesPerElement=10,B("StructArrayLayout2i4ub2b10",ho);var an=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.float32[i+0]=t,this.float32[i+1]=r,e}};an.prototype.bytesPerElement=8,B("StructArrayLayout2f8",an);var co=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u){let h=this.length;return this.resize(h+1),this.emplace(h,e,t,r,i,n,a,s,o,l,u)}emplace(e,t,r,i,n,a,s,o,l,u,h){let c=e*10;return this.uint16[c+0]=t,this.uint16[c+1]=r,this.uint16[c+2]=i,this.uint16[c+3]=n,this.uint16[c+4]=a,this.uint16[c+5]=s,this.uint16[c+6]=o,this.uint16[c+7]=l,this.uint16[c+8]=u,this.uint16[c+9]=h,e}};co.prototype.bytesPerElement=20,B("StructArrayLayout10ui20",co);var po=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o){let l=this.length;return this.resize(l+1),this.emplace(l,e,t,r,i,n,a,s,o)}emplace(e,t,r,i,n,a,s,o,l){let u=e*8;return this.uint16[u+0]=t,this.uint16[u+1]=r,this.uint16[u+2]=i,this.uint16[u+3]=n,this.uint16[u+4]=a,this.uint16[u+5]=s,this.uint16[u+6]=o,this.uint16[u+7]=l,e}};po.prototype.bytesPerElement=16,B("StructArrayLayout8ui16",po);var fo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=this.length;return this.resize(f+1),this.emplace(f,e,t,r,i,n,a,s,o,l,u,h,c,p)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=e*14,y=e*7;return this.int16[d+0]=t,this.int16[d+1]=r,this.int16[d+2]=i,this.int16[d+3]=n,this.uint16[d+4]=a,this.uint16[d+5]=s,this.uint16[d+6]=o,this.uint16[d+7]=l,this.int16[d+8]=u,this.int16[d+9]=h,this.int16[d+10]=c,this.int16[d+11]=p,this.float32[y+6]=f,e}};fo.prototype.bytesPerElement=28,B("StructArrayLayout4i4ui4i1f28",fo);var yo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.float32[n+0]=t,this.float32[n+1]=r,this.float32[n+2]=i,e}};yo.prototype.bytesPerElement=12,B("StructArrayLayout3f12",yo);var mo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint32[r+0]=t,e}};mo.prototype.bytesPerElement=4,B("StructArrayLayout1ul4",mo);var go=class extends ge{_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,t,r,i,n,a,s,o,l){let u=this.length;return this.resize(u+1),this.emplace(u,e,t,r,i,n,a,s,o,l)}emplace(e,t,r,i,n,a,s,o,l,u){let h=e*10,c=e*5;return this.int16[h+0]=t,this.int16[h+1]=r,this.int16[h+2]=i,this.int16[h+3]=n,this.int16[h+4]=a,this.int16[h+5]=s,this.uint32[c+3]=o,this.uint16[h+8]=l,this.uint16[h+9]=u,e}};go.prototype.bytesPerElement=20,B("StructArrayLayout6i1ul2ui20",go);var xo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*6;return this.int16[o+0]=t,this.int16[o+1]=r,this.int16[o+2]=i,this.int16[o+3]=n,this.int16[o+4]=a,this.int16[o+5]=s,e}};xo.prototype.bytesPerElement=12,B("StructArrayLayout2i2i2i12",xo);var _h=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n){let a=this.length;return this.resize(a+1),this.emplace(a,e,t,r,i,n)}emplace(e,t,r,i,n,a){let s=e*4,o=e*8;return this.float32[s+0]=t,this.float32[s+1]=r,this.float32[s+2]=i,this.int16[o+6]=n,this.int16[o+7]=a,e}};_h.prototype.bytesPerElement=16,B("StructArrayLayout2f1f2i16",_h);var vo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,r,i,n,a){let s=this.length;return this.resize(s+1),this.emplace(s,e,t,r,i,n,a)}emplace(e,t,r,i,n,a,s){let o=e*16,l=e*4,u=e*8;return this.uint8[o+0]=t,this.uint8[o+1]=r,this.float32[l+1]=i,this.float32[l+2]=n,this.int16[u+6]=a,this.int16[u+7]=s,e}};vo.prototype.bytesPerElement=16,B("StructArrayLayout2ub2f2i16",vo);var bo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*3;return this.uint16[n+0]=t,this.uint16[n+1]=r,this.uint16[n+2]=i,e}};bo.prototype.bytesPerElement=6,B("StructArrayLayout3ui6",bo);var wo=class extends ge{_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,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g){let x=this.length;return this.resize(x+1),this.emplace(x,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x){let b=e*26,v=e*13,w=e*52;return this.int16[b+0]=t,this.int16[b+1]=r,this.uint16[b+2]=i,this.uint16[b+3]=n,this.uint32[v+2]=a,this.uint32[v+3]=s,this.uint32[v+4]=o,this.uint16[b+10]=l,this.uint16[b+11]=u,this.uint16[b+12]=h,this.float32[v+7]=c,this.float32[v+8]=p,this.uint8[w+36]=f,this.uint8[w+37]=d,this.uint8[w+38]=y,this.uint32[v+10]=m,this.int16[b+22]=g,this.float32[v+12]=x,e}};wo.prototype.bytesPerElement=52,B("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i1f52",wo);var Do=class extends ge{_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,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,S,E,T,V,C,R){let U=this.length;return this.resize(U+1),this.emplace(U,e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,S,E,T,V,C,R)}emplace(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,S,E,T,V,C,R,U){let A=e*34,P=e*17;return this.int16[A+0]=t,this.int16[A+1]=r,this.int16[A+2]=i,this.int16[A+3]=n,this.int16[A+4]=a,this.int16[A+5]=s,this.int16[A+6]=o,this.int16[A+7]=l,this.uint16[A+8]=u,this.uint16[A+9]=h,this.uint16[A+10]=c,this.uint16[A+11]=p,this.uint16[A+12]=f,this.uint16[A+13]=d,this.uint16[A+14]=y,this.uint16[A+15]=m,this.uint16[A+16]=g,this.uint16[A+17]=x,this.uint16[A+18]=b,this.uint16[A+19]=v,this.uint16[A+20]=w,this.uint16[A+21]=_,this.uint16[A+22]=S,this.uint32[P+12]=E,this.float32[P+13]=T,this.float32[P+14]=V,this.uint16[A+30]=C,this.uint16[A+31]=R,this.float32[P+16]=U,e}};Do.prototype.bytesPerElement=68,B("StructArrayLayout8i15ui1ul2f2ui1f68",Do);var xa=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.float32[r+0]=t,e}};xa.prototype.bytesPerElement=4,B("StructArrayLayout1f4",xa);var _o=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*6,a=e*3;return this.uint16[n+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,e}};_o.prototype.bytesPerElement=12,B("StructArrayLayout1ui2f12",_o);var So=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,r){let i=this.length;return this.resize(i+1),this.emplace(i,e,t,r)}emplace(e,t,r,i){let n=e*2,a=e*4;return this.uint32[n+0]=t,this.uint16[a+2]=r,this.uint16[a+3]=i,e}};So.prototype.bytesPerElement=8,B("StructArrayLayout1ul2ui8",So);var Ao=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){let r=this.length;return this.resize(r+1),this.emplace(r,e,t)}emplace(e,t,r){let i=e*2;return this.uint16[i+0]=t,this.uint16[i+1]=r,e}};Ao.prototype.bytesPerElement=4,B("StructArrayLayout2ui4",Ao);var Sh=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){let t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){let r=e*1;return this.uint16[r+0]=t,e}};Sh.prototype.bytesPerElement=2,B("StructArrayLayout1ui2",Sh);var Eo=class extends ge{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,r,i){let n=this.length;return this.resize(n+1),this.emplace(n,e,t,r,i)}emplace(e,t,r,i,n){let a=e*4;return this.float32[a+0]=t,this.float32[a+1]=r,this.float32[a+2]=i,this.float32[a+3]=n,e}};Eo.prototype.bytesPerElement=16,B("StructArrayLayout4f16",Eo);var Cf=class extends mn{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]}get anchorPoint(){return new M(this.anchorPointX,this.anchorPointY)}};Cf.prototype.size=20;var Bf=class extends go{get(e){return new Cf(this,e)}};B("CollisionBoxArray",Bf);var Pf=class extends mn{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]}get heightOffset(){return this._structArray.float32[this._pos4+12]}};Pf.prototype.size=52;var Mf=class extends wo{get(e){return new Pf(this,e)}};B("PlacedSymbolArray",Mf);var zf=class extends mn{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]}get heightOffset(){return this._structArray.float32[this._pos4+16]}};zf.prototype.size=68;var Lf=class extends Do{get(e){return new zf(this,e)}};B("SymbolInstanceArray",Lf);var Vf=class extends xa{getoffsetX(e){return this.float32[e*1+0]}};B("GlyphOffsetArray",Vf);var Of=class extends lo{getx(e){return this.int16[e*3+0]}gety(e){return this.int16[e*3+1]}gettileUnitDistanceFromAnchor(e){return this.int16[e*3+2]}};B("SymbolLineVertexArray",Of);var Rf=class extends mn{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]}};Rf.prototype.size=12;var $f=class extends _o{get(e){return new Rf(this,e)}};B("TextAnchorOffsetArray",$f);var Nf=class extends mn{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]}};Nf.prototype.size=8;var Uf=class extends So{get(e){return new Nf(this,e)}};B("FeatureIndexArray",Uf);var R0=class extends nn{},$0=class extends nn{},N0=class extends nn{},U0=class extends uo{},q0=class extends ho{},j0=class extends an{},Br=class extends co{},Ah=class extends po{},G0=class extends fo{},Y0=class extends yo{},X0=class extends mo{},Eh=class extends xo{},Z0=class extends vo{},gn=class extends bo{},Fo=class extends Ao{},To=Ae([{name:"a_pos",components:2,type:"Int16"}],4),W0=To.members;To.size,To.alignment;var tt=class Vr{constructor(t=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=t}prepareSegment(t,r,i,n){let a=this.segments[this.segments.length-1];return t>Vr.MAX_VERTEX_ARRAY_LENGTH&&Me(`Max vertices per segment is ${Vr.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${Vr.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+t>Vr.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n?this.createNewSegment(r,i,n):a}createNewSegment(t,r,i){let n={vertexOffset:t.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0,vaos:{}};return i!==void 0&&(n.sortKey=i),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(n),n}getOrCreateLatestSegment(t,r,i){return this.prepareSegment(0,t,r,i)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let t of this.segments)for(let r in t.vaos)t.vaos[r].destroy()}static simpleSegment(t,r,i,n){return new Vr([{vertexOffset:t,primitiveOffset:r,vertexLength:i,primitiveLength:n,vaos:{},sortKey:0}])}};tt.MAX_VERTEX_ARRAY_LENGTH=2**16-1,B("SegmentVector",tt);function Fh(e,t){return e=Hr(Math.floor(e),0,255),t=Hr(Math.floor(t),0,255),256*e+t}var H0=Ae([{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"}]),J0=Ae([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]),K0=ll(((e,t)=>{function r(i,n){for(var a=i.length&3,s=i.length-a,o=n,l,u=3432918353,h=461845907,c,p=0;p<s;)c=i.charCodeAt(p)&255|(i.charCodeAt(++p)&255)<<8|(i.charCodeAt(++p)&255)<<16|(i.charCodeAt(++p)&255)<<24,++p,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c,o=o<<13|o>>>19,l=(o&65535)*5+(((o>>>16)*5&65535)<<16)&4294967295,o=(l&65535)+27492+(((l>>>16)+58964&65535)<<16);switch(c=0,a){case 3:c^=(i.charCodeAt(p+2)&255)<<16;case 2:c^=(i.charCodeAt(p+1)&255)<<8;case 1:c^=i.charCodeAt(p)&255,c=(c&65535)*u+(((c>>>16)*u&65535)<<16)&4294967295,c=c<<15|c>>>17,c=(c&65535)*h+(((c>>>16)*h&65535)<<16)&4294967295,o^=c}return o^=i.length,o^=o>>>16,o=(o&65535)*2246822507+(((o>>>16)*2246822507&65535)<<16)&4294967295,o^=o>>>13,o=(o&65535)*3266489909+(((o>>>16)*3266489909&65535)<<16)&4294967295,o^=o>>>16,o>>>0}t!==void 0&&(t.exports=r)})),Q0=ll(((e,t)=>{function r(i,n){for(var a=i.length,s=n^a,o=0,l;a>=4;)l=i.charCodeAt(o)&255|(i.charCodeAt(++o)&255)<<8|(i.charCodeAt(++o)&255)<<16|(i.charCodeAt(++o)&255)<<24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),l^=l>>>24,l=(l&65535)*1540483477+(((l>>>16)*1540483477&65535)<<16),s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)^l,a-=4,++o;switch(a){case 3:s^=(i.charCodeAt(o+2)&255)<<16;case 2:s^=(i.charCodeAt(o+1)&255)<<8;case 1:s^=i.charCodeAt(o)&255,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16)}return s^=s>>>13,s=(s&65535)*1540483477+(((s>>>16)*1540483477&65535)<<16),s^=s>>>15,s>>>0}t.exports=r})),va=i1(ll(((e,t)=>{var r=K0(),i=Q0();t.exports=r,t.exports.murmur3=r,t.exports.murmur2=i}))(),1),qf=class jf{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,r,i,n){this.ids.push(Th(t)),this.positions.push(r,i,n)}getPositions(t){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let r=Th(t),i=0,n=this.ids.length-1;for(;i<n;){let s=i+n>>1;this.ids[s]>=r?n=s:i=s+1}let a=[];for(;this.ids[i]===r;){let s=this.positions[3*i],o=this.positions[3*i+1],l=this.positions[3*i+2];a.push({index:s,start:o,end:l}),i++}return a}static serialize(t,r){let i=new Float64Array(t.ids),n=new Uint32Array(t.positions);return ko(i,n,0,i.length-1),r&&r.push(i.buffer,n.buffer),{ids:i,positions:n}}static deserialize(t){let r=new jf;return r.ids=t.ids,r.positions=t.positions,r.indexed=!0,r}};function Th(e){let t=+e;return!isNaN(t)&&t<=2**53-1?t:(0,va.default)(String(e))}function ko(e,t,r,i){for(;r<i;){let n=e[r+i>>1],a=r-1,s=i+1;for(;;){do a++;while(e[a]<n);do s--;while(e[s]>n);if(a>=s)break;Un(e,a,s),Un(t,3*a,3*s),Un(t,3*a+1,3*s+1),Un(t,3*a+2,3*s+2)}s-r<i-s?(ko(e,t,r,s),r=s+1):(ko(e,t,s+1,i),i=s)}}function Un(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}B("FeaturePositionMap",qf);var Bl=class{constructor(e,t){this.gl=e.gl,this.location=t}},Pl=class extends Bl{constructor(e,t){super(e,t),this.current=0}set(e){this.current!==e&&(this.current=e,this.gl.uniform1f(this.location,e))}},eg=class extends Bl{constructor(e,t){super(e,t),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]))}},tg=class extends Bl{constructor(e,t){super(e,t),this.current=me.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))}};function Io(e){return[Fh(255*e.r,255*e.g),Fh(255*e.b,255*e.a)]}var Li=class{constructor(e,t,r){this.value=e,this.uniformNames=t.map(i=>`u_${i}`),this.type=r}setUniform(e,t,r){e.set(r.constantOr(this.value))}getBinding(e,t,r){return this.type==="color"?new tg(e,t):new Pl(e,t)}},or=class{constructor(e,t){this.uniformNames=t.map(r=>`u_${r}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,t){this.pixelRatioFrom=t.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=t.tlbr,this.patternTo=e.tlbr}setConstantDashPositions(e,t){this.dashTo=[0,e.y,e.height,e.width],this.dashFrom=[0,t.y,t.height,t.width]}setUniform(e,t,r,i){let n=null;i==="u_pattern_to"?n=this.patternTo:i==="u_pattern_from"?n=this.patternFrom:i==="u_dasharray_to"?n=this.dashTo:i==="u_dasharray_from"?n=this.dashFrom:i==="u_pixel_ratio_to"?n=this.pixelRatioTo:i==="u_pixel_ratio_from"&&(n=this.pixelRatioFrom),n!==null&&e.set(n)}getBinding(e,t,r){return r.startsWith("u_pattern")||r.startsWith("u_dasharray_")?new eg(e,t):new Pl(e,t)}},kt=class{constructor(e,t,r,i){this.expression=e,this.type=r,this.maxValue=0,this.paintVertexAttributes=t.map(n=>({name:`a_${n}`,type:"Float32",components:r==="color"?2:1,offset:0})),this.paintVertexArray=new i}populatePaintArray(e,t,r){let i=this.paintVertexArray.length,n=this.expression.evaluate(new oe(0,r),t,{},r.canonical,[],r.formattedSection);this.paintVertexArray.resize(e),this._setPaintValue(i,e,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new oe(0,n),r,i);this._setPaintValue(e,t,a)}_setPaintValue(e,t,r){if(this.type==="color"){let i=Io(r);for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,i[0],i[1])}else{for(let i=e;i<t;i++)this.paintVertexArray.emplace(i,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=e.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}},ut=class{constructor(e,t,r,i,n,a){this.expression=e,this.uniformNames=t.map(s=>`u_${s}_t`),this.type=r,this.useIntegerZoom=i,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map(s=>({name:`a_${s}`,type:"Float32",components:r==="color"?4:2,offset:0})),this.paintVertexArray=new a}populatePaintArray(e,t,r){let i=this.expression.evaluate(new oe(this.zoom,r),t,{},r.canonical,[],r.formattedSection),n=this.expression.evaluate(new oe(this.zoom+1,r),t,{},r.canonical,[],r.formattedSection),a=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(a,e,i,n)}updatePaintArray(e,t,r,i,n){let a=this.expression.evaluate(new oe(this.zoom,n),r,i),s=this.expression.evaluate(new oe(this.zoom+1,n),r,i);this._setPaintValue(e,t,a,s)}_setPaintValue(e,t,r,i){if(this.type==="color"){let n=Io(r),a=Io(i);for(let s=e;s<t;s++)this.paintVertexArray.emplace(s,n[0],n[1],a[0],a[1])}else{for(let n=e;n<t;n++)this.paintVertexArray.emplace(n,r,i);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(i))}}upload(e){this.paintVertexArray?.arrayBuffer.byteLength&&(this.paintVertexBuffer?.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,t){let r=this.useIntegerZoom?Math.floor(t.zoom):t.zoom,i=Hr(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);e.set(i)}getBinding(e,t,r){return new Pl(e,t)}},jt=class{constructor(e,t,r,i,n,a){this.expression=e,this.type=t,this.useIntegerZoom=r,this.zoom=i,this.layerId=a,this.zoomInPaintVertexArray=new n,this.zoomOutPaintVertexArray=new n}populatePaintArray(e,t,r){let i=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(e),this.zoomOutPaintVertexArray.resize(e),this._setPaintValues(i,e,this.getPositionIds(t),r)}updatePaintArray(e,t,r,i,n){this._setPaintValues(e,t,this.getPositionIds(r),n)}_setPaintValues(e,t,r,i){let n=this.getPositions(i);if(!n||!r)return;let a=n[r.min],s=n[r.mid],o=n[r.max];if(a&&s&&o)for(let l=e;l<t;l++)this.emplace(this.zoomInPaintVertexArray,l,a,s),this.emplace(this.zoomOutPaintVertexArray,l,o,s)}upload(e){if(this.zoomInPaintVertexArray?.arrayBuffer.byteLength&&this.zoomOutPaintVertexArray?.arrayBuffer.byteLength){let t=this.getVertexAttributes();this.zoomInPaintVertexBuffer=e.createVertexBuffer(this.zoomInPaintVertexArray,t,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=e.createVertexBuffer(this.zoomOutPaintVertexArray,t,this.expression.isStateDependent)}}destroy(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()}},Gf=class extends jt{getPositions(e){return e.imagePositions}getPositionIds(e){return e.patterns?.[this.layerId]}getVertexAttributes(){return H0.members}emplace(e,t,r,i){e.emplace(t,r.tlbr[0],r.tlbr[1],r.tlbr[2],r.tlbr[3],i.tlbr[0],i.tlbr[1],i.tlbr[2],i.tlbr[3],r.pixelRatio,i.pixelRatio)}},Yf=class extends jt{getPositions(e){return e.dashPositions}getPositionIds(e){return e.dashes?.[this.layerId]}getVertexAttributes(){return J0.members}emplace(e,t,r,i){e.emplace(t,0,r.y,r.height,r.width,0,i.y,i.height,i.width)}},Xf=class{constructor(e,t,r){this.binders={},this._buffers=[];let i=[];for(let n in e.paint._values){if(!r(n))continue;let a=e.paint.get(n);if(!(a instanceof at)||!ti(a.property.specification))continue;let s=rg(n,e.type),o=a.value,l=a.property.specification.type,u=a.property.useIntegerZoom,h=a.property.specification["property-type"],c=h==="cross-faded"||h==="cross-faded-data-driven";if(o.kind==="constant")this.binders[n]=c?new or(o.value,s):new Li(o.value,s,l),i.push(`/u_${n}`);else if(o.kind==="source"||c){let p=kh(n,l,"source");this.binders[n]=c?n==="line-dasharray"?new Yf(o,l,u,t,p,e.id):new Gf(o,l,u,t,p,e.id):new kt(o,s,l,p),i.push(`/a_${n}`)}else{let p=kh(n,l,"composite");this.binders[n]=new ut(o,s,l,u,t,p),i.push(`/z_${n}`)}}this.cacheKey=i.sort().join("")}getMaxValue(e){let t=this.binders[e];return t instanceof kt||t instanceof ut?t.maxValue:0}populatePaintArrays(e,t,r){for(let i in this.binders){let n=this.binders[i];(n instanceof kt||n instanceof ut||n instanceof jt)&&n.populatePaintArray(e,t,r)}}setConstantPatternPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof or&&i.setConstantPatternPositions(e,t)}}setConstantDashPositions(e,t){for(let r in this.binders){let i=this.binders[r];i instanceof or&&i.setConstantDashPositions(e,t)}}updatePaintArrays(e,t,r,i,n){let a=!1;for(let s of e){let o=t.getPositions(s.id);for(let l of o){let u=r.feature(l.index);for(let h in this.binders){let c=this.binders[h];(c instanceof kt||c instanceof ut||c instanceof jt)&&c.expression.isStateDependent===!0&&(c.expression=i.paint.get(h).value,c.updatePaintArray(l.start,l.end,u,s.state,n),a=!0)}}}return a}defines(){let e=[];for(let t in this.binders){let r=this.binders[t];(r instanceof Li||r instanceof or)&&e.push(...r.uniformNames.map(i=>`#define HAS_UNIFORM_${i}`))}return e}getBinderAttributes(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof kt||r instanceof ut)for(let i of r.paintVertexAttributes)e.push(i.name);else if(r instanceof jt){let i=r.getVertexAttributes();for(let n of i)e.push(n.name)}}return e}getBinderUniforms(){let e=[];for(let t in this.binders){let r=this.binders[t];if(r instanceof Li||r instanceof or||r instanceof ut)for(let i of r.uniformNames)e.push(i)}return e}getPaintVertexBuffers(){return this._buffers}getUniforms(e,t){let r=[];for(let i in this.binders){let n=this.binders[i];if(n instanceof Li||n instanceof or||n instanceof ut){for(let a of n.uniformNames)if(t[a]){let s=n.getBinding(e,t[a],a);r.push({name:a,property:i,binding:s})}}}return r}setUniforms(e,t,r,i){for(let{name:n,property:a,binding:s}of t)this.binders[a].setUniform(s,i,r.get(a),n)}updatePaintBuffers(e){this._buffers=[];for(let t in this.binders){let r=this.binders[t];if(e&&r instanceof jt){let i=e.fromScale===2?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;i&&this._buffers.push(i)}else(r instanceof kt||r instanceof ut)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}}upload(e){for(let t in this.binders){let r=this.binders[t];(r instanceof kt||r instanceof ut||r instanceof jt)&&r.upload(e)}this.updatePaintBuffers()}destroy(){for(let e in this.binders){let t=this.binders[e];(t instanceof kt||t instanceof ut||t instanceof jt)&&t.destroy()}}},mr=class{constructor(e,t,r=()=>!0){this.programConfigurations={};for(let i of e)this.programConfigurations[i.id]=new Xf(i,t,r);this.needsUpload=!1,this._featureMap=new qf,this._bufferOffset=0}populatePaintArrays(e,t,r,i){for(let n in this.programConfigurations)this.programConfigurations[n].populatePaintArrays(e,t,i);t.id!==void 0&&this._featureMap.add(t.id,r,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,r,i){for(let n of r)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(e,this._featureMap,t,n,i)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(let t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(let e in this.programConfigurations)this.programConfigurations[e].destroy()}};function rg(e,t){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"]}[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}function ig(e){return{"line-pattern":{source:Br,composite:Br},"fill-pattern":{source:Br,composite:Br},"fill-extrusion-pattern":{source:Br,composite:Br},"line-dasharray":{source:Ah,composite:Ah}}[e]}function kh(e,t,r){let i={color:{source:an,composite:Eo},number:{source:xa,composite:an}};return ig(e)?.[r]||i[t][r]}B("ConstantBinder",Li),B("CrossFadedConstantBinder",or),B("SourceExpressionBinder",kt),B("CrossFadedPatternBinder",Gf),B("CrossFadedDasharrayBinder",Yf),B("CompositeExpressionBinder",ut),B("ProgramConfiguration",Xf,{omit:["_buffers"]}),B("ProgramConfigurationSet",mr);var Co=2**14-1,Ih=-Co-1;function br(e){let t=xe/e.extent,r=e.loadGeometry();for(let i of r)for(let n of i){let a=Math.round(n.x*t),s=Math.round(n.y*t);n.x=Hr(a,Ih,Co),n.y=Hr(s,Ih,Co),(a<n.x||a>n.x+1||s<n.y||s>n.y+1)&&Me("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function li(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?br(e):[]}}var Ch=-32768;function ng(e,t,r,i,n){e.emplaceBack(Ch+t*8+i,Ch+r*8+n)}var Ml=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new $0,this.indexArray=new gn,this.segments=new tt,this.programConfigurations=new mr(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){let i=this.layers[0],n=[],a=null,s=!1,o=i.type==="heatmap";if(i.type==="circle"){let c=i;a=c.layout.get("circle-sort-key"),s=!a.isConstant(),o||(o=c.paint.get("circle-pitch-alignment")==="map")}let l=o?t.subdivisionGranularity.circle:1,u=new oe(this.zoom),h=this.layers[0]._featureFilter.needGeometry;for(let{feature:c,id:p,index:f,sourceLayerIndex:d}of e){let y=li(c,h);if(!this.layers[0]._featureFilter.filter(u,y,r))continue;let m=s?a.evaluate(y,{},r):void 0,g={id:p,properties:c.properties,type:c.type,sourceLayerIndex:d,index:f,geometry:h?y.geometry:br(c),patterns:{},sortKey:m};n.push(g)}s&&n.sort((c,p)=>c.sortKey-p.sortKey);for(let c of n){let{geometry:p,index:f,sourceLayerIndex:d}=c,y=e[f].feature;this.addFeature(c,p,f,r,l),t.featureIndex.insert(y,p,f,d,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures(e){}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,W0),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,t,r,i,n=1){let a;switch(n){case 1:a=[0,7];break;case 3:a=[0,2,5,7];break;case 5:a=[0,1,3,4,6,7];break;case 7:a=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${n}; valid values are 1, 3, 5, 7.`)}let s=a.length;for(let o of t)for(let l of o){let u=l.x,h=l.y;if(u<0||u>=8192||h<0||h>=8192)continue;let c=this.segments.prepareSegment(s*s,this.layoutVertexArray,this.indexArray,e.sortKey),p=c.vertexLength;for(let f=0;f<s;f++)for(let d=0;d<s;d++)ng(this.layoutVertexArray,u,h,a[d],a[f]);for(let f=0;f<s-1;f++)for(let d=0;d<s-1;d++){let y=p+f*s+d,m=p+(f+1)*s+d;this.indexArray.emplaceBack(y,m+1,y+1),this.indexArray.emplaceBack(y,m,m+1)}c.vertexLength+=s*s,c.primitiveLength+=(s-1)*(s-1)*2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:{},canonical:i})}};B("CircleBucket",Ml,{omit:["layers"]});function ag(e,t){for(let r of e)if(ni(t,r))return!0;for(let r of t)if(ni(e,r))return!0;return zl(e,t)}function Ua(e,t,r){return ni(e,t)?!0:Bo(t,e,r)}function Zf(e,t){if(e.length===1)return Bh(t,e[0]);for(let r of t)for(let i of r)if(ni(e,i))return!0;for(let r of e)if(Bh(t,r))return!0;for(let r of t)if(zl(e,r))return!0;return!1}function sg(e,t,r){for(let i of t){if(e.length>=3){for(let n of i)if(ni(e,n))return!0}if(og(e,i,r))return!0}return!1}function og(e,t,r){if(e.length>1){if(zl(e,t))return!0;for(let i of t)if(Bo(i,e,r))return!0}for(let i of e)if(Bo(i,t,r))return!0;return!1}function zl(e,t){if(e.length===0||t.length===0)return!1;for(let r=0;r<e.length-1;r++){let i=e[r],n=e[r+1];for(let a=0;a<t.length-1;a++){let s=t[a],o=t[a+1];if(lg(i,n,s,o))return!0}}return!1}function lg(e,t,r,i){return Zt(e,r,i)!==Zt(t,r,i)&&Zt(e,t,r)!==Zt(e,t,i)}function Bo(e,t,r){let i=r*r;if(t.length===1)return e.distSqr(t[0])<i;for(let n=1;n<t.length;n++){let a=t[n-1],s=t[n];if(Wf(e,a,s)<i)return!0}return!1}function Wf(e,t,r){let i=t.distSqr(r);if(i===0)return e.distSqr(t);let n=((e.x-t.x)*(r.x-t.x)+(e.y-t.y)*(r.y-t.y))/i;return n<0?e.distSqr(t):n>1?e.distSqr(r):e.distSqr(r.sub(t)._mult(n)._add(t))}function Bh(e,t){let r=!1,i,n,a;for(let s of e){i=s;for(let o=0,l=i.length-1;o<i.length;l=o++)n=i[o],a=i[l],n.y>t.y!=a.y>t.y&&t.x<(a.x-n.x)*(t.y-n.y)/(a.y-n.y)+n.x&&(r=!r)}return r}function ni(e,t){let r=!1;for(let i=0,n=e.length-1;i<e.length;n=i++){let a=e[i],s=e[n];a.y>t.y!=s.y>t.y&&t.x<(s.x-a.x)*(t.y-a.y)/(s.y-a.y)+a.x&&(r=!r)}return r}function ug(e,t,r,i,n){for(let s of e)if(t<=s.x&&r<=s.y&&i>=s.x&&n>=s.y)return!0;let a=[new M(t,r),new M(t,n),new M(i,n),new M(i,r)];if(e.length>2){for(let s of a)if(ni(e,s))return!0}for(let s=0;s<e.length-1;s++){let o=e[s],l=e[s+1];if(hg(o,l,a))return!0}return!1}function hg(e,t,r){let i=r[0],n=r[2];if(e.x<i.x&&t.x<i.x||e.x>n.x&&t.x>n.x||e.y<i.y&&t.y<i.y||e.y>n.y&&t.y>n.y)return!1;let a=Zt(e,t,r[0]);return a!==Zt(e,t,r[1])||a!==Zt(e,t,r[2])||a!==Zt(e,t,r[3])}function jr(e,t,r){let i=t.paint.get(e).value;return i.kind==="constant"?i.value:r.programConfigurations.get(t.id).getMaxValue(e)}function qa(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function ja(e,t,r,i,n){if(!t[0]&&!t[1])return e;let a=M.convert(t)._mult(n);r==="viewport"&&a._rotate(-i);let s=[];for(let o of e)s.push(o.sub(a));return s}function cg(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],n=t.at(-1);(r===0||n&&!i.equals(n))&&t.push(i)}return t}function pg(e,t){let r=[];for(let i of e){let n=cg(i),a=[];for(let s=0;s<n.length;s++){let o=n[s],l=n[s-1],u=n[s+1],h=s===0?new M(0,0):o.sub(l)._unit()._perp(),c=s===n.length-1?new M(0,0):u.sub(o)._unit()._perp(),p=h._add(c)._unit(),f=p.x*c.x+p.y*c.y;f!==0&&p._mult(1/f),a.push(p._mult(t)._add(o))}r.push(a)}return r}function fg({queryGeometry:e,size:t},r){return Ua(e,r,t)}function dg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return Ua(e,a,t*(r.projectTileCoordinates(a.x,a.y,i,n?.(a.x,a.y)).signedDistanceFromCamera/r.cameraToCenterDistance))}function yg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){let s=r.projectTileCoordinates(a.x,a.y,i,n?.(a.x,a.y)).signedDistanceFromCamera,o=t*(r.cameraToCenterDistance/s);return Ua(e,Ll(a,r,i,n),o)}function mg({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n},a){return Ua(e,Ll(a,r,i,n),t)}function Hf({queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n,pitchAlignment:a="map",pitchScale:s="map"},o){let l=a==="map"?s==="map"?fg:dg:s==="map"?yg:mg,u={queryGeometry:e,size:t,transform:r,unwrappedTileID:i,getElevation:n};for(let h of o)for(let c of h)if(l(u,c))return!0;return!1}function Ll(e,t,r,i){let n=t.projectTileCoordinates(e.x,e.y,r,i?.(e.x,e.y)).point;return new M((n.x*.5+.5)*t.width,(-n.y*.5+.5)*t.height)}function gg(e,t,r,i){return e.map(n=>Ll(n,t,r,i))}var Ph,xg=()=>Ph||(Ph=new je({"circle-sort-key":new N(D.layout_circle["circle-sort-key"],"circle-sort-key")})),Mh,vg=()=>Mh||(Mh=new je({"circle-radius":new N(D.paint_circle["circle-radius"],"circle-radius"),"circle-color":new N(D.paint_circle["circle-color"],"circle-color"),"circle-blur":new N(D.paint_circle["circle-blur"],"circle-blur"),"circle-opacity":new N(D.paint_circle["circle-opacity"],"circle-opacity"),"circle-translate":new L(D.paint_circle["circle-translate"],"circle-translate"),"circle-translate-anchor":new L(D.paint_circle["circle-translate-anchor"],"circle-translate-anchor"),"circle-pitch-scale":new L(D.paint_circle["circle-pitch-scale"],"circle-pitch-scale"),"circle-pitch-alignment":new L(D.paint_circle["circle-pitch-alignment"],"circle-pitch-alignment"),"circle-stroke-width":new N(D.paint_circle["circle-stroke-width"],"circle-stroke-width"),"circle-stroke-color":new N(D.paint_circle["circle-stroke-color"],"circle-stroke-color"),"circle-stroke-opacity":new N(D.paint_circle["circle-stroke-opacity"],"circle-stroke-opacity")})),bg={get paint(){return vg()},get layout(){return xg()}},wg=class extends pt{constructor(e,t){super(e,bg,t)}createBucket(e){return new Ml(e)}queryRadius(e){let t=e;return jr("circle-radius",this,t)+jr("circle-stroke-width",this,t)+qa(this.paint.get("circle-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){let l=ja(e,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),-n.bearingInRadians,a),u=this.paint.get("circle-radius").evaluate(t,r)+this.paint.get("circle-stroke-width").evaluate(t,r),h=this.paint.get("circle-pitch-scale"),c=this.paint.get("circle-pitch-alignment"),p,f;return c==="map"?(p=l,f=u*a):(p=gg(l,n,s,o),f=u),Hf({queryGeometry:p,size:f,transform:n,unwrappedTileID:s,getElevation:o,pitchAlignment:c,pitchScale:h},i)}},Jf=class extends Ml{};B("HeatmapBucket",Jf,{omit:["layers"]});var zh,Dg=()=>zh||(zh=new je({"heatmap-radius":new N(D.paint_heatmap["heatmap-radius"],"heatmap-radius"),"heatmap-weight":new N(D.paint_heatmap["heatmap-weight"],"heatmap-weight"),"heatmap-intensity":new L(D.paint_heatmap["heatmap-intensity"],"heatmap-intensity"),"heatmap-color":new Na(D.paint_heatmap["heatmap-color"],"heatmap-color"),"heatmap-opacity":new L(D.paint_heatmap["heatmap-opacity"],"heatmap-opacity")})),_g={get paint(){return Dg()}};function Vl(e,{width:t,height:r},i,n){if(!n)n=new Uint8Array(t*r*i);else if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==t*r*i)throw RangeError(`mismatched image size. expected: ${n.length} but got: ${t*r*i}`);return e.width=t,e.height=r,e.data=n,e}function Kf(e,{width:t,height:r},i){if(t===e.width&&r===e.height)return;let n=Vl({},{width:t,height:r},i);Ol(e,n,{x:0,y:0},{x:0,y:0},{width:Math.min(e.width,t),height:Math.min(e.height,r)},i),e.width=t,e.height=r,e.data=n.data}function Ol(e,t,r,i,n,a){if(n.width===0||n.height===0)return t;if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw RangeError("out of range destination coordinates for image copy");let s=e.data,o=t.data;if(s===o)throw Error("srcData equals dstData, so image is already copied");for(let l=0;l<n.height;l++){let u=((r.y+l)*e.width+r.x)*a,h=((i.y+l)*t.width+i.x)*a;for(let c=0;c<n.width*a;c++)o[h+c]=s[u+c]}return t}var Po=class Qf{constructor(t,r){Vl(this,t,1,r)}resize(t){Kf(this,t,1)}clone(){return new Qf({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){Ol(t,r,i,n,a,1)}},Ke=class ed{constructor(t,r){Vl(this,t,4,r)}resize(t){Kf(this,t,4)}replace(t,r){r?this.data.set(t):this.data=t instanceof Uint8ClampedArray?new Uint8Array(t.buffer):t}clone(){return new ed({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(t,r,i,n,a){Ol(t,r,i,n,a,4)}setPixel(t,r,i){let n=(t*this.width+r)*4;this.data[n+0]=Math.round(i.r*255/i.a),this.data[n+1]=Math.round(i.g*255/i.a),this.data[n+2]=Math.round(i.b*255/i.a),this.data[n+3]=Math.round(i.a*255)}};function Bs(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=4){let i=e[r+3];t[r+0]=Math.round(e[r+0]*i/255),t[r+1]=Math.round(e[r+1]*i/255),t[r+2]=Math.round(e[r+2]*i/255),t[r+3]=i}return t}B("AlphaImage",Po),B("RGBAImage",Ke);function Sg(e){let t={},r=e.resolution||256,i=e.clips?e.clips.length:1,n=e.image||new Ke({width:r,height:i});if(!p1(r))throw Error(`width is not a power of 2 - ${r}`);let a=(s,o,l)=>{t[e.evaluationKey]=l;let u=e.expression.evaluate(t);n.setPixel(s/4/r,o/4,u)};if(e.clips)for(let s=0,o=0;s<i;++s,o+=r*4)for(let l=0,u=0;l<r;l++,u+=4){let h=l/(r-1),{start:c,end:p}=e.clips[s],f=c*(1-h)+p*h;a(o,u,f)}else for(let s=0,o=0;s<r;s++,o+=4){let l=s/(r-1);a(0,o,l)}return n}var Ag=class extends pt{createBucket(e){return new Jf(e)}constructor(e,t){super(e,_g,t),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(e){e==="heatmap-color"&&this._updateColorRamp()}_updateColorRamp(){let e=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=Sg({expression:e,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has("big-fb")&&this.heatmapFbos.delete("big-fb")}queryRadius(e){return jr("heatmap-radius",this,e)}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,unwrappedTileID:s,getElevation:o}){return Hf({queryGeometry:e,size:this.paint.get("heatmap-radius").evaluate(t,r)*a,transform:n,unwrappedTileID:s,getElevation:o},i)}hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&!this.isHidden()}},Lh,Eg=()=>Lh||(Lh=new je({"hillshade-illumination-direction":new L(D.paint_hillshade["hillshade-illumination-direction"],"hillshade-illumination-direction"),"hillshade-illumination-altitude":new L(D.paint_hillshade["hillshade-illumination-altitude"],"hillshade-illumination-altitude"),"hillshade-illumination-anchor":new L(D.paint_hillshade["hillshade-illumination-anchor"],"hillshade-illumination-anchor"),"hillshade-exaggeration":new L(D.paint_hillshade["hillshade-exaggeration"],"hillshade-exaggeration"),"hillshade-shadow-color":new L(D.paint_hillshade["hillshade-shadow-color"],"hillshade-shadow-color"),"hillshade-highlight-color":new L(D.paint_hillshade["hillshade-highlight-color"],"hillshade-highlight-color"),"hillshade-accent-color":new L(D.paint_hillshade["hillshade-accent-color"],"hillshade-accent-color"),"hillshade-method":new L(D.paint_hillshade["hillshade-method"],"hillshade-method"),resampling:new L(D.paint_hillshade.resampling,"resampling")})),Fg={get paint(){return Eg()}},Tg=class extends pt{constructor(e,t){super(e,Fg,t),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let e=this.paint.get("hillshade-illumination-direction").values,t=this.paint.get("hillshade-illumination-altitude").values,r=this.paint.get("hillshade-highlight-color").values,i=this.paint.get("hillshade-shadow-color").values,n=Math.max(e.length,t.length,r.length,i.length);e=e.concat(Array(n-e.length).fill(e.at(-1))),t=t.concat(Array(n-t.length).fill(t.at(-1))),r=r.concat(Array(n-r.length).fill(r.at(-1))),i=i.concat(Array(n-i.length).fill(i.at(-1)));let a=t.map(Yu);return{directionRadians:e.map(Yu),altitudeRadians:a,shadowColor:i,highlightColor:r}}hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&!this.isHidden()}},Vh,kg=()=>Vh||(Vh=new je({"color-relief-opacity":new L(D["paint_color-relief"]["color-relief-opacity"],"color-relief-opacity"),"color-relief-color":new Na(D["paint_color-relief"]["color-relief-color"],"color-relief-color"),resampling:new L(D["paint_color-relief"].resampling,"resampling")})),Ig={get paint(){return kg()}};function qn(e){return"data"in e}var Oh=class{constructor(e,t,r,i){this.context=e,this.format=r,this.texture=e.gl.createTexture(),this._ownedHandle=this.texture,this.update(t,i)}update(e,t,r){let{width:i,height:n}=e,a=(this.size?.[0]!==i||this.size[1]!==n)&&!r,{context:s}=this,{gl:o}=s;this.useMipmap=!!t?.useMipmap,a&&this.size&&this.format===o.RGBA&&(o.deleteTexture(this.texture),this.texture=o.createTexture(),this._ownedHandle=this.texture,this.magFilter=void 0,this.minFilter=void 0,this.wrap=void 0),o.bindTexture(o.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1);let l=this.format===o.RGBA&&t?.premultiply!==!1;if(a)if(this.size=[i,n],this.format===o.RGBA&&i>0&&n>0){let u=this.useMipmap?Math.floor(Math.log2(Math.max(i,n)))+1:1;if(o.texStorage2D(o.TEXTURE_2D,u,o.RGBA8,i,n),qn(e)){s.pixelStoreUnpackPremultiplyAlpha.set(!1);let{data:h}=e;l&&h&&(h=Bs(h)),h&&o.texSubImage2D(o.TEXTURE_2D,0,0,0,i,n,o.RGBA,o.UNSIGNED_BYTE,h)}else s.pixelStoreUnpackPremultiplyAlpha.set(l),o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,e)}else qn(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(e,l,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._uploadDomImage(e,o));else{let{x:u,y:h}=r||{x:0,y:0};qn(e)?(s.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(e,l,u,h,i,n,o)):(s.pixelStoreUnpackPremultiplyAlpha.set(l),this._updateDomImage(e,u,h,o))}this.useMipmap&&!(qn(e)&&e.data===null)&&o.generateMipmap(o.TEXTURE_2D),s.pixelStoreUnpackFlipY.setDefault(),s.pixelStoreUnpack.setDefault(),s.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(e,t){t.texImage2D(t.TEXTURE_2D,0,this.format,this.format,t.UNSIGNED_BYTE,e)}_uploadRawData(e,t,r,i,n){let{data:a}=e;t&&a&&(a=Bs(a)),n.texImage2D(n.TEXTURE_2D,0,this.format,r,i,0,this.format,n.UNSIGNED_BYTE,a)}_updateDomImage(e,t,r,i){i.texSubImage2D(i.TEXTURE_2D,0,t,r,i.RGBA,i.UNSIGNED_BYTE,e)}_updateRawData(e,t,r,i,n,a,s){let{data:o}=e;t&&o&&(o=Bs(o)),s.texSubImage2D(s.TEXTURE_2D,0,r,i,n,a,s.RGBA,s.UNSIGNED_BYTE,o)}bind(e,t,r){let{context:i}=this,{gl:n}=i;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),n.bindTexture(n.TEXTURE_2D,this.texture),(r===n.LINEAR_MIPMAP_NEAREST||r===n.LINEAR_MIPMAP_LINEAR)&&!this.useMipmap&&(r=n.LINEAR);let a=r||e;e!==this.magFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),this.magFilter=e),a!==this.minFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,a),this.minFilter=a),t!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrap=t)}generateMipmap(){if(!this.useMipmap)return;let{gl:e}=this.context;e.bindTexture(e.TEXTURE_2D,this.texture),e.generateMipmap(e.TEXTURE_2D)}destroy(){let{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}},Pt,td=(Pt=class{constructor(t,r,i,n=1,a=1,s=1,o=0){if(this.uid=t,r.height!==r.width)throw RangeError("DEM tiles must be square");if(i&&!["mapbox","terrarium","custom"].includes(i)){Me(`"${i}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);return}this.stride=r.height;let l=this.dim=r.height-4;switch(this.data=new Uint32Array(r.data.buffer),Pt.byteViewCache.set(this,new Uint8Array(this.data.buffer)),i){case"terrarium":this.redFactor=256,this.greenFactor=1,this.blueFactor=1/256,this.baseShift=32768;break;case"custom":this.redFactor=n,this.greenFactor=a,this.blueFactor=s,this.baseShift=o;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=.1,this.baseShift=1e4}for(let h=-2;h<l+2;h++){let c=this._idx(0,Math.max(0,Math.min(l-1,h)));(h<0||h>=l)&&this.data.copyWithin(this._idx(0,h),c,c+l),this.data.fill(this.data[c],this._idx(-2,h),this._idx(0,h)),this.data.fill(this.data[c+l-1],this._idx(l,h),this._idx(l+1,h)+1)}let u=this._getByteView();this.min=2**53-1,this.max=-(2**53-1);for(let h=0;h<l;h++)for(let c=0;c<l;c++){let p=this._idx(h,c)*4,f=this._unpackAtIndex(u,p);f>this.max&&(this.max=f),f<this.min&&(this.min=f)}}get(t,r){let i=this._getByteView(),n=this._idx(t,r)*4;return this._unpackAtIndex(i,n)}sampleBilinear(t,r){let i=Math.floor(t),n=Math.floor(r);if(i<-1||i>=this.dim||n<-1||n>=this.dim)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${r}, dim: ${this.dim}`);let a=this._getByteView(),s=((n+2)*this.stride+i+2)*4,o=this.stride*4,l=t-i,u=r-n,h=this._unpackAtIndex(a,s),c=this._unpackAtIndex(a,s+4),p=this._unpackAtIndex(a,s+o),f=this._unpackAtIndex(a,s+o+4);return h*(1-l)*(1-u)+c*l*(1-u)+p*(1-l)*u+f*l*u}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(t,r){if(t<-2||t>=this.dim+2||r<-2||r>=this.dim+2)throw RangeError(`Out of range source coordinates for DEM data. x: ${t}, y: ${r}, dim: ${this.dim}`);return(r+2)*this.stride+(t+2)}unpack(t,r,i){return t*this.redFactor+r*this.greenFactor+i*this.blueFactor-this.baseShift}pack(t){return rd(t,this.getUnpackVector())}getPixels(){return new Ke({width:this.stride,height:this.stride},this._getByteView())}backfillBorder(t,r,i){if(this.dim!==t.dim)throw Error("dem dimension mismatch");let n=r*this.dim,a=r*this.dim+this.dim,s=i*this.dim,o=i*this.dim+this.dim;switch(r){case-1:n=a-2;break;case 1:a=n+2}switch(i){case-1:s=o-2;break;case 1:o=s+2}let l=-r*this.dim,u=-i*this.dim;for(let h=s;h<o;h++)for(let c=n;c<a;c++)this.data[this._idx(c,h)]=t.data[this._idx(c+l,h+u)]}_getByteView(){let t=Pt.byteViewCache.get(this);return t?.buffer!==this.data.buffer&&(t=new Uint8Array(this.data.buffer),Pt.byteViewCache.set(this,t)),t}_unpackAtIndex(t,r){return this.unpack(t[r],t[r+1],t[r+2])}},Pt.byteViewCache=new WeakMap,Pt);function rd(e,t){let r=t[0],i=t[1],n=t[2],a=t[3],s=[r,i,n].filter(h=>h!==0);if(s.length===0)return{r:0,g:0,b:0};let o=Math.min(...s),l=Math.round((e+a)/o),u=h=>h===0?0:Math.floor(l*o/h)%256;return{r:u(r),g:u(i),b:u(n)}}B("DEMData",td);var Cg=class extends pt{constructor(e,t){super(e,Ig,t)}_createColorRamp(e){let t={elevationStops:[],colorStops:[]},r=this._transitionablePaint._values["color-relief-color"].value.expression;if(r instanceof Ki&&r._styleExpression.expression instanceof bt){this.colorRampExpression=r;let a=r._styleExpression.expression;t.elevationStops=a.labels,t.colorStops=[];for(let s of t.elevationStops)t.colorStops.push(a.evaluate({globals:{elevation:s}}))}if(t.elevationStops.length<1&&(t.elevationStops=[0],t.colorStops=[me.transparent]),t.elevationStops.length<2&&(t.elevationStops.push(t.elevationStops[0]+1),t.colorStops.push(t.colorStops[0])),t.elevationStops.length<=e)return t;let i={elevationStops:[],colorStops:[]},n=(t.elevationStops.length-1)/(e-1);for(let a=0;a<t.elevationStops.length-.5;a+=n)i.elevationStops.push(t.elevationStops[Math.round(a)]),i.colorStops.push(t.colorStops[Math.round(a)]);return Me(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${e}, provided: ${t.elevationStops.length}`),i}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values["color-relief-color"].value.expression}getColorRampTextures(e,t,r){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let i=this._createColorRamp(t),n=new Ke({width:i.colorStops.length,height:1}),a=new Ke({width:i.colorStops.length,height:1});for(let s=0;s<i.elevationStops.length;s++){let o=rd(i.elevationStops[s],r);a.setPixel(0,s,new me(o.r/255,o.g/255,o.b/255,1)),n.setPixel(0,s,i.colorStops[s])}return this.colorRampTextures={elevationTexture:new Oh(e,a,e.gl.RGBA),colorTexture:new Oh(e,n,e.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}},Mo=Ae([{name:"a_pos",components:2,type:"Int16"}],4),Bg=Mo.members;Mo.size,Mo.alignment;function ba(e,t,r){let i=r.patternDependencies,n=!1;for(let a of t){let s=a.paint.get(`${e}-pattern`);s.isConstant()||(n=!0);let o=s.constantOr(null);o&&(n=!0,i[o.to]=!0,i[o.from]=!0)}return n}function Rl(e,t,r,i,n){let{zoom:a}=i,s=n.patternDependencies;for(let o of t){let l=o.paint.get(`${e}-pattern`).value;if(l.kind!=="constant"){let u=l.evaluate({zoom:a-1},r,{},n.availableImages),h=l.evaluate({zoom:a},r,{},n.availableImages),c=l.evaluate({zoom:a+1},r,{},n.availableImages);u=u?.name?u.name:u,h=h?.name?h.name:h,c=c?.name?c.name:c,s[u]=!0,s[h]=!0,s[c]=!0,r.patterns[o.id]={min:u,mid:h,max:c}}}return r}var sn=new Set,zo=!1;function Pg(e,t,r=2){let i=t&&t.length,n=i?t[0]*r:e.length;sn.size&&sn.clear();let a=id(e,0,n,r,!0),s=[];if(!a||a.next===a.prev)return s;let o=0,l=0,u=0;if(i&&(a=Og(e,t,a,r)),e.length>80*r){o=e[0],l=e[1];let h=o,c=l;for(let p=r;p<n;p+=r){let f=e[p],d=e[p+1];f<o&&(o=f),d<l&&(l=d),f>h&&(h=f),d>c&&(c=d)}u=Math.max(h-o,c-l),u=u===0?0:32767/u}return Lo(a,s,o,l,u),s}function id(e,t,r,i,n){let a=null;if(n===Jg(e,t,r,i)>0)for(let s=t;s<r;s+=i)a=Nh(s/i|0,e[s],e[s+1],a);else for(let s=r-i;s>=t;s-=i)a=Nh(s/i|0,e[s],e[s+1],a);return a&&on(a,a.next)&&(un(a),a=a.next),a}function gr(e,t=e){let r=t===e,i=e,n;do n=!1,i!==i.next&&(sn.size===0||!sn.has(i))&&(on(i,i.next)||Fe(i.prev,i,i.next)===0)?((r||i===t)&&(t=i.prev),zo=!0,un(i),i=i.prev,n=!0):(r||i!==t)&&(i=i.next,n=!r);while(n||i!==t);return t}function Lo(e,t,r,i,n){n&&Gg(e,r,i,n);let a=e,s=!1;for(;e.prev!==e.next;){let o=e.prev,l=e.next;if(Fe(o,e,l)<0&&(n?zg(e,r,i,n):Mg(e))){t.push(o.i,e.i,l.i),un(e),e=l,a=l;continue}if(e=l,e===a){if(zo=!1,e=gr(e),zo){a=e;continue}if(!s){e=Lg(e,t),a=e,s=!0;continue}Vg(e,t,r,i,n);break}}}function Mg(e){let t=e.prev,r=e,i=e.next,n=t.x,a=r.x,s=i.x,o=t.y,l=r.y,u=i.y,h=Math.min(n,a,s),c=Math.min(o,l,u),p=Math.max(n,a,s),f=Math.max(o,l,u),d=i.next;for(;d!==t;){if(d.x>=h&&d.x<=p&&d.y>=c&&d.y<=f&&(n!==d.x||o!==d.y)&&Da(n,o,a,l,s,u,d.x,d.y)&&Fe(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function zg(e,t,r,i){let n=e.prev,a=e,s=e.next,o=n.x,l=a.x,u=s.x,h=n.y,c=a.y,p=s.y,f=Math.min(o,l,u),d=Math.min(h,c,p),y=Math.max(o,l,u),m=Math.max(h,c,p),g=$o(f,d,t,r,i),x=$o(y,m,t,r,i),b=e.prevZ;for(;b&&b.z>=g;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==s&&(o!==b.x||h!==b.y)&&Da(o,h,l,c,u,p,b.x,b.y)&&Fe(b.prev,b,b.next)>=0)return!1;b=b.prevZ}let v=e.nextZ;for(;v&&v.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==s&&(o!==v.x||h!==v.y)&&Da(o,h,l,c,u,p,v.x,v.y)&&Fe(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Lg(e,t){let r=e,i=!1;do{let n=r.prev,a=r.next.next;ad(n,r,r.next,a,!1)&&ln(n,a)&&ln(a,n)&&(t.push(n.i,r.i,a.i),un(r),un(r.next),r=e=a,i=!0),r=r.next}while(r!==e);return i?gr(r):r}function Vg(e,t,r,i,n){let a=e;do{let s=a.next.next;for(;s!==a.prev;){if(a.i!==s.i&&Zg(a,s)){let o=sd(a,s);a=gr(a,a.next),o=gr(o,o.next),Lo(a,t,r,i,n),Lo(o,t,r,i,n);return}s=s.next}a=a.next}while(a!==e)}var Vo=!1;function Og(e,t,r,i){let n=[];for(let a=0,s=t.length;a<s;a++){let o=id(e,t[a]*i,a<s-1?t[a+1]*i:e.length,i,!1);o===o.next&&sn.add(o),n.push(Xg(o))}n.sort(Rg),Ng(e.length/i,t.length),nd(r,r),Vo=!0;for(let a=0;a<n.length;a++)r=$g(n[a],r);return Vo=!1,gr(r)}function Rg(e,t){return e.x-t.x||e.y-t.y||(e.next.y-e.y)/(e.next.x-e.x)-(t.next.y-t.y)/(t.next.x-t.x)}function $g(e,t){let r=qg(e,t);if(!r)return t;let i=sd(r,e),n=i.next;return nd(r,n.next),gr(i,i.next),gr(r,r.next)}var we=new Float64Array,wa=0,Oo=[],Ro=[];function Ng(e,t){let r=Math.ceil((e+2*t)/16)+t+2;we.length<r*4&&(we=new Float64Array(r*4)),wa=0}function nd(e,t){let r=e;do{let i=wa++;Oo[i]=r;let n=r.x,a=r.y,s=r.x,o=r.y,l=0;do{let h=r.next;r.z=i,h.x<n&&(n=h.x),h.x>s&&(s=h.x),h.y<a&&(a=h.y),h.y>o&&(o=h.y),r=h}while(++l<16&&r!==t);Ro[i]=r;let u=i*4;we[u]=n,we[u+1]=a,we[u+2]=s,we[u+3]=o}while(r!==t)}function Ug(e,t){let r=e.z*4;t.x<we[r]&&(we[r]=t.x),t.y<we[r+1]&&(we[r+1]=t.y),t.x>we[r+2]&&(we[r+2]=t.x),t.y>we[r+3]&&(we[r+3]=t.y)}function Rh(e){let t=Ro[e];for(;t.prev.next!==t;)t=t.next;return Ro[e]=t,t}function $h(e){let t=Oo[e];for(;t.prev.next!==t;)t=t.next;return Oo[e]=t,t}function qg(e,t){let r=t,i=e.x,n=e.y,a=-1/0,s;if(on(e,r))return r;for(let p=0,f=0;p<wa;p++,f+=4){if(n<we[f+1]||n>we[f+3]||we[f]>i||we[f+2]<=a)continue;let d=Rh(p);r=$h(p);do{if(r.prev.next===r){if(on(e,r.next))return r.next;if(n<=r.y&&n>=r.next.y&&r.next.y!==r.y){let y=r.x+(n-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(y<=i&&y>a&&(a=y,s=r.x<r.next.x?r:r.next,y===i))return s}}r=r.next}while(r!==d)}if(!s)return null;let o=s.x,l=s.y,u=Math.min(n,l),h=Math.max(n,l),c=1/0;for(let p=0,f=0;p<wa;p++,f+=4){if(we[f+2]<o||we[f]>i||we[f+3]<u||we[f+1]>h)continue;let d=Rh(p);r=$h(p);do{if(r.prev.next===r&&i>=r.x&&r.x>=o&&i!==r.x&&Da(n<l?i:a,n,o,l,n<l?a:i,n,r.x,r.y)){let y=Math.abs(n-r.y)/(i-r.x);(ln(r,e)||r.y===n&&r.next.y===n&&r.next.x>i)&&(y<c||y===c&&(r.x>s.x||r.x===s.x&&jg(s,r)))&&(s=r,c=y)}r=r.next}while(r!==d)}return s}function jg(e,t){return Fe(e.prev,e,t.prev)<0&&Fe(t.next,e,e.next)<0}var Je=[],Or=[],ar=new Uint32Array,Ei=new Uint32Array,Fi=new Uint32Array(256);function Gg(e,t,r,i){let n=e,a=0;do n.z=$o(n.x,n.y,t,r,i),Je[a++]=n,n=n.next;while(n!==e);Yg(a);let s=null;for(let o=0;o<a;o++){let l=Je[o];l.prevZ=s,s&&(s.nextZ=l),s=l}s.nextZ=null,Je.fill(null,0,a),Or.fill(null,0,a)}function Yg(e){if(e<=32){for(let t=1;t<e;t++){let r=Je[t],i=r.z,n=t-1;for(;n>=0&&Je[n].z>i;)Je[n+1]=Je[n],n--;Je[n+1]=r}return}ar.length<e&&(ar=new Uint32Array(e),Ei=new Uint32Array(e),Or=Array(e));for(let t=0;t<e;t++)ar[t]=Je[t].z;jn(e,Je,ar,Or,Ei,0),jn(e,Or,Ei,Je,ar,8),jn(e,Je,ar,Or,Ei,16),jn(e,Or,Ei,Je,ar,24)}function jn(e,t,r,i,n,a){Fi.fill(0);for(let o=0;o<e;o++)Fi[r[o]>>>a&255]++;let s=0;for(let o=0;o<256;o++){let l=Fi[o];Fi[o]=s,s+=l}for(let o=0;o<e;o++){let l=r[o],u=Fi[l>>>a&255]++;i[u]=t[o],n[u]=l}}function $o(e,t,r,i,n){return e=(e-r)*n|0,t=(t-i)*n|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Xg(e){let t=e,r=e;do(t.x<r.x||t.x===r.x&&t.y<r.y)&&(r=t),t=t.next;while(t!==e);return r}function Da(e,t,r,i,n,a,s,o){return(n-s)*(t-o)>=(e-s)*(a-o)&&(e-s)*(i-o)>=(r-s)*(t-o)&&(r-s)*(a-o)>=(n-s)*(i-o)}function Zg(e,t){let r=on(e,t)&&Fe(e.prev,e,e.next)>0&&Fe(t.prev,t,t.next)>0;return e.next.i!==t.i&&(r||ln(e,t)&&ln(t,e)&&(Fe(e.prev,e,t.prev)!==0||Fe(e,t.prev,t)!==0))&&!Wg(e,t)&&(r||Hg(e,t))}function Fe(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function on(e,t){return e.x===t.x&&e.y===t.y}function ad(e,t,r,i,n=!0){let a=Fe(e,t,r),s=Fe(e,t,i),o=Fe(r,i,e),l=Fe(r,i,t);return(a>0&&s<0||a<0&&s>0)&&(o>0&&l<0||o<0&&l>0)?!0:n?!!(a===0&&Gn(e,r,t)||s===0&&Gn(e,i,t)||o===0&&Gn(r,e,i)||l===0&&Gn(r,t,i)):!1}function Gn(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function Wg(e,t){let r=Math.min(e.x,t.x),i=Math.max(e.x,t.x),n=Math.min(e.y,t.y),a=Math.max(e.y,t.y),s=e;do{let o=s.next;if(s.x>i&&o.x>i||s.x<r&&o.x<r||s.y>a&&o.y>a||s.y<n&&o.y<n){s=o;continue}if(s.i!==e.i&&o.i!==e.i&&s.i!==t.i&&o.i!==t.i&&ad(s,o,e,t))return!0;s=o}while(s!==e);return!1}function ln(e,t){return Fe(e.prev,e,e.next)<0?Fe(e,t,e.next)>=0&&Fe(e,e.prev,t)>=0:Fe(e,t,e.prev)<0||Fe(e,e.next,t)<0}function Hg(e,t){let r=e,i=!1,n=(e.x+t.x)/2,a=(e.y+t.y)/2;do{let s=r.next;r.y>a!=s.y>a&&n<(s.x-r.x)*(a-r.y)/(s.y-r.y)+r.x&&(i=!i),r=s}while(r!==e);return i}function sd(e,t){let r=No(e.i,e.x,e.y),i=No(t.i,t.x,t.y),n=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=n,n.prev=r,i.next=r,r.prev=i,a.next=i,i.prev=a,i}function Nh(e,t,r,i){let n=No(e,t,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function un(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ),Vo&&Ug(e.prev,e.next)}function No(e,t,r){return{i:e,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null}}function Jg(e,t,r,i){let n=0;for(let a=t,s=r-i;a<r;a+=i)n+=(e[s]-e[a])*(e[a+1]+e[s+1]),s=a;return n}var Vi=class{constructor(e,t){if(t>e)throw Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=e,this._minGranularity=t}getGranularityForZoomLevel(e){let t=1<<e;return Math.max(Math.floor(this._baseZoomGranularity/t),this._minGranularity,1)}},pr,Kg=(pr=class{constructor(t){this.fill=t.fill,this.line=t.line,this.tile=t.tile,this.stencil=t.stencil,this.circle=t.circle}},pr.noSubdivision=new pr({fill:new Vi(0,0),line:new Vi(0,0),tile:new Vi(0,0),stencil:new Vi(0,0),circle:1}),pr);B("SubdivisionGranularityExpression",Vi),B("SubdivisionGranularitySetting",Kg);var Ps=-32768,Ms=32767,Qg=class{constructor(e,t){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=e,this._granularityCellSize=xe/e,this._canonical=t}_getKey(e,t){return e+=32768,t+=32768,e<<16|t<<0}_vertexToIndex(e,t){if(e<-32768||t<-32768||e>32767||t>32767)throw Error("Vertex coordinates are out of signed 16 bit integer range.");let r=Math.round(e)|0,i=Math.round(t)|0,n=this._getKey(r,i),a=this._vertexDictionary.get(n);if(a!==void 0)return a;let s=this._vertexBuffer.length/2;return this._vertexDictionary.set(n,s),this._vertexBuffer.push(r,i),s}_subdivideTrianglesScanline(e,t){if(this._granularity<2)return rx(this._vertexBuffer,tx(e,t));let r=[],i=e.length;for(let n=0;n<i;n+=3){let a=[t[e[n+0]],t[e[n+1]],t[e[n+2]]],s=[this._vertexBuffer[a[0]*2+0],this._vertexBuffer[a[0]*2+1],this._vertexBuffer[a[1]*2+0],this._vertexBuffer[a[1]*2+1],this._vertexBuffer[a[2]*2+0],this._vertexBuffer[a[2]*2+1]],o=1/0,l=1/0,u=-1/0,h=-1/0;for(let y=0;y<3;y++){let m=s[y*2],g=s[y*2+1];o=Math.min(o,m),u=Math.max(u,m),l=Math.min(l,g),h=Math.max(h,g)}if(o===u||l===h)continue;let c=Math.floor(o/this._granularityCellSize),p=Math.ceil(u/this._granularityCellSize),f=Math.floor(l/this._granularityCellSize),d=Math.ceil(h/this._granularityCellSize);if(c===p&&f===d){r.push(...a);continue}for(let y=f;y<d;y++){let m=this._scanlineGenerateVertexRingForCellRow(y,s,a);ix(this._vertexBuffer,m,r)}}return r}_scanlineGenerateVertexRingForCellRow(e,t,r){let i=e*this._granularityCellSize,n=i+this._granularityCellSize,a=[];for(let s=0;s<3;s++){let o=t[s*2],l=t[s*2+1],u=t[(s+1)*2%6],h=t[((s+1)*2+1)%6],c=t[(s+2)*2%6],p=t[((s+2)*2+1)%6],f=u-o,d=h-l,y=f===0,m=d===0,g=(i-l)/d,x=(n-l)/d,b=Math.min(g,x),v=Math.max(g,x);if(!m&&(b>=1||v<=0)||m&&(l<i||l>n)){h>=i&&h<=n&&a.push(r[(s+1)%3]);continue}if(!m&&b>0){let S=o+f*b,E=l+d*b;a.push(this._vertexToIndex(S,E))}let w=o+f*Math.max(b,0),_=o+f*Math.min(v,1);if(y||this._generateIntraEdgeVertices(a,o,l,u,h,w,_),!m&&v<1){let S=o+f*v,E=l+d*v;a.push(this._vertexToIndex(S,E))}(m||h>=i&&h<=n)&&a.push(r[(s+1)%3]),!m&&(h<=i||h>=n)&&this._generateInterEdgeVertices(a,o,l,u,h,c,p,_,i,n)}return a}_generateIntraEdgeVertices(e,t,r,i,n,a,s){let o=i-t,l=n-r,u=l===0,h=u?Math.min(t,i):Math.min(a,s),c=u?Math.max(t,i):Math.max(a,s),p=Math.floor(h/this._granularityCellSize)+1,f=Math.ceil(c/this._granularityCellSize)-1;if(u?t<i:a<s)for(let d=p;d<=f;d++){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}else for(let d=f;d>=p;d--){let y=d*this._granularityCellSize,m=r+l*(y-t)/o;e.push(this._vertexToIndex(y,m))}}_generateInterEdgeVertices(e,t,r,i,n,a,s,o,l,u){let h=n-r,c=a-i,p=s-n,f=(l-n)/p,d=(u-n)/p,y=Math.min(f,d),m=Math.max(f,d),g=i+c*y,x=Math.floor(Math.min(g,o)/this._granularityCellSize)+1,b=Math.ceil(Math.max(g,o)/this._granularityCellSize)-1,v=o<g,w=p===0;if(w&&(s===l||s===u))return;if(w||y>=1||m<=0){let S=t-a,E=r-s,T=(l-s)/E,V=(u-s)/E,C=a+S*Math.min(T,V);x=Math.floor(Math.min(C,o)/this._granularityCellSize)+1,b=Math.ceil(Math.max(C,o)/this._granularityCellSize)-1,v=o<C}let _=h>0?u:l;if(v)for(let S=x;S<=b;S++){let E=S*this._granularityCellSize;e.push(this._vertexToIndex(E,_))}else for(let S=b;S>=x;S--){let E=S*this._granularityCellSize;e.push(this._vertexToIndex(E,_))}}_generateOutline(e,t){let r=[],i=0;for(let n of e){let a=this._granularity<2?this._ringPathIndices(n,i,t):this._pointArrayToIndices(ur(n,this._granularity,!0));i+=n.length;let s=[];for(let o=1;o<a.length;o++)s.push(a[o-1]),s.push(a[o]);r.push(s)}return r}_ringPathIndices(e,t,r){let i=r.slice(t,t+e.length);return i.length>=2&&ld(e)&&i.push(i[0]),i}_handlePoles(e){let t=!1,r=!1;this._canonical&&(this._canonical.y===0&&(t=!0),this._canonical.y===(1<<this._canonical.z)-1&&(r=!0)),(t||r)&&this._fillPoles(e,t,r)}_ensureNoPoleVertices(){let e=this._vertexBuffer;for(let t=0;t<e.length;t+=2){let r=e[t+1];r===-32768&&(e[t+1]=-32767),r===32767&&(e[t+1]=32766)}}_generatePoleQuad(e,t,r,i,n,a){i>n==(a===-32768)?(e.push(r),e.push(t),e.push(this._vertexToIndex(i,a)),e.push(this._vertexToIndex(n,a)),e.push(r),e.push(this._vertexToIndex(i,a))):(e.push(t),e.push(r),e.push(this._vertexToIndex(i,a)),e.push(r),e.push(this._vertexToIndex(n,a)),e.push(this._vertexToIndex(i,a)))}_fillPoles(e,t,r){let i=this._vertexBuffer,n=xe,a=e.length;for(let s=2;s<a;s+=3){let o=e[s-2],l=e[s-1],u=e[s],h=i[o*2],c=i[o*2+1],p=i[l*2],f=i[l*2+1],d=i[u*2],y=i[u*2+1];t&&(c===0&&f===0&&this._generatePoleQuad(e,o,l,h,p,Ps),f===0&&y===0&&this._generatePoleQuad(e,l,u,p,d,Ps),y===0&&c===0&&this._generatePoleQuad(e,u,o,d,h,Ps)),r&&(c===n&&f===n&&this._generatePoleQuad(e,o,l,h,p,Ms),f===n&&y===n&&this._generatePoleQuad(e,l,u,p,d,Ms),y===n&&c===n&&this._generatePoleQuad(e,u,o,d,h,Ms))}}_initializeVertices(e){let t=[];for(let r=0;r<e.length;r+=2)t.push(this._vertexToIndex(e[r],e[r+1]));return t}subdividePolygonInternal(e,t){if(this._used)throw Error("Subdivision: multiple use not allowed.");this._used=!0;let{flattened:r,holeIndices:i}=ex(e),n=this._initializeVertices(r),a;try{let o=Pg(r,i);a=this._subdivideTrianglesScanline(o,n)}catch(o){console.error(o)}let s=[];return t&&(s=this._generateOutline(e,n)),this._ensureNoPoleVertices(),this._handlePoles(a),this._granularity>=2&&this._canonical?.z===0&&(a=this._removeTrianglesOutsideTileX(a),s=s.map(o=>this._removeLinesOutsideTileX(o))),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:s}}_vertexOutsideTileX(e){let t=this._vertexBuffer[e*2];return t<0||t>8192}_removeTrianglesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=3)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||this._vertexOutsideTileX(e[r+2])||t.push(e[r],e[r+1],e[r+2]);return t}_removeLinesOutsideTileX(e){let t=[];for(let r=0;r<e.length;r+=2)this._vertexOutsideTileX(e[r])||this._vertexOutsideTileX(e[r+1])||t.push(e[r],e[r+1]);return t}_pointArrayToIndices(e){let t=[];for(let r of e)t.push(this._vertexToIndex(r.x,r.y));return t}};function od(e,t,r,i=!0){return new Qg(r,t).subdividePolygonInternal(e,i)}function ur(e,t,r=!1){if(!e||e.length<1||e.length<2)return[];let i=r&&ld(e);if(t<2)return i?[...e,e[0]]:[...e];let n=Math.floor(xe/t),a=[];a.push(new M(e[0].x,e[0].y));let s=e.length,o=i?s:s-1;for(let l=0;l<o;l++){let u=e[l],h=l<s-1?e[l+1]:e[0],c=u.x,p=u.y,f=h.x,d=h.y,y=c!==f,m=p!==d;if(!y&&!m)continue;let g=f-c,x=d-p,b=Math.abs(g),v=Math.abs(x),w=c,_=p;for(;;){let E=g>0?(Math.floor(w/n)+1)*n:(Math.ceil(w/n)-1)*n,T=x>0?(Math.floor(_/n)+1)*n:(Math.ceil(_/n)-1)*n,V=Math.abs(w-E),C=Math.abs(_-T),R=Math.abs(w-f),U=Math.abs(_-d),A=y?V/b:1/0,P=m?C/v:1/0;if((R<=V||!y)&&(U<=C||!m))break;if(A<P&&y||!m){w=E,_+=x*A;let z=new M(w,Math.round(_));(a[a.length-1].x!==z.x||a[a.length-1].y!==z.y)&&a.push(z)}else{w+=g*P,_=T;let z=new M(Math.round(w),_);(a[a.length-1].x!==z.x||a[a.length-1].y!==z.y)&&a.push(z)}}let S=new M(f,d);(a[a.length-1].x!==S.x||a[a.length-1].y!==S.y)&&a.push(S)}return a}function ld(e){return!e[0].equals(e[e.length-1])}function ex(e){let t=[],r=[];for(let i of e)if(i.length!==0){i!==e[0]&&t.push(r.length/2);for(let n of i)r.push(n.x),r.push(n.y)}return{flattened:r,holeIndices:t}}function tx(e,t){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=t[e[i]];return r}function rx(e,t){let r=[];for(let i=0;i<t.length;i+=3){let n=t[i],a=t[i+1],s=t[i+2],o=e[n*2],l=e[n*2+1],u=e[a*2],h=e[a*2+1],c=e[s*2],p=e[s*2+1],f=u-o,d=h-l,y=c-o;f*(p-l)-d*y>0?(r.push(n),r.push(s),r.push(a)):(r.push(n),r.push(a),r.push(s))}return r}function ix(e,t,r){if(t.length===0)throw Error("Subdivision vertex ring is empty.");let i=0,n=e[t[0]*2];for(let l=1;l<t.length;l++){let u=e[t[l]*2];u<n&&(n=u,i=l)}let a=t.length,s=i,o=(s+1)%a;for(;;){let l=s-1>=0?s-1:a-1,u=(o+1)%a,h=e[t[l]*2],c=e[t[l]*2+1],p=e[t[u]*2],f=e[t[u]*2+1],d=e[t[s]*2],y=e[t[s]*2+1],m=e[t[o]*2],g=e[t[o]*2+1],x=!1;if(h<p)x=!0;else if(h>p)x=!1;else{let b=g-y,v=-(m-d),w=y<g?1:-1;((h-d)*b+(c-y)*v)*w>((p-d)*b+(f-y)*v)*w&&(x=!0)}if(x){let b=t[l],v=t[s],w=t[o];b!==v&&b!==w&&v!==w&&r.push(w,v,b),s--,s<0&&(s=a-1)}else{let b=t[u],v=t[s],w=t[o];b!==v&&b!==w&&v!==w&&r.push(w,v,b),o++,o>=a&&(o=0)}if(l===u)break}}function ud(e,t,r,i,n,a,s,o,l){let u=n.length/2,h=s&&o&&l;if(u<tt.MAX_VERTEX_ARRAY_LENGTH){let c=t.prepareSegment(u,r,i),p=c.vertexLength;for(let y=0;y<a.length;y+=3)i.emplaceBack(p+a[y],p+a[y+1],p+a[y+2]);c.vertexLength+=u,c.primitiveLength+=a.length/3;let f,d;h&&(d=s.prepareSegment(u,r,o),f=d.vertexLength,d.vertexLength+=u);for(let y=0;y<n.length;y+=2)e(n[y],n[y+1]);if(h)for(let y of l){for(let m=1;m<y.length;m+=2)o.emplaceBack(f+y[m-1],f+y[m]);d.primitiveLength+=y.length/2}}else nx(t,r,i,n,a,e),h&&ax(s,r,o,n,l,e),t.forceNewSegmentOnNextPrepare(),s?.forceNewSegmentOnNextPrepare()}function Gi(e,t,r,i,n,a,s){if(a){let o=i.count;return r(t[n*2],t[n*2+1]),e[n]=i.count,i.count++,s.vertexLength++,o}return e[n]}function nx(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c=2;c<n.length;c+=3){let p=n[c-2],f=n[c-1],d=n[c],y=s[p]<l,m=s[f]<l,g=s[d]<l,x=+!!y+ +!!m+ +!!g;u.vertexLength+x>tt.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,g=!0,h=0);let b=Gi(s,i,a,o,p,y,u),v=Gi(s,i,a,o,f,m,u),w=Gi(s,i,a,o,d,g,u);r.emplaceBack(h+b-l,h+v-l,h+w-l),u.primitiveLength++}}function ax(e,t,r,i,n,a){let s=[];for(let c=0;c<i.length/2;c++)s.push(-1);let o={count:0},l=0,u=e.getOrCreateLatestSegment(t,r),h=u.vertexLength;for(let c of n)for(let p=1;p<c.length;p+=2){let f=c[p-1],d=c[p],y=s[f]<l,m=s[d]<l,g=+!!y+ +!!m;u.vertexLength+g>tt.MAX_VERTEX_ARRAY_LENGTH&&(u=e.createNewSegment(t,r),l=o.count,y=!0,m=!0,h=0);let x=Gi(s,i,a,o,f,y,u),b=Gi(s,i,a,o,d,m,u);r.emplaceBack(h+x-l,h+b-l),u.primitiveLength++}}var hd=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.sdfPatterns={},this.patternFeatures=[],this.layoutVertexArray=new N0,this.indexArray=new gn,this.indexArray2=new Fo,this.programConfigurations=new mr(e.layers,e.zoom),this.segments=new tt,this.segments2=new tt,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=ba("fill",this.layers,t);let i=this.layers[0].layout.get("fill-sort-key"),n=!i.isConstant(),a=[],s=new oe(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=li(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r,t.availableImages):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:br(l),patterns:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;if(this.hasDependencies){let f=Rl("fill",this.layers,l,{zoom:this.zoom},t);this.patternFeatures.push(f)}else this.addFeature(l,u,h,r,{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}addFeatures({options:e,canonical:t,patternPositions:r,patternMap:i}){this.detectSdfPatterns(i);for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,e.subdivisionGranularity)}detectSdfPatterns(e){for(let t of this.patternFeatures)for(let r in t.patterns){let i=t.patterns[r];this.recordSdfPattern(r,e[i.min]),this.recordSdfPattern(r,e[i.mid]),this.recordSdfPattern(r,e[i.max])}for(let t of this.layers){let r=t.paint.get("fill-pattern").constantOr(null);r&&(this.recordSdfPattern(t.id,e[r.from.toString()]),this.recordSdfPattern(t.id,e[r.to.toString()]))}}recordSdfPattern(e,t){if(!t)return;let r=t.sdf===!0,i=this.sdfPatterns[e];i===void 0?this.sdfPatterns[e]=r:i!==r&&Me(`Style sheet warning: Cannot mix SDF and non-SDF fill patterns in layer "${e}"`)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Bg),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,t,r,i,n,a){for(let s of Pa(t,500)){let o=od(s,i,a.fill.getGranularityForZoomLevel(i.z)),l=this.layoutVertexArray;ud((u,h)=>{l.emplaceBack(u,h)},this.segments,this.layoutVertexArray,this.indexArray,o.verticesFlattened,o.indicesTriangles,this.segments2,this.indexArray2,o.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}};B("FillBucket",hd,{omit:["layers","patternFeatures"]});var Uh,sx=()=>Uh||(Uh=new je({"fill-sort-key":new N(D.layout_fill["fill-sort-key"],"fill-sort-key")})),qh,ox=()=>qh||(qh=new je({"fill-antialias":new L(D.paint_fill["fill-antialias"],"fill-antialias"),"fill-opacity":new N(D.paint_fill["fill-opacity"],"fill-opacity"),"fill-layer-opacity":new L(D.paint_fill["fill-layer-opacity"],"fill-layer-opacity"),"fill-color":new N(D.paint_fill["fill-color"],"fill-color"),"fill-outline-color":new N(D.paint_fill["fill-outline-color"],"fill-outline-color"),"fill-translate":new L(D.paint_fill["fill-translate"],"fill-translate"),"fill-translate-anchor":new L(D.paint_fill["fill-translate-anchor"],"fill-translate-anchor"),"fill-pattern":new rn(D.paint_fill["fill-pattern"],"fill-pattern")})),lx={get paint(){return ox()},get layout(){return sx()}},ux=class extends pt{constructor(e,t){super(e,lx,t)}recalculate(e,t){super.recalculate(e,t);let r=this.paint._values["fill-outline-color"];r.value.kind==="constant"&&r.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(e){return new hd(e)}queryRadius(){return qa(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:e,geometry:t,transform:r,pixelsToTileUnits:i}){return Zf(ja(e,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-r.bearingInRadians,i),t)}isTileClipped(){return!0}},Uo=Ae([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),hx=Ae([{name:"a_centroid",components:2,type:"Int16"}],4),cx=Uo.members;Uo.size,Uo.alignment;var _a=class qo{constructor(){this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0}extend(t){return this.minX=Math.min(this.minX,t.x),this.minY=Math.min(this.minY,t.y),this.maxX=Math.max(this.maxX,t.x),this.maxY=Math.max(this.maxY,t.y),this}expandBy(t){return this.minX-=t,this.minY-=t,this.maxX+=t,this.maxY+=t,(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(t){return this.expandBy(-t)}map(t){let r=new qo;return r.extend(t(new M(this.minX,this.minY))),r.extend(t(new M(this.maxX,this.minY))),r.extend(t(new M(this.minX,this.maxY))),r.extend(t(new M(this.maxX,this.maxY))),r}static fromPoints(t){let r=new qo;for(let i of t)r.extend(i);return r}contains(t){return t.x>=this.minX&&t.x<=this.maxX&&t.y>=this.minY&&t.y<=this.maxY}empty(){return this.minX>this.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(t){return!this.empty()&&!t.empty()&&t.minX>=this.minX&&t.maxX<=this.maxX&&t.minY>=this.minY&&t.maxY<=this.maxY}intersects(t){return!this.empty()&&!t.empty()&&t.minX<=this.maxX&&t.maxX>=this.minX&&t.minY<=this.maxY&&t.maxY>=this.minY}};_a.fromPoints([new M(0,0),new M(xe,xe)]);function Sa(e,t){return e.x===t.x&&(e.x<0||e.x>8192)||e.y===t.y&&(e.y<0||e.y>8192)}function jh(e){return e.every(t=>t.x<0)||e.every(t=>t.x>8192)||e.every(t=>t.y<0)||e.every(t=>t.y>8192)}var xn=class{constructor(e,t,r,i,n){for(this.properties=Object.create(null),this.extent=r,this.type=0,this.id=void 0,this._pbf=e,this._geometry=-1,this._keys=i,this._values=n;e.pos<t;){let a=e.readVarint();if(a===8)this.id=e.readVarint();else if(a===18){let s=e.readVarint()+e.pos;for(;e.pos<s;){let o=i[e.readVarint()],l=n[e.readVarint()];this.properties[o]=l}}else a===24?this.type=e.readVarint():(a===34&&(this._geometry=e.pos),e.skip(a))}}loadGeometry(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=[],i,n=1,a=0,s=0,o=0;for(;e.pos<t;){if(a<=0){let l=e.readVarint();if(n=l&7,a=l>>3,a===0)continue}if(a--,n===1)s+=e.readSVarint(),o+=e.readSVarint(),i&&r.push(i),i=[new M(s,o)];else if(n===2)s+=e.readSVarint(),o+=e.readSVarint(),i&&i.push(new M(s,o));else if(n===7)i&&i.push(i[0].clone());else throw Error(`unknown command ${n}`)}return i&&r.push(i),r}bbox(){if(this._geometry<0)throw Error("feature has no geometry");let e=this._pbf;e.pos=this._geometry;let t=e.readVarint()+e.pos,r=1,i=0,n=0,a=0,s=1/0,o=-1/0,l=1/0,u=-1/0;for(;e.pos<t;){if(i<=0){let h=e.readVarint();if(r=h&7,i=h>>3,i===0)continue}if(i--,r===1||r===2)n+=e.readSVarint(),a+=e.readSVarint(),n<s&&(s=n),n>o&&(o=n),a<l&&(l=a),a>u&&(u=a);else if(r!==7)throw Error(`unknown command ${r}`)}return[s,l,o,u]}toGeoJSON(e,t,r){let i=this.extent*2**r,n=this.extent*e,a=this.extent*t,s=this.loadGeometry();function o(c){return[(c.x+n)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(c.y+a)*2/i)*Math.PI))-90]}function l(c){return c.map(o)}let u;if(this.type===1){let c=[];for(let f of s)c.push(f[0]);let p=l(c);u=c.length===1?{type:"Point",coordinates:p[0]}:{type:"MultiPoint",coordinates:p}}else if(this.type===2){let c=s.map(l);u=c.length===1?{type:"LineString",coordinates:c[0]}:{type:"MultiLineString",coordinates:c}}else if(this.type===3){let c=cd(s),p=[];for(let f of c)p.push(f.map(l));u=p.length===1?{type:"Polygon",coordinates:p[0]}:{type:"MultiPolygon",coordinates:p}}else throw Error("unknown feature type");let h={type:"Feature",geometry:u,properties:this.properties};return this.id!=null&&(h.id=this.id),h}};xn.types=["Unknown","Point","LineString","Polygon"];function cd(e){let t=e.length;if(t<=1)return[e];let r=[],i,n;for(let a=0;a<t;a++){let s=px(e[a]);s!==0&&(n===void 0&&(n=s<0),n===s<0?(i&&r.push(i),i=[e[a]]):i&&i.push(e[a]))}return i&&r.push(i),r}function px(e){let t=0;for(let r=0,i=e.length,n=i-1,a,s;r<i;n=r++)a=e[r],s=e[n],t+=(s.x-a.x)*(a.y+s.y);return t}var fx=class{constructor(e,t){for(this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=e,this._keys=[],this._values=[],this._features=[],t===void 0&&(t=e.length);e.pos<t;){let r=e.readVarint();r===10?this.name=e.readString():r===18?(this._features.push(e.pos),e.skip(r)):r===26?this._keys.push(e.readString()):r===34?this._values.push(dx(e)):r===40?this.extent=e.readVarint():r===120?this.version=e.readVarint():e.skip(r)}this.length=this._features.length}feature(e){if(e<0||e>=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[e];let t=this._pbf.readVarint()+this._pbf.pos;return new xn(this._pbf,t,this.extent,this._keys,this._values)}};function dx(e){let t=null,r=e.readVarint()+e.pos;for(;e.pos<r;){let i=e.readVarint();t=i===10?e.readString():i===21?e.readFloat():i===25?e.readDouble():i===32?e.readVarint(!0):i===40?e.readVarint():i===48?e.readSVarint():i===56?e.readBoolean():(e.skip(i),null)}if(t==null)throw Error("unknown feature value");return t}var pd=class{constructor(e,t=e.length){let r=Object.create(null);for(;e.pos<t;){let i=e.readVarint();if(i===26){let n=new fx(e,e.readVarint()+e.pos);n.length&&(r[n.name]=n)}else e.skip(i)}this.layers=r}},fd=63710088e-1,Gh=class Oi{constructor(t,r){if(isNaN(t)||isNaN(r))throw Error(`Invalid LngLat object: (${t}, ${r})`);if(this.lng=+t,this.lat=+r,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Oi(c1(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){let r=Math.PI/180,i=this.lat*r,n=t.lat*r,a=Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos((t.lng-this.lng)*r);return fd*Math.acos(Math.min(a,1))}static convert(t){if(t instanceof Oi)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new Oi(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t=="object"&&t)return new Oi(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw 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>]")}},dd=2*Math.PI*fd;function yd(e){return dd*Math.cos(e*Math.PI/180)}function yx(e){return(180+e)/360}function mx(e){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e*Math.PI/360)))/360}function gx(e,t){return e/yd(t)}function xx(e){return e*360-180}function jo(e){let t=180-e*360;return 360/Math.PI*Math.atan(Math.exp(t*Math.PI/180))-90}function vx(e,t){return e*yd(jo(t))}function bx(e){return 1/Math.cos(e*Math.PI/180)}var $l=class md{constructor(t,r,i=0){this.x=+t,this.y=+r,this.z=+i}static fromLngLat(t,r=0){let i=Gh.convert(t);return new md(yx(i.lng),mx(i.lat),gx(r,i.lat))}toLngLat(){return new Gh(xx(this.x),jo(this.y))}toAltitude(){return vx(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/dd*bx(jo(this.y))}};function wx(e,t,r){let i=1/(1<<r.z);return new $l(e/xe*i+r.x*i,t/xe*i+r.y*i)}function Dx(e,t,r){return wx(e,t,r).toLngLat()}function _x(e,t){return t<=0||!e||e.length===0?e:e.map(r=>Fx(r,t))}function Sx(e,t){let r=Dx(xe/2,xe/2,t),i=$l.fromLngLat(r).meterInMercatorCoordinateUnits(),n=(1<<t.z)*xe;return e*i*n}var Ax=Math.cos(35*Math.PI/180);function Ex(e){let t=[null];for(let a=1;a<e.length;a++){let s=e[a].sub(e[a-1]),o=!Sa(e[a],e[a-1])&&s.mag()>0;t.push(o?s._perp():null)}let r=e.length-1,i=r>1&&e[0].equals(e[r]),n=[null];for(let a=1;a<=r;a++){let s=t[a];if(!s){n.push(null);continue}let o=i&&a===1?t[r]:t[a-1],l=i&&a===r?t[1]:t[a+1];n.push({start:Yh(s,o),end:Yh(s,l)})}return n}function Yh(e,t){if(!t)return e.unit();let r=e.mag(),i=t.mag();return e.x*t.x+e.y*t.y<Ax*r*i||r>=2*i?e.unit():i>=2*r?t.unit():e.add(t)._unit()}function Fx(e,t){if(!e||e.length<3)return e;let r=e[0].x===e[e.length-1].x&&e[0].y===e[e.length-1].y,i=r?e.length-1:e.length;if(i<3)return e;let n=[],a=Sa(e[i-1],e[0]);for(let o=0;o<i;o++){let l=e[(o-1+i)%i],u=e[o],h=e[(o+1)%i],c=Sa(u,h);a||c?n.push(u.clone()):kx(n,l,u,h,t),a=c}let s=Tx(n);return s.length<3?e:(r&&s.push(s[0].clone()),s)}function Tx(e){let t=[];for(let r of e){let i=r.round(),n=t[t.length-1];(n?.x!==i.x||n?.y!==i.y)&&t.push(i)}for(;t.length>1&&t[0].x===t[t.length-1].x&&t[0].y===t[t.length-1].y;)t.pop();return t}function kx(e,t,r,i,n){let a=t.sub(r),s=i.sub(r),o=a.mag(),l=s.mag();if(o<1e-6||l<1e-6){e.push(r.clone());return}a._div(o),s._div(l);let u=a.x*s.x+a.y*s.y;if(Math.abs(u)>Math.cos(5*Math.PI/180)){e.push(r.clone());return}let h=.2,c=Math.min(n,o*h,l*h),p=r.add(a.mult(c)),f=r.add(s.mult(c)),d=Math.sqrt((1+u)/2),y=r.add(a.add(s)._unit()._mult(c/d)),m=p.sub(y).angleWith(f.sub(y)),g=Math.max(2,Math.ceil(Math.abs(m)/(Math.PI/6)-1e-6));for(let x=0;x<=g;x++)e.push(p.rotateAround(x/g*m,y))}var zs=8192;function Ti(e,t,r,i,n,a,s,o){e.emplaceBack(t,r,Math.floor(i*zs)*2+s,n*zs*2,a*zs*2,Math.round(o))}var gd=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.layoutVertexArray=new U0,this.centroidVertexArray=new R0,this.indexArray=new gn,this.programConfigurations=new mr(e.layers,e.zoom),this.segments=new tt,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.features=[],this.hasDependencies=ba("fill-extrusion",this.layers,t);let i=new oe(this.zoom),n=this.layers[0],a=n.layout.get("fill-extrusion-rounded-corner-distance"),s=a>0?Sx(a,r):0,o=n._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=li(l,o);if(!n._featureFilter.filter(i,p,r))continue;let f={id:u,sourceLayerIndex:c,index:h,geometry:_x(o?p.geometry:br(l),s),properties:l.properties,type:l.type,patterns:{}};this.hasDependencies?this.features.push(Rl("fill-extrusion",this.layers,f,{zoom:this.zoom},t)):this.addFeature(f,f.geometry,h,r,{},t.subdivisionGranularity),t.featureIndex.insert(l,f.geometry,h,c,this.index,!0)}}addFeatures({options:e,canonical:t,patternPositions:r}){for(let i of this.features){let{geometry:n}=i;this.addFeature(i,n,i.index,t,r,e.subdivisionGranularity)}}update(e,t,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r})}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,cx),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,hx.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,t,r,i,n,a){for(let s of Pa(t,500)){let o={x:0,y:0,sampleCount:0},l=this.layoutVertexArray.length;this.processPolygon(o,i,e,s,a);let u=this.layoutVertexArray.length-l,h=Math.floor(o.x/o.sampleCount),c=Math.floor(o.y/o.sampleCount);for(let p=0;p<u;p++)this.centroidVertexArray.emplaceBack(h,c)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,canonical:i})}processPolygon(e,t,r,i,n){if(i.length<1||jh(i[0]))return;for(let h of i)h.length!==0&&Ix(e,h);let a={segment:this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray)},s=n.fill.getGranularityForZoomLevel(t.z),o=xn.types[r.type]==="Polygon";for(let h of i){if(h.length===0||jh(h))continue;let c=ur(h,s,o);this._generateSideFaces(c,a)}if(!o)return;let l=od(i,t,s,!1),u=this.layoutVertexArray;ud((h,c)=>{Ti(u,h,c,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,l.verticesFlattened,l.indicesTriangles)}_generateSideFaces(e,t){let r=0,i=this.layers[0].layout.get("fill-extrusion-rounded-corner-distance")>0?Ex(e):null;for(let n=1;n<e.length;n++){let a=e[n],s=e[n-1];if(Sa(a,s)||i&&!i[n])continue;t.segment.vertexLength+4>tt.MAX_VERTEX_ARRAY_LENGTH&&(t.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let o=a.sub(s)._perp()._unit(),{start:l,end:u}=i?i[n]:{start:o,end:o},h=s.dist(a);r+h>32768&&(r=0),Ti(this.layoutVertexArray,a.x,a.y,u.x,u.y,0,0,r),Ti(this.layoutVertexArray,a.x,a.y,u.x,u.y,0,1,r),r+=h,Ti(this.layoutVertexArray,s.x,s.y,l.x,l.y,0,0,r),Ti(this.layoutVertexArray,s.x,s.y,l.x,l.y,0,1,r);let c=t.segment.vertexLength;this.indexArray.emplaceBack(c,c+2,c+1),this.indexArray.emplaceBack(c+1,c+2,c+3),t.segment.vertexLength+=4,t.segment.primitiveLength+=2}}};function Ix(e,t){for(let r=0;r<t.length;r++){let i=t[r];(r!==t.length-1||t[0].x!==i.x||t[0].y!==i.y)&&(e.x+=i.x,e.y+=i.y,e.sampleCount++)}}B("FillExtrusionBucket",gd,{omit:["layers","features"]});var Xh,Cx=()=>Xh||(Xh=new je({"fill-extrusion-rounded-corner-distance":new L(D["layout_fill-extrusion"]["fill-extrusion-rounded-corner-distance"],"fill-extrusion-rounded-corner-distance")})),Zh,Bx=()=>Zh||(Zh=new je({"fill-extrusion-opacity":new L(D["paint_fill-extrusion"]["fill-extrusion-opacity"],"fill-extrusion-opacity"),"fill-extrusion-color":new N(D["paint_fill-extrusion"]["fill-extrusion-color"],"fill-extrusion-color"),"fill-extrusion-translate":new L(D["paint_fill-extrusion"]["fill-extrusion-translate"],"fill-extrusion-translate"),"fill-extrusion-translate-anchor":new L(D["paint_fill-extrusion"]["fill-extrusion-translate-anchor"],"fill-extrusion-translate-anchor"),"fill-extrusion-pattern":new rn(D["paint_fill-extrusion"]["fill-extrusion-pattern"],"fill-extrusion-pattern"),"fill-extrusion-height":new N(D["paint_fill-extrusion"]["fill-extrusion-height"],"fill-extrusion-height"),"fill-extrusion-base":new N(D["paint_fill-extrusion"]["fill-extrusion-base"],"fill-extrusion-base"),"fill-extrusion-vertical-gradient":new L(D["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"],"fill-extrusion-vertical-gradient")})),Px={get paint(){return Bx()},get layout(){return Cx()}},Mx=class extends pt{constructor(e,t){super(e,Px,t)}createBucket(e){return new gd(e)}queryRadius(){return qa(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a,pixelPosMatrix:s}){let o=ja(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-n.bearingInRadians,a),l=this.paint.get("fill-extrusion-height").evaluate(t,r),u=this.paint.get("fill-extrusion-base").evaluate(t,r),h=Vx(o,s,0),c=Lx(i,u,l,s),p=c[0],f=c[1];return zx(p,f,h)}};function ki(e,t){return e.x*t.x+e.y*t.y}function Wh(e,t){if(e.length===1){let r=0,i=t[r++],n;for(;!n||i.equals(n);)if(n=t[r++],!n)return 1/0;for(;r<t.length;r++){let a=t[r],s=e[0],o=n.sub(i),l=a.sub(i),u=s.sub(i),h=ki(o,o),c=ki(o,l),p=ki(l,l),f=ki(u,o),d=ki(u,l),y=h*p-c*c,m=(p*f-c*d)/y,g=(h*d-c*f)/y,x=1-m-g,b=i.z*x+n.z*m+a.z*g;if(isFinite(b))return b}return 1/0}{let r=1/0;for(let i of t)r=Math.min(r,i.z);return r}}function zx(e,t,r){let i=1/0;Zf(r,t)&&(i=Wh(r,t[0]));for(let n=0;n<t.length;n++){let a=t[n],s=e[n];for(let o=0;o<a.length-1;o++){let l=a[o],u=a[o+1],h=s[o],c=[l,u,s[o+1],h,l];ag(r,c)&&(i=Math.min(i,Wh(r,c)))}}return i!==1/0&&i}function Lx(e,t,r,i){let n=[],a=[],s=i[8]*t,o=i[9]*t,l=i[10]*t,u=i[11]*t,h=i[8]*r,c=i[9]*r,p=i[10]*r,f=i[11]*r;for(let d of e){let y=[],m=[];for(let g of d){let x=g.x,b=g.y,v=i[0]*x+i[4]*b+i[12],w=i[1]*x+i[5]*b+i[13],_=i[2]*x+i[6]*b+i[14],S=i[3]*x+i[7]*b+i[15],E=v+s,T=w+o,V=_+l,C=S+u,R=v+h,U=w+c,A=_+p,P=S+f,z=new M(E/C,T/C);z.z=V/C,y.push(z);let O=new M(R/P,U/P);O.z=A/P,m.push(O)}n.push(y),a.push(m)}return[n,a]}function Vx(e,t,r){let i=[];for(let n of e){let a=[n.x,n.y,r,1];l1(a,a,t),i.push(new M(a[0]/a[3],a[1]/a[3]))}return i}function Ox(e,t,r,i){let n=[t,r];for(;n.length;)r=n.pop(),t=n.pop(),Rx(e,t,r,i,n)}function Rx(e,t,r,i,n){let a=i,s=t+(r-t>>1),o=r-t,l,u=e[t],h=e[t+1],c=e[r],p=e[r+1];for(let f=t+3;f<r;f+=3){let d=$x(e[f],e[f+1],u,h,c,p);if(d>a){l=f,a=d;continue}if(d===a){let y=Math.abs(f-s);y<o&&(l=f,o=y)}}a>i&&(e[l+2]=a,l-t>3&&n.push(t,l),r-l>3&&n.push(l,r))}function $x(e,t,r,i,n,a){let s=n-r,o=a-i;if(s!==0||o!==0){let l=((e-r)*s+(t-i)*o)/(s*s+o*o);l>1?(r=n,i=a):l>0&&(r+=s*l,i+=o*l)}return s=e-r,o=t-i,s*s+o*o}function Ie(e,t,r,i){let n={type:t,geom:r},a={id:e??null,type:n.type,geometry:n.geom,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(n.type){case"Point":case"MultiPoint":Ii(a,n.geom);break;case"LineString":Ii(a,n.geom.points);break;case"Polygon":Ii(a,n.geom[0].points);break;case"MultiLineString":for(let s of n.geom)Ii(a,s.points);break;case"MultiPolygon":for(let s of n.geom)Ii(a,s[0].points)}return a}function Nl(e){let t=e;e.points.length>64&&(t.points=new Float64Array(e.points))}function Ii(e,t){for(let r=0;r<t.length;r+=3)e.minX=Math.min(e.minX,t[r]),e.minY=Math.min(e.minY,t[r+1]),e.maxX=Math.max(e.maxX,t[r]),e.maxY=Math.max(e.maxY,t[r+1])}function Ul(e,t){let r=[];switch(e.type){case"FeatureCollection":for(let i=0;i<e.features.length;i++)sa(r,e.features[i],t,i);break;case"Feature":sa(r,e,t);break;default:sa(r,{type:"Feature",geometry:e,properties:void 0},t)}return r}function sa(e,t,r,i,n=0){if(!t.geometry)return;if(n>1024)throw Error("GeometryCollection nesting exceeds supported depth: 1024");if(t.geometry.type==="GeometryCollection"){Ux(e,t,t.geometry,r,i,n+1);return}if(!t.geometry.coordinates?.length)return;let a=Nx(t,r,i),s=(r.tolerance/((1<<r.maxZoom)*r.extent))**2;switch(t.geometry.type){case"Point":qx(e,a,t.geometry,t.properties);return;case"MultiPoint":jx(e,a,t.geometry,t.properties);return;case"LineString":Gx(e,a,t.geometry,s,t.properties);return;case"MultiLineString":Yx(e,a,t.geometry,s,r,t.properties);return;case"Polygon":Xx(e,a,t.geometry,s,t.properties);return;case"MultiPolygon":Zx(e,a,t.geometry,s,t.properties);return;default:throw Error("Input data is not a valid GeoJSON object.")}}function Nx(e,t,r){return t.promoteId?e.properties?.[t.promoteId]:t.generateId?r||0:e.id}function Ux(e,t,r,i,n,a=0){for(let s of r.geometries)sa(e,{id:t.id,type:"Feature",geometry:s,properties:t.properties},i,n,a)}function qx(e,t,r,i){let n=[];n.push(Gr(r.coordinates[0]),Yr(r.coordinates[1]),0),e.push(Ie(t,"Point",n,i))}function jx(e,t,r,i){let n=[];for(let a of r.coordinates)n.push(Gr(a[0]),Yr(a[1]),0);e.push(Ie(t,"MultiPoint",n,i))}function Gx(e,t,r,i,n){let a={points:[]};ql(r.coordinates,a,i,!1),e.push(Ie(t,"LineString",a,n))}function Yx(e,t,r,i,n,a){if(n.lineMetrics)for(let s of r.coordinates){let o={points:[]};ql(s,o,i,!1),e.push(Ie(t,"LineString",o,a))}else{let s=[];jl(r.coordinates,s,i,!1),e.push(Ie(t,"MultiLineString",s,a))}}function Xx(e,t,r,i,n){let a=[];jl(r.coordinates,a,i,!0),e.push(Ie(t,"Polygon",a,n))}function Zx(e,t,r,i,n){let a=[];for(let s of r.coordinates){let o=[];jl(s,o,i,!0),a.push(o)}e.push(Ie(t,"MultiPolygon",a,n))}function ql(e,t,r,i){let n,a,s=0;for(let l=0;l<e.length;l++){let u=Gr(e[l][0]),h=Yr(e[l][1]);t.points.push(u,h,0),l>0&&(s+=i?(n*h-u*a)/2:Math.sqrt((u-n)**2+(h-a)**2)),n=u,a=h}let o=t.points.length-3;t.points[2]=1,r>0&&Ox(t.points,0,o,r),t.points[o+2]=1,Nl(t),t.size=Math.abs(s),t.start=0,t.end=t.size}function jl(e,t,r,i){for(let n=0;n<e.length;n++){let a={points:[]};ql(e[n],a,r,i),t.push(a)}}function Gr(e){return e/360+.5}function Yr(e){let t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function Wx(e){return{type:"FeatureCollection",features:e.map(t=>Aa(t))}}function Aa(e){let t={type:"Feature",geometry:Hx(e),properties:e.tags};return e.id!=null&&(t.id=e.id),t}function Hx(e){let{type:t,geometry:r}=e;switch(t){case"Point":return{type:t,coordinates:xd(r[0],r[1])};case"MultiPoint":return{type:t,coordinates:Yn(r)};case"LineString":return{type:t,coordinates:Yn(r.points)};case"MultiLineString":case"Polygon":return{type:t,coordinates:r.map(i=>Yn(i.points))};case"MultiPolygon":return{type:t,coordinates:r.map(i=>i.map(n=>Yn(n.points)))}}}function Yn(e){let t=[];for(let r=0;r<e.length;r+=3)t.push(xd(e[r],e[r+1]));return t}function xd(e,t){return[vd(e),bd(t)]}function vd(e){return(e-.5)*360}function bd(e){let t=(180-e*360)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function It(e,t,r,i,n,a,s,o){if(r/=t,i/=t,a>=r&&s<i)return e;if(s<r||a>=i)return null;let l=[];for(let u of e){let h=n===0?u.minX:u.minY,c=n===0?u.maxX:u.maxY;if(h>=r&&c<i){l.push(u);continue}if(!(c<r||h>=i))switch(u.type){case"Point":case"MultiPoint":Jx(u,l,r,i,n);continue;case"LineString":Kx(u,l,r,i,n,o);continue;case"MultiLineString":Qx(u,l,r,i,n);continue;case"Polygon":e2(u,l,r,i,n);continue;case"MultiPolygon":t2(u,l,r,i,n);continue}}return l.length?l:null}function Jx(e,t,r,i,n){let a=[];if(r2(e.geometry,a,r,i,n),!a.length)return;let s=a.length===3?"Point":"MultiPoint";t.push(Ie(e.id,s,a,e.tags))}function Kx(e,t,r,i,n,a){let s=[];if(wd(e.geometry,s,r,i,n,!1,a.lineMetrics),s.length){if(a.lineMetrics){for(let o of s)t.push(Ie(e.id,"LineString",o,e.tags));return}if(s.length>1){t.push(Ie(e.id,"MultiLineString",s,e.tags));return}t.push(Ie(e.id,"LineString",s[0],e.tags))}}function Qx(e,t,r,i,n){let a=[];if(Gl(e.geometry,a,r,i,n,!1),a.length){if(a.length===1){t.push(Ie(e.id,"LineString",a[0],e.tags));return}t.push(Ie(e.id,"MultiLineString",a,e.tags))}}function e2(e,t,r,i,n){let a=[];Gl(e.geometry,a,r,i,n,!0),a.length&&t.push(Ie(e.id,"Polygon",a,e.tags))}function t2(e,t,r,i,n){let a=[];for(let s of e.geometry){let o=[];Gl(s,o,r,i,n,!0),o.length&&a.push(o)}a.length&&t.push(Ie(e.id,"MultiPolygon",a,e.tags))}function r2(e,t,r,i,n){for(let a=0;a<e.length;a+=3){let s=e[a+n];s>=r&&s<=i&&Xr(t,e[a],e[a+1],e[a+2])}}function wd(e,t,r,i,n,a,s){let o=Hh(e),l=n===0?i2:n2,u=e.start,h,c;for(let g=0;g<e.points.length-3;g+=3){let x=e.points[g],b=e.points[g+1],v=e.points[g+2],w=e.points[g+3],_=e.points[g+4],S=n===0?x:b,E=n===0?w:_,T=!1;s&&(h=Math.sqrt((x-w)**2+(b-_)**2)),S<r?E>r&&(c=l(o,x,b,w,_,r),s&&(o.start=u+h*c)):S>i?E<i&&(c=l(o,x,b,w,_,i),s&&(o.start=u+h*c)):Xr(o.points,x,b,v),E<r&&S>=r&&(c=l(o,x,b,w,_,r),T=!0),E>i&&S<=i&&(c=l(o,x,b,w,_,i),T=!0),!a&&T&&(s&&(o.end=u+h*c),t.push(o),o=Hh(e)),s&&(u+=h)}let p=e.points.length-3,f=e.points[p],d=e.points[p+1],y=e.points[p+2],m=n===0?f:d;m>=r&&m<=i&&Xr(o.points,f,d,y),p=o.points.length-3,a&&p>=3&&(o.points[p]!==o.points[0]||o.points[p+1]!==o.points[1])&&Xr(o.points,o.points[0],o.points[1],o.points[2]),o.points.length&&(Nl(o),t.push(o))}function Hh(e){return{points:[],size:e.size,start:e.start,end:e.end}}function Gl(e,t,r,i,n,a){for(let s of e)wd(s,t,r,i,n,a,!1)}function Xr(e,t,r,i){e.push(t,r,i)}function i2(e,t,r,i,n,a){let s=(a-t)/(i-t);return Xr(e.points,a,r+(n-r)*s,1),s}function n2(e,t,r,i,n,a){let s=(a-r)/(n-r);return Xr(e.points,t+(i-t)*s,a,1),s}function Yl(e,t){let r=t.buffer/t.extent,i=e,n=It(e,1,-1-r,r,0,-1,2,t),a=It(e,1,1-r,2+r,0,-1,2,t);return!n&&!a||(i=It(e,1,-r,1+r,0,-1,2,t)||[],n&&(i=Jh(n,1).concat(i)),a&&(i=i.concat(Jh(a,-1)))),i}function Jh(e,t){let r=[];for(let i of e)switch(i.type){case"Point":case"MultiPoint":{let n=a2(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"LineString":{let n=Ls(i.geometry,t);r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiLineString":case"Polygon":{let n=[];for(let a of i.geometry)n.push(Ls(a,t));r.push(Ie(i.id,i.type,n,i.tags));continue}case"MultiPolygon":{let n=[];for(let a of i.geometry){let s=[];for(let o of a)s.push(Ls(o,t));n.push(s)}r.push(Ie(i.id,i.type,n,i.tags));continue}}return r}function a2(e,t){let r=[];for(let i=0;i<e.length;i+=3)r.push(e[i]+t,e[i+1],e[i+2]);return r}function Ls(e,t){let r={points:[],size:e.size};e.start!==void 0&&(r.start=e.start,r.end=e.end);for(let i=0;i<e.points.length;i+=3)r.points.push(e.points[i]+t,e.points[i+1],e.points[i+2]);return Nl(r),r}function s2(e,t,r){let i=l2(t,r),n=[];if(i.removeAll&&(n=e,e=[]),i.remove.size||i.add.size){let a=[];for(let s of e)(i.remove.has(s.id)||i.add.has(s.id))&&a.push(s);if(a.length){n=n.concat(a);let s=new Set(a.map(o=>o.id));e=e.filter(o=>!s.has(o.id))}if(i.add.size){let s=Ul({type:"FeatureCollection",features:Array.from(i.add.values())},r);s=Yl(s,r),n=n.concat(s),e=e.concat(s)}}if(i.update.size){let a=new Map,s=[];for(let o of e)i.update.has(o.id)?a.set(o.id,[...a.get(o.id)||[],o]):s.push(o);for(let[o,l]of i.update){let u=a.get(o);if(!u||u.length===0)continue;let h=o2(u,l,r);n=n.concat(u,h),s=s.concat(h)}e=s}return{affected:n,source:e}}function o2(e,t,r){let i=!!t.newGeometry,n=t.removeAllProperties||t.removeProperties?.length>0||t.addOrUpdateProperties?.length>0;if(i){let a=e[0],s=Ul({type:"FeatureCollection",features:[{type:"Feature",id:a.id,geometry:t.newGeometry,properties:n?Kh(a.tags,t):a.tags}]},r);return s=Yl(s,r),s}if(n){let a=[];for(let s of e){let o={...s};o.tags=Kh(o.tags,t),a.push(o)}return a}return e}function Kh(e,t){if(t.removeAllProperties)return{};let r={...e||{}};if(t.removeProperties)for(let i of t.removeProperties)delete r[i];if(t.addOrUpdateProperties)for(let{key:i,value:n}of t.addOrUpdateProperties)r[i]=n;return r}function l2(e,t){return e?{removeAll:e.removeAll,remove:new Set(e.remove||[]),add:new Map(e.add?.map(r=>[t.promoteId?r.properties[t.promoteId]:r.id,r])),update:new Map(e.update?.map(r=>[r.id,r]))}:{remove:new Set,add:new Map,update:new Map}}var Qh=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],de=new Uint32Array(96),u2=class Dd{static from(t){if(!t||t.byteLength===void 0||t.buffer)throw Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[r,i]=new Uint8Array(t,0,2);if(r!==219)throw Error("Data does not appear to be in a KDBush format.");let n=i>>4;if(n!==1)throw Error(`Got v${n} data when expected v1.`);let a=Qh[i&15];if(!a)throw Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new Dd(o,s,a,void 0,t)}constructor(t,r=64,i=Float64Array,n=ArrayBuffer,a){if(isNaN(t)||t<0)throw Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let s=Qh.indexOf(this.ArrayType),o=t*2*this.ArrayType.BYTES_PER_ELEMENT,l=t*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-l%8)%8;if(s<0)throw Error(`Unexpected typed array class: ${i}.`);if(a)this.data=a,this.ids=new this.IndexArrayType(a,8,t),this.coords=new i(a,8+l+u,t*2),this._pos=t*2,this._finished=!0;else{let h=this.data=new n(8+o+l+u);this.ids=new this.IndexArrayType(h,8,t),this.coords=new i(h,8+l+u,t*2),this._pos=0,this._finished=!1,new Uint8Array(h,0,2).set([219,16+s]),new Uint16Array(h,2,1)[0]=r,new Uint32Array(h,4,1)[0]=t}}add(t,r){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=r,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw Error(`Added ${t} items when expected ${this.numItems}.`);return Go(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;de[0]=0,de[1]=a.length-1,de[2]=0;let l=3,u=[];for(;l>0;){let h=de[--l],c=de[--l],p=de[--l];if(c-p<=o){for(let m=p;m<=c;m++){let g=s[2*m],x=s[2*m+1];g>=t&&g<=i&&x>=r&&x<=n&&u.push(a[m])}continue}let f=p+c>>1,d=s[2*f],y=s[2*f+1];d>=t&&d<=i&&y>=r&&y<=n&&u.push(a[f]),(h===0?t<=d:r<=y)&&(de[l++]=p,de[l++]=f-1,de[l++]=1-h),(h===0?i>=d:n>=y)&&(de[l++]=f+1,de[l++]=c,de[l++]=1-h)}return u}within(t,r,i){let n=[];return this.withinInto(t,r,i,n),n}withinInto(t,r,i,n){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:s,nodeSize:o}=this;de[0]=0,de[1]=a.length-1,de[2]=0;let l=3,u=0,h=i*i;for(;l>0;){let c=de[--l],p=de[--l],f=de[--l];if(p-f<=o){for(let g=f;g<=p;g++)ec(s[2*g],s[2*g+1],t,r)<=h&&(n[u++]=a[g]);continue}let d=f+p>>1,y=s[2*d],m=s[2*d+1];ec(y,m,t,r)<=h&&(n[u++]=a[d]),(c===0?t-i<=y:r-i<=m)&&(de[l++]=f,de[l++]=d-1,de[l++]=1-c),(c===0?t+i>=y:r+i>=m)&&(de[l++]=d+1,de[l++]=p,de[l++]=1-c)}return u}};function Go(e,t,r,i,n,a){if(n-i<=r)return;let s=i+n>>1;_d(e,t,s,i,n,a),Go(e,t,r,i,s-1,1-a),Go(e,t,r,s+1,n,1-a)}function _d(e,t,r,i,n,a){for(;n>i;){if(n-i>600){let u=n-i+1,h=r-i+1,c=Math.log(u),p=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*p*(u-p)/u)*(h-u/2<0?-1:1);_d(e,t,r,Math.max(i,Math.floor(r-h*p/u+f)),Math.min(n,Math.floor(r+(u-h)*p/u+f)),a)}let s=t[2*r+a],o=i,l=n;for(Ci(e,t,i,r),t[2*n+a]>s&&Ci(e,t,i,n);o<l;){for(Ci(e,t,o,l),o++,l--;t[2*o+a]<s;)o++;for(;t[2*l+a]>s;)l--}t[2*i+a]===s?Ci(e,t,i,l):(l++,Ci(e,t,l,n)),l<=r&&(i=l+1),r<=l&&(n=l-1)}}function Ci(e,t,r,i){Vs(e,r,i),Vs(t,2*r,2*i),Vs(t,2*r+1,2*i+1)}function Vs(e,t,r){let i=e[t];e[t]=e[r],e[r]=i}function ec(e,t,r,i){let n=e-r,a=t-i;return n*n+a*a}var Yo={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},h2=class{constructor(e){this.options=Object.assign(Object.create(Yo),e),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(e){let t=[];for(let r of e){if(!r.geometry)continue;let[i,n]=r.geometry.coordinates,[a,s]=[Gr(i),Yr(n)],o={id:r.id,type:"Point",geometry:[a,s],tags:r.properties};t.push(o)}this.createIndex(t)}initialize(e){let t=[];for(let r of e)r.type==="Point"&&t.push(r);this.createIndex(t)}updateIndex(e,t,r){this.options=Object.assign(Object.create(Yo),r.clusterOptions),this.initialize(e)}createIndex(e){let{log:t,minZoom:r,maxZoom:i}=this.options;t&&console.time("total time");let n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;let a=[];for(let o=0;o<e.length;o++){let l=e[o];if(!l?.geometry)continue;let[u,h]=l.geometry;u=Math.fround(u),h=Math.fround(h),a.push(u,h,1/0,o,-1,1),this.options.reduce&&a.push(0)}let s=this.trees[i+1]=this.createTree(a);t&&console.timeEnd(n);for(let o=i;o>=r;o--){let l=Date.now();s=this.trees[o]=this.createTree(this.cluster(s,o)),t&&console.log("z%d: %d clusters in %dms",o,s.numItems,Date.now()-l)}t&&console.timeEnd("total time")}getClusters(e,t){return this.getClustersInternal(e,t).map(r=>Aa(r))}getClustersInternal(e,t){let r=((e[0]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,e[1])),n=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,n=180;else if(r>n){let h=this.getClustersInternal([r,i,180,a],t),c=this.getClustersInternal([-180,i,n,a],t);return h.concat(c)}let s=this.trees[this.limitZoom(t)],o=s.range(Gr(r),Yr(a),Gr(n),Yr(i)),l=s.flatData,u=[];for(let h of o){let c=this.stride*h;u.push(l[c+5]>1?c2(l,c,this.clusterProps):this.points[l[c+3]])}return u}getChildren(e){let t=this.getOriginId(e),r=this.getOriginZoom(e),i=Error("No cluster with the specified id: "+e),n=this.trees[r];if(!n)throw i;let a=n.flatData;if(t*this.stride>=a.length)throw i;let s=this.options.radius/(this.options.extent*2**(r-1)),o=a[t*this.stride],l=a[t*this.stride+1],u=n.within(o,l,s),h=[];for(let c of u){let p=c*this.stride;a[p+4]===e&&h.push(a[p+5]>1?p2(a,p,this.clusterProps):Aa(this.points[a[p+3]]))}if(h.length===0)throw i;return h}getLeaves(e,t,r){t||(t=10),r||(r=0);let i=[];return this.appendLeaves(i,e,t,r,0),i}getTile(e,t,r){let i=this.trees[this.limitZoom(e)];if(!i)return null;let n=2**e,{extent:a,radius:s}=this.options,o=s/a,l=(r-o)/n,u=(r+1+o)/n,h={transformed:!0,features:[],source:null,x:t,y:r,z:e};return this.addTileFeatures(i.range((t-o)/n,l,(t+1+o)/n,u),i.flatData,t,r,n,h),t===0&&this.addTileFeatures(i.range(1-o/n,l,1,u),i.flatData,n,r,n,h),t===n-1&&this.addTileFeatures(i.range(0,l,o/n,u),i.flatData,-1,r,n,h),h}getClusterExpansionZoom(e){return this.getOriginZoom(e)}appendLeaves(e,t,r,i,n){let a=this.getChildren(t);for(let s of a){let o=s.properties;if(o?.cluster?n+o.point_count<=i?n+=o.point_count:n=this.appendLeaves(e,o.cluster_id,r,i,n):n<i?n++:e.push(s),e.length===r)break}return n}createTree(e){let t=new u2(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let r=0;r<e.length;r+=this.stride)t.add(e[r],e[r+1]);return t.finish(),t.flatData=e,t.data=null,t}addTileFeatures(e,t,r,i,n,a){for(let s of e){let o=s*this.stride,l=t[o+5]>1,u,h,c;if(l)u=Xl(t,o,this.clusterProps),h=t[o],c=t[o+1];else{let d=this.points[t[o+3]];u=d.tags,[h,c]=d.geometry}let p={type:1,geometry:[[Math.round(this.options.extent*(h*n-r)),Math.round(this.options.extent*(c*n-i))]],tags:u},f;f=l||this.options.generateId?t[o+3]:this.points[t[o+3]].id,f!==void 0&&(p.id=f),a.features.push(p)}}limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}cluster(e,t){let{radius:r,extent:i,reduce:n,minPoints:a}=this.options,s=r/(i*2**t),o=e.flatData,l=[],u=this.stride;for(let h=0;h<o.length;h+=u){if(o[h+2]<=t)continue;o[h+2]=t;let c=o[h],p=o[h+1],f=e.within(o[h],o[h+1],s),d=o[h+5],y=d;for(let m of f){let g=m*u;o[g+2]>t&&(y+=o[g+5])}if(y>d&&y>=a){let m=c*d,g=p*d,x,b=-1,v=((h/u|0)<<5)+(t+1)+this.points.length;for(let w of f){let _=w*u;if(o[_+2]<=t)continue;o[_+2]=t;let S=o[_+5];m+=o[_]*S,g+=o[_+1]*S,o[_+4]=v,n&&(x||(x=this.map(o,h,!0),b=this.clusterProps.length,this.clusterProps.push(x)),n(x,this.map(o,_)))}o[h+4]=v,l.push(m/y,g/y,1/0,v,-1,y),n&&l.push(b)}else{for(let m=0;m<u;m++)l.push(o[h+m]);if(y>1)for(let m of f){let g=m*u;if(!(o[g+2]<=t)){o[g+2]=t;for(let x=0;x<u;x++)l.push(o[g+x])}}}}return l}getOriginId(e){return e-this.points.length>>5}getOriginZoom(e){return(e-this.points.length)%32}map(e,t,r){if(e[t+5]>1){let a=this.clusterProps[e[t+6]];return r?Object.assign({},a):a}let i=this.points[e[t+3]].tags,n=this.options.map(i);return r&&n===i?Object.assign({},n):n}};function c2(e,t,r){return{id:e[t+3],type:"Point",tags:Xl(e,t,r),geometry:[e[t],e[t+1]]}}function p2(e,t,r){return{type:"Feature",id:e[t+3],properties:Xl(e,t,r),geometry:{type:"Point",coordinates:[vd(e[t]),bd(e[t+1])]}}}function Xl(e,t,r){let i=e[t+5],n=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?`${Math.round(i/100)/10}k`:i,a=e[t+6],s=a===-1?{}:Object.assign({},r[a]);return Object.assign(s,{cluster:!0,cluster_id:e[t+3],point_count:i,point_count_abbreviated:n})}var Sd="geojsonvt_clip_start",Ad="geojsonvt_clip_end";function tc(e,t,r,i,n){let a=t===n.maxZoom?0:n.tolerance/((1<<t)*n.extent),s={transformed:!1,features:[],source:null,x:r,y:i,z:t,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:e.length};for(let o of e)f2(s,o,a,n);return s}function f2(e,t,r,i){switch(e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),t.type){case"Point":case"MultiPoint":d2(e,t);return;case"LineString":y2(e,t,r,i);return;case"MultiLineString":case"Polygon":m2(e,t,r);return;case"MultiPolygon":g2(e,t,r);return}}function d2(e,t){let r=[];for(let n=0;n<t.geometry.length;n+=3)r.push(t.geometry[n],t.geometry[n+1]),e.numPoints++,e.numSimplified++;if(!r.length)return;let i={type:1,tags:t.tags||null,geometry:r};t.id!==null&&(i.id=t.id),e.features.push(i)}function y2(e,t,r,i){let n=[];if(Zl(n,t.geometry,e,r,!1,!1),!n.length)return;let a=t.tags||null;if(i.lineMetrics){a={};for(let o in t.tags)a[o]=t.tags[o];a[Sd]=t.geometry.start/t.geometry.size,a[Ad]=t.geometry.end/t.geometry.size}let s={type:2,tags:a,geometry:n};t.id!==null&&(s.id=t.id),e.features.push(s)}function m2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++)Zl(i,t.geometry[a],e,r,t.type==="Polygon",a===0);if(!i.length)return;let n={type:t.type==="Polygon"?3:2,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function g2(e,t,r){let i=[];for(let a=0;a<t.geometry.length;a++){let s=t.geometry[a];for(let o=0;o<s.length;o++)Zl(i,s[o],e,r,!0,o===0)}if(!i.length)return;let n={type:3,tags:t.tags||null,geometry:i};t.id!==null&&(n.id=t.id),e.features.push(n)}function Zl(e,t,r,i,n,a){let s=i*i;if(i>0&&t.size<(n?s:i)){r.numPoints+=t.points.length/3;return}let o=[];for(let l=0;l<t.points.length;l+=3)(i===0||t.points[l+2]>s)&&(r.numSimplified++,o.push(t.points[l],t.points[l+1])),r.numPoints++;n&&x2(o,a),e.push(o)}function x2(e,t){let r=0;for(let i=0,n=e.length,a=n-2;i<n;a=i,i+=2)r+=(e[i]-e[a])*(e[i+1]+e[a+1]);if(r>0===t)for(let i=0,n=e.length;i<n/2;i+=2){let a=e[i],s=e[i+1];e[i]=e[n-2-i],e[i+1]=e[n-1-i],e[n-2-i]=a,e[n-1-i]=s}}function rc(e,t){if(e.transformed)return e;let r=1<<e.z,i=e.x,n=e.y;for(let a of e.features)a.type===1?v2(a,t,r,i,n):b2(a,t,r,i,n);return e.transformed=!0,e}function v2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l=0;l<s.length;l+=2)o.push(Ed(s[l],s[l+1],t,r,i,n));return a.geometry=o,a}function b2(e,t,r,i,n){let a=e,s=e.geometry,o=[];for(let l of s){let u=[];for(let h=0;h<l.length;h+=2)u.push(Ed(l[h],l[h+1],t,r,i,n));o.push(u)}return a.geometry=o,a}function Ed(e,t,r,i,n,a){return[Math.round(r*(e*i-n)),Math.round(r*(t*i-a))]}var w2=class{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&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}updateIndex(e,t,r){r.debug>1&&(console.log("invalidating tiles"),console.time("invalidating")),this.invalidateTiles(t),r.debug>1&&console.timeEnd("invalidating");let[i,n,a]=[0,0,0],s=tc(e,i,n,a,r);s.source=e;let o=Xn(i,n,a);if(this.tiles[o]=s,this.tileCoords.push({z:i,x:n,y:a,id:o}),r.debug){let l=`z${i}`;this.stats[l]=(this.stats[l]||0)+1,this.total++}}getClusterExpansionZoom(e){return null}getChildren(e){return null}getLeaves(e,t,r){return null}getTile(e,t,r){let{extent:i,debug:n}=this.options,a=1<<e;t=t+a&a-1;let s=Xn(e,t,r);if(this.tiles[s])return rc(this.tiles[s],i);n>1&&console.log("drilling down to z%d-%d-%d",e,t,r);let o=e,l=t,u=r,h;for(;!h&&o>0;)o--,l>>=1,u>>=1,h=this.tiles[Xn(o,l,u)];return!h?.source||(n>1&&(console.log("found parent tile z%d-%d-%d",o,l,u),console.time("drilling down")),this.splitTile(h.source,o,l,u,e,t,r),n>1&&console.timeEnd("drilling down"),!this.tiles[s])?null:rc(this.tiles[s],i)}splitTile(e,t,r,i,n,a,s){let o=[e,t,r,i],l=this.options,u=l.debug;for(;o.length;){i=o.pop(),r=o.pop(),t=o.pop(),e=o.pop();let h=1<<t,c=Xn(t,r,i),p=this.tiles[c];if(!p&&(u>1&&console.time("creation"),p=this.tiles[c]=tc(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i,id:c}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,r,i,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));let S=`z${t}`;this.stats[S]=(this.stats[S]||0)+1,this.total++}if(p.source=e,n==null){if(t===l.indexMaxZoom||p.numPoints<=l.indexMaxPoints)continue}else{if(t===l.maxZoom||t===n)continue;if(n!=null){let S=n-t;if(r!==a>>S||i!==s>>S)continue}}if(p.source=null,!e.length)continue;u>1&&console.time("clipping");let f=.5*l.buffer/l.extent,d=.5-f,y=.5+f,m=1+f,g=null,x=null,b=null,v=null,w=It(e,h,r-f,r+y,0,p.minX,p.maxX,l),_=It(e,h,r+d,r+m,0,p.minX,p.maxX,l);w&&(g=It(w,h,i-f,i+y,1,p.minY,p.maxY,l),x=It(w,h,i+d,i+m,1,p.minY,p.maxY,l)),_&&(b=It(_,h,i-f,i+y,1,p.minY,p.maxY,l),v=It(_,h,i+d,i+m,1,p.minY,p.maxY,l)),u>1&&console.timeEnd("clipping"),o.push(g||[],t+1,r*2,i*2),o.push(x||[],t+1,r*2,i*2+1),o.push(b||[],t+1,r*2+1,i*2),o.push(v||[],t+1,r*2+1,i*2+1)}}invalidateTiles(e){if(!e.length)return;let t=this.options,{debug:r}=t,i=1/0,n=-1/0,a=1/0,s=-1/0;for(let u of e)i=Math.min(i,u.minX),n=Math.max(n,u.maxX),a=Math.min(a,u.minY),s=Math.max(s,u.maxY);let o=t.buffer/t.extent,l=new Set;for(let u in this.tiles){let h=this.tiles[u],c=1<<h.z,p=(h.x-o)/c,f=(h.x+1+o)/c,d=(h.y-o)/c,y=(h.y+1+o)/c;if(n<p||i>=f||s<d||a>=y)continue;let m=!1;for(let g of e)if(g.maxX>=p&&g.minX<f&&g.maxY>=d&&g.minY<y){m=!0;break}if(m){if(r){r>1&&console.log("invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",h.z,h.x,h.y,h.numFeatures,h.numPoints,h.numSimplified);let g=`z${h.z}`;this.stats[g]=(this.stats[g]||0)-1,this.total--}delete this.tiles[u],l.add(u)}}l.size&&(this.tileCoords=this.tileCoords.filter(u=>!l.has(u.id)))}};function Xn(e,t,r){return((1<<e)*r+t)*32+e}var D2={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,updateable:!1,cluster:!1,clusterOptions:Yo,debug:0},_2=class{constructor(e,t){t=this.options=Object.assign({},D2,t);let r=t.debug;if(r&&console.time("preprocess data"),t.maxZoom<0||t.maxZoom>24)throw Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw Error("promoteId and generateId cannot be used together.");let i=Ul(e,t);r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",t.indexMaxZoom,t.indexMaxPoints),console.time("generate tiles")),i=Yl(i,t),t.updateable&&(this.source=i),this.initializeIndex(i,t)}initializeIndex(e,t){this.tileIndex=t.cluster?new h2(t.clusterOptions):new w2(t),e.length&&this.tileIndex.initialize(e)}getTile(e,t,r){return e=+e,t=+t,r=+r,e<0||e>24?null:this.tileIndex.getTile(e,t,r)}updateData(e,t){let r=this.options;if(!r.updateable)throw Error("to update tile geojson `updateable` option must be set to true");let{affected:i,source:n}=s2(this.source,e,r);t&&({affected:i,source:n}=this.filterUpdate(n,i,t)),i.length&&(this.source=n,this.tileIndex.updateIndex(n,i,r))}filterUpdate(e,t,r){let i=new Set;for(let n of e)n.id!=null&&(r(Aa(n))||(t.push(n),i.add(n.id)));return e=e.filter(n=>!i.has(n.id)),{affected:t,source:e}}getData(){if(!this.options.updateable)throw Error("to retrieve data the `updateable` option must be set to true");return Wx(this.source)}updateClusterOptions(e,t){let r=this.options.cluster;if(this.options.cluster=e,this.options.clusterOptions=t,r==e){this.tileIndex.updateIndex(this.source,[],this.options);return}this.initializeIndex(this.source,this.options)}getClusterExpansionZoom(e){return this.tileIndex.getClusterExpansionZoom(e)}getClusterChildren(e){return this.tileIndex.getChildren(e)}getClusterLeaves(e,t,r){return this.tileIndex.getLeaves(e,t,r)}},Xo=Ae([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"},{name:"a_offset_normal",components:2,type:"Int8"}],2),S2=Xo.members;Xo.size,Xo.alignment;var Zo=Ae([{name:"a_uv_x",components:1,type:"Float32"},{name:"a_split_index",components:1,type:"Float32"}]),A2=Zo.members;Zo.size,Zo.alignment;var E2=Math.cos(75/2*(Math.PI/180)),Fd=1/2,ic=2**14/Fd,Td=class{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(t=>t.id),this.index=e.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let t of this.layers)this.gradients[t.id]={};this.layoutVertexArray=new q0,this.layoutVertexArray2=new j0,this.indexArray=new gn,this.programConfigurations=new mr(e.layers,e.zoom),this.segments=new tt,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(t=>t.isStateDependent()).map(t=>t.id)}populate(e,t,r){this.hasDependencies=ba("line",this.layers,t)||this.hasLineDasharray(this.layers);let i=this.layers[0].layout.get("line-sort-key"),n=!i.isConstant(),a=[],s=new oe(this.zoom),o=this.layers[0]._featureFilter.needGeometry;for(let{feature:l,id:u,index:h,sourceLayerIndex:c}of e){let p=li(l,o);if(!this.layers[0]._featureFilter.filter(s,p,r))continue;let f=n?i.evaluate(p,{},r):void 0,d={id:u,properties:l.properties,type:l.type,sourceLayerIndex:c,index:h,geometry:o?p.geometry:br(l),patterns:{},dashes:{},sortKey:f};a.push(d)}n&&a.sort((l,u)=>l.sortKey-u.sortKey);for(let l of a){let{geometry:u,index:h,sourceLayerIndex:c}=l;this.hasDependencies?(ba("line",this.layers,t)?Rl("line",this.layers,l,{zoom:this.zoom},t):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,l,this.zoom,t),this.patternFeatures.push(l)):this.addFeature(l,u,h,r,{},{},t.subdivisionGranularity);let p=e[h].feature;t.featureIndex.insert(p,u,h,c,this.index)}}update(e,t,r,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,t,this.stateDependentLayers,{imagePositions:r,dashPositions:i})}addFeatures({options:e,canonical:t,patternPositions:r,dashPositions:i}){for(let n of this.patternFeatures)this.addFeature(n,n.geometry,n.index,t,r,i,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,A2)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,S2),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,"geojsonvt_clip_start")&&Object.hasOwn(e.properties,"geojsonvt_clip_end"))return{start:+e.properties[Sd],end:+e.properties[Ad]}}addFeature(e,t,r,i,n,a,s){let o=this.layers[0].layout,l=o.get("line-join").evaluate(e,{}),u=o.get("line-cap").evaluate(e,{}),h=o.get("line-miter-limit").evaluate(e,{}),c=o.get("line-round-limit").evaluate(e,{});this.lineClips=this.lineFeatureClips(e);for(let p of t)this.addLine(p,e,l,u,h,c,i,s);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,r,{imagePositions:n,dashPositions:a,canonical:i})}addLine(e,t,r,i,n,a,s,o){this.distance=0,this.scaledDistance=0,this.totalDistance=0;let l=s?o.line.getGranularityForZoomLevel(s.z):1;if(e=ur(e,l),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let b=0;b<e.length-1;b++)this.totalDistance+=e[b].dist(e[b+1]);this.updateScaledDistance(),this.maxLineLength=Math.max(this.maxLineLength,this.totalDistance)}let u=xn.types[t.type]==="Polygon",h=e.length;for(;h>=2&&e[h-1].equals(e[h-2]);)h--;let c=0;for(;c<h-1&&e[c].equals(e[c+1]);)c++;if(h-c<(u?3:2))return;r==="bevel"&&(n=1.05);let p=this.overscaling<=16?15*xe/(512*this.overscaling):0,f=this.segments.prepareSegment(h*10,this.layoutVertexArray,this.indexArray),d,y,m,g,x;this.e1=this.e2=-1,u&&(d=e[h-2],x=e[c].sub(d)._unit()._perp());for(let b=c;b<h;b++){if(m=b===h-1?u?e[c+1]:void 0:e[b+1],m&&e[b].equals(m))continue;x&&(g=x),d&&(y=d),d=e[b],x=m?m.sub(d)._unit()._perp():g,g||(g=x);let v=g.add(x);(v.x!==0||v.y!==0)&&v._unit();let w=g.x*x.x+g.y*x.y,_=v.x*x.x+v.y*x.y,S=_===0?1/0:1/_,E=2*Math.sqrt(2-2*_),T=_<E2&&y&&m,V=g.x*x.y-g.y*x.x>0,C=v.mult(Math.min(S,2)),R=Hr((S-3)/5,0,1);if(T&&b>c){let P=d.dist(y);if(P>2*p){let z=d.sub(d.sub(y)._mult(p/P)._round());this.updateDistance(y,z),this.addCurrentVertex(z,g,0,0,f),y=z}}let U=y&&m,A=U?r:u?"butt":i;if(U&&A==="round"&&(S<a?A="miter":S<=2&&(A="fakeround")),A==="miter"&&S>n&&(A="bevel"),A==="bevel"&&(S>2&&(A="flipbevel"),S<n&&(A="miter")),y&&this.updateDistance(y,d),A==="miter")v._mult(S),this.addCurrentVertex(d,v,0,0,f,!1,C);else if(A==="flipbevel"){if(S>100)v=x.mult(-1);else{let P=S*g.add(x).mag()/g.sub(x).mag();v._perp()._mult(P*(V?-1:1))}this.addCurrentVertex(d,v,0,0,f,!1,C,R),this.addCurrentVertex(d,v.mult(-1),0,0,f,!1,C,R)}else if(A==="bevel"||A==="fakeround"){let P=-Math.sqrt(S*S-1),z=V?P:0,O=V?0:P;if(y&&this.addCurrentVertex(d,g,z,O,f,!1,C),A==="fakeround"){let q=Math.round(E*180/Math.PI/20);for(let re=1;re<q;re++){let le=re/q;if(le!==.5){let ie=le-.5,Ce=1.0904+w*(-3.2452+w*(3.55645-w*1.43519)),ot=.848013+w*(-1.06021+w*.215638);le+=le*ie*(le-1)*(Ce*ie*ie+ot)}let pe=x.sub(g)._mult(le)._add(g)._unit()._mult(V?-1:1);this.addHalfVertex(d,pe.x,pe.y,V?-C.x:C.x,V?-C.y:C.y,!1,V,f)}}m&&this.addCurrentVertex(d,x,-z,-O,f,!1,C)}else if(A==="butt")this.addCurrentVertex(d,v,0,0,f,!1,C);else if(A==="square"){let P=y?1:-1;this.addCurrentVertex(d,v,P,P,f,!1,C)}else A==="round"&&(y&&(this.addCurrentVertex(d,g,0,0,f,!1,C,R),this.addCurrentVertex(d,g,1,1,f,!0,C,R)),m&&(this.addCurrentVertex(d,x,-1,-1,f,!0,C,R),this.addCurrentVertex(d,x,0,0,f,!1,C,R)));if(T&&b<h-1){let P=d.dist(m);if(P>2*p){let z=d.add(m.sub(d)._mult(p/P)._round());this.updateDistance(d,z),this.addCurrentVertex(z,x,0,0,f),d=z}}}}addCurrentVertex(e,t,r,i,n,a=!1,s=t,o=0){let l=t.x+t.y*r,u=t.y-t.x*r,h=-t.x+t.y*i,c=-t.y-t.x*i,p=s.x+(t.x-s.x)*o,f=s.y+(t.y-s.y)*o;this.addHalfVertex(e,l,u,p,f,a,!1,n),this.addHalfVertex(e,h,c,-p,-f,a,!0,n),this.distance>ic/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,t,r,i,n,a,s,o))}addHalfVertex({x:e,y:t},r,i,n,a,s,o,l){let u=(this.lineClips?this.scaledDistance*(ic-1):this.scaledDistance)*Fd;if(this.layoutVertexArray.emplaceBack((e<<1)+ +!!s,(t<<1)+ +!!o,Math.round(63*r)+128,Math.round(63*i)+128,(u&63)<<2,u>>6,Math.round(63*n),Math.round(63*a)),this.lineClips){let c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}let h=l.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,h,this.e2),l.primitiveLength++),o?this.e2=h:this.e1=h}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}hasLineDasharray(e){for(let t of e){let r=t.paint.get("line-dasharray");if(r&&!r.isConstant())return!0}return!1}addLineDashDependencies(e,t,r,i){for(let n of e){let a=n.paint.get("line-dasharray");if(!a||a.value.kind==="constant")continue;let s=n.layout.get("line-cap").evaluate(t,{})==="round",o={dasharray:a.value.evaluate({zoom:r-1},t,{}),round:s},l={dasharray:a.value.evaluate({zoom:r},t,{}),round:s},u={dasharray:a.value.evaluate({zoom:r+1},t,{}),round:s},h=`${o.dasharray.join(",")},${o.round}`,c=`${l.dasharray.join(",")},${l.round}`,p=`${u.dasharray.join(",")},${u.round}`;i.dashDependencies[h]=o,i.dashDependencies[c]=l,i.dashDependencies[p]=u,t.dashes[n.id]={min:h,mid:c,max:p}}}};B("LineBucket",Td,{omit:["layers","patternFeatures"]});var nc,F2=()=>nc||(nc=new je({"line-cap":new N(D.layout_line["line-cap"],"line-cap"),"line-join":new N(D.layout_line["line-join"],"line-join"),"line-miter-limit":new N(D.layout_line["line-miter-limit"],"line-miter-limit"),"line-round-limit":new N(D.layout_line["line-round-limit"],"line-round-limit"),"line-sort-key":new N(D.layout_line["line-sort-key"],"line-sort-key")})),ac,T2=()=>ac||(ac=new je({"line-opacity":new N(D.paint_line["line-opacity"],"line-opacity"),"line-layer-opacity":new L(D.paint_line["line-layer-opacity"],"line-layer-opacity"),"line-color":new N(D.paint_line["line-color"],"line-color"),"line-translate":new L(D.paint_line["line-translate"],"line-translate"),"line-translate-anchor":new L(D.paint_line["line-translate-anchor"],"line-translate-anchor"),"line-width":new N(D.paint_line["line-width"],"line-width"),"line-gap-width":new N(D.paint_line["line-gap-width"],"line-gap-width"),"line-offset":new N(D.paint_line["line-offset"],"line-offset"),"line-blur":new N(D.paint_line["line-blur"],"line-blur"),"line-dasharray":new rn(D.paint_line["line-dasharray"],"line-dasharray"),"line-pattern":new rn(D.paint_line["line-pattern"],"line-pattern"),"line-gradient":new Na(D.paint_line["line-gradient"],"line-gradient")})),sc={get paint(){return T2()},get layout(){return F2()}},k2=class extends N{possiblyEvaluate(e,t){return t=new oe(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,zoomHistory:t.zoomHistory,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,r,i){return t=Xe({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,r,i)}},Zn,I2=class extends pt{constructor(e,t){super(e,sc,t),this.gradientVersion=0,Zn||(Zn=new k2(sc.paint.properties["line-width"].specification,"line-floorwidth"),Zn.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e==="line-gradient"){let t=this.gradientExpression();this.stepInterpolant=qm(t)?t._styleExpression.expression instanceof fl:!1,this.gradientVersion=(this.gradientVersion+1)%(2**53-1)}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,t){super.recalculate(e,t),this.paint._values["line-floorwidth"]=Zn.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new Td(e)}queryRadius(e){let t=e,r=oc(jr("line-width",this,t),jr("line-gap-width",this,t)),i=jr("line-offset",this,t);return r/2+Math.abs(i)+qa(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:e,feature:t,featureState:r,geometry:i,transform:n,pixelsToTileUnits:a}){let s=ja(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-n.bearingInRadians,a),o=a/2*oc(this.paint.get("line-width").evaluate(t,r),this.paint.get("line-gap-width").evaluate(t,r)),l=this.paint.get("line-offset").evaluate(t,r);return l&&(i=pg(i,l*a)),sg(s,i,o)}isTileClipped(){return!0}};function oc(e,t){return t>0?t+2*e:e}var C2=Ae([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"},{name:"a_height_offset",components:1,type:"Float32"}],4),B2=Ae([{name:"a_projected_pos",components:3,type:"Float32"}],4);Ae([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);var P2=Ae([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Ae([{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"}]);var lc=Ae([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);Ae([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4),Ae([{name:"triangle",components:3,type:"Uint16"}]),Ae([{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"},{type:"Float32",name:"heightOffset"}]),Ae([{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"},{type:"Float32",name:"heightOffset"}]),Ae([{type:"Float32",name:"offsetX"}]),Ae([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Ae([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);var ai=new class{constructor(){this.TIMEOUT=5e3,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(e){this.pluginStatus=e.pluginStatus,this.pluginURL=e.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(e){if(ai.isParsed())throw Error("RTL text plugin already registered.");this.applyArabicShaping=e.applyArabicShaping,this.processBidirectionalText=e.processBidirectionalText,this.processStyledBidirectionalText=e.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}async syncState(e,t){if(this.isParsed())return this.getState();if(e.pluginStatus!=="loading")return this.setState(e),e;let r=e.pluginURL,i=new Promise(a=>{this.loadScriptResolve=a}),n=new Promise(a=>setTimeout(()=>a(),this.TIMEOUT));if(await t(r),await Promise.race([i,n]),this.isParsed()){let a={pluginStatus:"loaded",pluginURL:r};return this.setState(a),a}throw this.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${r}`)}};function M2(e){return/[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u077F\u07C0-\u07FA\u07FD-\u07FF\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\u1800\u1801\u1804\u1806-\u1819\u1820-\u1878\u1880-\u18AA\uA840-\uA877\uFB50-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF80-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDD00-\uDD27\uDD30-\uDD39\uDE60-\uDE7E\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDEFF\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB]|\uD805[\uDE60-\uDE6C]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9C-\uDC9F]|\uD83A[\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function z2(e){return/[\u0591-\u05C7\u05D0-\u05EA\u05EF-\u05F4\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u070D\u070F-\u074A\u074D-\u07B1\u07C0-\u07FA\u07FD-\u082D\u0830-\u083E\u0840-\u085B\u085E\u0860-\u086A\u0870-\u0891\u0897-\u08E1\u08E3-\u08FF\uFB1D-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFD3D\uFD40-\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC57-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD1F-\uDD39\uDD3F-\uDD59\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F-\uDE48\uDE50-\uDE58\uDE60-\uDE9F\uDEC0-\uDEE6\uDEEB-\uDEF6\uDF00-\uDF35\uDF39-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDF99-\uDF9C\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD27\uDD30-\uDD39\uDD40-\uDD65\uDD69-\uDD85\uDD8E\uDD8F\uDE60-\uDE7E\uDE80-\uDEA9\uDEAB-\uDEAD\uDEB0\uDEB1\uDEC2-\uDEC7\uDED0-\uDED8\uDEFA-\uDF27\uDF30-\uDF59\uDF70-\uDF89\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59\uDD5E\uDD5F]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/gim.test(String.fromCodePoint(e))}function L2(e){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(e))}function Ga(e){return/[\u02EA\u02EB\u1100-\u11FF\u1401-\u167F\u18B0-\u18FF\u2065\u20DD-\u20E0\u20E2-\u20E4\u2B97\u2BF0-\u2BFF\u2E50\u2E51\u2E80-\u3007\u3012\u3013\u3020-\u302F\u3031-\u30FB\u30FD-\uA4CF\uA960-\uA97F\uAC00-\uD7FF\uF900-\uFAFF\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\uFFF0-\uFFF8]|\uD802[\uDD80-\uDD9F]|\uD805[\uDD80-\uDDFF]|\uD806[\uDE00-\uDEBF]|[\uD80C-\uD810\uD81C-\uD822\uD83C\uD83D\uD840-\uD87E\uD880-\uD8BE][\uDC00-\uDFFF]|\uD811[\uDC00-\uDE7F]|\uD81B[\uDFE0-\uDFFF]|\uD823[\uDC00-\uDDFF]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFF]|\uD833[\uDEC0-\uDFCF]|\uD834[\uDC00-\uDDFF\uDEE0-\uDF7F]|\uD836[\uDC00-\uDEAF]|\uD83E[\uDD00-\uDEFF]|[\uD87F\uD8BF][\uDC00-\uDFFD]/gim.test(String.fromCodePoint(e))}function V2(e){return/[\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))}function O2(e){return/[\r\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0600-\u0605\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DD\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u070F\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0890\u0891\u0897-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E33-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB3-\u0EBC\u0EC8-\u0ECE\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1037\u1039-\u103E\u1056-\u1059\u105E-\u1060\u1071-\u1074\u1082\u1084-\u1086\u108D\u109D\u1100-\u11FF\u135D-\u135F\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u180F\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60\u1A62\u1A65-\u1A7C\u1A7F\u1AB0-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA960-\uA97C\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7C\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFF9E\uFF9F]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD69-\uDD6D\uDEAB\uDEAC\uDEFA-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCBD\uDCC2\uDCCD\uDD00-\uDD02\uDD27-\uDD34\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC2\uDDC3\uDDC9-\uDDCC\uDDCE\uDDCF\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC5E\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDEAB-\uDEB7\uDF1D-\uDF1F\uDF22-\uDF2B]|\uD806[\uDC2C-\uDC3A\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD43\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE84-\uDE99\uDF60-\uDF67]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDEF3-\uDEF6\uDF00-\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD2F]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDD63\uDD67-\uDD6A\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDEAE\uDEEC-\uDEEF]|\uD839[\uDCEC-\uDCEF\uDDEE\uDDEF\uDEE3\uDEE6\uDEEE\uDEEF\uDEF5]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A]|\uD83C[\uDDE6-\uDDFF\uDFFB-\uDFFF]|\uDB40[\uDC20-\uDC7F\uDD00-\uDDEF]/.test(e)}function uc(e){return/[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECE\u0EDC-\u0EDF\u0F00-\u0F47\u0F49-\u0F6C\u0F71-\u0F97\u0F99-\u0FBC\u0FBE-\u0FCC\u0FCE-\u0FD4\u0FD9\u0FDA\u1000-\u103F\u1050-\u108F\u109A-\u109F\u1780-\u17D3\u17D7\u17DC\u17DD\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19DE\u19DF\u1A20-\u1A5E\u1A60-\u1A7C\u1AA0-\u1AAD\u1B00-\u1B4C\u1B4E-\u1B7F\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE-\uA9EF\uA9FA-\uA9FE\uAA60-\uAAC2\uAADB-\uAADF]|\uD805[\uDF00-\uDF1A\uDF1D-\uDF2B\uDF3A\uDF3B\uDF3F-\uDF46]/gim.test(String.fromCodePoint(e))}function R2(e,t){return/(?:[\u1039\u17D2\u1A60\u1BAB\u200D\uAAF6]|\uD802\uDE3F|\uD804[\uDD33\uDFD0]|\uD806[\uDD3E\uDE47\uDE99]|\uD807[\uDD45\uDD97\uDF42])$/.test(e)||/^\p{gc=Mc}/u.test(t)}var $2={C:"18g,1;g2,3;4nb,1",D:"17k,1;5,1;1,1;1,5;4,d;1,7;1,2;z,2;8,g;i,12;1,2;9,1;1,1;1,2;14,3;2,1;28,9;3,f;2,4;1,1;2,3;2,6;7a,1;2,5;1,1;g,a;5,2;2,6;1,f",R:"17m,4;1,1;1,1;5,4;l,1;14,3;1,3;g,i;12,1;2,9;1,1;1,1;2,2;1,1;o,2;2x,3;f,2;4,1;1,2;3,2;6u,j;b,1;r,3;1,1;2,2;6,1",T:"174,b;1,1;1a,l;g,1;2t,7;2,6;2,2;1,4;bt,9;16,o;1,t;1clb,1"},N2={1569:[65152,0,0,0],1570:[65153,65154,0,0],1571:[65155,65156,0,0],1572:[65157,65158,0,0],1573:[65159,65160,0,0],1574:[65161,65162,65163,65164],1575:[65165,65166,0,0],1576:[65167,65168,65169,65170],1577:[65171,65172,0,0],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,0,0],1584:[65195,65196,0,0],1585:[65197,65198,0,0],1586:[65199,65200,0,0],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,0,0],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1611:[65136,0,0,65137],1612:[65138,0,0,0],1613:[65140,0,0,0],1614:[65142,0,0,65143],1615:[65144,0,0,65145],1616:[65146,0,0,65147],1617:[65148,0,0,65149],1618:[65150,0,0,65151],1649:[64336,64337,0,0],1655:[64477,0,0,0],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393,0,0],1676:[64388,64389,0,0],1677:[64386,64387,0,0],1678:[64390,64391,0,0],1681:[64396,64397,0,0],1688:[64394,64395,0,0],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415,0,0],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421,0,0],1729:[64422,64423,64424,64425],1733:[64480,64481,0,0],1734:[64473,64474,0,0],1735:[64471,64472,0,0],1736:[64475,64476,0,0],1737:[64482,64483,0,0],1739:[64478,64479,0,0],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431,0,0],1747:[64432,64433,0,0]},U2={\u0644\u0622:[65269,65270],\u0644\u0623:[65271,65272],\u0644\u0625:[65273,65274],\u0644\u0627:[65275,65276]},hc=1604,q2=/[\u0600-\u06ff\u0750-\u077f\u0870-\u089f\u08a0-\u08ff\ufb50-\ufdff\ufe70-\ufeff]/;function j2(e,t,r){let i=0;for(let n of e.split(";")){let[a,s]=n.split(",").map(l=>parseInt(l,36)),o=i+a;for(let l=o;l<o+s;l++)r.set(l,t);i=o+s}}var kd=new Map;for(let[e,t]of Object.entries($2))j2(t,e,kd);function G2(e){return kd.get(e)??"U"}function Y2(e){return e==="D"||e==="L"||e==="C"}function X2(e){return e==="D"||e==="R"||e==="C"}function Z2(e,t,r){return e==="D"?t&&r?3:t?1:r?2:0:e==="R"?+!!t:e==="L"?r?2:0:null}function W2(e){return[...e].map(t=>{let r=t.codePointAt(0);return{codePoint:r,type:G2(r),form:null}})}function H2(e){let t=e.filter(r=>r.type!=="T");for(let r=0;r<t.length;r++){let i=t[r],n=r>0&&Y2(t[r-1].type),a=r+1<t.length&&X2(t[r+1].type);i.form=Z2(i.type,n,a)}}function J2(e){let t=!1;for(let r of e)r.type==="T"?r.form=t?3:0:t=r.form===2||r.form===3}function K2(e){let t=[];for(let r=0;r<e.length;r++){let i=e[r];if(i.codePoint!==hc){t.push(i);continue}let n=r+1;for(;n<e.length&&e[n].type==="T";)n++;let a=e[n],s=a&&U2[String.fromCodePoint(hc,a.codePoint)];if(!s){t.push(i);continue}let o=i.form===3||i.form===1;t.push({codePoint:s[+!!o],type:"R",form:0}),t.push(...e.slice(r+1,n)),r=n}return t}function Q2(e){if(e.form===null)return e.codePoint;let t=N2[e.codePoint];return t&&(t[e.form]||t[0])||e.codePoint}function ev(e){if(!q2.test(e))return e;let t=W2(e);return H2(t),J2(t),K2(t).map(r=>String.fromCodePoint(Q2(r))).join("")}function tv(e,t,r){let i=t.layout.get("text-transform").evaluate(r,{});return i==="uppercase"?e=e.toLocaleUpperCase():i==="lowercase"&&(e=e.toLocaleLowerCase()),(ai.applyArabicShaping??ev)(e)}function rv(e,t,r){for(let i of e.sections)i.text=tv(i.text,t,r);return e}function Os(e,t,r){let i=r?t.last.points:t.first.points,n=r?i[i.length-1]:i[0];return`${e}:${n.x}:${n.y}`}function iv(e){let t=e.first.points,r=t.length;for(let a=e.first.next;a;a=a.next)r+=a.points.length-1;let i=Array(r);for(let a=0;a<t.length;a++)i[a]=t[a];let n=t.length;for(let a=e.first.next;a;a=a.next){let s=a.points;for(let o=1;o<s.length;o++)i[n++]=s[o]}return i}function cc(e,t,r,i,n){let a=t[r];delete t[r],t[i]=a;let s=e[a];return s.last.next=n.first,s.last=n.last,a}function pc(e,t,r,i,n){let a=t[i];delete t[i],t[r]=a;let s=e[a];return n.last.next=s.first,s.first=n.first,a}function nv(e){let t={},r={},i=[];for(let a of e){let s=a.text?a.text.toString():null,o={points:a.geometry[0],next:null},l={feature:a,first:o,last:o};if(!s){i.push(l);continue}let u=Os(s,l),h=Os(s,l,!0);if(u in r&&h in t&&r[u]!==t[h]){let c=pc(i,t,u,h,l),p=cc(i,r,u,h,i[c]);delete t[u],delete r[h],r[Os(s,i[p],!0)]=p,i[c].feature.geometry=null}else if(u in r)cc(i,r,u,h,l);else if(h in t)pc(i,t,u,h,l);else{let c=i.push(l)-1;t[u]=c,r[h]=c}}let n=[];for(let a of i){let s=a.feature;s.geometry&&(a.first.next&&(s.geometry[0]=iv(a)),n.push(s))}return n}var Id=typeof Intl<"u"&&"Segmenter"in Intl,Rs,$s;function Wo(e){if(!Id||!O2(e))return[...e];Rs??(Rs=new Intl.Segmenter(void 0,{granularity:"grapheme"}));let t=[];for(let{segment:r}of Rs.segment(e)){let i=t.length-1;i>=0&&R2(t[i],r)?t[i]+=r:t.push(r)}return t}function av(e){let t=new Set;if(Id){$s??($s=new Intl.Segmenter(void 0,{granularity:"word"}));for(let{index:i}of $s.segment(e))t.add(i);return t}let r=0;for(let i of e.split(/\b|(?=\p{Ideo})/u))t.add(r),r+=i.length;return t}function Cd(e){let t=e.codePointAt(0);return e.length>(t>65535?2:1)}function Wl(e){return/\s/u.test(String.fromCodePoint(e))}function Ho(e){for(let t of e)if(Ga(t.codePointAt(0)))return!0;return!1}function sv(e){for(let t of e)if(!ov(t.codePointAt(0)))return!1;return!0}function ov(e){return!M2(e)}function fc(e){return!(Ga(e)||V2(e))}function Bd(e){return/\p{sc=Arab}/u.test(String.fromCodePoint(e))}function Pd(e){return z2(e)}function Md(e){for(let t of e)if(Pd(t.codePointAt(0)))return!0;return!1}var Nr={"!":"\uFE15","#":"\uFF03",$:"\uFF04","%":"\uFF05","&":"\uFF06","(":"\uFE35",")":"\uFE36","*":"\uFF0A","+":"\uFF0B",",":"\uFE10","-":"\uFE32",".":"\u30FB","/":"\uFF0F",":":"\uFE13",";":"\uFE14","<":"\uFE3F","=":"\uFF1D",">":"\uFE40","?":"\uFE16","@":"\uFF20","[":"\uFE47","\\":"\uFF3C","]":"\uFE48","^":"\uFF3E",_:"\uFE33","`":"\uFF40","{":"\uFE37","|":"\u2015","}":"\uFE38","~":"\uFF5E","\xA2":"\uFFE0","\xA3":"\uFFE1","\xA5":"\uFFE5","\xA6":"\uFFE4","\xAC":"\uFFE2","\xAF":"\uFFE3","\u2013":"\uFE32","\u2014":"\uFE31","\u2018":"\uFE43","\u2019":"\uFE44","\u201C":"\uFE41","\u201D":"\uFE42","\u2026":"\uFE19","\u22EF":"\uFE19","\u2027":"\u30FB","\u20A9":"\uFFE6","\u3001":"\uFE11","\u3002":"\uFE12","\u3008":"\uFE3F","\u3009":"\uFE40","\u300A":"\uFE3D","\u300B":"\uFE3E","\u300C":"\uFE41","\u300D":"\uFE42","\u300E":"\uFE43","\u300F":"\uFE44","\u3010":"\uFE3B","\u3011":"\uFE3C","\u3014":"\uFE39","\u3015":"\uFE3A","\u3016":"\uFE17","\u3017":"\uFE18","\uFF01":"\uFE15","\uFF08":"\uFE35","\uFF09":"\uFE36","\uFF0C":"\uFE10","\uFF0D":"\uFE32","\uFF0E":"\u30FB","\uFF1A":"\uFE13","\uFF1B":"\uFE14","\uFF1C":"\uFE3F","\uFF1E":"\uFE40","\uFF1F":"\uFE16","\uFF3B":"\uFE47","\uFF3D":"\uFE48","\uFF3F":"\uFE33","\uFF5B":"\uFE37","\uFF5C":"\u2015","\uFF5D":"\uFE38","\uFF5F":"\uFE35","\uFF60":"\uFE36","\uFF61":"\uFE12","\uFF62":"\uFE41","\uFF63":"\uFE42"};function lv(e){let t="",r={premature:!0,value:void 0},i=e[Symbol.iterator](),n=i.next(),a=e[Symbol.iterator]();a.next();let s=a.next();for(;!n.done;)(s.done||!fc(s.value.codePointAt(0))||Nr[s.value])&&(r.premature||!fc(r.value.codePointAt(0))||Nr[r.value])&&Nr[n.value]?t+=Nr[n.value]:t+=n.value,r={value:n.value,premature:!1},n=i.next(),s=a.next();return t}var uv={10:!0,13:!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},hv={40:!0};function dc(e,t,r,i,n,a){if("fontStack"in t){let s=r[t.fontStack]?.default,o=s?.[e];if(o)return o.metrics.advance*t.scale+n;let l=0;for(let u of e){let h=s?.[u];h&&(l+=h.metrics.advance*t.scale+n)}return l}{let s=i[t.imageName];return s?s.displaySize[0]*t.scale*24/a+n:0}}function yc(e,t,r,i){let n=(e-t)**2;return i?e<t?n/2:n*2:n+Math.abs(r)*r}function mc(e){return/^\s+$/u.test(e)}function cv(e,t,r){let i=0;return(e===10||e===13)&&(i-=1e4),r&&(i+=150),(e===40||e===65288)&&(i+=50),(t===41||t===65289)&&(i+=50),i}function gc(e,t,r,i,n,a){let s=null,o=yc(t,r,n,a);for(let l of i){let u=yc(t-l.x,r,n,a)+l.badness;u<=o&&(s=l,o=u)}return{index:e,x:t,priorBreak:s,badness:o}}function zd(e){return e?zd(e.priorBreak).concat(e.index):[]}var Hl=class Jo{constructor(t="",r=[],i=[]){this.text=t,this.sections=r,this.sectionIndex=i,this.imageSectionID=null,this._graphemes=null}graphemes(){return this._graphemes??(this._graphemes=Wo(this.text)),this._graphemes}static fromFeature(t,r){let i=new Jo;for(let n of t.sections)n.image?i.addImageSection(n):i.addTextSection(n,r);return i}length(){return this.graphemes().length}getSection(t){return this.sections[this.sectionIndex[t]]}getSectionIndex(t){return this.sectionIndex[t]}verticalizePunctuation(){this.text=lv(this.text),this._graphemes=null}hasZeroWidthSpaces(){return this.text.includes("\u200B")}trim(){let t=this.graphemes(),r=0;for(;r<t.length&&mc(t[r]);)r++;let i=t.length;for(;i>r&&mc(t[i-1]);)i--;this.text=t.slice(r,i).join(""),this.sectionIndex=this.sectionIndex.slice(r,i),this._graphemes=null}substring(t,r){let i=this.graphemes().slice(t,r).join(""),n=this.sectionIndex.slice(t,r);return new Jo(i,this.sections,n)}toCodeUnitIndex(t){return this.graphemes().slice(0,t).join("").length}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((t,r)=>Math.max(t,this.sections[r].scale),0)}getMaxImageSize(t){let r=0,i=0;for(let n=0;n<this.length();n++){let a=this.getSection(n);if("imageName"in a){let s=t[a.imageName];if(!s)continue;let o=s.displaySize;r=Math.max(r,o[0]),i=Math.max(i,o[1])}}return{maxImageWidth:r,maxImageHeight:i}}_appendSection(t,r){let i=this.graphemes(),n=i.length>0?i[i.length-1]:"",a=Wo(n+t);this.text+=t,this._graphemes=i.slice(0,n?-1:void 0).concat(a);let s=a.length-+!!n;for(let o=0;o<s;o++)this.sectionIndex.push(r)}addTextSection(t,r){this.sections.push({scale:t.scale||1,verticalAlign:t.verticalAlign||"bottom",fontStack:t.fontStack||r}),this._appendSection(t.text,this.sections.length-1)}addImageSection(t){let r=t.image?t.image.name:"";if(r.length===0){Me("Can't add FormattedSection with an empty image.");return}let i=this.getNextImageSectionCharCode();if(!i){Me("Reached maximum number of images 6401");return}this.sections.push({scale:1,verticalAlign:t.verticalAlign||"bottom",imageName:r}),this._appendSection(String.fromCharCode(i),this.sections.length-1)}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(t,r,i,n,a){let s=this.determineTotalWidth(t,i,n,a);if(t>=0&&s>0&&s<=r&&!/[\n\r]/.test(this.text))return[this.length()];let o=[],l=s/Math.max(1,Math.ceil(s/r)),u=this.hasZeroWidthSpaces(),h=this.graphemes(),c=null,p=0,f=0;for(let d=0;d<h.length;d++){let y=h[d];if(d>0){let m=h[d-1].codePointAt(0),g=y.codePointAt(0),x=L2(m),b=uc(m)&&uc(g);(uv[m]||x||"imageName"in this.getSection(d-1)||h[d+1]!==void 0&&hv[g]||b&&(c??(c=av(this.text))).has(f))&&o.push(gc(d,p,l,o,cv(m,g,x&&u),!1))}Wl(y.codePointAt(0))||(p+=dc(y,this.getSection(d),i,n,t,a)),f+=y.length}return zd(gc(this.length(),p,l,o,0,!0))}determineTotalWidth(t,r,i,n){let a=0,s=0;for(let o of this.graphemes()){let l=this.getSection(s);a+=dc(o,l,r,i,t,n),s++}return a}};function pv(){return(function(e){var t={R:"13k,1a,2,3,3,2+1j,ch+16,a+1,5+2,2+n,5,a,4,6+16,4+3,h+1b,4mo,179q,2+9,2+11,2i9+7y,2+68,4,3+4,5+13,4+3,2+4k,3+29,8+cf,1t+7z,w+17,3+3m,1t+3z,16o1+5r,8+30,8+mc,29+1r,29+4v,75+73",EN:"1c+9,3d+1,6,187+9,513,4+5,7+9,sf+j,175h+9,qw+q,161f+1d,4xt+a,25i+9",ES:"17,2,6dp+1,f+1,av,16vr,mx+1,4o,2",ET:"z+2,3h+3,b+1,ym,3e+1,2o,p4+1,8,6u,7c,g6,1wc,1n9+4,30+1b,2n,6d,qhx+1,h0m,a+1,49+2,63+1,4+1,6bb+3,12jj",AN:"16o+5,2j+9,2+1,35,ed,1ff2+9,87+u",CS:"18,2+1,b,2u,12k,55v,l,17v0,2,3,53,2+1,b",B:"a,3,f+2,2v,690",S:"9,2,k",WS:"c,k,4f4,1vk+a,u,1j,335",ON:"x+1,4+4,h+5,r+5,r+3,z,5+3,2+1,2+1,5,2+2,3+4,o,w,ci+1,8+d,3+d,6+8,2+g,39+1,9,6+1,2,33,b8,3+1,3c+1,7+1,5r,b,7h+3,sa+5,2,3i+6,jg+3,ur+9,2v,ij+1,9g+9,7+a,8m,4+1,49+x,14u,2+2,c+2,e+2,e+2,e+1,i+n,e+e,2+p,u+2,e+2,36+1,2+3,2+1,b,2+2,6+5,2,2,2,h+1,5+4,6+3,3+f,16+2,5+3l,3+81,1y+p,2+40,q+a,m+13,2r+ch,2+9e,75+hf,3+v,2+2w,6e+5,f+6,75+2a,1a+p,2+2g,d+5x,r+b,6+3,4+o,g,6+1,6+2,2k+1,4,2j,5h+z,1m+1,1e+f,t+2,1f+e,d+3,4o+3,2s+1,w,535+1r,h3l+1i,93+2,2s,b+1,3l+x,2v,4g+3,21+3,kz+1,g5v+1,5a,j+9,n+v,2,3,2+8,2+1,3+2,2,3,46+1,4+4,h+5,r+5,r+a,3h+2,4+6,b+4,78,1r+24,4+c,4,1hb,ey+6,103+j,16j+c,1ux+7,5+g,fsh,jdq+1t,4,57+2e,p1,1m,1m,1m,1m,4kt+1,7j+17,5+2r,d+e,3+e,2+e,2+10,m+4,w,1n+5,1q,4z+5,4b+rb,9+c,4+c,4+37,d+2g,8+b,l+b,5+1j,9+9,7+13,9+t,3+1,27+3c,2+29,2+3q,d+d,3+4,4+2,6+6,a+o,8+6,a+2,e+6,16+42,2+1i",BN:"0+8,6+d,2s+5,2+p,e,4m9,1kt+2,2b+5,5+5,17q9+v,7k,6p+8,6+1,119d+3,440+7,96s+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+1,1ekf+75,6p+2rz,1ben+1,1ekf+1,1ekf+1",NSM:"lc+33,7o+6,7c+18,2,2+1,2+1,2,21+a,1d+k,h,2u+6,3+5,3+1,2+3,10,v+q,2k+a,1n+8,a,p+3,2+8,2+2,2+4,18+2,3c+e,2+v,1k,2,5+7,5,4+6,b+1,u,1n,5+3,9,l+1,r,3+1,1m,5+1,5+1,3+2,4,v+1,4,c+1,1m,5+4,2+1,5,l+1,n+5,2,1n,3,2+3,9,8+1,c+1,v,1q,d,1f,4,1m+2,6+2,2+3,8+1,c+1,u,1n,g+1,l+1,t+1,1m+1,5+3,9,l+1,u,21,8+2,2,2j,3+6,d+7,2r,3+8,c+5,23+1,s,2,2,1k+d,2+4,2+1,6+a,2+z,a,2v+3,2+5,2+1,3+1,q+1,5+2,h+3,e,3+1,7,g,jk+2,qb+2,u+2,u+1,v+1,1t+1,2+6,9,3+a,a,1a+2,3c+1,z,3b+2,5+1,a,7+2,64+1,3,1n,2+6,2,2,3+7,7+9,3,1d+g,1s+3,1d,2+4,2,6,15+8,d+1,x+3,3+1,2+2,1l,2+1,4,2+2,1n+7,3+1,49+2,2+c,2+6,5,7,4+1,5j+1l,2+4,k1+w,2db+2,3y,2p+v,ff+3,30+1,n9x+3,2+9,x+1,29+1,7l,4,5,q+1,6,48+1,r+h,e,13+7,q+a,1b+2,1d,3+3,3+1,14,1w+5,3+1,3+1,d,9,1c,1g,2+2,3+1,6+1,2,17+1,9,6n,3,5,fn5,ki+f,h+f,r2,6b,46+4,1af+2,2+1,6+3,15+2,5,4m+1,fy+3,as+1,4a+a,4x,1j+e,1l+2,1e+3,3+1,1y+2,11+4,2+7,1r,d+1,1h+8,b+3,3,2o+2,3,2+1,7,4h,4+7,m+1,1m+1,4,12+6,4+4,5g+7,3+2,2,o,2d+5,2,5+1,2+1,6n+3,7+1,2+1,s+1,2e+7,3,2+1,2z,2,3+5,2,2u+2,3+3,2+4,78+8,2+1,75+1,2,5,41+3,3+1,5,x+5,3+1,15+5,3+3,9,a+5,3+2,1b+c,2+1,bb+6,2+5,2d+l,3+6,2+1,2+1,3f+5,4,2+1,2+6,2,21+1,4,2,9o+1,f0c+4,1o+6,t5,1s+3,2a,f5l+1,43t+2,i+7,3+6,v+3,45+2,1j0+1i,5+1d,9,f,n+4,2+e,11t+6,2+g,3+6,2+1,2+4,7a+6,c6+3,15t+6,32+6,gzhy+6n",AL:"16w,3,2,e+1b,z+2,2+2s,g+1,8+1,b+m,2+t,s+2i,c+e,4h+f,1d+1e,1bwe+dp,3+3z,x+c,2+1,35+3y,2rm+z,5+7,b+5,dt+l,c+u,17nl+27,1t+27,4x+6n,3+d",LRO:"6ct",RLO:"6cu",LRE:"6cq",RLE:"6cr",PDF:"6cs",LRI:"6ee",RLI:"6ef",FSI:"6eg",PDI:"6eh"},r={},i={};r.L=1,i[1]="L",Object.keys(t).forEach(function($,ae){r[$]=1<<ae+1,i[r[$]]=$}),Object.freeze(r);var n=r.LRI|r.RLI|r.FSI,a=r.L|r.R|r.AL,s=r.B|r.S|r.WS|r.ON|r.FSI|r.LRI|r.RLI|r.PDI,o=r.BN|r.RLE|r.LRE|r.RLO|r.LRO|r.PDF,l=r.S|r.WS|r.B|n|r.PDI|o,u=null;function h(){if(!u){u=new Map;var $=0;for(var ae in t)if(t.hasOwnProperty(ae))for(var W=t[ae],k="",se=void 0,Y=!1,J=0,G=0;G<=W.length+1;G+=1){var Ne=W[G];if(Ne!==","&&G!==W.length)Ne==="+"?(Y=!0,J=$=J+parseInt(k,36),k=""):k+=Ne;else{Y?se=$+parseInt(k,36):(J=$=J+parseInt(k,36),se=$),Y=!1,k="",J=se;for(var ve=$;ve<se+1;ve+=1)u.set(ve,r[ae])}}}}function c($){return h(),u.get($.codePointAt(0))||r.L}function p($){return i[c($)]}var f={pairs:"14>1,1e>2,u>2,2wt>1,1>1,1ge>1,1wp>1,1j>1,f>1,hm>1,1>1,u>1,u6>1,1>1,+5,28>1,w>1,1>1,+3,b8>1,1>1,+3,1>3,-1>-1,3>1,1>1,+2,1s>1,1>1,x>1,th>1,1>1,+2,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,4q>1,1e>2,u>2,2>1,+1",canonical:"6f1>-6dx,6dy>-6dx,6ec>-6ed,6ee>-6ed,6ww>2jj,-2ji>2jj,14r4>-1e7l,1e7m>-1e7l,1e7m>-1e5c,1e5d>-1e5b,1e5c>-14qx,14qy>-14qx,14vn>-1ecg,1ech>-1ecg,1edu>-1ecg,1eci>-1ecg,1eda>-1ecg,1eci>-1ecg,1eci>-168q,168r>-168q,168s>-14ye,14yf>-14ye"};function d($,ae){var W=0,k=new Map,se=ae&&new Map,Y;return $.split(",").forEach(function J(G){if(G.indexOf("+")!==-1)for(var Ne=+G;Ne--;)J(Y);else{Y=G;var ve=G.split(">"),ne=ve[0],Te=ve[1];ne=String.fromCodePoint(W+=parseInt(ne,36)),Te=String.fromCodePoint(W+=parseInt(Te,36)),k.set(ne,Te),ae&&se.set(Te,ne)}}),{map:k,reverseMap:se}}var y,m,g;function x(){if(!y){var $=d(f.pairs,!0),ae=$.map,W=$.reverseMap;y=ae,m=W,g=d(f.canonical,!1).map}}function b($){return x(),y.get($)||null}function v($){return x(),m.get($)||null}function w($){return x(),g.get($)||null}var _=r.L,S=r.R,E=r.EN,T=r.ES,V=r.ET,C=r.AN,R=r.CS,U=r.B,A=r.S,P=r.ON,z=r.BN,O=r.NSM,q=r.AL,re=r.LRO,le=r.RLO,pe=r.LRE,ie=r.RLE,Ce=r.PDF,ot=r.LRI,ft=r.RLI,Lt=r.FSI,Ze=r.PDI;function _r($,ae){for(var W=125,k=new Uint32Array($.length),se=0;se<$.length;se++)k[se]=c($[se]);var Y=new Map;function J(Ge,lt){var Ye=k[Ge];k[Ge]=lt,Y.set(Ye,Y.get(Ye)-1),Ye&s&&Y.set(s,Y.get(s)-1),Y.set(lt,(Y.get(lt)||0)+1),lt&s&&Y.set(s,(Y.get(s)||0)+1)}for(var G=new Uint8Array($.length),Ne=new Map,ve=[],ne=null,Te=0;Te<$.length;Te++)ne||ve.push(ne={start:Te,end:$.length-1,level:ae==="rtl"?1:ae==="ltr"?0:Nu(Te,!1)}),k[Te]&U&&(ne.end=Te,ne=null);for(var pi=ie|pe|le|re|n|Ze|Ce|U,rr=function(Ge){return Ge+(Ge&1?1:2)},Vt=function(Ge){return Ge+(Ge&1?2:1)},Ot=0;Ot<ve.length;Ot++){ne=ve[Ot];var ue=[{_level:ne.level,_override:0,_isolate:0}],be=void 0,Tt=0,Rt=0,Za=0;Y.clear();for(var ze=ne.start;ze<=ne.end;ze++){var Le=k[ze];if(be=ue[ue.length-1],Y.set(Le,(Y.get(Le)||0)+1),Le&s&&Y.set(s,(Y.get(s)||0)+1),Le&pi)if(Le&(ie|pe)){G[ze]=be._level;var yu=(Le===ie?Vt:rr)(be._level);yu<=W&&!Tt&&!Rt?ue.push({_level:yu,_override:0,_isolate:0}):Tt||Rt++}else if(Le&(le|re)){G[ze]=be._level;var mu=(Le===le?Vt:rr)(be._level);mu<=W&&!Tt&&!Rt?ue.push({_level:mu,_override:Le&le?S:_,_isolate:0}):Tt||Rt++}else if(Le&n){Le&Lt&&(Le=Nu(ze+1,!0)===1?ft:ot),G[ze]=be._level,be._override&&J(ze,be._override);var gu=(Le===ft?Vt:rr)(be._level);gu<=W&&Tt===0&&Rt===0?(Za++,ue.push({_level:gu,_override:0,_isolate:1,_isolInitIndex:ze})):Tt++}else if(Le&Ze){if(Tt>0)Tt--;else if(Za>0){for(Rt=0;!ue[ue.length-1]._isolate;)ue.pop();var Wa=ue[ue.length-1]._isolInitIndex;Wa!=null&&(Ne.set(Wa,ze),Ne.set(ze,Wa)),ue.pop(),Za--}be=ue[ue.length-1],G[ze]=be._level,be._override&&J(ze,be._override)}else Le&Ce?(Tt===0&&(Rt>0?Rt--:!be._isolate&&ue.length>1&&(ue.pop(),be=ue[ue.length-1])),G[ze]=be._level):Le&U&&(G[ze]=ne.level);else G[ze]=be._level,be._override&&Le!==z&&J(ze,be._override)}for(var Er=[],dt=null,ir=ne.start;ir<=ne.end;ir++){var Ha=k[ir];if(!(Ha&o)){var xu=G[ir],vu=Ha&n,Yy=Ha===Ze;dt&&xu===dt._level?(dt._end=ir,dt._endsWithIsolInit=vu):Er.push(dt={_start:ir,_end:ir,_level:xu,_startsWithPDI:Yy,_endsWithIsolInit:vu})}}for(var Ja=[],wn=0;wn<Er.length;wn++){var Dn=Er[wn];if(!Dn._startsWithPDI||Dn._startsWithPDI&&!Ne.has(Dn._start)){for(var Ka=[dt=Dn],bu=void 0;dt&&dt._endsWithIsolInit&&(bu=Ne.get(dt._end))!=null;)for(var _n=wn+1;_n<Er.length;_n++)if(Er[_n]._start===bu){Ka.push(dt=Er[_n]);break}for(var Fr=[],Qa=0;Qa<Ka.length;Qa++)for(var wu=Ka[Qa],es=wu._start;es<=wu._end;es++)Fr.push(es);for(var Xy=G[Fr[0]],Du=ne.level,Sn=Fr[0]-1;Sn>=0;Sn--)if(!(k[Sn]&o)){Du=G[Sn];break}var ts=Fr[Fr.length-1],Zy=G[ts],_u=ne.level;if(!(k[ts]&n)){for(var An=ts+1;An<=ne.end;An++)if(!(k[An]&o)){_u=G[An];break}}Ja.push({_seqIndices:Fr,_sosType:Math.max(Du,Xy)%2?S:_,_eosType:Math.max(_u,Zy)%2?S:_})}}for(var rs=0;rs<Ja.length;rs++){var is=Ja[rs],j=is._seqIndices,fi=is._sosType,Wy=is._eosType,Tr=G[j[0]]&1?S:_;if(Y.get(O))for(var En=0;En<j.length;En++){var Su=j[En];if(k[Su]&O){for(var ns=fi,Fn=En-1;Fn>=0;Fn--)if(!(k[j[Fn]]&o)){ns=k[j[Fn]];break}J(Su,ns&(n|Ze)?P:ns)}}if(Y.get(E))for(var Tn=0;Tn<j.length;Tn++){var Au=j[Tn];if(k[Au]&E)for(var kn=Tn-1;kn>=-1;kn--){var Eu=kn===-1?fi:k[j[kn]];if(Eu&a){Eu===q&&J(Au,C);break}}}if(Y.get(q))for(var as=0;as<j.length;as++){var Fu=j[as];k[Fu]&q&&J(Fu,S)}if(Y.get(T)||Y.get(R))for(var di=1;di<j.length-1;di++){var ss=j[di];if(k[ss]&(T|R)){for(var kr=0,os=0,ls=di-1;ls>=0&&(kr=k[j[ls]],kr&o);ls--);for(var us=di+1;us<j.length&&(os=k[j[us]],os&o);us++);kr===os&&(k[ss]===T?kr===E:kr&(E|C))&&J(ss,kr)}}if(Y.get(E)){for(var yt=0;yt<j.length;yt++)if(k[j[yt]]&E){for(var In=yt-1;In>=0&&k[j[In]]&(V|o);In--)J(j[In],E);for(yt++;yt<j.length&&k[j[yt]]&(V|o|E);yt++)k[j[yt]]!==E&&J(j[yt],E)}}if(Y.get(V)||Y.get(T)||Y.get(R))for(var yi=0;yi<j.length;yi++){var Tu=j[yi];if(k[Tu]&(V|T|R)){J(Tu,P);for(var Cn=yi-1;Cn>=0&&k[j[Cn]]&o;Cn--)J(j[Cn],P);for(var Bn=yi+1;Bn<j.length&&k[j[Bn]]&o;Bn++)J(j[Bn],P)}}if(Y.get(E))for(var hs=0,ku=fi;hs<j.length;hs++){var Iu=j[hs],cs=k[Iu];cs&E?ku===_&&J(Iu,_):cs&a&&(ku=cs)}if(Y.get(s)){for(var mi=S|E|C,Cu=mi|_,Pn=[],Ir=[],Cr=0;Cr<j.length;Cr++)if(k[j[Cr]]&s){var gi=$[j[Cr]],Bu=void 0;if(b(gi)!==null)if(Ir.length<63)Ir.push({char:gi,seqIndex:Cr});else break;else if((Bu=v(gi))!==null)for(var xi=Ir.length-1;xi>=0;xi--){var ps=Ir[xi].char;if(ps===Bu||ps===v(w(gi))||b(w(ps))===gi){Pn.push([Ir[xi].seqIndex,Cr]),Ir.length=xi;break}}}Pn.sort(function(Ge,lt){return Ge[0]-lt[0]});for(var fs=0;fs<Pn.length;fs++){for(var Pu=Pn[fs],Mn=Pu[0],ds=Pu[1],Mu=!1,mt=0,ys=Mn+1;ys<ds;ys++){var zu=j[ys];if(k[zu]&Cu){Mu=!0;var Lu=k[zu]&mi?S:_;if(Lu===Tr){mt=Lu;break}}}if(Mu&&!mt){mt=fi;for(var ms=Mn-1;ms>=0;ms--){var Vu=j[ms];if(k[Vu]&Cu){var Ou=k[Vu]&mi?S:_;mt=Ou===Tr?Tr:Ou;break}}}if(mt){if(k[j[Mn]]=k[j[ds]]=mt,mt!==Tr){for(var vi=Mn+1;vi<j.length;vi++)if(!(k[j[vi]]&o)){c($[j[vi]])&O&&(k[j[vi]]=mt);break}}if(mt!==Tr){for(var bi=ds+1;bi<j.length;bi++)if(!(k[j[bi]]&o)){c($[j[bi]])&O&&(k[j[bi]]=mt);break}}}}for(var $t=0;$t<j.length;$t++)if(k[j[$t]]&s){for(var Ru=$t,gs=$t,xs=fi,wi=$t-1;wi>=0;wi--)if(k[j[wi]]&o)Ru=wi;else{xs=k[j[wi]]&mi?S:_;break}for(var $u=Wy,Di=$t+1;Di<j.length;Di++)if(k[j[Di]]&(s|o))gs=Di;else{$u=k[j[Di]]&mi?S:_;break}for(var vs=Ru;vs<=gs;vs++)k[j[vs]]=xs===$u?xs:Tr;$t=gs}}}for(var We=ne.start;We<=ne.end;We++){var Hy=G[We],zn=k[We];if(Hy&1?zn&(_|E|C)&&G[We]++:zn&S?G[We]++:zn&(C|E)&&(G[We]+=2),zn&o&&(G[We]=We===0?ne.level:G[We-1]),We===ne.end||c($[We])&(A|U))for(var Ln=We;Ln>=0&&c($[Ln])&l;Ln--)G[Ln]=ne.level}}return{levels:G,paragraphs:ve};function Nu(Ge,lt){for(var Ye=Ge;Ye<$.length;Ye++){var Nt=k[Ye];if(Nt&(S|q))return 1;if(Nt&(U|_)||lt&&Nt===Ze)return 0;if(Nt&n){var Uu=Jy(Ye);Ye=Uu===-1?$.length:Uu}}return 0}function Jy(Ge){for(var lt=1,Ye=Ge+1;Ye<$.length;Ye++){var Nt=k[Ye];if(Nt&U)break;if(Nt&Ze){if(--lt===0)return Ye}else Nt&n&&lt++}return-1}}var Sr="14>1,j>2,t>2,u>2,1a>g,2v3>1,1>1,1ge>1,1wd>1,b>1,1j>1,f>1,ai>3,-2>3,+1,8>1k0,-1jq>1y7,-1y6>1hf,-1he>1h6,-1h5>1ha,-1h8>1qi,-1pu>1,6>3u,-3s>7,6>1,1>1,f>1,1>1,+2,3>1,1>1,+13,4>1,1>1,6>1eo,-1ee>1,3>1mg,-1me>1mk,-1mj>1mi,-1mg>1mi,-1md>1,1>1,+2,1>10k,-103>1,1>1,4>1,5>1,1>1,+10,3>1,1>8,-7>8,+1,-6>7,+1,a>1,1>1,u>1,u6>1,1>1,+5,26>1,1>1,2>1,2>2,8>1,7>1,4>1,1>1,+5,b8>1,1>1,+3,1>3,-2>1,2>1,1>1,+2,c>1,3>1,1>1,+2,h>1,3>1,a>1,1>1,2>1,3>1,1>1,d>1,f>1,3>1,1a>1,1>1,6>1,7>1,13>1,k>1,1>1,+19,4>1,1>1,+2,2>1,1>1,+18,m>1,a>1,1>1,lk>1,1>1,4>1,2>1,f>1,3>1,1>1,+3,db>1,1>1,+3,3>1,1>1,+2,14qm>1,1>1,+1,6>1,4j>1,j>2,t>2,u>2,2>1,+1",er;function ci(){if(!er){var $=d(Sr,!0),ae=$.map;$.reverseMap.forEach(function(W,k){ae.set(k,W)}),er=ae}}function Et($){return ci(),er.get($)||null}function $e($,ae,W,k){var se=$.length;W=Math.max(0,W==null?0:+W),k=Math.min(se-1,k==null?se-1:+k);for(var Y=new Map,J=W;J<=k;J++)if(ae[J]&1){var G=Et($[J]);G!==null&&Y.set(J,G)}return Y}function Ft($,ae,W,k){var se=$.length;W=Math.max(0,W==null?0:+W),k=Math.min(se-1,k==null?se-1:+k);var Y=[];return ae.paragraphs.forEach(function(J){var G=Math.max(W,J.start),Ne=Math.min(k,J.end);if(G<Ne){for(var ve=ae.levels.slice(G,Ne+1),ne=Ne;ne>=G&&c($[ne])&l;ne--)ve[ne]=J.level;for(var Te=J.level,pi=1/0,rr=0;rr<ve.length;rr++){var Vt=ve[rr];Vt>Te&&(Te=Vt),Vt<pi&&(pi=Vt|1)}for(var Ot=Te;Ot>=pi;Ot--)for(var ue=0;ue<ve.length;ue++)if(ve[ue]>=Ot){for(var be=ue;ue+1<ve.length&&ve[ue+1]>=Ot;)ue++;ue>be&&Y.push([be+G,ue+G])}}}),Y}function tr($,ae,W,k){var se=Ar($,ae,W,k),Y=[].concat($);return se.forEach(function(J,G){Y[G]=(ae.levels[J]&1?Et($[J]):null)||$[J]}),Y.join("")}function Ar($,ae,W,k){for(var se=Ft($,ae,W,k),Y=[],J=0;J<$.length;J++)Y[J]=J;return se.forEach(function(G){for(var Ne=G[0],ve=G[1],ne=Y.slice(Ne,ve+1),Te=ne.length;Te--;)Y[ve-Te]=ne[Te]}),Y}return e.closingToOpeningBracket=v,e.getBidiCharType=c,e.getBidiCharTypeName=p,e.getCanonicalBracket=w,e.getEmbeddingLevels=_r,e.getMirroredCharacter=Et,e.getMirroredCharactersMap=$e,e.getReorderSegments=Ft,e.getReorderedIndices=Ar,e.getReorderedString=tr,e.openingToClosingBracket=b,Object.defineProperty(e,"__esModule",{value:!0}),e})({})}var Jl=pv(),fv=/[\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/,dv=new Set(["WS","FSI","LRI","RLI","PDI"]),yv=new Set(["S","B"]);function mv(e,t,r,i){let n=[],a=r;for(let s of Wo(e.slice(r,i)))n.push({index:a,text:s,level:t[a]}),a+=s.length;return n}function gv(e,t){let r=!0;for(let i=e.length-1;i>=0;i--){let n=Jl.getBidiCharTypeName(e[i].text[0]);yv.has(n)?(e[i].level=t,r=!0):r&&dv.has(n)?e[i].level=t:r=!1}}function xv(e,t){let r=t,i=1/0;for(let{level:a}of e)a>r&&(r=a),(a|1)<i&&(i=a|1);let n=e.slice();for(let a=r;a>=i;a--)for(let s=0;s<n.length;s++){if(n[s].level<a)continue;let o=s;for(;o+1<n.length&&n[o+1].level>=a;)o++;for(let l=s,u=o;l<u;l++,u--)[n[l],n[u]]=[n[u],n[l]];s=o}return n}function vv(e){return e.level%2==0?e.text:Jl.getMirroredCharacter(e.text)??e.text}function bv(e,t){return e.find(r=>t>=r.start&&t<=r.end)?.level??0}function wv(e,t,r,i,n){let a=mv(e,t,i,n);gv(a,r);let s="",o=[];for(let l of xv(a,r)){if(fv.test(l.text))continue;let u=vv(l);s+=u,o.push(...Array(u.length).fill(l.index))}return{text:s,sourceIndices:o}}function Dv(e,t){let r=t.filter(a=>a>0&&a<e.length),i=[...new Set([0,...r,e.length])].sort((a,s)=>a-s),n=[];for(let a=0;a+1<i.length;a++)n.push([i[a],i[a+1]]);return n}function Ld(e,t){let{levels:r,paragraphs:i}=Jl.getEmbeddingLevels(e);return Dv(e,t.concat(i.map(n=>n.start))).map(([n,a])=>wv(e,r,bv(i,n),n,a))}function _v(e,t){return Ld(e,t).map(r=>r.text)}function Sv(e,t,r){return Ld(e,r).map(i=>[i.text,i.sourceIndices.map(n=>t[n]??0)])}var Ko=4294967296,xc=1/Ko,vc=typeof TextDecoder>"u"?null:new TextDecoder("utf-8"),Vd=class{constructor(e){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.type=0,this._valueStart=-1,this.length=this.buf.length}readFields(e,t,r=this.length){let i;for(;i=this.nextField(r);)e(i,t,this);return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){let e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){let e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Ko;return this.pos+=8,e}readSFixed64(){let e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Ko;return this.pos+=8,e}readFloat(){let e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){let e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){let t=this.buf,r=t[this.pos++];if(r<128)return r;let i=r&127,n;return n=t[this.pos++],i|=(n&127)<<7,n<128||(n=t[this.pos++],i|=(n&127)<<14,n<128)||(n=t[this.pos++],i|=(n&127)<<21,n<128)?i:(n=t[this.pos],i|=(n&15)<<28,Ev(i,e,this))}readSVarint(){let e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return!!this.readVarint()}readString(){let e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&vc?vc.decode(this.buf.subarray(t,e)):$v(this.buf,t,e)}readBytes(){let e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){let r=this.readPackedEnd();for(;this.pos<r;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){let t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return this.type===2?this.readVarint()+this.pos:this.pos+1}nextField(e=this.length){if(this.pos===this._valueStart&&this.skip(this.type),this.pos>=e)return 0;let t=this.readVarint();return this.type=t&7,this._valueStart=this.pos,t>>>3}skip(e){let t=e&7;if(t===0)for(;this.buf[this.pos++]>127;);else if(t===2)this.pos=this.readVarint()+this.pos;else if(t===5)this.pos+=4;else if(t===1)this.pos+=8;else throw Error(`Unimplemented type: ${t}`)}},Av=class{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer,this.buf.byteOffset,this.buf.byteLength),this.pos=0,this.length=this.buf.length}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){let r=new Uint8Array(t);r.set(this.buf),this.buf=r,this.dataView=new DataView(r.buffer),this.length=t}}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}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*xc),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,e&-1,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*xc),!0),this.pos+=8}writeVarint(e){if(e=+e||0,e>=0&&e<128){this.pos>=this.length&&this.realloc(1),this.buf[this.pos++]=e;return}if(e>268435455||e<0){Tv(e,this);return}this.realloc(4),this.buf[this.pos++]=e&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=(e>>>=7)&127|(e>127?128:0),!(e<=127)&&(this.buf[this.pos++]=e>>>7&127)))}writeSVarint(e){this.writeVarint(e<0?-e*2-1:e*2)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(e.length*4),this.pos++;let t=this.pos;this.pos=Nv(this.buf,e,this.pos);let r=this.pos-t;r>=128&&bc(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r}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){let t=e.length;this.writeVarint(t),this.realloc(t),this.buf.set(e,this.pos),this.pos+=t}writeRawMessage(e,t){this.pos++;let r=this.pos;e(t,this);let i=this.pos-r;i>=128&&bc(r,i,this),this.pos=r-1,this.writeVarint(i),this.pos+=i}writeMessage(e,t,r){this.writeTag(e,2),this.writeRawMessage(t,r)}writePackedVarint(e,t){t.length&&this.writeMessage(e,Cv,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,Bv,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,zv,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,Pv,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,Mv,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,Lv,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,Vv,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,Ov,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,Rv,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}};function Ev(e,t,r){let i=r.buf,n,a;if(a=i[r.pos++],n=(a&112)>>4,a<128||(a=i[r.pos++],n|=(a&127)<<3,a<128)||(a=i[r.pos++],n|=(a&127)<<10,a<128)||(a=i[r.pos++],n|=(a&127)<<17,a<128)||(a=i[r.pos++],n|=(a&127)<<24,a<128)||(a=i[r.pos++],n|=(a&1)<<31,a<128))return Fv(e,n,t);throw Error("Expected varint not more than 10 bytes")}function Fv(e,t,r){return r?t*4294967296+(e>>>0):(t>>>0)*4294967296+(e>>>0)}function Tv(e,t){let r,i;if(e>=0?(r=e%4294967296|0,i=e/4294967296|0):(r=~(-e%4294967296),i=~(-e/4294967296),r^4294967295?r=r+1|0:(r=0,i=i+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw Error("Given varint doesn't fit into 10 bytes");t.realloc(10),kv(r,i,t),Iv(i,t)}function kv(e,t,r){r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos++]=e&127|128,e>>>=7,r.buf[r.pos]=e&127}function Iv(e,t){let r=(e&7)<<4;t.buf[t.pos++]|=r|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=e&127)))))}function bc(e,t,r){let i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(Math.LN2*7));r.realloc(i),r.buf.copyWithin(e+i,e,r.pos)}function Cv(e,t){let r=e.length,i=t.buf,n=t.pos,a=t.length;for(let s=0;s<r;s++){let o=e[s];if(o<0||n+10>a){t.pos=n,t.writeVarint(o),i=t.buf,n=t.pos,a=t.length;continue}for(;o>127;)i[n++]=o%128|128,o=Math.floor(o/128);i[n++]=o}t.pos=n}function Bv(e,t){for(let r=0;r<e.length;r++)t.writeSVarint(e[r])}function Pv(e,t){for(let r=0;r<e.length;r++)t.writeFloat(e[r])}function Mv(e,t){for(let r=0;r<e.length;r++)t.writeDouble(e[r])}function zv(e,t){for(let r=0;r<e.length;r++)t.writeBoolean(e[r])}function Lv(e,t){for(let r=0;r<e.length;r++)t.writeFixed32(e[r])}function Vv(e,t){for(let r=0;r<e.length;r++)t.writeSFixed32(e[r])}function Ov(e,t){for(let r=0;r<e.length;r++)t.writeFixed64(e[r])}function Rv(e,t){for(let r=0;r<e.length;r++)t.writeSFixed64(e[r])}function $v(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function Nv(e,t,r){for(let i=0,n,a;i<t.length;i++){if(n=t.charCodeAt(i),n>55295&&n<57344)if(a){if(n<56320){e[r++]=239,e[r++]=191,e[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else{n>56319||i+1===t.length?(e[r++]=239,e[r++]=191,e[r++]=189):a=n;continue}else a&&(a=(e[r++]=239,e[r++]=191,e[r++]=189,null));n<128?e[r++]=n:(n<2048?e[r++]=n>>6|192:(n<65536?e[r++]=n>>12|224:(e[r++]=n>>18|240,e[r++]=n>>12&63|128),e[r++]=n>>6&63|128),e[r++]=n&63|128)}return r}function Uv(e){return typeof e?.renderWithWebGL=="function"}function Od(e){let t=0,r=0;for(let s of e)t+=s.w*s.h,r=Math.max(r,s.w);e.sort((s,o)=>o.h-s.h);let i=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}],n=0,a=0;for(let s of e)for(let o=i.length-1;o>=0;o--){let l=i[o];if(!(s.w>l.w||s.h>l.h)){if(s.x=l.x,s.y=l.y,a=Math.max(a,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===l.w&&s.h===l.h){let u=i.pop();u&&o<i.length&&(i[o]=u)}else s.h===l.h?(l.x+=s.w,l.w-=s.w):s.w===l.w?(l.y+=s.h,l.h-=s.h):(i.push({x:l.x+s.w,y:l.y,w:l.w-s.w,h:s.h}),l.y+=s.h,l.h-=s.h);break}}return{w:n,h:a,fill:t/(n*a)||0}}var Rd=class{constructor(e,{pixelRatio:t,version:r,isWebGLImage:i=!1,stretchX:n,stretchY:a,content:s,textFitWidth:o,textFitHeight:l}){this.paddedRect=e,this.pixelRatio=t,this.stretchX=n,this.stretchY=a,this.content=s,this.version=r,this.needsFirstWebGLRender=i,this.textFitWidth=o,this.textFitHeight=l}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]}},$d=class{constructor(e,t){let r={},i={};this.haveRenderCallbacks=[],this.patchedUpdateVersion=-1;let n=[];this.addImages(e,r,n),this.addImages(t,i,n);let{w:a,h:s}=Od(n),o=new Ke({width:a||1,height:s||1});for(let l in e){let u=e[l];if(u.isWebGLImage)continue;let h=r[l].paddedRect;Ke.copy(u.data,o,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(let l in t){let u=t[l],h=i[l].paddedRect,c=h.x+1,p=h.y+1,f=u.data.width,d=u.data.height;Ke.copy(u.data,o,{x:0,y:0},{x:c,y:p},u.data),Ke.copy(u.data,o,{x:0,y:d-1},{x:c,y:p-1},{width:f,height:1}),Ke.copy(u.data,o,{x:0,y:0},{x:c,y:p+d},{width:f,height:1}),Ke.copy(u.data,o,{x:f-1,y:0},{x:c-1,y:p},{width:1,height:d}),Ke.copy(u.data,o,{x:0,y:0},{x:c+f,y:p},{width:1,height:d})}this.image=o,this.iconPositions=r,this.patternPositions=i}addImages(e,t,r){for(let i in e){let n=e[i],a={x:0,y:0,w:n.data.width+2,h:n.data.height+2};r.push(a),t[i]=new Rd(a,n),n.hasRenderCallback&&this.haveRenderCallbacks.push(i)}}patchUpdatedImages(e,t){if(e.dispatchRenderCallbacks(this.haveRenderCallbacks),this.patchedUpdateVersion!==e.updateVersion){this.patchedUpdateVersion=e.updateVersion;for(let r in this.iconPositions)this.patchUpdatedImage(this.iconPositions[r],e.getImage(r),t);for(let r in this.patternPositions)this.patchUpdatedImage(this.patternPositions[r],e.getImage(r),t)}}patchUpdatedImage(e,t,r){if(!e||!t||!e.needsFirstWebGLRender&&e.version===t.version)return;e.needsFirstWebGLRender=!1,e.version=t.version;let[i,n]=e.tl,a=t.userImage?.data;if(!Uv(a)){r.update(t.data,void 0,{x:i,y:n});return}let{width:s,height:o}=t.data;r.context.setCustomLayerDefaults(),a.renderWithWebGL({gl:r.context.gl,texture:r.texture,x:i,y:n,width:s,height:o}),r.context.setDirty()}};B("ImagePosition",Rd),B("ImageAtlas",$d);var Nd=(function(e){return e[e.none=0]="none",e[e.horizontal=1]="horizontal",e[e.vertical=2]="vertical",e[e.horizontalOnly=3]="horizontalOnly",e})(Nd||{});function qv(e){for(let t of e)if(t.positionedGlyphs.length!==0)return!1;return!0}function jv(e,t){let r=[],i=0;for(let n of t)r.push(e.substring(i,n)),i=n;return i<e.length()&&r.push(e.substring(i,e.length())),r}var wc=/^\p{gc=M}$/u;function Gv(e){let t=[],r=0;for(;r<e.length;){if(!wc.test(e[r])){t.push(r),r++;continue}let i=r;for(;i<e.length&&wc.test(e[i]);)i++;let n=e[i];if(n!==void 0&&Pd(n.codePointAt(0))){t.push(i);for(let a=i-1;a>=r;a--)t.push(a);r=i+1}else{for(let a=r;a<i;a++)t.push(a);r=i}}return t}function Yv(e){let t=[],r=0;for(let i of e.graphemes())t.push(...Array(i.length).fill(e.sectionIndex[r])),r++;return t}function Xv(e,t){let r=t.map(a=>e.toCodeUnitIndex(a)),i=ai.isParsed()?ai:null;if(e.sections.length===1)return i?i.processBidirectionalText(e.toString(),r).map(a=>Dc(a,e.sections,[...a].map(()=>0))):_v(e.toString(),r).map(a=>Qo([...a],e.sections,[...a].map(()=>0)));let n=Yv(e);return i?i.processStyledBidirectionalText(e.text,n,r).map(([a,s])=>Dc(a,e.sections,s)):Sv(e.text,n,r).map(([a,s])=>{let o=[...a];return Qo(o,e.sections,Ud(o).map(l=>s[l]??0))})}function Qo(e,t,r){let i=new Hl(e.join(""),t,[]),n=0;for(let a of i.graphemes())i.sectionIndex.push(r[n]??0),n+=[...a].length;return i}function Ud(e){let t=[],r=0;for(let i of e)t.push(r),r+=i.length;return t}function Dc(e,t,r){let i=[...e],n=Ud(i),a=Gv(i);return Qo(a.map(s=>i[s]),t,a.map(s=>r[n[s]]??0))}function Wn(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d){let y=Hl.fromFeature(e,n);c===2&&y.verticalizePunctuation();let m=y.determineLineBreaks(u,a,t,i,f),g=Md(y.text)?Xv(y,m):jv(y,m),x=[],b={positionedLines:x,text:y.toString(),top:h[1],bottom:h[1],left:h[0],right:h[0],writingMode:c,iconsInText:!1,verticalizable:!1};return rb(b,t,r,i,g,s,o,l,c,u,p,d),!qv(x)&&b}function qd(e){let t=.5,r=.5;switch(e){case"right":case"top-right":case"bottom-right":t=1;break;case"left":case"top-left":case"bottom-left":t=0}switch(e){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:t,verticalAlign:r}}function Zv(e,t,r){let i=t.getMaxScale()*24,{maxImageWidth:n,maxImageHeight:a}=t.getMaxImageSize(e),s=Math.max(i,a*r);return{verticalLineContentWidth:Math.max(i,n*r),horizontalLineContentHeight:s}}function jd(e){switch(e){case"top":return 0;case"center":return .5;default:return 1}}function Wv(e,t,r,i){if(e?.rect)return e;let n=t[r.fontStack]?.default?.[i];return n?{rect:null,metrics:n.metrics}:null}function Hv(e,t,r){return!(e===1||!t&&!Ga(r)||t&&(Wl(r)||Bd(r)))}function oa(e){return/\p{Nd}/u.test(String.fromCodePoint(e))}function Gd(e){return/\p{Lu}/u.test(String.fromCodePoint(e))}function Jv(e){return/[\p{P}\p{S}]/u.test(String.fromCodePoint(e))}function Kv(e){let t=e.some(oa)&&e.every(i=>oa(i)||Jv(i)),r=e.length<=3&&e.every(i=>Gd(i)||oa(i));return t||r}function Qv(e){return(oa(e)||Gd(e))&&!Bd(e)}function eb(e,t){let r=!1;for(let i=0;i<e.length;i++){if(t[i])continue;let n=Nr[e[i]];n&&(i===0||t[i-1])&&(i===e.length-1||t[i+1])&&(e[i]=n,t[i]=!0,r=!0)}return r}function tb(e){let t=e.graphemes().slice(),r=t.map(a=>a.codePointAt(0)),i=r.map(Ga),n=a=>!i[a]&&!Wl(r[a])&&!("imageName"in e.getSection(a));for(let a=0;a<r.length;a++){if(!n(a))continue;let s=a;for(;s+1<r.length&&n(s+1);)s++;if(Kv(r.slice(a,s+1)))for(let o=a;o<=s;o++)i[o]=Qv(r[o]);a=s}return eb(t,i)&&(e.text=t.join(""),e._graphemes=null),i}function rb(e,t,r,i,n,a,s,o,l,u,h,c){let p=0,f=0,d=0,y=0,m=o==="right"?1:o==="left"?0:.5,g=24/c,x=0;for(let w of n){w.trim();let _=w.getMaxScale(),S={positionedGlyphs:[],lineOffset:0};e.positionedLines[x]=S;let E=S.positionedGlyphs,T=0;if(!w.length()){f+=a,++x;continue}let V=Zv(i,w,g),C=l===2&&!h?tb(w):null,R=w.graphemes();for(let P=0;P<R.length;P++){let z=w.getSection(P),O=R[P],q=O.codePointAt(0),re=C?C[P]:Hv(l,h,q),le="fontStack"in z&&Cd(O)&&!t[z.fontStack]?.default?.[O]?[...O]:[O];for(let pe of le){let ie={glyph:pe.codePointAt(0),grapheme:pe,imageName:null,x:p,y:f+-17,vertical:re,scale:1,fontStack:"",sectionIndex:w.getSectionIndex(P),metrics:null,rect:null},Ce;if("fontStack"in z){if(Ce=ib(z,pe,re,V,t,r),!Ce)continue;ie.fontStack=z.fontStack}else{if(e.iconsInText=!0,z.scale*=g,Ce=nb(z,re,_,V,i),!Ce)continue;T=Math.max(T,Ce.imageOffset),ie.imageName=z.imageName}let{rect:ot,metrics:ft,baselineOffset:Lt}=Ce;if(ie.y+=Lt,ie.scale=z.scale,ie.metrics=ft,ie.rect=ot,E.push(ie),!re)p+=ft.advance*z.scale+u;else{e.verticalizable=!0;let Ze="imageName"in z?ft.advance:24;p+=Ze*z.scale+u}}}if(E.length!==0){let P=p-u;d=Math.max(P,d),ab(E,0,E.length-1,m)}p=0;let U=(_-1)*24;S.lineOffset=Math.max(T,U);let A=a*_+T;f+=A,y=Math.max(A,y),++x}let{horizontalAlign:b,verticalAlign:v}=qd(s);sb(e.positionedLines,m,b,v,d,y,a,f,n.length),e.top+=-v*f,e.bottom=e.top+f,e.left+=-b*d,e.right=e.left+d}function ib(e,t,r,i,n,a){let s=a[e.fontStack]?.default?.[t],o=Wv(s,n,e,t);if(o===null)return null;let l;if(r)l=i.verticalLineContentWidth-e.scale*24;else{let u=jd(e.verticalAlign);l=(i.horizontalLineContentHeight-e.scale*24)*u}return{rect:o.rect,metrics:o.metrics,baselineOffset:l}}function nb(e,t,r,i,n){let a=n[e.imageName];if(!a)return null;let s=a.paddedRect,o=a.displaySize,l={width:o[0],height:o[1],left:1,top:-3,advance:t?o[1]:o[0]},u;if(t)u=i.verticalLineContentWidth-o[1]*e.scale;else{let c=jd(e.verticalAlign);u=(i.horizontalLineContentHeight-o[1]*e.scale)*c}let h=(t?o[0]:o[1])*e.scale-24*r;return{rect:s,metrics:l,baselineOffset:u,imageOffset:h}}function ab(e,t,r,i){if(i===0)return;let n=e[r],a=n.metrics.advance*n.scale,s=(e[r].x+a)*i;for(let o=t;o<=r;o++)e[o].x-=s}function sb(e,t,r,i,n,a,s,o,l){let u=(t-r)*n,h=0;h=a===s?-i*l*s+.5*s:-o*i- -17;for(let c of e)for(let p of c.positionedGlyphs)p.x+=u,p.y+=h}function ob(e,t,r){let{horizontalAlign:i,verticalAlign:n}=qd(r),a=t[0],s=t[1],o=a-e.displaySize[0]*i,l=o+e.displaySize[0],u=s-e.displaySize[1]*n;return{image:e,top:u,bottom:u+e.displaySize[1],left:o,right:l}}function Yd(e){let t=e.left,r=e.top,i=e.right-t,n=e.bottom-r,a=e.image.content[2]-e.image.content[0],s=e.image.content[3]-e.image.content[1],o=e.image.textFitWidth??"stretchOrShrink",l=e.image.textFitHeight??"stretchOrShrink",u=a/s;if(l==="proportional"){if(o==="stretchOnly"&&i/n<u||o==="proportional"){let h=Math.ceil(n*u);t*=h/i,i=h}}else if(o==="proportional"&&l==="stretchOnly"&&u!==0&&i/n>u){let h=Math.ceil(i/u);r*=h/n,n=h}return{x1:t,y1:r,x2:t+i,y2:r+n}}function _c(e,t,r,i,n,a){let s=e.image,o;if(s.content){let m=s.content,g=s.pixelRatio||1;o=[m[0]/g,m[1]/g,s.displaySize[0]-m[2]/g,s.displaySize[1]-m[3]/g]}let l=t.left*a,u=t.right*a,h,c,p,f;r==="width"||r==="both"?(f=n[0]+l-i[3],c=n[0]+u+i[1]):(f=n[0]+(l+u-s.displaySize[0])/2,c=f+s.displaySize[0]);let d=t.top*a,y=t.bottom*a;return r==="height"||r==="both"?(h=n[1]+d-i[0],p=n[1]+y+i[2]):(h=n[1]+(d+y-s.displaySize[1])/2,p=h+s.displaySize[1]),{image:s,top:h,right:c,bottom:p,left:f,collisionPadding:o}}var Sc=32640;function Ac(e,t){let{expression:r}=t;if(r.kind==="constant")return{kind:"constant",layoutSize:r.evaluate(new oe(e+1))};if(r.kind==="source")return{kind:"source"};if(r.kind==="composite"){let{minZoom:i,maxZoom:n}=lb(r.zoomStops,e);return{kind:"composite",minZoom:i,maxZoom:n,interpolationType:r.interpolationType}}{let i=ub(r),n=r.evaluate(new oe(e+1));return{kind:"camera",zoomStops:r.zoomStops,sizes:i,layoutSize:n,interpolationType:r.interpolationType}}}function lb(e,t){let r=0;for(;r<e.length&&e[r]<=t;)r++;r=Math.max(0,r-1);let i=r;for(;i<e.length&&e[i]<t+1;)i++;return i=Math.min(e.length-1,i),{minZoom:e[r],maxZoom:e[i]}}function ub(e){return e.zoomStops.map(t=>e.evaluate(new oe(t===-1/0?e.zoomStops[1]-1:t)))}var Zr=class Xd extends M{constructor(t,r,i,n){super(t,r),this.angle=i,n!==void 0&&(this.segment=n)}clone(){return new Xd(this.x,this.y,this.angle,this.segment)}};B("Anchor",Zr);function Zd(e,t,r,i,n){if(t.segment===void 0||r===0)return!0;let a=t,s=t.segment+1,o=0;for(;o>-r/2;){if(s--,s<0)return!1;o-=e[s].dist(a),a=e[s]}o+=e[s].dist(e[s+1]),s++;let l=[],u=0;for(;o<r/2;){let h=e[s-1],c=e[s],p=e[s+1];if(!p)return!1;let f=h.angleTo(c)-c.angleTo(p);for(f=Math.abs((f+3*Math.PI)%(Math.PI*2)-Math.PI),l.push({distance:o,angleDelta:f}),u+=f;o-l[0].distance>i;)u-=l.shift().angleDelta;if(u>n)return!1;s++,o+=c.dist(p)}return!0}function Wd(e){let t=0;for(let r=0;r<e.length-1;r++)t+=e[r].dist(e[r+1]);return t}function Hd(e,t,r){return e?3/5*t*r:0}function Jd(e,t){return Math.max(e?e.right-e.left:0,t?t.right-t.left:0)}function hb(e,t,r,i,n,a){let s=Hd(r,n,a),o=Jd(r,i)*a,l=0,u=Wd(e)/2;for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=c.dist(p);if(l+f>u){let d=(u-l)/f,y=new Zr(fr.number(c.x,p.x,d),fr.number(c.y,p.y,d),p.angleTo(c),h);return y._round(),!s||Zd(e,y,o,s,t)?y:void 0}l+=f}}function cb(e,t,r,i,n,a,s,o,l){let u=Hd(i,a,s),h=Jd(i,n),c=h*s,p=e[0].x===0||e[0].x===l||e[0].y===0||e[0].y===l;t-c<t/4&&(t=c+t/4);let f=a*2;return Kd(e,p?t/2*o%t:(h/2+f)*s*o%t,t,u,r,c,p,!1,l)}function Kd(e,t,r,i,n,a,s,o,l){let u=a/2,h=Wd(e),c=0,p=t-r,f=[];for(let d=0;d<e.length-1;d++){let y=e[d],m=e[d+1],g=y.dist(m),x=m.angleTo(y);for(;p+r<c+g;){p+=r;let b=(p-c)/g,v=fr.number(y.x,m.x,b),w=fr.number(y.y,m.y,b);if(v>=0&&v<l&&w>=0&&w<l&&p-u>=0&&p+u<=h){let _=new Zr(v,w,x,d);_._round(),(!i||Zd(e,_,a,i,n))&&f.push(_)}}c+=g}return!o&&!f.length&&!s&&(f=Kd(e,c/2,r,i,n,a,s,!0,l)),f}function pb(e,t,r,i,n){let a=[];for(let s of e){let o;for(let l=0;l<s.length-1;l++){let u=s[l],h=s[l+1];u.x<t&&h.x<t||(u.x<t?u=new M(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round():h.x<t&&(h=new M(t,u.y+(h.y-u.y)*((t-u.x)/(h.x-u.x)))._round()),!(u.y<r&&h.y<r)&&(u.y<r?u=new M(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round():h.y<r&&(h=new M(u.x+(h.x-u.x)*((r-u.y)/(h.y-u.y)),r)._round()),!(u.x>=i&&h.x>=i)&&(u.x>=i?u=new M(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round():h.x>=i&&(h=new M(i,u.y+(h.y-u.y)*((i-u.x)/(h.x-u.x)))._round()),!(u.y>=n&&h.y>=n)&&(u.y>=n?u=new M(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round():h.y>=n&&(h=new M(u.x+(h.x-u.x)*((n-u.y)/(h.y-u.y)),n)._round()),(!o||!u.equals(o[o.length-1]))&&(o=[u],a.push(o)),o.push(h)))))}}return a}function fb(e,t,r,i,n,a){let s=Ec(e,t,r,n,0);return s=Ec(s,t,i,a,1),s}function Ec(e,t,r,i,n){switch(t){case 1:return db(e,r,i,n);case 2:return Fc(e,r,i,n,!1);case 3:return Fc(e,r,i,n,!0)}return[]}function db(e,t,r,i){let n=[];for(let a of e)for(let s of a){let o=i===0?s.x:s.y;o>=t&&o<=r&&n.push([s])}return n}function yb(e,t,r,i,n){let a=i===0?mb:gb,s=[],o=[];for(let h=0;h<e.length-1;h++){let c=e[h],p=e[h+1],f=i===0?c.x:c.y,d=i===0?p.x:p.y,y=!1;f<t?d>t&&s.push(a(c,p,t)):f>r?d<r&&s.push(a(c,p,r)):s.push(c),d<t&&f>=t&&(s.push(a(c,p,t)),y=!0),d>r&&f<=r&&(s.push(a(c,p,r)),y=!0),!n&&y&&(o.push(s),s=[])}let l=e.length-1,u=i===0?e[l].x:e[l].y;return u>=t&&u<=r&&s.push(e[l]),n&&s.length>0&&!s[0].equals(s[s.length-1])&&s.push(new M(s[0].x,s[0].y)),s.length>0&&o.push(s),o}function Fc(e,t,r,i,n){let a=[];for(let s of e){let o=yb(s,t,r,i,n);o.length>0&&a.push(...o)}return a}function mb(e,t,r){let i=(r-e.x)/(t.x-e.x);return new M(r,e.y+(t.y-e.y)*i)}function gb(e,t,r){let i=(r-e.y)/(t.y-e.y);return new M(e.x+(t.x-e.x)*i,r)}function Tc(e,t,r,i){let n=[],a=e.image,s=a.pixelRatio,o=a.paddedRect.w-2,l=a.paddedRect.h-2,u={x1:e.left,y1:e.top,x2:e.right,y2:e.bottom},h=a.stretchX||[[0,o]],c=a.stretchY||[[0,l]],p=(A,P)=>A+P[1]-P[0],f=h.reduce(p,0),d=c.reduce(p,0),y=o-f,m=l-d,g=0,x=f,b=0,v=d,w=0,_=y,S=0,E=m;if(a.content&&i){let A=a.content,P=A[2]-A[0],z=A[3]-A[1];(a.textFitWidth||a.textFitHeight)&&(u=Yd(e)),g=Hn(h,0,A[0]),b=Hn(c,0,A[1]),x=Hn(h,A[0],A[2]),v=Hn(c,A[1],A[3]),w=A[0]-g,S=A[1]-b,_=P-x,E=z-v}let T=u.x1,V=u.y1,C=u.x2-T,R=u.y2-V,U=(A,P,z,O)=>{let q=Jn(A.stretch-g,x,C,T),re=Kn(A.fixed-w,_,A.stretch,f),le=Jn(P.stretch-b,v,R,V),pe=Kn(P.fixed-S,E,P.stretch,d),ie=Jn(z.stretch-g,x,C,T),Ce=Kn(z.fixed-w,_,z.stretch,f),ot=Jn(O.stretch-b,v,R,V),ft=Kn(O.fixed-S,E,O.stretch,d),Lt=new M(q,le),Ze=new M(ie,le),_r=new M(ie,ot),Sr=new M(q,ot),er=new M(re/s,pe/s),ci=new M(Ce/s,ft/s),Et=t*Math.PI/180;if(Et){let $=Math.sin(Et),ae=Math.cos(Et),W=[ae,-$,$,ae];Lt._matMult(W),Ze._matMult(W),Sr._matMult(W),_r._matMult(W)}let $e=A.stretch+A.fixed,Ft=z.stretch+z.fixed,tr=P.stretch+P.fixed,Ar=O.stretch+O.fixed;return{tl:Lt,tr:Ze,bl:Sr,br:_r,tex:{x:a.paddedRect.x+1+$e,y:a.paddedRect.y+1+tr,w:Ft-$e,h:Ar-tr},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:er,pixelOffsetBR:ci,minFontScaleX:_/s/C,minFontScaleY:E/s/R,isSDF:r}};if(!i||!a.stretchX&&!a.stretchY)n.push(U({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:o+1},{fixed:0,stretch:l+1}));else{let A=kc(h,y,f),P=kc(c,m,d);for(let z=0;z<A.length-1;z++){let O=A[z],q=A[z+1];for(let re=0;re<P.length-1;re++){let le=P[re],pe=P[re+1];n.push(U(O,le,q,pe))}}}return n}function Hn(e,t,r){let i=0;for(let n of e)i+=Math.max(t,Math.min(r,n[1]))-Math.max(t,Math.min(r,n[0]));return i}function kc(e,t,r){let i=[{fixed:-1,stretch:0}];for(let[n,a]of e){let s=i[i.length-1];i.push({fixed:n-s.stretch,stretch:s.stretch}),i.push({fixed:n-s.stretch,stretch:s.stretch+(a-n)})}return i.push({fixed:t+1,stretch:r}),i}function Jn(e,t,r,i){return e/t*r+i}function Kn(e,t,r,i){return e-t*r/i}function xb(e,t,r,i,n,a,s,o){let l=i.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,u=[];for(let h of t.positionedLines)for(let c of h.positionedGlyphs){if(!c.rect)continue;let p=c.rect||{},f=4,d=!0,y=1,m=0,g=(n||o)&&c.vertical,x=c.metrics.advance*c.scale/2;if(o&&t.verticalizable){let O=(c.scale-1)*24,q=(24-c.metrics.width*c.scale)/2;m=h.lineOffset/2-(c.imageName?-q:O)}if(c.imageName){let O=s[c.imageName];d=O.sdf,y=O.pixelRatio,f=1/y}let b=n?[c.x+x,c.y]:[0,0],v=n?[0,0]:[c.x+x+r[0],c.y+r[1]-m],w=[0,0];g&&(w=v,v=[0,0]);let _=c.metrics.isDoubleResolution?2:1,S=(c.metrics.left-f)*c.scale-x+v[0],E=(-c.metrics.top-f)*c.scale+v[1],T=S+p.w/_*c.scale/y,V=E+p.h/_*c.scale/y,C=new M(S,E),R=new M(T,E),U=new M(S,V),A=new M(T,V);if(g){let O=new M(-x,x- -17),q=-Math.PI/2,re=12-x,le=c.imageName?re:0,pe=new M(22-re,-le),ie=new M(...w);C._rotateAround(q,O)._add(pe)._add(ie),R._rotateAround(q,O)._add(pe)._add(ie),U._rotateAround(q,O)._add(pe)._add(ie),A._rotateAround(q,O)._add(pe)._add(ie)}if(l){let O=Math.sin(l),q=Math.cos(l),re=[q,-O,O,q];C._matMult(re),R._matMult(re),U._matMult(re),A._matMult(re)}let P=new M(0,0),z=new M(0,0);u.push({tl:C,tr:R,bl:U,br:A,tex:p,writingMode:t.writingMode,glyphOffset:b,sectionIndex:c.sectionIndex,isSDF:d,pixelOffsetTL:P,pixelOffsetBR:z,minFontScaleX:0,minFontScaleY:0})}return u}var Qn=class{constructor(e,t,r,i,n,a,s,o,l,u){if(this.boxStartIndex=e.length,l){let h=a.top,c=a.bottom,p=a.collisionPadding;p&&(h-=p[1],c+=p[3]);let f=c-h;f>0&&(f=Math.max(10,f),this.circleDiameter=f)}else{let h=a.image?.content&&(a.image.textFitWidth||a.image.textFitHeight)?Yd(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};h.y1=h.y1*s-o[0],h.y2=h.y2*s+o[2],h.x1=h.x1*s-o[3],h.x2=h.x2*s+o[1];let c=a.collisionPadding;if(c&&(h.x1-=c[0]*s,h.y1-=c[1]*s,h.x2+=c[2]*s,h.y2+=c[3]*s),u){let p=new M(h.x1,h.y1),f=new M(h.x2,h.y1),d=new M(h.x1,h.y2),y=new M(h.x2,h.y2),m=u*Math.PI/180;p._rotate(m),f._rotate(m),d._rotate(m),y._rotate(m),h.x1=Math.min(p.x,f.x,d.x,y.x),h.x2=Math.max(p.x,f.x,d.x,y.x),h.y1=Math.min(p.y,f.y,d.y,y.y),h.y2=Math.max(p.y,f.y,d.y,y.y)}e.emplaceBack(t.x,t.y,h.x1,h.y1,h.x2,h.y2,r,i,n)}this.boxEndIndex=e.length}},vb=class{constructor(e=[],t=(r,i)=>r<i?-1:+(r>i)){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;let e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){let{data:t,compare:r}=this,i=t[e];for(;e>0;){let n=e-1>>1,a=t[n];if(r(i,a)>=0)break;t[e]=a,e=n}t[e]=i}_down(e){let{data:t,compare:r}=this,i=this.length>>1,n=t[e];for(;e<i;){let a=(e<<1)+1,s=a+1;if(s<this.length&&r(t[s],t[a])<0&&(a=s),r(t[a],n)>=0)break;t[e]=t[a],e=a}t[e]=n}};function bb(e,t=1){let r=_a.fromPoints(e[0]),i=Math.min(r.width(),r.height()),n=i/2,a=new vb([],wb),{minX:s,minY:o,maxX:l,maxY:u}=r;if(i===0)return new M(s,o);for(let p=s;p<l;p+=i)for(let f=o;f<u;f+=i)a.push(new Rr(p+n,f+n,n,e));let h=_b(e),c=h;for(;a.length;){let p=a.pop();(p.d>c.d||!c.d)&&(c=p),!(p.max-c.d<=t)&&(n=p.h/2,a.push(new Rr(p.p.x-n,p.p.y-n,n,e)),a.push(new Rr(p.p.x+n,p.p.y-n,n,e)),a.push(new Rr(p.p.x-n,p.p.y+n,n,e)),a.push(new Rr(p.p.x+n,p.p.y+n,n,e)))}return h.d>0&&c.d-h.d<=t?h.p:c.p}function wb(e,t){return t.max-e.max}var Rr=class{constructor(e,t,r,i){this.p=new M(e,t),this.h=r,this.d=Db(this.p,i),this.max=this.d+this.h*Math.SQRT2}};function Db(e,t){let r=!1,i=1/0;for(let n of t)for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[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&&(r=!r),i=Math.min(i,Wf(e,l,u))}return(r?1:-1)*Math.sqrt(i)}function _b(e){let t=0,r=0,i=0,n=e[0];for(let a=0,s=n.length,o=s-1;a<s;o=a++){let l=n[a],u=n[o],h=l.x*u.y-u.x*l.y;r+=(l.x+u.x)*h,i+=(l.y+u.y)*h,t+=h*3}return new Rr(r/t,i/t,0,e)}var Sb=(function(e){return e[e.center=1]="center",e[e.left=2]="left",e[e.right=3]="right",e[e.top=4]="top",e[e.bottom=5]="bottom",e[e["top-left"]=6]="top-left",e[e["top-right"]=7]="top-right",e[e["bottom-left"]=8]="bottom-left",e[e["bottom-right"]=9]="bottom-right",e})({}),Kl=1/0;function Qd(e,t){function r(n,a){let s=0,o=0;a<0&&(a=0);let l=a/Math.SQRT2;switch(n){case"top-right":case"top-left":o=l-7;break;case"bottom-right":case"bottom-left":o=-l+7;break;case"bottom":o=-a+7;break;case"top":o=a-7}switch(n){case"top-right":case"bottom-right":s=-l;break;case"top-left":case"bottom-left":s=l;break;case"left":s=a;break;case"right":s=-a}return[s,o]}function i(n,a,s){let o=0,l=0;switch(a=Math.abs(a),s=Math.abs(s),n){case"top-right":case"top-left":case"top":l=s-7;break;case"bottom-right":case"bottom-left":case"bottom":l=-s+7}switch(n){case"top-right":case"bottom-right":case"right":o=-a;break;case"top-left":case"bottom-left":case"left":o=a}return[o,l]}return t[1]===Kl?r(e,t[0]):i(e,t[0],t[1])}function ey(e,t,r){let i=e.layout,n=i.get("text-variable-anchor-offset")?.evaluate(t,{},r);if(n){let s=n.values,o=[];for(let l=0;l<s.length;l+=2){let u=o[l]=s[l],h=s[l+1].map(c=>c*24);u.startsWith("top")?h[1]-=7:u.startsWith("bottom")&&(h[1]+=7),o[l+1]=h}return new Dt(o)}let a=i.get("text-variable-anchor");if(a){let s;s=e._unevaluatedLayout.getValue("text-radial-offset")===void 0?i.get("text-offset").evaluate(t,{},r).map(l=>l*24):[i.get("text-radial-offset").evaluate(t,{},r)*24,Kl];let o=[];for(let l of a)o.push(l,Qd(l,s));return new Dt(o)}return null}function Ab(e){var h;e.bucket.createArrays();let t=512*e.bucket.overscaling;e.bucket.tilePixelRatio=xe/t,e.bucket.compareText={},e.bucket.iconsNeedLinear=!1;let r=e.bucket.layers[0],i=r.layout,n=r._unevaluatedLayout._values,a={layoutIconSize:n["icon-size"].possiblyEvaluate(new oe(e.bucket.zoom+1),e.canonical),layoutTextSize:n["text-size"].possiblyEvaluate(new oe(e.bucket.zoom+1),e.canonical),textMaxSize:n["text-size"].possiblyEvaluate(new oe(18))};if(e.bucket.textSizeData.kind==="composite"){let{minZoom:c,maxZoom:p}=e.bucket.textSizeData;a.compositeTextSizes=[n["text-size"].possiblyEvaluate(new oe(c),e.canonical),n["text-size"].possiblyEvaluate(new oe(p),e.canonical)]}if(e.bucket.iconSizeData.kind==="composite"){let{minZoom:c,maxZoom:p}=e.bucket.iconSizeData;a.compositeIconSizes=[n["icon-size"].possiblyEvaluate(new oe(c),e.canonical),n["icon-size"].possiblyEvaluate(new oe(p),e.canonical)]}let s=i.get("text-line-height")*24,o=i.get("text-rotation-alignment")!=="viewport"&&i.get("symbol-placement")!=="point",l=i.get("text-keep-upright"),u=i.get("text-size");for(let c of e.bucket.features){let p=i.get("text-font").evaluate(c,{},e.canonical).join(","),f=u.evaluate(c,{},e.canonical),d=a.layoutTextSize.evaluate(c,{},e.canonical),y=a.layoutIconSize.evaluate(c,{},e.canonical),m={horizontal:{},vertical:void 0},g=c.text,x=[0,0];if(g){let _=g.toString(),S=i.get("text-letter-spacing").evaluate(c,{},e.canonical)*24,E=sv(_)?S:0,T=i.get("text-anchor").evaluate(c,{},e.canonical),V=ey(r,c,e.canonical);if(!V){let A=i.get("text-radial-offset").evaluate(c,{},e.canonical);x=A?Qd(T,[A*24,Kl]):i.get("text-offset").evaluate(c,{},e.canonical).map(P=>P*24)}let C=o?"center":i.get("text-justify").evaluate(c,{},e.canonical),R=i.get("symbol-placement")==="point"?i.get("text-max-width").evaluate(c,{},e.canonical)*24:1/0,U=()=>{e.bucket.allowVerticalPlacement&&Ho(_)&&(m.vertical=Wn(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,R,s,T,"left",E,x,2,!0,d,f))};if(!o&&V){let A=new Set;if(C==="auto")for(let z=0;z<V.values.length;z+=2)A.add(Ic(V.values[z]));else A.add(C);let P=!1;for(let z of A)if(!m.horizontal[z])if(P)m.horizontal[z]=m.horizontal[0];else{let O=Wn(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,R,s,"center",z,E,x,1,!1,d,f);O&&(m.horizontal[z]=O,P=O.positionedLines.length===1)}U()}else{C==="auto"&&(C=Ic(T));let A=Wn(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,R,s,T,C,E,x,1,!1,d,f);A&&(m.horizontal[C]=A),U(),Ho(_)&&o&&l&&(m.vertical=Wn(g,e.glyphMap,e.glyphPositions,e.imagePositions,p,R,s,T,C,E,x,2,!1,d,f))}}let b,v=!1;if(c.icon?.name){let _=e.imageMap[c.icon.name];_&&(b=ob(e.imagePositions[c.icon.name],i.get("icon-offset").evaluate(c,{},e.canonical),i.get("icon-anchor").evaluate(c,{},e.canonical)),v=!!_.sdf,e.bucket.sdfIcons===void 0?e.bucket.sdfIcons=v:e.bucket.sdfIcons!==v&&Me("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),_.pixelRatio===e.bucket.pixelRatio?i.get("icon-rotate").constantOr(1)!==0&&(e.bucket.iconsNeedLinear=!0):e.bucket.iconsNeedLinear=!0)}let w=ty(m.horizontal)||m.vertical;(h=e.bucket).iconsInText||(h.iconsInText=w?w.iconsInText:!1),(w||b)&&Eb(e.bucket,c,m,b,e.imageMap,a,d,y,x,v,e.canonical,e.subdivisionGranularity,e.hasPromoteId)}e.showCollisionBoxes&&e.bucket.generateCollisionDebugBuffers()}function Ic(e){switch(e){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Eb(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=a.textMaxSize.evaluate(t,{});f===void 0&&(f=s);let d=e.layers[0].layout,y=d.get("icon-offset").evaluate(t,{},h),m=ty(r.horizontal),g=s/24,x=e.tilePixelRatio*g,b=e.tilePixelRatio*f/24,v=e.tilePixelRatio*o,w=e.tilePixelRatio*d.get("symbol-spacing"),_=d.get("text-padding")*e.tilePixelRatio,S=Ob(d,t,h,e.tilePixelRatio),E=d.get("text-max-angle")/180*Math.PI,T=d.get("text-rotation-alignment")!=="viewport"&&d.get("symbol-placement")!=="point",V=d.get("icon-rotation-alignment").constantOr("viewport")==="map"&&d.get("symbol-placement")!=="point",C=d.get("symbol-placement"),R=w/2,U=d.get("icon-text-fit"),A;i&&U!=="none"&&(e.allowVerticalPlacement&&r.vertical&&(A=_c(i,r.vertical,U,d.get("icon-text-fit-padding"),y,g)),m&&(i=_c(i,m,U,d.get("icon-text-fit-padding"),y,g)));let P=h?c.line.getGranularityForZoomLevel(h.z):1,z=(O,q)=>{q.x<0||q.x>=8192||q.y<0||q.y>=8192||Tb(e,q,O,r,i,n,A,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,x,[_,_,_,_],T,l,v,S,V,y,t,a,u,h,s,p)};if(C==="line")for(let O of pb(t.geometry,0,0,xe,xe)){let q=ur(O,P),re=cb(q,w,E,r.vertical||m,i,24,b,e.overscaling,xe);for(let le of re){let pe=m;(!pe||!kb(e,pe.text,R,le))&&z(q,le)}}else if(C==="line-center"){for(let O of t.geometry)if(O.length>1){let q=ur(O,P),re=hb(q,E,r.vertical||m,i,24,b);re&&z(q,re)}}else if(t.type==="Polygon")for(let O of Pa(t.geometry,0)){let q=bb(O,16);z(ur(O[0],P,!0),new Zr(q.x,q.y,0))}else if(t.type==="LineString")for(let O of t.geometry){let q=ur(O,P);z(q,new Zr(q[0].x,q[0].y,0))}else if(t.type==="Point")for(let O of t.geometry)for(let q of O)z([q],new Zr(q.x,q.y,0))}function Fb(e,t){let r=e.length,i=t?.values;if(i?.length>0)for(let n=0;n<i.length;n+=2){let a=Sb[i[n]],s=i[n+1];e.emplaceBack(a,s[0],s[1])}return[r,e.length]}function Cc(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y){let m=xb(t,r,o,n,a,s,i,e.allowVerticalPlacement),g=e.textSizeData,x=null;g.kind==="source"?(x=[128*n.layout.get("text-size").evaluate(s,{})],x[0]>32640&&Me(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):g.kind==="composite"&&(x=[128*d.compositeTextSizes[0].evaluate(s,{},y),128*d.compositeTextSizes[1].evaluate(s,{},y)],(x[0]>32640||x[1]>32640)&&Me(`${e.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),e.addSymbols(e.text,m,x,o,a,s,h,t,u.lineStartIndex,u.lineLength,f,y,l);for(let b of c)p[b]=e.text.placedSymbolArray.length-1;return m.length*4}function ty(e){for(let t in e)return e[t];return null}function Tb(e,t,r,i,n,a,s,o,l,u,h,c,p,f,d,y,m,g,x,b,v,w,_,S,E,T){let V=e.addToLineVertexArray(t,r),C=o.layout.get("symbol-height-offset").evaluate(v,{},S);C>e.maxHeightOffset&&(e.maxHeightOffset=C);let R,U,A,P,z=0,O=0,q=0,re=0,le=-1,pe=-1,ie={},Ce=(0,va.default)("");if(e.allowVerticalPlacement&&i.vertical){let W=o.layout.get("text-rotate").evaluate(v,{},S)+90,k=i.vertical;A=new Qn(l,t,u,h,c,k,p,f,d,W),s&&(P=new Qn(l,t,u,h,c,s,m,g,d,W))}if(n){let W=o.layout.get("icon-rotate").evaluate(v,{}),k=o.layout.get("icon-text-fit")!=="none",se=Tc(n,W,_,k),Y=s?Tc(s,W,_,k):void 0;U=new Qn(l,t,u,h,c,n,m,g,!1,W),z=se.length*4;let J=e.iconSizeData,G=null;J.kind==="source"?(G=[128*o.layout.get("icon-size").evaluate(v,{})],G[0]>32640&&Me(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):J.kind==="composite"&&(G=[128*w.compositeIconSizes[0].evaluate(v,{},S),128*w.compositeIconSizes[1].evaluate(v,{},S)],(G[0]>32640||G[1]>32640)&&Me(`${e.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),e.addSymbols(e.icon,se,G,b,x,v,0,t,V.lineStartIndex,V.lineLength,-1,S,C),le=e.icon.placedSymbolArray.length-1,Y&&(O=Y.length*4,e.addSymbols(e.icon,Y,G,b,x,v,2,t,V.lineStartIndex,V.lineLength,-1,S,C),pe=e.icon.placedSymbolArray.length-1)}let ot=Object.keys(i.horizontal);for(let W of ot){let k=i.horizontal[W];R||(R=(Ce=(0,va.default)(k.text),new Qn(l,t,u,h,c,k,p,f,d,o.layout.get("text-rotate").evaluate(v,{},S))));let se=k.positionedLines.length===1;if(q+=Cc(e,t,k,a,o,d,v,y,C,V,i.vertical?1:3,se?ot:[W],ie,le,w,S),se)break}i.vertical&&(re+=Cc(e,t,i.vertical,a,o,d,v,y,C,V,2,["vertical"],ie,pe,w,S));let ft=R?R.boxStartIndex:e.collisionBoxArray.length,Lt=R?R.boxEndIndex:e.collisionBoxArray.length,Ze=A?A.boxStartIndex:e.collisionBoxArray.length,_r=A?A.boxEndIndex:e.collisionBoxArray.length,Sr=U?U.boxStartIndex:e.collisionBoxArray.length,er=U?U.boxEndIndex:e.collisionBoxArray.length,ci=P?P.boxStartIndex:e.collisionBoxArray.length,Et=P?P.boxEndIndex:e.collisionBoxArray.length,$e=-1,Ft=(W,k)=>W?.circleDiameter?Math.max(W.circleDiameter,k):k;$e=Ft(R,$e),$e=Ft(A,$e),$e=Ft(U,$e),$e=Ft(P,$e);let tr=+($e>-1);tr&&($e*=E/24),e.glyphOffsetArray.length>=e.maxGlyphs&&Me("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),v.sortKey!==void 0&&e.addToSortKeyRanges(e.symbolInstances.length,v.sortKey);let Ar=ey(o,v,S),[$,ae]=Fb(e.textAnchorOffsets,Ar);T&&(Ce=Ib(Ce,v)),e.symbolInstances.emplaceBack(t.x,t.y,ie.right>=0?ie.right:-1,ie.center>=0?ie.center:-1,ie.left>=0?ie.left:-1,ie.vertical||-1,le,pe,Ce,ft,Lt,Ze,_r,Sr,er,ci,Et,u,q,re,z,O,tr,0,p,$e,$,ae,C)}function kb(e,t,r,i){let n=e.compareText;if(!(t in n))n[t]=[];else{let a=n[t];for(let s=a.length-1;s>=0;s--)if(i.dist(a[s])<r)return!0}return n[t].push(i),!1}function Ib(e,t){return t.id==null||t.properties?.cluster?e:(0,va.default)(String(t.id),e)}function Bc(e,t,r){let i="never",n=e.get(t);return n?i=n:e.get(r)&&(i="always"),i}var Cb=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function ea(e,t,r,i,n,a,s,o,l,u,h,c,p,f){let d=o?Math.min(Sc,Math.round(o[0])):0,y=o?Math.min(Sc,Math.round(o[1])):0;e.emplaceBack(t,r,Math.round(i*32),Math.round(n*32),a,s,(d<<1)+ +!!l,y,u*16,h*16,c*256,p*256,f)}function Bb(e,t,r){e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r),e.emplaceBack(t.x,t.y,r)}function Pb(e){for(let t of e.sections)if(Md(t.text))return!0;return!1}var el=class{constructor(e){this.layoutVertexArray=new G0,this.indexArray=new gn,this.programConfigurations=e,this.segments=new tt,this.dynamicLayoutVertexArray=new Y0,this.opacityVertexArray=new X0,this.hasVisibleVertices=!1,this.placedSymbolArray=new Mf}isEmpty(){return this.layoutVertexArray.length===0&&this.indexArray.length===0&&this.dynamicLayoutVertexArray.length===0&&this.opacityVertexArray.length===0}upload(e,t,r,i){this.isEmpty()||(r&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,C2.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,B2.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,Cb,!0),this.opacityVertexBuffer.itemSize=1),(r||i)&&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())}};B("SymbolBuffers",el);var tl=class{constructor(e,t,r){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new r,this.segments=new tt,this.collisionVertexArray=new Z0}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,P2.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())}};B("CollisionBuffers",tl);var ry=class{constructor(e){this.collisionBoxArray=e.collisionBoxArray,this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(s=>s.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasDependencies=!0,this.hasRTLText=!1,this.maxHeightOffset=0,this.sortKeyRanges=[],this.collisionCircleArray=[],this.maxGlyphs=65535;let t=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ac(this.zoom,t["text-size"]),this.iconSizeData=Ac(this.zoom,t["icon-size"]);let r=this.layers[0].layout,i=r.get("symbol-sort-key"),n=r.get("symbol-z-order");this.canOverlap=Bc(r,"text-overlap","text-allow-overlap")!=="never"||Bc(r,"icon-overlap","icon-allow-overlap")!=="never"||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey=n!=="viewport-y"&&!i.isConstant();let a=n==="viewport-y"||n==="auto"&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&this.canOverlap,r.get("symbol-placement")==="point"&&(this.writingModes=r.get("text-writing-mode").map(s=>Nd[s])),this.stateDependentLayerIds=this.layers.filter(s=>s.isStateDependent()).map(s=>s.id),this.sourceID=e.sourceID}createArrays(){this.text=new el(new mr(this.layers,this.zoom,e=>e.startsWith("text"))),this.icon=new el(new mr(this.layers,this.zoom,e=>e.startsWith("icon"))),this.glyphOffsetArray=new Vf,this.lineVertexArray=new Of,this.symbolInstances=new Lf,this.textAnchorOffsets=new $f}calculateGlyphDependencies(e,t,r,i,n){var l;let a=(i||this.allowVerticalPlacement)&&n,s=Hl.fromFeature(e,r),o=s.graphemes();for(let u=0;u<o.length;u++){let h=s.getSection(u);if("imageName"in h)continue;let c=(t[l=h.fontStack]||(t[l]={default:{}})).default,p=o[u];Cd(p)&&(c[p]=!0);for(let f of p){if(c[f]=!0,!a)continue;let d=Nr[f];d&&(c[d]=!0)}}}populate(e,t,r){let i=this.layers[0],n=i.layout,a=n.get("text-font"),s=n.get("text-field"),o=n.get("icon-image"),l=(s.value.kind!=="constant"||s.value.value instanceof Mt&&!s.value.value.isEmpty()||s.value.value.toString().length>0)&&(a.value.kind!=="constant"||a.value.value.length>0),u=o.value.kind!=="constant"||!!o.value.value||Object.keys(o.parameters).length>0,h=n.get("symbol-sort-key");if(this.features=[],!l&&!u)return;let c=t.iconDependencies,p=t.glyphDependencies,f=t.availableImages,d=new oe(this.zoom);for(let{feature:y,id:m,index:g,sourceLayerIndex:x}of e){let b=i._featureFilter.needGeometry,v=li(y,b);if(!i._featureFilter.filter(d,v,r))continue;b||(v.geometry=br(y));let w;if(l){let T=i.getValueAndResolveTokens("text-field",v,r,f),V=Mt.factory(T);this.hasRTLText||(this.hasRTLText=Pb(V)),w=rv(V,i,v)}let _;if(u){let T=i.getValueAndResolveTokens("icon-image",v,r,f);_=T instanceof _t?T:_t.fromString(T)}if(!w&&!_)continue;let S=this.sortFeaturesByKey?h.evaluate(v,{},r):void 0,E={id:m,text:w,icon:_,index:g,sourceLayerIndex:x,geometry:v.geometry,properties:y.properties,type:xn.types[y.type],sortKey:S};if(this.features.push(E),_&&(c[_.name]=!0),w){let T=a.evaluate(v,{},r).join(","),V=n.get("text-rotation-alignment")!=="viewport"&&n.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes?.includes(2);let C=Ho(w.toString());this.calculateGlyphDependencies(w,p,T,V,C);for(let R of w.sections)R.image&&(c[R.image.name]=!0)}}n.get("symbol-placement")==="line"&&(this.features=nv(this.features)),this.sortFeaturesByKey&&this.features.sort((y,m)=>y.sortKey-m.sortKey)}update(e,t,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}),this.icon.programConfigurations.updatePaintArrays(e,t,this.layers,{imagePositions:r}))}addFeatures({options:e,canonical:t,glyphMap:r,glyphPositions:i,iconMap:n,iconPositions:a,showCollisionBoxes:s}){Ab({bucket:this,glyphMap:r,glyphPositions:i,imageMap:n,imagePositions:a,showCollisionBoxes:s,canonical:t,subdivisionGranularity:e.subdivisionGranularity,hasPromoteId:e.featureIndex.promoteId!=null})}isEmpty(){return this.symbolInstances.length===0}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,t){let r=this.lineVertexArray.length;if(e.segment!==void 0){let i=e.dist(t[e.segment+1]),n=e.dist(t[e.segment]),a={};for(let s=e.segment+1;s<t.length;s++)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:i},s<t.length-1&&(i+=t[s+1].dist(t[s]));for(let s=e.segment||0;s>=0;s--)a[s]={x:t[s].x,y:t[s].y,tileUnitDistanceFromAnchor:n},s>0&&(n+=t[s-1].dist(t[s]));for(let s=0;s<t.length;s++){let o=a[s];this.lineVertexArray.emplaceBack(o.x,o.y,o.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}}addSymbols(e,t,r,i,n,a,s,o,l,u,h,c,p){let f=e.indexArray,d=e.layoutVertexArray,y=e.segments.prepareSegment(4*t.length,d,f,this.canOverlap?a.sortKey:void 0),m=this.glyphOffsetArray.length,g=y.vertexLength,x=this.allowVerticalPlacement&&s===2?Math.PI/2:0,b=a.text&&a.text.sections;for(let v=0;v<t.length;v++){let{tl:w,tr:_,bl:S,br:E,tex:T,pixelOffsetTL:V,pixelOffsetBR:C,minFontScaleX:R,minFontScaleY:U,glyphOffset:A,isSDF:P,sectionIndex:z}=t[v],O=y.vertexLength,q=A[1];ea(d,o.x,o.y,w.x,q+w.y,T.x,T.y,r,P,V.x,V.y,R,U,p),ea(d,o.x,o.y,_.x,q+_.y,T.x+T.w,T.y,r,P,C.x,V.y,R,U,p),ea(d,o.x,o.y,S.x,q+S.y,T.x,T.y+T.h,r,P,V.x,C.y,R,U,p),ea(d,o.x,o.y,E.x,q+E.y,T.x+T.w,T.y+T.h,r,P,C.x,C.y,R,U,p),Bb(e.dynamicLayoutVertexArray,o,x),f.emplaceBack(O,O+2,O+1),f.emplaceBack(O+1,O+2,O+3),y.vertexLength+=4,y.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(A[0]),(v===t.length-1||z!==t[v+1].sectionIndex)&&e.programConfigurations.populatePaintArrays(d.length,a,a.index,{imagePositions:{},canonical:c,formattedSection:b?.[z]})}e.placedSymbolArray.emplaceBack(o.x,o.y,m,this.glyphOffsetArray.length-m,g,l,u,o.segment,r?r[0]:0,r?r[1]:0,i[0],i[1],s,0,!1,0,h,p)}_addCollisionDebugVertex(e,t,r,i,n,a){return t.emplaceBack(0,0),e.emplaceBack(r.x,r.y,i,n,Math.round(a.x),Math.round(a.y))}addCollisionDebugVertices(e,t,r,i,n,a,s){let o=n.segments.prepareSegment(4,n.layoutVertexArray,n.indexArray),l=o.vertexLength,u=n.layoutVertexArray,h=n.collisionVertexArray,c=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(u,h,a,c,p,new M(e,t)),this._addCollisionDebugVertex(u,h,a,c,p,new M(r,t)),this._addCollisionDebugVertex(u,h,a,c,p,new M(r,i)),this._addCollisionDebugVertex(u,h,a,c,p,new M(e,i)),o.vertexLength+=4;let f=n.indexArray;f.emplaceBack(l,l+1),f.emplaceBack(l+1,l+2),f.emplaceBack(l+2,l+3),f.emplaceBack(l+3,l),o.primitiveLength+=4}addDebugCollisionBoxes(e,t,r,i){for(let n=e;n<t;n++){let a=this.collisionBoxArray.get(n),s=a.x1,o=a.y1,l=a.x2,u=a.y2;this.addCollisionDebugVertices(s,o,l,u,i?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new tl(Eh,lc.members,Fo),this.iconCollisionBox=new tl(Eh,lc.members,Fo);for(let e=0;e<this.symbolInstances.length;e++){let t=this.symbolInstances.get(e);this.addDebugCollisionBoxes(t.textBoxStartIndex,t.textBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.verticalTextBoxStartIndex,t.verticalTextBoxEndIndex,t,!0),this.addDebugCollisionBoxes(t.iconBoxStartIndex,t.iconBoxEndIndex,t,!1),this.addDebugCollisionBoxes(t.verticalIconBoxStartIndex,t.verticalIconBoxEndIndex,t,!1)}}_deserializeCollisionBoxesForSymbol(e,t,r,i,n,a,s,o,l){let u={};for(let h=t;h<r;h++){let c=e.get(h);u.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.textFeatureIndex=c.featureIndex;break}for(let h=i;h<n;h++){let c=e.get(h);u.verticalTextBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalTextFeatureIndex=c.featureIndex;break}for(let h=a;h<s;h++){let c=e.get(h);u.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.iconFeatureIndex=c.featureIndex;break}for(let h=o;h<l;h++){let c=e.get(h);u.verticalIconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},u.verticalIconFeatureIndex=c.featureIndex;break}return u}deserializeCollisionBoxes(e){this.collisionArrays=[];for(let t=0;t<this.symbolInstances.length;t++){let r=this.symbolInstances.get(t);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(e,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.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,t){let r=e.placedSymbolArray.get(t),i=r.vertexStartIndex+r.numGlyphs*4;for(let n=r.vertexStartIndex;n<i;n+=4)e.indexArray.emplaceBack(n,n+2,n+1),e.indexArray.emplaceBack(n+1,n+2,n+3)}getSortedSymbolIndexes(e){if(this.sortedAngle===e&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let t=Math.sin(e),r=Math.cos(e),i=[],n=[],a=[];for(let s=0;s<this.symbolInstances.length;++s){a.push(s);let o=this.symbolInstances.get(s);i.push(Math.round(t*o.anchorX+r*o.anchorY)|0),n.push(o.featureIndex)}return a.sort((s,o)=>i[s]-i[o]||n[o]-n[s]),a}addToSortKeyRanges(e,t){let r=this.sortKeyRanges[this.sortKeyRanges.length-1];r?.sortKey===t?r.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:t,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(let t of this.symbolInstanceIndexes){let r=this.symbolInstances.get(t);this.featureSortOrder.push(r.featureIndex);let i=[r.rightJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.leftJustifiedTextSymbolIndex];for(let n=0;n<i.length;n++){let a=i[n];a>=0&&i.indexOf(a)===n&&this.addIndicesForPlacedSymbol(this.text,a)}r.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,r.verticalPlacedTextSymbolIndex),r.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.placedIconSymbolIndex),r.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,r.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}};B("SymbolBucket",ry,{omit:["layers","collisionBoxArray","features","compareText"]});function Mb(e,t){return t.replace(/{([^{}]+)}/g,(r,i)=>e&&i in e?String(e[i]):"")}var Pc,zb=()=>Pc||(Pc=new je({"symbol-placement":new L(D.layout_symbol["symbol-placement"],"symbol-placement"),"symbol-spacing":new L(D.layout_symbol["symbol-spacing"],"symbol-spacing"),"symbol-avoid-edges":new L(D.layout_symbol["symbol-avoid-edges"],"symbol-avoid-edges"),"symbol-sort-key":new N(D.layout_symbol["symbol-sort-key"],"symbol-sort-key"),"symbol-z-order":new L(D.layout_symbol["symbol-z-order"],"symbol-z-order"),"icon-allow-overlap":new L(D.layout_symbol["icon-allow-overlap"],"icon-allow-overlap"),"icon-overlap":new L(D.layout_symbol["icon-overlap"],"icon-overlap"),"icon-ignore-placement":new L(D.layout_symbol["icon-ignore-placement"],"icon-ignore-placement"),"icon-optional":new L(D.layout_symbol["icon-optional"],"icon-optional"),"icon-rotation-alignment":new N(D.layout_symbol["icon-rotation-alignment"],"icon-rotation-alignment"),"icon-size":new N(D.layout_symbol["icon-size"],"icon-size"),"icon-text-fit":new L(D.layout_symbol["icon-text-fit"],"icon-text-fit"),"icon-text-fit-padding":new L(D.layout_symbol["icon-text-fit-padding"],"icon-text-fit-padding"),"icon-image":new N(D.layout_symbol["icon-image"],"icon-image"),"icon-rotate":new N(D.layout_symbol["icon-rotate"],"icon-rotate"),"icon-padding":new N(D.layout_symbol["icon-padding"],"icon-padding"),"icon-keep-upright":new L(D.layout_symbol["icon-keep-upright"],"icon-keep-upright"),"icon-offset":new N(D.layout_symbol["icon-offset"],"icon-offset"),"icon-anchor":new N(D.layout_symbol["icon-anchor"],"icon-anchor"),"icon-pitch-alignment":new L(D.layout_symbol["icon-pitch-alignment"],"icon-pitch-alignment"),"text-pitch-alignment":new L(D.layout_symbol["text-pitch-alignment"],"text-pitch-alignment"),"text-rotation-alignment":new L(D.layout_symbol["text-rotation-alignment"],"text-rotation-alignment"),"text-field":new N(D.layout_symbol["text-field"],"text-field"),"text-font":new N(D.layout_symbol["text-font"],"text-font"),"text-size":new N(D.layout_symbol["text-size"],"text-size"),"text-max-width":new N(D.layout_symbol["text-max-width"],"text-max-width"),"text-line-height":new L(D.layout_symbol["text-line-height"],"text-line-height"),"text-letter-spacing":new N(D.layout_symbol["text-letter-spacing"],"text-letter-spacing"),"text-justify":new N(D.layout_symbol["text-justify"],"text-justify"),"text-radial-offset":new N(D.layout_symbol["text-radial-offset"],"text-radial-offset"),"text-variable-anchor":new L(D.layout_symbol["text-variable-anchor"],"text-variable-anchor"),"text-variable-anchor-offset":new N(D.layout_symbol["text-variable-anchor-offset"],"text-variable-anchor-offset"),"text-anchor":new N(D.layout_symbol["text-anchor"],"text-anchor"),"text-max-angle":new L(D.layout_symbol["text-max-angle"],"text-max-angle"),"text-writing-mode":new L(D.layout_symbol["text-writing-mode"],"text-writing-mode"),"text-rotate":new N(D.layout_symbol["text-rotate"],"text-rotate"),"text-padding":new L(D.layout_symbol["text-padding"],"text-padding"),"text-keep-upright":new L(D.layout_symbol["text-keep-upright"],"text-keep-upright"),"text-transform":new N(D.layout_symbol["text-transform"],"text-transform"),"text-offset":new N(D.layout_symbol["text-offset"],"text-offset"),"text-allow-overlap":new L(D.layout_symbol["text-allow-overlap"],"text-allow-overlap"),"text-overlap":new L(D.layout_symbol["text-overlap"],"text-overlap"),"text-ignore-placement":new L(D.layout_symbol["text-ignore-placement"],"text-ignore-placement"),"text-optional":new L(D.layout_symbol["text-optional"],"text-optional"),"symbol-height-offset":new N(D.layout_symbol["symbol-height-offset"],"symbol-height-offset"),"symbol-height-anchor":new L(D.layout_symbol["symbol-height-anchor"],"symbol-height-anchor")})),Mc,Lb=()=>Mc||(Mc=new je({"icon-opacity":new N(D.paint_symbol["icon-opacity"],"icon-opacity"),"icon-color":new N(D.paint_symbol["icon-color"],"icon-color"),"icon-halo-color":new N(D.paint_symbol["icon-halo-color"],"icon-halo-color"),"icon-halo-width":new N(D.paint_symbol["icon-halo-width"],"icon-halo-width"),"icon-halo-blur":new N(D.paint_symbol["icon-halo-blur"],"icon-halo-blur"),"icon-translate":new L(D.paint_symbol["icon-translate"],"icon-translate"),"icon-translate-anchor":new L(D.paint_symbol["icon-translate-anchor"],"icon-translate-anchor"),"text-opacity":new N(D.paint_symbol["text-opacity"],"text-opacity"),"text-color":new N(D.paint_symbol["text-color"],"text-color",{runtimeType:ht,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new N(D.paint_symbol["text-halo-color"],"text-halo-color"),"text-halo-width":new N(D.paint_symbol["text-halo-width"],"text-halo-width"),"text-halo-blur":new N(D.paint_symbol["text-halo-blur"],"text-halo-blur"),"text-translate":new L(D.paint_symbol["text-translate"],"text-translate"),"text-translate-anchor":new L(D.paint_symbol["text-translate-anchor"],"text-translate-anchor")})),Ns={get paint(){return Lb()},get layout(){return zb()}},iy=class{constructor(e){if(e.property.overrides===void 0)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:hn,this.defaultValue=e}evaluate(e){if(e.formattedSection){let t=this.defaultValue.property.overrides;if(t?.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){if(!this.defaultValue.isConstant()){let t=this.defaultValue.value;e(t._styleExpression.expression)}}outputDefined(){return!1}serialize(){return null}};B("FormatSectionOverride",iy,{omit:["defaultValue"]});var Vb=class rl extends pt{constructor(t,r){super(t,Ns,r)}recalculate(t,r){super.recalculate(t,r);let i=this.layout.get("icon-rotation-alignment");if((i.value.kind!=="constant"||i.value.value==="auto")&&(this.layout._values["icon-rotation-alignment"]=new at(i.property,{kind:"constant",value:this.layout.get("symbol-placement")==="point"?"viewport":"map"},i.parameters)),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout.get("symbol-placement")==="point"?this.layout._values["text-rotation-alignment"]="viewport":this.layout._values["text-rotation-alignment"]="map"),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").constantOr("viewport")),this.layout.get("symbol-placement")==="point"){let n=this.layout.get("text-writing-mode");if(n){let a=[];for(let s of n)a.includes(s)||a.push(s);this.layout._values["text-writing-mode"]=a}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,r,i,n){let a=this.layout.get(t).evaluate(r,{},i,n),s=this._unevaluatedLayout._values[t];return!s.isDataDriven()&&!Oa(s.value)&&a?Mb(r.properties,a):a}createBucket(t){return new ry(t)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let t of Ns.paint.overridableProperties){if(!rl.hasPaintOverride(this.layout,t))continue;let r=this.paint.get(t),i=new Sl(new iy(r),`layers[${this.id}].paint.${r.property.name}`,r.property.specification),n=null;n=r.value.kind==="constant"||r.value.kind==="source"?new Ki("source",i):new da("composite",i,r.value.zoomStops),this.paint._values[t]=new at(r.property,n,r.parameters)}}_handleOverridablePaintPropertyUpdate(t,r,i){return!this.layout||r.isDataDriven()||i.isDataDriven()?!1:rl.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,r){let i=t.get("text-field"),n=Ns.paint.properties[r],a=!1,s=o=>{for(let l of o)if(n.overrides?.hasOverride(l)){a=!0;return}};if(i.value.kind==="constant"&&i.value.value instanceof Mt)s(i.value.value.sections);else if(i.value.kind==="source"||i.value.kind==="composite"){let o=u=>{if(!a)if(u instanceof ei&&Se(u.value)===cn){let h=u.value;s(h.sections)}else u instanceof vp?s(u.sections):u.eachChild(o)},l=i.value;l._styleExpression&&o(l._styleExpression.expression)}return a}};function Ob(e,t,r,i=1){let n=e.get("icon-padding").evaluate(t,{},r)?.values;return[n[0]*i,n[1]*i,n[2]*i,n[3]*i]}var zc,Rb=()=>zc||(zc=new je({"background-color":new L(D.paint_background["background-color"],"background-color"),"background-pattern":new If(D.paint_background["background-pattern"],"background-pattern"),"background-opacity":new L(D.paint_background["background-opacity"],"background-opacity")})),$b={get paint(){return Rb()}},Nb=class extends pt{constructor(e,t){super(e,$b,t)}},Lc,Ub=()=>Lc||(Lc=new je({"raster-opacity":new L(D.paint_raster["raster-opacity"],"raster-opacity"),"raster-hue-rotate":new L(D.paint_raster["raster-hue-rotate"],"raster-hue-rotate"),"raster-brightness-min":new L(D.paint_raster["raster-brightness-min"],"raster-brightness-min"),"raster-brightness-max":new L(D.paint_raster["raster-brightness-max"],"raster-brightness-max"),"raster-saturation":new L(D.paint_raster["raster-saturation"],"raster-saturation"),"raster-contrast":new L(D.paint_raster["raster-contrast"],"raster-contrast"),resampling:new L(D.paint_raster.resampling,"resampling"),"raster-resampling":new L(D.paint_raster["raster-resampling"],"raster-resampling"),"raster-fade-duration":new L(D.paint_raster["raster-fade-duration"],"raster-fade-duration")})),qb={get paint(){return Ub()}},jb=class extends pt{constructor(e,t){super(e,qb,t)}},Gb=class extends pt{constructor(e,t){super(e,{},t),this.onAdd=r=>{this.implementation.onAdd&&this.implementation.onAdd(r,r.painter.context.gl)},this.onRemove=r=>{this.implementation.onRemove&&this.implementation.onRemove(r,r.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 Error("Custom layers cannot be serialized")}};function Yb(e,t){if(e.type==="custom")return new Gb(e,t);switch(e.type){case"background":return new Nb(e,t);case"circle":return new wg(e,t);case"color-relief":return new Cg(e,t);case"fill":return new ux(e,t);case"fill-extrusion":return new Mx(e,t);case"heatmap":return new Ag(e,t);case"hillshade":return new Tg(e,t);case"line":return new I2(e,t);case"raster":return new jb(e,t);case"symbol":return new Vb(e,t)}}var Xb=class{constructor(e,t){this.feature=e,this.type=e.type,this.properties=e.tags?e.tags:{},this.extent=t,"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(){let e=[],t=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let r of t){let i=[];for(let n of r)i.push(new M(n[0],n[1]));e.push(i)}return e}},il="_geojsonTileLayer",Zb=class{constructor(e,t){this.layers={[il]:this},this.name=il,this.version=t?t.version:1,this.extent=t?t.extent:4096,this.length=e.length,this.features=e}feature(e){return new Xb(this.features[e],this.extent)}};function ny(e,t=""){let r=new Av;return Wb(e,r,t),r.finish()}function Wb(e,t,r=""){for(let i in e.layers)t.writeMessage(3,(n,a)=>Hb(n,a,r),e.layers[i])}function Hb(e,t,r=""){t.writeVarintField(15,e.version||1),t.writeStringField(1,e.name||""),t.writeVarintField(5,e.extent||4096);let i={jsonPrefix:r,keys:[],values:[],keycache:{},valuecache:{}};for(let s=0;s<e.length;s++)i.feature=e.feature(s),t.writeMessage(2,Jb,i);let n=i.keys;for(let s of n)t.writeStringField(3,s);let a=i.values;for(let s of a)t.writeMessage(4,ew,s)}function Jb(e,t){if(!e.feature)return;let r=e.feature;r.id!==void 0&&t.writeVarintField(1,r.id),t.writeMessage(2,Kb,e),t.writeVarintField(3,r.type),t.writeMessage(4,Qb,r)}function Kb(e,t){for(let r in e.feature?.properties){let i=e.feature.properties[r],n=e.keycache[r];if(i==null)continue;n===void 0&&(e.keys.push(r),n=e.keys.length-1,e.keycache[r]=n),t.writeVarint(n),typeof i!="string"&&typeof i!="boolean"&&typeof i!="number"&&(i=e.jsonPrefix+JSON.stringify(i));let a=typeof i+":"+i,s=e.valuecache[a];s===void 0&&(e.values.push(i),s=e.values.length-1,e.valuecache[a]=s),t.writeVarint(s)}}function Us(e,t){return(t<<3)+(e&7)}function Vc(e){return e<<1^e>>31}function Qb(e,t){let r=e.loadGeometry(),i=e.type,n=0,a=0;for(let s of r){let o=1;i===1&&(o=s.length),t.writeVarint(Us(1,o));let l=i===3?s.length-1:s.length;for(let u=0;u<l;u++){u===1&&i!==1&&t.writeVarint(Us(2,l-1));let h=s[u].x-n,c=s[u].y-a;t.writeVarint(Vc(h)),t.writeVarint(Vc(c)),n+=h,a+=c}e.type===3&&t.writeVarint(Us(7,1))}}function ew(e,t){let r=typeof e;r==="string"?t.writeStringField(1,e):r==="boolean"?t.writeBooleanField(7,e):r==="number"&&(e%1==0?e<0?t.writeSVarintField(6,e):t.writeVarintField(5,e):t.writeDoubleField(3,e))}var ay=class{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t<e.length;t++){let r=e[t];this._stringToNumber[r]=t,this._numberToString[t]=r}}encode(e){return this._stringToNumber[e]}decode(e){if(e>=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}},tw=class{constructor(e,t,r,i,n){this.type="Feature",this._vectorTileFeature=e,this._x=r,this._y=i,this._z=t;for(let a in e.properties)typeof e.properties[a]=="string"&&e.properties[a].startsWith("__$json__:")&&(e.properties[a]=JSON.parse(e.properties[a].slice(10)));this.properties=e.properties,this.id=n}projectPoint(e,t,r,i){return[(e.x+t)*360/i-180,360/Math.PI*Math.atan(Math.exp((1-(e.y+r)*2/i)*Math.PI))-90]}projectLine(e,t,r,i){return e.map(n=>this.projectPoint(n,t,r,i))}get geometry(){if(this._geometry)return this._geometry;let e=this._vectorTileFeature,t=e.extent*2**this._z,r=e.extent*this._x,i=e.extent*this._y,n=e.loadGeometry();switch(e.type){case 1:{let a=[];for(let o of n)a.push(o[0]);let s=this.projectLine(a,r,i,t);this._geometry=a.length===1?{type:"Point",coordinates:s[0]}:{type:"MultiPoint",coordinates:s};break}case 2:{let a=n.map(s=>this.projectLine(s,r,i,t));this._geometry=a.length===1?{type:"LineString",coordinates:a[0]}:{type:"MultiLineString",coordinates:a};break}case 3:{let a=cd(n),s=[];for(let o of a)s.push(o.map(l=>this.projectLine(l,r,i,t)));this._geometry=s.length===1?{type:"Polygon",coordinates:s[0]}:{type:"MultiPolygon",coordinates:s};break}default:throw Error(`unknown feature type: ${e.type}`)}return this._geometry}set geometry(e){this._geometry=e}toJSON(){let e={geometry:this.geometry};for(let t in this)t!=="_geometry"&&t!=="_vectorTileFeature"&&t!=="_x"&&t!=="_y"&&t!=="_z"&&(e[t]=this[t]);return e}},wr=class{constructor(e,t,r){this._name=e,this.dataBuffer=t,typeof r=="number"?this._size=r:(this.nullabilityBuffer=r,this._size=r.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}},Ya=class extends wr{},Ql=class extends Ya{getValueFromBuffer(e){return this.dataBuffer[e]}},eu=class extends Ya{getValueFromBuffer(e){return this.dataBuffer[e]}},sy=class extends wr{constructor(e,t,r,i){super(e,t,i),this.delta=r}},tu=class extends sy{constructor(e,t,r,i,n){super(e,n?Int32Array.of(t):Uint32Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+e*this.delta}},ru=class extends wr{constructor(e,t,r,i){super(e,i?Int32Array.of(t):Uint32Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},rw=class{constructor(e,t,r,i,n=4096){if(this._name=e,this._geometryVector=t,this._idVector=r,this._propertyVectors=i,this._extent=n,e.length===0)throw Error("Missing layer name")}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(t=>[t.name,t]))),this.propertyVectorsMap.get(e)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let e=[],t=this.geometryVector.getGeometries();for(let r=0;r<this.numFeatures;r++){let i;if(this.idVector){let s=this.idVector.getValue(r);s!==null&&(i=this.containsMaxSafeIntegerValues(this.idVector)?Number(s):s)}let n={coordinates:t[r],type:this.geometryVector.geometryType(r)},a={};for(let s of this.propertyVectors){if(!s)continue;let o=s.name,l=s.getValue(r);l!==null&&(a[o]=l)}e.push({id:i,geometry:n,properties:a})}return e}containsMaxSafeIntegerValues(e){return e instanceof Ql||e instanceof ru||e instanceof tu||e instanceof eu}},Ri={FEATURE:0,VERTEX:1},te={BOOLEAN:0,INT_8:1,UINT_8:2,INT_32:3,UINT_32:4,INT_64:5,UINT_64:6,FLOAT:7,DOUBLE:8,STRING:9},Jt={GEOMETRY:0,STRUCT:1,MAP:2},oy={ID:0},ly=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}increment(){return this.value++}add(e){this.value+=e}},Z;(function(e){e.NONE="NONE",e.DELTA="DELTA",e.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",e.RLE="RLE",e.MORTON="MORTON"})(Z||(Z={}));var et;(function(e){e.NONE="NONE",e.FAST_PFOR="FAST_PFOR",e.VARINT="VARINT"})(et||(et={}));var iu=new Uint32Array(33);iu[0]=0;for(let e=1;e<=32;e++)iu[e]=e===32?4294967295:4294967295>>>32-e;var nl=iu,nu=65536;function au(e,t){return e-e%t}function iw(e){return au(e+31,32)}function uy(e){if(!Number.isFinite(e)||e<=0)return nu;let t=au(Math.floor(e),256);return t===0?256:t}function nw(e){let t=e>>>0;return((t&255)<<24|(t&65280)<<8|t>>>8&65280|t>>>24&255)>>>0}function aw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0;r[n++]=a>>>0&3,r[n++]=a>>>2&3,r[n++]=a>>>4&3,r[n++]=a>>>6&3,r[n++]=a>>>8&3,r[n++]=a>>>10&3,r[n++]=a>>>12&3,r[n++]=a>>>14&3,r[n++]=a>>>16&3,r[n++]=a>>>18&3,r[n++]=a>>>20&3,r[n++]=a>>>22&3,r[n++]=a>>>24&3,r[n++]=a>>>26&3,r[n++]=a>>>28&3,r[n++]=a>>>30&3,r[n++]=s>>>0&3,r[n++]=s>>>2&3,r[n++]=s>>>4&3,r[n++]=s>>>6&3,r[n++]=s>>>8&3,r[n++]=s>>>10&3,r[n++]=s>>>12&3,r[n++]=s>>>14&3,r[n++]=s>>>16&3,r[n++]=s>>>18&3,r[n++]=s>>>20&3,r[n++]=s>>>22&3,r[n++]=s>>>24&3,r[n++]=s>>>26&3,r[n++]=s>>>28&3,r[n]=s>>>30&3}function sw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0;r[n++]=a>>>0&7,r[n++]=a>>>3&7,r[n++]=a>>>6&7,r[n++]=a>>>9&7,r[n++]=a>>>12&7,r[n++]=a>>>15&7,r[n++]=a>>>18&7,r[n++]=a>>>21&7,r[n++]=a>>>24&7,r[n++]=a>>>27&7,r[n++]=(a>>>30|(s&1)<<2)&7,r[n++]=s>>>1&7,r[n++]=s>>>4&7,r[n++]=s>>>7&7,r[n++]=s>>>10&7,r[n++]=s>>>13&7,r[n++]=s>>>16&7,r[n++]=s>>>19&7,r[n++]=s>>>22&7,r[n++]=s>>>25&7,r[n++]=s>>>28&7,r[n++]=(s>>>31|(o&3)<<1)&7,r[n++]=o>>>2&7,r[n++]=o>>>5&7,r[n++]=o>>>8&7,r[n++]=o>>>11&7,r[n++]=o>>>14&7,r[n++]=o>>>17&7,r[n++]=o>>>20&7,r[n++]=o>>>23&7,r[n++]=o>>>26&7,r[n]=o>>>29&7}function ow(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0;r[n++]=a>>>0&15,r[n++]=a>>>4&15,r[n++]=a>>>8&15,r[n++]=a>>>12&15,r[n++]=a>>>16&15,r[n++]=a>>>20&15,r[n++]=a>>>24&15,r[n++]=a>>>28&15,r[n++]=s>>>0&15,r[n++]=s>>>4&15,r[n++]=s>>>8&15,r[n++]=s>>>12&15,r[n++]=s>>>16&15,r[n++]=s>>>20&15,r[n++]=s>>>24&15,r[n++]=s>>>28&15,r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n]=l>>>28&15}function lw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0;r[n++]=a>>>0&31,r[n++]=a>>>5&31,r[n++]=a>>>10&31,r[n++]=a>>>15&31,r[n++]=a>>>20&31,r[n++]=a>>>25&31,r[n++]=(a>>>30|(s&7)<<2)&31,r[n++]=s>>>3&31,r[n++]=s>>>8&31,r[n++]=s>>>13&31,r[n++]=s>>>18&31,r[n++]=s>>>23&31,r[n++]=(s>>>28|(o&1)<<4)&31,r[n++]=o>>>1&31,r[n++]=o>>>6&31,r[n++]=o>>>11&31,r[n++]=o>>>16&31,r[n++]=o>>>21&31,r[n++]=o>>>26&31,r[n++]=(o>>>31|(l&15)<<1)&31,r[n++]=l>>>4&31,r[n++]=l>>>9&31,r[n++]=l>>>14&31,r[n++]=l>>>19&31,r[n++]=l>>>24&31,r[n++]=(l>>>29|(u&3)<<3)&31,r[n++]=u>>>2&31,r[n++]=u>>>7&31,r[n++]=u>>>12&31,r[n++]=u>>>17&31,r[n++]=u>>>22&31,r[n]=u>>>27&31}function uw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0;r[n++]=a>>>0&63,r[n++]=a>>>6&63,r[n++]=a>>>12&63,r[n++]=a>>>18&63,r[n++]=a>>>24&63,r[n++]=(a>>>30|(s&15)<<2)&63,r[n++]=s>>>4&63,r[n++]=s>>>10&63,r[n++]=s>>>16&63,r[n++]=s>>>22&63,r[n++]=(s>>>28|(o&3)<<4)&63,r[n++]=o>>>2&63,r[n++]=o>>>8&63,r[n++]=o>>>14&63,r[n++]=o>>>20&63,r[n++]=o>>>26&63,r[n++]=l>>>0&63,r[n++]=l>>>6&63,r[n++]=l>>>12&63,r[n++]=l>>>18&63,r[n++]=l>>>24&63,r[n++]=(l>>>30|(u&15)<<2)&63,r[n++]=u>>>4&63,r[n++]=u>>>10&63,r[n++]=u>>>16&63,r[n++]=u>>>22&63,r[n++]=(u>>>28|(h&3)<<4)&63,r[n++]=h>>>2&63,r[n++]=h>>>8&63,r[n++]=h>>>14&63,r[n++]=h>>>20&63,r[n]=h>>>26&63}function hw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0;r[n++]=a>>>0&127,r[n++]=a>>>7&127,r[n++]=a>>>14&127,r[n++]=a>>>21&127,r[n++]=(a>>>28|(s&7)<<4)&127,r[n++]=s>>>3&127,r[n++]=s>>>10&127,r[n++]=s>>>17&127,r[n++]=s>>>24&127,r[n++]=(s>>>31|(o&63)<<1)&127,r[n++]=o>>>6&127,r[n++]=o>>>13&127,r[n++]=o>>>20&127,r[n++]=(o>>>27|(l&3)<<5)&127,r[n++]=l>>>2&127,r[n++]=l>>>9&127,r[n++]=l>>>16&127,r[n++]=l>>>23&127,r[n++]=(l>>>30|(u&31)<<2)&127,r[n++]=u>>>5&127,r[n++]=u>>>12&127,r[n++]=u>>>19&127,r[n++]=(u>>>26|(h&1)<<6)&127,r[n++]=h>>>1&127,r[n++]=h>>>8&127,r[n++]=h>>>15&127,r[n++]=h>>>22&127,r[n++]=(h>>>29|(c&15)<<3)&127,r[n++]=c>>>4&127,r[n++]=c>>>11&127,r[n++]=c>>>18&127,r[n]=c>>>25&127}function cw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0;r[n++]=a>>>0&255,r[n++]=a>>>8&255,r[n++]=a>>>16&255,r[n++]=a>>>24&255,r[n++]=s>>>0&255,r[n++]=s>>>8&255,r[n++]=s>>>16&255,r[n++]=s>>>24&255,r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n]=p>>>24&255}function pw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0;r[n++]=a>>>0&511,r[n++]=a>>>9&511,r[n++]=a>>>18&511,r[n++]=(a>>>27|(s&15)<<5)&511,r[n++]=s>>>4&511,r[n++]=s>>>13&511,r[n++]=s>>>22&511,r[n++]=(s>>>31|(o&255)<<1)&511,r[n++]=o>>>8&511,r[n++]=o>>>17&511,r[n++]=(o>>>26|(l&7)<<6)&511,r[n++]=l>>>3&511,r[n++]=l>>>12&511,r[n++]=l>>>21&511,r[n++]=(l>>>30|(u&127)<<2)&511,r[n++]=u>>>7&511,r[n++]=u>>>16&511,r[n++]=(u>>>25|(h&3)<<7)&511,r[n++]=h>>>2&511,r[n++]=h>>>11&511,r[n++]=h>>>20&511,r[n++]=(h>>>29|(c&63)<<3)&511,r[n++]=c>>>6&511,r[n++]=c>>>15&511,r[n++]=(c>>>24|(p&1)<<8)&511,r[n++]=p>>>1&511,r[n++]=p>>>10&511,r[n++]=p>>>19&511,r[n++]=(p>>>28|(f&31)<<4)&511,r[n++]=f>>>5&511,r[n++]=f>>>14&511,r[n]=f>>>23&511}function fw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0;r[n++]=a>>>0&1023,r[n++]=a>>>10&1023,r[n++]=a>>>20&1023,r[n++]=(a>>>30|(s&255)<<2)&1023,r[n++]=s>>>8&1023,r[n++]=s>>>18&1023,r[n++]=(s>>>28|(o&63)<<4)&1023,r[n++]=o>>>6&1023,r[n++]=o>>>16&1023,r[n++]=(o>>>26|(l&15)<<6)&1023,r[n++]=l>>>4&1023,r[n++]=l>>>14&1023,r[n++]=(l>>>24|(u&3)<<8)&1023,r[n++]=u>>>2&1023,r[n++]=u>>>12&1023,r[n++]=u>>>22&1023,r[n++]=h>>>0&1023,r[n++]=h>>>10&1023,r[n++]=h>>>20&1023,r[n++]=(h>>>30|(c&255)<<2)&1023,r[n++]=c>>>8&1023,r[n++]=c>>>18&1023,r[n++]=(c>>>28|(p&63)<<4)&1023,r[n++]=p>>>6&1023,r[n++]=p>>>16&1023,r[n++]=(p>>>26|(f&15)<<6)&1023,r[n++]=f>>>4&1023,r[n++]=f>>>14&1023,r[n++]=(f>>>24|(d&3)<<8)&1023,r[n++]=d>>>2&1023,r[n++]=d>>>12&1023,r[n]=d>>>22&1023}function dw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0;r[n++]=a>>>0&2047,r[n++]=a>>>11&2047,r[n++]=(a>>>22|(s&1)<<10)&2047,r[n++]=s>>>1&2047,r[n++]=s>>>12&2047,r[n++]=(s>>>23|(o&3)<<9)&2047,r[n++]=o>>>2&2047,r[n++]=o>>>13&2047,r[n++]=(o>>>24|(l&7)<<8)&2047,r[n++]=l>>>3&2047,r[n++]=l>>>14&2047,r[n++]=(l>>>25|(u&15)<<7)&2047,r[n++]=u>>>4&2047,r[n++]=u>>>15&2047,r[n++]=(u>>>26|(h&31)<<6)&2047,r[n++]=h>>>5&2047,r[n++]=h>>>16&2047,r[n++]=(h>>>27|(c&63)<<5)&2047,r[n++]=c>>>6&2047,r[n++]=c>>>17&2047,r[n++]=(c>>>28|(p&127)<<4)&2047,r[n++]=p>>>7&2047,r[n++]=p>>>18&2047,r[n++]=(p>>>29|(f&255)<<3)&2047,r[n++]=f>>>8&2047,r[n++]=f>>>19&2047,r[n++]=(f>>>30|(d&511)<<2)&2047,r[n++]=d>>>9&2047,r[n++]=d>>>20&2047,r[n++]=(d>>>31|(y&1023)<<1)&2047,r[n++]=y>>>10&2047,r[n]=y>>>21&2047}function yw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0;r[n++]=a>>>0&4095,r[n++]=a>>>12&4095,r[n++]=(a>>>24|(s&15)<<8)&4095,r[n++]=s>>>4&4095,r[n++]=s>>>16&4095,r[n++]=(s>>>28|(o&255)<<4)&4095,r[n++]=o>>>8&4095,r[n++]=o>>>20&4095,r[n++]=l>>>0&4095,r[n++]=l>>>12&4095,r[n++]=(l>>>24|(u&15)<<8)&4095,r[n++]=u>>>4&4095,r[n++]=u>>>16&4095,r[n++]=(u>>>28|(h&255)<<4)&4095,r[n++]=h>>>8&4095,r[n++]=h>>>20&4095,r[n++]=c>>>0&4095,r[n++]=c>>>12&4095,r[n++]=(c>>>24|(p&15)<<8)&4095,r[n++]=p>>>4&4095,r[n++]=p>>>16&4095,r[n++]=(p>>>28|(f&255)<<4)&4095,r[n++]=f>>>8&4095,r[n++]=f>>>20&4095,r[n++]=d>>>0&4095,r[n++]=d>>>12&4095,r[n++]=(d>>>24|(y&15)<<8)&4095,r[n++]=y>>>4&4095,r[n++]=y>>>16&4095,r[n++]=(y>>>28|(m&255)<<4)&4095,r[n++]=m>>>8&4095,r[n]=m>>>20&4095}function mw(e,t,r,i){let n=i,a=e[t]>>>0,s=e[t+1]>>>0,o=e[t+2]>>>0,l=e[t+3]>>>0,u=e[t+4]>>>0,h=e[t+5]>>>0,c=e[t+6]>>>0,p=e[t+7]>>>0,f=e[t+8]>>>0,d=e[t+9]>>>0,y=e[t+10]>>>0,m=e[t+11]>>>0,g=e[t+12]>>>0,x=e[t+13]>>>0,b=e[t+14]>>>0,v=e[t+15]>>>0;r[n++]=a>>>0&65535,r[n++]=a>>>16&65535,r[n++]=s>>>0&65535,r[n++]=s>>>16&65535,r[n++]=o>>>0&65535,r[n++]=o>>>16&65535,r[n++]=l>>>0&65535,r[n++]=l>>>16&65535,r[n++]=u>>>0&65535,r[n++]=u>>>16&65535,r[n++]=h>>>0&65535,r[n++]=h>>>16&65535,r[n++]=c>>>0&65535,r[n++]=c>>>16&65535,r[n++]=p>>>0&65535,r[n++]=p>>>16&65535,r[n++]=f>>>0&65535,r[n++]=f>>>16&65535,r[n++]=d>>>0&65535,r[n++]=d>>>16&65535,r[n++]=y>>>0&65535,r[n++]=y>>>16&65535,r[n++]=m>>>0&65535,r[n++]=m>>>16&65535,r[n++]=g>>>0&65535,r[n++]=g>>>16&65535,r[n++]=x>>>0&65535,r[n++]=x>>>16&65535,r[n++]=b>>>0&65535,r[n++]=b>>>16&65535,r[n++]=v>>>0&65535,r[n]=v>>>16&65535}function gw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0;r[n++]=o>>>0&1,r[n++]=o>>>1&1,r[n++]=o>>>2&1,r[n++]=o>>>3&1,r[n++]=o>>>4&1,r[n++]=o>>>5&1,r[n++]=o>>>6&1,r[n++]=o>>>7&1,r[n++]=o>>>8&1,r[n++]=o>>>9&1,r[n++]=o>>>10&1,r[n++]=o>>>11&1,r[n++]=o>>>12&1,r[n++]=o>>>13&1,r[n++]=o>>>14&1,r[n++]=o>>>15&1,r[n++]=o>>>16&1,r[n++]=o>>>17&1,r[n++]=o>>>18&1,r[n++]=o>>>19&1,r[n++]=o>>>20&1,r[n++]=o>>>21&1,r[n++]=o>>>22&1,r[n++]=o>>>23&1,r[n++]=o>>>24&1,r[n++]=o>>>25&1,r[n++]=o>>>26&1,r[n++]=o>>>27&1,r[n++]=o>>>28&1,r[n++]=o>>>29&1,r[n++]=o>>>30&1,r[n++]=o>>>31&1}}function xw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0;r[n++]=o>>>0&3,r[n++]=o>>>2&3,r[n++]=o>>>4&3,r[n++]=o>>>6&3,r[n++]=o>>>8&3,r[n++]=o>>>10&3,r[n++]=o>>>12&3,r[n++]=o>>>14&3,r[n++]=o>>>16&3,r[n++]=o>>>18&3,r[n++]=o>>>20&3,r[n++]=o>>>22&3,r[n++]=o>>>24&3,r[n++]=o>>>26&3,r[n++]=o>>>28&3,r[n++]=o>>>30&3,r[n++]=l>>>0&3,r[n++]=l>>>2&3,r[n++]=l>>>4&3,r[n++]=l>>>6&3,r[n++]=l>>>8&3,r[n++]=l>>>10&3,r[n++]=l>>>12&3,r[n++]=l>>>14&3,r[n++]=l>>>16&3,r[n++]=l>>>18&3,r[n++]=l>>>20&3,r[n++]=l>>>22&3,r[n++]=l>>>24&3,r[n++]=l>>>26&3,r[n++]=l>>>28&3,r[n++]=l>>>30&3}}function vw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0;r[n++]=o>>>0&7,r[n++]=o>>>3&7,r[n++]=o>>>6&7,r[n++]=o>>>9&7,r[n++]=o>>>12&7,r[n++]=o>>>15&7,r[n++]=o>>>18&7,r[n++]=o>>>21&7,r[n++]=o>>>24&7,r[n++]=o>>>27&7,r[n++]=(o>>>30|(l&1)<<2)&7,r[n++]=l>>>1&7,r[n++]=l>>>4&7,r[n++]=l>>>7&7,r[n++]=l>>>10&7,r[n++]=l>>>13&7,r[n++]=l>>>16&7,r[n++]=l>>>19&7,r[n++]=l>>>22&7,r[n++]=l>>>25&7,r[n++]=l>>>28&7,r[n++]=(l>>>31|(u&3)<<1)&7,r[n++]=u>>>2&7,r[n++]=u>>>5&7,r[n++]=u>>>8&7,r[n++]=u>>>11&7,r[n++]=u>>>14&7,r[n++]=u>>>17&7,r[n++]=u>>>20&7,r[n++]=u>>>23&7,r[n++]=u>>>26&7,r[n++]=u>>>29&7}}function bw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0;r[n++]=o>>>0&15,r[n++]=o>>>4&15,r[n++]=o>>>8&15,r[n++]=o>>>12&15,r[n++]=o>>>16&15,r[n++]=o>>>20&15,r[n++]=o>>>24&15,r[n++]=o>>>28&15,r[n++]=l>>>0&15,r[n++]=l>>>4&15,r[n++]=l>>>8&15,r[n++]=l>>>12&15,r[n++]=l>>>16&15,r[n++]=l>>>20&15,r[n++]=l>>>24&15,r[n++]=l>>>28&15,r[n++]=u>>>0&15,r[n++]=u>>>4&15,r[n++]=u>>>8&15,r[n++]=u>>>12&15,r[n++]=u>>>16&15,r[n++]=u>>>20&15,r[n++]=u>>>24&15,r[n++]=u>>>28&15,r[n++]=h>>>0&15,r[n++]=h>>>4&15,r[n++]=h>>>8&15,r[n++]=h>>>12&15,r[n++]=h>>>16&15,r[n++]=h>>>20&15,r[n++]=h>>>24&15,r[n++]=h>>>28&15}}function ww(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0;r[n++]=o>>>0&31,r[n++]=o>>>5&31,r[n++]=o>>>10&31,r[n++]=o>>>15&31,r[n++]=o>>>20&31,r[n++]=o>>>25&31,r[n++]=(o>>>30|(l&7)<<2)&31,r[n++]=l>>>3&31,r[n++]=l>>>8&31,r[n++]=l>>>13&31,r[n++]=l>>>18&31,r[n++]=l>>>23&31,r[n++]=(l>>>28|(u&1)<<4)&31,r[n++]=u>>>1&31,r[n++]=u>>>6&31,r[n++]=u>>>11&31,r[n++]=u>>>16&31,r[n++]=u>>>21&31,r[n++]=u>>>26&31,r[n++]=(u>>>31|(h&15)<<1)&31,r[n++]=h>>>4&31,r[n++]=h>>>9&31,r[n++]=h>>>14&31,r[n++]=h>>>19&31,r[n++]=h>>>24&31,r[n++]=(h>>>29|(c&3)<<3)&31,r[n++]=c>>>2&31,r[n++]=c>>>7&31,r[n++]=c>>>12&31,r[n++]=c>>>17&31,r[n++]=c>>>22&31,r[n++]=c>>>27&31}}function Dw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0;r[n++]=o>>>0&63,r[n++]=o>>>6&63,r[n++]=o>>>12&63,r[n++]=o>>>18&63,r[n++]=o>>>24&63,r[n++]=(o>>>30|(l&15)<<2)&63,r[n++]=l>>>4&63,r[n++]=l>>>10&63,r[n++]=l>>>16&63,r[n++]=l>>>22&63,r[n++]=(l>>>28|(u&3)<<4)&63,r[n++]=u>>>2&63,r[n++]=u>>>8&63,r[n++]=u>>>14&63,r[n++]=u>>>20&63,r[n++]=u>>>26&63,r[n++]=h>>>0&63,r[n++]=h>>>6&63,r[n++]=h>>>12&63,r[n++]=h>>>18&63,r[n++]=h>>>24&63,r[n++]=(h>>>30|(c&15)<<2)&63,r[n++]=c>>>4&63,r[n++]=c>>>10&63,r[n++]=c>>>16&63,r[n++]=c>>>22&63,r[n++]=(c>>>28|(p&3)<<4)&63,r[n++]=p>>>2&63,r[n++]=p>>>8&63,r[n++]=p>>>14&63,r[n++]=p>>>20&63,r[n++]=p>>>26&63}}function _w(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0;r[n++]=o>>>0&127,r[n++]=o>>>7&127,r[n++]=o>>>14&127,r[n++]=o>>>21&127,r[n++]=(o>>>28|(l&7)<<4)&127,r[n++]=l>>>3&127,r[n++]=l>>>10&127,r[n++]=l>>>17&127,r[n++]=l>>>24&127,r[n++]=(l>>>31|(u&63)<<1)&127,r[n++]=u>>>6&127,r[n++]=u>>>13&127,r[n++]=u>>>20&127,r[n++]=(u>>>27|(h&3)<<5)&127,r[n++]=h>>>2&127,r[n++]=h>>>9&127,r[n++]=h>>>16&127,r[n++]=h>>>23&127,r[n++]=(h>>>30|(c&31)<<2)&127,r[n++]=c>>>5&127,r[n++]=c>>>12&127,r[n++]=c>>>19&127,r[n++]=(c>>>26|(p&1)<<6)&127,r[n++]=p>>>1&127,r[n++]=p>>>8&127,r[n++]=p>>>15&127,r[n++]=p>>>22&127,r[n++]=(p>>>29|(f&15)<<3)&127,r[n++]=f>>>4&127,r[n++]=f>>>11&127,r[n++]=f>>>18&127,r[n++]=f>>>25&127}}function Sw(e,t,r,i){let n=i,a=t;for(let s=0;s<8;s++){let o=e[a++]>>>0,l=e[a++]>>>0,u=e[a++]>>>0,h=e[a++]>>>0,c=e[a++]>>>0,p=e[a++]>>>0,f=e[a++]>>>0,d=e[a++]>>>0;r[n++]=o>>>0&255,r[n++]=o>>>8&255,r[n++]=o>>>16&255,r[n++]=o>>>24&255,r[n++]=l>>>0&255,r[n++]=l>>>8&255,r[n++]=l>>>16&255,r[n++]=l>>>24&255,r[n++]=u>>>0&255,r[n++]=u>>>8&255,r[n++]=u>>>16&255,r[n++]=u>>>24&255,r[n++]=h>>>0&255,r[n++]=h>>>8&255,r[n++]=h>>>16&255,r[n++]=h>>>24&255,r[n++]=c>>>0&255,r[n++]=c>>>8&255,r[n++]=c>>>16&255,r[n++]=c>>>24&255,r[n++]=p>>>0&255,r[n++]=p>>>8&255,r[n++]=p>>>16&255,r[n++]=p>>>24&255,r[n++]=f>>>0&255,r[n++]=f>>>8&255,r[n++]=f>>>16&255,r[n++]=f>>>24&255,r[n++]=d>>>0&255,r[n++]=d>>>8&255,r[n++]=d>>>16&255,r[n++]=d>>>24&255}}function Aw(e,t,r,i){let n=i,a=t;for(let s=0;s<128;s++){let o=e[a++]>>>0;r[n++]=o&65535,r[n++]=o>>>16&65535}}function Ew(e,t,r,i,n){let a=nl[n]>>>0,s=t,o=0,l=e[s]>>>0,u=i;for(let h=0;h<8;h++){for(let c=0;c<32;c++)if(o+n<=32){let p=l>>>o&a;r[u+c]=p|0,o+=n,o===32&&(o=0,s++,c!==31&&(l=e[s]>>>0))}else{let p=32-o,f=l>>>o;s++,l=e[s]>>>0;let d=n-p,y=-1>>>32-d>>>0,m=(f|(l&y)<<p)&a;r[u+c]=m|0,o=d}u+=32,o=0,h<7&&(l=e[s]>>>0)}}var al=uy(nu),Fw=3*al/256+al|0;function hy(){let e=new Uint8Array(Fw);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:e,byteContainerI32:new Int32Array(e.buffer,e.byteOffset,e.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function Tw(e=16){if(e<0)throw RangeError(`initialEncodedWordCapacity must be >= 0, got ${e}`);let t=Math.max(16,e|0);return{encodedWords:new Uint32Array(t),decoderWorkspace:hy()}}function kw(e,t){if(t<=e.encodedWords.length)return e.encodedWords;let r=new Uint32Array(Math.max(16,t*2));return e.encodedWords=r,r}function Iw(e,t,r,i){i.byteContainer.length<r&&(i.byteContainer=new Uint8Array(r*2),i.byteContainerI32=void 0);let n=i.byteContainer,a=r>>>2;if(n.byteOffset&3)for(let o=0;o<a;o=o+1|0){let l=e[t+o|0]|0,u=o<<2;n[u]=l&255,n[u+1|0]=l>>>8&255,n[u+2|0]=l>>>16&255,n[u+3|0]=l>>>24&255}else{let o=i.byteContainerI32;(!o||o.buffer!==n.buffer||o.byteOffset!==n.byteOffset||o.length<a)&&(o=i.byteContainerI32=new Int32Array(n.buffer,n.byteOffset,n.byteLength>>>2)),o.set(e.subarray(t,t+a))}let s=r&3;if(s>0){let o=e[t+a|0]|0,l=a<<2;for(let u=0;u<s;u=u+1|0)n[l+u|0]=o>>>(u<<3)&255}return n}function Cw(e,t,r){let i=e[t++]|0,n=r.dataToBePacked;for(let a=2;a<=32;a=a+1|0){if(!(i>>>a-1&1))continue;if(t>=e.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${a}, streamWordIndex=${t}, needWords=1, availableWords=${e.length-t}, encodedWords=${e.length})`);let s=e[t++]>>>0,o=iw(s),l=s*a+31>>>5;if(t+l>e.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${a}, size=${s}, streamWordIndex=${t}, needWords=${l}, availableWords=${e.length-t}, encodedWords=${e.length})`);let u=n[a];(!u||u.length<o)&&(u=n[a]=new Uint32Array(o));let h=0;for(;h<s;h=h+32|0)Nw(e,t,u,h,a),t=t+a|0;let c=h-s|0;t=t-(c*a>>>5)|0,r.exceptionSizes[a]=s}return t}function Bw(e,t,r,i,n){switch(n){case 1:gw(e,t,r,i);break;case 2:xw(e,t,r,i);break;case 3:vw(e,t,r,i);break;case 4:bw(e,t,r,i);break;case 5:ww(e,t,r,i);break;case 6:Dw(e,t,r,i);break;case 7:_w(e,t,r,i);break;case 8:Sw(e,t,r,i);break;case 16:Aw(e,t,r,i);break;default:Ew(e,t,r,i,n)}return t+(n<<3)|0}function Pw(e,t,r,i){if(r+2>t)throw Error(`FastPFOR decode: byteContainer underflow at block=${i} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${r}, byteSize=${t})`);let n=e[r++],a=e[r++];if(n>32)throw Error(`FastPFOR decode: invalid bitWidth=${n} at block=${i} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:n,exceptionCount:a,bytePosIn:r}}function Mw(e,t,r,i,n,a){if(r+1>t)throw Error(`FastPFOR decode: exception header underflow at block=${a} (need 1 byte for maxBits, bytePos=${r}, byteSize=${t})`);let s=e[r++];if(s<i||s>32)throw Error(`FastPFOR decode: invalid maxBits=${s} at block=${a} (bitWidth=${i}, expected ${i}..32)`);let o=s-i|0;if(o<1||o>32)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${o} at block=${a} (bitWidth=${i}, maxBits=${s})`);if(r+n>t)throw Error(`FastPFOR decode: exception positions underflow at block=${a} (need=${n}, have=${t-r})`);return{maxBits:s,exceptionBitWidth:o,bytePosIn:r}}function zw(e,t,r,i,n,a,s,o,l){let{maxBits:u,exceptionBitWidth:h,bytePosIn:c}=Mw(n,a,s,r,i,l);if(s=c,h===1){let m=1<<r;for(let g=0;g<i;g=g+1|0){let x=n[s++];e[x+t|0]|=m}return s}let p=o.dataToBePacked[h];if(!p)throw Error(`FastPFOR decode: missing exception stream for exceptionBitWidth=${h} (bitWidth=${r}, maxBits=${u}) at block ${l}`);let f=o.dataPointers,d=f[h]|0,y=o.exceptionSizes[h]|0;if(d+i>y)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${h} (ptr=${d}, need ${i}, size=${y}) at block ${l}`);for(let m=0;m<i;m=m+1|0){let g=n[s++],x=p[d++]|0;e[g+t|0]|=x<<r}return f[h]=d,s}function Lw(e,t,r,i,n,a,s,o,l,u){let h=r|0,c=0;for(let p=0;p<s;p=p+1|0){let f=Pw(o,l,c,p);c=f.bytePosIn;let d=f.bitWidth,y=f.exceptionCount,m=a+p*256|0;switch(d){case 0:n.fill(0,m,m+256);break;case 32:for(let g=0;g<256;g=g+1|0)n[m+g|0]=e[h+g|0]|0;h=h+256|0;break;default:h=Bw(e,h,n,m,d)}y>0&&(c=zw(n,m,d,y,o,l,c,u,p))}if(h!==i)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${t}, packedStart=${r}, consumedPackedEnd=${h}, expectedPackedEnd=${i}, packedWords=${i-r}, encoded.length=${e.length})`)}function Vw(e,t,r,i,n,a){let s=r|0,o=e[s]|0;if(o<=0||s+o>e.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${o} at pageStart=${s} (expected > 0 and pageStart+whereMeta < encoded.length=${e.length})`);let l=s+1|0,u=s+o|0,h=e[u]>>>0,c=h+3>>>2,p=u+1,f=p+c;if(f>=e.length)throw Error(`FastPFOR decode: invalid byteSize=${h} (metaInts=${c}, pageStart=${s}, packedEnd=${u}, byteContainerStart=${p}) causes bitmapPos=${f} out of bounds (encoded.length=${e.length})`);let d=Iw(e,p,h,a),y=h,m=Cw(e,f,a);return a.dataPointers.fill(0),Lw(e,s,l,u,t,i|0,n/256|0,d,y,a),m}function Ow(e,t,r,i,n,a){let s=i+au(n,256),o=i,l=r;for(;o!==s;){let u=Math.min(al,s-o);l=Vw(e,t,l,o,u,a),o=o+u|0}return l}function Rw(e,t,r,i,n,a){if(a===0)return t;let s=0,o=t,l=t+r,u=n,h=n,c=n+a,p=0,f=0;for(;o<l&&h<c;){let d=e[o]>>>s&255;if(s+=8,o+=s>>>5,s&=31,p|=(d&127)<<f,d&128)i[h++]=p|0,p=0,f=0;else if(f+=7,f>28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${f}, partial=${p}, decoded=${h-u}/${a}, inPos=${o}, inEnd=${l})`)}if(h!==c)throw Error(`FastPFOR VByte: truncated stream (decoded=${h-u}, expected=${a}, consumedWords=${o-t}/${r}, vbyteStart=${t}, vbyteEnd=${l})`);return o}function $w(e,t,r){let i=0,n=0,a=new Uint32Array(t),s=r??hy();if(e.length>0){let u=e[i]|0;if(i=i+1|0,u&255)throw Error(`FastPFOR decode: invalid alignedLength=${u} (expected multiple of 256)`);if(n+u>a.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${n}, alignedLength=${u}, out.length=${a.length})`);i=Ow(e,a,i,n,u,s),n=n+u|0}let o=e.length-i|0,l=t-n|0;return Rw(e,i,o,a,n,l),a}function Nw(e,t,r,i,n){switch(n){case 2:aw(e,t,r,i);return;case 3:sw(e,t,r,i);return;case 4:ow(e,t,r,i);return;case 5:lw(e,t,r,i);return;case 6:uw(e,t,r,i);return;case 7:hw(e,t,r,i);return;case 8:cw(e,t,r,i);return;case 9:pw(e,t,r,i);return;case 10:fw(e,t,r,i);return;case 11:dw(e,t,r,i);return;case 12:yw(e,t,r,i);return;case 16:mw(e,t,r,i);return;case 32:for(let u=0;u<32;u=u+1|0)r[i+u|0]=e[t+u|0]|0;return}let a=nl[n]>>>0,s=t,o=0,l=e[s]>>>0;for(let u=0;u<32;u++)if(o+n<=32){let h=l>>>o&a;r[i+u]=h|0,o+=n,o===32&&(o=0,s++,u!==31&&(l=e[s]>>>0))}else{let h=32-o,c=l>>>o;s++,l=e[s]>>>0;let p=nl[n-h]>>>0,f=(c|(l&p)<<h)&a;r[i+u]=f|0,o=n-h}}function Uw(e,t,r,i){if(t<0||r<0||t+r>e.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${t}, byteLength=${r}, bytes.length=${e.length})`);let n=Math.floor(r/4),a=r%4!=0,s=a?n+1:n;if(i.length<s)throw RangeError(`decodeBigEndianInt32sInto: out.length=${i.length} < ${s}`);if(n>0){let o=e.byteOffset+t;if(o&3)for(let l=0;l<n;l++){let u=t+l*4;i[l]=e[u]<<24|e[u+1]<<16|e[u+2]<<8|e[u+3]|0}else{let l=new Uint32Array(e.buffer,o,n);for(let u=0;u<n;u++)i[u]=nw(l[u])|0}}if(a){let o=t+n*4,l=r-n*4,u=0;for(let h=0;h<l;h++)u|=e[o+h]<<24-h*8;i[n]=u|0}return s}function Re(e,t,r){let i=new Uint32Array(r),n=0,a=t.get();for(let s=0;s<i.length;s++){let o=e[a++],l=o&127;if(o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<7,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<14,o<128){i[n++]=l;continue}if(o=e[a++],l|=(o&127)<<21,o<128){i[n++]=l;continue}o=e[a++],l|=(o&15)<<28,i[n++]=l}return t.set(a),i}function su(e,t,r){let i=new BigUint64Array(r);for(let n=0;n<i.length;n++)i[n]=qw(e,t);return i}function qw(e,t){let r=0n,i=0,n=t.get();for(;n<e.length;){let a=e[n++];if(r|=BigInt(a&127)<<BigInt(i),!(a&128))break;if(i+=7,i>=64)throw Error("Varint too long")}return t.set(n),r}function jw(e,t,r){let i=new Float64Array(r);for(let n=0;n<r;n++)i[n]=Gw(e,t);return i}function Gw(e,t){let r,i;return i=e[t.get()],t.increment(),r=i&127,i<128||(i=e[t.get()],t.increment(),r|=(i&127)<<7,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<14,i<128)||(i=e[t.get()],t.increment(),r|=(i&127)<<21,i<128)?r:(i=e[t.get()],r|=(i&15)<<28,Yw(r,e,t))}function Yw(e,t,r){let i,n;if(n=t[r.get()],r.increment(),i=(n&112)>>4,n<128||(n=t[r.get()],r.increment(),i|=(n&127)<<3,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<10,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<17,n<128)||(n=t[r.get()],r.increment(),i|=(n&127)<<24,n<128)||(n=t[r.get()],r.increment(),i|=(n&1)<<31,n<128))return i*4294967296+(e>>>0);throw Error("Expected varint not more than 10 bytes")}function Xw(e,t,r,i){return Zw(e,t,r,i,Tw(r>>>2))}function Zw(e,t,r,i,n){let a=i.get();if(r&3)throw Error(`FastPFOR: invalid encodedByteLength=${r} at offset=${a} (encodedBytes.length=${e.length}; expected a multiple of 4 bytes for an int32 big-endian word stream)`);let s=r>>>2,o=kw(n,s);Uw(e,a,r,o);let l=$w(o.subarray(0,s),t,n.decoderWorkspace);return i.add(r),l}function ee(e){return e>>>1^-(e&1)}function Oe(e){return e>>1n^-(e&1n)}function Gt(e){return e%2==1?(e+1)/-2:e/2}function Ww(e){let t=new Int32Array(e.length);for(let r=0;r<e.length;r++)t[r]=ee(e[r]);return t}function Hw(e){let t=new BigInt64Array(e.length);for(let r=0;r<e.length;r++)t[r]=Oe(e[r]);return t}function Jw(e){for(let t=0;t<e.length;t++)e[t]=Gt(e[t])}function sl(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Uint32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function ol(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigUint64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function cy(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];i.fill(o,n,n+s),n+=s}return i}function Oc(e){let t=new Int32Array(e.length);t[0]=ee(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ee(n)+t[i-1],t[i+1]=ee(a)+t[i],t[i+2]=ee(s)+t[i+1],t[i+3]=ee(o)+t[i+2]}for(;i!==e.length;++i)t[i]=ee(e[i])+t[i-1];return t}function Rc(e){let t=new BigInt64Array(e.length);t[0]=Oe(e[0]);let r=e.length/4*4,i=1;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=Oe(n)+t[i-1],t[i+1]=Oe(a)+t[i],t[i+2]=Oe(s)+t[i+1],t[i+3]=Oe(o)+t[i+2]}for(;i!==t.length;++i)t[i]=Oe(e[i])+t[i-1];return t}function Kw(e){e[0]=Gt(e[0]);let t=e.length/4*4,r=1;if(t>=4)for(;r<t-4;r+=4){let i=e[r],n=e[r+1],a=e[r+2],s=e[r+3];e[r]=Gt(i)+e[r-1],e[r+1]=Gt(n)+e[r],e[r+2]=Gt(a)+e[r+1],e[r+3]=Gt(s)+e[r+2]}for(;r!==e.length;++r)e[r]=Gt(e[r])+e[r-1]}function Qw(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=e[a]}let i=new Int32Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=ee(o),i.fill(o,n,n+s),n+=s}return i}function e3(e,t,r){if(r===void 0){r=0;for(let a=0;a<t;a++)r+=Number(e[a])}let i=new BigInt64Array(r),n=0;for(let a=0;a<t;a++){let s=Number(e[a]),o=e[a+t];o=Oe(o),i.fill(o,n,n+s),n+=s}return i}function t3(e,t,r){let i=new Float64Array(r),n=0;for(let a=0;a<t;a++){let s=e[a],o=e[a+t];o=Gt(o),i.fill(o,n,n+s),n+=s}return i}function ou(e){let t=e.length/4*4,r=1;if(t>=4)for(let i=e[0];r<t-4;r+=4)i=e[r]+=i,i=e[r+1]+=i,i=e[r+2]+=i,i=e[r+3]+=i;for(;r!==e.length;)e[r]+=e[r-1],++r}function r3(e){let t=0;for(let r=0;r<e.length;r++)e[r]+=t,t=e[r]}function i3(e){if(e.length<2)return new Int32Array(e);let t=new Int32Array(e.length);t[0]=ee(e[0]),t[1]=ee(e[1]);let r=e.length/4*4,i=2;if(r>=4)for(;i<r-4;i+=4){let n=e[i],a=e[i+1],s=e[i+2],o=e[i+3];t[i]=ee(n)+t[i-2],t[i+1]=ee(a)+t[i-1],t[i+2]=ee(s)+t[i],t[i+3]=ee(o)+t[i+1]}for(;i!==e.length;i+=2)t[i]=ee(e[i])+t[i-2],t[i+1]=ee(e[i+1])+t[i-1];return t}function py(e,t,r,i){if(e.length<2)return new Int32Array(e);let n=new Int32Array(e.length),a=ee(e[0]),s=ee(e[1]);n[0]=qt(Math.round(a*t),r,i),n[1]=qt(Math.round(s*t),r,i);let o=e.length/16,l=2;if(o>=4)for(;l<o-4;l+=4){let u=e[l],h=e[l+1],c=ee(u)+a,p=ee(h)+s;n[l]=qt(Math.round(c*t),r,i),n[l+1]=qt(Math.round(p*t),r,i);let f=e[l+2],d=e[l+3];a=ee(f)+c,s=ee(d)+p,n[l+2]=qt(Math.round(a*t),r,i),n[l+3]=qt(Math.round(s*t),r,i)}for(;l!==e.length;l+=2)a+=ee(e[l]),s+=ee(e[l+1]),n[l]=qt(Math.round(a*t),r,i),n[l+1]=qt(Math.round(s*t),r,i);return n}function qt(e,t,r){return Math.min(r,Math.max(t,e))}function n3(e){let t=new Int32Array(e.length+1);t[0]=0,t[1]=ee(e[0]);let r=t[1];for(let i=2;i!==t.length;++i){let n=e[i-1],a=ee(n);r+=a,t[i]=t[i-1]+r}return new Uint32Array(t)}function a3(e,t,r){let i=new Int32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];l=ee(l);for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function s3(e,t,r){let i=new Uint32Array(r+1);i[0]=0;let n=1,a=i[0];for(let s=0;s<t;s++){let o=e[s],l=e[s+t];for(let u=n;u<n+o;u++)i[u]=l+a,a=i[u];n+=o}return i}function o3(e,t,r){let i=new Int32Array(r),n=0,a=0;for(let s=0;s<t;s++){let o=e[s],l=e[s+t],u=ee(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function l3(e,t,r){let i=new BigInt64Array(r),n=0,a=0n;for(let s=0;s<t;s++){let o=Number(e[s]),l=e[s+t],u=Oe(l);for(let h=0;h<o;h++)a+=u,i[n++]=a}return i}function $c(e){let t=new Uint32Array(e.length);t[0]=ee(e[0])>>>0;for(let r=1;r<e.length;r++)t[r]=t[r-1]+ee(e[r])>>>0;return t}function Nc(e){let t=new BigUint64Array(e.length);t[0]=BigInt.asUintN(64,Oe(e[0]));for(let r=1;r<e.length;r++)t[r]=BigInt.asUintN(64,t[r-1]+Oe(e[r]));return t}function u3(e){if(e.length<2)return new Uint32Array(e);let t=new Uint32Array(e.length);t[0]=ee(e[0])>>>0,t[1]=ee(e[1])>>>0;for(let r=2;r<e.length;r+=2)t[r]=t[r-2]+ee(e[r])>>>0,t[r+1]=t[r-1]+ee(e[r+1])>>>0;return t}function h3(e,t,r,i){let n=py(e,t,r,i);return new Uint32Array(n)}function c3(e){return e[1]}function p3(e){return ee(e[1])}function f3(e){if(e.length===2){let t=ee(e[1]);return[t,t]}return[ee(e[2]),ee(e[3])]}function d3(e){return e[1]}function y3(e){return Oe(e[1])}function m3(e){if(e.length===2){let t=Oe(e[1]);return[t,t]}return[Oe(e[2]),Oe(e[3])]}var _e;(function(e){e.PRESENT="PRESENT",e.DATA="DATA",e.OFFSET="OFFSET",e.LENGTH="LENGTH"})(_e||(_e={}));var qe;(function(e){e.NONE="NONE",e.SINGLE="SINGLE",e.SHARED="SHARED",e.VERTEX="VERTEX",e.MORTON="MORTON",e.FSST="FSST"})(qe||(qe={}));var xt;(function(e){e.VERTEX="VERTEX",e.INDEX="INDEX",e.STRING="STRING",e.KEY="KEY"})(xt||(xt={}));var Ee;(function(e){e.VAR_BINARY="VAR_BINARY",e.GEOMETRIES="GEOMETRIES",e.PARTS="PARTS",e.RINGS="RINGS",e.TRIANGLES="TRIANGLES",e.SYMBOL="SYMBOL",e.DICTIONARY="DICTIONARY"})(Ee||(Ee={}));var g3=[_e.PRESENT,_e.DATA,_e.OFFSET,_e.LENGTH],Uc=[Z.NONE,Z.DELTA,Z.COMPONENTWISE_DELTA,Z.RLE,Z.MORTON],x3=[et.NONE,et.FAST_PFOR,et.VARINT],v3=[qe.NONE,qe.SINGLE,qe.SHARED,qe.VERTEX,qe.MORTON,qe.FSST],b3=[xt.VERTEX,xt.INDEX,xt.STRING,xt.KEY],w3=[Ee.VAR_BINARY,Ee.GEOMETRIES,Ee.PARTS,Ee.RINGS,Ee.TRIANGLES,Ee.SYMBOL,Ee.DICTIONARY];function ce(e,t){let r=S3(e,t);return r.logicalLevelTechnique1===Z.MORTON?D3(r,e,t):(Z.RLE===r.logicalLevelTechnique1||Z.RLE===r.logicalLevelTechnique2)&&et.NONE!==r.physicalLevelTechnique?_3(r,e,t):r}function D3(e,t,r){let i=Re(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:e.decompressedCount,numBits:i[0],coordinateShift:i[1]}}function _3(e,t,r){let i=Re(t,r,2);return{physicalStreamType:e.physicalStreamType,logicalStreamType:e.logicalStreamType,logicalLevelTechnique1:e.logicalLevelTechnique1,logicalLevelTechnique2:e.logicalLevelTechnique2,physicalLevelTechnique:e.physicalLevelTechnique,numValues:e.numValues,byteLength:e.byteLength,decompressedCount:i[1],runs:i[0],numRleValues:i[1]}}function S3(e,t){let r=e[t.get()],i=g3[r>>4],n={};switch(i){case _e.DATA:n={dictionaryType:v3[r&15]};break;case _e.OFFSET:n={offsetType:b3[r&15]};break;case _e.LENGTH:n={lengthType:w3[r&15]}}t.increment();let a=e[t.get()],s=Uc[a>>5],o=Uc[a>>2&7],l=x3[a&3];t.increment();let u=Re(e,t,2),h=u[0],c=u[1];return{physicalStreamType:i,logicalStreamType:n,logicalLevelTechnique1:s,logicalLevelTechnique2:o,physicalLevelTechnique:l,numValues:h,byteLength:c,decompressedCount:h}}var he;(function(e){e[e.FLAT=0]="FLAT",e[e.CONST=1]="CONST",e[e.SEQUENCE=2]="SEQUENCE",e[e.DICTIONARY=3]="DICTIONARY",e[e.FSST_DICTIONARY=4]="FSST_DICTIONARY"})(he||(he={}));var ct=class{constructor(e,t){this.values=e,this._size=t}get(e){let t=Math.floor(e/8),r=e%8;return(this.values[t]>>r&1)==1}set(e,t){let r=Math.floor(e/8),i=e%8;this.values[r]=this.values[r]|+!!t<<i}getInt(e){let t=Math.floor(e/8),r=e%8;return this.values[t]>>r&1}size(){return this._size}getBuffer(){return this.values}};function Dr(e,t,r){if(!t)return e;let i=t.size(),n=e.constructor,a=new n(i),s=0;for(let o=0;o<i;o++)a[o]=t.get(o)?e[s++]:r;return a}function A3(e,t,r){if(!r)return e;let i=r.size(),n=new ct(e,t),a=new ct(new Uint8Array(Math.ceil(i/8)),i),s=0;for(let o=0;o<i;o++){let l=r.get(o)?n.get(s++):!1;a.set(o,l)}return a.getBuffer()}function fy(e,t,r){for(let i=0;i<e;i++){let n=ce(t,r);r.add(n.byteLength)}}function ui(e,t,r,i,n){let a=E3(e,Math.ceil(t/8),r,i);return n?A3(a,t,n):a}function E3(e,t,r,i){let n=new Uint8Array(t),a=0,s=i.get()+r;for(;a<t&&!(i.get()>=s);){let o=e[i.increment()];if(o<=127){let l=o+3,u=e[i.increment()],h=Math.min(a+l,t);n.fill(u,a,h),a=h}else{let l=256-o;for(let u=0;u<l&&a<t;u++)n[a++]=e[i.increment()]}}return i.set(s),n}function dy(e,t,r,i){let n=t.get(),a=n+r*Float32Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float32Array(s);return t.set(a),i?Dr(o,i,0):o}function yy(e,t,r,i){let n=t.get(),a=n+r*Float64Array.BYTES_PER_ELEMENT,s=new Uint8Array(e.subarray(n,a)).buffer,o=new Float64Array(s);return t.set(a),i?Dr(o,i,0):o}function F3(e,t,r){let i=t.get(),n=r*Uint32Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new Uint32Array(r);for(let o=0;o<r;o++)s[o]=a.getUint32(i+o*Uint32Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}function T3(e,t,r){let i=t.get(),n=r*BigUint64Array.BYTES_PER_ELEMENT,a=new DataView(e.buffer,e.byteOffset,e.byteLength),s=new BigUint64Array(r);for(let o=0;o<r;o++)s[o]=a.getBigUint64(i+o*BigUint64Array.BYTES_PER_ELEMENT,!0);return t.add(n),s}var k3=new TextDecoder;function lu(e,t,r){return r-t>=12?k3.decode(e.subarray(t,r)):I3(e,t,r)}function I3(e,t,r){let i="",n=t;for(;n<r;){let a=e[n],s=null,o=a>239?4:a>223?3:a>191?2:1;if(n+o>r)break;let l,u,h;o===1?a<128&&(s=a):o===2?(l=e[n+1],(l&192)==128&&(s=(a&31)<<6|l&63,s<=127&&(s=null))):o===3?(l=e[n+1],u=e[n+2],(l&192)==128&&(u&192)==128&&(s=(a&15)<<12|(l&63)<<6|u&63,(s<=2047||s>=55296&&s<=57343)&&(s=null))):o===4&&(l=e[n+1],u=e[n+2],h=e[n+3],(l&192)==128&&(u&192)==128&&(h&192)==128&&(s=(a&15)<<18|(l&63)<<12|(u&63)<<6|h&63,(s<=65535||s>=1114112)&&(s=null))),s===null?(s=65533,o=1):s>65535&&(s-=65536,i+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),i+=String.fromCharCode(s),n+=o}return i}function Ea(e,t,r,i,n){return z3(hi(e,t,r),r,i,n)}function Ve(e,t,r,i,n){return L3(hi(e,t,r),r,i,n)}function Yt(e,t,r){return O3(hi(e,t,r),r)}function hi(e,t,r){let i=r.physicalLevelTechnique;switch(i){case et.FAST_PFOR:return Xw(e,r.numValues,r.byteLength,t);case et.VARINT:return Re(e,t,r.numValues);case et.NONE:return F3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function vn(e,t,r){let i=r.physicalLevelTechnique;switch(i){case et.VARINT:return su(e,t,r.numValues);case et.NONE:return T3(e,t,r.numValues);default:throw Error(`Specified physicalLevelTechnique ${i} is not supported (yet).`)}}function C3(e,t,r){let i=hi(e,t,r);return i.length===1?ee(i[0]):p3(i)}function uu(e,t,r){let i=hi(e,t,r);return i.length===1?r.logicalLevelTechnique1===Z.DELTA?ee(i[0]):i[0]:c3(i)}function my(e,t,r){return f3(hi(e,t,r))}function gy(e,t,r){return m3(su(e,t,r.numValues))}function xy(e,t,r,i){return by(vn(e,t,r),r,i)}function hu(e,t,r,i){return wy(vn(e,t,r),r,i)}function B3(e,t,r,i){let n=P3(e,t,r,!1);return i?Dr(n,i,0):n}function P3(e,t,r,i){if(r.physicalLevelTechnique===et.VARINT)return V3(jw(e,t,r.numValues),r,i);let n=vn(e,t,r),a=i?by(n,r):wy(n,r);return Float64Array.from(a,Number)}function M3(e,t,r){let i=vn(e,t,r);return i.length===1?Oe(i[0]):y3(i)}function vy(e,t,r){let i=vn(e,t,r);return i.length===1?r.logicalLevelTechnique1===Z.DELTA?Oe(i[0]):i[0]:d3(i)}function z3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let a=t;if(!i)return o3(e,a.runs,a.numRleValues);e=sl(e,a.runs,a.numRleValues),n=Oc(e)}else n=Oc(e);break;case Z.RLE:n=Qw(e,t.runs,t.numRleValues);break;case Z.MORTON:ou(e),n=new Int32Array(e);break;case Z.COMPONENTWISE_DELTA:if(r&&!i)return py(e,r.scale,r.min,r.max);n=i3(e);break;case Z.NONE:n=Ww(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?Dr(n,i,0):n}function L3(e,t,r,i){let n;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let a=t;n=$c(sl(e,a.runs,a.numRleValues))}else n=$c(e);break;case Z.RLE:n=sl(e,t.runs,t.numRleValues);break;case Z.MORTON:ou(e),n=e;break;case Z.COMPONENTWISE_DELTA:n=r&&!i?h3(e,r.scale,r.min,r.max):u3(e);break;case Z.NONE:n=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return i?Dr(n,i,0):n}function by(e,t,r){let i;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;if(!r)return l3(e,n.runs,n.numRleValues);e=ol(e,n.runs,n.numRleValues),i=Rc(e)}else i=Rc(e);break;case Z.RLE:i=e3(e,t.runs,t.numRleValues);break;case Z.NONE:i=Hw(e);break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Dr(i,r,0n):i}function wy(e,t,r){let i;switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let n=t;i=Nc(ol(e,n.runs,n.numRleValues))}else i=Nc(e);break;case Z.RLE:i=ol(e,t.runs,t.numRleValues);break;case Z.NONE:i=e;break;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}return r?Dr(i,r,0n):i}function V3(e,t,r){switch(t.logicalLevelTechnique1){case Z.DELTA:if(t.logicalLevelTechnique2===Z.RLE){let i=t;e=cy(e,i.runs,i.numRleValues)}return Kw(e),e;case Z.RLE:return $3(e,t,r);case Z.NONE:return r&&Jw(e),e;default:throw Error(`The specified Logical level technique is not supported: ${t.logicalLevelTechnique1}`)}}function O3(e,t){if(t.logicalLevelTechnique1===Z.DELTA&&t.logicalLevelTechnique2===Z.NONE)return n3(e);if(t.logicalLevelTechnique1===Z.RLE&&t.logicalLevelTechnique2===Z.NONE){let r=t;return s3(e,r.runs,r.numRleValues)}if(t.logicalLevelTechnique1===Z.NONE&&t.logicalLevelTechnique2===Z.NONE){r3(e);let r=new Uint32Array(t.numValues+1);return r[0]=0,r.set(e,1),r}if(t.logicalLevelTechnique1===Z.DELTA&&t.logicalLevelTechnique2===Z.RLE){let r=t,i=a3(e,r.runs,r.numRleValues);return ou(i),new Uint32Array(i)}throw Error("Only delta encoding is supported for transforming length to offset streams yet.")}function Xa(e,t,r,i,n="int32"){let a=e.logicalLevelTechnique1;if(a===Z.RLE)return e.runs===1?he.CONST:he.FLAT;if(a!==Z.DELTA||e.logicalLevelTechnique2!==Z.RLE)return e.numValues===1?he.CONST:he.FLAT;let s=t instanceof ct?t.size():t,o=e;if(o.numRleValues!==s)return he.FLAT;if(o.runs===1)return he.SEQUENCE;if(o.runs!==2)return e.numValues===1?he.CONST:he.FLAT;let l=i.get();if(e.physicalLevelTechnique===et.VARINT)return R3(r,i,n)?he.SEQUENCE:e.numValues===1?he.CONST:he.FLAT;let u=i.get(),h=new Int32Array(r.buffer,r.byteOffset+u,4);return i.set(l),h[2]===2&&h[3]===2?he.SEQUENCE:e.numValues===1?he.CONST:he.FLAT}function R3(e,t,r){let i=new ly(t.get());if(r==="int64"){let a=su(e,i,4);return a[2]===2n&&a[3]===2n}let n=Re(e,i,4);return n[2]===2&&n[3]===2}function $3(e,t,r){return r?t3(e,t.runs,t.numRleValues):cy(e,t.runs,t.numRleValues)}var Dy=class extends Ya{getValueFromBuffer(e){return this.dataBuffer[e]}},_y=class extends sy{constructor(e,t,r,i,n){super(e,n?BigInt64Array.of(t):BigUint64Array.of(t),r,i)}getValueFromBuffer(e){return this.dataBuffer[0]+BigInt(e)*this.delta}};function cu(e,t,r){return{x:qc(e,t)-r,y:qc(e>>1,t)-r}}function qc(e,t){let r=0;for(let i=0;i<t;i++)r|=(e&1<<2*i)>>i;return r}var Pe;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON",e[e.MULTIPOINT=3]="MULTIPOINT",e[e.MULTILINESTRING=4]="MULTILINESTRING",e[e.MULTIPOLYGON=5]="MULTIPOLYGON"})(Pe||(Pe={}));var jc;(function(e){e[e.POINT=0]="POINT",e[e.LINESTRING=1]="LINESTRING",e[e.POLYGON=2]="POLYGON"})(jc||(jc={}));var Qt;(function(e){e[e.MORTON=0]="MORTON",e[e.VEC_2=1]="VEC_2",e[e.VEC_3=2]="VEC_3"})(Qt||(Qt={}));function N3(e){let t=Array(e.numGeometries),r=1,i=1,n=1,a=0,s=0,o=0,l=e.mortonSettings,u=e.topologyVector,h=u.geometryOffsets,c=u.partOffsets,p=u.ringOffsets,f=e.vertexOffsets,d=!f||f.length===0,y=e.containsPolygonGeometry(),m=e.vertexBuffer;for(let g=0;g<e.numGeometries;g++){let x=e.geometryType(g);switch(x){case Pe.POINT:{let b,v;if(d)b=m[s++],v=m[s++];else if(e.vertexBufferType===Qt.MORTON){let w=m[f[o++]],_=cu(w,l.numBits,l.coordinateShift);b=_.x,v=_.y}else{let w=f[o++]*2;b=m[w],v=m[w+1]}t[a++]=[[new M(b,v)]],h&&n++,c&&r++,p&&i++}break;case Pe.MULTIPOINT:{let b=h[n]-h[n-1];n++;let v;if(d){v=Array(b);for(let w=0;w<b;w++){let _=m[s++],S=m[s++];v[w]=new M(_,S)}}else v=sr(e.vertexBufferType,m,f,o,b,!1,l),o+=b;t[a++]=v.map(w=>[w]),r+=b,i+=b}break;case Pe.LINESTRING:{let b;y?(b=p[i]-p[i-1],i++):b=c[r]-c[r-1],r++;let v;d?(v=Pr(m,s,b,!1),s+=b*2):(v=sr(e.vertexBufferType,m,f,o,b,!1,l),o+=b),t[a++]=[v],h&&n++}break;case Pe.POLYGON:{let b=c[r]-c[r-1];r++;let v=Array(b-1),w,_=p[i]-p[i-1];if(i++,d){w=Pr(m,s,_,!0),s+=_*2;for(let S=0;S<v.length;S++)_=p[i]-p[i-1],i++,v[S]=Pr(m,s,_,!0),s+=_*2}else{w=sr(e.vertexBufferType,m,f,o,_,!0,l),o+=_;for(let S=0;S<v.length;S++)_=p[i]-p[i-1],i++,v[S]=sr(e.vertexBufferType,m,f,o,_,!0,l),o+=_}t[a++]=[w].concat(v),h&&n++}break;case Pe.MULTILINESTRING:{let b=h[n]-h[n-1];n++;let v=Array(b);for(let w=0;w<b;w++){let _;if(y?(_=p[i]-p[i-1],i++):_=c[r]-c[r-1],r++,d)v[w]=Pr(m,s,_,!1),s+=_*2;else{let S=sr(e.vertexBufferType,m,f,o,_,!1,l);v[w]=S,o+=_}}t[a++]=v}break;case Pe.MULTIPOLYGON:{let b=h[n]-h[n-1];n++;let v=Array(b);for(let w=0;w<b;w++){let _=c[r]-c[r-1];r++;let S,E=Array(_-1),T=p[i]-p[i-1];i++,d?(S=Pr(m,s,T,!0),s+=T*2):(S=sr(e.vertexBufferType,m,f,o,T,!0,l),o+=T);for(let V=0;V<E.length;V++){let C=p[i]-p[i-1];i++,d?(E[V]=Pr(m,s,C,!0),s+=C*2):(E[V]=sr(e.vertexBufferType,m,f,o,C,!0,l),o+=C)}v[w]=[S].concat(E)}t[a++]=v.flat()}break;default:throw Error(`The specified geometry type (${x}) is currently not supported.`)}}return t}function sr(e,t,r,i,n,a,s){return e===Qt.MORTON?q3(t,r,i,n,a,s):U3(t,r,i,n,a)}function Pr(e,t,r,i){let n=Array(i?r+1:r);for(let a=0;a<r*2;a+=2){let s=e[t+a],o=e[t+a+1];n[a/2]=new M(s,o)}return i&&(n[n.length-1]=n[0]),n}function U3(e,t,r,i,n){let a=Array(n?i+1:i);for(let s=0;s<i*2;s+=2){let o=t[r+s/2]*2,l=e[o],u=e[o+1];a[s/2]=new M(l,u)}return n&&(a[a.length-1]=a[0]),a}function q3(e,t,r,i,n,a){let s=Array(n?i+1:i);for(let o=0;o<i;o++){let l=e[t[r+o]],u=cu(l,a.numBits,a.coordinateShift);s[o]=new M(u.x,u.y)}return n&&(s[s.length-1]=s[0]),s}var Sy=class{constructor(e,t,r,i,n){this._vertexBufferType=e,this._topologyVector=t,this._vertexOffsets=r,this._vertexBuffer=i,this._mortonSettings=n}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(e){let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getVertex(e){if(this.vertexOffsets&&this.mortonSettings){let r=this.vertexOffsets[e],i=this.vertexBuffer[r],n=cu(i,this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[n.x,n.y]}let t=this.vertexOffsets?this.vertexOffsets[e]*2:e*2;return[this.vertexBuffer[t],this.vertexBuffer[t+1]]}getGeometries(){return N3(this)}get mortonSettings(){return this._mortonSettings}};function j3(e,t,r,i,n){return new Ay(e,t,Qt.VEC_2,r,i,n)}function G3(e,t,r,i,n,a){return new Ay(e,t,Qt.MORTON,r,i,n,a)}var Ay=class extends Sy{constructor(e,t,r,i,n,a,s){super(r,i,n,a,s),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===Pe.POLYGON||this._geometryType===Pe.MULTIPOLYGON}containsSingleGeometryType(){return!0}};function Ey(e,t,r,i){return new Fy(Qt.VEC_2,e,t,r,i)}function Y3(e,t,r,i,n){return new Fy(Qt.MORTON,e,t,r,i,n)}var Fy=class extends Sy{constructor(e,t,r,i,n,a){super(e,r,i,n,a),this._geometryTypes=t}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)===Pe.POLYGON||this.geometryType(e)===Pe.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}},Ty=class{constructor(e,t,r,i){this._triangleOffsets=e,this._indexBuffer=t,this._vertexBuffer=r,this._topologyVector=i}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 Error("Cannot convert GpuVector to coordinates without topology information");let e=new Uint32Array(this.numGeometries);for(let t=0;t<this.numGeometries;t++)e[t]=this.geometryType(t);return Ey(e,this._topologyVector,void 0,this._vertexBuffer).getGeometries()}[Symbol.iterator](){return null}};function Gc(e,t,r,i,n,a){return new X3(e,t,r,i,n,a)}var X3=class extends Ty{constructor(e,t,r,i,n,a){super(r,i,n,a),this._numGeometries=e,this._geometryType=t}geometryType(e){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}};function Yc(e,t,r,i,n){return new Z3(e,t,r,i,n)}var Z3=class extends Ty{constructor(e,t,r,i,n){super(t,r,i,n),this._geometryTypes=e}geometryType(e){return this._geometryTypes[e]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}};function W3(e,t,r,i,n){let a=ce(e,r),s=Xa(a,i,e,r),o,l,u,h;if(s===he.CONST){let b=uu(e,r,a),v,w,_,S;for(let E=0;E<t-1;E++){let T=ce(e,r);switch(T.physicalStreamType){case _e.LENGTH:switch(T.logicalStreamType.lengthType){case Ee.GEOMETRIES:v=Yt(e,r,T);break;case Ee.PARTS:w=Yt(e,r,T);break;case Ee.RINGS:_=Yt(e,r,T);break;case Ee.TRIANGLES:S=Yt(e,r,T)}break;case _e.OFFSET:switch(T.logicalStreamType.offsetType){case xt.VERTEX:o=Ve(e,r,T);break;case xt.INDEX:h=Ve(e,r,T)}break;case _e.DATA:if(qe.VERTEX===T.logicalStreamType.dictionaryType)l=Ea(e,r,T,n);else{let V=T;u={numBits:V.numBits,coordinateShift:V.coordinateShift},l=Ve(e,r,T,n)}}}return h?v!==void 0||w!==void 0?Gc(i,b,S,h,l,{geometryOffsets:v,partOffsets:w,ringOffsets:_}):Gc(i,b,S,h,l):u===void 0?j3(i,b,{geometryOffsets:v,partOffsets:w,ringOffsets:_},o,l):G3(i,b,{geometryOffsets:v,partOffsets:w,ringOffsets:_},o,l,u)}let c=Ve(e,r,a),p,f,d,y;for(let b=0;b<t-1;b++){let v=ce(e,r);switch(v.physicalStreamType){case _e.LENGTH:switch(v.logicalStreamType.lengthType){case Ee.GEOMETRIES:p=Ve(e,r,v);break;case Ee.PARTS:f=Ve(e,r,v);break;case Ee.RINGS:d=Ve(e,r,v);break;case Ee.TRIANGLES:y=Yt(e,r,v)}break;case _e.OFFSET:switch(v.logicalStreamType.offsetType){case xt.VERTEX:o=Ve(e,r,v);break;case xt.INDEX:h=Ve(e,r,v)}break;case _e.DATA:if(qe.VERTEX===v.logicalStreamType.dictionaryType)l=Ea(e,r,v,n);else{let w=v;u={numBits:w.numBits,coordinateShift:w.coordinateShift},l=Ve(e,r,v,n)}}}let m,g,x;return p?(m=qs(c,p,2),f&&d?(g=Xc(c,m,f,!1),x=J3(c,m,g,d)):f&&(g=H3(c,m,f))):f&&d?(g=qs(c,f,1),x=Xc(c,g,d,!0)):f&&(g=qs(c,f,0)),h&&!g?Yc(c,y,h,l):h?Yc(c,y,h,l,{geometryOffsets:m,partOffsets:g,ringOffsets:x}):u===void 0?Ey(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l):Y3(c,{geometryOffsets:m,partOffsets:g,ringOffsets:x},o,l,u)}function qs(e,t,r){let i=new Uint32Array(e.length+1),n=0;i[0]=n;let a=0;for(let s=0;s<e.length;s++)n=i[s+1]=n+(e[s]>r?t[a++]:1);return i}function Xc(e,t,r,i){let n=new Uint32Array(t[t.length-1]+1),a=0;n[0]=a;let s=1,o=0;for(let l=0;l<e.length;l++){let u=e[l],h=t[l+1]-t[l];if(u===5||u===2||i&&(u===4||u===1))for(let c=0;c<h;c++)a=n[s++]=a+r[o++];else for(let c=0;c<h;c++)n[s++]=++a}return n}function H3(e,t,r){let i=new Uint32Array(t[t.length-1]+1),n=0;i[0]=n;let a=1,s=0;for(let o=0;o<e.length;o++){let l=e[o],u=t[o+1]-t[o];if(l===4||l===1)for(let h=0;h<u;h++)n=i[a++]=n+r[s++];else for(let h=0;h<u;h++)i[a++]=++n}return i}function J3(e,t,r,i){let n=new Uint32Array(r[r.length-1]+1),a=0;n[0]=a;let s=1,o=1,l=0;for(let u=0;u<e.length;u++){let h=e[u],c=t[u+1]-t[u];if(h!==0&&h!==3)for(let p=0;p<c;p++){let f=r[s]-r[s-1];s++;for(let d=0;d<f;d++)a=n[o++]=a+i[l++]}else for(let p=0;p<c;p++)n[o++]=++a,s++}return n}var K3=class extends wr{constructor(e,t,r){super(e,t.getBuffer(),r),this.dataVector=t}getValueFromBuffer(e){return this.dataVector.get(e)}},Q3=class extends Ya{getValueFromBuffer(e){return this.dataBuffer[e]}},ky=class extends wr{constructor(e,t,r,i){super(e,i?BigInt64Array.of(t):BigUint64Array.of(t),r)}getValueFromBuffer(e){return this.dataBuffer[0]}},pu=class extends wr{constructor(e,t,r,i){super(e,r,i),this.offsetBuffer=t}},Zc=class extends pu{constructor(e,t,r,i){super(e,t,r,i??t.length-1)}getValueFromBuffer(e){let t=this.offsetBuffer[e],r=this.offsetBuffer[e+1];return lu(this.dataBuffer,t,r)}},Wr=class extends pu{constructor(e,t,r,i,n){super(e,r,i,n??t.length),this.indexBuffer=t,this.indexBuffer=t}getValueFromBuffer(e){let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return lu(this.dataBuffer,r,i)}};function e6(e,t){let r=0;for(let i=0;i<t.length;i++){let n=t[i];n===255?(r++,i++):r+=e[n]}return r}function t6(e,t,r){let i=new Uint32Array(t.length);for(let s=1;s<t.length;s++)i[s]=i[s-1]+t[s-1];let n=new Uint8Array(e6(t,r)),a=0;for(let s=0;s<r.length;s++){let o=r[s];if(o===255)s++,n[a++]=r[s];else{let l=t[o],u=i[o];for(;l-- >0;)n[a++]=e[u++]}}return n}var Iy=class extends pu{constructor(e,t,r,i,n,a,s,o){super(e,r,i,s??t.length),this.indexBuffer=t,this.symbolOffsetBuffer=n,this.symbolTableBuffer=a,this.sharedDictionaryCache=o}getValueFromBuffer(e){this.decodedDictionary??(this.decodedDictionary=this.sharedDictionaryCache?.decodedDictionary,this.decodedDictionary??(this.decodedDictionary=this.decodeDictionary(),this.sharedDictionaryCache&&(this.sharedDictionaryCache.decodedDictionary=this.decodedDictionary)));let t=this.indexBuffer[e],r=this.offsetBuffer[t],i=this.offsetBuffer[t+1];return lu(this.decodedDictionary,r,i)}decodeDictionary(){return this.symbolLengthBuffer??(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer)),t6(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer)}offsetToLengthBuffer(e){let t=new Uint32Array(e.length-1),r=e[0];for(let i=1;i<e.length;i++){let n=e[i];t[i-1]=n-r,r=n}return t}};function Cy(e,t,r,i,n){let a,s,o,l,u,h=n,c,p;for(let f=0;f<i;f++){let d=ce(t,r);switch(d.physicalStreamType){case _e.PRESENT:{let y=new ct(ui(t,d.numValues,d.byteLength,r),d.numValues);h=n??y;break}case _e.OFFSET:s=Ve(t,r,d,void 0,h);break;case _e.LENGTH:{let y=Yt(t,r,d);Ee.DICTIONARY===d.logicalStreamType.lengthType?a=y:Ee.SYMBOL===d.logicalStreamType.lengthType?l=y:c=y;break}case _e.DATA:{let y=t.subarray(r.get(),r.get()+d.byteLength);r.add(d.byteLength);let m=d.logicalStreamType.dictionaryType;qe.FSST===m?u=y:qe.SINGLE===m||qe.SHARED===m?o=y:qe.NONE===m&&(p=y);break}}}return r6(e,u,s,a,o,l,h)??i6(e,o,s,a,h)??n6(e,c,p,s,h)}function r6(e,t,r,i,n,a,s){if(t){if(!r||!i||!n||!a)throw Error(`Incomplete FSST dictionary string column "${e}"`);return new Iy(e,r,i,n,a,t,s)}}function i6(e,t,r,i,n){if(t){if(!r||!i)throw Error(`Incomplete dictionary string column "${e}"`);return n?new Wr(e,r,i,t,n):new Wr(e,r,i,t)}}function n6(e,t,r,i,n){if(t&&r){if(i)return n?new Wr(e,i,t,r,n):new Wr(e,i,t,r);if(n&&n.size()!==t.length-1){let a=new Uint32Array(n.size()),s=0;for(let o=0;o<n.size();o++)n.get(o)?a[o]=s++:a[o]=0;return new Wr(e,a,t,r,n)}return n?new Zc(e,t,r,n):new Zc(e,t,r)}}function a6(e,t,r,i){let n,a,s,o,l=!1;for(;!l;){let f=ce(e,t);switch(f.physicalStreamType){case _e.LENGTH:Ee.DICTIONARY===f.logicalStreamType.lengthType?n=Yt(e,t,f):s=Yt(e,t,f);break;case _e.DATA:qe.SINGLE===f.logicalStreamType.dictionaryType||qe.SHARED===f.logicalStreamType.dictionaryType?(a=e.subarray(t.get(),t.get()+f.byteLength),l=!0):o=e.subarray(t.get(),t.get()+f.byteLength),t.add(f.byteLength)}}if(r.type!=="complexType")throw Error(`Shared dictionary column ${r.name} must be a complex (struct) column.`);if(!n||!a)throw Error(`Incomplete shared dictionary for column "${r.name}"`);let u=r.complexType.children,h=[],c=o?{}:void 0,p=0;for(let f of u){let d=Re(e,t,1)[0];if(d===0)continue;let y=f.name?`${r.name}${f.name}`:r.name;if(i&&!i.has(y)){fy(d,e,t);continue}if(f.type!=="scalarField"||f.scalarField.physicalType!==te.STRING)throw Error("Currently only scalar string fields are implemented for a struct.");if(d>1&&!f.nullable||d===1&&f.nullable)throw Error(`The number of streams for the child field ${f.name} does not match its nullability. nullibilty: ${f.nullable}, numStreams: ${d}`);let m;if(f.nullable){let x=ce(e,t);m=new ct(ui(e,x.numValues,x.byteLength,t),x.numValues)}let g=Ve(e,t,ce(e,t),void 0,m);if(o){if(!s)throw Error(`Incomplete shared FSST dictionary for column "${y}"`);h[p++]=new Iy(y,g,n,a,s,o,m,c)}else h[p++]=new Wr(y,g,n,a,m)}return h}var Wc=class extends wr{constructor(e,t,r){super(e,new Uint8Array,r??t.length),this.values=t}getValueFromBuffer(e){return this.values[e]}},vt;(function(e){e[e.STRING=1]="STRING",e[e.INT32=2]="INT32",e[e.UINT32=4]="UINT32",e[e.INT64=8]="INT64",e[e.UINT64=16]="UINT64",e[e.FLOAT=32]="FLOAT",e[e.DOUBLE=64]="DOUBLE",e[e.PRESENCE=128]="PRESENCE"})(vt||(vt={}));var Wt;(function(e){e[e.FALSE=0]="FALSE",e[e.TRUE=1]="TRUE",e[e.START_MAP=2]="START_MAP",e[e.START_LIST=3]="START_LIST",e[e.COUNT=4]="COUNT"})(Wt||(Wt={}));function s6(e,t,r,i){let n=o6(r);if(i===0)return n.map(h=>new Wc(h,[]));let a=l6(e,t,i),s=(a.presentStream?a.presentCount:a.lengthStream.length)/n.length,o=[],l=0,u=0;for(let h=0;h<n.length;h++){let c=f6(a,h,s,l,u);o.push(new Wc(n[h],c.value,c.nullabilityBuffer)),l=c.countsEnd,u=c.valuesEnd}return o}function o6(e){let t=e.type==="complexType"?e.complexType.children:void 0;return!t||t.length===0?[e.name]:t.map(r=>e.name+(r.name??""))}function l6(e,t,r){let i=e[t.get()];t.add(1);let n=Ve(e,t,ce(e,t)),a=r-1,s=[];i&vt.STRING&&(a-=u6(e,t,s)),a-=h6(e,t,i,s),a-=c6(e,t,i,s);let o,l=0;if(i&vt.PRESENCE){let h=p6(e,t);o=h.value,l=h.count,a--}let u=new Uint32Array;if(a>0&&(u=Ve(e,t,ce(e,t)),a--),a!==0)throw Error(`Unexpected number of remaining streams while decoding map column: ${a}`);return{lengthStream:n,dictionary:s,presentStream:o,presentCount:l,flattenedValues:u}}function u6(e,t,r){let i=e[t.get()];t.add(1);let n=Cy("",e,t,i);if(n)for(let a=0;a<n.size;a++)r.push(n.getValue(a));return i}function h6(e,t,r,i){let n=0;return r&vt.INT32?(Ur(i,Ea(e,t,ce(e,t))),n++):r&vt.INT64&&(Ur(i,xy(e,t,ce(e,t))),n++),r&vt.UINT32?(Ur(i,Ve(e,t,ce(e,t))),n++):r&vt.UINT64&&(Ur(i,hu(e,t,ce(e,t))),n++),n}function c6(e,t,r,i){let n=0;return r&vt.FLOAT&&(Ur(i,dy(e,t,ce(e,t).numValues)),n++),r&vt.DOUBLE&&(Ur(i,yy(e,t,ce(e,t).numValues)),n++),n}function p6(e,t){let r=ce(e,t);if(r.physicalStreamType!==_e.PRESENT)throw Error(`Expected PRESENT stream for map column but found: ${r.physicalStreamType}`);let i=r.numValues,n=t.get(),a=new ct(ui(e,i,r.byteLength,t),i);return t.set(n+r.byteLength),{value:a,count:i}}function f6(e,t,r,i,n){let{lengthStream:a,flattenedValues:s,presentStream:o,dictionary:l}=e,u=t*r,h=r,c;if(o){c=new ct(new Uint8Array(Math.ceil(r/8)),r),h=0;for(let x=0;x<r;x++)o.get(u+x)&&(c.set(x,!0),h++)}let p=i+h;if(p>a.length)throw Error("Merged map counts underflow while decoding child streams");let f=Array(r),d=i,y=n;for(let x=0;x<r;x++){if(o&&!o.get(u+x)){f[x]=null;continue}let b=y+a[d++];if(b>s.length)throw Error("Map value stream underflow while decoding feature payload");let v=d6(s,y,b,l);f[x]=v.value,y=v.nextIndex}let m=0;for(let x=i;x<p;x++)m+=a[x];let g=n+m;if(y!==g)throw Error("Unused flattened map values remain after decode");return{value:f,nullabilityBuffer:c,countsEnd:p,valuesEnd:g}}function d6(e,t,r,i){return r-t===1||e[t]===Wt.START_LIST?fu(e,t,r,i):By(e,t,r,i)}function By(e,t,r,i){let n=Object.create(null),a=t;for(;a<r;){let s=Py(e[a++],i);if(typeof s!="string")throw Error(`Map key dictionary index does not resolve to a string: ${s}`);let o=fu(e,a,r,i);n[s]=o.value,a=o.nextIndex}return{value:n,nextIndex:a}}function fu(e,t,r,i){if(t>=r)throw Error("Unexpected end of map value stream");let n=e[t];if(n===Wt.FALSE)return{value:!1,nextIndex:t+1};if(n===Wt.TRUE)return{value:!0,nextIndex:t+1};if(n===Wt.START_MAP){let a=Hc(e,t,r);return{value:By(e,t+2,a,i).value,nextIndex:a}}if(n===Wt.START_LIST){let a=Hc(e,t,r),s=[],o=t+2;for(;o<a;){let l=fu(e,o,a,i);s.push(l.value),o=l.nextIndex}return{value:s,nextIndex:a}}return{value:Py(n,i),nextIndex:t+1}}function Hc(e,t,r){if(t+1>=r)throw Error("Missing length for nested map/list payload");let i=e[t+1];if(i<2)throw Error(`Invalid nested payload length: ${i}`);let n=t+i;if(n>r)throw Error("Nested payload exceeds containing payload bounds");return n}function Py(e,t){let r=e-Wt.COUNT;if(r<0||r>=t.length)throw Error(`Scalar dictionary index out of range: ${e}`);return t[r]}function Ur(e,t){for(let r of t)e.push(r)}function y6(e,t,r,i,n,a){return r.type==="scalarType"?a&&!a.has(r.name)?(fy(i,e,t),null):m6(i,e,t,n,r.scalarType,r):r.complexType?.physicalType===Jt.MAP?s6(e,t,r,i):i===0?null:a6(e,t,r,a)}function m6(e,t,r,i,n,a){let s;if(e===0)return null;if(a.nullable){let l=ce(t,r),u=l.numValues,h=r.get(),c=ui(t,u,l.byteLength,r);r.set(h+l.byteLength),s=new ct(c,l.numValues)}let o=s??i;switch(n.physicalType){case te.UINT_32:case te.INT_32:return w6(t,r,a,n,o);case te.STRING:{let l=a.nullable?e-1:e;return Cy(a.name,t,r,l,s)??null}case te.BOOLEAN:return g6(t,r,a,i,o);case te.UINT_64:case te.INT_64:return b6(t,r,a,o,n);case te.FLOAT:return x6(t,r,a,o);case te.DOUBLE:return v6(t,r,a,o);default:throw Error(`The specified data type for the field is currently not supported: ${n}`)}}function g6(e,t,r,i,n){let a=ce(e,t),s=a.numValues,o=t.get(),l=bn(n)?n:void 0,u=ui(e,s,a.byteLength,t,l);t.set(o+a.byteLength);let h=new ct(u,s);return new K3(r.name,h,n)}function x6(e,t,r,i){let n=ce(e,t),a=bn(i)?i:void 0,s=dy(e,t,n.numValues,a);return new Q3(r.name,s,i)}function v6(e,t,r,i){let n=ce(e,t),a=bn(i)?i:void 0,s=yy(e,t,n.numValues,a);return new eu(r.name,s,i)}function b6(e,t,r,i,n){let a=ce(e,t),s=Xa(a,i,e,t,"int64"),o=n.physicalType===te.INT_64;if(s===he.FLAT){let u=bn(i)?i:void 0,h=o?xy(e,t,a,u):hu(e,t,a,u);return new Dy(r.name,h,i)}if(s===he.SEQUENCE){let u=gy(e,t,a);return new _y(r.name,u[0],u[1],a.numRleValues,o)}let l=o?M3(e,t,a):vy(e,t,a);return new ky(r.name,l,i,o)}function w6(e,t,r,i,n){let a=ce(e,t),s=Xa(a,n,e,t),o=i.physicalType===te.INT_32;if(s===he.FLAT){let u=bn(n)?n:void 0,h=o?Ea(e,t,a,void 0,u):Ve(e,t,a,void 0,u);return new Ql(r.name,h,n)}if(s===he.SEQUENCE){let u=my(e,t,a);return new tu(r.name,u[0],u[1],a.numRleValues,o)}let l=o?C3(e,t,a):uu(e,t,a);return new ru(r.name,l,n,o)}function bn(e){return e instanceof ct}var ke={ID:0,ID_NULLABLE:1,ID_LONG:2,GEOMETRY:4,SCALAR_BASE:10,STRUCT:30,MAP:31};function My(e){switch(e){case ke.ID:case ke.ID|ke.ID_NULLABLE:case ke.ID|ke.ID_LONG:case ke.ID|ke.ID_LONG|ke.ID_NULLABLE:return{nullable:(e&ke.ID_NULLABLE)!==0,columnScope:Ri.FEATURE,type:"scalarType",scalarType:{longID:(e&ke.ID_LONG)!==0,type:"logicalType",logicalType:oy.ID}};case ke.GEOMETRY:return{nullable:!1,columnScope:Ri.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Jt.GEOMETRY,children:[]}};case ke.STRUCT:return{nullable:!1,columnScope:Ri.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Jt.STRUCT,children:[]}};case ke.MAP:return{nullable:!0,columnScope:Ri.FEATURE,type:"complexType",complexType:{type:"physicalType",physicalType:Jt.MAP,children:[]}};default:return E6(e)}}function D6(e){return e>=ke.SCALAR_BASE}function zy(e){return e===ke.STRUCT||e===ke.MAP}function _6(e){if(e.type==="scalarType"){let t=e.scalarType;if(t.type==="physicalType")switch(t.physicalType){case te.BOOLEAN:case te.INT_8:case te.UINT_8:case te.INT_32:case te.UINT_32:case te.INT_64:case te.UINT_64:case te.FLOAT:case te.DOUBLE:return!1;case te.STRING:return!0;default:return!1}if(t.type==="logicalType")return!1}else if(e.type==="complexType"){let t=e.complexType;if(t.type==="physicalType")switch(t.physicalType){case Jt.GEOMETRY:case Jt.STRUCT:case Jt.MAP:return!0;default:return!1}}return console.warn("Unexpected column type in hasStreamCount",e),!1}function S6(e){return e.type==="scalarType"&&e.scalarType?.type==="logicalType"&&e.scalarType.logicalType===oy.ID}function A6(e){return e.type==="complexType"&&e.complexType?.type==="physicalType"&&e.complexType.physicalType===Jt.GEOMETRY}function E6(e){let t;switch(e){case 10:case 11:t=te.BOOLEAN;break;case 12:case 13:t=te.INT_8;break;case 14:case 15:t=te.UINT_8;break;case 16:case 17:t=te.INT_32;break;case 18:case 19:t=te.UINT_32;break;case 20:case 21:t=te.INT_64;break;case 22:case 23:t=te.UINT_64;break;case 24:case 25:t=te.FLOAT;break;case 26:case 27:t=te.DOUBLE;break;case 28:case 29:t=te.STRING;break;default:return null}return{nullable:!!(e&1),columnScope:Ri.FEATURE,type:"scalarType",scalarType:{longID:!1,type:"physicalType",physicalType:t}}}var F6=new TextDecoder,Jc="0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT), 31(MAP)";function du(e,t){let r=Re(e,t,1)[0];if(r===0)return"";let i=t.get(),n=i+r,a=e.subarray(i,n);return t.add(r),F6.decode(a)}function T6(e){let t=e.name,r=e.nullable;return e.type==="scalarType"?{type:"scalarField",scalarField:e.scalarType,name:t,nullable:r}:{type:"complexField",complexField:e.complexType,name:t,nullable:r}}function Ly(e,t){let r=Re(e,t,1)[0]>>>0,i=r>=ke.SCALAR_BASE?My(r):null;if(!i)throw Error(`Unsupported field type code ${r}. Supported: 10-29(scalars), 30(STRUCT), 31(MAP)`);let n={...i,name:du(e,t)};if(n.type==="complexType"&&zy(r)){let a=n.complexType,s=Re(e,t,1)[0]>>>0;a.children=Array(s);for(let o=0;o<s;o++)a.children[o]=Ly(e,t)}return T6(n)}function k6(e,t){let r=Re(e,t,1)[0]>>>0,i=My(r);if(!i)throw Error(`Unsupported column type code ${r}. Supported: ${Jc}`);let n;if(D6(r))n=du(e,t);else if(r<ke.GEOMETRY)n="id";else if(r===ke.GEOMETRY)n="geometry";else throw Error(`Unsupported column type code ${r}. Supported: ${Jc}`);let a={...i,name:n};if(a.type==="complexType"&&zy(r)){let s=Re(e,t,1)[0]>>>0,o=a.complexType;o.children=Array(s);for(let l=0;l<s;l++)o.children[l]=Ly(e,t)}return a}function I6(e,t){let r={};r.featureTables=[];let i={};if(i.name=du(e,t),i.name.length===0)throw Error("Missing layer name");let n=Re(e,t,1)[0]>>>0,a=Re(e,t,1)[0]>>>0;i.columns=Array(a);for(let s=0;s<a;s++)i.columns[s]=k6(e,t);return r.featureTables.push(i),[r,n]}function C6(e,t,r=!0){let i=new ly(0),n=[];for(;i.get()<e.length;){let a=Re(e,i,1)[0]>>>0,s=i.get()+a;if(s>e.length)throw Error(`Block overruns tile: ${s} > ${e.length}`);let o=Re(e,i,1)[0]>>>0;if(o!==1&&o!==2){i.set(s);continue}let[l,u]=I6(e,i),h=l.featureTables[0],c=null,p=null,f=[],d=0;for(let m of h.columns){let g=m.name;if(S6(m)){let x=null;if(m.nullable){let v=ce(e,i),w=i.get(),_=ui(e,v.numValues,v.byteLength,i);i.set(w+v.byteLength),x=new ct(_,v.numValues)}let b=ce(e,i);d=x?x.size():b.decompressedCount,c=B6(e,m,i,g,b,x??d,r)}else if(A6(m)){let x=Re(e,i,1)[0];if(d===0){let b=i.get();d=ce(e,i).decompressedCount,i.set(b)}t&&(t.scale=t.extent/u),p=W3(e,x,i,d,t)}else{let x=_6(m)?Re(e,i,1)[0]:1;if(x===0)continue;let b=y6(e,i,m,x,d,void 0);if(b)if(Array.isArray(b))for(let v of b)f.push(v);else f.push(b)}}let y=new rw(h.name,p,c,f,u);n.push(y),i.set(s)}return n}function B6(e,t,r,i,n,a,s=!1){let o=t.scalarType?.longID?te.UINT_64:te.UINT_32,l=typeof a=="number"?void 0:a,u=Xa(n,a,e,r,o===te.UINT_64?"int64":"int32");if(o===te.UINT_32)switch(u){case he.FLAT:return new Ql(i,Ve(e,r,n,void 0,l),a);case he.SEQUENCE:{let h=my(e,r,n);return new tu(i,h[0],h[1],n.numRleValues,!1)}case he.CONST:return new ru(i,uu(e,r,n),a,!1)}switch(u){case he.FLAT:return s?new eu(i,B3(e,r,n,l),a):new Dy(i,hu(e,r,n,l),a);case he.SEQUENCE:{let h=gy(e,r,n);return new _y(i,h[0],h[1],n.numRleValues,!1)}case he.CONST:return new ky(i,vy(e,r,n),a,!1)}throw Error("Vector type not supported for id column.")}var js=uy(nu);js/32*4,3*js/256+js|0;var P6=class{constructor(e,t){switch(this._featureData=e,this.properties=this._featureData.properties||{},this._featureData.geometry?.type){case Pe.POINT:case Pe.MULTIPOINT:this.type=1;break;case Pe.LINESTRING:case Pe.MULTILINESTRING:this.type=2;break;case Pe.POLYGON:case Pe.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=t,this.id=Number(this._featureData.id)}loadGeometry(){let e=[];for(let t of this._featureData.geometry.coordinates){let r=[];for(let i of t)r.push(new M(i.x,i.y));e.push(r)}return e}},M6=class{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 P6(this.features[e],this.extent)}},Vy=class{constructor(e){this.layers={};let t=C6(new Uint8Array(e));this.layers=t.reduce((r,i)=>({...r,[i.name]:new M6(i)}),{})}},Oy=class{constructor(e,t){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new Xs(xe,16,0),this.grid3D=new Xs(xe,16,0),this.featureIndexArray=new Uf,this.promoteId=t}insert(e,t,r,i,n,a){let s=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,i,n);let o=a?this.grid3D:this.grid;for(let l of t){let u=[1/0,1/0,-1/0,-1/0];for(let h of l)u[0]=Math.min(u[0],h.x),u[1]=Math.min(u[1],h.y),u[2]=Math.max(u[2],h.x),u[3]=Math.max(u[3],h.y);u[0]<8192&&u[1]<8192&&u[2]>=0&&u[3]>=0&&o.insert(s,u[0],u[1],u[2],u[3])}}loadVTLayers(){return this.vtLayers||(this.encoding==="mlt"?this.vtLayers=new Vy(this.rawTileData).layers:this.vtLayers=new pd(new Vd(this.rawTileData)).layers,this.sourceLayerCoder=new ay(this.vtLayers?Object.keys(this.vtLayers).sort():[il])),this.vtLayers}query(e,t,r,i){this.loadVTLayers();let n=e.params,a=xe/e.tileSize/e.scale,s=Qi(n.filter,"queryRenderedFeatures filter",n.globalState),o=e.queryGeometry,l=e.queryPadding*a,u=_a.fromPoints(o),h=this.grid.query(u.minX-l,u.minY-l,u.maxX+l,u.maxY+l),c=_a.fromPoints(e.cameraQueryGeometry).expandBy(l),p=this.grid3D.query(c.minX,c.minY,c.maxX,c.maxY,(y,m,g,x)=>ug(e.cameraQueryGeometry,y-l,m-l,g+l,x+l));for(let y of p)h.push(y);h.sort(L6);let f={},d;for(let y of h){if(y===d)continue;d=y;let m=this.featureIndexArray.get(y),g=null;this.loadMatchingFeature(f,m.bucketIndex,m.sourceLayerIndex,m.featureIndex,s,n.layers,n.availableImages,t,r,i,(x,b,v)=>(g||(g=br(x)),b.queryIntersectsFeature({queryGeometry:o,feature:x,featureState:v,geometry:g,zoom:this.z,transform:e.transform,pixelsToTileUnits:a,pixelPosMatrix:e.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:e.getElevation})))}return f}loadMatchingFeature(e,t,r,i,n,a,s,o,l,u,h){let c=this.bucketLayerIDs[t];if(a&&!c.some(y=>a.has(y)))return;let p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(i);if(n.needGeometry){let y=li(f,!0);if(!n.filter(new oe(this.tileID.overscaledZ),y,this.tileID.canonical))return}else if(!n.filter(new oe(this.tileID.overscaledZ),f))return;let d=this.getId(f,p);for(let y of c){if(a&&!a.has(y))continue;let m=o[y];if(!m)continue;let g={};d&&u&&(g=u.getState(m.sourceLayer||"_geojsonTileLayer",d));let x=Xe({},l[y]);x.paint=Kc(x.paint,m.paint,f,g,s),x.layout=Kc(x.layout,m.layout,f,g,s);let b=!h||h(f,m,g);if(!b)continue;let v=new tw(f,this.z,this.x,this.y,d);v.layer=x;let w=e[y];w===void 0&&(w=e[y]=[]),w.push({featureIndex:i,feature:v,intersectionZ:b})}}lookupSymbolFeatures(e,t,r,i,n,a,s,o){let l={};this.loadVTLayers();let u=Qi(n.filterSpec,"queryRenderedFeatures symbol filter",n.globalState);for(let h of e)this.loadMatchingFeature(l,r,i,h,u,a,s,o,t);return l}hasLayer(e){for(let t of this.bucketLayerIDs)for(let r of t)if(e===r)return!0;return!1}getId(e,t){let r=e.id;if(this.promoteId){let i=typeof this.promoteId=="string"?this.promoteId:this.promoteId[t];r=e.properties[i],typeof r=="boolean"&&(r=Number(r)),r===void 0&&e.properties?.cluster&&this.promoteId&&(r=Number(e.properties.cluster_id))}return r}};B("FeatureIndex",Oy,{omit:["rawTileData","sourceLayerCoder"]});function z6(e){return typeof e=="object"&&!!e&&"evaluate"in e}function Kc(e,t,r,i,n){return ua(e,(a,s)=>{let o=t instanceof $a?t.get(s):null;return z6(o)?o.evaluate(r,i,void 0,n):o})}function L6(e,t){return t-e}var V6=class{constructor(e,t){this.keyCache={},e&&this.replace(e,t)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(e,t,r){for(let n of e){this._layerConfigs[n.id]=n;let a=this._layers[n.id]=Yb(n,r);a._featureFilter=Qi(a.filter,`layers[${n.id}].filter`,r),this.keyCache[n.id]&&delete this.keyCache[n.id]}for(let n of t)delete this.keyCache[n],delete this._layerConfigs[n],delete this._layers[n];this.familiesBySource={};let i=Qm(Object.values(this._layerConfigs),this.keyCache);for(let n of i){let a=n.map(c=>this._layers[c.id]),s=a[0];if(s.isHidden())continue;let o=s.source||"",l=this.familiesBySource[o];l||(l=this.familiesBySource[o]={});let u=s.sourceLayer||"_geojsonTileLayer",h=l[u];h||(h=l[u]=[]),h.push(a)}}},Ry=class{constructor(e){let t={},r=[];for(let s in e){let o=t[s]={};for(let l in e[s]){let u=e[s][l];o[l]={};for(let h in u){let c=u[h];if(!c||c.bitmap.width===0||c.bitmap.height===0)continue;let p={x:0,y:0,w:c.bitmap.width+2,h:c.bitmap.height+2};r.push(p),o[l][h]={rect:p,metrics:c.metrics}}}}let{w:i,h:n}=Od(r),a=new Po({width:i||1,height:n||1});for(let s in e)for(let o in e[s]){let l=e[s][o];for(let u in l){let h=l[u];if(!h||h.bitmap.width===0||h.bitmap.height===0)continue;let c=t[s][o][u].rect;Po.copy(h.bitmap,a,{x:0,y:0},{x:c.x+1,y:c.y+1},h.bitmap)}}this.image=a,this.positions=t}};B("GlyphAtlas",Ry);function O6(e,t,r){return!(e<0||e>25||r<0||r>=2**e||t<0||t>=2**e)}var $y=class{constructor(e,t,r){if(!O6(e,t,r))throw Error(`x=${t}, y=${r}, z=${e} outside of bounds. 0<=x<${2**e}, 0<=y<${2**e} 0<=z<=25 `);this.z=e,this.x=t,this.y=r,this.key=Yi(0,e,e,t,r)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t,r){let i=$6(this.x,this.y,this.z),n=N6(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(r==="tms"?2**this.z-this.y-1:this.y)).replace(/{ratio}/g,t>1?"@2x":"").replace(/{quadkey}/g,n).replace(/{bbox-epsg-3857}/g,i)}isChildOf(e){let t=this.z-e.z;return t>0&&e.x===this.x>>t&&e.y===this.y>>t}getTilePoint(e){let t=2**this.z;return new M((e.x*t-this.x)*xe,(e.y*t-this.y)*xe)}toString(){return`${this.z}/${this.x}/${this.y}`}},R6=class{constructor(e,t){this.wrap=e,this.canonical=t,this.key=Yi(e,t.z,t.z,t.x,t.y)}},Ny=class nt{constructor(t,r,i,n,a){if(this.terrainRttPosMatrix32f=null,t<i)throw Error(`overscaledZ should be >= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=r,this.canonical=new $y(i,+n,+a),this.key=Yi(r,t,i,n,a)}clone(){return new nt(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let r=this.canonical.z-t;return t>this.canonical.z?new nt(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new nt(t,this.wrap,t,this.canonical.x>>r,this.canonical.y>>r)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(t,r){if(t>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);let i=this.canonical.z-t;return t>this.canonical.z?Yi(this.wrap*+r,t,this.canonical.z,this.canonical.x,this.canonical.y):Yi(this.wrap*+r,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap||this.overscaledZ-t.overscaledZ<=0)return!1;if(t.overscaledZ===0)return this.overscaledZ>0;let r=this.canonical.z-t.canonical.z;return r<0?!1:t.canonical.x===this.canonical.x>>r&&t.canonical.y===this.canonical.y>>r}children(t){if(this.overscaledZ>=t)return[new nt(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let r=this.canonical.z+1,i=this.canonical.x*2,n=this.canonical.y*2;return[new nt(r,this.wrap,r,i,n),new nt(r,this.wrap,r,i+1,n),new nt(r,this.wrap,r,i,n+1),new nt(r,this.wrap,r,i+1,n+1)]}isLessThan(t){return this.wrap<t.wrap?!0:this.wrap>t.wrap?!1:this.overscaledZ<t.overscaledZ?!0:this.overscaledZ>t.overscaledZ?!1:this.canonical.x<t.canonical.x?!0:this.canonical.x>t.canonical.x?!1:this.canonical.y<t.canonical.y}wrapped(){return new nt(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)}unwrapTo(t){return new nt(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)}overscaleFactor(){return 2**(this.overscaledZ-this.canonical.z)}toUnwrapped(){return new R6(this.wrap,this.canonical)}toString(){return`${this.overscaledZ}/${this.canonical.x}/${this.canonical.y}`}getTilePoint(t){return this.canonical.getTilePoint(new $l(t.x-this.wrap,t.y))}normalizeCoordinates(t,r,i=xe){if(t>=0&&t<i&&r>=0&&r<i)return{tileID:this,x:t,y:r};let n=Math.floor(t/i),a=Math.floor(r/i),s=t-n*i,o=r-a*i,l=this.canonical.z,u=1<<l,h=this.canonical.y+a;if(h<0||h>=u)return null;let c=this.canonical.x+n,p=this.wrap;return c<0?(p-=Math.ceil(-c/u),c=(c%u+u)%u):c>=u&&(p+=Math.floor(c/u),c%=u),{tileID:new nt(this.overscaledZ,p,l,c,h),x:s,y:o}}};function Yi(e,t,r,i,n){e*=2,e<0&&(e=e*-1-1);let a=1<<r;return(a*a*e+a*n+i).toString(36)+r.toString(36)+t.toString(36)}var Gs=Math.PI*6378137;function $6(e,t,r){t=2**r-t-1;let i=Qc(e*256,t*256,r),n=Qc((e+1)*256,(t+1)*256,r);return`${i[0]},${i[1]},${n[0]},${n[1]}`}function Qc(e,t,r){let i=2*Gs/256/2**r;return[e*i-Gs,t*i-Gs]}function N6(e,t,r){let i="";for(let n=e;n>0;n--){let a=1<<n-1;i+=(t&a?1:0)+(r&a?2:0)}return i}B("CanonicalTileID",$y),B("OverscaledTileID",Ny,{omit:["terrainRttPosMatrix32f"]});var Uy=class{constructor(e){this.tileID=new Ny(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}async parse(e,t,r,i,n){this.data=e,this.collisionBoxArray=new Bf;let a=new ay(Object.keys(e.layers).sort()),s=new Oy(this.tileID,this.promoteId);s.bucketLayerIDs=[];let o={},l={featureIndex:s,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:r,subdivisionGranularity:n},u=t.familiesBySource[this.source];for(let E in u){let T=e.layers[E];if(!T)continue;T.version===1&&Me(`Vector tile source "${this.source}" layer "${E}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let V=a.encode(E),C=[];for(let R=0;R<T.length;R++){let U=T.feature(R),A=s.getId(U,E);C.push({feature:U,id:A,index:R,sourceLayerIndex:V})}for(let R of u[E]){let U=R[0];U.source!==this.source&&Me(`layer.source = ${U.source} does not equal this.source = ${this.source}`),!U.isHidden(this.zoom,!0)&&(ep(R,this.zoom,r),(o[U.id]=U.createBucket({index:s.bucketLayerIDs.length,layers:R,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:V,sourceID:this.source})).populate(C,l,this.tileID.canonical),s.bucketLayerIDs.push(R.map(A=>A.id)))}}let h=ua(l.glyphDependencies,E=>ua(E,T=>Object.keys(T)));for(let E of this.inFlightDependencies)E?.abort();this.inFlightDependencies=[];let c=Promise.resolve({});if(Object.keys(h).length){let E=new AbortController;this.inFlightDependencies.push(E),c=i.sendAsync({type:"GG",data:{stacks:h,source:this.source,tileID:this.tileID,type:"glyphs"}},E)}let p=Object.keys(l.iconDependencies),f=Promise.resolve({});if(p.length){let E=new AbortController;this.inFlightDependencies.push(E),f=i.sendAsync({type:"GI",data:{icons:p,source:this.source,tileID:this.tileID,type:"icons"}},E)}let d=Object.keys(l.patternDependencies),y=Promise.resolve({});if(d.length){let E=new AbortController;this.inFlightDependencies.push(E),y=i.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"patterns"}},E)}let m=l.dashDependencies,g=Promise.resolve({});if(Object.keys(m).length){let E=new AbortController;this.inFlightDependencies.push(E),g=i.sendAsync({type:"GDA",data:{dashes:m}},E)}let[x,b,v,w]=await Promise.all([c,f,y,g]),_=new Ry(x),S=new $d(b,v);for(let E in o){let T=o[E];T.hasDependencies&&(ep(T.layers,this.zoom,r),T.addFeatures({options:l,canonical:this.tileID.canonical,glyphMap:x,glyphPositions:_.positions,iconMap:b,iconPositions:S.iconPositions,patternMap:v,patternPositions:S.patternPositions,dashPositions:w,showCollisionBoxes:this.showCollisionBoxes}))}return{buckets:Object.values(o).filter(E=>!E.isEmpty()),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:_.image,imageAtlas:S,dashPositions:w,glyphMap:this.returnDependencies?x:null,iconMap:this.returnDependencies?b:null,glyphPositions:this.returnDependencies?_.positions:null}}};function ep(e,t,r){let i=new oe(t);for(let n of e)n.recalculate(i,r)}var qy=class{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(e,t){this.loading[e]=t}finishLoading(e){delete this.loading[e]}abort(e){let t=this.loading[e];t?.abort&&(t.abort.abort(),delete this.loading[e])}getParsing(e){return this.parsing[e]}setParsing(e,t){this.parsing[e]=t}removeParsing(e){delete this.parsing[e]}markLoaded(e,t){this.loaded[e]=t}getLoaded(e){let t=this.loaded[e];if(t)return t}removeLoaded(e){delete this.loaded[e]}clearLoaded(){this.loaded={}}},U6=class{constructor(e){this.maxEntries=e,this.map=new Map}get(e){let t=this.map.get(e);return t!==void 0&&(this.map.delete(e),this.map.set(e,t)),t}set(e,t){if(this.map.has(e))this.map.delete(e);else if(this.map.size>=this.maxEntries){let r=this.map.keys().next().value;this.map.delete(r)}this.map.set(e,t)}clear(){this.map.clear()}},jy=class{constructor(e){this.start=`${e}#start`,this.end=`${e}#end`,this.measure=e,performance.mark(this.start)}finish(){performance.mark(this.end);let e=performance.getEntriesByName(this.measure);return e.length===0&&(performance.measure(this.measure,this.start,this.end),e=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),e}},q6=class{constructor(e,t,r,i,n){this.type=e,this.properties=r||{},this.extent=n,this.pointsArray=t,this.id=i}loadGeometry(){return this.pointsArray.map(e=>e.map(t=>new M(t.x,t.y)))}},j6=class{constructor(e,t,r){this.version=2,this._myFeatures=e,this.name=t,this.length=e.length,this.extent=r}feature(e){return this._myFeatures[e]}},G6=class{constructor(){this.layers={}}addLayer(e){this.layers[e.name]=e}};function Y6(e,t,r){let{extent:i}=e,n=2**(r.z-t.z),a=(r.x-t.x*n)*i,s=(r.y-t.y*n)*i,o=[];for(let l=0;l<e.length;l++){let u=e.feature(l),h=u.loadGeometry();for(let c of h)for(let p of c)p.x=p.x*n-a,p.y=p.y*n-s;h=fb(h,u.type,-128,-128,i+128,i+128),h.length!==0&&o.push(new q6(u.type,h,u.properties,u.id,i))}return new j6(o,e.name,i)}var X6=class{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new qy,this.overzoomedTileResultCache=new U6(1e3)}loadVectorTile(e,t){try{return{vectorTile:e.encoding==="mlt"?new Vy(t):new pd(new Vd(t)),rawData:t}}catch(r){let i=new Uint8Array(t),n=i[0]===31&&i[1]===139,a=`Unable to parse the tile at ${e.request.url}, `;throw a+=n?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${la(r).message}`,Error(a)}}async loadTile(e){let{uid:t,overzoomParameters:r}=e;r&&(e.request=r.overzoomRequest);let i=this._startRequestTiming(e),n=new Uy(e);this.tileState.startLoading(t,n);let a=new AbortController;n.abort=a;try{let s=await F0(e.request,a);if(e.etag&&e.etag===s.etag)return this.tileState.finishLoading(t),this._getEtagUnmodifiedResult(s,i);let o=this.loadVectorTile(e,s.data);if(this.tileState.finishLoading(t),!o)return null;let{vectorTile:l,rawData:u}=o;r&&({vectorTile:l,rawData:u}=this._getOverzoomTile(e,l));let h=this._getExpiryData(s),c=this._finishRequestTiming(i);n.vectorTile=l,n.etag=s.etag,this.tileState.markLoaded(t,n);let p={rawData:u,cacheControl:h,resourceTiming:c};return this.tileState.setParsing(t,p),await this._parseWorkerTile(n,e)}catch(s){throw this.tileState.finishLoading(t),this.tileState.markLoaded(t,n),s}}_getEtagUnmodifiedResult(e,t){return Xe({etagUnmodified:!0},this._getExpiryData(e),this._finishRequestTiming(t))}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n,cacheControl:a,resourceTiming:s}=r,o=t.overzoomParameters?"mvt":t.encoding;i=Xe({rawTileData:n.slice(0),encoding:o},i,a,s),this.tileState.removeParsing(e.uid)}else e.etag&&(i=Xe(i,{etag:e.etag}));return i}_getExpiryData({expires:e,cacheControl:t,etag:r}){let i={};return e&&(i.expires=e),t&&(i.cacheControl=t),r&&(i.etag=r),i}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new jy(e.request.url)}_finishRequestTiming(e){let t=e?.finish();return t?{resourceTiming:JSON.parse(JSON.stringify(t))}:{}}_getOverzoomTile(e,t){let{tileID:r,source:i,overzoomParameters:n}=e,{maxZoomTileID:a}=n,s=`${a.key}_${r.key}_${e.request?.url}`,o=this.overzoomedTileResultCache.get(s);if(o)return o;let l=new G6,u=this.layerIndex.familiesBySource[i];for(let c in u){let p=t.layers[c];if(!p)continue;let f=Y6(p,a,r.canonical);f.length>0&&l.addLayer(f)}let h={vectorTile:l,rawData:ny(l).buffer};return this.overzoomedTileResultCache.set(s,h),h}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)throw Error("Should not be trying to reload a tile that was never loaded or has been removed");if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}},Z6=class{constructor(){this.loaded={}}async loadTile(e){let{uid:t,encoding:r,rawImageData:i,redFactor:n,greenFactor:a,blueFactor:s,baseShift:o}=e,l=i.width+4,u=i.height+4,h=new td(t,ul(i)?new Ke({width:l,height:u},await g1(i,-2,-2,l,u)):i,r,n,a,s,o);return this.loaded||(this.loaded={}),this.loaded[t]=h,h}removeTile(e){let t=this.loaded,r=e.uid;t?.[r]&&delete t[r]}},W6=class{constructor(e,t,r,i=H6){this.actor=e,this.layerIndex=t,this.availableImages=r,this.tileState=new qy,this._createGeoJSONIndex=i}loadVectorTile(e){if(!this._geoJSONIndex)throw Error("Unable to parse the data into a cluster or geojson");let{z:t,x:r,y:i}=e.tileID.canonical,n=this._geoJSONIndex.getTile(t,r,i);if(!n)return null;let a=new Zb(n.features,{version:2,extent:xe});return{vectorTile:a,rawData:ny(a,"__$json__:").buffer}}async loadTile(e){let{uid:t}=e,r=new Uy(e);r.abort=new AbortController;try{let i=this.loadVectorTile(e);if(!i)return null;let{vectorTile:n,rawData:a}=i;r.vectorTile=n,this.tileState.markLoaded(t,r);let s={rawData:a};return this.tileState.setParsing(t,s),await this._parseWorkerTile(r,e)}catch(i){throw this.tileState.markLoaded(t,r),i}}async _parseWorkerTile(e,t){let r=this.tileState.getParsing(e.uid),i=await e.parse(e.vectorTile,this.layerIndex,this.availableImages,this.actor,t.subdivisionGranularity);if(r){let{rawData:n}=r;i=Xe({rawTileData:n.slice(0),encoding:"mvt"},i),this.tileState.removeParsing(e.uid)}return i}async abortTile(e){this.tileState.abort(e.uid)}async removeTile(e){this.tileState.removeLoaded(e.uid)}async loadData(e){this._pendingRequest?.abort();let t=this._startRequestTiming(e);this._pendingRequest=new AbortController;try{await this.loadAndProcessGeoJSON(e,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let r={};return e.request&&(r.data=e.data),this._finishRequestTiming(t,e,r),r}catch(r){if(delete this._pendingRequest,!np(r))throw r;return{abandoned:!0}}}_startRequestTiming(e){if(e.request?.collectResourceTiming)return new jy(e.request.url)}_finishRequestTiming(e,t,r){let i=e?.finish();i&&(r.resourceTiming={[t.source]:JSON.parse(JSON.stringify(i))})}async reloadTile(e){let t=e.uid,r=this.tileState.getLoaded(t);if(!r)return await this.loadTile(e);if(r.vectorTile)return r.showCollisionBoxes=e.showCollisionBoxes,await this._parseWorkerTile(r,e)}async loadAndProcessGeoJSON(e,t){if(e.request&&(e.data=(await E0(e.request,t)).data),e.data){e.data=this._filterGeoJSON(e.data,e.filter,e.source),this._geoJSONIndex=this._createGeoJSONIndex(e.data,e);return}if(e.dataDiff&&(this._geoJSONIndex??(this._geoJSONIndex=this._createGeoJSONIndex({type:"FeatureCollection",features:[]},e)),this._geoJSONIndex.updateData(e.dataDiff,this._getFilterPredicate(e.filter,e.source))),e.updateCluster&&this._geoJSONIndex.updateClusterOptions(e.geojsonVtOptions.cluster,Gy(e)),this._geoJSONIndex==null)throw Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}_filterGeoJSON(e,t,r){if(e.type!=="FeatureCollection")return e;let i=this._getFilterPredicate(t,r);return i?{type:"FeatureCollection",features:e.features.filter(n=>i(n))}:e}_getFilterPredicate(e,t){if(typeof e!="boolean"&&!e?.length)return;let r=dr(e,`sources.${t}.filter`,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(r.result==="error")throw Error(r.value.map(i=>`${i.key}: ${i.message}`).join(", "));return i=>r.value.evaluate({zoom:0},i)}async removeSource(e){this._pendingRequest?.abort()}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getClusterChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getClusterLeaves(e.clusterId,e.limit,e.offset)}};function H6(e,t){return new _2(e,Xe(t.geojsonVtOptions||{},{updateable:!0,clusterOptions:Gy(t)}))}function Gy({geojsonVtOptions:e,clusterProperties:t,source:r}){if(!t||!e.clusterOptions)return e.clusterOptions;let i={},n={},a={accumulated:null,zoom:0},s={properties:null},o=Object.keys(t);for(let l of o){let[u,h]=t[l],c=dr(h,`sources.${r}.clusterProperties.${l}[1]`),p=dr(typeof u=="string"?[u,["accumulated"],["get",l]]:u,`sources.${r}.clusterProperties.${l}[0]`);i[l]=c.value,n[l]=p.value}return e.clusterOptions.map=l=>{s.properties=l;let u={};for(let h of o)u[h]=i[h].evaluate(a,s);return u},e.clusterOptions.reduce=(l,u)=>{s.properties=u;for(let h of o)a.accumulated=l[h],l[h]=n[h].evaluate(a,s)},e.clusterOptions}async function tp(e){if(e.endsWith(".mjs")){await import(e);return}let t=await fetch(e,{credentials:"same-origin"});if(!t.ok)throw Error(`Failed to load ${e}: ${t.status}`);let r=await t.text();if(/^[ \t]*(import|export)\s/m.test(r)){let i=URL.createObjectURL(new Blob([r],{type:"text/javascript"}));try{await import(i)}finally{URL.revokeObjectURL(i)}return}globalThis.eval(r)}var J6=class{constructor(e){this.self=e,this.actor=new C0(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(t,r)=>{if(this.externalWorkerSourceTypes[t])throw Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=r},this.self.addProtocol=w0,this.self.removeProtocol=D0,this.self.registerRTLTextPlugin=t=>{ai.setMethods(t)},this.self.makeRequest=Il,this.actor.registerMessageHandler("LDT",(t,r)=>this._getDEMWorkerSource(t,r.source).loadTile(r)),this.actor.registerMessageHandler("RDT",async(t,r)=>{this._getDEMWorkerSource(t,r.source).removeTile(r)}),this.actor.registerMessageHandler("GCEZ",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)),this.actor.registerMessageHandler("GCC",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)),this.actor.registerMessageHandler("GCL",async(t,r)=>this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)),this.actor.registerMessageHandler("LD",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadData(r)),this.actor.registerMessageHandler("LT",(t,r)=>this._getWorkerSource(t,r.type,r.source).loadTile(r)),this.actor.registerMessageHandler("RT",(t,r)=>this._getWorkerSource(t,r.type,r.source).reloadTile(r)),this.actor.registerMessageHandler("AT",(t,r)=>this._getWorkerSource(t,r.type,r.source).abortTile(r)),this.actor.registerMessageHandler("RMT",(t,r)=>this._getWorkerSource(t,r.type,r.source).removeTile(r)),this.actor.registerMessageHandler("RS",async(t,r)=>{if(!this.workerSources[t]?.[r.type]?.[r.source])return;let i=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],i.removeSource!==void 0&&i.removeSource(r)}),this.actor.registerMessageHandler("RM",async t=>{delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t],this.globalStates.delete(t)}),this.actor.registerMessageHandler("SR",async(t,r)=>{this.referrer=r}),this.actor.registerMessageHandler("SRPS",(t,r)=>this._syncRTLPluginState(t,r)),this.actor.registerMessageHandler("IS",async(t,r)=>{await tp(r)}),this.actor.registerMessageHandler("SI",(t,r)=>this._setImages(t,r)),this.actor.registerMessageHandler("UL",async(t,r)=>{this._getLayerIndex(t).update(r.layers,r.removedIds,this._getGlobalState(t))}),this.actor.registerMessageHandler("UGS",async(t,r)=>{let i=this._getGlobalState(t);for(let n in r)i[n]=r[n]}),this.actor.registerMessageHandler("SL",async(t,r)=>{this._getLayerIndex(t).replace(r,this._getGlobalState(t))})}_getGlobalState(e){let t=this.globalStates.get(e);return t||(t={},this.globalStates.set(e,t)),t}async _setImages(e,t){this.availableImages[e]=t;for(let r in this.workerSources[e]){let i=this.workerSources[e][r];for(let n in i)i[n].availableImages=t}}async _syncRTLPluginState(e,t){return await ai.syncState(t,tp)}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let t=this.layerIndexes[e];return t||(t=this.layerIndexes[e]=new V6),t}_getWorkerSource(e,t,r){var i,n;if((i=this.workerSources)[e]||(i[e]={}),(n=this.workerSources[e])[t]||(n[t]={}),!this.workerSources[e][t][r]){let a={sendAsync:(s,o)=>(s.targetMapId=e,this.actor.sendAsync(s,o))};switch(t){case"vector":this.workerSources[e][t][r]=new X6(a,this._getLayerIndex(e),this._getAvailableImages(e));break;case"geojson":this.workerSources[e][t][r]=new W6(a,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](a,this._getLayerIndex(e),this._getAvailableImages(e))}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){var r,i;return(r=this.demWorkerSources)[e]||(r[e]={}),(i=this.demWorkerSources[e])[t]||(i[t]=new Z6),this.demWorkerSources[e][t]}};Jr(self)&&(self.worker=new J6(self));})();
3
+ /*! Bundled license information:
4
+
5
+ maplibre-gl/dist/maplibre-gl-worker.mjs:
6
+ (**
7
+ * MapLibre GL JS
8
+ * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v6.13.0/LICENSE.txt
9
+ *)
10
+ */